Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@schedule-x/calendar

schedule-x48.2kMIT2.29.0TypeScript support: included

Schedule-X calendar component

event calendar, javascript calendar, scheduler, FullCalendar alternative, dark-mode, internationalization

readme

Schedule-X

Build Status Chat npm X

The modern JavaScript event calendar

Schedule-X is an event calendar focused on covering the needs of modern web apps: responsive design, internationalization, and extensibility. You can ship it with default settings in a matter of minutes, or customize it to look- and work like you want. If you're using a JS-framework, you can even inject components written in your own framework, into the UI of the calendar. Currently, there are components for the following frameworks:

React | Angular | Vue | Svelte | Preact

Website for documentation and demo: https://schedule-x.dev/

Schedule-X calendar demo

Contact

For bug reports and feature requests, please use the issue tracker of this repository.

For any other questions or comments, feel free to join the chat on Discord: https://discord.gg/yHbT3C4M8w

Sponsoring

The longevity and success of this project benefits from financial support, mainly to cover compute- and DNS costs.

Sponsor today, and get mentioned in the README or on the project website: https://opencollective.com/schedule-x

License

MIT

Copyright (c) 2023 - present, Tom Österlund

Code contributions & project insights

Code contributions are welcome, but require communication. Please read CONTRIBUTING.md and open an issue before opening a PR.

changelog

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

2.29.0 (2025-04-29)

Features

2.28.0 (2025-04-11)

Features

  • calendar: add jsDate prop to monthGridDate custom component (#1021) (03ad860)

2.27.2 (2025-04-07)

Bug Fixes

2.27.1 (2025-04-07)

Bug Fixes

2.27.0 (2025-04-04)

Features

  • add rtl support and hebrew translations (#992) (b77520c)

2.26.0 (2025-04-01)

Bug Fixes

  • calendar: rerender date grid event after resize (#998) (6713ba1)

Features

  • validate dayboundaries config to only allow full hours (#991) (22ca674)

2.25.0-alpha.0 (2025-03-28)

Features

  • validate dayboundaries config to only allow full hours (#991) (22ca674)

2.24.0 (2025-03-27)

Features

  • add animation for adding event via events service (#983) (95ed933)
  • add localized date format rules for multiple locales (#984) (e17f923)

2.23.0 (2025-03-20)

Features

2.22.0 (2025-03-14)

Features

  • calendar: add showWeekNumbers option (#951) (02621e4)

2.21.2 (2025-03-12)

Bug Fixes

  • drag-and-drop: remove event listener that remained after dnd (#946) (1df7042)

2.21.1 (2025-03-05)

Bug Fixes

  • calendar: display events in hybrid days, even when event start i… (#942) (76a8b58)

2.21.0 (2025-02-27)

Features

  • add Romanian translations (#935) (d590597)
  • calendar: pass $app to custom components in header (#938) (9d6c774)
  • event-recurrence: add method for updating the rrule with nDays (#931) (5d2f562)
  • validate events in event service plugins (#937) (6b45e09)

2.20.0 (2025-02-18)

Features

2.19.0 (2025-02-12)

Features

  • event-recurrence: enable rrule for background events (#923) (83433c1)

2.18.0 (2025-02-06)

Features

2.17.0 (2025-02-03)

Features

  • event-recurrence: enable using wkst in rrule (#911) (a237414)

2.16.1 (2025-01-31)

Bug Fixes

  • calendar: improve stacking in time grid (#905) (df9d949)

2.16.0 (2025-01-28)

Features

2.15.1 (2025-01-25)

Bug Fixes

  • date-picker: format initial selected date (#901) (a934221)

2.15.0 (2025-01-23)

Bug Fixes

  • drag-and-drop: fix onBeforeEventUpdate in month grid (#884) (db84146)

Features

2.14.3 (2025-01-17)

Bug Fixes

  • calendar: custom components in month agenda (#881) (eff57f7)

2.14.2 (2025-01-16)

Bug Fixes

  • event-recurrence: infinite events in events service (#877) (fe18d26)

2.14.1 (2025-01-15)

Bug Fixes

  • add destroy method, to be consumed by framework adapters (#875) (40c471d)

2.14.0 (2025-01-15)

Features

  • calendar: add uievent to onEventClick and onEventDoubleClick callback (#870) (f9fa6e7)
  • config validation (#860) (6e0d5cc)
  • event-recurrence: enable usage of infinite events (#869) (2c8ebaf)
  • theme-default: add top-level exports in package.json, to support non spec-confirming bundlers (#873) (8c42c1b)

2.13.0 (2025-01-06)

Bug Fixes

  • theme-default: dragging multi-day events in date grid (#843) (9a88699)

Features

  • add support for customizable translations in calendar config (#835) (942b5ad)
  • calendar: mouse down events (#854) (6fa74b3)
  • event-modal: use CSS var for modal icons in light mode (#842) (78668f2)

2.12.1 (2024-12-20)

Bug Fixes

  • calendar: skip rendering background event when start and end datetimes are equal (#830) (7a59949)
  • calendar: update range translation when locale is updated (#834) (98c808d)
  • deps: import JSX type from preact instead of preact/src/jsx (#832) (7c5e4e8)

2.12.0 (2024-12-19)

Bug Fixes

  • backgroundEvents: adjust background event start to dayBoundaries (#828) (7b6ac52)

Features

2.11.0 (2024-12-09)

Features

2.10.0 (2024-12-03)

Features

  • add translations for zh-TW (#811) (2a777f8)
  • display only start time when start- and end time are the same (#790) (7c5600d)

2.9.0 (2024-11-29)

Features

  • add callback onBeforeEventUpdate for aborting updates (#796) (23de9bf)
  • expose types used by external config (#803) (e68cc6b)

2.8.1 (2024-11-28)

Bug Fixes

  • calendar: enable setting firstDayOfWeek to 0 (#799) (8f0052d)

2.8.0 (2024-11-27)

Bug Fixes

Features

  • calendar: export unaliased calendar event type (#793) (cfbd58c)

2.7.0 (2024-11-20)

Bug Fixes

  • calendar: consider minDate and maxDate in month agenda (#789) (f1efa65)

Features

2.6.0 (2024-11-15)

Features

  • implement callbacks onDoubleClickAgendaDate and onDoubleClickEvent (#769) (1823fa8)
  • separate between Serbian with latin letters and cyrillic (#778) (dc06d2d)

2.5.0 (2024-11-09)

Bug Fixes

  • reactivity errors from using preact useEffect for signals (#770) (79b3199)

Features

2.4.3 (2024-11-07)

Bug Fixes

2.4.2 (2024-11-06)

Bug Fixes

2.4.1 (2024-10-10)

Bug Fixes

2.4.0 (2024-10-04)

Features

2.3.0 (2024-10-01)

Bug Fixes

  • calendar-controls: enable overriding parts of week options (#707) (5ce464e)

Features

  • add custom component typing for interactive modal (#710) (805b432)

2.2.1 (2024-09-27)

Bug Fixes

2.2.0 (2024-09-26)

Features

  • add new plugin api on calendar instance (#702) (5b8caa2)

2.1.0 (2024-09-24)

Bug Fixes

  • event-modal: fix positioning at the bottom of calendar (#690) (960378b)

Features

2.0.0-alpha.0 (2024-09-19)

Features

  • changes on ui of events and calendar header (159f9c8)
  • rename APIs on plugins (34f4400)

BREAKING CHANGES

  • add time, if existing, to month grid events
  • add time, if existing, to date grid events
  • view location in time grid events by default, removing showLocation option
  • hide view selection when only one view is available

1.64.0-alpha.0 (2024-09-17)

Features

1.63.1 (2024-09-12)

Bug Fixes

  • prevent positionInTimeGrid from crashing if given event date is not in given week object (#658) (bc3de01)

1.63.0 (2024-09-09)

Features

  • enable using custom content in events (#651) (cbe7ccb)
  • focus modal when opening through keyboard (#652) (9749c1a)

1.62.0 (2024-09-07)

Features

  • calendar: header content custom component (#647) (b302bbc)

1.61.0 (2024-09-04)

Features

1.60.1 (2024-09-02)

Bug Fixes

1.60.0 (2024-08-29)

Features

  • add an option for hour labels format on the time axis (#622) (ca05bf3)

1.59.2 (2024-08-28)

Bug Fixes

  • theme-default: event z-index when dragging (#618) (874560f)
  • theme-default: remove source maps (#613) (929a290)

1.59.1 (2024-08-26)

Bug Fixes

  • theme-default: enable using styles in angular.json (#612) (ce2d903)

1.59.0 (2024-08-24)

Bug Fixes

Features

  • current-time: add timeZoneOffset parameter (#600) (29d4da2)

1.58.1-alpha.0 (2024-08-09)

Bug Fixes

  • calendar: fix out of order effect (946f7fb)
  • calendar: prevent race condition when setting events on range update (2f474d6)

1.58.0 (2024-08-09)

Features

1.57.1 (2024-08-02)

Bug Fixes

  • calendar: enable using multiple calendars with same views (#587) (6cb0f5e)
  • date-picker: export config type as interface (#586) (27af897)

1.57.0 (2024-08-01)

Features

1.56.0 (2024-07-29)

Bug Fixes

  • calendar: custom event not updating on drag and drop (#565) (b653b51)
  • event left property when using eventWidth config (#569) (0a78440)
  • throw away state of month grid days when navigating through months (#570) (0885f95)

Features

1.55.0 (2024-07-27)

Bug Fixes

  • calendar: fix faulty number of +n events in month grid (#560) (5ac3c0c)

Features

  • calendar: add data-date attribute for date axis dates (#561) (9a503c6)
  • calendar: set event width in time grid (#562) (8cec16e)
  • date-picker: add onEscapeKeyDown (#564) (01add2b)

1.54.0 (2024-07-25)

Features

1.53.0 (2024-07-20)

Features

  • calendar: set is-selected class in week- and month grids (#553) (5555acd)
  • date picker disabled (#552) (60c791e)

1.52.0 (2024-07-19)

Bug Fixes

  • calendar: event bubbling order in firefox (#550) (0d496ea)

Features

1.51.0 (2024-07-12)

Features

  • calendar: add overflow classes to month grid events (#543) (02719a3)
  • export functions for converting between Date object and string (#542) (0f5dd4e)

1.50.0 (2024-07-09)

Features

  • add name option to date- and time picker configs (#533) (56357e5)
  • time picker design (#532) (975c4c7)
  • time-picker: 12-hour clock (#528) (9d469d9)
  • time-picker: add arrow key incrementing and decrementing (#531) (23c1cdb)

1.49.0 (2024-07-06)

Features

1.48.0 (2024-07-03)

Bug Fixes

  • calendar: stop propagation of clicks on n-events button (#518) (6a49c1e)
  • theme-default: prevent modal from overflowing on small screens (#514) (2d6bae5)

Features

  • calendar: add isResponsive option and isCalendarSmall callback (#504) (9014bf4)
  • enable using calendar controls plugin before calendar has rendered (#519) (8e60f9e)

1.47.1 (2024-06-29)

Bug Fixes

  • date-picker: fix dark theme when teleporting popup (#509) (f331ac0)
  • time-picker: fix dark theme for teleported popup (#510) (9caa34b)

1.47.0 (2024-06-28)

Bug Fixes

  • calendar: update range automatically when setting view (#506) (1ca4928)

Features

  • calendar: create slots for header content (#501) (ed5ced5)

1.46.7 (2024-06-24)

Bug Fixes

  • calendar: prevent click events to fire when dragging (0bf2905)
  • calendar: prevent onClickDateTime from firing when dragging (#499) (80f168d)
  • shared: make typing of $app flexible for plugins (#498) (349b62d)

1.46.6 (2024-06-22)

Bug Fixes

  • improve tolerance for app interface in plugins (#493) (ed9790d)

1.46.5 (2024-06-21)

Bug Fixes

1.46.4 (2024-06-18)

Bug Fixes

  • calendar: get _options on external event (#491) (057a1c7)

1.46.3 (2024-06-17)

Bug Fixes

  • calendar: dont display people in time grid event when passed empty array (#490) (a5274bb)

1.46.2 (2024-06-17)

Bug Fixes

  • change month agenda date when date picker date changes (#488) (083295a)

1.46.1 (2024-06-11)

Bug Fixes

  • theme-default: scope styles that were global by accident (#481) (d2af629)

1.46.0 (2024-06-10)

Features

1.45.1 (2024-06-08)

Bug Fixes

  • calendar: only update custom event component when event changes (#474) (0cddf8a)

1.45.0 (2024-06-06)

Bug Fixes

  • calendar-controls: update range when setting view (#463) (ebfb4a6)

Features

  • calendar: add double click callbacks (#465) (ddf22d0)
  • calendar: add onClickAgendaDate callback (#464) (cb403ba)

1.44.0 (2024-06-06)

Features

  • add _options property for events (#457) (23bddad)
  • add beforeInit lifecycle hook for plugins (#456) (61830dd)

1.43.0-alpha.0 (2024-06-03)

Features

  • create function for detecting time overlap (e3fcafb)
  • refactor day keys in time grid (ca8fdef)
  • refactor day keys in time grid (1f5716e)
  • refactor day keys in time grid (abcfc7d)
  • refactor event concurrency (f29c62b)

1.42.3 (2024-05-31)

Bug Fixes

1.42.2 (2024-05-30)

Bug Fixes

  • enable opening date picker popup by clicking input chevron (#442) (c71ec23)

1.42.1 (2024-05-24)

Bug Fixes

1.42.0 (2024-05-22)

Features

  • add class for leading and trailing dates in month grid (#434) (7206e72)
  • add support for language Bahasa (Indonesia) (#433) (87c747f)

1.41.2 (2024-05-17)

Bug Fixes

  • remove preact/jsx-runtime from bundle (#428) (19e5dd0)

1.41.1 (2024-05-16)

Bug Fixes

1.41.0 (2024-05-11)

Features

  • calendar: create possibility to add a filterPredicate for events (#421) (131490a)

1.40.0 (2024-05-11)

Features

  • add getDate and onSelectedDateUpdate apis (#419) (adfd5e6)
  • calendar: expose further public apis (#418) (e2be1b0)

1.39.0 (2024-05-08)

Features

1.38.0 (2024-05-06)

Features

  • event-modal: set modal position on scroll (#403) (518aa63)
  • hide forward backward nav based on css (#410) (314e0aa)
  • reposition popups and modals on scroll (#408) (de0d92d)

1.37.0 (2024-05-01)

Features

1.36.0 (2024-04-30)

Bug Fixes

  • calendar: prevent duplicate custom component ids (#396) (a0af6d2)
  • calendar: prevent redundant range updates (#395) (fbdd100)

Features

1.35.0 (2024-04-26)

Bug Fixes

  • prevent too frequent updates on resize (#386) (0a5a299)

Features

  • enable configuring interval in resize plugin (#384) (49cd041)

1.34.0 (2024-04-20)

Bug Fixes

  • prevent redundant rerenders in time grid (#365) (e63b813)

Features

  • calendar: add callback for clicking plus events button (#367) (da11f78)
  • calendar: add config option nEventsPerDay for month grid (#368) (a285d3d)
  • calendar: expose interfaces (#366) (a00c950)
  • rename plugin (#369) (8e89b0f)

1.33.0 (2024-04-19)

Bug Fixes

Features

  • calendar: add new class name for leading and trailing in month agenda (#359) (1323eb2)
  • events-service: rename package (#364) (830bfc1)

1.32.0 (2024-04-15)

Features

1.31.0 (2024-04-13)

Features

1.30.1 (2024-04-08)

Bug Fixes

  • enable updating custom events in agenda view (0c09c06)

1.30.0 (2024-04-06)

Features

1.29.1 (2024-04-05)

Bug Fixes

  • enable reactively updating the list of events in month agenda view (#334) (c9b0f10)

1.29.0 (2024-04-04)

Bug Fixes

  • force event modal to render again when clicking new event (#331) (ecb97f3)

Features

  • enable configuring label text in date picker (#330) (397ba7e)

1.28.0 (2024-04-02)

Features

1.27.1 (2024-04-01)

Bug Fixes

1.27.0 (2024-03-28)

Features

1.26.0 (2024-03-28)

Features

  • create current time indicator plugin (#310) (a618b62)

1.25.0 (2024-03-16)

Features

1.24.0 (2024-03-16)

Features

  • add config options minDate and maxDate (#293) (3d21392)

1.23.0 (2024-03-11)

Bug Fixes

  • js error in scroll controller plugin (#289) (2d40159)
  • local error when starting vite devserver (#291) (40c6d48)

Features

  • export CustomComponentFns API as CustomComponents (#290) (bd5028d)

1.22.0 (2024-03-08)

Features

1.21.0 (2024-03-04)

Bug Fixes

Features

1.20.0 (2024-03-04)

Bug Fixes

  • overlap in multiple event-concurrency where only a few overlap (#265) (6e9a996)

Features

1.19.0 (2024-02-28)

Features

1.18.0 (2024-02-23)

Bug Fixes

  • deps: update dependency @uiw/codemirror-theme-github to v4.21.23 (#249) (076012d)

Features

1.17.1 (2024-02-17)

Bug Fixes

  • enable touch device users to scroll upon touching events (#232) (36e4818)
  • typo in Danish translations (#242) (84430ee)

1.17.0 (2024-02-10)

Bug Fixes

  • prevent event modal from closing on click inside (#235) (39c9c3e)

Features

1.16.0 (2024-02-09)

Features

1.15.0 (2024-02-06)

Features

1.14.0 (2024-02-05)

Features

1.13.0 (2024-02-05)

Features

1.12.2 (2024-02-02)

Bug Fixes

  • prevent date picker input from listening to external change events (#211) (6d38592)

1.12.1 (2024-01-29)

Bug Fixes

  • prevent redundant calls of onEventUpdate on resizing (#189) (6b7bf65)

1.12.0 (2024-01-27)

Features

0.5.0-alpha.0 (2023-12-23)

Features

  • enable custom component time grid event (#110) (bdf5e6b)

0.3.0-alpha.0 (2023-12-16)

Features

0.1.0-alpha.13 (2023-11-25)

Bug Fixes

Features

  • improve type declaration files (5cf7667)

0.1.0-alpha.12 (2023-11-24)

Bug Fixes

0.1.0-alpha.11 (2023-11-24)

Note: Version bump only for package schedule-x

0.1.0-alpha.10 (2023-11-24)

Bug Fixes

0.1.0-alpha.9 (2023-11-20)

Bug Fixes

0.1.0-alpha.8 (2023-11-18)

Bug Fixes

0.1.0-alpha.7 (2023-11-18)

Bug Fixes

0.1.0-alpha.6 (2023-11-18)

Bug Fixes

0.1.0-alpha.5 (2023-11-18)

Bug Fixes

  • architecture breaks (#42) (331e541)
  • chinese day names in agenda mode (#74) (b6debf3)
  • deps: update docusaurus monorepo to v2.4.3 (#46) (14df43b)
  • drag-and-drop: improve date grid d&d (#76) (2a8ba83)
  • show only one day in day mode with hybrid day boundaries (#52) (7c360e4)
  • svg compilation (#17) (493e9ba)

Features

0.1.0-alpha.4 (2023-08-28)

Bug Fixes

Features

0.1.0-alpha.3 (2023-08-27)

Bug Fixes

Features

0.1.0-alpha.2 (2023-08-18)

Features

  • add click outside functionality for popup (#8) (6a04bec)
  • add placement config (#9) (3344d69)
  • allow empty string value (#14) (94aa1b9)
  • allow typing date (#10) (c1f0778)
  • create month view for date picker (#1) (52d05c7)
  • date picker min max (#5) (b92aafe)
  • enable switching from date picker month view to years view (#2) (2194f2b)
  • implement date picker years view (#3) (8ff0489)
  • make it possible to select a date (#4) (b5fb130)
  • popup position (#12) (fcf93fc)
  • style leading and trailing dates differently (#11) (a2ef08a)
  • translations package (#13) (f946dd3)
  • value binding in app class and event listeners in config (#15) (e382ca0)

0.1.0-alpha.1 (2023-08-09)

Features

  • create month view for date picker (#1) (52d05c7)
  • date picker min max (#5) (b92aafe)
  • enable switching from date picker month view to years view (#2) (2194f2b)
  • implement date picker years view (#3) (8ff0489)
  • make it possible to select a date (#4) (b5fb130)

0.1.0-alpha.0 (2023-08-09)

Features

  • create month view for date picker (#1) (52d05c7)
  • date picker min max (#5) (b92aafe)
  • enable switching from date picker month view to years view (#2) (2194f2b)
  • implement date picker years view (#3) (8ff0489)
  • make it possible to select a date (#4) (b5fb130)