@fullcalendar/core 7.0.0-beta.3 → 7.0.0-rc.0
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 +54 -50
- package/index.d.ts +0 -1
- package/index.global.js +343 -381
- package/index.global.min.js +2 -2
- package/index.js +56 -52
- package/internal-common.cjs +5202 -5244
- package/internal-common.d.ts +147 -120
- package/internal-common.js +5199 -5240
- package/internal.cjs +4 -6
- package/internal.d.ts +1 -1
- 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.cjs +1 -1
- package/locales/az.global.js +2 -2
- package/locales/az.global.min.js +2 -2
- package/locales/az.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.cjs +1 -1
- package/locales/bs.global.js +2 -2
- package/locales/bs.global.min.js +2 -2
- package/locales/bs.js +1 -1
- package/locales/ca.cjs +1 -1
- package/locales/ca.global.js +2 -2
- package/locales/ca.global.min.js +2 -2
- package/locales/ca.js +1 -1
- package/locales/cs.global.js +1 -1
- package/locales/cs.global.min.js +1 -1
- package/locales/cy.cjs +1 -1
- package/locales/cy.global.js +2 -2
- package/locales/cy.global.min.js +2 -2
- package/locales/cy.js +1 -1
- package/locales/da.cjs +1 -1
- package/locales/da.global.js +2 -2
- package/locales/da.global.min.js +2 -2
- package/locales/da.js +1 -1
- package/locales/de-at.cjs +1 -2
- package/locales/de-at.global.js +2 -3
- package/locales/de-at.global.min.js +2 -2
- package/locales/de-at.js +1 -2
- package/locales/de.cjs +1 -2
- package/locales/de.global.js +2 -3
- package/locales/de.global.min.js +2 -2
- package/locales/de.js +1 -2
- 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.cjs +1 -1
- package/locales/eo.global.js +2 -2
- package/locales/eo.global.min.js +2 -2
- package/locales/eo.js +1 -1
- package/locales/es-us.cjs +1 -1
- package/locales/es-us.global.js +2 -2
- package/locales/es-us.global.min.js +2 -2
- package/locales/es-us.js +1 -1
- package/locales/es.cjs +2 -3
- package/locales/es.global.js +3 -4
- package/locales/es.global.min.js +2 -2
- package/locales/es.js +2 -3
- package/locales/et.cjs +1 -1
- package/locales/et.global.js +2 -2
- package/locales/et.global.min.js +2 -2
- package/locales/et.js +1 -1
- package/locales/eu.cjs +1 -1
- package/locales/eu.global.js +2 -2
- package/locales/eu.global.min.js +2 -2
- package/locales/eu.js +1 -1
- package/locales/fa.global.js +1 -1
- package/locales/fa.global.min.js +1 -1
- package/locales/fi.cjs +1 -1
- package/locales/fi.global.js +2 -2
- package/locales/fi.global.min.js +2 -2
- package/locales/fi.js +1 -1
- package/locales/fr-ca.cjs +1 -1
- package/locales/fr-ca.global.js +2 -2
- package/locales/fr-ca.global.min.js +2 -2
- package/locales/fr-ca.js +1 -1
- package/locales/fr-ch.cjs +1 -1
- package/locales/fr-ch.global.js +2 -2
- package/locales/fr-ch.global.min.js +2 -2
- package/locales/fr-ch.js +1 -1
- package/locales/fr.cjs +1 -1
- package/locales/fr.global.js +2 -2
- package/locales/fr.global.min.js +2 -2
- package/locales/fr.js +1 -1
- package/locales/gl.cjs +2 -3
- package/locales/gl.global.js +3 -4
- package/locales/gl.global.min.js +2 -2
- package/locales/gl.js +2 -3
- 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.cjs +1 -1
- package/locales/hr.global.js +2 -2
- package/locales/hr.global.min.js +2 -2
- package/locales/hr.js +1 -1
- package/locales/hu.cjs +1 -1
- package/locales/hu.global.js +2 -2
- package/locales/hu.global.min.js +2 -2
- package/locales/hu.js +1 -1
- package/locales/hy-am.global.js +1 -1
- package/locales/hy-am.global.min.js +1 -1
- package/locales/id.cjs +1 -1
- package/locales/id.global.js +2 -2
- package/locales/id.global.min.js +2 -2
- package/locales/id.js +1 -1
- package/locales/is.cjs +1 -1
- package/locales/is.global.js +2 -2
- package/locales/is.global.min.js +2 -2
- package/locales/is.js +1 -1
- package/locales/it.cjs +1 -1
- package/locales/it.global.js +2 -2
- package/locales/it.global.min.js +2 -2
- package/locales/it.js +1 -1
- package/locales/ja.global.js +1 -1
- package/locales/ja.global.min.js +1 -1
- package/locales/ka.cjs +1 -1
- package/locales/ka.global.js +2 -2
- package/locales/ka.global.min.js +2 -2
- package/locales/ka.js +1 -1
- package/locales/kk.cjs +1 -1
- package/locales/kk.global.js +2 -2
- package/locales/kk.global.min.js +2 -2
- package/locales/kk.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.cjs +1 -1
- package/locales/lb.global.js +2 -2
- package/locales/lb.global.min.js +2 -2
- package/locales/lb.js +1 -1
- package/locales/lt.cjs +1 -1
- package/locales/lt.global.js +2 -2
- package/locales/lt.global.min.js +2 -2
- package/locales/lt.js +1 -1
- package/locales/lv.cjs +1 -1
- package/locales/lv.global.js +2 -2
- package/locales/lv.global.min.js +2 -2
- package/locales/lv.js +1 -1
- package/locales/mk.global.js +1 -1
- package/locales/mk.global.min.js +1 -1
- package/locales/ms.cjs +1 -1
- package/locales/ms.global.js +2 -2
- package/locales/ms.global.min.js +2 -2
- package/locales/ms.js +1 -1
- package/locales/nb.cjs +1 -1
- package/locales/nb.global.js +2 -2
- package/locales/nb.global.min.js +2 -2
- package/locales/nb.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.cjs +1 -1
- package/locales/nn.global.js +2 -2
- package/locales/nn.global.min.js +2 -2
- package/locales/nn.js +1 -1
- package/locales/pl.cjs +1 -1
- package/locales/pl.global.js +2 -2
- package/locales/pl.global.min.js +2 -2
- package/locales/pl.js +1 -1
- package/locales/pt-br.cjs +2 -3
- package/locales/pt-br.global.js +3 -4
- package/locales/pt-br.global.min.js +2 -2
- package/locales/pt-br.js +2 -3
- package/locales/pt.cjs +1 -1
- package/locales/pt.global.js +2 -2
- package/locales/pt.global.min.js +2 -2
- package/locales/pt.js +1 -1
- package/locales/ro.cjs +1 -1
- package/locales/ro.global.js +2 -2
- package/locales/ro.global.min.js +2 -2
- package/locales/ro.js +1 -1
- package/locales/ru.cjs +1 -1
- package/locales/ru.global.js +2 -2
- package/locales/ru.global.min.js +2 -2
- package/locales/ru.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.cjs +1 -1
- package/locales/sq.global.js +2 -2
- package/locales/sq.global.min.js +2 -2
- package/locales/sq.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.cjs +1 -2
- package/locales/sv.global.js +2 -3
- package/locales/sv.global.min.js +2 -2
- package/locales/sv.js +1 -2
- package/locales/ta-in.cjs +1 -1
- package/locales/ta-in.global.js +2 -2
- package/locales/ta-in.global.min.js +2 -2
- package/locales/ta-in.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.cjs +1 -1
- package/locales/uk.global.js +2 -2
- package/locales/uk.global.min.js +2 -2
- package/locales/uk.js +1 -1
- package/locales/uz-cy.cjs +1 -1
- package/locales/uz-cy.global.js +2 -2
- package/locales/uz-cy.global.min.js +2 -2
- package/locales/uz-cy.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 +44 -50
- package/locales-all.global.min.js +2 -2
- package/package.json +1 -1
- package/preact.cjs +1 -0
- package/preact.d.ts +4 -3
- package/preact.js +1 -1
package/index.global.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
FullCalendar Core v7.0.0-
|
|
2
|
+
FullCalendar Core v7.0.0-rc.0
|
|
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{display:flex;flex-direction:column;gap:1.5em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-border,.fc-border-b,.fc-border-e,.fc-border-s,.fc-border-t{border:0 solid var(--fc-border-color)}.fc-border-transparent{border-color:transparent}.fc-border{border-width:1px}.fc-border-t{border-top-width:1px}.fc-border-b{border-bottom-width:1px}.fc-direction-ltr .fc-border-s,.fc-direction-rtl .fc-border-e{border-left-width:1px}.fc-direction-ltr .fc-border-e,.fc-direction-rtl .fc-border-s{border-right-width:1px}.fc-flex-row{display:flex;flex-direction:row}.fc-flex-col{display:flex;flex-direction:column}.fc-grow{flex-grow:1}.fc-basis0,.fc-liquid{flex-basis:0}.fc-liquid{flex-grow:1;min-height:0;min-width:0}.fc-media-screen .fc-print-header,.fc-media-screen .fc-print-root{display:flex;flex-direction:column}.fc-cell{margin:0!important;padding:0!important}.fc-cell-inner{flex-shrink:0;overflow:hidden;white-space:nowrap}.fc-celldivider,.fc-rowdivider{border:0 solid var(--fc-border-color)}.fc-rowdivider{border-width:1px 0}.fc-celldivider{border-width:0 1px}.fc-celldivider,.fc-rowdivider{background:var(--fc-neutral-bg-color)}.fc-celldivider{padding-left:2px}.fc-rowdivider{padding-bottom:2px}.fc-crop{overflow:hidden}.fc-rel{position:relative}.fc-abs{position:absolute}.fc-fill{bottom:0;top:0}.fc-fill,.fc-fill-x{left:0;position:absolute;right:0}.fc-fill-y{bottom:0;position:absolute;top:0}.fc-sticky-t{position:sticky;top:0}.fc-sticky-s{left:0;position:sticky;right:0}.fc-table-header-sticky{background:var(--fc-page-bg-color);position:sticky;top:0;z-index:5}.fc-sticky-footer-scrollbar{bottom:0;position:sticky;z-index:5}.fc-sticky-footer-scrollbar>.fc-scroller{margin-top:-1px}.fc-sticky-footer-scrollbar>.fc-scroller>*{height:1px}.fc-content-box{box-sizing:content-box}.fc-offscreen{left:-10000px;position:absolute}.fc-shaded{background-color:var(--fc-neutral-bg-color)}.fc-filler{opacity:.5}.fc-padding-sm{padding:2px 4px}.fc-padding-md{padding:4px 5px}.fc-padding-lg{padding:8px}.fc-justify-center{justify-content:center}.fc-align-center{align-items:center}.fc-align-start{align-items:flex-start}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-view-outer{position:relative}.fc-view-outer-liquid,.fc-view-outer-static{display:flex;flex-direction:column}.fc-view-outer-liquid,.fc-view-outer-liquid>.fc-view,.fc-view-outer-static>.fc-view{flex-basis:0;flex-grow:1;min-height:0;min-width:0}.fc-view-outer-aspect-ratio>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.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-selected:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.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-event-inner{position:relative;z-index:2}.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-bg-event,.fc-highlight,.fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc-non-business{background:var(--fc-non-business-color)}.fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc-highlight{background:var(--fc-highlight-color)}.fc-day-disabled{background:var(--fc-neutral-bg-color)}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:flex;flex-direction:column;position:relative}.fc-h-event.fc-event-mirror{z-index:3}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-h-event .fc-event-inner{color:var(--fc-event-text-color);display:flex;flex-direction:row}.fc-h-event .fc-event-time,.fc-h-event .fc-event-title{overflow:hidden;white-space:nowrap}.fc-h-event .fc-event-title-outer{display:flex;flex-basis:0;flex-direction:row;flex-grow:1;min-height:0;min-width:0}.fc-h-event .fc-event-title{left:0;position:sticky;right: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-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:6}.fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc-popover-title{margin:0 2px}.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)}.fc-scroller{padding:0!important}.fc-scroller-no-bars{-ms-overflow-style:none;scrollbar-width:none}.fc-scroller-no-bars::-webkit-scrollbar{display:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}@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-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.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-button:hover{text-decoration:none}.fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc-button:disabled{opacity:.65}.fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.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-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:not(:disabled).fc-button-active,.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-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus,.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-toolbar{align-items:center;display:flex;flex-direction:row;gap:.75em;justify-content:space-between}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc-toolbar-section{display:flex;flex-direction:row;flex-shrink:0;gap:.75em}.fc-toolbar-title{font-size:1.75em;margin:0;white-space:nowrap}";
|
|
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{display:flex;flex-direction:column;gap:1.5em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-border,.fc-border-b,.fc-border-e,.fc-border-s,.fc-border-t{border:0 solid var(--fc-border-color)}.fc-border-transparent{border-color:transparent}.fc-border{border-width:1px}.fc-border-t{border-top-width:1px}.fc-border-b{border-bottom-width:1px}.fc-direction-ltr .fc-border-s,.fc-direction-rtl .fc-border-e{border-left-width:1px}.fc-direction-ltr .fc-border-e,.fc-direction-rtl .fc-border-s{border-right-width:1px}.fc-flex-row{display:flex;flex-direction:row}.fc-flex-col{display:flex;flex-direction:column}.fc-grow{flex-grow:1}.fc-basis0,.fc-liquid{flex-basis:0}.fc-liquid{flex-grow:1;min-height:0;min-width:0}.fc-media-screen .fc-print-header,.fc-media-screen .fc-print-root{display:flex;flex-direction:column}.fc-cell{margin:0!important;padding:0!important}.fc-cell-inner{flex-shrink:0;overflow:hidden;white-space:nowrap}.fc-celldivider,.fc-rowdivider{border:0 solid var(--fc-border-color)}.fc-rowdivider{border-width:1px 0}.fc-celldivider{border-width:0 1px}.fc-celldivider,.fc-rowdivider{background:var(--fc-neutral-bg-color)}.fc-celldivider{padding-left:2px}.fc-rowdivider{padding-bottom:2px}.fc-crop{overflow:hidden}.fc-rel{position:relative}.fc-abs{position:absolute}.fc-fill{bottom:0;top:0}.fc-fill,.fc-fill-top,.fc-fill-x{left:0;position:absolute;right:0}.fc-fill-start,.fc-fill-y{bottom:0;position:absolute;top:0}.fc-fill-top{top:0}.fc-fill-start{left:0;right:0;width:0}.fc-sticky-t{position:sticky;top:0}.fc-sticky-s{left:0;position:sticky;right:0}.fc-table-header-sticky{background:var(--fc-page-bg-color);position:sticky;top:0;z-index:3}.fc-content-box{box-sizing:content-box}.fc-offscreen{left:-10000px;position:absolute}.fc-shaded{background-color:var(--fc-neutral-bg-color)}.fc-filler{opacity:.5}.fc-padding-sm{padding:2px 4px}.fc-padding-md{padding:4px 5px}.fc-padding-lg{padding:8px}.fc-justify-center{justify-content:center}.fc-align-center{align-items:center}.fc-align-start{align-items:flex-start}.fc-footer-scrollbar-sticky{bottom:0;position:sticky;z-index:3}.fc-footer-scrollbar>.fc-scroller{margin-top:-1px}.fc-footer-scrollbar>.fc-scroller>*{height:1px}.fc-navlink{cursor:pointer}.fc-navlink:hover{text-decoration:underline}.fc-view-outer{position:relative}.fc-view-outer-liquid,.fc-view-outer-static{display:flex;flex-direction:column}.fc-view-outer-liquid,.fc-view-outer-liquid>.fc-view,.fc-view-outer-static>.fc-view{flex-basis:0;flex-grow:1;min-height:0;min-width:0}.fc-view-outer-aspect-ratio>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.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-selected:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected,.fc-event:focus:not(.fc-list-event){box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:after,.fc-event:focus:not(.fc-list-event):after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-event-inner{position:relative;z-index:2}.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-bg-event,.fc-highlight,.fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc-non-business{background:var(--fc-non-business-color)}.fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc-highlight{background:var(--fc-highlight-color)}.fc-day-disabled{background:var(--fc-neutral-bg-color)}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:flex;flex-direction:column;position:relative}.fc-h-event.fc-event-mirror{z-index:1}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-h-event .fc-event-inner{color:var(--fc-event-text-color);display:flex;flex-direction:row}.fc-h-event .fc-event-time,.fc-h-event .fc-event-title{overflow:hidden;white-space:nowrap}.fc-media-print .fc-h-event .fc-event-time,.fc-media-print .fc-h-event .fc-event-title{overflow:hidden!important;white-space:nowrap!important}.fc-h-event .fc-event-title-outer{display:flex;flex-basis:0;flex-direction:row;flex-grow:1;min-height:0;min-width:0}.fc-h-event .fc-event-title{left:0;position:sticky;right: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-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:4}.fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc-popover-title{margin:0 2px}.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)}.fc-scroller{padding:0!important}.fc-scroller-no-bars{-ms-overflow-style:none;scrollbar-width:none}.fc-scroller-no-bars::-webkit-scrollbar{display:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}@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-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc-button{-webkit-appearance:button}.fc-button:not(:disabled){cursor:pointer}.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-button:hover{text-decoration:none}.fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc-button:disabled{opacity:.65}.fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.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-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button-primary:not(:disabled).fc-button-active,.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-button-primary:not(:disabled).fc-button-active:focus,.fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc-button-group>.fc-button.fc-button-active,.fc-button-group>.fc-button:active,.fc-button-group>.fc-button:focus,.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-toolbar{align-items:center;justify-content:space-between}.fc-toolbar,.fc-toolbar-section{display:flex;flex-direction:row;gap:.75em}.fc-toolbar-section{flex-shrink:0}.fc-toolbar-title{font-size:1.75em;font-weight:700;white-space:nowrap}";
|
|
90
90
|
injectStyles(css_248z);
|
|
91
91
|
|
|
92
92
|
// Stops a mouse/touch event from doing it's native browser action
|
|
@@ -887,65 +887,6 @@ var FullCalendar = (function (exports) {
|
|
|
887
887
|
return currentRes;
|
|
888
888
|
};
|
|
889
889
|
}
|
|
890
|
-
function memoizeArraylike(// used at all?
|
|
891
|
-
workerFunc, resEquality, teardownFunc) {
|
|
892
|
-
let currentArgSets = [];
|
|
893
|
-
let currentResults = [];
|
|
894
|
-
return (newArgSets) => {
|
|
895
|
-
let currentLen = currentArgSets.length;
|
|
896
|
-
let newLen = newArgSets.length;
|
|
897
|
-
let i = 0;
|
|
898
|
-
for (; i < currentLen; i += 1) {
|
|
899
|
-
if (!newArgSets[i]) { // one of the old sets no longer exists
|
|
900
|
-
if (teardownFunc) {
|
|
901
|
-
teardownFunc(currentResults[i]);
|
|
902
|
-
}
|
|
903
|
-
}
|
|
904
|
-
else if (!isArraysEqual(currentArgSets[i], newArgSets[i])) {
|
|
905
|
-
if (teardownFunc) {
|
|
906
|
-
teardownFunc(currentResults[i]);
|
|
907
|
-
}
|
|
908
|
-
let res = workerFunc.apply(this, newArgSets[i]);
|
|
909
|
-
if (!resEquality || !resEquality(res, currentResults[i])) {
|
|
910
|
-
currentResults[i] = res;
|
|
911
|
-
}
|
|
912
|
-
}
|
|
913
|
-
}
|
|
914
|
-
for (; i < newLen; i += 1) {
|
|
915
|
-
currentResults[i] = workerFunc.apply(this, newArgSets[i]);
|
|
916
|
-
}
|
|
917
|
-
currentArgSets = newArgSets;
|
|
918
|
-
currentResults.splice(newLen); // remove excess
|
|
919
|
-
return currentResults;
|
|
920
|
-
};
|
|
921
|
-
}
|
|
922
|
-
function memoizeHashlike(workerFunc, resEquality, teardownFunc) {
|
|
923
|
-
let currentArgHash = {};
|
|
924
|
-
let currentResHash = {};
|
|
925
|
-
return (newArgHash) => {
|
|
926
|
-
let newResHash = {};
|
|
927
|
-
for (let key in newArgHash) {
|
|
928
|
-
if (!currentResHash[key]) {
|
|
929
|
-
newResHash[key] = workerFunc.apply(this, newArgHash[key]);
|
|
930
|
-
}
|
|
931
|
-
else if (!isArraysEqual(currentArgHash[key], newArgHash[key])) {
|
|
932
|
-
if (teardownFunc) {
|
|
933
|
-
teardownFunc(currentResHash[key]);
|
|
934
|
-
}
|
|
935
|
-
let res = workerFunc.apply(this, newArgHash[key]);
|
|
936
|
-
newResHash[key] = (resEquality && resEquality(res, currentResHash[key]))
|
|
937
|
-
? currentResHash[key]
|
|
938
|
-
: res;
|
|
939
|
-
}
|
|
940
|
-
else {
|
|
941
|
-
newResHash[key] = currentResHash[key];
|
|
942
|
-
}
|
|
943
|
-
}
|
|
944
|
-
currentArgHash = newArgHash;
|
|
945
|
-
currentResHash = newResHash;
|
|
946
|
-
return newResHash;
|
|
947
|
-
};
|
|
948
|
-
}
|
|
949
890
|
|
|
950
891
|
const EXTENDED_SETTINGS_AND_SEVERITIES = {
|
|
951
892
|
week: 3,
|
|
@@ -1376,7 +1317,6 @@ var FullCalendar = (function (exports) {
|
|
|
1376
1317
|
eventDataTransform: identity,
|
|
1377
1318
|
stickyHeaderDates: identity,
|
|
1378
1319
|
stickyFooterScrollbar: identity,
|
|
1379
|
-
viewHeight: identity,
|
|
1380
1320
|
defaultAllDay: Boolean,
|
|
1381
1321
|
eventSourceFailure: identity,
|
|
1382
1322
|
eventSourceSuccess: identity,
|
|
@@ -1417,6 +1357,7 @@ var FullCalendar = (function (exports) {
|
|
|
1417
1357
|
allDayContent: identity,
|
|
1418
1358
|
allDayDidMount: identity,
|
|
1419
1359
|
allDayWillUnmount: identity,
|
|
1360
|
+
timedText: String,
|
|
1420
1361
|
slotMinWidth: Number,
|
|
1421
1362
|
navLinks: Boolean,
|
|
1422
1363
|
eventTimeFormat: createFormatter,
|
|
@@ -1447,10 +1388,11 @@ var FullCalendar = (function (exports) {
|
|
|
1447
1388
|
// only used by list-view, but languages define the value, so we need it in base options
|
|
1448
1389
|
noEventsText: String,
|
|
1449
1390
|
viewHint: identity,
|
|
1391
|
+
viewChangeHint: String,
|
|
1450
1392
|
navLinkHint: identity,
|
|
1451
1393
|
closeHint: String,
|
|
1452
|
-
|
|
1453
|
-
|
|
1394
|
+
eventsHint: String,
|
|
1395
|
+
headingLevel: Number,
|
|
1454
1396
|
moreLinkClick: identity,
|
|
1455
1397
|
moreLinkClassNames: identity,
|
|
1456
1398
|
moreLinkContent: identity,
|
|
@@ -1515,6 +1457,7 @@ var FullCalendar = (function (exports) {
|
|
|
1515
1457
|
eventMinWidth: 30,
|
|
1516
1458
|
eventShortHeight: 30,
|
|
1517
1459
|
monthStartFormat: { month: 'long', day: 'numeric' },
|
|
1460
|
+
headingLevel: 2, // like H2
|
|
1518
1461
|
};
|
|
1519
1462
|
// calendar listeners
|
|
1520
1463
|
// ------------------
|
|
@@ -2392,36 +2335,31 @@ var FullCalendar = (function (exports) {
|
|
|
2392
2335
|
};
|
|
2393
2336
|
}
|
|
2394
2337
|
function getDayClassName(meta) {
|
|
2395
|
-
return joinClassNames('fc-day',
|
|
2338
|
+
return joinClassNames('fc-day', meta.isDisabled
|
|
2396
2339
|
? 'fc-day-disabled'
|
|
2397
|
-
: joinClassNames(meta.isToday && 'fc-day-today', meta.isPast && 'fc-day-past', meta.isFuture && 'fc-day-future', meta.isOther && 'fc-day-other'));
|
|
2340
|
+
: joinClassNames(`fc-day-${DAY_IDS[meta.dow]}`, meta.isToday && 'fc-day-today', meta.isPast && 'fc-day-past', meta.isFuture && 'fc-day-future', meta.isOther && 'fc-day-other'));
|
|
2398
2341
|
}
|
|
2399
2342
|
function getSlotClassName(meta) {
|
|
2400
|
-
return joinClassNames('fc-slot',
|
|
2343
|
+
return joinClassNames('fc-slot', meta.isDisabled
|
|
2401
2344
|
? 'fc-slot-disabled'
|
|
2402
|
-
: joinClassNames(meta.isToday && 'fc-slot-today', meta.isPast && 'fc-slot-past', meta.isFuture && 'fc-slot-future'));
|
|
2345
|
+
: joinClassNames(`fc-slot-${DAY_IDS[meta.dow]}`, meta.isToday && 'fc-slot-today', meta.isPast && 'fc-slot-past', meta.isFuture && 'fc-slot-future'));
|
|
2403
2346
|
}
|
|
2404
2347
|
|
|
2405
2348
|
function isDimsEqual(v0, v1) {
|
|
2406
2349
|
return v0 != null && (v0 === v1 || Math.abs(v0 - v1) < 0.01);
|
|
2407
2350
|
}
|
|
2408
2351
|
|
|
2409
|
-
var n,l$1,u$1,t,i$1,o,r$1,f$1,e$1,c$1,s$1,a$1,h={},p=[],v$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w$1(n){var l=n.parentNode;l&&l.removeChild(n);}function _(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g$1(l,f,i,o,null)}function g$1(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u$1:r,__i:-1,__u:0};return null==r&&null!=l$1.vnode&&l$1.vnode(f),f}function m$1(){return {current:null}}function k$1(n){return n.children}function b(n,l){this.props=n,this.context=l;}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?x(n):null}function C$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C$1(n)}}function M$1(n){(!n.__d&&(n.__d=!0)&&i$1.push(n)&&!P$1.__r++||o!==l$1.debounceRendering)&&((o=l$1.debounceRendering)||r$1)(P$1);}function P$1(){var n,u,t,o,r,e,c,s;for(i$1.sort(f$1);n=i$1.shift();)n.__d&&(u=i$1.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l$1.vnode&&l$1.vnode(o),O$1(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j$2(c,o,s),o.__e!=e&&C$1(o)),i$1.length>u&&i$1.sort(f$1));P$1.__r=0;}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$$1(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&"boolean"!=typeof y&&"function"!=typeof y&&(v=-1===y.__i?h:_[y.__i]||h,y.__i=a,O$1(n,y,v,i,o,r,f,e,c,s),d=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N(v.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||v.__k===y.__k?e=I(y,e,n):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w;}function $$1(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)r=t+a,null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g$1(null,i,null,null,null):y(i)?g$1(k$1,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g$1(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L$1(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a=f-r:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f<r&&a++,f!==t+a&&(i.__u|=65536))):(o=u[r])&&null==o.key&&o.__e&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o,!1),u[r]=null,s--);if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o));}function I(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8===l.nodeType);return l}function H$1(n,l){return l=l||[],null==n||"boolean"==typeof n||(y(n)?n.some(function(n){H$1(n,l);}):l.push(n)),l}function L$1(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++;}}return -1}function T$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||v$1.test(l)?u:u+"px";}function A$1(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||T$1(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||T$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,"$1")),l=l.toLowerCase()in n||"onFocusOut"===l||"onFocusIn"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e$1,n.addEventListener(l,o?s$1:c$1,o)):n.removeEventListener(l,o?s$1:c$1,o);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e$1++;else if(u.t<t.u)return;return t(l$1.event?l$1.event(u):u)}}}function O$1(n,u,t,i,o,r,f,e,c,s){var a,h,p,v,w,_,g,m,x,C,M,P,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l$1.__b)&&a(u);n:if("function"==typeof T)try{if(m=u.props,x="prototype"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,M):(u.__c=h=new b(m,M),h.constructor=T,h.render=q),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),v=h.props,w=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&m!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,M)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),P=0;P<h._sb.length;P++)h.__h.push(h._sb[P]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,M),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,w,_);});}if(h.context=M,h.props=m,h.__P=n,h.__e=!1,$=l$1.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[];}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,w)),S(n,y(L=null!=a&&a.type===k$1&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:32;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e;}else u.__e=t.__e,u.__k=t.__k;l$1.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z$2(t.__e,u,t,i,o,r,f,c,s);(a=l$1.diffed)&&a(u);}function j$2(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function z$2(l,u,t,i,o,r,f,e,c){var s,a,p,v,d,_,g,m=t.props,k=u.props,b=u.type;if("svg"===b?o="http://www.w3.org/2000/svg":"math"===b?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=r)for(s=0;s<r.length;s++)if((d=r[s])&&"setAttribute"in d==!!b&&(b?d.localName===b:3===d.nodeType)){l=d,r[s]=null;break}if(null==l){if(null===b)return document.createTextNode(k);l=document.createElementNS(o,b,k.is&&k),r=null,e=!1;}if(null===b)m===k||e&&l.data===k||(l.data=k);else {if(r=r&&n.call(l.childNodes),m=t.props||h,!e&&null!=r)for(m={},s=0;s<l.attributes.length;s++)m[(d=l.attributes[s]).name]=d.value;for(s in m)if(d=m[s],"children"==s);else if("dangerouslySetInnerHTML"==s)p=d;else if("key"!==s&&!(s in k)){if("value"==s&&"defaultValue"in k||"checked"==s&&"defaultChecked"in k)continue;A$1(l,s,null,d,o);}for(s in k)d=k[s],"children"==s?v=d:"dangerouslySetInnerHTML"==s?a=d:"value"==s?_=d:"checked"==s?g=d:"key"===s||e&&"function"!=typeof d||m[s]===d||A$1(l,s,d,m[s],o);if(a)e||p&&(a.__html===p.__html||a.__html===l.innerHTML)||(l.innerHTML=a.__html),u.__k=[];else if(p&&(l.innerHTML=""),S(l,y(v)?v:[v],u,t,i,"foreignObject"===b?"http://www.w3.org/1999/xhtml":o,r,f,r?r[0]:t.__k&&x(t,0),e,c),null!=r)for(s=r.length;s--;)null!=r[s]&&w$1(r[s]);e||(s="value",void 0!==_&&(_!==l[s]||"progress"===b&&!_||"option"===b&&_!==m[s])&&A$1(l,s,_,m[s],o),s="checked",void 0!==g&&g!==l[s]&&A$1(l,s,g,m[s],o));}return l}function N(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l$1.__e(n,t);}}function V$1(n,u,t){var i,o;if(l$1.unmount&&l$1.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$1.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V$1(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||w$1(n.__e),n.__c=n.__=n.__e=n.__d=void 0;}function q(n,l,u){return this.constructor(n,u)}function B$2(u,t,i){var o,r,f,e;l$1.__&&l$1.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O$1(t,u=(!o&&i||t).__k=_(k$1,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j$2(f,u,e);}function D$1(n,l){B$2(n,l,D$1);}function E$1(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)"key"==r?i=u[r]:"ref"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),g$1(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l="__cC"+a$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null;},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l$1={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u$1=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M$1(this));},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M$1(this));},b.prototype.render=k$1,i$1=[],r$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f$1=function(n,l){return n.__v.__b-l.__v.__b},P$1.__r=0,e$1=0,c$1=F(!1),s$1=F(!0),a$1=0;
|
|
2352
|
+
var n,l$1,u$1,t,i$1,o,r$1,f$1,e$1,c$1,s$1,a$1,h={},p=[],v$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,y=Array.isArray;function d(n,l){for(var u in l)n[u]=l[u];return n}function w$1(n){var l=n.parentNode;l&&l.removeChild(n);}function _(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return g$1(l,f,i,o,null)}function g$1(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++u$1:r,__i:-1,__u:0};return null==r&&null!=l$1.vnode&&l$1.vnode(f),f}function m$1(){return {current:null}}function k$1(n){return n.children}function b(n,l){this.props=n,this.context=l;}function x(n,l){if(null==l)return n.__?x(n.__,n.__i+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?x(n):null}function C$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return C$1(n)}}function M$1(n){(!n.__d&&(n.__d=!0)&&i$1.push(n)&&!P$1.__r++||o!==l$1.debounceRendering)&&((o=l$1.debounceRendering)||r$1)(P$1);}function P$1(){var n,u,t,o,r,e,c,s;for(i$1.sort(f$1);n=i$1.shift();)n.__d&&(u=i$1.length,o=void 0,e=(r=(t=n).__v).__e,c=[],s=[],t.__P&&((o=d({},r)).__v=r.__v+1,l$1.vnode&&l$1.vnode(o),O$1(t.__P,o,r,t.__n,t.__P.namespaceURI,32&r.__u?[e]:null,c,null==e?x(r):e,!!(32&r.__u),s),o.__v=r.__v,o.__.__k[o.__i]=o,j$2(c,o,s),o.__e!=e&&C$1(o)),i$1.length>u&&i$1.sort(f$1));P$1.__r=0;}function S(n,l,u,t,i,o,r,f,e,c,s){var a,v,y,d,w,_=t&&t.__k||p,g=l.length;for(u.__d=e,$$1(u,l,_),e=u.__d,a=0;a<g;a++)null!=(y=u.__k[a])&&"boolean"!=typeof y&&"function"!=typeof y&&(v=-1===y.__i?h:_[y.__i]||h,y.__i=a,O$1(n,y,v,i,o,r,f,e,c,s),d=y.__e,y.ref&&v.ref!=y.ref&&(v.ref&&N(v.ref,null,y),s.push(y.ref,y.__c||d,y)),null==w&&null!=d&&(w=d),65536&y.__u||v.__k===y.__k?e=I(y,e,n):"function"==typeof y.type&&void 0!==y.__d?e=y.__d:d&&(e=d.nextSibling),y.__d=void 0,y.__u&=-196609);u.__d=e,u.__e=w;}function $$1(n,l,u){var t,i,o,r,f,e=l.length,c=u.length,s=c,a=0;for(n.__k=[],t=0;t<e;t++)r=t+a,null!=(i=n.__k[t]=null==(i=l[t])||"boolean"==typeof i||"function"==typeof i?null:"string"==typeof i||"number"==typeof i||"bigint"==typeof i||i.constructor==String?g$1(null,i,null,null,null):y(i)?g$1(k$1,{children:i},null,null,null):void 0===i.constructor&&i.__b>0?g$1(i.type,i.props,i.key,i.ref?i.ref:null,i.__v):i)?(i.__=n,i.__b=n.__b+1,f=L$1(i,u,r,s),i.__i=f,o=null,-1!==f&&(s--,(o=u[f])&&(o.__u|=131072)),null==o||null===o.__v?(-1==f&&a--,"function"!=typeof i.type&&(i.__u|=65536)):f!==r&&(f==r-1?a--:f==r+1?a++:f>r?s>e-r?a+=f-r:a--:f<r&&(f==r-a?a-=f-r:a++),f!==t+a&&(i.__u|=65536))):(o=u[r])&&null==o.key&&o.__e&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o,!1),u[r]=null,s--);if(s)for(t=0;t<c;t++)null!=(o=u[t])&&0==(131072&o.__u)&&(o.__e==n.__d&&(n.__d=x(o)),V$1(o,o));}function I(n,l,u){var t,i;if("function"==typeof n.type){for(t=n.__k,i=0;t&&i<t.length;i++)t[i]&&(t[i].__=n,l=I(t[i],l,u));return l}n.__e!=l&&(l&&n.type&&!u.contains(l)&&(l=x(n)),u.insertBefore(n.__e,l||null),l=n.__e);do{l=l&&l.nextSibling;}while(null!=l&&8===l.nodeType);return l}function H$1(n,l){return l=l||[],null==n||"boolean"==typeof n||(y(n)?n.some(function(n){H$1(n,l);}):l.push(n)),l}function L$1(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type&&0==(131072&e.__u))return u;if(t>(null!=e&&0==(131072&e.__u)?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&0==(131072&e.__u)&&i==e.key&&o===e.type)return f;f++;}}return -1}function T$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||v$1.test(l)?u:u+"px";}function A$1(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||T$1(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||T$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/i,"$1")),l=l.toLowerCase()in n||"onFocusOut"===l||"onFocusIn"===l?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t?u.u=t.u:(u.u=e$1,n.addEventListener(l,o?s$1:c$1,o)):n.removeEventListener(l,o?s$1:c$1,o);else {if("http://www.w3.org/2000/svg"==i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!=l&&"height"!=l&&"href"!=l&&"list"!=l&&"form"!=l&&"tabIndex"!=l&&"download"!=l&&"rowSpan"!=l&&"colSpan"!=l&&"role"!=l&&"popover"!=l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,"popover"==l&&1==u?"":u));}}function F(n){return function(u){if(this.l){var t=this.l[u.type+n];if(null==u.t)u.t=e$1++;else if(u.t<t.u)return;return t(l$1.event?l$1.event(u):u)}}}function O$1(n,u,t,i,o,r,f,e,c,s){var a,h,p,v,w,_,g,m,x,C,M,P,$,I,H,L,T=u.type;if(void 0!==u.constructor)return null;128&t.__u&&(c=!!(32&t.__u),r=[e=u.__e=t.__e]),(a=l$1.__b)&&a(u);n:if("function"==typeof T)try{if(m=u.props,x="prototype"in T&&T.prototype.render,C=(a=T.contextType)&&i[a.__c],M=a?C?C.props.value:a.__:i,t.__c?g=(h=u.__c=t.__c).__=h.__E:(x?u.__c=h=new T(m,M):(u.__c=h=new b(m,M),h.constructor=T,h.render=q),C&&C.sub(h),h.props=m,h.state||(h.state={}),h.context=M,h.__n=i,p=h.__d=!0,h.__h=[],h._sb=[]),x&&null==h.__s&&(h.__s=h.state),x&&null!=T.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=d({},h.__s)),d(h.__s,T.getDerivedStateFromProps(m,h.__s))),v=h.props,w=h.state,h.__v=u,p)x&&null==T.getDerivedStateFromProps&&null!=h.componentWillMount&&h.componentWillMount(),x&&null!=h.componentDidMount&&h.__h.push(h.componentDidMount);else {if(x&&null==T.getDerivedStateFromProps&&m!==v&&null!=h.componentWillReceiveProps&&h.componentWillReceiveProps(m,M),!h.__e&&(null!=h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(m,h.__s,M)||u.__v===t.__v)){for(u.__v!==t.__v&&(h.props=m,h.state=h.__s,h.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),P=0;P<h._sb.length;P++)h.__h.push(h._sb[P]);h._sb=[],h.__h.length&&f.push(h);break n}null!=h.componentWillUpdate&&h.componentWillUpdate(m,h.__s,M),x&&null!=h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(v,w,_);});}if(h.context=M,h.props=m,h.__P=n,h.__e=!1,$=l$1.__r,I=0,x){for(h.state=h.__s,h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),H=0;H<h._sb.length;H++)h.__h.push(h._sb[H]);h._sb=[];}else do{h.__d=!1,$&&$(u),a=h.render(h.props,h.state,h.context),h.state=h.__s;}while(h.__d&&++I<25);h.state=h.__s,null!=h.getChildContext&&(i=d(d({},i),h.getChildContext())),x&&!p&&null!=h.getSnapshotBeforeUpdate&&(_=h.getSnapshotBeforeUpdate(v,w)),S(n,y(L=null!=a&&a.type===k$1&&null==a.key?a.props.children:a)?L:[L],u,t,i,o,r,f,e,c,s),h.base=u.__e,u.__u&=-161,h.__h.length&&f.push(h),g&&(h.__E=h.__=null);}catch(n){if(u.__v=null,c||null!=r){for(u.__u|=c?160:32;e&&8===e.nodeType&&e.nextSibling;)e=e.nextSibling;r[r.indexOf(e)]=null,u.__e=e;}else u.__e=t.__e,u.__k=t.__k;l$1.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=z$2(t.__e,u,t,i,o,r,f,c,s);(a=l$1.diffed)&&a(u);}function j$2(n,u,t){u.__d=void 0;for(var i=0;i<t.length;i++)N(t[i],t[++i],t[++i]);l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function z$2(l,u,t,i,o,r,f,e,c){var s,a,p,v,d,_,g,m=t.props,k=u.props,b=u.type;if("svg"===b?o="http://www.w3.org/2000/svg":"math"===b?o="http://www.w3.org/1998/Math/MathML":o||(o="http://www.w3.org/1999/xhtml"),null!=r)for(s=0;s<r.length;s++)if((d=r[s])&&"setAttribute"in d==!!b&&(b?d.localName===b:3===d.nodeType)){l=d,r[s]=null;break}if(null==l){if(null===b)return document.createTextNode(k);l=document.createElementNS(o,b,k.is&&k),r=null,e=!1;}if(null===b)m===k||e&&l.data===k||(l.data=k);else {if(r=r&&n.call(l.childNodes),m=t.props||h,!e&&null!=r)for(m={},s=0;s<l.attributes.length;s++)m[(d=l.attributes[s]).name]=d.value;for(s in m)if(d=m[s],"children"==s);else if("dangerouslySetInnerHTML"==s)p=d;else if("key"!==s&&!(s in k)){if("value"==s&&"defaultValue"in k||"checked"==s&&"defaultChecked"in k)continue;A$1(l,s,null,d,o);}for(s in k)d=k[s],"children"==s?v=d:"dangerouslySetInnerHTML"==s?a=d:"value"==s?_=d:"checked"==s?g=d:"key"===s||e&&"function"!=typeof d||m[s]===d||A$1(l,s,d,m[s],o);if(a)e||p&&(a.__html===p.__html||a.__html===l.innerHTML)||(l.innerHTML=a.__html),u.__k=[];else if(p&&(l.innerHTML=""),S(l,y(v)?v:[v],u,t,i,"foreignObject"===b?"http://www.w3.org/1999/xhtml":o,r,f,r?r[0]:t.__k&&x(t,0),e,c),null!=r)for(s=r.length;s--;)null!=r[s]&&w$1(r[s]);e||(s="value",void 0!==_&&(_!==l[s]||"progress"===b&&!_||"option"===b&&_!==m[s])&&A$1(l,s,_,m[s],o),s="checked",void 0!==g&&g!==l[s]&&A$1(l,s,g,m[s],o));}return l}function N(n,u,t){try{if("function"==typeof n){var i="function"==typeof n.__u;i&&n.__u(),i&&null==u||(n.__u=n(u));}else n.current=u;}catch(n){l$1.__e(n,t);}}function V$1(n,u,t){var i,o;if(l$1.unmount&&l$1.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||N(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$1.__e(n,u);}i.base=i.__P=null;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&V$1(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||w$1(n.__e),n.__c=n.__=n.__e=n.__d=void 0;}function q(n,l,u){return this.constructor(n,u)}function B$2(u,t,i){var o,r,f,e;l$1.__&&l$1.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],O$1(t,u=(!o&&i||t).__k=_(k$1,null,[u]),r||h,h,t.namespaceURI,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),j$2(f,u,e);}function D$1(n,l){B$2(n,l,D$1);}function E$1(l,u,t){var i,o,r,f,e=d({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)"key"==r?i=u[r]:"ref"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),g$1(l.type,e,i||l.key,o||l.ref,null)}function G(n,l){var u={__c:l="__cC"+a$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null;},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,M$1(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=p.slice,l$1={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u$1=0,t=function(n){return null!=n&&null==n.constructor},b.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof n&&(n=n(d({},u),this.props)),n&&d(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M$1(this));},b.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M$1(this));},b.prototype.render=k$1,i$1=[],r$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f$1=function(n,l){return n.__v.__b-l.__v.__b},P$1.__r=0,e$1=0,c$1=F(!1),s$1=F(!0),a$1=0;
|
|
2410
2353
|
|
|
2411
2354
|
var r,u,i,f=[],c=l$1,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function j$1(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z$1),n.__H.__h.forEach(B$1),n.__H.__h=[];}catch(t){n.__H.__h=[],c.__e(t,n.__v);}}c.__b=function(n){r=null,e&&e(n);},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t);},c.__r=function(n){a&&a(n);var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0;})):(i.__h.forEach(z$1),i.__h.forEach(B$1),i.__h=[],0)),u=r;},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j$1)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0;})),u=r=null;},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z$1),n.__h=n.__h.filter(function(n){return !n.__||B$1(n)});}catch(r){t.some(function(n){n.__h&&(n.__h=[]);}),t=[],c.__e(r,n.__v);}}),l&&l(n,t);},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z$1(n);}catch(n){t=n;}}),r.__H=void 0,t&&c.__e(t,r.__v));};var k="function"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n);},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r));}function z$1(n){var t=r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),r=t;}function B$1(n){var t=r;n.__c=n.__(),r=t;}
|
|
2412
2355
|
|
|
2413
|
-
function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function C(n,t){this.props=n,this.context=t;}(C.prototype=new b).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=l$1.__b;l$1.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n);};var M=l$1.__e;l$1.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r);};var T=l$1.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null;}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function U(){this.u=null,this.o=null;}l$1.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n);},(L.prototype=new b).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c());};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate();}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},L.prototype.componentWillUnmount=function(){this.t=[];},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&_(k$1,null,n.fallback);return i&&(i.__u&=-33),[_(k$1,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2];}};function W(n){return this.getChildContext=function(){return n.context},n.children}function P(n){var e=this,r=n.i;e.componentWillUnmount=function(){B$2(null,e.l),e.l=null,e.i=null;},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],contains:function(){return !0},appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n);},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n);}}),B$2(_(W,{context:e.context},n.__v),e.l);}function j(n,e){var r=_(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new b).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u();};e?e(o):o();}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=H$1(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t);});};var z="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y="undefined"!=typeof document,$=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};b.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(b.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var J=l$1.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}l$1.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=l$1.vnode;l$1.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={};for(var
|
|
2356
|
+
function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function C(n,t){this.props=n,this.context=t;}(C.prototype=new b).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=l$1.__b;l$1.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n);};var M=l$1.__e;l$1.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r);};var T=l$1.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null;}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function U(){this.u=null,this.o=null;}l$1.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n);},(L.prototype=new b).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c());};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate();}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},L.prototype.componentWillUnmount=function(){this.t=[];},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&_(k$1,null,n.fallback);return i&&(i.__u&=-33),[_(k$1,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2];}};function W(n){return this.getChildContext=function(){return n.context},n.children}function P(n){var e=this,r=n.i;e.componentWillUnmount=function(){B$2(null,e.l),e.l=null,e.i=null;},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],contains:function(){return !0},appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n);},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n);}}),B$2(_(W,{context:e.context},n.__v),e.l);}function j(n,e){var r=_(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new b).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u();};e?e(o):o();}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=H$1(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t);});};var z="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y="undefined"!=typeof document,$=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};b.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(b.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var J=l$1.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}l$1.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=l$1.vnode;l$1.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf("-");for(var i in t){var c=t[i];if(!("value"===i&&"defaultValue"in t&&null==c||Y&&"children"===i&&"noscript"===e||"class"===i||"className"===i)){var l=i.toLowerCase();"defaultValue"===i&&"value"in t&&null==t.value?i="value":"download"===i&&!0===c?c="":"translate"===l&&"no"===c?c=!1:"o"===l[0]&&"n"===l[1]?"ondoubleclick"===l?i="ondblclick":"onchange"!==l||"input"!==e&&"textarea"!==e||$(t.type)?"onfocus"===l?i="onfocusin":"onblur"===l?i="onfocusout":H.test(i)&&(i=l):l=i="oninput":o&&B.test(i)?i=i.replace(Z,"-$&").toLowerCase():null===c&&(c=void 0),"oninput"===l&&u[i=l]&&(i="oninputCapture"),u[i]=c;}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=H$1(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value);})),"select"==e&&null!=u.defaultValue&&(u.value=H$1(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value;})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",tn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u;}(n),n.$$typeof=z,en&&en(n);};var rn=l$1.__r;l$1.__r=function(n){rn&&rn(n),n.__c;};var un=l$1.diffed;l$1.diffed=function(n){un&&un(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value);};
|
|
2414
2357
|
|
|
2415
2358
|
/*
|
|
2416
|
-
|
|
2417
|
-
|
|
2418
|
-
*/
|
|
2419
|
-
/*
|
|
2420
|
-
HACK for flushSync being a noop:
|
|
2421
|
-
https://github.com/preactjs/preact/issues/3929
|
|
2359
|
+
Like flushSync, but flushes ALL pending updates, not only those initiated in a callback
|
|
2360
|
+
BTW, flushSync doesn't work in Preact: https://github.com/preactjs/preact/issues/3929
|
|
2422
2361
|
*/
|
|
2423
|
-
function
|
|
2424
|
-
renderActionToFlush();
|
|
2362
|
+
function flushUpdates() {
|
|
2425
2363
|
let oldDebounceRendering = l$1.debounceRendering; // orig
|
|
2426
2364
|
let callbackQ = [];
|
|
2427
2365
|
function execCallbackSync(callback) {
|
|
@@ -2434,6 +2372,10 @@ var FullCalendar = (function (exports) {
|
|
|
2434
2372
|
}
|
|
2435
2373
|
l$1.debounceRendering = oldDebounceRendering;
|
|
2436
2374
|
}
|
|
2375
|
+
function flushSync(f) {
|
|
2376
|
+
f();
|
|
2377
|
+
flushUpdates();
|
|
2378
|
+
}
|
|
2437
2379
|
/*
|
|
2438
2380
|
Triggers a state-change which unclogs the render queue? Needed?
|
|
2439
2381
|
*/
|
|
@@ -2441,43 +2383,12 @@ var FullCalendar = (function (exports) {
|
|
|
2441
2383
|
render() { return _('div', {}); }
|
|
2442
2384
|
componentDidMount() { this.setState({}); }
|
|
2443
2385
|
}
|
|
2444
|
-
|
|
2445
|
-
HACK for Preact wrongly calling shouldComponentUpdate during context changes:
|
|
2446
|
-
https://github.com/preactjs/preact/issues/2510
|
|
2447
|
-
*/
|
|
2448
|
-
function createContext(defaultValue) {
|
|
2449
|
-
let ContextType = G(defaultValue);
|
|
2450
|
-
let origProvider = ContextType.Provider;
|
|
2451
|
-
ContextType.Provider = function () {
|
|
2452
|
-
let isNew = !this.getChildContext;
|
|
2453
|
-
let children = origProvider.apply(this, arguments); // eslint-disable-line prefer-rest-params
|
|
2454
|
-
if (isNew) {
|
|
2455
|
-
let subs = [];
|
|
2456
|
-
this.shouldComponentUpdate = (_props) => {
|
|
2457
|
-
if (this.props.value !== _props.value) {
|
|
2458
|
-
subs.forEach((c) => {
|
|
2459
|
-
c.context = _props.value;
|
|
2460
|
-
c.forceUpdate();
|
|
2461
|
-
});
|
|
2462
|
-
}
|
|
2463
|
-
};
|
|
2464
|
-
this.sub = (c) => {
|
|
2465
|
-
subs.push(c);
|
|
2466
|
-
let old = c.componentWillUnmount;
|
|
2467
|
-
c.componentWillUnmount = () => {
|
|
2468
|
-
subs.splice(subs.indexOf(c), 1);
|
|
2469
|
-
old && old.call(c);
|
|
2470
|
-
};
|
|
2471
|
-
};
|
|
2472
|
-
}
|
|
2473
|
-
return children;
|
|
2474
|
-
};
|
|
2475
|
-
return ContextType;
|
|
2476
|
-
}
|
|
2386
|
+
const createContext = G;
|
|
2477
2387
|
const preactOptions = l$1;
|
|
2478
2388
|
|
|
2479
2389
|
var preact = {
|
|
2480
2390
|
__proto__: null,
|
|
2391
|
+
flushUpdates: flushUpdates,
|
|
2481
2392
|
flushSync: flushSync,
|
|
2482
2393
|
createContext: createContext,
|
|
2483
2394
|
preactOptions: preactOptions,
|
|
@@ -2522,21 +2433,15 @@ var FullCalendar = (function (exports) {
|
|
|
2522
2433
|
so we can skip this.
|
|
2523
2434
|
*/
|
|
2524
2435
|
function checkConfigMap() {
|
|
2436
|
+
let anyDirty = true;
|
|
2525
2437
|
if (!isHandling) {
|
|
2526
2438
|
isHandling = true;
|
|
2527
2439
|
const dirtyConfigs = [];
|
|
2528
2440
|
for (const [el, config] of configMap.entries()) {
|
|
2529
|
-
|
|
2530
|
-
let height;
|
|
2531
|
-
if (config.client) {
|
|
2532
|
-
width = el.clientWidth;
|
|
2533
|
-
height = el.clientHeight;
|
|
2534
|
-
}
|
|
2535
|
-
else {
|
|
2536
|
-
({ width, height } = el.getBoundingClientRect());
|
|
2537
|
-
}
|
|
2441
|
+
const { width, height } = el.getBoundingClientRect();
|
|
2538
2442
|
if (storeConfigDims(config, width, height)) {
|
|
2539
2443
|
dirtyConfigs.push(config);
|
|
2444
|
+
anyDirty = true;
|
|
2540
2445
|
}
|
|
2541
2446
|
}
|
|
2542
2447
|
for (const dirtyConfig of dirtyConfigs) {
|
|
@@ -2545,6 +2450,7 @@ var FullCalendar = (function (exports) {
|
|
|
2545
2450
|
flushAfterSize();
|
|
2546
2451
|
isHandling = false;
|
|
2547
2452
|
}
|
|
2453
|
+
return anyDirty;
|
|
2548
2454
|
}
|
|
2549
2455
|
function storeConfigDims(config, width, height) {
|
|
2550
2456
|
let shouldFire = false;
|
|
@@ -2572,11 +2478,7 @@ var FullCalendar = (function (exports) {
|
|
|
2572
2478
|
const config = configMap.get(el);
|
|
2573
2479
|
let width;
|
|
2574
2480
|
let height;
|
|
2575
|
-
if (
|
|
2576
|
-
width = el.clientWidth;
|
|
2577
|
-
height = el.clientHeight;
|
|
2578
|
-
}
|
|
2579
|
-
else if (entry.borderBoxSize && nativeBorderBoxEnabled) {
|
|
2481
|
+
if (entry.borderBoxSize && nativeBorderBoxEnabled) {
|
|
2580
2482
|
const borderBoxSize = entry.borderBoxSize[0] || entry.borderBoxSize; // HACK for Firefox
|
|
2581
2483
|
width = borderBoxSize.inlineSize;
|
|
2582
2484
|
height = borderBoxSize.blockSize;
|
|
@@ -2591,12 +2493,11 @@ var FullCalendar = (function (exports) {
|
|
|
2591
2493
|
flushAfterSize();
|
|
2592
2494
|
isHandling = false;
|
|
2593
2495
|
});
|
|
2594
|
-
function watchSize(el, callback,
|
|
2595
|
-
configMap.set(el, { callback,
|
|
2496
|
+
function watchSize(el, callback, watchWidth = true, watchHeight = true) {
|
|
2497
|
+
configMap.set(el, { callback, watchWidth, watchHeight });
|
|
2596
2498
|
globalResizeObserver.observe(el, {
|
|
2597
|
-
box:
|
|
2598
|
-
|
|
2599
|
-
: undefined // default is 'content-box'
|
|
2499
|
+
box: 'border-box'
|
|
2500
|
+
// default is 'content-box'
|
|
2600
2501
|
});
|
|
2601
2502
|
return () => {
|
|
2602
2503
|
configMap.delete(el);
|
|
@@ -2638,13 +2539,13 @@ var FullCalendar = (function (exports) {
|
|
|
2638
2539
|
const [requestCheckSizes, cancelCheckSizes] = debounce(checkConfigMap, fallbackTimeout);
|
|
2639
2540
|
function requestCheckSizesSync() {
|
|
2640
2541
|
cancelCheckSizes();
|
|
2641
|
-
checkConfigMap();
|
|
2542
|
+
return checkConfigMap();
|
|
2642
2543
|
}
|
|
2643
|
-
function watchSize(el, callback,
|
|
2544
|
+
function watchSize(el, callback, watchWidth = true, watchHeight = true) {
|
|
2644
2545
|
if (!configMap.size) {
|
|
2645
2546
|
addGlobalHandlers();
|
|
2646
2547
|
}
|
|
2647
|
-
configMap.set(el, { callback,
|
|
2548
|
+
configMap.set(el, { callback, watchWidth, watchHeight });
|
|
2648
2549
|
requestCheckSizes();
|
|
2649
2550
|
return () => {
|
|
2650
2551
|
configMap.delete(el);
|
|
@@ -2760,7 +2661,7 @@ var FullCalendar = (function (exports) {
|
|
|
2760
2661
|
PRECONDITION: element can only have one listener attached
|
|
2761
2662
|
|
|
2762
2663
|
NOTE: If we ever kill the fallback technique and use ResizeObserver unconditionally with full
|
|
2763
|
-
border-box support, we no longer need wrappers around the <
|
|
2664
|
+
border-box support, we no longer need wrappers around the <FooterScrollbar>'s <Scroller>
|
|
2764
2665
|
*/
|
|
2765
2666
|
const [watchSize, updateSizeSync] = typeof ResizeObserver !== 'undefined'
|
|
2766
2667
|
? initNative()
|
|
@@ -2777,81 +2678,32 @@ var FullCalendar = (function (exports) {
|
|
|
2777
2678
|
|
|
2778
2679
|
const DAY_FORMAT = createFormatter({ year: 'numeric', month: 'long', day: 'numeric' });
|
|
2779
2680
|
const WEEK_FORMAT = createFormatter({ week: 'long' });
|
|
2780
|
-
function
|
|
2681
|
+
function buildDateStr(context, dateMarker, viewType = 'day') {
|
|
2682
|
+
return context.dateEnv.format(dateMarker, viewType === 'week' ? WEEK_FORMAT : DAY_FORMAT);
|
|
2683
|
+
}
|
|
2684
|
+
/*
|
|
2685
|
+
Assumes navLinks enabled
|
|
2686
|
+
Always hidden to screen readers. Do not point aria-labelledby at this. Use aria-label instead.
|
|
2687
|
+
*/
|
|
2688
|
+
function buildNavLinkAttrs(context, dateMarker, viewType = 'day', dateStr = buildDateStr(context, dateMarker, viewType), isTabbable = true) {
|
|
2781
2689
|
const { dateEnv, options, calendarApi } = context;
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
let
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
if (typeof customAction === 'string') {
|
|
2793
|
-
viewType = customAction;
|
|
2794
|
-
}
|
|
2795
|
-
calendarApi.zoomTo(dateMarker, viewType);
|
|
2690
|
+
const zonedDate = dateEnv.toDate(dateMarker);
|
|
2691
|
+
const handleInteraction = (ev) => {
|
|
2692
|
+
let customAction = viewType === 'day' ? options.navLinkDayClick :
|
|
2693
|
+
viewType === 'week' ? options.navLinkWeekClick : null;
|
|
2694
|
+
if (typeof customAction === 'function') {
|
|
2695
|
+
customAction.call(calendarApi, dateEnv.toDate(dateMarker), ev);
|
|
2696
|
+
}
|
|
2697
|
+
else {
|
|
2698
|
+
if (typeof customAction === 'string') {
|
|
2699
|
+
viewType = customAction;
|
|
2796
2700
|
}
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
? createAriaClickAttrs(handleInteraction)
|
|
2800
|
-
: { onClick: handleInteraction }));
|
|
2801
|
-
}
|
|
2802
|
-
return { 'aria-label': dateStr };
|
|
2803
|
-
}
|
|
2804
|
-
|
|
2805
|
-
let _isRtlScrollbarOnLeft = null;
|
|
2806
|
-
function getIsRtlScrollbarOnLeft() {
|
|
2807
|
-
if (_isRtlScrollbarOnLeft === null) {
|
|
2808
|
-
_isRtlScrollbarOnLeft = computeIsRtlScrollbarOnLeft();
|
|
2809
|
-
}
|
|
2810
|
-
return _isRtlScrollbarOnLeft;
|
|
2811
|
-
}
|
|
2812
|
-
function computeIsRtlScrollbarOnLeft() {
|
|
2813
|
-
let outerEl = document.createElement('div');
|
|
2814
|
-
applyStyle(outerEl, {
|
|
2815
|
-
position: 'absolute',
|
|
2816
|
-
top: -1000,
|
|
2817
|
-
left: 0,
|
|
2818
|
-
border: 0,
|
|
2819
|
-
padding: 0,
|
|
2820
|
-
overflow: 'scroll',
|
|
2821
|
-
direction: 'rtl',
|
|
2822
|
-
});
|
|
2823
|
-
outerEl.innerHTML = '<div></div>';
|
|
2824
|
-
document.body.appendChild(outerEl);
|
|
2825
|
-
let innerEl = outerEl.firstChild;
|
|
2826
|
-
let res = innerEl.getBoundingClientRect().left > outerEl.getBoundingClientRect().left;
|
|
2827
|
-
outerEl.remove();
|
|
2828
|
-
return res;
|
|
2829
|
-
}
|
|
2830
|
-
|
|
2831
|
-
let _scrollbarWidths;
|
|
2832
|
-
function getScrollbarWidths() {
|
|
2833
|
-
if (!_scrollbarWidths) {
|
|
2834
|
-
_scrollbarWidths = computeScrollbarWidths();
|
|
2835
|
-
}
|
|
2836
|
-
return _scrollbarWidths;
|
|
2837
|
-
}
|
|
2838
|
-
function computeScrollbarWidths() {
|
|
2839
|
-
let el = document.createElement('div');
|
|
2840
|
-
el.style.overflow = 'scroll';
|
|
2841
|
-
el.style.position = 'absolute';
|
|
2842
|
-
el.style.top = '-9999px';
|
|
2843
|
-
el.style.left = '-9999px';
|
|
2844
|
-
document.body.appendChild(el);
|
|
2845
|
-
let res = computeScrollbarWidthsForEl(el);
|
|
2846
|
-
document.body.removeChild(el);
|
|
2847
|
-
return res;
|
|
2848
|
-
}
|
|
2849
|
-
// WARNING: will include border
|
|
2850
|
-
function computeScrollbarWidthsForEl(el) {
|
|
2851
|
-
return {
|
|
2852
|
-
x: el.offsetHeight - el.clientHeight,
|
|
2853
|
-
y: el.offsetWidth - el.clientWidth,
|
|
2701
|
+
calendarApi.zoomTo(dateMarker, viewType);
|
|
2702
|
+
}
|
|
2854
2703
|
};
|
|
2704
|
+
return Object.assign({ 'role': 'link', 'aria-label': formatWithOrdinals(options.navLinkHint, [dateStr, zonedDate], dateStr), 'className': 'fc-navlink' }, (isTabbable
|
|
2705
|
+
? createAriaClickAttrs(handleInteraction)
|
|
2706
|
+
: { onClick: handleInteraction }));
|
|
2855
2707
|
}
|
|
2856
2708
|
|
|
2857
2709
|
function computeEdges(el, getPadding = false) {
|
|
@@ -2872,7 +2724,7 @@ var FullCalendar = (function (exports) {
|
|
|
2872
2724
|
scrollbarLeft: 0,
|
|
2873
2725
|
scrollbarRight: 0,
|
|
2874
2726
|
};
|
|
2875
|
-
if (
|
|
2727
|
+
if (computedStyle.direction === 'rtl') {
|
|
2876
2728
|
res.scrollbarLeft = scrollbarLeftRight;
|
|
2877
2729
|
}
|
|
2878
2730
|
else {
|
|
@@ -2941,6 +2793,13 @@ var FullCalendar = (function (exports) {
|
|
|
2941
2793
|
}
|
|
2942
2794
|
return parents;
|
|
2943
2795
|
}
|
|
2796
|
+
// WARNING: will include border
|
|
2797
|
+
function computeScrollbarWidthsForEl(el) {
|
|
2798
|
+
return {
|
|
2799
|
+
x: el.offsetHeight - el.clientHeight,
|
|
2800
|
+
y: el.offsetWidth - el.clientWidth,
|
|
2801
|
+
};
|
|
2802
|
+
}
|
|
2944
2803
|
|
|
2945
2804
|
/*
|
|
2946
2805
|
given a function that resolves a result asynchronously.
|
|
@@ -3346,7 +3205,7 @@ var FullCalendar = (function (exports) {
|
|
|
3346
3205
|
isValidDateDownEl(el) {
|
|
3347
3206
|
return !el.closest('.fc-event:not(.fc-bg-event)') &&
|
|
3348
3207
|
!el.closest('.fc-more-link') && // a "more.." link
|
|
3349
|
-
!el.closest('
|
|
3208
|
+
!el.closest('.fc-navlink') && // a clickable nav link
|
|
3350
3209
|
!el.closest('.fc-popover'); // hack
|
|
3351
3210
|
}
|
|
3352
3211
|
}
|
|
@@ -4359,8 +4218,19 @@ var FullCalendar = (function (exports) {
|
|
|
4359
4218
|
if (displayEventEnd == null) {
|
|
4360
4219
|
displayEventEnd = defaultDisplayEventEnd !== false;
|
|
4361
4220
|
}
|
|
4362
|
-
const startDate = (!isStart &&
|
|
4363
|
-
|
|
4221
|
+
const startDate = (!isStart &&
|
|
4222
|
+
slicedStart &&
|
|
4223
|
+
// if seg is the first seg, but start-date cut-off by slotMinTime, (technically isStart=false)
|
|
4224
|
+
// we still want to display the original start-time
|
|
4225
|
+
startOfDay(slicedStart).valueOf() !== startOfDay(eventRange.instance.range.start).valueOf())
|
|
4226
|
+
? slicedStart
|
|
4227
|
+
: eventRange.instance.range.start;
|
|
4228
|
+
const endDate = (!isEnd &&
|
|
4229
|
+
slicedEnd &&
|
|
4230
|
+
// See above HACK, but for end-time
|
|
4231
|
+
startOfDay(addMs(slicedEnd, -1)).valueOf() !== startOfDay(addMs(eventRange.instance.range.end, -1)).valueOf())
|
|
4232
|
+
? slicedEnd
|
|
4233
|
+
: eventRange.instance.range.end;
|
|
4364
4234
|
if (displayEventTime && !def.allDay) {
|
|
4365
4235
|
if (displayEventEnd && (isStart || isEnd) && def.hasEnd) {
|
|
4366
4236
|
return dateEnv.formatRange(startDate, endDate, timeFormat, {
|
|
@@ -4427,11 +4297,11 @@ var FullCalendar = (function (exports) {
|
|
|
4427
4297
|
: `${eventRange.def.defId}:${eventRange.range.start.toISOString()}`;
|
|
4428
4298
|
// inverse-background events don't have specific instances. TODO: better solution
|
|
4429
4299
|
}
|
|
4430
|
-
function
|
|
4300
|
+
function getEventTagAndAttrs(eventRange, context) {
|
|
4431
4301
|
let { def, instance } = eventRange;
|
|
4432
4302
|
let { url } = def;
|
|
4433
4303
|
if (url) {
|
|
4434
|
-
return { href: url };
|
|
4304
|
+
return ['a', { href: url }];
|
|
4435
4305
|
}
|
|
4436
4306
|
let { emitter, options } = context;
|
|
4437
4307
|
let { eventInteractive } = options;
|
|
@@ -4441,10 +4311,11 @@ var FullCalendar = (function (exports) {
|
|
|
4441
4311
|
eventInteractive = Boolean(emitter.hasHandlers('eventClick'));
|
|
4442
4312
|
}
|
|
4443
4313
|
}
|
|
4314
|
+
let attrs;
|
|
4444
4315
|
// mock what happens in EventClicking
|
|
4445
4316
|
if (eventInteractive) {
|
|
4446
4317
|
// only attach keyboard-related handlers because click handler is already done in EventClicking
|
|
4447
|
-
|
|
4318
|
+
attrs = createAriaKeyboardAttrs((ev) => {
|
|
4448
4319
|
emitter.trigger('eventClick', {
|
|
4449
4320
|
el: ev.target,
|
|
4450
4321
|
event: new EventImpl(context, def, instance),
|
|
@@ -4452,7 +4323,9 @@ var FullCalendar = (function (exports) {
|
|
|
4452
4323
|
view: context.viewApi,
|
|
4453
4324
|
});
|
|
4454
4325
|
});
|
|
4326
|
+
attrs = Object.assign({ role: 'button' }, attrs);
|
|
4455
4327
|
}
|
|
4328
|
+
return ['div', attrs];
|
|
4456
4329
|
}
|
|
4457
4330
|
|
|
4458
4331
|
const STANDARD_PROPS = {
|
|
@@ -5283,13 +5156,13 @@ var FullCalendar = (function (exports) {
|
|
|
5283
5156
|
};
|
|
5284
5157
|
this.handleBeforePrint = () => {
|
|
5285
5158
|
this.setState({ forPrint: true });
|
|
5286
|
-
|
|
5159
|
+
flushUpdates();
|
|
5287
5160
|
updateSizeSync();
|
|
5288
|
-
|
|
5161
|
+
flushUpdates();
|
|
5289
5162
|
};
|
|
5290
5163
|
this.handleAfterPrint = () => {
|
|
5291
5164
|
this.setState({ forPrint: false });
|
|
5292
|
-
|
|
5165
|
+
flushUpdates();
|
|
5293
5166
|
};
|
|
5294
5167
|
}
|
|
5295
5168
|
render() {
|
|
@@ -5522,12 +5395,11 @@ var FullCalendar = (function (exports) {
|
|
|
5522
5395
|
}
|
|
5523
5396
|
}
|
|
5524
5397
|
|
|
5525
|
-
const WHEEL_EVENT_NAMES = 'wheel mousewheel DomMouseScroll MozMousePixelScroll'.split(' ');
|
|
5526
5398
|
/*
|
|
5527
5399
|
Fires:
|
|
5528
|
-
- scrollStart (
|
|
5529
|
-
- scroll
|
|
5530
|
-
- scrollEnd (
|
|
5400
|
+
- scrollStart: (isUser) => void
|
|
5401
|
+
- scroll: (isUser) => void
|
|
5402
|
+
- scrollEnd: (isUser) => void
|
|
5531
5403
|
|
|
5532
5404
|
NOTE: detection is complicated (w/ touch and wheel) because ScrollerSyncer needs to know about it,
|
|
5533
5405
|
but are we sure we can't just ignore programmatic scrollTo() calls with a flag? and determine the
|
|
@@ -5537,81 +5409,107 @@ var FullCalendar = (function (exports) {
|
|
|
5537
5409
|
constructor(el) {
|
|
5538
5410
|
this.el = el;
|
|
5539
5411
|
this.emitter = new Emitter();
|
|
5540
|
-
this.
|
|
5541
|
-
this.
|
|
5542
|
-
this.
|
|
5543
|
-
this.
|
|
5544
|
-
this.
|
|
5545
|
-
|
|
5412
|
+
this.isScroll = false;
|
|
5413
|
+
this.isScrollRecent = false;
|
|
5414
|
+
this.isWheelRecent = false;
|
|
5415
|
+
this.isMouseDown = false; // user currently has mouse down?
|
|
5416
|
+
this.isTouchDown = false; // user currently has finger down?
|
|
5417
|
+
// accumulated during scroll
|
|
5418
|
+
this.isMouse = false;
|
|
5419
|
+
this.isTouch = false;
|
|
5420
|
+
this.isWheel = false;
|
|
5546
5421
|
// Handlers
|
|
5547
5422
|
// ----------------------------------------------------------------------------------------------
|
|
5548
5423
|
this.handleScroll = () => {
|
|
5549
5424
|
this.startScroll();
|
|
5550
|
-
this.emitter.trigger('scroll', this.
|
|
5551
|
-
this.
|
|
5425
|
+
this.emitter.trigger('scroll', this.getIsUser());
|
|
5426
|
+
this.isScrollRecent = true;
|
|
5427
|
+
if (this.isMouseDown) {
|
|
5428
|
+
this.isMouse = true;
|
|
5429
|
+
}
|
|
5430
|
+
if (this.isTouchDown) {
|
|
5431
|
+
this.isTouch = true;
|
|
5432
|
+
}
|
|
5433
|
+
if (this.isWheelRecent) {
|
|
5434
|
+
this.isWheel = true;
|
|
5435
|
+
}
|
|
5552
5436
|
this.scrollWaiter.request(500);
|
|
5553
5437
|
};
|
|
5554
|
-
|
|
5438
|
+
this.handleScrollWait = () => {
|
|
5439
|
+
this.isScrollRecent = false;
|
|
5440
|
+
// only end the scroll if not currently touching.
|
|
5441
|
+
// if touching, the scrolling will end later, on touchend.
|
|
5442
|
+
if (!this.isTouchDown) {
|
|
5443
|
+
this.endScroll();
|
|
5444
|
+
}
|
|
5445
|
+
};
|
|
5446
|
+
// will fire *before* the scroll event is fired (might not cause a scroll!)
|
|
5555
5447
|
this.handleWheel = () => {
|
|
5556
|
-
this.
|
|
5448
|
+
this.isWheelRecent = true;
|
|
5557
5449
|
this.wheelWaiter.request(500);
|
|
5558
5450
|
};
|
|
5559
|
-
|
|
5451
|
+
this.handleWheelWait = () => {
|
|
5452
|
+
this.isWheelRecent = false;
|
|
5453
|
+
};
|
|
5454
|
+
this.handleMouseDown = () => {
|
|
5455
|
+
this.isMouseDown = true;
|
|
5456
|
+
};
|
|
5457
|
+
this.handleMouseUp = () => {
|
|
5458
|
+
this.isMouseDown = false;
|
|
5459
|
+
};
|
|
5460
|
+
// will fire *before* the scroll event is fired (might not cause a scroll!)
|
|
5560
5461
|
this.handleTouchStart = () => {
|
|
5561
|
-
this.
|
|
5462
|
+
this.isTouchDown = true;
|
|
5562
5463
|
};
|
|
5563
5464
|
this.handleTouchEnd = () => {
|
|
5564
|
-
this.
|
|
5465
|
+
this.isTouchDown = false;
|
|
5565
5466
|
// if the user ended their touch, and the scroll area wasn't moving,
|
|
5566
|
-
// we consider this to be the end of the scroll
|
|
5567
|
-
|
|
5568
|
-
|
|
5467
|
+
// we consider this to be the end of the scroll
|
|
5468
|
+
// otherwise, wait for inertia to finish and handleScrollWait to fire
|
|
5469
|
+
if (!this.isScrollRecent) {
|
|
5470
|
+
this.endScroll();
|
|
5569
5471
|
}
|
|
5570
5472
|
};
|
|
5473
|
+
this.wheelWaiter = new DelayedRunner(this.handleWheelWait);
|
|
5474
|
+
this.scrollWaiter = new DelayedRunner(this.handleScrollWait);
|
|
5571
5475
|
el.addEventListener('scroll', this.handleScroll);
|
|
5476
|
+
el.addEventListener('wheel', this.handleWheel, { passive: true });
|
|
5477
|
+
el.addEventListener('mousedown', this.handleMouseDown);
|
|
5478
|
+
el.addEventListener('mouseup', this.handleMouseUp);
|
|
5572
5479
|
el.addEventListener('touchstart', this.handleTouchStart, { passive: true });
|
|
5573
5480
|
el.addEventListener('touchend', this.handleTouchEnd);
|
|
5574
|
-
for (let eventName of WHEEL_EVENT_NAMES) {
|
|
5575
|
-
el.addEventListener(eventName, this.handleWheel, { passive: true });
|
|
5576
|
-
}
|
|
5577
5481
|
}
|
|
5578
5482
|
destroy() {
|
|
5579
5483
|
let { el } = this;
|
|
5580
5484
|
el.removeEventListener('scroll', this.handleScroll);
|
|
5485
|
+
el.removeEventListener('wheel', this.handleWheel, { passive: true });
|
|
5486
|
+
el.removeEventListener('mousedown', this.handleMouseDown);
|
|
5487
|
+
el.removeEventListener('mouseup', this.handleMouseUp);
|
|
5581
5488
|
el.removeEventListener('touchstart', this.handleTouchStart, { passive: true });
|
|
5582
5489
|
el.removeEventListener('touchend', this.handleTouchEnd);
|
|
5583
|
-
for (let eventName of WHEEL_EVENT_NAMES) {
|
|
5584
|
-
el.removeEventListener(eventName, this.handleWheel, { passive: true });
|
|
5585
|
-
}
|
|
5586
5490
|
}
|
|
5587
5491
|
// Start / Stop
|
|
5588
5492
|
// ----------------------------------------------------------------------------------------------
|
|
5589
5493
|
startScroll() {
|
|
5590
|
-
if (!this.
|
|
5591
|
-
this.
|
|
5592
|
-
this.emitter.trigger('scrollStart', this.
|
|
5494
|
+
if (!this.isScroll) {
|
|
5495
|
+
this.isScroll = true;
|
|
5496
|
+
this.emitter.trigger('scrollStart', this.getIsUser());
|
|
5593
5497
|
}
|
|
5594
5498
|
}
|
|
5595
5499
|
endScroll() {
|
|
5596
|
-
if (this.
|
|
5597
|
-
this.
|
|
5598
|
-
this.
|
|
5599
|
-
this.
|
|
5600
|
-
this.
|
|
5601
|
-
this.
|
|
5602
|
-
this.
|
|
5603
|
-
|
|
5604
|
-
|
|
5605
|
-
_handleScrollWaited() {
|
|
5606
|
-
this.isRecentlyScrolled = false;
|
|
5607
|
-
// only end the scroll if not currently touching.
|
|
5608
|
-
// if touching, the scrolling will end later, on touchend.
|
|
5609
|
-
if (!this.isTouching) {
|
|
5610
|
-
this.endScroll(); // won't fire if already ended
|
|
5500
|
+
if (this.isScroll) { // extra protection because might be called publicly
|
|
5501
|
+
this.scrollWaiter.clear(); // (same)
|
|
5502
|
+
this.wheelWaiter.clear(); // (same)
|
|
5503
|
+
this.isScroll = false;
|
|
5504
|
+
this.isWheelRecent = false;
|
|
5505
|
+
this.emitter.trigger('scrollEnd', this.getIsUser());
|
|
5506
|
+
this.isMouse = false;
|
|
5507
|
+
this.isTouch = false;
|
|
5508
|
+
this.isWheel = false;
|
|
5611
5509
|
}
|
|
5612
5510
|
}
|
|
5613
|
-
|
|
5614
|
-
this.
|
|
5511
|
+
getIsUser() {
|
|
5512
|
+
return this.isWheel || this.isMouse || this.isTouch;
|
|
5615
5513
|
}
|
|
5616
5514
|
}
|
|
5617
5515
|
|
|
@@ -5619,37 +5517,54 @@ var FullCalendar = (function (exports) {
|
|
|
5619
5517
|
constructor() {
|
|
5620
5518
|
super(...arguments);
|
|
5621
5519
|
this.handleEl = (el) => {
|
|
5622
|
-
const { props } = this;
|
|
5623
5520
|
if (this.el) {
|
|
5624
5521
|
this.el = null;
|
|
5625
5522
|
this.listener.destroy();
|
|
5626
|
-
this.disconnectSize();
|
|
5627
|
-
setRef(props.clientWidthRef, null);
|
|
5628
|
-
setRef(props.clientHeightRef, null);
|
|
5629
|
-
setRef(props.endScrollbarWidthRef, null);
|
|
5630
|
-
setRef(props.bottomScrollbarWidthRef, null);
|
|
5631
5523
|
}
|
|
5632
5524
|
if (el) {
|
|
5633
5525
|
this.el = el;
|
|
5634
5526
|
this.listener = new ScrollListener(el);
|
|
5635
|
-
|
|
5636
|
-
|
|
5637
|
-
|
|
5638
|
-
|
|
5639
|
-
|
|
5640
|
-
|
|
5641
|
-
|
|
5642
|
-
|
|
5643
|
-
|
|
5527
|
+
}
|
|
5528
|
+
};
|
|
5529
|
+
this.handleHRuler = (el) => {
|
|
5530
|
+
if (this.disconnectHRuler) {
|
|
5531
|
+
this.disconnectHRuler();
|
|
5532
|
+
this.disconnectHRuler = undefined;
|
|
5533
|
+
if (this.clientWidth !== undefined) {
|
|
5534
|
+
this.clientWidth = undefined;
|
|
5535
|
+
setRef(this.props.clientWidthRef, null);
|
|
5536
|
+
}
|
|
5537
|
+
}
|
|
5538
|
+
if (el) {
|
|
5539
|
+
this.disconnectHRuler = watchWidth(el, (clientWidth) => {
|
|
5540
|
+
if (clientWidth !== this.clientWidth) {
|
|
5541
|
+
this.clientWidth = clientWidth;
|
|
5542
|
+
setRef(this.props.clientWidthRef, clientWidth);
|
|
5644
5543
|
}
|
|
5645
|
-
|
|
5646
|
-
|
|
5647
|
-
|
|
5544
|
+
});
|
|
5545
|
+
}
|
|
5546
|
+
};
|
|
5547
|
+
this.handleVRuler = (el) => {
|
|
5548
|
+
if (this.disconnectVRuler) {
|
|
5549
|
+
this.disconnectVRuler();
|
|
5550
|
+
this.disconnectVRuler = undefined;
|
|
5551
|
+
if (this.clientHeight !== undefined) {
|
|
5552
|
+
this.clientHeight = undefined;
|
|
5553
|
+
setRef(this.props.clientHeightRef, null);
|
|
5554
|
+
}
|
|
5555
|
+
}
|
|
5556
|
+
if (el) {
|
|
5557
|
+
this.disconnectVRuler = watchHeight(el, (clientHeight) => {
|
|
5558
|
+
if (clientHeight !== this.clientHeight) {
|
|
5559
|
+
this.clientHeight = clientHeight;
|
|
5560
|
+
setRef(this.props.clientHeightRef, clientHeight);
|
|
5648
5561
|
}
|
|
5649
|
-
|
|
5650
|
-
|
|
5562
|
+
const bottomScrollbarWidth = Math.round(this.el.getBoundingClientRect().height - clientHeight);
|
|
5563
|
+
if (bottomScrollbarWidth !== this.bottomScrollbarWidth) {
|
|
5564
|
+
this.bottomScrollbarWidth = bottomScrollbarWidth;
|
|
5565
|
+
setRef(this.props.bottomScrollbarWidthRef, bottomScrollbarWidth);
|
|
5651
5566
|
}
|
|
5652
|
-
}
|
|
5567
|
+
});
|
|
5653
5568
|
}
|
|
5654
5569
|
};
|
|
5655
5570
|
}
|
|
@@ -5658,7 +5573,11 @@ var FullCalendar = (function (exports) {
|
|
|
5658
5573
|
// if there's only one axis that needs scrolling, the other axis will unintentionally have
|
|
5659
5574
|
// scrollbars too if we don't force to 'hidden'
|
|
5660
5575
|
const fallbackOverflow = (props.horizontal || props.vertical) ? 'hidden' : '';
|
|
5661
|
-
return (_("div", { ref: this.handleEl, className: joinClassNames(props.className, 'fc-scroller
|
|
5576
|
+
return (_("div", { ref: this.handleEl, className: joinClassNames(props.className, 'fc-scroller fc-rel', // fc-rel for children fc-fill-top/start
|
|
5577
|
+
props.hideScrollbars && 'fc-scroller-no-bars'), style: Object.assign(Object.assign({}, props.style), { overflowX: props.horizontal ? 'auto' : fallbackOverflow, overflowY: props.vertical ? 'auto' : fallbackOverflow }) },
|
|
5578
|
+
props.children,
|
|
5579
|
+
Boolean(props.clientWidthRef) && (_("div", { ref: this.handleHRuler, className: 'fc-fill-top' })),
|
|
5580
|
+
Boolean(props.clientHeightRef || props.bottomScrollbarWidthRef) && (_("div", { ref: this.handleVRuler, className: 'fc-fill-start' }))));
|
|
5662
5581
|
}
|
|
5663
5582
|
endScroll() {
|
|
5664
5583
|
this.listener.endScroll();
|
|
@@ -5733,9 +5652,6 @@ var FullCalendar = (function (exports) {
|
|
|
5733
5652
|
function getRtlScrollerSystem() {
|
|
5734
5653
|
return _rtlScrollerSystem || (_rtlScrollerSystem = detectRtlScrollerSystem());
|
|
5735
5654
|
}
|
|
5736
|
-
/*
|
|
5737
|
-
TODO: make this more minimal now that scrollbar-side detection isn't needed?
|
|
5738
|
-
*/
|
|
5739
5655
|
function detectRtlScrollerSystem() {
|
|
5740
5656
|
let el = document.createElement('div');
|
|
5741
5657
|
el.style.position = 'absolute';
|
|
@@ -6237,7 +6153,7 @@ var FullCalendar = (function (exports) {
|
|
|
6237
6153
|
}
|
|
6238
6154
|
|
|
6239
6155
|
function getIsHeightAuto(options) {
|
|
6240
|
-
return options.height === 'auto' || options.
|
|
6156
|
+
return options.height === 'auto' || options.contentHeight === 'auto';
|
|
6241
6157
|
}
|
|
6242
6158
|
function getStickyHeaderDates(options) {
|
|
6243
6159
|
let { stickyHeaderDates } = options;
|
|
@@ -6261,6 +6177,30 @@ var FullCalendar = (function (exports) {
|
|
|
6261
6177
|
return ScrollerSyncer;
|
|
6262
6178
|
}
|
|
6263
6179
|
|
|
6180
|
+
class Ruler extends BaseComponent {
|
|
6181
|
+
constructor() {
|
|
6182
|
+
super(...arguments);
|
|
6183
|
+
this.elRef = m$1();
|
|
6184
|
+
}
|
|
6185
|
+
render() {
|
|
6186
|
+
return (_("div", { ref: this.elRef }));
|
|
6187
|
+
}
|
|
6188
|
+
componentDidMount() {
|
|
6189
|
+
const { props } = this;
|
|
6190
|
+
const el = this.elRef.current;
|
|
6191
|
+
this.disconnectWidth = watchWidth(el, (width) => {
|
|
6192
|
+
setRef(props.widthRef, width);
|
|
6193
|
+
});
|
|
6194
|
+
}
|
|
6195
|
+
componentWillUnmount() {
|
|
6196
|
+
this.disconnectWidth();
|
|
6197
|
+
const { props } = this;
|
|
6198
|
+
if (props.widthRef) {
|
|
6199
|
+
setRef(props.widthRef, null);
|
|
6200
|
+
}
|
|
6201
|
+
}
|
|
6202
|
+
}
|
|
6203
|
+
|
|
6264
6204
|
/*
|
|
6265
6205
|
TODO: make API where createRefMap() called
|
|
6266
6206
|
*/
|
|
@@ -6553,6 +6493,8 @@ var FullCalendar = (function (exports) {
|
|
|
6553
6493
|
class EventContainer extends BaseComponent {
|
|
6554
6494
|
constructor() {
|
|
6555
6495
|
super(...arguments);
|
|
6496
|
+
// memo
|
|
6497
|
+
this.buildPublicEvent = memoize((context, eventDef, eventInstance) => new EventImpl(context, eventDef, eventInstance));
|
|
6556
6498
|
this.handleEl = (el) => {
|
|
6557
6499
|
this.el = el;
|
|
6558
6500
|
if (el) {
|
|
@@ -6566,7 +6508,9 @@ var FullCalendar = (function (exports) {
|
|
|
6566
6508
|
const { eventRange } = props;
|
|
6567
6509
|
const { ui } = eventRange;
|
|
6568
6510
|
const renderProps = {
|
|
6569
|
-
|
|
6511
|
+
// make stable. everything else atomic
|
|
6512
|
+
// FYI, eventRange unfortunately gets reconstructed a lot, but def/instance is stable
|
|
6513
|
+
event: this.buildPublicEvent(context, eventRange.def, eventRange.instance),
|
|
6570
6514
|
view: context.viewApi,
|
|
6571
6515
|
timeText: props.timeText,
|
|
6572
6516
|
textColor: ui.textColor,
|
|
@@ -6585,7 +6529,7 @@ var FullCalendar = (function (exports) {
|
|
|
6585
6529
|
isDragging: Boolean(props.isDragging),
|
|
6586
6530
|
isResizing: Boolean(props.isResizing),
|
|
6587
6531
|
};
|
|
6588
|
-
return (_(ContentContainer,
|
|
6532
|
+
return (_(ContentContainer, { attrs: props.attrs, className: joinClassNames(props.className, ...getEventClassNames(renderProps), ...eventRange.ui.classNames), style: props.style, elRef: this.handleEl, renderProps: renderProps, generatorName: "eventContent", customGenerator: options.eventContent, defaultGenerator: props.defaultGenerator, tag: props.tag, classNameGenerator: options.eventClassNames, didMount: options.eventDidMount, willUnmount: options.eventWillUnmount }, props.children));
|
|
6589
6533
|
}
|
|
6590
6534
|
componentDidUpdate(prevProps) {
|
|
6591
6535
|
if (this.el && this.props.eventRange !== prevProps.eventRange) {
|
|
@@ -6603,11 +6547,11 @@ var FullCalendar = (function (exports) {
|
|
|
6603
6547
|
const timeFormat = options.eventTimeFormat || props.defaultTimeFormat;
|
|
6604
6548
|
const timeText = buildEventRangeTimeText(timeFormat, eventRange, // just for def/instance
|
|
6605
6549
|
props.slicedStart, props.slicedEnd, props.isStart, props.isEnd, context, props.defaultDisplayEventTime, props.defaultDisplayEventEnd);
|
|
6606
|
-
const
|
|
6607
|
-
return (_(EventContainer, Object.assign({}, props /* includes elRef */, { tag:
|
|
6550
|
+
const [tag, attrs] = getEventTagAndAttrs(eventRange, context);
|
|
6551
|
+
return (_(EventContainer, Object.assign({}, props /* includes elRef */, { tag: tag, style: {
|
|
6608
6552
|
borderColor: eventRange.ui.borderColor,
|
|
6609
6553
|
backgroundColor: eventRange.ui.backgroundColor,
|
|
6610
|
-
}, attrs:
|
|
6554
|
+
}, attrs: attrs, defaultGenerator: renderInnerContent$1, timeText: timeText }), (InnerContent, eventContentArg) => (_(k$1, null,
|
|
6611
6555
|
_(InnerContent, { tag: "div", className: 'fc-event-inner', style: { color: eventContentArg.textColor } }),
|
|
6612
6556
|
Boolean(eventContentArg.isStartResizable) && (_("div", { className: "fc-event-resizer fc-event-resizer-start" })),
|
|
6613
6557
|
Boolean(eventContentArg.isEndResizable) && (_("div", { className: "fc-event-resizer fc-event-resizer-end" }))))));
|
|
@@ -6641,8 +6585,7 @@ var FullCalendar = (function (exports) {
|
|
|
6641
6585
|
let { options } = context;
|
|
6642
6586
|
let renderProps = this.refineRenderProps({
|
|
6643
6587
|
date: props.date,
|
|
6644
|
-
|
|
6645
|
-
todayRange: props.todayRange,
|
|
6588
|
+
dateMeta: props.dateMeta,
|
|
6646
6589
|
isMonthStart: props.isMonthStart || false,
|
|
6647
6590
|
showDayNumber: props.showDayNumber,
|
|
6648
6591
|
renderProps: props.renderProps,
|
|
@@ -6650,20 +6593,16 @@ var FullCalendar = (function (exports) {
|
|
|
6650
6593
|
dateEnv: context.dateEnv,
|
|
6651
6594
|
monthStartFormat: options.monthStartFormat,
|
|
6652
6595
|
});
|
|
6653
|
-
return (_(ContentContainer, Object.assign({}, props /* includes children */, { className: joinClassNames(props.className, getDayClassName(renderProps)), attrs: Object.assign(Object.assign({}, props.attrs),
|
|
6654
|
-
// don't use custom classNames if disabled
|
|
6655
|
-
// TODO: make DRY with DayGridHeaderCell
|
|
6656
|
-
renderProps.isDisabled ? undefined : options.dayCellClassNames, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount })));
|
|
6596
|
+
return (_(ContentContainer, Object.assign({}, props /* includes children */, { className: joinClassNames(props.className, getDayClassName(renderProps)), attrs: Object.assign(Object.assign(Object.assign({}, props.attrs), { 'data-date': formatDayString(props.date) }), (renderProps.isToday ? { 'aria-current': 'date' } : {})), renderProps: renderProps, generatorName: "dayCellContent", customGenerator: options.dayCellContent, defaultGenerator: props.defaultGenerator, classNameGenerator: options.dayCellClassNames, didMount: options.dayCellDidMount, willUnmount: options.dayCellWillUnmount })));
|
|
6657
6597
|
}
|
|
6658
6598
|
}
|
|
6659
6599
|
function hasCustomDayCellContent(options) {
|
|
6660
6600
|
return Boolean(options.dayCellContent || hasCustomRenderingHandler('dayCellContent', options));
|
|
6661
6601
|
}
|
|
6662
6602
|
function refineRenderProps(raw) {
|
|
6663
|
-
let { date, dateEnv,
|
|
6664
|
-
let dayMeta = getDateMeta(date, raw.todayRange, null, dateProfile);
|
|
6603
|
+
let { date, dateEnv, isMonthStart } = raw;
|
|
6665
6604
|
let dayNumberText = raw.showDayNumber ? (dateEnv.format(date, isMonthStart ? raw.monthStartFormat : DAY_NUM_FORMAT)) : '';
|
|
6666
|
-
return Object.assign(Object.assign(Object.assign({ date: dateEnv.toDate(date), view: raw.viewApi },
|
|
6605
|
+
return Object.assign(Object.assign(Object.assign({ date: dateEnv.toDate(date), view: raw.viewApi }, raw.dateMeta), { isMonthStart,
|
|
6667
6606
|
dayNumberText }), raw.renderProps);
|
|
6668
6607
|
}
|
|
6669
6608
|
|
|
@@ -6694,12 +6633,14 @@ var FullCalendar = (function (exports) {
|
|
|
6694
6633
|
}));
|
|
6695
6634
|
|
|
6696
6635
|
const PADDING_FROM_VIEWPORT = 10;
|
|
6636
|
+
const ROW_BORDER_WIDTH = 1;
|
|
6697
6637
|
class Popover extends BaseComponent {
|
|
6698
6638
|
constructor() {
|
|
6699
6639
|
super(...arguments);
|
|
6700
|
-
this.
|
|
6701
|
-
|
|
6702
|
-
|
|
6640
|
+
this.closeRef = m$1();
|
|
6641
|
+
this.focusStartRef = m$1();
|
|
6642
|
+
this.focusEndRef = m$1();
|
|
6643
|
+
this.titleId = getUniqueDomId();
|
|
6703
6644
|
this.handleRootEl = (el) => {
|
|
6704
6645
|
this.rootEl = el;
|
|
6705
6646
|
if (this.props.elRef) {
|
|
@@ -6711,15 +6652,17 @@ var FullCalendar = (function (exports) {
|
|
|
6711
6652
|
// only hide the popover if the click happened outside the popover
|
|
6712
6653
|
const target = getEventTargetViaRoot(ev);
|
|
6713
6654
|
if (!this.rootEl.contains(target)) {
|
|
6714
|
-
this.
|
|
6655
|
+
this.handleClose();
|
|
6715
6656
|
}
|
|
6716
6657
|
};
|
|
6717
6658
|
this.handleDocumentKeyDown = (ev) => {
|
|
6718
6659
|
if (ev.key === 'Escape') {
|
|
6719
|
-
this.
|
|
6660
|
+
this.handleClose();
|
|
6720
6661
|
}
|
|
6721
6662
|
};
|
|
6722
|
-
|
|
6663
|
+
// for many different close techniques
|
|
6664
|
+
// cannot accept params because might receive a browser Event
|
|
6665
|
+
this.handleClose = () => {
|
|
6723
6666
|
let { onClose } = this.props;
|
|
6724
6667
|
if (onClose) {
|
|
6725
6668
|
onClose();
|
|
@@ -6728,21 +6671,28 @@ var FullCalendar = (function (exports) {
|
|
|
6728
6671
|
}
|
|
6729
6672
|
render() {
|
|
6730
6673
|
let { theme, options } = this.context;
|
|
6731
|
-
let { props
|
|
6732
|
-
return j(_("div", Object.assign({}, props.attrs, { id: props.id, className: joinClassNames(props.className, 'fc-popover', theme.getClassName('popover')),
|
|
6674
|
+
let { props } = this;
|
|
6675
|
+
return j(_("div", Object.assign({}, props.attrs, { id: props.id, role: 'dialog', "aria-labelledby": this.titleId, className: joinClassNames(props.className, 'fc-popover', theme.getClassName('popover')), ref: this.handleRootEl }),
|
|
6676
|
+
_("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusStartRef }),
|
|
6733
6677
|
_("div", { className: 'fc-popover-header ' + theme.getClassName('popoverHeader') },
|
|
6734
|
-
_("
|
|
6735
|
-
_("
|
|
6736
|
-
_("div", { className: 'fc-popover-body ' + theme.getClassName('popoverContent') }, props.children)
|
|
6678
|
+
_("div", { className: "fc-popover-title", id: this.titleId }, props.title),
|
|
6679
|
+
_("div", Object.assign({ role: 'button', "aria-label": options.closeHint, className: 'fc-popover-close ' + theme.getIconClass('close') }, createAriaClickAttrs(this.handleClose), { ref: this.closeRef }))),
|
|
6680
|
+
_("div", { className: 'fc-popover-body ' + theme.getClassName('popoverContent') }, props.children),
|
|
6681
|
+
_("div", { tabIndex: 0, style: { outline: 'none' }, ref: this.focusEndRef })), props.parentEl);
|
|
6737
6682
|
}
|
|
6738
6683
|
componentDidMount() {
|
|
6739
6684
|
document.addEventListener('mousedown', this.handleDocumentMouseDown);
|
|
6740
6685
|
document.addEventListener('keydown', this.handleDocumentKeyDown);
|
|
6686
|
+
this.focusStartRef.current.addEventListener('focus', this.handleClose);
|
|
6687
|
+
this.focusEndRef.current.addEventListener('focus', this.handleClose);
|
|
6688
|
+
this.closeRef.current.focus({ preventScroll: true });
|
|
6741
6689
|
this.updateSize();
|
|
6742
6690
|
}
|
|
6743
6691
|
componentWillUnmount() {
|
|
6744
6692
|
document.removeEventListener('mousedown', this.handleDocumentMouseDown);
|
|
6745
6693
|
document.removeEventListener('keydown', this.handleDocumentKeyDown);
|
|
6694
|
+
this.focusStartRef.current.removeEventListener('focus', this.handleClose);
|
|
6695
|
+
this.focusEndRef.current.removeEventListener('focus', this.handleClose);
|
|
6746
6696
|
}
|
|
6747
6697
|
updateSize() {
|
|
6748
6698
|
let { isRtl } = this.context;
|
|
@@ -6753,7 +6703,8 @@ var FullCalendar = (function (exports) {
|
|
|
6753
6703
|
let popoverDims = rootEl.getBoundingClientRect();
|
|
6754
6704
|
// position relative to viewport
|
|
6755
6705
|
let popoverTop = alignParentTop
|
|
6756
|
-
|
|
6706
|
+
// HACK: subtract 1 for DayGrid, which has borders on row-bottom. Only view that uses alignParentTop
|
|
6707
|
+
? alignEl.closest(alignParentTop).getBoundingClientRect().top - ROW_BORDER_WIDTH
|
|
6757
6708
|
: alignmentRect.top;
|
|
6758
6709
|
let popoverLeft = isRtl ? alignmentRect.right - popoverDims.width : alignmentRect.left;
|
|
6759
6710
|
// constrain
|
|
@@ -6789,8 +6740,10 @@ var FullCalendar = (function (exports) {
|
|
|
6789
6740
|
let { options, dateEnv } = this.context;
|
|
6790
6741
|
let { props } = this;
|
|
6791
6742
|
let { startDate, todayRange, dateProfile } = props;
|
|
6743
|
+
// TODO: memoize?
|
|
6744
|
+
let detaMeta = getDateMeta(startDate, todayRange, null, dateProfile);
|
|
6792
6745
|
let title = dateEnv.format(startDate, options.dayPopoverFormat);
|
|
6793
|
-
return (_(DayCellContainer, { elRef: this.handleRootEl, date: startDate,
|
|
6746
|
+
return (_(DayCellContainer, { elRef: this.handleRootEl, date: startDate, dateMeta: detaMeta }, (InnerContent, renderProps, attrs) => (_(Popover, { elRef: attrs.ref, id: props.id, title: title, attrs: attrs /* TODO: make these time-based when not whole-day? */, className: joinClassNames(attrs.className, // TODO: solve SignalLike type problem
|
|
6794
6747
|
'fc-more-popover'), parentEl: props.parentEl, alignEl: props.alignEl, alignParentTop: props.alignParentTop, onClose: props.onClose },
|
|
6795
6748
|
hasCustomDayCellContent(options) && (_(InnerContent, { tag: "div", className: 'fc-more-popover-misc' })),
|
|
6796
6749
|
props.children))));
|
|
@@ -6805,7 +6758,7 @@ var FullCalendar = (function (exports) {
|
|
|
6805
6758
|
start: props.startDate,
|
|
6806
6759
|
end: props.endDate,
|
|
6807
6760
|
} }, props.dateSpanProps),
|
|
6808
|
-
|
|
6761
|
+
getDayEl: () => rootEl,
|
|
6809
6762
|
rect: {
|
|
6810
6763
|
left: 0,
|
|
6811
6764
|
top: 0,
|
|
@@ -6834,21 +6787,22 @@ var FullCalendar = (function (exports) {
|
|
|
6834
6787
|
};
|
|
6835
6788
|
this.handleClick = (ev) => {
|
|
6836
6789
|
let { props, context } = this;
|
|
6837
|
-
let {
|
|
6790
|
+
let { dateEnv, options } = context;
|
|
6791
|
+
let { moreLinkClick } = options;
|
|
6838
6792
|
let date = computeRange(props).start;
|
|
6839
6793
|
function buildPublicSeg(seg) {
|
|
6840
6794
|
let { def, instance, range } = seg.eventRange;
|
|
6841
6795
|
return {
|
|
6842
6796
|
event: new EventImpl(context, def, instance),
|
|
6843
|
-
start:
|
|
6844
|
-
end:
|
|
6797
|
+
start: dateEnv.toDate(range.start),
|
|
6798
|
+
end: dateEnv.toDate(range.end),
|
|
6845
6799
|
isStart: seg.isStart,
|
|
6846
6800
|
isEnd: seg.isEnd,
|
|
6847
6801
|
};
|
|
6848
6802
|
}
|
|
6849
6803
|
if (typeof moreLinkClick === 'function') {
|
|
6850
6804
|
moreLinkClick = moreLinkClick({
|
|
6851
|
-
date,
|
|
6805
|
+
date: dateEnv.toDate(date),
|
|
6852
6806
|
allDay: Boolean(props.allDayDate),
|
|
6853
6807
|
allSegs: props.segs.map(buildPublicSeg),
|
|
6854
6808
|
hiddenSegs: props.hiddenSegs.map(buildPublicSeg),
|
|
@@ -6864,6 +6818,9 @@ var FullCalendar = (function (exports) {
|
|
|
6864
6818
|
}
|
|
6865
6819
|
};
|
|
6866
6820
|
this.handlePopoverClose = () => {
|
|
6821
|
+
if (this.linkEl) { // was null sometimes when initiating drag-n-drop would hide the popover
|
|
6822
|
+
this.linkEl.focus();
|
|
6823
|
+
}
|
|
6867
6824
|
this.setState({ isPopoverOpen: false });
|
|
6868
6825
|
};
|
|
6869
6826
|
}
|
|
@@ -6885,7 +6842,7 @@ var FullCalendar = (function (exports) {
|
|
|
6885
6842
|
view: viewApi,
|
|
6886
6843
|
};
|
|
6887
6844
|
return (_(k$1, null,
|
|
6888
|
-
Boolean(moreCnt) && (_(ContentContainer, { tag:
|
|
6845
|
+
Boolean(moreCnt) && (_(ContentContainer, { tag: 'div', elRef: this.handleLinkEl, className: joinClassNames(props.className, 'fc-more-link'), style: props.style, attrs: Object.assign(Object.assign(Object.assign({}, props.attrs), createAriaClickAttrs(this.handleClick)), { title: hint, 'role': 'button', 'aria-haspopup': 'dialog', 'aria-expanded': state.isPopoverOpen, 'aria-controls': state.isPopoverOpen ? state.popoverId : undefined }), renderProps: renderProps, generatorName: "moreLinkContent", customGenerator: options.moreLinkContent, defaultGenerator: props.defaultGenerator || renderMoreLinkInner, classNameGenerator: options.moreLinkClassNames, didMount: options.moreLinkDidMount, willUnmount: options.moreLinkWillUnmount }, props.children)),
|
|
6889
6846
|
state.isPopoverOpen && (_(MorePopover, { id: state.popoverId, startDate: range.start, endDate: range.end, dateProfile: props.dateProfile, todayRange: props.todayRange, dateSpanProps: props.dateSpanProps, parentEl: this.parentEl, alignEl: props.alignElRef ?
|
|
6890
6847
|
props.alignElRef.current :
|
|
6891
6848
|
this.linkEl, alignParentTop: props.alignParentTop, forceTimed: props.forceTimed, onClose: this.handlePopoverClose }, props.popoverContent()))));
|
|
@@ -6924,7 +6881,7 @@ var FullCalendar = (function (exports) {
|
|
|
6924
6881
|
let { props, context } = this;
|
|
6925
6882
|
let { options } = context;
|
|
6926
6883
|
let renderProps = { view: context.viewApi };
|
|
6927
|
-
return (_(ContentContainer, Object.assign({}, props, { tag: props.tag || 'div', className: joinClassNames(props.className, buildViewClassName(props.viewSpec)), renderProps: renderProps, classNameGenerator: options.viewClassNames, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }), () => props.children));
|
|
6884
|
+
return (_(ContentContainer, Object.assign({}, props, { tag: props.tag || 'div', attrs: props.attrs, className: joinClassNames(props.className, buildViewClassName(props.viewSpec)), renderProps: renderProps, classNameGenerator: options.viewClassNames, generatorName: undefined, didMount: options.viewDidMount, willUnmount: options.viewWillUnmount }), () => props.children));
|
|
6928
6885
|
}
|
|
6929
6886
|
}
|
|
6930
6887
|
function buildViewClassName(viewSpec) {
|
|
@@ -7007,7 +6964,10 @@ var FullCalendar = (function (exports) {
|
|
|
7007
6964
|
callback();
|
|
7008
6965
|
}
|
|
7009
6966
|
updateSize() {
|
|
7010
|
-
|
|
6967
|
+
let cycleCount = 0;
|
|
6968
|
+
while (cycleCount++ < 3 && updateSizeSync()) {
|
|
6969
|
+
flushUpdates();
|
|
6970
|
+
}
|
|
7011
6971
|
}
|
|
7012
6972
|
// Options
|
|
7013
6973
|
// -----------------------------------------------------------------------------------------------------------------
|
|
@@ -7415,7 +7375,7 @@ var FullCalendar = (function (exports) {
|
|
|
7415
7375
|
}
|
|
7416
7376
|
}
|
|
7417
7377
|
|
|
7418
|
-
class
|
|
7378
|
+
class FooterScrollbar extends BaseComponent {
|
|
7419
7379
|
constructor() {
|
|
7420
7380
|
super(...arguments);
|
|
7421
7381
|
this.rootElRef = m$1();
|
|
@@ -7426,7 +7386,7 @@ var FullCalendar = (function (exports) {
|
|
|
7426
7386
|
// the outer dimensions change, but the inner dimensions do not. The Scroller's
|
|
7427
7387
|
// dimension-watching, when used in ponyfill-mode, can't fire on border-box change, so we
|
|
7428
7388
|
// workaround it by monitoring dimensions of a wrapper instead
|
|
7429
|
-
return (_("div", { ref: this.rootElRef, className: 'fc-
|
|
7389
|
+
return (_("div", { ref: this.rootElRef, className: joinClassNames('fc-footer-scrollbar', props.isSticky && 'fc-footer-scrollbar-sticky') },
|
|
7430
7390
|
_(Scroller, { horizontal: true, ref: props.scrollerRef },
|
|
7431
7391
|
_("div", { style: { minWidth: props.canvasWidth } }))));
|
|
7432
7392
|
}
|
|
@@ -7469,8 +7429,6 @@ var FullCalendar = (function (exports) {
|
|
|
7469
7429
|
isArraysEqual: isArraysEqual,
|
|
7470
7430
|
memoize: memoize,
|
|
7471
7431
|
memoizeObjArg: memoizeObjArg,
|
|
7472
|
-
memoizeArraylike: memoizeArraylike,
|
|
7473
|
-
memoizeHashlike: memoizeHashlike,
|
|
7474
7432
|
intersectRects: intersectRects,
|
|
7475
7433
|
pointInsideRect: pointInsideRect,
|
|
7476
7434
|
constrainPoint: constrainPoint,
|
|
@@ -7504,6 +7462,7 @@ var FullCalendar = (function (exports) {
|
|
|
7504
7462
|
watchHeight: watchHeight,
|
|
7505
7463
|
afterSize: afterSize,
|
|
7506
7464
|
buildNavLinkAttrs: buildNavLinkAttrs,
|
|
7465
|
+
buildDateStr: buildDateStr,
|
|
7507
7466
|
preventDefault: preventDefault,
|
|
7508
7467
|
whenTransitionDone: whenTransitionDone,
|
|
7509
7468
|
computeInnerRect: computeInnerRect,
|
|
@@ -7571,7 +7530,7 @@ var FullCalendar = (function (exports) {
|
|
|
7571
7530
|
sortEventSegs: sortEventSegs,
|
|
7572
7531
|
getEventRangeMeta: getEventRangeMeta,
|
|
7573
7532
|
buildEventRangeKey: buildEventRangeKey,
|
|
7574
|
-
|
|
7533
|
+
getEventTagAndAttrs: getEventTagAndAttrs,
|
|
7575
7534
|
getEventKey: getEventKey,
|
|
7576
7535
|
DayTableModel: DayTableModel,
|
|
7577
7536
|
Scroller: Scroller,
|
|
@@ -7590,9 +7549,8 @@ var FullCalendar = (function (exports) {
|
|
|
7590
7549
|
getStickyHeaderDates: getStickyHeaderDates,
|
|
7591
7550
|
getIsHeightAuto: getIsHeightAuto,
|
|
7592
7551
|
getScrollerSyncerClass: getScrollerSyncerClass,
|
|
7593
|
-
|
|
7552
|
+
Ruler: Ruler,
|
|
7594
7553
|
RefMap: RefMap,
|
|
7595
|
-
getIsRtlScrollbarOnLeft: getIsRtlScrollbarOnLeft,
|
|
7596
7554
|
NowTimer: NowTimer,
|
|
7597
7555
|
StandardEvent: StandardEvent,
|
|
7598
7556
|
NowIndicatorContainer: NowIndicatorContainer,
|
|
@@ -7617,7 +7575,7 @@ var FullCalendar = (function (exports) {
|
|
|
7617
7575
|
computeEarliestStart: computeEarliestStart,
|
|
7618
7576
|
computeLatestEnd: computeLatestEnd,
|
|
7619
7577
|
getCoordRangeEnd: getCoordRangeEnd,
|
|
7620
|
-
|
|
7578
|
+
FooterScrollbar: FooterScrollbar
|
|
7621
7579
|
};
|
|
7622
7580
|
|
|
7623
7581
|
const globalLocales = [];
|
|
@@ -7644,9 +7602,9 @@ var FullCalendar = (function (exports) {
|
|
|
7644
7602
|
weekText: 'W',
|
|
7645
7603
|
weekTextLong: 'Week',
|
|
7646
7604
|
closeHint: 'Close',
|
|
7647
|
-
|
|
7648
|
-
eventHint: 'Event',
|
|
7605
|
+
eventsHint: 'Events',
|
|
7649
7606
|
allDayText: 'all-day',
|
|
7607
|
+
timedText: 'timed',
|
|
7650
7608
|
moreLinkText: 'more',
|
|
7651
7609
|
noEventsText: 'No events to display',
|
|
7652
7610
|
};
|
|
@@ -7661,7 +7619,7 @@ var FullCalendar = (function (exports) {
|
|
|
7661
7619
|
? 'Today'
|
|
7662
7620
|
: `This ${buttonText}`;
|
|
7663
7621
|
},
|
|
7664
|
-
}, viewHint: '$0 view', navLinkHint: 'Go to $0', moreLinkHint(eventCnt) {
|
|
7622
|
+
}, viewHint: '$0 view', viewChangeHint: 'Change view', navLinkHint: 'Go to $0', moreLinkHint(eventCnt) {
|
|
7665
7623
|
return `Show ${eventCnt} more event${eventCnt === 1 ? '' : 's'}`;
|
|
7666
7624
|
} });
|
|
7667
7625
|
function organizeRawLocales(explicitRawLocales) {
|
|
@@ -8333,17 +8291,25 @@ var FullCalendar = (function (exports) {
|
|
|
8333
8291
|
return { header, footer };
|
|
8334
8292
|
}
|
|
8335
8293
|
function parseToolbar(sectionStrHash, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi) {
|
|
8336
|
-
let
|
|
8294
|
+
let isRtl = calendarOptions.direction === 'rtl';
|
|
8337
8295
|
let viewsWithButtons = [];
|
|
8338
8296
|
let hasTitle = false;
|
|
8339
|
-
|
|
8340
|
-
let sectionStr = sectionStrHash[sectionName];
|
|
8297
|
+
function processSectionStr(sectionStr) {
|
|
8341
8298
|
let sectionRes = parseSection(sectionStr, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi);
|
|
8342
|
-
sectionWidgets[sectionName] = sectionRes.widgets;
|
|
8343
8299
|
viewsWithButtons.push(...sectionRes.viewsWithButtons);
|
|
8344
8300
|
hasTitle = hasTitle || sectionRes.hasTitle;
|
|
8301
|
+
return sectionRes.widgets;
|
|
8345
8302
|
}
|
|
8346
|
-
|
|
8303
|
+
const sectionWidgets = {
|
|
8304
|
+
start: processSectionStr(sectionStrHash[isRtl ? 'right' : 'left'] || sectionStrHash.start || ''),
|
|
8305
|
+
center: processSectionStr(sectionStrHash.center || ''),
|
|
8306
|
+
end: processSectionStr(sectionStrHash[isRtl ? 'left' : 'right'] || sectionStrHash.end || ''),
|
|
8307
|
+
};
|
|
8308
|
+
return {
|
|
8309
|
+
sectionWidgets,
|
|
8310
|
+
viewsWithButtons,
|
|
8311
|
+
hasTitle,
|
|
8312
|
+
};
|
|
8347
8313
|
}
|
|
8348
8314
|
/*
|
|
8349
8315
|
BAD: querying icons and text here. should be done at render time
|
|
@@ -8371,6 +8337,7 @@ var FullCalendar = (function (exports) {
|
|
|
8371
8337
|
let buttonIcon; // only one of these will be set
|
|
8372
8338
|
let buttonText; // "
|
|
8373
8339
|
let buttonHint;
|
|
8340
|
+
let isView = false;
|
|
8374
8341
|
// ^ for the title="" attribute, for accessibility
|
|
8375
8342
|
if ((customButtonProps = calendarCustomButtons[buttonName])) {
|
|
8376
8343
|
buttonClick = (ev) => {
|
|
@@ -8384,6 +8351,7 @@ var FullCalendar = (function (exports) {
|
|
|
8384
8351
|
buttonHint = customButtonProps.hint || customButtonProps.text;
|
|
8385
8352
|
}
|
|
8386
8353
|
else if ((viewSpec = viewSpecs[buttonName])) {
|
|
8354
|
+
isView = true;
|
|
8387
8355
|
viewsWithButtons.push(buttonName);
|
|
8388
8356
|
buttonClick = () => {
|
|
8389
8357
|
calendarApi.changeView(buttonName);
|
|
@@ -8421,7 +8389,7 @@ var FullCalendar = (function (exports) {
|
|
|
8421
8389
|
], calendarButtonText[buttonName]);
|
|
8422
8390
|
}
|
|
8423
8391
|
}
|
|
8424
|
-
return { buttonName, buttonClick, buttonIcon, buttonText, buttonHint };
|
|
8392
|
+
return { buttonName, buttonClick, buttonIcon, buttonText, buttonHint, isView };
|
|
8425
8393
|
})));
|
|
8426
8394
|
return { widgets, viewsWithButtons, hasTitle };
|
|
8427
8395
|
}
|
|
@@ -9245,27 +9213,41 @@ var FullCalendar = (function (exports) {
|
|
|
9245
9213
|
}, ...children);
|
|
9246
9214
|
}
|
|
9247
9215
|
renderWidgetGroup(widgetGroup) {
|
|
9248
|
-
let { props } = this;
|
|
9249
|
-
let { theme } =
|
|
9216
|
+
let { props, context } = this;
|
|
9217
|
+
let { options, theme } = context;
|
|
9250
9218
|
let children = [];
|
|
9251
9219
|
let isOnlyButtons = true;
|
|
9220
|
+
let isOnlyView = true;
|
|
9221
|
+
for (const widget of widgetGroup) {
|
|
9222
|
+
const { buttonName, isView } = widget;
|
|
9223
|
+
if (buttonName === 'title') {
|
|
9224
|
+
isOnlyButtons = false;
|
|
9225
|
+
}
|
|
9226
|
+
else if (!isView) {
|
|
9227
|
+
isOnlyView = false;
|
|
9228
|
+
}
|
|
9229
|
+
}
|
|
9252
9230
|
for (let widget of widgetGroup) {
|
|
9253
9231
|
let { buttonName, buttonClick, buttonText, buttonIcon, buttonHint } = widget;
|
|
9254
9232
|
if (buttonName === 'title') {
|
|
9255
|
-
|
|
9256
|
-
children.push(_("h2", { className: "fc-toolbar-title" }, props.title));
|
|
9233
|
+
children.push(_("div", { role: 'heading', "aria-level": options.headingLevel, id: props.titleId, className: 'fc-toolbar-title' }, props.title));
|
|
9257
9234
|
}
|
|
9258
9235
|
else {
|
|
9259
9236
|
let isPressed = buttonName === props.activeButton;
|
|
9260
9237
|
let isDisabled = (!props.isTodayEnabled && buttonName === 'today') ||
|
|
9261
9238
|
(!props.isPrevEnabled && buttonName === 'prev') ||
|
|
9262
9239
|
(!props.isNextEnabled && buttonName === 'next');
|
|
9263
|
-
children.push(_("button", { type: "button",
|
|
9240
|
+
children.push(_("button", Object.assign({ type: "button", disabled: isDisabled }, ((isOnlyButtons && isOnlyView)
|
|
9241
|
+
? { 'role': 'tab', 'aria-selected': isPressed }
|
|
9242
|
+
: { 'aria-pressed': isPressed }), { "aria-label": typeof buttonHint === 'function' ? buttonHint(props.navUnit) : buttonHint, className: joinClassNames(`fc-${buttonName}-button`, theme.getClassName('button'), isPressed && theme.getClassName('buttonActive')), onClick: buttonClick }), buttonText || (buttonIcon ? _("span", { className: buttonIcon, "aria-hidden": true }) : '')));
|
|
9264
9243
|
}
|
|
9265
9244
|
}
|
|
9266
9245
|
if (children.length > 1) {
|
|
9267
|
-
|
|
9268
|
-
|
|
9246
|
+
return _('div', {
|
|
9247
|
+
role: (isOnlyButtons && isOnlyView) ? 'tablist' : undefined,
|
|
9248
|
+
'aria-label': (isOnlyButtons && isOnlyView) ? options.viewChangeHint : undefined,
|
|
9249
|
+
className: isOnlyButtons ? theme.getClassName('buttonGroup') : undefined,
|
|
9250
|
+
}, ...children);
|
|
9269
9251
|
}
|
|
9270
9252
|
return children[0];
|
|
9271
9253
|
}
|
|
@@ -9274,33 +9256,15 @@ var FullCalendar = (function (exports) {
|
|
|
9274
9256
|
class Toolbar extends BaseComponent {
|
|
9275
9257
|
render() {
|
|
9276
9258
|
let { model, className } = this.props;
|
|
9277
|
-
let
|
|
9278
|
-
|
|
9279
|
-
|
|
9280
|
-
|
|
9281
|
-
|
|
9282
|
-
if (sectionWidgets.left) {
|
|
9283
|
-
forceLtr = true;
|
|
9284
|
-
startContent = sectionWidgets.left;
|
|
9285
|
-
}
|
|
9286
|
-
else {
|
|
9287
|
-
startContent = sectionWidgets.start;
|
|
9288
|
-
}
|
|
9289
|
-
if (sectionWidgets.right) {
|
|
9290
|
-
forceLtr = true;
|
|
9291
|
-
endContent = sectionWidgets.right;
|
|
9292
|
-
}
|
|
9293
|
-
else {
|
|
9294
|
-
endContent = sectionWidgets.end;
|
|
9295
|
-
}
|
|
9296
|
-
return (_("div", { className: joinClassNames(className, 'fc-toolbar', forceLtr && 'fc-toolbar-ltr') },
|
|
9297
|
-
this.renderSection('start', startContent || []),
|
|
9298
|
-
this.renderSection('center', centerContent || []),
|
|
9299
|
-
this.renderSection('end', endContent || [])));
|
|
9259
|
+
let { sectionWidgets } = model;
|
|
9260
|
+
return (_("div", { className: joinClassNames(className, 'fc-toolbar') },
|
|
9261
|
+
this.renderSection('start', sectionWidgets.start),
|
|
9262
|
+
this.renderSection('center', sectionWidgets.center),
|
|
9263
|
+
this.renderSection('end', sectionWidgets.end)));
|
|
9300
9264
|
}
|
|
9301
9265
|
renderSection(key, widgetGroups) {
|
|
9302
9266
|
let { props } = this;
|
|
9303
|
-
return (_(ToolbarSection, { key: key, name: key, widgetGroups: widgetGroups, title: props.title, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled }));
|
|
9267
|
+
return (_(ToolbarSection, { key: key, name: key, widgetGroups: widgetGroups, title: props.title, titleId: props.titleId, navUnit: props.navUnit, activeButton: props.activeButton, isTodayEnabled: props.isTodayEnabled, isPrevEnabled: props.isPrevEnabled, isNextEnabled: props.isNextEnabled }));
|
|
9304
9268
|
}
|
|
9305
9269
|
}
|
|
9306
9270
|
|
|
@@ -9399,6 +9363,7 @@ var FullCalendar = (function (exports) {
|
|
|
9399
9363
|
this.buildViewPropTransformers = memoize(buildViewPropTransformers);
|
|
9400
9364
|
this.buildToolbarProps = memoize(buildToolbarProps);
|
|
9401
9365
|
this.interactionsStore = {};
|
|
9366
|
+
this.viewTitleId = getUniqueDomId();
|
|
9402
9367
|
// Component Registration
|
|
9403
9368
|
// -----------------------------------------------------------------------------------------------------------------
|
|
9404
9369
|
this.registerInteractiveComponent = (component, settingsInput) => {
|
|
@@ -9449,9 +9414,9 @@ var FullCalendar = (function (exports) {
|
|
|
9449
9414
|
}
|
|
9450
9415
|
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);
|
|
9451
9416
|
return (_(ViewContextType.Provider, { value: viewContext },
|
|
9452
|
-
toolbarConfig.header && (_(Toolbar, Object.assign({ className: "fc-header-toolbar", model: toolbarConfig.header }, toolbarProps))),
|
|
9417
|
+
toolbarConfig.header && (_(Toolbar, Object.assign({ className: "fc-header-toolbar", model: toolbarConfig.header, titleId: this.viewTitleId }, toolbarProps))),
|
|
9453
9418
|
_(ViewHarness, { height: viewHeight, heightLiquid: viewHeightLiquid, aspectRatio: viewAspectRatio },
|
|
9454
|
-
this.renderView(props),
|
|
9419
|
+
this.renderView(props, toolbarProps.title),
|
|
9455
9420
|
this.buildAppendContent()),
|
|
9456
9421
|
toolbarConfig.footer && (_(Toolbar, Object.assign({ className: "fc-footer-toolbar", model: toolbarConfig.footer }, toolbarProps)))));
|
|
9457
9422
|
}
|
|
@@ -9484,9 +9449,9 @@ var FullCalendar = (function (exports) {
|
|
|
9484
9449
|
let children = props.pluginHooks.viewContainerAppends.map((buildAppendContent) => buildAppendContent(props));
|
|
9485
9450
|
return _(k$1, {}, ...children);
|
|
9486
9451
|
}
|
|
9487
|
-
renderView(props) {
|
|
9452
|
+
renderView(props, title) {
|
|
9488
9453
|
let { pluginHooks } = props;
|
|
9489
|
-
let { viewSpec } = props;
|
|
9454
|
+
let { viewSpec, toolbarConfig } = props;
|
|
9490
9455
|
let viewProps = {
|
|
9491
9456
|
dateProfile: props.dateProfile,
|
|
9492
9457
|
businessHours: props.businessHours,
|
|
@@ -9497,6 +9462,8 @@ var FullCalendar = (function (exports) {
|
|
|
9497
9462
|
eventDrag: props.eventDrag,
|
|
9498
9463
|
eventResize: props.eventResize,
|
|
9499
9464
|
forPrint: props.forPrint,
|
|
9465
|
+
labelId: toolbarConfig.header && toolbarConfig.header.hasTitle ? this.viewTitleId : undefined,
|
|
9466
|
+
labelStr: toolbarConfig.header && toolbarConfig.header.hasTitle ? undefined : title,
|
|
9500
9467
|
};
|
|
9501
9468
|
let transformers = this.buildViewPropTransformers(pluginHooks.viewPropsTransformers);
|
|
9502
9469
|
for (let transformer of transformers) {
|
|
@@ -9597,11 +9564,6 @@ var FullCalendar = (function (exports) {
|
|
|
9597
9564
|
this.renderRunner.request();
|
|
9598
9565
|
}
|
|
9599
9566
|
}
|
|
9600
|
-
updateSize() {
|
|
9601
|
-
flushSync(() => {
|
|
9602
|
-
super.updateSize();
|
|
9603
|
-
});
|
|
9604
|
-
}
|
|
9605
9567
|
batchRendering(func) {
|
|
9606
9568
|
this.renderRunner.pause('batchRendering');
|
|
9607
9569
|
func();
|
|
@@ -9674,7 +9636,7 @@ var FullCalendar = (function (exports) {
|
|
|
9674
9636
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
9675
9637
|
}
|
|
9676
9638
|
|
|
9677
|
-
const version = '7.0.0-
|
|
9639
|
+
const version = '7.0.0-rc.0';
|
|
9678
9640
|
|
|
9679
9641
|
exports.Calendar = Calendar;
|
|
9680
9642
|
exports.Internal = internal;
|