@fullcalendar/core 6.1.15 → 6.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +91 -21
- package/index.global.js +147 -74
- package/index.global.min.js +2 -2
- package/index.js +92 -22
- package/internal-common.cjs +105 -105
- package/internal-common.d.ts +19 -4
- package/internal-common.js +106 -103
- package/internal.js +1 -1
- package/locales/af.global.js +1 -1
- package/locales/af.global.min.js +1 -1
- package/locales/ar-dz.global.js +1 -1
- package/locales/ar-dz.global.min.js +1 -1
- package/locales/ar-kw.global.js +1 -1
- package/locales/ar-kw.global.min.js +1 -1
- package/locales/ar-ly.global.js +1 -1
- package/locales/ar-ly.global.min.js +1 -1
- package/locales/ar-ma.global.js +1 -1
- package/locales/ar-ma.global.min.js +1 -1
- package/locales/ar-sa.global.js +1 -1
- package/locales/ar-sa.global.min.js +1 -1
- package/locales/ar-tn.global.js +1 -1
- package/locales/ar-tn.global.min.js +1 -1
- package/locales/ar.global.js +1 -1
- package/locales/ar.global.min.js +1 -1
- package/locales/az.global.js +1 -1
- package/locales/az.global.min.js +1 -1
- package/locales/bg.global.js +1 -1
- package/locales/bg.global.min.js +1 -1
- package/locales/bn.global.js +1 -1
- package/locales/bn.global.min.js +1 -1
- package/locales/bs.global.js +1 -1
- package/locales/bs.global.min.js +1 -1
- package/locales/ca.global.js +1 -1
- package/locales/ca.global.min.js +1 -1
- package/locales/cs.global.js +1 -1
- package/locales/cs.global.min.js +1 -1
- package/locales/cy.global.js +1 -1
- package/locales/cy.global.min.js +1 -1
- package/locales/da.global.js +1 -1
- package/locales/da.global.min.js +1 -1
- package/locales/de-at.global.js +1 -1
- package/locales/de-at.global.min.js +1 -1
- package/locales/de.global.js +1 -1
- package/locales/de.global.min.js +1 -1
- package/locales/el.global.js +1 -1
- package/locales/el.global.min.js +1 -1
- package/locales/en-au.global.js +1 -1
- package/locales/en-au.global.min.js +1 -1
- package/locales/en-gb.global.js +1 -1
- package/locales/en-gb.global.min.js +1 -1
- package/locales/en-nz.global.js +1 -1
- package/locales/en-nz.global.min.js +1 -1
- package/locales/eo.global.js +1 -1
- package/locales/eo.global.min.js +1 -1
- package/locales/es-us.global.js +1 -1
- package/locales/es-us.global.min.js +1 -1
- package/locales/es.global.js +1 -1
- package/locales/es.global.min.js +1 -1
- package/locales/et.global.js +1 -1
- package/locales/et.global.min.js +1 -1
- package/locales/eu.global.js +1 -1
- package/locales/eu.global.min.js +1 -1
- package/locales/fa.global.js +1 -1
- package/locales/fa.global.min.js +1 -1
- package/locales/fi.global.js +1 -1
- package/locales/fi.global.min.js +1 -1
- package/locales/fr-ca.global.js +1 -1
- package/locales/fr-ca.global.min.js +1 -1
- package/locales/fr-ch.global.js +1 -1
- package/locales/fr-ch.global.min.js +1 -1
- package/locales/fr.global.js +1 -1
- package/locales/fr.global.min.js +1 -1
- package/locales/gl.global.js +1 -1
- package/locales/gl.global.min.js +1 -1
- package/locales/he.global.js +1 -1
- package/locales/he.global.min.js +1 -1
- package/locales/hi.global.js +1 -1
- package/locales/hi.global.min.js +1 -1
- package/locales/hr.global.js +1 -1
- package/locales/hr.global.min.js +1 -1
- package/locales/hu.global.js +1 -1
- package/locales/hu.global.min.js +1 -1
- package/locales/hy-am.global.js +1 -1
- package/locales/hy-am.global.min.js +1 -1
- package/locales/id.global.js +1 -1
- package/locales/id.global.min.js +1 -1
- package/locales/is.global.js +1 -1
- package/locales/is.global.min.js +1 -1
- package/locales/it.global.js +1 -1
- package/locales/it.global.min.js +1 -1
- package/locales/ja.global.js +1 -1
- package/locales/ja.global.min.js +1 -1
- package/locales/ka.global.js +1 -1
- package/locales/ka.global.min.js +1 -1
- package/locales/kk.global.js +1 -1
- package/locales/kk.global.min.js +1 -1
- package/locales/km.global.js +1 -1
- package/locales/km.global.min.js +1 -1
- package/locales/ko.global.js +1 -1
- package/locales/ko.global.min.js +1 -1
- package/locales/ku.global.js +1 -1
- package/locales/ku.global.min.js +1 -1
- package/locales/lb.global.js +1 -1
- package/locales/lb.global.min.js +1 -1
- package/locales/lt.global.js +1 -1
- package/locales/lt.global.min.js +1 -1
- package/locales/lv.global.js +1 -1
- package/locales/lv.global.min.js +1 -1
- package/locales/mk.global.js +1 -1
- package/locales/mk.global.min.js +1 -1
- package/locales/ms.global.js +1 -1
- package/locales/ms.global.min.js +1 -1
- package/locales/nb.global.js +1 -1
- package/locales/nb.global.min.js +1 -1
- package/locales/ne.global.js +1 -1
- package/locales/ne.global.min.js +1 -1
- package/locales/nl.global.js +1 -1
- package/locales/nl.global.min.js +1 -1
- package/locales/nn.global.js +1 -1
- package/locales/nn.global.min.js +1 -1
- package/locales/pl.global.js +1 -1
- package/locales/pl.global.min.js +1 -1
- package/locales/pt-br.global.js +1 -1
- package/locales/pt-br.global.min.js +1 -1
- package/locales/pt.global.js +1 -1
- package/locales/pt.global.min.js +1 -1
- package/locales/ro.global.js +1 -1
- package/locales/ro.global.min.js +1 -1
- package/locales/ru.global.js +1 -1
- package/locales/ru.global.min.js +1 -1
- package/locales/si-lk.global.js +1 -1
- package/locales/si-lk.global.min.js +1 -1
- package/locales/sk.global.js +1 -1
- package/locales/sk.global.min.js +1 -1
- package/locales/sl.global.js +1 -1
- package/locales/sl.global.min.js +1 -1
- package/locales/sm.global.js +1 -1
- package/locales/sm.global.min.js +1 -1
- package/locales/sq.global.js +1 -1
- package/locales/sq.global.min.js +1 -1
- package/locales/sr-cyrl.global.js +1 -1
- package/locales/sr-cyrl.global.min.js +1 -1
- package/locales/sr.global.js +1 -1
- package/locales/sr.global.min.js +1 -1
- package/locales/sv.global.js +1 -1
- package/locales/sv.global.min.js +1 -1
- package/locales/ta-in.global.js +1 -1
- package/locales/ta-in.global.min.js +1 -1
- package/locales/th.global.js +1 -1
- package/locales/th.global.min.js +1 -1
- package/locales/tr.global.js +1 -1
- package/locales/tr.global.min.js +1 -1
- package/locales/ug.global.js +1 -1
- package/locales/ug.global.min.js +1 -1
- package/locales/uk.global.js +1 -1
- package/locales/uk.global.min.js +1 -1
- package/locales/uz-cy.global.js +1 -1
- package/locales/uz-cy.global.min.js +1 -1
- package/locales/uz.global.js +1 -1
- package/locales/uz.global.min.js +1 -1
- package/locales/vi.global.js +1 -1
- package/locales/vi.global.min.js +1 -1
- package/locales/zh-cn.global.js +1 -1
- package/locales/zh-cn.global.min.js +1 -1
- package/locales/zh-tw.global.js +1 -1
- package/locales/zh-tw.global.min.js +1 -1
- package/locales-all.global.js +1 -1
- package/locales-all.global.min.js +1 -1
- package/package.json +1 -1
- package/preact.js +1 -1
package/index.global.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar Core v6.1.
|
|
2
|
+
FullCalendar Core v6.1.17
|
|
3
3
|
Docs & License: https://fullcalendar.io
|
|
4
4
|
(c) 2024 Adam Shaw
|
|
5
5
|
*/
|
|
@@ -86,7 +86,7 @@ var FullCalendar = (function (exports) {
|
|
|
86
86
|
registerStylesRoot(document);
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
|
|
89
|
+
var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
|
|
90
90
|
injectStyles(css_248z);
|
|
91
91
|
|
|
92
92
|
function removeElement(el) {
|
|
@@ -1056,10 +1056,10 @@ var FullCalendar = (function (exports) {
|
|
|
1056
1056
|
|
|
1057
1057
|
const EXTENDED_SETTINGS_AND_SEVERITIES = {
|
|
1058
1058
|
week: 3,
|
|
1059
|
-
separator:
|
|
1060
|
-
omitZeroMinute:
|
|
1061
|
-
meridiem:
|
|
1062
|
-
omitCommas:
|
|
1059
|
+
separator: 9,
|
|
1060
|
+
omitZeroMinute: 9,
|
|
1061
|
+
meridiem: 9,
|
|
1062
|
+
omitCommas: 9,
|
|
1063
1063
|
};
|
|
1064
1064
|
const STANDARD_DATE_PROP_SEVERITIES = {
|
|
1065
1065
|
timeZoneName: 7,
|
|
@@ -1081,22 +1081,25 @@ var FullCalendar = (function (exports) {
|
|
|
1081
1081
|
constructor(formatSettings) {
|
|
1082
1082
|
let standardDateProps = {};
|
|
1083
1083
|
let extendedSettings = {};
|
|
1084
|
-
let
|
|
1084
|
+
let smallestUnitNum = 9; // the smallest unit in the formatter (9 is a sentinel, beyond max)
|
|
1085
1085
|
for (let name in formatSettings) {
|
|
1086
1086
|
if (name in EXTENDED_SETTINGS_AND_SEVERITIES) {
|
|
1087
1087
|
extendedSettings[name] = formatSettings[name];
|
|
1088
|
-
severity =
|
|
1088
|
+
const severity = EXTENDED_SETTINGS_AND_SEVERITIES[name];
|
|
1089
|
+
if (severity < 9) {
|
|
1090
|
+
smallestUnitNum = Math.min(EXTENDED_SETTINGS_AND_SEVERITIES[name], smallestUnitNum);
|
|
1091
|
+
}
|
|
1089
1092
|
}
|
|
1090
1093
|
else {
|
|
1091
1094
|
standardDateProps[name] = formatSettings[name];
|
|
1092
1095
|
if (name in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity
|
|
1093
|
-
|
|
1096
|
+
smallestUnitNum = Math.min(STANDARD_DATE_PROP_SEVERITIES[name], smallestUnitNum);
|
|
1094
1097
|
}
|
|
1095
1098
|
}
|
|
1096
1099
|
}
|
|
1097
1100
|
this.standardDateProps = standardDateProps;
|
|
1098
1101
|
this.extendedSettings = extendedSettings;
|
|
1099
|
-
this.
|
|
1102
|
+
this.smallestUnitNum = smallestUnitNum;
|
|
1100
1103
|
this.buildFormattingFunc = memoize(buildFormattingFunc);
|
|
1101
1104
|
}
|
|
1102
1105
|
format(date, context) {
|
|
@@ -1131,8 +1134,8 @@ var FullCalendar = (function (exports) {
|
|
|
1131
1134
|
}
|
|
1132
1135
|
return full0 + separator + full1;
|
|
1133
1136
|
}
|
|
1134
|
-
|
|
1135
|
-
switch (this.
|
|
1137
|
+
getSmallestUnit() {
|
|
1138
|
+
switch (this.smallestUnitNum) {
|
|
1136
1139
|
case 7:
|
|
1137
1140
|
case 6:
|
|
1138
1141
|
case 5:
|
|
@@ -2487,7 +2490,7 @@ var FullCalendar = (function (exports) {
|
|
|
2487
2490
|
function getDateMeta(date, todayRange, nowDate, dateProfile) {
|
|
2488
2491
|
return {
|
|
2489
2492
|
dow: date.getUTCDay(),
|
|
2490
|
-
isDisabled: Boolean(dateProfile && !rangeContainsMarker(dateProfile.activeRange, date)),
|
|
2493
|
+
isDisabled: Boolean(dateProfile && (!dateProfile.activeRange || !rangeContainsMarker(dateProfile.activeRange, date))),
|
|
2491
2494
|
isOther: Boolean(dateProfile && !rangeContainsMarker(dateProfile.currentRange, date)),
|
|
2492
2495
|
isToday: Boolean(todayRange && rangeContainsMarker(todayRange, date)),
|
|
2493
2496
|
isPast: Boolean(nowDate ? (date < nowDate) : todayRange ? (date < todayRange.start) : false),
|
|
@@ -3138,9 +3141,10 @@ var FullCalendar = (function (exports) {
|
|
|
3138
3141
|
}
|
|
3139
3142
|
|
|
3140
3143
|
const ViewContextType = createContext({}); // for Components
|
|
3141
|
-
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
3144
|
+
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, nowManager, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
3142
3145
|
return {
|
|
3143
3146
|
dateEnv,
|
|
3147
|
+
nowManager,
|
|
3144
3148
|
options: viewOptions,
|
|
3145
3149
|
pluginHooks,
|
|
3146
3150
|
emitter,
|
|
@@ -3246,36 +3250,9 @@ var FullCalendar = (function (exports) {
|
|
|
3246
3250
|
}
|
|
3247
3251
|
}
|
|
3248
3252
|
|
|
3249
|
-
function reduceCurrentDate(currentDate, action) {
|
|
3250
|
-
switch (action.type) {
|
|
3251
|
-
case 'CHANGE_DATE':
|
|
3252
|
-
return action.dateMarker;
|
|
3253
|
-
default:
|
|
3254
|
-
return currentDate;
|
|
3255
|
-
}
|
|
3256
|
-
}
|
|
3257
|
-
function getInitialDate(options, dateEnv) {
|
|
3258
|
-
let initialDateInput = options.initialDate;
|
|
3259
|
-
// compute the initial ambig-timezone date
|
|
3260
|
-
if (initialDateInput != null) {
|
|
3261
|
-
return dateEnv.createMarker(initialDateInput);
|
|
3262
|
-
}
|
|
3263
|
-
return getNow(options.now, dateEnv); // getNow already returns unzoned
|
|
3264
|
-
}
|
|
3265
|
-
function getNow(nowInput, dateEnv) {
|
|
3266
|
-
if (typeof nowInput === 'function') {
|
|
3267
|
-
nowInput = nowInput();
|
|
3268
|
-
}
|
|
3269
|
-
if (nowInput == null) {
|
|
3270
|
-
return dateEnv.createNowMarker();
|
|
3271
|
-
}
|
|
3272
|
-
return dateEnv.createMarker(nowInput);
|
|
3273
|
-
}
|
|
3274
|
-
|
|
3275
3253
|
class DateProfileGenerator {
|
|
3276
3254
|
constructor(props) {
|
|
3277
3255
|
this.props = props;
|
|
3278
|
-
this.nowDate = getNow(props.nowInput, props.dateEnv);
|
|
3279
3256
|
this.initHiddenDays();
|
|
3280
3257
|
}
|
|
3281
3258
|
/* Date Range Computation
|
|
@@ -3360,7 +3337,7 @@ var FullCalendar = (function (exports) {
|
|
|
3360
3337
|
buildValidRange() {
|
|
3361
3338
|
let input = this.props.validRangeInput;
|
|
3362
3339
|
let simpleInput = typeof input === 'function'
|
|
3363
|
-
? input.call(this.props.calendarApi, this.
|
|
3340
|
+
? input.call(this.props.calendarApi, this.props.dateEnv.toDate(this.props.nowManager.getDateMarker()))
|
|
3364
3341
|
: input;
|
|
3365
3342
|
return this.refineRange(simpleInput) ||
|
|
3366
3343
|
{ start: null, end: null }; // completely open-ended
|
|
@@ -5405,7 +5382,13 @@ var FullCalendar = (function (exports) {
|
|
|
5405
5382
|
let navLinkAttrs = (!dayMeta.isDisabled && props.colCnt > 1)
|
|
5406
5383
|
? buildNavLinkAttrs(this.context, date)
|
|
5407
5384
|
: {};
|
|
5408
|
-
let
|
|
5385
|
+
let publicDate = dateEnv.toDate(date);
|
|
5386
|
+
// workaround for Luxon (and maybe moment) returning prior-days when start-of-day
|
|
5387
|
+
// in DST gap: https://github.com/fullcalendar/fullcalendar/issues/7633
|
|
5388
|
+
if (dateEnv.namedTimeZoneImpl) {
|
|
5389
|
+
publicDate = addMs(publicDate, 3600000); // add an hour
|
|
5390
|
+
}
|
|
5391
|
+
let renderProps = Object.assign(Object.assign(Object.assign({ date: publicDate, view: viewApi }, props.extraRenderProps), { text }), dayMeta);
|
|
5409
5392
|
return (y(ContentContainer, { elTag: "th", elClasses: classNames, elAttrs: Object.assign({ role: 'columnheader', colSpan: props.colSpan, 'data-date': !dayMeta.isDisabled ? formatDayString(date) : undefined }, props.extraDataAttrs), renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInner$1, classNameGenerator: options.dayHeaderClassNames, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (InnerContainer) => (y("div", { className: "fc-scrollgrid-sync-inner" }, !dayMeta.isDisabled && (y(InnerContainer, { elTag: "a", elAttrs: navLinkAttrs, elClasses: [
|
|
5410
5393
|
'fc-col-header-cell-cushion',
|
|
5411
5394
|
props.isSticky && 'fc-sticky',
|
|
@@ -5447,9 +5430,20 @@ var FullCalendar = (function (exports) {
|
|
|
5447
5430
|
class NowTimer extends x$1 {
|
|
5448
5431
|
constructor(props, context) {
|
|
5449
5432
|
super(props, context);
|
|
5450
|
-
this.
|
|
5451
|
-
|
|
5452
|
-
|
|
5433
|
+
this.handleRefresh = () => {
|
|
5434
|
+
let timing = this.computeTiming();
|
|
5435
|
+
if (timing.state.nowDate.valueOf() !== this.state.nowDate.valueOf()) {
|
|
5436
|
+
this.setState(timing.state);
|
|
5437
|
+
}
|
|
5438
|
+
this.clearTimeout();
|
|
5439
|
+
this.setTimeout(timing.waitMs);
|
|
5440
|
+
};
|
|
5441
|
+
this.handleVisibilityChange = () => {
|
|
5442
|
+
if (!document.hidden) {
|
|
5443
|
+
this.handleRefresh();
|
|
5444
|
+
}
|
|
5445
|
+
};
|
|
5446
|
+
this.state = this.computeTiming().state;
|
|
5453
5447
|
}
|
|
5454
5448
|
render() {
|
|
5455
5449
|
let { props, state } = this;
|
|
@@ -5457,6 +5451,9 @@ var FullCalendar = (function (exports) {
|
|
|
5457
5451
|
}
|
|
5458
5452
|
componentDidMount() {
|
|
5459
5453
|
this.setTimeout();
|
|
5454
|
+
this.context.nowManager.addResetListener(this.handleRefresh);
|
|
5455
|
+
// fired tab becomes visible after being hidden
|
|
5456
|
+
document.addEventListener('visibilitychange', this.handleVisibilityChange);
|
|
5460
5457
|
}
|
|
5461
5458
|
componentDidUpdate(prevProps) {
|
|
5462
5459
|
if (prevProps.unit !== this.props.unit) {
|
|
@@ -5466,10 +5463,12 @@ var FullCalendar = (function (exports) {
|
|
|
5466
5463
|
}
|
|
5467
5464
|
componentWillUnmount() {
|
|
5468
5465
|
this.clearTimeout();
|
|
5466
|
+
this.context.nowManager.removeResetListener(this.handleRefresh);
|
|
5467
|
+
document.removeEventListener('visibilitychange', this.handleVisibilityChange);
|
|
5469
5468
|
}
|
|
5470
5469
|
computeTiming() {
|
|
5471
5470
|
let { props, context } = this;
|
|
5472
|
-
let unroundedNow =
|
|
5471
|
+
let unroundedNow = context.nowManager.getDateMarker();
|
|
5473
5472
|
let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
|
|
5474
5473
|
let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
|
|
5475
5474
|
let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
|
|
@@ -5477,16 +5476,20 @@ var FullCalendar = (function (exports) {
|
|
|
5477
5476
|
// ensure no longer than a day
|
|
5478
5477
|
waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
|
|
5479
5478
|
return {
|
|
5480
|
-
|
|
5481
|
-
nextState: { nowDate: nextUnitStart, todayRange: buildDayRange(nextUnitStart) },
|
|
5479
|
+
state: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
|
|
5482
5480
|
waitMs,
|
|
5483
5481
|
};
|
|
5484
5482
|
}
|
|
5485
|
-
setTimeout() {
|
|
5486
|
-
|
|
5483
|
+
setTimeout(waitMs = this.computeTiming().waitMs) {
|
|
5484
|
+
// NOTE: timeout could take longer than expected if tab sleeps,
|
|
5485
|
+
// which is why we listen to 'visibilitychange'
|
|
5487
5486
|
this.timeoutId = setTimeout(() => {
|
|
5488
|
-
|
|
5489
|
-
|
|
5487
|
+
// NOTE: timeout could also return *earlier* than expected, and we need to wait 2 ms more
|
|
5488
|
+
// This is why use use same waitMs from computeTiming, so we don't skip an interval while
|
|
5489
|
+
// .setState() is executing
|
|
5490
|
+
const timing = this.computeTiming();
|
|
5491
|
+
this.setState(timing.state, () => {
|
|
5492
|
+
this.setTimeout(timing.waitMs);
|
|
5490
5493
|
});
|
|
5491
5494
|
}, waitMs);
|
|
5492
5495
|
}
|
|
@@ -7247,7 +7250,7 @@ var FullCalendar = (function (exports) {
|
|
|
7247
7250
|
this.unselect();
|
|
7248
7251
|
this.dispatch({
|
|
7249
7252
|
type: 'CHANGE_DATE',
|
|
7250
|
-
dateMarker:
|
|
7253
|
+
dateMarker: state.nowManager.getDateMarker(),
|
|
7251
7254
|
});
|
|
7252
7255
|
}
|
|
7253
7256
|
gotoDate(zonedDateInput) {
|
|
@@ -8158,6 +8161,25 @@ var FullCalendar = (function (exports) {
|
|
|
8158
8161
|
return viewType;
|
|
8159
8162
|
}
|
|
8160
8163
|
|
|
8164
|
+
function reduceCurrentDate(currentDate, action) {
|
|
8165
|
+
switch (action.type) {
|
|
8166
|
+
case 'CHANGE_DATE':
|
|
8167
|
+
return action.dateMarker;
|
|
8168
|
+
default:
|
|
8169
|
+
return currentDate;
|
|
8170
|
+
}
|
|
8171
|
+
}
|
|
8172
|
+
// should be initialized once and stay constant
|
|
8173
|
+
// this will change too
|
|
8174
|
+
function getInitialDate(options, dateEnv, nowManager) {
|
|
8175
|
+
let initialDateInput = options.initialDate;
|
|
8176
|
+
// compute the initial ambig-timezone date
|
|
8177
|
+
if (initialDateInput != null) {
|
|
8178
|
+
return dateEnv.createMarker(initialDateInput);
|
|
8179
|
+
}
|
|
8180
|
+
return nowManager.getDateMarker();
|
|
8181
|
+
}
|
|
8182
|
+
|
|
8161
8183
|
function reduceDynamicOptionOverrides(dynamicOptionOverrides, action) {
|
|
8162
8184
|
switch (action.type) {
|
|
8163
8185
|
case 'SET_OPTION':
|
|
@@ -8667,6 +8689,7 @@ var FullCalendar = (function (exports) {
|
|
|
8667
8689
|
endTime: refined.endTime || null,
|
|
8668
8690
|
startRecur: refined.startRecur ? dateEnv.createMarker(refined.startRecur) : null,
|
|
8669
8691
|
endRecur: refined.endRecur ? dateEnv.createMarker(refined.endRecur) : null,
|
|
8692
|
+
dateEnv,
|
|
8670
8693
|
};
|
|
8671
8694
|
let duration;
|
|
8672
8695
|
if (refined.duration) {
|
|
@@ -8686,7 +8709,7 @@ var FullCalendar = (function (exports) {
|
|
|
8686
8709
|
expand(typeData, framingRange, dateEnv) {
|
|
8687
8710
|
let clippedFramingRange = intersectRanges(framingRange, { start: typeData.startRecur, end: typeData.endRecur });
|
|
8688
8711
|
if (clippedFramingRange) {
|
|
8689
|
-
return expandRanges(typeData.daysOfWeek, typeData.startTime,
|
|
8712
|
+
return expandRanges(typeData.daysOfWeek, typeData.startTime, typeData.dateEnv, dateEnv, clippedFramingRange);
|
|
8690
8713
|
}
|
|
8691
8714
|
return [];
|
|
8692
8715
|
},
|
|
@@ -8696,7 +8719,7 @@ var FullCalendar = (function (exports) {
|
|
|
8696
8719
|
recurringTypes: [recurring],
|
|
8697
8720
|
eventRefiners: SIMPLE_RECURRING_REFINERS,
|
|
8698
8721
|
});
|
|
8699
|
-
function expandRanges(daysOfWeek, startTime,
|
|
8722
|
+
function expandRanges(daysOfWeek, startTime, eventDateEnv, calendarDateEnv, framingRange) {
|
|
8700
8723
|
let dowHash = daysOfWeek ? arrayToHash(daysOfWeek) : null;
|
|
8701
8724
|
let dayMarker = startOfDay(framingRange.start);
|
|
8702
8725
|
let endMarker = framingRange.end;
|
|
@@ -8706,12 +8729,12 @@ var FullCalendar = (function (exports) {
|
|
|
8706
8729
|
// if everyday, or this particular day-of-week
|
|
8707
8730
|
if (!dowHash || dowHash[dayMarker.getUTCDay()]) {
|
|
8708
8731
|
if (startTime) {
|
|
8709
|
-
instanceStart =
|
|
8732
|
+
instanceStart = calendarDateEnv.add(dayMarker, startTime);
|
|
8710
8733
|
}
|
|
8711
8734
|
else {
|
|
8712
8735
|
instanceStart = dayMarker;
|
|
8713
8736
|
}
|
|
8714
|
-
instanceStarts.push(instanceStart);
|
|
8737
|
+
instanceStarts.push(calendarDateEnv.createMarker(eventDateEnv.toDate(instanceStart)));
|
|
8715
8738
|
}
|
|
8716
8739
|
dayMarker = addDays(dayMarker, 1);
|
|
8717
8740
|
}
|
|
@@ -8876,6 +8899,49 @@ var FullCalendar = (function (exports) {
|
|
|
8876
8899
|
return { year: 'numeric', month: 'long', day: 'numeric' };
|
|
8877
8900
|
}
|
|
8878
8901
|
|
|
8902
|
+
/*
|
|
8903
|
+
TODO: test switching timezones when NO timezone plugin
|
|
8904
|
+
*/
|
|
8905
|
+
class CalendarNowManager {
|
|
8906
|
+
constructor() {
|
|
8907
|
+
this.resetListeners = new Set();
|
|
8908
|
+
}
|
|
8909
|
+
handleInput(dateEnv, // will change if timezone setup changed
|
|
8910
|
+
nowInput) {
|
|
8911
|
+
const oldDateEnv = this.dateEnv;
|
|
8912
|
+
if (dateEnv !== oldDateEnv) {
|
|
8913
|
+
if (typeof nowInput === 'function') {
|
|
8914
|
+
this.nowFn = nowInput;
|
|
8915
|
+
}
|
|
8916
|
+
else if (!oldDateEnv) { // first time?
|
|
8917
|
+
this.nowAnchorDate = dateEnv.toDate(nowInput
|
|
8918
|
+
? dateEnv.createMarker(nowInput)
|
|
8919
|
+
: dateEnv.createNowMarker());
|
|
8920
|
+
this.nowAnchorQueried = Date.now();
|
|
8921
|
+
}
|
|
8922
|
+
this.dateEnv = dateEnv;
|
|
8923
|
+
// not first time? fire reset handlers
|
|
8924
|
+
if (oldDateEnv) {
|
|
8925
|
+
for (const resetListener of this.resetListeners.values()) {
|
|
8926
|
+
resetListener();
|
|
8927
|
+
}
|
|
8928
|
+
}
|
|
8929
|
+
}
|
|
8930
|
+
}
|
|
8931
|
+
getDateMarker() {
|
|
8932
|
+
return this.nowAnchorDate
|
|
8933
|
+
? this.dateEnv.timestampToMarker(this.nowAnchorDate.valueOf() +
|
|
8934
|
+
(Date.now() - this.nowAnchorQueried))
|
|
8935
|
+
: this.dateEnv.createMarker(this.nowFn());
|
|
8936
|
+
}
|
|
8937
|
+
addResetListener(handler) {
|
|
8938
|
+
this.resetListeners.add(handler);
|
|
8939
|
+
}
|
|
8940
|
+
removeResetListener(handler) {
|
|
8941
|
+
this.resetListeners.delete(handler);
|
|
8942
|
+
}
|
|
8943
|
+
}
|
|
8944
|
+
|
|
8879
8945
|
// in future refactor, do the redux-style function(state=initial) for initial-state
|
|
8880
8946
|
// also, whatever is happening in constructor, have it happen in action queue too
|
|
8881
8947
|
class CalendarDataManager {
|
|
@@ -8895,6 +8961,7 @@ var FullCalendar = (function (exports) {
|
|
|
8895
8961
|
this.buildEventUiBases = memoize(buildEventUiBases);
|
|
8896
8962
|
this.parseContextBusinessHours = memoizeObjArg(parseContextBusinessHours);
|
|
8897
8963
|
this.buildTitle = memoize(buildTitle);
|
|
8964
|
+
this.nowManager = new CalendarNowManager();
|
|
8898
8965
|
this.emitter = new Emitter();
|
|
8899
8966
|
this.actionRunner = new TaskRunner(this._handleAction.bind(this), this.updateData.bind(this));
|
|
8900
8967
|
this.currentCalendarOptionsInput = {};
|
|
@@ -8910,6 +8977,7 @@ var FullCalendar = (function (exports) {
|
|
|
8910
8977
|
};
|
|
8911
8978
|
this.props = props;
|
|
8912
8979
|
this.actionRunner.pause();
|
|
8980
|
+
this.nowManager = new CalendarNowManager();
|
|
8913
8981
|
let dynamicOptionOverrides = {};
|
|
8914
8982
|
let optionsData = this.computeOptionsData(props.optionOverrides, dynamicOptionOverrides, props.calendarApi);
|
|
8915
8983
|
let currentViewType = optionsData.calendarOptions.initialView || optionsData.pluginHooks.initialView;
|
|
@@ -8919,12 +8987,8 @@ var FullCalendar = (function (exports) {
|
|
|
8919
8987
|
props.calendarApi.currentDataManager = this;
|
|
8920
8988
|
this.emitter.setThisContext(props.calendarApi);
|
|
8921
8989
|
this.emitter.setOptions(currentViewData.options);
|
|
8922
|
-
let currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv);
|
|
8923
|
-
let dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
|
|
8924
|
-
if (!rangeContainsMarker(dateProfile.activeRange, currentDate)) {
|
|
8925
|
-
currentDate = dateProfile.currentRange.start;
|
|
8926
|
-
}
|
|
8927
8990
|
let calendarContext = {
|
|
8991
|
+
nowManager: this.nowManager,
|
|
8928
8992
|
dateEnv: optionsData.dateEnv,
|
|
8929
8993
|
options: optionsData.calendarOptions,
|
|
8930
8994
|
pluginHooks: optionsData.pluginHooks,
|
|
@@ -8933,6 +8997,11 @@ var FullCalendar = (function (exports) {
|
|
|
8933
8997
|
emitter: this.emitter,
|
|
8934
8998
|
getCurrentData: this.getCurrentData,
|
|
8935
8999
|
};
|
|
9000
|
+
let currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv, this.nowManager);
|
|
9001
|
+
let dateProfile = currentViewData.dateProfileGenerator.build(currentDate);
|
|
9002
|
+
if (!rangeContainsMarker(dateProfile.activeRange, currentDate)) {
|
|
9003
|
+
currentDate = dateProfile.currentRange.start;
|
|
9004
|
+
}
|
|
8936
9005
|
// needs to be after setThisContext
|
|
8937
9006
|
for (let callback of optionsData.pluginHooks.contextInit) {
|
|
8938
9007
|
callback(calendarContext);
|
|
@@ -8993,6 +9062,7 @@ var FullCalendar = (function (exports) {
|
|
|
8993
9062
|
emitter.setThisContext(props.calendarApi);
|
|
8994
9063
|
emitter.setOptions(currentViewData.options);
|
|
8995
9064
|
let calendarContext = {
|
|
9065
|
+
nowManager: this.nowManager,
|
|
8996
9066
|
dateEnv: optionsData.dateEnv,
|
|
8997
9067
|
options: optionsData.calendarOptions,
|
|
8998
9068
|
pluginHooks: optionsData.pluginHooks,
|
|
@@ -9060,7 +9130,7 @@ var FullCalendar = (function (exports) {
|
|
|
9060
9130
|
let oldData = this.data;
|
|
9061
9131
|
let optionsData = this.computeOptionsData(props.optionOverrides, state.dynamicOptionOverrides, props.calendarApi);
|
|
9062
9132
|
let currentViewData = this.computeCurrentViewData(state.currentViewType, optionsData, props.optionOverrides, state.dynamicOptionOverrides);
|
|
9063
|
-
let data = this.data = Object.assign(Object.assign(Object.assign({ viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv), calendarApi: props.calendarApi, dispatch: this.dispatch, emitter: this.emitter, getCurrentData: this.getCurrentData }, optionsData), currentViewData), state);
|
|
9133
|
+
let data = this.data = Object.assign(Object.assign(Object.assign({ nowManager: this.nowManager, viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv), calendarApi: props.calendarApi, dispatch: this.dispatch, emitter: this.emitter, getCurrentData: this.getCurrentData }, optionsData), currentViewData), state);
|
|
9064
9134
|
let changeHandlers = optionsData.pluginHooks.optionChangeHandlers;
|
|
9065
9135
|
let oldCalendarOptions = oldData && oldData.calendarOptions;
|
|
9066
9136
|
let newCalendarOptions = optionsData.calendarOptions;
|
|
@@ -9168,8 +9238,10 @@ var FullCalendar = (function (exports) {
|
|
|
9168
9238
|
}
|
|
9169
9239
|
let { refinedOptions, extra } = this.processRawViewOptions(viewSpec, optionsData.pluginHooks, optionsData.localeDefaults, optionOverrides, dynamicOptionOverrides);
|
|
9170
9240
|
warnUnknownOptions(extra);
|
|
9241
|
+
this.nowManager.handleInput(optionsData.dateEnv, refinedOptions.now);
|
|
9171
9242
|
let dateProfileGenerator = this.buildDateProfileGenerator({
|
|
9172
9243
|
dateProfileGeneratorClass: viewSpec.optionDefaults.dateProfileGeneratorClass,
|
|
9244
|
+
nowManager: this.nowManager,
|
|
9173
9245
|
duration: viewSpec.duration,
|
|
9174
9246
|
durationUnit: viewSpec.durationUnit,
|
|
9175
9247
|
usesMinMaxTime: viewSpec.optionDefaults.usesMinMaxTime,
|
|
@@ -9183,7 +9255,6 @@ var FullCalendar = (function (exports) {
|
|
|
9183
9255
|
dateIncrement: refinedOptions.dateIncrement,
|
|
9184
9256
|
hiddenDays: refinedOptions.hiddenDays,
|
|
9185
9257
|
weekends: refinedOptions.weekends,
|
|
9186
|
-
nowInput: refinedOptions.now,
|
|
9187
9258
|
validRangeInput: refinedOptions.validRange,
|
|
9188
9259
|
visibleRangeInput: refinedOptions.visibleRange,
|
|
9189
9260
|
fixedWeekCount: refinedOptions.fixedWeekCount,
|
|
@@ -9587,8 +9658,6 @@ var FullCalendar = (function (exports) {
|
|
|
9587
9658
|
render() {
|
|
9588
9659
|
let { props } = this;
|
|
9589
9660
|
let { toolbarConfig, options } = props;
|
|
9590
|
-
let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????
|
|
9591
|
-
props.viewTitle);
|
|
9592
9661
|
let viewVGrow = false;
|
|
9593
9662
|
let viewHeight = '';
|
|
9594
9663
|
let viewAspectRatio;
|
|
@@ -9604,16 +9673,20 @@ var FullCalendar = (function (exports) {
|
|
|
9604
9673
|
else {
|
|
9605
9674
|
viewAspectRatio = Math.max(options.aspectRatio, 0.5); // prevent from getting too tall
|
|
9606
9675
|
}
|
|
9607
|
-
let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
|
|
9676
|
+
let viewContext = this.buildViewContext(props.viewSpec, props.viewApi, props.options, props.dateProfileGenerator, props.dateEnv, props.nowManager, props.theme, props.pluginHooks, props.dispatch, props.getCurrentData, props.emitter, props.calendarApi, this.registerInteractiveComponent, this.unregisterInteractiveComponent);
|
|
9608
9677
|
let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)
|
|
9609
9678
|
? this.state.viewLabelId
|
|
9610
9679
|
: undefined;
|
|
9611
9680
|
return (y(ViewContextType.Provider, { value: viewContext },
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
|
|
9616
|
-
|
|
9681
|
+
y(NowTimer, { unit: "day" }, (nowDate) => {
|
|
9682
|
+
let toolbarProps = this.buildToolbarProps(props.viewSpec, props.dateProfile, props.dateProfileGenerator, props.currentDate, nowDate, props.viewTitle);
|
|
9683
|
+
return (y(_, null,
|
|
9684
|
+
toolbarConfig.header && (y(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
|
|
9685
|
+
y(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
|
|
9686
|
+
this.renderView(props),
|
|
9687
|
+
this.buildAppendContent()),
|
|
9688
|
+
toolbarConfig.footer && (y(Toolbar, Object.assign({ ref: this.footerRef, extraClassName: "fc-footer-toolbar", model: toolbarConfig.footer, titleId: "" }, toolbarProps)))));
|
|
9689
|
+
})));
|
|
9617
9690
|
}
|
|
9618
9691
|
componentDidMount() {
|
|
9619
9692
|
let { props } = this;
|
|
@@ -9835,7 +9908,7 @@ var FullCalendar = (function (exports) {
|
|
|
9835
9908
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
9836
9909
|
}
|
|
9837
9910
|
|
|
9838
|
-
const version = '6.1.
|
|
9911
|
+
const version = '6.1.17';
|
|
9839
9912
|
|
|
9840
9913
|
exports.Calendar = Calendar;
|
|
9841
9914
|
exports.Internal = internal;
|