@fullcalendar/core 6.1.15 → 6.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.cjs +91 -21
- package/index.global.js +147 -74
- package/index.global.min.js +2 -2
- package/index.js +92 -22
- package/internal-common.cjs +105 -105
- package/internal-common.d.ts +19 -4
- package/internal-common.js +106 -103
- package/internal.js +1 -1
- package/locales/af.global.js +1 -1
- package/locales/af.global.min.js +1 -1
- package/locales/ar-dz.global.js +1 -1
- package/locales/ar-dz.global.min.js +1 -1
- package/locales/ar-kw.global.js +1 -1
- package/locales/ar-kw.global.min.js +1 -1
- package/locales/ar-ly.global.js +1 -1
- package/locales/ar-ly.global.min.js +1 -1
- package/locales/ar-ma.global.js +1 -1
- package/locales/ar-ma.global.min.js +1 -1
- package/locales/ar-sa.global.js +1 -1
- package/locales/ar-sa.global.min.js +1 -1
- package/locales/ar-tn.global.js +1 -1
- package/locales/ar-tn.global.min.js +1 -1
- package/locales/ar.global.js +1 -1
- package/locales/ar.global.min.js +1 -1
- package/locales/az.global.js +1 -1
- package/locales/az.global.min.js +1 -1
- package/locales/bg.global.js +1 -1
- package/locales/bg.global.min.js +1 -1
- package/locales/bn.global.js +1 -1
- package/locales/bn.global.min.js +1 -1
- package/locales/bs.global.js +1 -1
- package/locales/bs.global.min.js +1 -1
- package/locales/ca.global.js +1 -1
- package/locales/ca.global.min.js +1 -1
- package/locales/cs.global.js +1 -1
- package/locales/cs.global.min.js +1 -1
- package/locales/cy.global.js +1 -1
- package/locales/cy.global.min.js +1 -1
- package/locales/da.global.js +1 -1
- package/locales/da.global.min.js +1 -1
- package/locales/de-at.global.js +1 -1
- package/locales/de-at.global.min.js +1 -1
- package/locales/de.global.js +1 -1
- package/locales/de.global.min.js +1 -1
- package/locales/el.global.js +1 -1
- package/locales/el.global.min.js +1 -1
- package/locales/en-au.global.js +1 -1
- package/locales/en-au.global.min.js +1 -1
- package/locales/en-gb.global.js +1 -1
- package/locales/en-gb.global.min.js +1 -1
- package/locales/en-nz.global.js +1 -1
- package/locales/en-nz.global.min.js +1 -1
- package/locales/eo.global.js +1 -1
- package/locales/eo.global.min.js +1 -1
- package/locales/es-us.global.js +1 -1
- package/locales/es-us.global.min.js +1 -1
- package/locales/es.global.js +1 -1
- package/locales/es.global.min.js +1 -1
- package/locales/et.global.js +1 -1
- package/locales/et.global.min.js +1 -1
- package/locales/eu.global.js +1 -1
- package/locales/eu.global.min.js +1 -1
- package/locales/fa.global.js +1 -1
- package/locales/fa.global.min.js +1 -1
- package/locales/fi.global.js +1 -1
- package/locales/fi.global.min.js +1 -1
- package/locales/fr-ca.global.js +1 -1
- package/locales/fr-ca.global.min.js +1 -1
- package/locales/fr-ch.global.js +1 -1
- package/locales/fr-ch.global.min.js +1 -1
- package/locales/fr.global.js +1 -1
- package/locales/fr.global.min.js +1 -1
- package/locales/gl.global.js +1 -1
- package/locales/gl.global.min.js +1 -1
- package/locales/he.global.js +1 -1
- package/locales/he.global.min.js +1 -1
- package/locales/hi.global.js +1 -1
- package/locales/hi.global.min.js +1 -1
- package/locales/hr.global.js +1 -1
- package/locales/hr.global.min.js +1 -1
- package/locales/hu.global.js +1 -1
- package/locales/hu.global.min.js +1 -1
- package/locales/hy-am.global.js +1 -1
- package/locales/hy-am.global.min.js +1 -1
- package/locales/id.global.js +1 -1
- package/locales/id.global.min.js +1 -1
- package/locales/is.global.js +1 -1
- package/locales/is.global.min.js +1 -1
- package/locales/it.global.js +1 -1
- package/locales/it.global.min.js +1 -1
- package/locales/ja.global.js +1 -1
- package/locales/ja.global.min.js +1 -1
- package/locales/ka.global.js +1 -1
- package/locales/ka.global.min.js +1 -1
- package/locales/kk.global.js +1 -1
- package/locales/kk.global.min.js +1 -1
- package/locales/km.global.js +1 -1
- package/locales/km.global.min.js +1 -1
- package/locales/ko.global.js +1 -1
- package/locales/ko.global.min.js +1 -1
- package/locales/ku.global.js +1 -1
- package/locales/ku.global.min.js +1 -1
- package/locales/lb.global.js +1 -1
- package/locales/lb.global.min.js +1 -1
- package/locales/lt.global.js +1 -1
- package/locales/lt.global.min.js +1 -1
- package/locales/lv.global.js +1 -1
- package/locales/lv.global.min.js +1 -1
- package/locales/mk.global.js +1 -1
- package/locales/mk.global.min.js +1 -1
- package/locales/ms.global.js +1 -1
- package/locales/ms.global.min.js +1 -1
- package/locales/nb.global.js +1 -1
- package/locales/nb.global.min.js +1 -1
- package/locales/ne.global.js +1 -1
- package/locales/ne.global.min.js +1 -1
- package/locales/nl.global.js +1 -1
- package/locales/nl.global.min.js +1 -1
- package/locales/nn.global.js +1 -1
- package/locales/nn.global.min.js +1 -1
- package/locales/pl.global.js +1 -1
- package/locales/pl.global.min.js +1 -1
- package/locales/pt-br.global.js +1 -1
- package/locales/pt-br.global.min.js +1 -1
- package/locales/pt.global.js +1 -1
- package/locales/pt.global.min.js +1 -1
- package/locales/ro.global.js +1 -1
- package/locales/ro.global.min.js +1 -1
- package/locales/ru.global.js +1 -1
- package/locales/ru.global.min.js +1 -1
- package/locales/si-lk.global.js +1 -1
- package/locales/si-lk.global.min.js +1 -1
- package/locales/sk.global.js +1 -1
- package/locales/sk.global.min.js +1 -1
- package/locales/sl.global.js +1 -1
- package/locales/sl.global.min.js +1 -1
- package/locales/sm.global.js +1 -1
- package/locales/sm.global.min.js +1 -1
- package/locales/sq.global.js +1 -1
- package/locales/sq.global.min.js +1 -1
- package/locales/sr-cyrl.global.js +1 -1
- package/locales/sr-cyrl.global.min.js +1 -1
- package/locales/sr.global.js +1 -1
- package/locales/sr.global.min.js +1 -1
- package/locales/sv.global.js +1 -1
- package/locales/sv.global.min.js +1 -1
- package/locales/ta-in.global.js +1 -1
- package/locales/ta-in.global.min.js +1 -1
- package/locales/th.global.js +1 -1
- package/locales/th.global.min.js +1 -1
- package/locales/tr.global.js +1 -1
- package/locales/tr.global.min.js +1 -1
- package/locales/ug.global.js +1 -1
- package/locales/ug.global.min.js +1 -1
- package/locales/uk.global.js +1 -1
- package/locales/uk.global.min.js +1 -1
- package/locales/uz-cy.global.js +1 -1
- package/locales/uz-cy.global.min.js +1 -1
- package/locales/uz.global.js +1 -1
- package/locales/uz.global.min.js +1 -1
- package/locales/vi.global.js +1 -1
- package/locales/vi.global.min.js +1 -1
- package/locales/zh-cn.global.js +1 -1
- package/locales/zh-cn.global.min.js +1 -1
- package/locales/zh-tw.global.js +1 -1
- package/locales/zh-tw.global.min.js +1 -1
- package/locales-all.global.js +1 -1
- package/locales-all.global.min.js +1 -1
- package/package.json +1 -1
- package/preact.js +1 -1
package/internal-common.d.ts
CHANGED
|
@@ -389,6 +389,19 @@ declare class EventImpl implements EventApi {
|
|
|
389
389
|
}
|
|
390
390
|
declare function buildEventApis(eventStore: EventStore, context: CalendarContext, excludeInstance?: EventInstance): EventImpl[];
|
|
391
391
|
|
|
392
|
+
declare class CalendarNowManager {
|
|
393
|
+
private dateEnv?;
|
|
394
|
+
private resetListeners;
|
|
395
|
+
private nowAnchorDate?;
|
|
396
|
+
private nowAnchorQueried?;
|
|
397
|
+
private nowFn?;
|
|
398
|
+
handleInput(dateEnv: DateEnv, // will change if timezone setup changed
|
|
399
|
+
nowInput: DateInput | (() => DateInput)): void;
|
|
400
|
+
getDateMarker(): DateMarker;
|
|
401
|
+
addResetListener(handler: () => void): void;
|
|
402
|
+
removeResetListener(handler: () => void): void;
|
|
403
|
+
}
|
|
404
|
+
|
|
392
405
|
interface DateProfile {
|
|
393
406
|
currentDate: DateMarker;
|
|
394
407
|
isValid: boolean;
|
|
@@ -404,6 +417,7 @@ interface DateProfile {
|
|
|
404
417
|
}
|
|
405
418
|
interface DateProfileGeneratorProps extends DateProfileOptions {
|
|
406
419
|
dateProfileGeneratorClass: DateProfileGeneratorClass;
|
|
420
|
+
nowManager: CalendarNowManager;
|
|
407
421
|
duration: Duration;
|
|
408
422
|
durationUnit: string;
|
|
409
423
|
usesMinMaxTime: boolean;
|
|
@@ -419,7 +433,6 @@ interface DateProfileOptions {
|
|
|
419
433
|
dateIncrement?: Duration;
|
|
420
434
|
hiddenDays?: number[];
|
|
421
435
|
weekends?: boolean;
|
|
422
|
-
nowInput?: DateInput | (() => DateInput);
|
|
423
436
|
validRangeInput?: DateRangeInput | ((this: CalendarImpl, nowDate: Date) => DateRangeInput);
|
|
424
437
|
visibleRangeInput?: DateRangeInput | ((this: CalendarImpl, nowDate: Date) => DateRangeInput);
|
|
425
438
|
fixedWeekCount?: boolean;
|
|
@@ -429,7 +442,6 @@ type DateProfileGeneratorClass = {
|
|
|
429
442
|
};
|
|
430
443
|
declare class DateProfileGenerator {
|
|
431
444
|
protected props: DateProfileGeneratorProps;
|
|
432
|
-
nowDate: DateMarker;
|
|
433
445
|
isHiddenDayHash: boolean[];
|
|
434
446
|
constructor(props: DateProfileGeneratorProps);
|
|
435
447
|
buildPrev(currentDateProfile: DateProfile, currentDate: DateMarker, forceToValid?: boolean): DateProfile;
|
|
@@ -613,6 +625,7 @@ interface CalendarCurrentViewData {
|
|
|
613
625
|
}
|
|
614
626
|
type CalendarDataBase = CalendarOptionsData & CalendarCurrentViewData & CalendarDataManagerState;
|
|
615
627
|
interface CalendarData extends CalendarDataBase {
|
|
628
|
+
nowManager: CalendarNowManager;
|
|
616
629
|
viewTitle: string;
|
|
617
630
|
calendarApi: CalendarImpl;
|
|
618
631
|
dispatch: (action: Action) => void;
|
|
@@ -803,6 +816,7 @@ declare class CalendarDataManager {
|
|
|
803
816
|
private buildEventUiBases;
|
|
804
817
|
private parseContextBusinessHours;
|
|
805
818
|
private buildTitle;
|
|
819
|
+
private nowManager;
|
|
806
820
|
emitter: Emitter<Required<RefinedOptionsFromRefiners<Required<CalendarListenerRefiners>>>>;
|
|
807
821
|
private actionRunner;
|
|
808
822
|
private props;
|
|
@@ -1312,6 +1326,7 @@ interface ViewPropsTransformer {
|
|
|
1312
1326
|
type ViewContainerAppend = (context: CalendarContext) => ComponentChildren;
|
|
1313
1327
|
|
|
1314
1328
|
interface CalendarContext {
|
|
1329
|
+
nowManager: CalendarNowManager;
|
|
1315
1330
|
dateEnv: DateEnv;
|
|
1316
1331
|
options: BaseOptionsRefined;
|
|
1317
1332
|
pluginHooks: PluginHooks;
|
|
@@ -2740,8 +2755,6 @@ interface NowTimerState {
|
|
|
2740
2755
|
declare class NowTimer extends Component<NowTimerProps, NowTimerState> {
|
|
2741
2756
|
static contextType: any;
|
|
2742
2757
|
context: ViewContext;
|
|
2743
|
-
initialNowDate: DateMarker;
|
|
2744
|
-
initialNowQueriedMs: number;
|
|
2745
2758
|
timeoutId: any;
|
|
2746
2759
|
constructor(props: NowTimerProps, context: ViewContext);
|
|
2747
2760
|
render(): ComponentChildren;
|
|
@@ -2751,6 +2764,8 @@ declare class NowTimer extends Component<NowTimerProps, NowTimerState> {
|
|
|
2751
2764
|
private computeTiming;
|
|
2752
2765
|
private setTimeout;
|
|
2753
2766
|
private clearTimeout;
|
|
2767
|
+
private handleRefresh;
|
|
2768
|
+
private handleVisibilityChange;
|
|
2754
2769
|
}
|
|
2755
2770
|
|
|
2756
2771
|
interface StandardEventProps {
|
package/internal-common.js
CHANGED
|
@@ -82,7 +82,7 @@ if (typeof document !== 'undefined') {
|
|
|
82
82
|
registerStylesRoot(document);
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
|
|
85
|
+
var css_248z = ":root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url(\"data:application/x-font-ttf;charset=utf-8;base64,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\") format(\"truetype\")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:\"\\e900\"}.fc-icon-chevron-right:before{content:\"\\e901\"}.fc-icon-chevrons-left:before{content:\"\\e902\"}.fc-icon-chevrons-right:before{content:\"\\e903\"}.fc-icon-minus-square:before{content:\"\\e904\"}.fc-icon-plus-square:before{content:\"\\e905\"}.fc-icon-x:before{content:\"\\e906\"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:\"\";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:\"\";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:\"\";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}";
|
|
86
86
|
injectStyles(css_248z);
|
|
87
87
|
|
|
88
88
|
class DelayedRunner {
|
|
@@ -963,10 +963,10 @@ function memoizeHashlike(workerFunc, resEquality, teardownFunc) {
|
|
|
963
963
|
|
|
964
964
|
const EXTENDED_SETTINGS_AND_SEVERITIES = {
|
|
965
965
|
week: 3,
|
|
966
|
-
separator:
|
|
967
|
-
omitZeroMinute:
|
|
968
|
-
meridiem:
|
|
969
|
-
omitCommas:
|
|
966
|
+
separator: 9,
|
|
967
|
+
omitZeroMinute: 9,
|
|
968
|
+
meridiem: 9,
|
|
969
|
+
omitCommas: 9,
|
|
970
970
|
};
|
|
971
971
|
const STANDARD_DATE_PROP_SEVERITIES = {
|
|
972
972
|
timeZoneName: 7,
|
|
@@ -988,22 +988,25 @@ class NativeFormatter {
|
|
|
988
988
|
constructor(formatSettings) {
|
|
989
989
|
let standardDateProps = {};
|
|
990
990
|
let extendedSettings = {};
|
|
991
|
-
let
|
|
991
|
+
let smallestUnitNum = 9; // the smallest unit in the formatter (9 is a sentinel, beyond max)
|
|
992
992
|
for (let name in formatSettings) {
|
|
993
993
|
if (name in EXTENDED_SETTINGS_AND_SEVERITIES) {
|
|
994
994
|
extendedSettings[name] = formatSettings[name];
|
|
995
|
-
severity =
|
|
995
|
+
const severity = EXTENDED_SETTINGS_AND_SEVERITIES[name];
|
|
996
|
+
if (severity < 9) {
|
|
997
|
+
smallestUnitNum = Math.min(EXTENDED_SETTINGS_AND_SEVERITIES[name], smallestUnitNum);
|
|
998
|
+
}
|
|
996
999
|
}
|
|
997
1000
|
else {
|
|
998
1001
|
standardDateProps[name] = formatSettings[name];
|
|
999
1002
|
if (name in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity
|
|
1000
|
-
|
|
1003
|
+
smallestUnitNum = Math.min(STANDARD_DATE_PROP_SEVERITIES[name], smallestUnitNum);
|
|
1001
1004
|
}
|
|
1002
1005
|
}
|
|
1003
1006
|
}
|
|
1004
1007
|
this.standardDateProps = standardDateProps;
|
|
1005
1008
|
this.extendedSettings = extendedSettings;
|
|
1006
|
-
this.
|
|
1009
|
+
this.smallestUnitNum = smallestUnitNum;
|
|
1007
1010
|
this.buildFormattingFunc = memoize(buildFormattingFunc);
|
|
1008
1011
|
}
|
|
1009
1012
|
format(date, context) {
|
|
@@ -1038,8 +1041,8 @@ class NativeFormatter {
|
|
|
1038
1041
|
}
|
|
1039
1042
|
return full0 + separator + full1;
|
|
1040
1043
|
}
|
|
1041
|
-
|
|
1042
|
-
switch (this.
|
|
1044
|
+
getSmallestUnit() {
|
|
1045
|
+
switch (this.smallestUnitNum) {
|
|
1043
1046
|
case 7:
|
|
1044
1047
|
case 6:
|
|
1045
1048
|
case 5:
|
|
@@ -2311,9 +2314,10 @@ class ScrollResponder {
|
|
|
2311
2314
|
}
|
|
2312
2315
|
|
|
2313
2316
|
const ViewContextType = createContext({}); // for Components
|
|
2314
|
-
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
2317
|
+
function buildViewContext(viewSpec, viewApi, viewOptions, dateProfileGenerator, dateEnv, nowManager, theme, pluginHooks, dispatch, getCurrentData, emitter, calendarApi, registerInteractiveComponent, unregisterInteractiveComponent) {
|
|
2315
2318
|
return {
|
|
2316
2319
|
dateEnv,
|
|
2320
|
+
nowManager,
|
|
2317
2321
|
options: viewOptions,
|
|
2318
2322
|
pluginHooks,
|
|
2319
2323
|
emitter,
|
|
@@ -2746,36 +2750,9 @@ function diffDates(date0, date1, dateEnv, largeUnit) {
|
|
|
2746
2750
|
return diffDayAndTime(date0, date1); // returns a duration
|
|
2747
2751
|
}
|
|
2748
2752
|
|
|
2749
|
-
function reduceCurrentDate(currentDate, action) {
|
|
2750
|
-
switch (action.type) {
|
|
2751
|
-
case 'CHANGE_DATE':
|
|
2752
|
-
return action.dateMarker;
|
|
2753
|
-
default:
|
|
2754
|
-
return currentDate;
|
|
2755
|
-
}
|
|
2756
|
-
}
|
|
2757
|
-
function getInitialDate(options, dateEnv) {
|
|
2758
|
-
let initialDateInput = options.initialDate;
|
|
2759
|
-
// compute the initial ambig-timezone date
|
|
2760
|
-
if (initialDateInput != null) {
|
|
2761
|
-
return dateEnv.createMarker(initialDateInput);
|
|
2762
|
-
}
|
|
2763
|
-
return getNow(options.now, dateEnv); // getNow already returns unzoned
|
|
2764
|
-
}
|
|
2765
|
-
function getNow(nowInput, dateEnv) {
|
|
2766
|
-
if (typeof nowInput === 'function') {
|
|
2767
|
-
nowInput = nowInput();
|
|
2768
|
-
}
|
|
2769
|
-
if (nowInput == null) {
|
|
2770
|
-
return dateEnv.createNowMarker();
|
|
2771
|
-
}
|
|
2772
|
-
return dateEnv.createMarker(nowInput);
|
|
2773
|
-
}
|
|
2774
|
-
|
|
2775
2753
|
class DateProfileGenerator {
|
|
2776
2754
|
constructor(props) {
|
|
2777
2755
|
this.props = props;
|
|
2778
|
-
this.nowDate = getNow(props.nowInput, props.dateEnv);
|
|
2779
2756
|
this.initHiddenDays();
|
|
2780
2757
|
}
|
|
2781
2758
|
/* Date Range Computation
|
|
@@ -2860,7 +2837,7 @@ class DateProfileGenerator {
|
|
|
2860
2837
|
buildValidRange() {
|
|
2861
2838
|
let input = this.props.validRangeInput;
|
|
2862
2839
|
let simpleInput = typeof input === 'function'
|
|
2863
|
-
? input.call(this.props.calendarApi, this.
|
|
2840
|
+
? input.call(this.props.calendarApi, this.props.dateEnv.toDate(this.props.nowManager.getDateMarker()))
|
|
2864
2841
|
: input;
|
|
2865
2842
|
return this.refineRange(simpleInput) ||
|
|
2866
2843
|
{ start: null, end: null }; // completely open-ended
|
|
@@ -4752,6 +4729,85 @@ function interactionSettingsToStore(settings) {
|
|
|
4752
4729
|
// global state
|
|
4753
4730
|
const interactionSettingsStore = {};
|
|
4754
4731
|
|
|
4732
|
+
class NowTimer extends Component {
|
|
4733
|
+
constructor(props, context) {
|
|
4734
|
+
super(props, context);
|
|
4735
|
+
this.handleRefresh = () => {
|
|
4736
|
+
let timing = this.computeTiming();
|
|
4737
|
+
if (timing.state.nowDate.valueOf() !== this.state.nowDate.valueOf()) {
|
|
4738
|
+
this.setState(timing.state);
|
|
4739
|
+
}
|
|
4740
|
+
this.clearTimeout();
|
|
4741
|
+
this.setTimeout(timing.waitMs);
|
|
4742
|
+
};
|
|
4743
|
+
this.handleVisibilityChange = () => {
|
|
4744
|
+
if (!document.hidden) {
|
|
4745
|
+
this.handleRefresh();
|
|
4746
|
+
}
|
|
4747
|
+
};
|
|
4748
|
+
this.state = this.computeTiming().state;
|
|
4749
|
+
}
|
|
4750
|
+
render() {
|
|
4751
|
+
let { props, state } = this;
|
|
4752
|
+
return props.children(state.nowDate, state.todayRange);
|
|
4753
|
+
}
|
|
4754
|
+
componentDidMount() {
|
|
4755
|
+
this.setTimeout();
|
|
4756
|
+
this.context.nowManager.addResetListener(this.handleRefresh);
|
|
4757
|
+
// fired tab becomes visible after being hidden
|
|
4758
|
+
document.addEventListener('visibilitychange', this.handleVisibilityChange);
|
|
4759
|
+
}
|
|
4760
|
+
componentDidUpdate(prevProps) {
|
|
4761
|
+
if (prevProps.unit !== this.props.unit) {
|
|
4762
|
+
this.clearTimeout();
|
|
4763
|
+
this.setTimeout();
|
|
4764
|
+
}
|
|
4765
|
+
}
|
|
4766
|
+
componentWillUnmount() {
|
|
4767
|
+
this.clearTimeout();
|
|
4768
|
+
this.context.nowManager.removeResetListener(this.handleRefresh);
|
|
4769
|
+
document.removeEventListener('visibilitychange', this.handleVisibilityChange);
|
|
4770
|
+
}
|
|
4771
|
+
computeTiming() {
|
|
4772
|
+
let { props, context } = this;
|
|
4773
|
+
let unroundedNow = context.nowManager.getDateMarker();
|
|
4774
|
+
let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
|
|
4775
|
+
let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
|
|
4776
|
+
let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
|
|
4777
|
+
// there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
|
|
4778
|
+
// ensure no longer than a day
|
|
4779
|
+
waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
|
|
4780
|
+
return {
|
|
4781
|
+
state: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
|
|
4782
|
+
waitMs,
|
|
4783
|
+
};
|
|
4784
|
+
}
|
|
4785
|
+
setTimeout(waitMs = this.computeTiming().waitMs) {
|
|
4786
|
+
// NOTE: timeout could take longer than expected if tab sleeps,
|
|
4787
|
+
// which is why we listen to 'visibilitychange'
|
|
4788
|
+
this.timeoutId = setTimeout(() => {
|
|
4789
|
+
// NOTE: timeout could also return *earlier* than expected, and we need to wait 2 ms more
|
|
4790
|
+
// This is why use use same waitMs from computeTiming, so we don't skip an interval while
|
|
4791
|
+
// .setState() is executing
|
|
4792
|
+
const timing = this.computeTiming();
|
|
4793
|
+
this.setState(timing.state, () => {
|
|
4794
|
+
this.setTimeout(timing.waitMs);
|
|
4795
|
+
});
|
|
4796
|
+
}, waitMs);
|
|
4797
|
+
}
|
|
4798
|
+
clearTimeout() {
|
|
4799
|
+
if (this.timeoutId) {
|
|
4800
|
+
clearTimeout(this.timeoutId);
|
|
4801
|
+
}
|
|
4802
|
+
}
|
|
4803
|
+
}
|
|
4804
|
+
NowTimer.contextType = ViewContextType;
|
|
4805
|
+
function buildDayRange(date) {
|
|
4806
|
+
let start = startOfDay(date);
|
|
4807
|
+
let end = addDays(start, 1);
|
|
4808
|
+
return { start, end };
|
|
4809
|
+
}
|
|
4810
|
+
|
|
4755
4811
|
class CalendarImpl {
|
|
4756
4812
|
getCurrentData() {
|
|
4757
4813
|
return this.currentDataManager.getCurrentData();
|
|
@@ -4907,7 +4963,7 @@ class CalendarImpl {
|
|
|
4907
4963
|
this.unselect();
|
|
4908
4964
|
this.dispatch({
|
|
4909
4965
|
type: 'CHANGE_DATE',
|
|
4910
|
-
dateMarker:
|
|
4966
|
+
dateMarker: state.nowManager.getDateMarker(),
|
|
4911
4967
|
});
|
|
4912
4968
|
}
|
|
4913
4969
|
gotoDate(zonedDateInput) {
|
|
@@ -5308,7 +5364,7 @@ function buildEventUiForKey(allUi, eventUiForKey, individualUi) {
|
|
|
5308
5364
|
function getDateMeta(date, todayRange, nowDate, dateProfile) {
|
|
5309
5365
|
return {
|
|
5310
5366
|
dow: date.getUTCDay(),
|
|
5311
|
-
isDisabled: Boolean(dateProfile && !rangeContainsMarker(dateProfile.activeRange, date)),
|
|
5367
|
+
isDisabled: Boolean(dateProfile && (!dateProfile.activeRange || !rangeContainsMarker(dateProfile.activeRange, date))),
|
|
5312
5368
|
isOther: Boolean(dateProfile && !rangeContainsMarker(dateProfile.currentRange, date)),
|
|
5313
5369
|
isToday: Boolean(todayRange && rangeContainsMarker(todayRange, date)),
|
|
5314
5370
|
isPast: Boolean(nowDate ? (date < nowDate) : todayRange ? (date < todayRange.start) : false),
|
|
@@ -6073,7 +6129,13 @@ class TableDateCell extends BaseComponent {
|
|
|
6073
6129
|
let navLinkAttrs = (!dayMeta.isDisabled && props.colCnt > 1)
|
|
6074
6130
|
? buildNavLinkAttrs(this.context, date)
|
|
6075
6131
|
: {};
|
|
6076
|
-
let
|
|
6132
|
+
let publicDate = dateEnv.toDate(date);
|
|
6133
|
+
// workaround for Luxon (and maybe moment) returning prior-days when start-of-day
|
|
6134
|
+
// in DST gap: https://github.com/fullcalendar/fullcalendar/issues/7633
|
|
6135
|
+
if (dateEnv.namedTimeZoneImpl) {
|
|
6136
|
+
publicDate = addMs(publicDate, 3600000); // add an hour
|
|
6137
|
+
}
|
|
6138
|
+
let renderProps = Object.assign(Object.assign(Object.assign({ date: publicDate, view: viewApi }, props.extraRenderProps), { text }), dayMeta);
|
|
6077
6139
|
return (createElement(ContentContainer, { elTag: "th", elClasses: classNames, elAttrs: Object.assign({ role: 'columnheader', colSpan: props.colSpan, 'data-date': !dayMeta.isDisabled ? formatDayString(date) : undefined }, props.extraDataAttrs), renderProps: renderProps, generatorName: "dayHeaderContent", customGenerator: options.dayHeaderContent, defaultGenerator: renderInner$1, classNameGenerator: options.dayHeaderClassNames, didMount: options.dayHeaderDidMount, willUnmount: options.dayHeaderWillUnmount }, (InnerContainer) => (createElement("div", { className: "fc-scrollgrid-sync-inner" }, !dayMeta.isDisabled && (createElement(InnerContainer, { elTag: "a", elAttrs: navLinkAttrs, elClasses: [
|
|
6078
6140
|
'fc-col-header-cell-cushion',
|
|
6079
6141
|
props.isSticky && 'fc-sticky',
|
|
@@ -6112,65 +6174,6 @@ class TableDowCell extends BaseComponent {
|
|
|
6112
6174
|
}
|
|
6113
6175
|
}
|
|
6114
6176
|
|
|
6115
|
-
class NowTimer extends Component {
|
|
6116
|
-
constructor(props, context) {
|
|
6117
|
-
super(props, context);
|
|
6118
|
-
this.initialNowDate = getNow(context.options.now, context.dateEnv);
|
|
6119
|
-
this.initialNowQueriedMs = new Date().valueOf();
|
|
6120
|
-
this.state = this.computeTiming().currentState;
|
|
6121
|
-
}
|
|
6122
|
-
render() {
|
|
6123
|
-
let { props, state } = this;
|
|
6124
|
-
return props.children(state.nowDate, state.todayRange);
|
|
6125
|
-
}
|
|
6126
|
-
componentDidMount() {
|
|
6127
|
-
this.setTimeout();
|
|
6128
|
-
}
|
|
6129
|
-
componentDidUpdate(prevProps) {
|
|
6130
|
-
if (prevProps.unit !== this.props.unit) {
|
|
6131
|
-
this.clearTimeout();
|
|
6132
|
-
this.setTimeout();
|
|
6133
|
-
}
|
|
6134
|
-
}
|
|
6135
|
-
componentWillUnmount() {
|
|
6136
|
-
this.clearTimeout();
|
|
6137
|
-
}
|
|
6138
|
-
computeTiming() {
|
|
6139
|
-
let { props, context } = this;
|
|
6140
|
-
let unroundedNow = addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs);
|
|
6141
|
-
let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit);
|
|
6142
|
-
let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit));
|
|
6143
|
-
let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf();
|
|
6144
|
-
// there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)
|
|
6145
|
-
// ensure no longer than a day
|
|
6146
|
-
waitMs = Math.min(1000 * 60 * 60 * 24, waitMs);
|
|
6147
|
-
return {
|
|
6148
|
-
currentState: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) },
|
|
6149
|
-
nextState: { nowDate: nextUnitStart, todayRange: buildDayRange(nextUnitStart) },
|
|
6150
|
-
waitMs,
|
|
6151
|
-
};
|
|
6152
|
-
}
|
|
6153
|
-
setTimeout() {
|
|
6154
|
-
let { nextState, waitMs } = this.computeTiming();
|
|
6155
|
-
this.timeoutId = setTimeout(() => {
|
|
6156
|
-
this.setState(nextState, () => {
|
|
6157
|
-
this.setTimeout();
|
|
6158
|
-
});
|
|
6159
|
-
}, waitMs);
|
|
6160
|
-
}
|
|
6161
|
-
clearTimeout() {
|
|
6162
|
-
if (this.timeoutId) {
|
|
6163
|
-
clearTimeout(this.timeoutId);
|
|
6164
|
-
}
|
|
6165
|
-
}
|
|
6166
|
-
}
|
|
6167
|
-
NowTimer.contextType = ViewContextType;
|
|
6168
|
-
function buildDayRange(date) {
|
|
6169
|
-
let start = startOfDay(date);
|
|
6170
|
-
let end = addDays(start, 1);
|
|
6171
|
-
return { start, end };
|
|
6172
|
-
}
|
|
6173
|
-
|
|
6174
6177
|
class DayHeader extends BaseComponent {
|
|
6175
6178
|
constructor() {
|
|
6176
6179
|
super(...arguments);
|
|
@@ -7484,4 +7487,4 @@ class CustomRenderingStore extends Store {
|
|
|
7484
7487
|
}
|
|
7485
7488
|
}
|
|
7486
7489
|
|
|
7487
|
-
export {
|
|
7490
|
+
export { listenBySelector as $, memoizeObjArg as A, BaseComponent as B, ContentContainer as C, DelayedRunner as D, isPropsEqual as E, Emitter as F, rangeContainsMarker as G, createEmptyEventStore as H, reduceEventStore as I, rezoneEventStoreDates as J, mergeRawOptions as K, BASE_OPTION_REFINERS as L, CALENDAR_LISTENER_REFINERS as M, CALENDAR_OPTION_REFINERS as N, COMPLEX_OPTION_COMPARATORS as O, VIEW_OPTION_REFINERS as P, DateEnv as Q, DateProfileGenerator as R, createEventUi as S, Theme as T, parseBusinessHours as U, ViewContextType as V, setRef as W, Interaction as X, getElSeg as Y, elementClosest as Z, EventImpl as _, mapHash as a, preventDefault as a$, listenToHoverBySelector as a0, PureComponent as a1, buildViewContext as a2, getUniqueDomId as a3, parseInteractionSettings as a4, interactionSettingsStore as a5, NowTimer as a6, CalendarImpl as a7, flushSync as a8, CalendarRoot as a9, memoizeArraylike as aA, memoizeHashlike as aB, intersectRects as aC, pointInsideRect as aD, constrainPoint as aE, getRectCenter as aF, diffPoints as aG, translateRect as aH, compareObjs as aI, collectFromHash as aJ, findElements as aK, findDirectChildren as aL, removeElement as aM, applyStyle as aN, elementMatches as aO, getEventTargetViaRoot as aP, parseClassNames as aQ, getCanVGrowWithinCell as aR, mergeEventStores as aS, getRelevantEvents as aT, eventTupleToStore as aU, combineEventUis as aV, Splitter as aW, getDayClassNames as aX, getDateMeta as aY, getSlotClassNames as aZ, buildNavLinkAttrs as a_, RenderId as aa, ensureElHasStyles as ab, applyStyleProp as ac, sliceEventStore as ad, JsonRequestError as ae, createContext as af, refineProps as ag, createEventInstance as ah, parseEventDef as ai, refineEventDef as aj, padStart as ak, isInt as al, parseFieldSpecs as am, compareByFieldSpecs as an, flexibleCompare as ao, preventSelection as ap, allowSelection as aq, preventContextMenu as ar, allowContextMenu as as, compareNumbers as at, enableCursor as au, disableCursor as av, computeVisibleDayRange as aw, isMultiDayRange as ax, diffDates as ay, removeExact as az, buildViewClassNames as b, renderMicroColGroup as b$, whenTransitionDone as b0, computeInnerRect as b1, computeEdges as b2, getClippingParents as b3, computeRect as b4, rangesEqual as b5, rangesIntersect as b6, rangeContainsRange as b7, PositionCache as b8, ScrollController as b9, getEntrySpanEnd as bA, binarySearch as bB, groupIntersectingEntries as bC, intersectSpans as bD, interactionSettingsToStore as bE, ElementDragging as bF, config as bG, parseDragMeta as bH, DayHeader as bI, computeFallbackHeaderFormat as bJ, TableDateCell as bK, TableDowCell as bL, DaySeriesModel as bM, hasBgRendering as bN, buildSegTimeText as bO, sortEventSegs as bP, getSegMeta as bQ, buildEventRangeKey as bR, getSegAnchorAttrs as bS, DayTableModel as bT, Slicer as bU, applyMutationToEventStore as bV, isPropsValid as bW, isInteractionValid as bX, isDateSelectionValid as bY, SimpleScrollGrid as bZ, hasShrinkWidth as b_, ElementScrollController as ba, WindowScrollController as bb, DateComponent as bc, isDateSpansEqual as bd, addMs as be, addWeeks as bf, diffWeeks as bg, diffWholeWeeks as bh, diffDayAndTime as bi, diffDays as bj, isValidDate as bk, asCleanDays as bl, multiplyDuration as bm, addDurations as bn, asRoughMinutes as bo, asRoughSeconds as bp, asRoughMs as bq, wholeDivideDurations as br, formatIsoTimeString as bs, formatDayString as bt, buildIsoString as bu, formatIsoMonthStr as bv, NamedTimeZoneImpl as bw, parse as bx, SegHierarchy as by, buildEntryKey as bz, greatestDurationDenominator as c, getScrollGridClassNames as c0, getSectionClassNames as c1, getSectionHasLiquidHeight as c2, getAllowYScrolling as c3, renderChunkContent as c4, computeShrinkWidth as c5, sanitizeShrinkWidth as c6, isColPropsEqual as c7, renderScrollShim as c8, getStickyFooterScrollbar as c9, getStickyHeaderDates as ca, Scroller as cb, getScrollbarWidths as cc, RefMap as cd, getIsRtlScrollbarOnLeft as ce, ScrollResponder as cf, StandardEvent as cg, NowIndicatorContainer as ch, DayCellContainer as ci, hasCustomDayCellContent as cj, EventContainer as ck, renderFill as cl, BgEvent as cm, WeekNumberContainer as cn, MoreLinkContainer as co, computeEarliestSegStart as cp, ViewContainer as cq, triggerDateSelect as cr, getDefaultEventEnd as cs, injectStyles as ct, buildElAttrs as cu, CustomRenderingStore as cv, createDuration as d, BASE_OPTION_DEFAULTS as e, arrayToHash as f, guid as g, filterHash as h, isArraysEqual as i, buildEventSourceRefiners as j, formatWithOrdinals as k, buildRangeApiWithTimeZone as l, mergeProps as m, identity as n, intersectRanges as o, parseEventSource as p, startOfDay as q, requestJson as r, subtractDurations as s, addDays as t, unpromisify as u, hashValuesToArray as v, buildEventApis as w, createFormatter as x, diffWholeDays as y, memoize as z };
|
package/internal.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { e as BASE_OPTION_DEFAULTS, B as BaseComponent,
|
|
1
|
+
export { e as BASE_OPTION_DEFAULTS, B as BaseComponent, cm as BgEvent, a7 as CalendarImpl, a9 as CalendarRoot, C as ContentContainer, cv as CustomRenderingStore, bc as DateComponent, Q as DateEnv, R as DateProfileGenerator, ci as DayCellContainer, bI as DayHeader, bM as DaySeriesModel, bT as DayTableModel, D as DelayedRunner, bF as ElementDragging, ba as ElementScrollController, F as Emitter, ck as EventContainer, _ as EventImpl, X as Interaction, co as MoreLinkContainer, bw as NamedTimeZoneImpl, ch as NowIndicatorContainer, a6 as NowTimer, b8 as PositionCache, cd as RefMap, b9 as ScrollController, cf as ScrollResponder, cb as Scroller, by as SegHierarchy, bZ as SimpleScrollGrid, bU as Slicer, aW as Splitter, cg as StandardEvent, bK as TableDateCell, bL as TableDowCell, T as Theme, cq as ViewContainer, V as ViewContextType, cn as WeekNumberContainer, bb as WindowScrollController, t as addDays, bn as addDurations, be as addMs, bf as addWeeks, as as allowContextMenu, aq as allowSelection, bV as applyMutationToEventStore, aN as applyStyle, bl as asCleanDays, bo as asRoughMinutes, bq as asRoughMs, bp as asRoughSeconds, bB as binarySearch, cu as buildElAttrs, bz as buildEntryKey, w as buildEventApis, bR as buildEventRangeKey, bu as buildIsoString, a_ as buildNavLinkAttrs, bO as buildSegTimeText, aJ as collectFromHash, aV as combineEventUis, an as compareByFieldSpecs, at as compareNumbers, aI as compareObjs, cp as computeEarliestSegStart, b2 as computeEdges, bJ as computeFallbackHeaderFormat, b1 as computeInnerRect, b4 as computeRect, c5 as computeShrinkWidth, aw as computeVisibleDayRange, bG as config, aE as constrainPoint, d as createDuration, H as createEmptyEventStore, ah as createEventInstance, S as createEventUi, x as createFormatter, ay as diffDates, bi as diffDayAndTime, bj as diffDays, aG as diffPoints, bg as diffWeeks, y as diffWholeDays, bh as diffWholeWeeks, av as disableCursor, Z as elementClosest, aO as elementMatches, au as enableCursor, aU as eventTupleToStore, h as filterHash, aL as findDirectChildren, aK as findElements, ao as flexibleCompare, bt as formatDayString, bv as formatIsoMonthStr, bs as formatIsoTimeString, c3 as getAllowYScrolling, aR as getCanVGrowWithinCell, b3 as getClippingParents, aY as getDateMeta, aX as getDayClassNames, cs as getDefaultEventEnd, Y as getElSeg, bA as getEntrySpanEnd, aP as getEventTargetViaRoot, ce as getIsRtlScrollbarOnLeft, aF as getRectCenter, aT as getRelevantEvents, c0 as getScrollGridClassNames, cc as getScrollbarWidths, c1 as getSectionClassNames, c2 as getSectionHasLiquidHeight, bS as getSegAnchorAttrs, bQ as getSegMeta, aZ as getSlotClassNames, c9 as getStickyFooterScrollbar, ca as getStickyHeaderDates, a3 as getUniqueDomId, c as greatestDurationDenominator, bC as groupIntersectingEntries, g as guid, bN as hasBgRendering, cj as hasCustomDayCellContent, b_ as hasShrinkWidth, n as identity, ct as injectStyles, a5 as interactionSettingsStore, bE as interactionSettingsToStore, o as intersectRanges, aC as intersectRects, bD as intersectSpans, i as isArraysEqual, c7 as isColPropsEqual, bY as isDateSelectionValid, bd as isDateSpansEqual, al as isInt, bX as isInteractionValid, ax as isMultiDayRange, E as isPropsEqual, bW as isPropsValid, bk as isValidDate, a as mapHash, z as memoize, aA as memoizeArraylike, aB as memoizeHashlike, A as memoizeObjArg, aS as mergeEventStores, bm as multiplyDuration, ak as padStart, U as parseBusinessHours, aQ as parseClassNames, bH as parseDragMeta, ai as parseEventDef, am as parseFieldSpecs, bx as parseMarker, aD as pointInsideRect, ar as preventContextMenu, a$ as preventDefault, ap as preventSelection, G as rangeContainsMarker, b7 as rangeContainsRange, b5 as rangesEqual, b6 as rangesIntersect, aj as refineEventDef, ag as refineProps, aM as removeElement, az as removeExact, c4 as renderChunkContent, cl as renderFill, b$ as renderMicroColGroup, c8 as renderScrollShim, r as requestJson, c6 as sanitizeShrinkWidth, W as setRef, ad as sliceEventStore, bP as sortEventSegs, q as startOfDay, aH as translateRect, cr as triggerDateSelect, u as unpromisify, b0 as whenTransitionDone, br as wholeDivideDurations } from './internal-common.js';
|
|
2
2
|
import 'preact';
|
|
3
3
|
import 'preact/compat';
|
package/locales/af.global.js
CHANGED
package/locales/af.global.min.js
CHANGED
package/locales/ar-dz.global.js
CHANGED
package/locales/ar-kw.global.js
CHANGED
package/locales/ar-ly.global.js
CHANGED
package/locales/ar-ma.global.js
CHANGED
package/locales/ar-sa.global.js
CHANGED
package/locales/ar-tn.global.js
CHANGED
package/locales/ar.global.js
CHANGED
package/locales/ar.global.min.js
CHANGED