TypeScript icon, indicating that this package has built-in type declarations

6.1.11 • Public • Published

FullCalendar Web Component

This package provides a FullCalendar Web Component (aka "Custom Element").

Installing via NPM

Install the core package, the web-component package, and any plugins you plan to use:

npm install --save \
  @fullcalendar/core \
  @fullcalendar/web-component \

Then, either register the element globally under its default tag name of <full-calendar />:

import '@fullcalendar/web-component/global'

Or, customize the tag name:

import { FullCalendarElement } from '@fullcalendar/web-component'

customElements.define('some-calendar-tag', FullCalendarElement);

Installing via CDN

Include script tags for the core package, the web-component package, and any plugins you plan to use:

<!DOCTYPE html>
<meta charset='utf-8' />
<script src='https://cdn.jsdelivr.net/npm/@fullcalendar/core/index.global.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fullcalendar/web-component/index.global.min.js'></script>
<script src='https://cdn.jsdelivr.net/npm/@fullcalendar/daygrid/index.global.min.js'></script>

  <full-calendar shadow options='{
    "headerToolbar": {
      "left": "prev,next today",
      "center": "title",
      "right": "dayGridMonth,dayGridWeek,dayGridDay"
  }' />



The full-calendar element accepts a single options attribute. It must be a valid JSON string.

The shadow attribute is necessary for rendering the calendar within its own shadow DOM (added in v6.1.0). This is recommended.

It is possible to set an options property on the DOM element. This property is a real JavaScript object, not merely a JSON string.

const fullCalendarElement = document.querySelector('full-calendar')

fullCalendarElement.options = {
  headerToolbar: {
    left: 'prev,next today',
    center: 'title',
    right: 'dayGridMonth,dayGridWeek,dayGridDay'

Package Sidebar


npm i @fullcalendar/web-component

Weekly Downloads






Unpacked Size

14.3 kB

Total Files


Last publish


  • arshaw