@fullcalendar/core 6.1.15 → 6.1.18
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 +189 -90
- package/index.global.min.js +2 -2
- package/index.js +92 -22
- package/internal-common.cjs +147 -121
- package/internal-common.d.ts +20 -5
- package/internal-common.js +148 -119
- 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/internal-common.js
CHANGED
|
@@ -82,7 +82,7 @@ if (typeof document !== 'undefined') {
|
|
|
82
82
|
registerStylesRoot(document);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
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)}";
|
|
85
|
+
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)}";
|
|
86
86
|
injectStyles(css_248z);
|
|
87
87
|
|
|
88
88
|
class DelayedRunner {
|
|
@@ -963,10 +963,10 @@ function memoizeHashlike(workerFunc, resEquality, teardownFunc) {
|
|
|
963
963
|
|
|
964
964
|
const EXTENDED_SETTINGS_AND_SEVERITIES = {
|
|
965
965
|
week: 3,
|
|
966
|
-
separator:
|
|
967
|
-
omitZeroMinute:
|
|
968
|
-
meridiem:
|
|
969
|
-
omitCommas:
|
|
966
|
+
separator: 9,
|
|
967
|
+
omitZeroMinute: 9,
|
|
968
|
+
meridiem: 9,
|
|
969
|
+
omitCommas: 9,
|
|
970
970
|
};
|
|
971
971
|
const STANDARD_DATE_PROP_SEVERITIES = {
|
|
972
972
|
timeZoneName: 7,
|
|
@@ -988,22 +988,25 @@ class NativeFormatter {
|
|
|
988
988
|
constructor(formatSettings) {
|
|
989
989
|
let standardDateProps = {};
|
|
990
990
|
let extendedSettings = {};
|
|
991
|
-
let
|
|
991
|
+
let smallestUnitNum = 9; // the smallest unit in the formatter (9 is a sentinel, beyond max)
|
|
992
992
|
for (let name in formatSettings) {
|
|
993
993
|
if (name in EXTENDED_SETTINGS_AND_SEVERITIES) {
|
|
994
994
|
extendedSettings[name] = formatSettings[name];
|
|
995
|
-
severity =
|
|
995
|
+
const severity = EXTENDED_SETTINGS_AND_SEVERITIES[name];
|
|
996
|
+
if (severity < 9) {
|
|
997
|
+
smallestUnitNum = Math.min(EXTENDED_SETTINGS_AND_SEVERITIES[name], smallestUnitNum);
|
|
998
|
+
}
|
|
996
999
|
}
|
|
997
1000
|
else {
|
|
998
1001
|
standardDateProps[name] = formatSettings[name];
|
|
999
1002
|
if (name in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity
|
|
1000
|
-
|
|
1003
|
+
smallestUnitNum = Math.min(STANDARD_DATE_PROP_SEVERITIES[name], smallestUnitNum);
|
|
1001
1004
|
}
|
|
1002
1005
|
}
|
|
1003
1006
|
}
|
|
1004
1007
|
this.standardDateProps = standardDateProps;
|
|
1005
1008
|
this.extendedSettings = extendedSettings;
|
|
1006
|
-
this.
|
|
1009
|
+
this.smallestUnitNum = smallestUnitNum;
|
|
1007
1010
|
this.buildFormattingFunc = memoize(buildFormattingFunc);
|
|
1008
1011
|
}
|
|
1009
1012
|
format(date, context) {
|
|
@@ -1038,8 +1041,8 @@ class NativeFormatter {
|
|
|
1038
1041
|
}
|
|
1039
1042
|
return full0 + separator + full1;
|
|
1040
1043
|
}
|
|
1041
|
-
|
|
1042
|
-
switch (this.
|
|
1044
|
+
getSmallestUnit() {
|
|
1045
|
+
switch (this.smallestUnitNum) {
|
|
1043
1046
|
case 7:
|
|
1044
1047
|
case 6:
|
|
1045
1048
|
case 5:
|
|
@@ -1752,6 +1755,25 @@ function compareObjs(oldProps, newProps, equalityFuncs = {}) {
|
|
|
1752
1755
|
if (oldProps === newProps) {
|
|
1753
1756
|
return true;
|
|
1754
1757
|
}
|
|
1758
|
+
// if (debug) {
|
|
1759
|
+
// for (let key in newProps) {
|
|
1760
|
+
// if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) {
|
|
1761
|
+
// // equal
|
|
1762
|
+
// } else {
|
|
1763
|
+
// if (debug) {
|
|
1764
|
+
// console.log('prop difference', key, oldProps[key], newProps[key])
|
|
1765
|
+
// }
|
|
1766
|
+
// }
|
|
1767
|
+
// }
|
|
1768
|
+
// // check for props that were omitted in the new
|
|
1769
|
+
// for (let key in oldProps) {
|
|
1770
|
+
// if (!(key in newProps)) {
|
|
1771
|
+
// if (debug) {
|
|
1772
|
+
// console.log('prop absent', key)
|
|
1773
|
+
// }
|
|
1774
|
+
// }
|
|
1775
|
+
// }
|
|
1776
|
+
// }
|
|
1755
1777
|
for (let key in newProps) {
|
|
1756
1778
|
if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) ;
|
|
1757
1779
|
else {
|
|
@@ -2311,9 +2333,10 @@ class ScrollResponder {
|
|
|
2311
2333
|
}
|
|
2312
2334
|
|
|
2313
2335
|
const ViewContextType = createContext({}); // for Components
|
|
2314
|
-
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
2336
|
+
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, nowManager, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
2315
2337
|
return {
|
|
2316
2338
|
dateEnv,
|
|
2339
|
+
nowManager,
|
|
2317
2340
|
options: viewOptions,
|
|
2318
2341
|
pluginHooks,
|
|
2319
2342
|
emitter,
|
|
@@ -2341,13 +2364,14 @@ function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator,
|
|
|
2341
2364
|
|
|
2342
2365
|
/* eslint max-classes-per-file: off */
|
|
2343
2366
|
class PureComponent extends Component {
|
|
2367
|
+
// debug: boolean
|
|
2344
2368
|
shouldComponentUpdate(nextProps, nextState) {
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2369
|
+
const shouldUpdate = !compareObjs(this.props, nextProps, this.propEquality /*, this.debug */) ||
|
|
2370
|
+
!compareObjs(this.state, nextState, this.stateEquality /*, this.debug */);
|
|
2371
|
+
// if (this.debug && shouldUpdate) {
|
|
2372
|
+
// console.log('shouldUpdate!')
|
|
2373
|
+
// }
|
|
2374
|
+
return shouldUpdate;
|
|
2351
2375
|
}
|
|
2352
2376
|
// HACK for freakin' React StrictMode
|
|
2353
2377
|
safeSetState(newState) {
|
|
@@ -2587,10 +2611,10 @@ class ViewContainer extends BaseComponent {
|
|
|
2587
2611
|
let { props, context } = this;
|
|
2588
2612
|
let { options } = context;
|
|
2589
2613
|
let renderProps = { view: context.viewApi };
|
|
2590
|
-
return (createElement(ContentContainer,
|
|
2614
|
+
return (createElement(ContentContainer, { elRef: props.elRef, elTag: props.elTag || 'div', elAttrs: props.elAttrs, elClasses: [
|
|
2591
2615
|
...buildViewClassNames(props.viewSpec),
|
|
2592
2616
|
...(props.elClasses || []),
|
|
2593
|
-
], renderProps: renderProps, classNameGenerator: options.viewClassNames, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }
|
|
2617
|
+
], elStyle: props.elStyle, renderProps: renderProps, classNameGenerator: options.viewClassNames, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }, () => props.children));
|
|
2594
2618
|
}
|
|
2595
2619
|
}
|
|
2596
2620
|
function buildViewClassNames(viewSpec) {
|
|
@@ -2746,36 +2770,9 @@ function diffDates(date0, date1, dateEnv, largeUnit) {
|
|
|
2746
2770
|
return diffDayAndTime(date0, date1); // returns a duration
|
|
2747
2771
|
}
|
|
2748
2772
|
|
|
2749
|
-
function reduceCurrentDate(currentDate, action) {
|
|
2750
|
-
switch (action.type) {
|
|
2751
|
-
case 'CHANGE_DATE':
|
|
2752
|
-
return action.dateMarker;
|
|
2753
|
-
default:
|
|
2754
|
-
return currentDate;
|
|
2755
|
-
}
|
|
2756
|
-
}
|
|
2757
|
-
function getInitialDate(options, dateEnv) {
|
|
2758
|
-
let initialDateInput = options.initialDate;
|
|
2759
|
-
// compute the initial ambig-timezone date
|
|
2760
|
-
if (initialDateInput != null) {
|
|
2761
|
-
return dateEnv.createMarker(initialDateInput);
|
|
2762
|
-
}
|
|
2763
|
-
return getNow(options.now, dateEnv); // getNow already returns unzoned
|
|
2764
|
-
}
|
|
2765
|
-
function getNow(nowInput, dateEnv) {
|
|
2766
|
-
if (typeof nowInput === 'function') {
|
|
2767
|
-
nowInput = nowInput();
|
|
2768
|
-
}
|
|
2769
|
-
if (nowInput == null) {
|
|
2770
|
-
return dateEnv.createNowMarker();
|
|
2771
|
-
}
|
|
2772
|
-
return dateEnv.createMarker(nowInput);
|
|
2773
|
-
}
|
|
2774
|
-
|
|
2775
2773
|
class DateProfileGenerator {
|
|
2776
2774
|
constructor(props) {
|
|
2777
2775
|
this.props = props;
|
|
2778
|
-
this.nowDate = getNow(props.nowInput, props.dateEnv);
|
|
2779
2776
|
this.initHiddenDays();
|
|
2780
2777
|
}
|
|
2781
2778
|
/* Date Range Computation
|
|
@@ -2860,7 +2857,7 @@ class DateProfileGenerator {
|
|
|
2860
2857
|
buildValidRange() {
|
|
2861
2858
|
let input = this.props.validRangeInput;
|
|
2862
2859
|
let simpleInput = typeof input === 'function'
|
|
2863
|
-
? input.call(this.props.calendarApi, this.
|
|
2860
|
+
? input.call(this.props.calendarApi, this.props.dateEnv.toDate(this.props.nowManager.getDateMarker()))
|
|
2864
2861
|
: input;
|
|
2865
2862
|
return this.refineRange(simpleInput) ||
|
|
2866
2863
|
{ start: null, end: null }; // completely open-ended
|
|
@@ -4752,6 +4749,85 @@ function interactionSettingsToStore(settings) {
|
|
|
4752
4749
|
// global state
|
|
4753
4750
|
const interactionSettingsStore = {};
|
|
4754
4751
|
|
|
4752
|
+
class NowTimer extends Component {
|
|
4753
|
+
constructor(props, context) {
|
|
4754
|
+
super(props, context);
|
|
4755
|
+
this.handleRefresh = () => {
|
|
4756
|
+
let timing = this.computeTiming();
|
|
4757
|
+
if (timing.state.nowDate.valueOf() !== this.state.nowDate.valueOf()) {
|
|
4758
|
+
this.setState(timing.state);
|
|
4759
|
+
}
|
|
4760
|
+
this.clearTimeout();
|
|
4761
|
+
this.setTimeout(timing.waitMs);
|
|
4762
|
+
};
|
|
4763
|
+
this.handleVisibilityChange = () => {
|
|
4764
|
+
if (!document.hidden) {
|
|
4765
|
+
this.handleRefresh();
|
|
4766
|
+
}
|
|
4767
|
+
};
|
|
4768
|
+
this.state = this.computeTiming().state;
|
|
4769
|
+
}
|
|
4770
|
+
render() {
|
|
4771
|
+
let { props, state } = this;
|
|
4772
|
+
return props.children(state.nowDate, state.todayRange);
|
|
4773
|
+
}
|
|
4774
|
+
componentDidMount() {
|
|
4775
|
+
this.setTimeout();
|
|
4776
|
+
this.context.nowManager.addResetListener(this.handleRefresh);
|
|
4777
|
+
// fired tab becomes visible after being hidden
|
|
4778
|
+
document.addEventListener('visibilitychange', this.handleVisibilityChange);
|
|
4779
|
+
}
|
|
4780
|
+
componentDidUpdate(prevProps) {
|
|
4781
|
+
if (prevProps.unit !== this.props.unit) {
|
|
4782
|
+
this.clearTimeout();
|
|
4783
|
+
this.setTimeout();
|
|
4784
|
+
}
|
|
4785
|
+
}
|
|
4786
|
+
componentWillUnmount() {
|
|
4787
|
+
this.clearTimeout();
|
|
4788
|
+
this.context.nowManager.removeResetListener(this.handleRefresh);
|
|
4789
|
+
document.removeEventListener('visibilitychange', this.handleVisibilityChange);
|
|
4790
|
+
}
|
|
4791
|
+
computeTiming() {
|
|
4792
|
+
let { props, context } = this;
|
|
4793
|
+
let unroundedNow = context.nowManager.getDateMarker();
|
|
4794
|
+
let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
|
|
4795
|
+
let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
|
|
4796
|
+
let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
|
|
4797
|
+
// there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
|
|
4798
|
+
// ensure no longer than a day
|
|
4799
|
+
waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
|
|
4800
|
+
return {
|
|
4801
|
+
state: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
|
|
4802
|
+
waitMs,
|
|
4803
|
+
};
|
|
4804
|
+
}
|
|
4805
|
+
setTimeout(waitMs = this.computeTiming().waitMs) {
|
|
4806
|
+
// NOTE: timeout could take longer than expected if tab sleeps,
|
|
4807
|
+
// which is why we listen to 'visibilitychange'
|
|
4808
|
+
this.timeoutId = setTimeout(() => {
|
|
4809
|
+
// NOTE: timeout could also return *earlier* than expected, and we need to wait 2 ms more
|
|
4810
|
+
// This is why use use same waitMs from computeTiming, so we don't skip an interval while
|
|
4811
|
+
// .setState() is executing
|
|
4812
|
+
const timing = this.computeTiming();
|
|
4813
|
+
this.setState(timing.state, () => {
|
|
4814
|
+
this.setTimeout(timing.waitMs);
|
|
4815
|
+
});
|
|
4816
|
+
}, waitMs);
|
|
4817
|
+
}
|
|
4818
|
+
clearTimeout() {
|
|
4819
|
+
if (this.timeoutId) {
|
|
4820
|
+
clearTimeout(this.timeoutId);
|
|
4821
|
+
}
|
|
4822
|
+
}
|
|
4823
|
+
}
|
|
4824
|
+
NowTimer.contextType = ViewContextType;
|
|
4825
|
+
function buildDayRange(date) {
|
|
4826
|
+
let start = startOfDay(date);
|
|
4827
|
+
let end = addDays(start, 1);
|
|
4828
|
+
return { start, end };
|
|
4829
|
+
}
|
|
4830
|
+
|
|
4755
4831
|
class CalendarImpl {
|
|
4756
4832
|
getCurrentData() {
|
|
4757
4833
|
return this.currentDataManager.getCurrentData();
|
|
@@ -4907,7 +4983,7 @@ class CalendarImpl {
|
|
|
4907
4983
|
this.unselect();
|
|
4908
4984
|
this.dispatch({
|
|
4909
4985
|
type: 'CHANGE_DATE',
|
|
4910
|
-
dateMarker:
|
|
4986
|
+
dateMarker: state.nowManager.getDateMarker(),
|
|
4911
4987
|
});
|
|
4912
4988
|
}
|
|
4913
4989
|
gotoDate(zonedDateInput) {
|
|
@@ -5308,7 +5384,7 @@ function buildEventUiForKey(allUi, eventUiForKey, individualUi) {
|
|
|
5308
5384
|
function getDateMeta(date, todayRange, nowDate, dateProfile) {
|
|
5309
5385
|
return {
|
|
5310
5386
|
dow: date.getUTCDay(),
|
|
5311
|
-
isDisabled: Boolean(dateProfile && !rangeContainsMarker(dateProfile.activeRange, date)),
|
|
5387
|
+
isDisabled: Boolean(dateProfile && (!dateProfile.activeRange || !rangeContainsMarker(dateProfile.activeRange, date))),
|
|
5312
5388
|
isOther: Boolean(dateProfile && !rangeContainsMarker(dateProfile.currentRange, date)),
|
|
5313
5389
|
isToday: Boolean(todayRange && rangeContainsMarker(todayRange, date)),
|
|
5314
5390
|
isPast: Boolean(nowDate ? (date < nowDate) : todayRange ? (date < todayRange.start) : false),
|
|
@@ -6073,7 +6149,13 @@ class TableDateCell extends BaseComponent {
|
|
|
6073
6149
|
let navLinkAttrs = (!dayMeta.isDisabled && props.colCnt > 1)
|
|
6074
6150
|
? buildNavLinkAttrs(this.context, date)
|
|
6075
6151
|
: {};
|
|
6076
|
-
let
|
|
6152
|
+
let publicDate = dateEnv.toDate(date);
|
|
6153
|
+
// workaround for Luxon (and maybe moment) returning prior-days when start-of-day
|
|
6154
|
+
// in DST gap: https://github.com/fullcalendar/fullcalendar/issues/7633
|
|
6155
|
+
if (dateEnv.namedTimeZoneImpl) {
|
|
6156
|
+
publicDate = addMs(publicDate, 3600000); // add an hour
|
|
6157
|
+
}
|
|
6158
|
+
let renderProps = Object.assign(Object.assign(Object.assign({ date: publicDate, view: viewApi }, props.extraRenderProps), { text }), dayMeta);
|
|
6077
6159
|
return (createElement(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) => (createElement("div", { className: "fc-scrollgrid-sync-inner" }, !dayMeta.isDisabled && (createElement(InnerContainer, { elTag: "a", elAttrs: navLinkAttrs, elClasses: [
|
|
6078
6160
|
'fc-col-header-cell-cushion',
|
|
6079
6161
|
props.isSticky && 'fc-sticky',
|
|
@@ -6112,65 +6194,6 @@ class TableDowCell extends BaseComponent {
|
|
|
6112
6194
|
}
|
|
6113
6195
|
}
|
|
6114
6196
|
|
|
6115
|
-
class NowTimer extends Component {
|
|
6116
|
-
constructor(props, context) {
|
|
6117
|
-
super(props, context);
|
|
6118
|
-
this.initialNowDate = getNow(context.options.now, context.dateEnv);
|
|
6119
|
-
this.initialNowQueriedMs = new Date().valueOf();
|
|
6120
|
-
this.state = this.computeTiming().currentState;
|
|
6121
|
-
}
|
|
6122
|
-
render() {
|
|
6123
|
-
let { props, state } = this;
|
|
6124
|
-
return props.children(state.nowDate, state.todayRange);
|
|
6125
|
-
}
|
|
6126
|
-
componentDidMount() {
|
|
6127
|
-
this.setTimeout();
|
|
6128
|
-
}
|
|
6129
|
-
componentDidUpdate(prevProps) {
|
|
6130
|
-
if (prevProps.unit !== this.props.unit) {
|
|
6131
|
-
this.clearTimeout();
|
|
6132
|
-
this.setTimeout();
|
|
6133
|
-
}
|
|
6134
|
-
}
|
|
6135
|
-
componentWillUnmount() {
|
|
6136
|
-
this.clearTimeout();
|
|
6137
|
-
}
|
|
6138
|
-
computeTiming() {
|
|
6139
|
-
let { props, context } = this;
|
|
6140
|
-
let unroundedNow = addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs);
|
|
6141
|
-
let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
|
|
6142
|
-
let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
|
|
6143
|
-
let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
|
|
6144
|
-
// there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
|
|
6145
|
-
// ensure no longer than a day
|
|
6146
|
-
waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
|
|
6147
|
-
return {
|
|
6148
|
-
currentState: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
|
|
6149
|
-
nextState: { nowDate: nextUnitStart, todayRange: buildDayRange(nextUnitStart) },
|
|
6150
|
-
waitMs,
|
|
6151
|
-
};
|
|
6152
|
-
}
|
|
6153
|
-
setTimeout() {
|
|
6154
|
-
let { nextState, waitMs } = this.computeTiming();
|
|
6155
|
-
this.timeoutId = setTimeout(() => {
|
|
6156
|
-
this.setState(nextState, () => {
|
|
6157
|
-
this.setTimeout();
|
|
6158
|
-
});
|
|
6159
|
-
}, waitMs);
|
|
6160
|
-
}
|
|
6161
|
-
clearTimeout() {
|
|
6162
|
-
if (this.timeoutId) {
|
|
6163
|
-
clearTimeout(this.timeoutId);
|
|
6164
|
-
}
|
|
6165
|
-
}
|
|
6166
|
-
}
|
|
6167
|
-
NowTimer.contextType = ViewContextType;
|
|
6168
|
-
function buildDayRange(date) {
|
|
6169
|
-
let start = startOfDay(date);
|
|
6170
|
-
let end = addDays(start, 1);
|
|
6171
|
-
return { start, end };
|
|
6172
|
-
}
|
|
6173
|
-
|
|
6174
6197
|
class DayHeader extends BaseComponent {
|
|
6175
6198
|
constructor() {
|
|
6176
6199
|
super(...arguments);
|
|
@@ -7046,8 +7069,11 @@ function getSectionByKey(sections, key) {
|
|
|
7046
7069
|
class EventContainer extends BaseComponent {
|
|
7047
7070
|
constructor() {
|
|
7048
7071
|
super(...arguments);
|
|
7072
|
+
// memo
|
|
7073
|
+
this.buildPublicEvent = memoize((context, eventDef, eventInstance) => new EventImpl(context, eventDef, eventInstance));
|
|
7049
7074
|
this.handleEl = (el) => {
|
|
7050
7075
|
this.el = el;
|
|
7076
|
+
setRef(this.props.elRef, el);
|
|
7051
7077
|
if (el) {
|
|
7052
7078
|
setElSeg(el, this.props.seg);
|
|
7053
7079
|
}
|
|
@@ -7060,7 +7086,7 @@ class EventContainer extends BaseComponent {
|
|
|
7060
7086
|
const { eventRange } = seg;
|
|
7061
7087
|
const { ui } = eventRange;
|
|
7062
7088
|
const renderProps = {
|
|
7063
|
-
event:
|
|
7089
|
+
event: this.buildPublicEvent(context, eventRange.def, eventRange.instance),
|
|
7064
7090
|
view: context.viewApi,
|
|
7065
7091
|
timeText: props.timeText,
|
|
7066
7092
|
textColor: ui.textColor,
|
|
@@ -7079,11 +7105,11 @@ class EventContainer extends BaseComponent {
|
|
|
7079
7105
|
isDragging: Boolean(props.isDragging),
|
|
7080
7106
|
isResizing: Boolean(props.isResizing),
|
|
7081
7107
|
};
|
|
7082
|
-
return (createElement(ContentContainer,
|
|
7108
|
+
return (createElement(ContentContainer, { elRef: this.handleEl, elTag: props.elTag, elAttrs: props.elAttrs, elClasses: [
|
|
7083
7109
|
...getEventClassNames(renderProps),
|
|
7084
7110
|
...seg.eventRange.ui.classNames,
|
|
7085
7111
|
...(props.elClasses || []),
|
|
7086
|
-
], renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: props.defaultGenerator, classNameGenerator: options.eventClassNames, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount }))
|
|
7112
|
+
], elStyle: props.elStyle, renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: props.defaultGenerator, classNameGenerator: options.eventClassNames, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount }, props.children));
|
|
7087
7113
|
}
|
|
7088
7114
|
componentDidUpdate(prevProps) {
|
|
7089
7115
|
if (this.el && this.props.seg !== prevProps.seg) {
|
|
@@ -7110,6 +7136,9 @@ class StandardEvent extends BaseComponent {
|
|
|
7110
7136
|
Boolean(eventContentArg.isEndResizable) && (createElement("div", { className: "fc-event-resizer fc-event-resizer-end" }))))));
|
|
7111
7137
|
}
|
|
7112
7138
|
}
|
|
7139
|
+
StandardEvent.addPropsEquality({
|
|
7140
|
+
seg: isPropsEqual,
|
|
7141
|
+
});
|
|
7113
7142
|
function renderInnerContent$1(innerProps) {
|
|
7114
7143
|
return (createElement("div", { className: "fc-event-main-frame" },
|
|
7115
7144
|
innerProps.timeText && (createElement("div", { className: "fc-event-time" }, innerProps.timeText)),
|
|
@@ -7124,7 +7153,7 @@ const NowIndicatorContainer = (props) => (createElement(ViewContextType.Consumer
|
|
|
7124
7153
|
date: context.dateEnv.toDate(props.date),
|
|
7125
7154
|
view: context.viewApi,
|
|
7126
7155
|
};
|
|
7127
|
-
return (createElement(ContentContainer,
|
|
7156
|
+
return (createElement(ContentContainer, { elRef: props.elRef, elTag: props.elTag || 'div', elAttrs: props.elAttrs, elClasses: props.elClasses, elStyle: props.elStyle, renderProps: renderProps, generatorName: "nowIndicatorContent", customGenerator: options.nowIndicatorContent, classNameGenerator: options.nowIndicatorClassNames, didMount: options.nowIndicatorDidMount, willUnmount: options.nowIndicatorWillUnmount }, props.children));
|
|
7128
7157
|
}));
|
|
7129
7158
|
|
|
7130
7159
|
const DAY_NUM_FORMAT = createFormatter({ day: 'numeric' });
|
|
@@ -7147,12 +7176,12 @@ class DayCellContainer extends BaseComponent {
|
|
|
7147
7176
|
dateEnv: context.dateEnv,
|
|
7148
7177
|
monthStartFormat: options.monthStartFormat,
|
|
7149
7178
|
});
|
|
7150
|
-
return (createElement(ContentContainer, Object.assign({}, props
|
|
7179
|
+
return (createElement(ContentContainer, { elRef: props.elRef, elTag: props.elTag, elAttrs: Object.assign(Object.assign({}, props.elAttrs), (renderProps.isDisabled ? {} : { 'data-date': formatDayString(props.date) })), elClasses: [
|
|
7151
7180
|
...getDayClassNames(renderProps, context.theme),
|
|
7152
7181
|
...(props.elClasses || []),
|
|
7153
|
-
],
|
|
7182
|
+
], elStyle: props.elStyle, renderProps: renderProps, generatorName: "dayCellContent", customGenerator: options.dayCellContent, defaultGenerator: props.defaultGenerator, classNameGenerator:
|
|
7154
7183
|
// don't use custom classNames if disabled
|
|
7155
|
-
renderProps.isDisabled ? undefined : options.dayCellClassNames, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount }))
|
|
7184
|
+
renderProps.isDisabled ? undefined : options.dayCellClassNames, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount }, props.children));
|
|
7156
7185
|
}
|
|
7157
7186
|
}
|
|
7158
7187
|
function hasCustomDayCellContent(options) {
|
|
@@ -7189,7 +7218,7 @@ const WeekNumberContainer = (props) => (createElement(ViewContextType.Consumer,
|
|
|
7189
7218
|
let text = dateEnv.format(date, format);
|
|
7190
7219
|
let renderProps = { num, text, date };
|
|
7191
7220
|
return (createElement(ContentContainer // why isn't WeekNumberContentArg being auto-detected?
|
|
7192
|
-
,
|
|
7221
|
+
, { elRef: props.elRef, elTag: props.elTag, elAttrs: props.elAttrs, elClasses: props.elClasses, elStyle: props.elStyle, renderProps: renderProps, generatorName: "weekNumberContent", customGenerator: options.weekNumberContent, defaultGenerator: renderInner, classNameGenerator: options.weekNumberClassNames, didMount: options.weekNumberDidMount, willUnmount: options.weekNumberWillUnmount }, props.children));
|
|
7193
7222
|
}));
|
|
7194
7223
|
function renderInner(innerProps) {
|
|
7195
7224
|
return innerProps.text;
|
|
@@ -7484,4 +7513,4 @@ class CustomRenderingStore extends Store {
|
|
|
7484
7513
|
}
|
|
7485
7514
|
}
|
|
7486
7515
|
|
|
7487
|
-
export {
|
|
7516
|
+
export { listenBySelector as $, memoizeObjArg as A, BaseComponent as B, ContentContainer as C, DelayedRunner as D, isPropsEqual as E, Emitter as F, rangeContainsMarker as G, createEmptyEventStore as H, reduceEventStore as I, rezoneEventStoreDates as J, mergeRawOptions as K, BASE_OPTION_REFINERS as L, CALENDAR_LISTENER_REFINERS as M, CALENDAR_OPTION_REFINERS as N, COMPLEX_OPTION_COMPARATORS as O, VIEW_OPTION_REFINERS as P, DateEnv as Q, DateProfileGenerator as R, createEventUi as S, Theme as T, parseBusinessHours as U, ViewContextType as V, setRef as W, Interaction as X, getElSeg as Y, elementClosest as Z, EventImpl as _, mapHash as a, preventDefault as a$, listenToHoverBySelector as a0, PureComponent as a1, buildViewContext as a2, getUniqueDomId as a3, parseInteractionSettings as a4, interactionSettingsStore as a5, NowTimer as a6, CalendarImpl as a7, flushSync as a8, CalendarRoot as a9, memoizeArraylike as aA, memoizeHashlike as aB, intersectRects as aC, pointInsideRect as aD, constrainPoint as aE, getRectCenter as aF, diffPoints as aG, translateRect as aH, compareObjs as aI, collectFromHash as aJ, findElements as aK, findDirectChildren as aL, removeElement as aM, applyStyle as aN, elementMatches as aO, getEventTargetViaRoot as aP, parseClassNames as aQ, getCanVGrowWithinCell as aR, mergeEventStores as aS, getRelevantEvents as aT, eventTupleToStore as aU, combineEventUis as aV, Splitter as aW, getDayClassNames as aX, getDateMeta as aY, getSlotClassNames as aZ, buildNavLinkAttrs as a_, RenderId as aa, ensureElHasStyles as ab, applyStyleProp as ac, sliceEventStore as ad, JsonRequestError as ae, createContext as af, refineProps as ag, createEventInstance as ah, parseEventDef as ai, refineEventDef as aj, padStart as ak, isInt as al, parseFieldSpecs as am, compareByFieldSpecs as an, flexibleCompare as ao, preventSelection as ap, allowSelection as aq, preventContextMenu as ar, allowContextMenu as as, compareNumbers as at, enableCursor as au, disableCursor as av, computeVisibleDayRange as aw, isMultiDayRange as ax, diffDates as ay, removeExact as az, buildViewClassNames as b, renderMicroColGroup as b$, whenTransitionDone as b0, computeInnerRect as b1, computeEdges as b2, getClippingParents as b3, computeRect as b4, rangesEqual as b5, rangesIntersect as b6, rangeContainsRange as b7, PositionCache as b8, ScrollController as b9, getEntrySpanEnd as bA, binarySearch as bB, groupIntersectingEntries as bC, intersectSpans as bD, interactionSettingsToStore as bE, ElementDragging as bF, config as bG, parseDragMeta as bH, DayHeader as bI, computeFallbackHeaderFormat as bJ, TableDateCell as bK, TableDowCell as bL, DaySeriesModel as bM, hasBgRendering as bN, buildSegTimeText as bO, sortEventSegs as bP, getSegMeta as bQ, buildEventRangeKey as bR, getSegAnchorAttrs as bS, DayTableModel as bT, Slicer as bU, applyMutationToEventStore as bV, isPropsValid as bW, isInteractionValid as bX, isDateSelectionValid as bY, SimpleScrollGrid as bZ, hasShrinkWidth as b_, ElementScrollController as ba, WindowScrollController as bb, DateComponent as bc, isDateSpansEqual as bd, addMs as be, addWeeks as bf, diffWeeks as bg, diffWholeWeeks as bh, diffDayAndTime as bi, diffDays as bj, isValidDate as bk, asCleanDays as bl, multiplyDuration as bm, addDurations as bn, asRoughMinutes as bo, asRoughSeconds as bp, asRoughMs as bq, wholeDivideDurations as br, formatIsoTimeString as bs, formatDayString as bt, buildIsoString as bu, formatIsoMonthStr as bv, NamedTimeZoneImpl as bw, parse as bx, SegHierarchy as by, buildEntryKey as bz, greatestDurationDenominator as c, getScrollGridClassNames as c0, getSectionClassNames as c1, getSectionHasLiquidHeight as c2, getAllowYScrolling as c3, renderChunkContent as c4, computeShrinkWidth as c5, sanitizeShrinkWidth as c6, isColPropsEqual as c7, renderScrollShim as c8, getStickyFooterScrollbar as c9, getStickyHeaderDates as ca, Scroller as cb, getScrollbarWidths as cc, RefMap as cd, getIsRtlScrollbarOnLeft as ce, ScrollResponder as cf, StandardEvent as cg, NowIndicatorContainer as ch, DayCellContainer as ci, hasCustomDayCellContent as cj, EventContainer as ck, renderFill as cl, BgEvent as cm, WeekNumberContainer as cn, MoreLinkContainer as co, computeEarliestSegStart as cp, ViewContainer as cq, triggerDateSelect as cr, getDefaultEventEnd as cs, injectStyles as ct, buildElAttrs as cu, CustomRenderingStore as cv, createDuration as d, BASE_OPTION_DEFAULTS as e, arrayToHash as f, guid as g, filterHash as h, isArraysEqual as i, buildEventSourceRefiners as j, formatWithOrdinals as k, buildRangeApiWithTimeZone as l, mergeProps as m, identity as n, intersectRanges as o, parseEventSource as p, startOfDay as q, requestJson as r, subtractDurations as s, addDays as t, unpromisify as u, hashValuesToArray as v, buildEventApis as w, createFormatter as x, diffWholeDays as y, memoize as z };
|
package/internal.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { e as BASE_OPTION_DEFAULTS, B as BaseComponent,
|
|
1
|
+
export { e as BASE_OPTION_DEFAULTS, B as BaseComponent, cm as BgEvent, a7 as CalendarImpl, a9 as CalendarRoot, C as ContentContainer, cv as CustomRenderingStore, bc as DateComponent, Q as DateEnv, R as DateProfileGenerator, ci as DayCellContainer, bI as DayHeader, bM as DaySeriesModel, bT as DayTableModel, D as DelayedRunner, bF as ElementDragging, ba as ElementScrollController, F as Emitter, ck as EventContainer, _ as EventImpl, X as Interaction, co as MoreLinkContainer, bw as NamedTimeZoneImpl, ch as NowIndicatorContainer, a6 as NowTimer, b8 as PositionCache, cd as RefMap, b9 as ScrollController, cf as ScrollResponder, cb as Scroller, by as SegHierarchy, bZ as SimpleScrollGrid, bU as Slicer, aW as Splitter, cg as StandardEvent, bK as TableDateCell, bL as TableDowCell, T as Theme, cq as ViewContainer, V as ViewContextType, cn as WeekNumberContainer, bb as WindowScrollController, t as addDays, bn as addDurations, be as addMs, bf as addWeeks, as as allowContextMenu, aq as allowSelection, bV as applyMutationToEventStore, aN as applyStyle, bl as asCleanDays, bo as asRoughMinutes, bq as asRoughMs, bp as asRoughSeconds, bB as binarySearch, cu as buildElAttrs, bz as buildEntryKey, w as buildEventApis, bR as buildEventRangeKey, bu as buildIsoString, a_ as buildNavLinkAttrs, bO as buildSegTimeText, aJ as collectFromHash, aV as combineEventUis, an as compareByFieldSpecs, at as compareNumbers, aI as compareObjs, cp as computeEarliestSegStart, b2 as computeEdges, bJ as computeFallbackHeaderFormat, b1 as computeInnerRect, b4 as computeRect, c5 as computeShrinkWidth, aw as computeVisibleDayRange, bG as config, aE as constrainPoint, d as createDuration, H as createEmptyEventStore, ah as createEventInstance, S as createEventUi, x as createFormatter, ay as diffDates, bi as diffDayAndTime, bj as diffDays, aG as diffPoints, bg as diffWeeks, y as diffWholeDays, bh as diffWholeWeeks, av as disableCursor, Z as elementClosest, aO as elementMatches, au as enableCursor, aU as eventTupleToStore, h as filterHash, aL as findDirectChildren, aK as findElements, ao as flexibleCompare, bt as formatDayString, bv as formatIsoMonthStr, bs as formatIsoTimeString, c3 as getAllowYScrolling, aR as getCanVGrowWithinCell, b3 as getClippingParents, aY as getDateMeta, aX as getDayClassNames, cs as getDefaultEventEnd, Y as getElSeg, bA as getEntrySpanEnd, aP as getEventTargetViaRoot, ce as getIsRtlScrollbarOnLeft, aF as getRectCenter, aT as getRelevantEvents, c0 as getScrollGridClassNames, cc as getScrollbarWidths, c1 as getSectionClassNames, c2 as getSectionHasLiquidHeight, bS as getSegAnchorAttrs, bQ as getSegMeta, aZ as getSlotClassNames, c9 as getStickyFooterScrollbar, ca as getStickyHeaderDates, a3 as getUniqueDomId, c as greatestDurationDenominator, bC as groupIntersectingEntries, g as guid, bN as hasBgRendering, cj as hasCustomDayCellContent, b_ as hasShrinkWidth, n as identity, ct as injectStyles, a5 as interactionSettingsStore, bE as interactionSettingsToStore, o as intersectRanges, aC as intersectRects, bD as intersectSpans, i as isArraysEqual, c7 as isColPropsEqual, bY as isDateSelectionValid, bd as isDateSpansEqual, al as isInt, bX as isInteractionValid, ax as isMultiDayRange, E as isPropsEqual, bW as isPropsValid, bk as isValidDate, a as mapHash, z as memoize, aA as memoizeArraylike, aB as memoizeHashlike, A as memoizeObjArg, aS as mergeEventStores, bm as multiplyDuration, ak as padStart, U as parseBusinessHours, aQ as parseClassNames, bH as parseDragMeta, ai as parseEventDef, am as parseFieldSpecs, bx as parseMarker, aD as pointInsideRect, ar as preventContextMenu, a$ as preventDefault, ap as preventSelection, G as rangeContainsMarker, b7 as rangeContainsRange, b5 as rangesEqual, b6 as rangesIntersect, aj as refineEventDef, ag as refineProps, aM as removeElement, az as removeExact, c4 as renderChunkContent, cl as renderFill, b$ as renderMicroColGroup, c8 as renderScrollShim, r as requestJson, c6 as sanitizeShrinkWidth, W as setRef, ad as sliceEventStore, bP as sortEventSegs, q as startOfDay, aH as translateRect, cr as triggerDateSelect, u as unpromisify, b0 as whenTransitionDone, br as wholeDivideDurations } from './internal-common.js';
|
|
2
2
|
import 'preact';
|
|
3
3
|
import 'preact/compat';
|
package/locales/af.global.js
CHANGED
package/locales/af.global.min.js
CHANGED
package/locales/ar-dz.global.js
CHANGED
package/locales/ar-kw.global.js
CHANGED
package/locales/ar-ly.global.js
CHANGED
package/locales/ar-ma.global.js
CHANGED