@fullcalendar/core 6.1.10 → 6.1.12
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 +2 -2
- package/index.global.js +43 -40
- package/index.global.min.js +2 -2
- package/index.js +2 -2
- package/internal-common.cjs +40 -37
- package/internal-common.d.ts +3 -3
- package/internal-common.js +40 -37
- 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/index.js
CHANGED
|
@@ -1908,7 +1908,7 @@ class CalendarContent extends PureComponent {
|
|
|
1908
1908
|
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);
|
|
1909
1909
|
let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)
|
|
1910
1910
|
? this.state.viewLabelId
|
|
1911
|
-
:
|
|
1911
|
+
: undefined;
|
|
1912
1912
|
return (createElement(ViewContextType.Provider, { value: viewContext },
|
|
1913
1913
|
toolbarConfig.header && (createElement(Toolbar, Object.assign({ ref: this.headerRef, extraClassName: "fc-header-toolbar", model: toolbarConfig.header, titleId: viewLabelId }, toolbarProps))),
|
|
1914
1914
|
createElement(ViewHarness, { liquid: viewVGrow, height: viewHeight, aspectRatio: viewAspectRatio, labeledById: viewLabelId },
|
|
@@ -2136,6 +2136,6 @@ function sliceEvents(props, allDay) {
|
|
|
2136
2136
|
return sliceEventStore(props.eventStore, props.eventUiBases, props.dateProfile.activeRange, allDay ? props.nextDayThreshold : null).fg;
|
|
2137
2137
|
}
|
|
2138
2138
|
|
|
2139
|
-
const version = '6.1.
|
|
2139
|
+
const version = '6.1.12';
|
|
2140
2140
|
|
|
2141
2141
|
export { Calendar, createPlugin, formatDate, formatRange, globalLocales, globalPlugins, sliceEvents, version };
|
package/internal-common.cjs
CHANGED
|
@@ -32,7 +32,9 @@ function injectStyles(styleText) {
|
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
function ensureElHasStyles(el) {
|
|
35
|
-
if (el.isConnected
|
|
35
|
+
if (el.isConnected && // sometimes true if SSR system simulates DOM
|
|
36
|
+
el.getRootNode // sometimes undefined if SSR system simulates DOM
|
|
37
|
+
) {
|
|
36
38
|
registerStylesRoot(el.getRootNode());
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -4445,7 +4447,7 @@ startOverride, endOverride) {
|
|
|
4445
4447
|
function getSegMeta(seg, todayRange, nowDate) {
|
|
4446
4448
|
let segRange = seg.eventRange.range;
|
|
4447
4449
|
return {
|
|
4448
|
-
isPast: segRange.end
|
|
4450
|
+
isPast: segRange.end <= (nowDate || todayRange.start),
|
|
4449
4451
|
isFuture: segRange.start >= (nowDate || todayRange.end),
|
|
4450
4452
|
isToday: todayRange && rangeContainsMarker(todayRange, segRange.start),
|
|
4451
4453
|
};
|
|
@@ -4708,10 +4710,14 @@ class CalendarRoot extends BaseComponent {
|
|
|
4708
4710
|
forPrint: false,
|
|
4709
4711
|
};
|
|
4710
4712
|
this.handleBeforePrint = () => {
|
|
4711
|
-
|
|
4713
|
+
flushSync(() => {
|
|
4714
|
+
this.setState({ forPrint: true });
|
|
4715
|
+
});
|
|
4712
4716
|
};
|
|
4713
4717
|
this.handleAfterPrint = () => {
|
|
4714
|
-
|
|
4718
|
+
flushSync(() => {
|
|
4719
|
+
this.setState({ forPrint: false });
|
|
4720
|
+
});
|
|
4715
4721
|
};
|
|
4716
4722
|
}
|
|
4717
4723
|
render() {
|
|
@@ -5509,10 +5515,10 @@ function computeInnerRect(el, goWithinPadding = false, doFromWindowViewport) {
|
|
|
5509
5515
|
function computeRect(el) {
|
|
5510
5516
|
let rect = el.getBoundingClientRect();
|
|
5511
5517
|
return {
|
|
5512
|
-
left: rect.left + window.
|
|
5513
|
-
top: rect.top + window.
|
|
5514
|
-
right: rect.right + window.
|
|
5515
|
-
bottom: rect.bottom + window.
|
|
5518
|
+
left: rect.left + window.scrollX,
|
|
5519
|
+
top: rect.top + window.scrollY,
|
|
5520
|
+
right: rect.right + window.scrollX,
|
|
5521
|
+
bottom: rect.bottom + window.scrollY,
|
|
5516
5522
|
};
|
|
5517
5523
|
}
|
|
5518
5524
|
function computeClippedClientRect(el) {
|
|
@@ -5703,16 +5709,16 @@ class ElementScrollController extends ScrollController {
|
|
|
5703
5709
|
}
|
|
5704
5710
|
class WindowScrollController extends ScrollController {
|
|
5705
5711
|
getScrollTop() {
|
|
5706
|
-
return window.
|
|
5712
|
+
return window.scrollY;
|
|
5707
5713
|
}
|
|
5708
5714
|
getScrollLeft() {
|
|
5709
|
-
return window.
|
|
5715
|
+
return window.scrollX;
|
|
5710
5716
|
}
|
|
5711
5717
|
setScrollTop(n) {
|
|
5712
|
-
window.scroll(window.
|
|
5718
|
+
window.scroll(window.scrollX, n);
|
|
5713
5719
|
}
|
|
5714
5720
|
setScrollLeft(n) {
|
|
5715
|
-
window.scroll(n, window.
|
|
5721
|
+
window.scroll(n, window.scrollY);
|
|
5716
5722
|
}
|
|
5717
5723
|
getScrollWidth() {
|
|
5718
5724
|
return document.documentElement.scrollWidth;
|
|
@@ -5770,8 +5776,8 @@ class NamedTimeZoneImpl {
|
|
|
5770
5776
|
|
|
5771
5777
|
class SegHierarchy {
|
|
5772
5778
|
constructor(getEntryThickness = (entry) => {
|
|
5773
|
-
//
|
|
5774
|
-
return entry.thickness;
|
|
5779
|
+
// if no thickness known, assume 1 (if 0, so small it always fits)
|
|
5780
|
+
return entry.thickness || 1;
|
|
5775
5781
|
}) {
|
|
5776
5782
|
this.getEntryThickness = getEntryThickness;
|
|
5777
5783
|
// settings
|
|
@@ -5794,51 +5800,45 @@ class SegHierarchy {
|
|
|
5794
5800
|
let insertion = this.findInsertion(entry);
|
|
5795
5801
|
if (this.isInsertionValid(insertion, entry)) {
|
|
5796
5802
|
this.insertEntryAt(entry, insertion);
|
|
5797
|
-
return 1;
|
|
5798
5803
|
}
|
|
5799
|
-
|
|
5804
|
+
else {
|
|
5805
|
+
this.handleInvalidInsertion(insertion, entry, hiddenEntries);
|
|
5806
|
+
}
|
|
5800
5807
|
}
|
|
5801
5808
|
isInsertionValid(insertion, entry) {
|
|
5802
5809
|
return (this.maxCoord === -1 || insertion.levelCoord + this.getEntryThickness(entry) <= this.maxCoord) &&
|
|
5803
5810
|
(this.maxStackCnt === -1 || insertion.stackCnt < this.maxStackCnt);
|
|
5804
5811
|
}
|
|
5805
|
-
// returns number of new entries inserted
|
|
5806
5812
|
handleInvalidInsertion(insertion, entry, hiddenEntries) {
|
|
5807
5813
|
if (this.allowReslicing && insertion.touchingEntry) {
|
|
5808
|
-
|
|
5814
|
+
const hiddenEntry = Object.assign(Object.assign({}, entry), { span: intersectSpans(entry.span, insertion.touchingEntry.span) });
|
|
5815
|
+
hiddenEntries.push(hiddenEntry);
|
|
5816
|
+
this.splitEntry(entry, insertion.touchingEntry, hiddenEntries);
|
|
5817
|
+
}
|
|
5818
|
+
else {
|
|
5819
|
+
hiddenEntries.push(entry);
|
|
5809
5820
|
}
|
|
5810
|
-
hiddenEntries.push(entry);
|
|
5811
|
-
return 0;
|
|
5812
5821
|
}
|
|
5822
|
+
/*
|
|
5823
|
+
Does NOT add what hit the `barrier` into hiddenEntries. Should already be done.
|
|
5824
|
+
*/
|
|
5813
5825
|
splitEntry(entry, barrier, hiddenEntries) {
|
|
5814
|
-
let partCnt = 0;
|
|
5815
|
-
let splitHiddenEntries = [];
|
|
5816
5826
|
let entrySpan = entry.span;
|
|
5817
5827
|
let barrierSpan = barrier.span;
|
|
5818
5828
|
if (entrySpan.start < barrierSpan.start) {
|
|
5819
|
-
|
|
5829
|
+
this.insertEntry({
|
|
5820
5830
|
index: entry.index,
|
|
5821
5831
|
thickness: entry.thickness,
|
|
5822
5832
|
span: { start: entrySpan.start, end: barrierSpan.start },
|
|
5823
|
-
},
|
|
5833
|
+
}, hiddenEntries);
|
|
5824
5834
|
}
|
|
5825
5835
|
if (entrySpan.end > barrierSpan.end) {
|
|
5826
|
-
|
|
5836
|
+
this.insertEntry({
|
|
5827
5837
|
index: entry.index,
|
|
5828
5838
|
thickness: entry.thickness,
|
|
5829
5839
|
span: { start: barrierSpan.end, end: entrySpan.end },
|
|
5830
|
-
},
|
|
5831
|
-
}
|
|
5832
|
-
if (partCnt) {
|
|
5833
|
-
hiddenEntries.push({
|
|
5834
|
-
index: entry.index,
|
|
5835
|
-
thickness: entry.thickness,
|
|
5836
|
-
span: intersectSpans(barrierSpan, entrySpan), // guaranteed to intersect
|
|
5837
|
-
}, ...splitHiddenEntries);
|
|
5838
|
-
return partCnt;
|
|
5840
|
+
}, hiddenEntries);
|
|
5839
5841
|
}
|
|
5840
|
-
hiddenEntries.push(entry);
|
|
5841
|
-
return 0;
|
|
5842
5842
|
}
|
|
5843
5843
|
insertEntryAt(entry, insertion) {
|
|
5844
5844
|
let { entriesByLevel, levelCoords } = this;
|
|
@@ -5853,6 +5853,9 @@ class SegHierarchy {
|
|
|
5853
5853
|
}
|
|
5854
5854
|
this.stackCnts[buildEntryKey(entry)] = insertion.stackCnt;
|
|
5855
5855
|
}
|
|
5856
|
+
/*
|
|
5857
|
+
does not care about limits
|
|
5858
|
+
*/
|
|
5856
5859
|
findInsertion(newEntry) {
|
|
5857
5860
|
let { levelCoords, entriesByLevel, strictOrder, stackCnts } = this;
|
|
5858
5861
|
let levelCnt = levelCoords.length;
|
|
@@ -5862,7 +5865,7 @@ class SegHierarchy {
|
|
|
5862
5865
|
let touchingEntry = null;
|
|
5863
5866
|
let stackCnt = 0;
|
|
5864
5867
|
for (let trackingLevel = 0; trackingLevel < levelCnt; trackingLevel += 1) {
|
|
5865
|
-
|
|
5868
|
+
const trackingCoord = levelCoords[trackingLevel];
|
|
5866
5869
|
// if the current level is past the placed entry, we have found a good empty space and can stop.
|
|
5867
5870
|
// if strictOrder, keep finding more lateral intersections.
|
|
5868
5871
|
if (!strictOrder && trackingCoord >= candidateCoord + this.getEntryThickness(newEntry)) {
|
package/internal-common.d.ts
CHANGED
|
@@ -2478,10 +2478,10 @@ declare class SegHierarchy {
|
|
|
2478
2478
|
};
|
|
2479
2479
|
constructor(getEntryThickness?: (entry: SegEntry) => number);
|
|
2480
2480
|
addSegs(inputs: SegEntry[]): SegEntry[];
|
|
2481
|
-
insertEntry(entry: SegEntry, hiddenEntries: SegEntry[]):
|
|
2481
|
+
insertEntry(entry: SegEntry, hiddenEntries: SegEntry[]): void;
|
|
2482
2482
|
isInsertionValid(insertion: SegInsertion, entry: SegEntry): boolean;
|
|
2483
|
-
handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]):
|
|
2484
|
-
splitEntry(entry: SegEntry, barrier: SegEntry, hiddenEntries: SegEntry[]):
|
|
2483
|
+
handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]): void;
|
|
2484
|
+
splitEntry(entry: SegEntry, barrier: SegEntry, hiddenEntries: SegEntry[]): void;
|
|
2485
2485
|
insertEntryAt(entry: SegEntry, insertion: SegInsertion): void;
|
|
2486
2486
|
findInsertion(newEntry: SegEntry): SegInsertion;
|
|
2487
2487
|
toRects(): SegRect[];
|
package/internal-common.js
CHANGED
|
@@ -11,7 +11,9 @@ function injectStyles(styleText) {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
function ensureElHasStyles(el) {
|
|
14
|
-
if (el.isConnected
|
|
14
|
+
if (el.isConnected && // sometimes true if SSR system simulates DOM
|
|
15
|
+
el.getRootNode // sometimes undefined if SSR system simulates DOM
|
|
16
|
+
) {
|
|
15
17
|
registerStylesRoot(el.getRootNode());
|
|
16
18
|
}
|
|
17
19
|
}
|
|
@@ -4424,7 +4426,7 @@ startOverride, endOverride) {
|
|
|
4424
4426
|
function getSegMeta(seg, todayRange, nowDate) {
|
|
4425
4427
|
let segRange = seg.eventRange.range;
|
|
4426
4428
|
return {
|
|
4427
|
-
isPast: segRange.end
|
|
4429
|
+
isPast: segRange.end <= (nowDate || todayRange.start),
|
|
4428
4430
|
isFuture: segRange.start >= (nowDate || todayRange.end),
|
|
4429
4431
|
isToday: todayRange && rangeContainsMarker(todayRange, segRange.start),
|
|
4430
4432
|
};
|
|
@@ -4687,10 +4689,14 @@ class CalendarRoot extends BaseComponent {
|
|
|
4687
4689
|
forPrint: false,
|
|
4688
4690
|
};
|
|
4689
4691
|
this.handleBeforePrint = () => {
|
|
4690
|
-
|
|
4692
|
+
flushSync(() => {
|
|
4693
|
+
this.setState({ forPrint: true });
|
|
4694
|
+
});
|
|
4691
4695
|
};
|
|
4692
4696
|
this.handleAfterPrint = () => {
|
|
4693
|
-
|
|
4697
|
+
flushSync(() => {
|
|
4698
|
+
this.setState({ forPrint: false });
|
|
4699
|
+
});
|
|
4694
4700
|
};
|
|
4695
4701
|
}
|
|
4696
4702
|
render() {
|
|
@@ -5488,10 +5494,10 @@ function computeInnerRect(el, goWithinPadding = false, doFromWindowViewport) {
|
|
|
5488
5494
|
function computeRect(el) {
|
|
5489
5495
|
let rect = el.getBoundingClientRect();
|
|
5490
5496
|
return {
|
|
5491
|
-
left: rect.left + window.
|
|
5492
|
-
top: rect.top + window.
|
|
5493
|
-
right: rect.right + window.
|
|
5494
|
-
bottom: rect.bottom + window.
|
|
5497
|
+
left: rect.left + window.scrollX,
|
|
5498
|
+
top: rect.top + window.scrollY,
|
|
5499
|
+
right: rect.right + window.scrollX,
|
|
5500
|
+
bottom: rect.bottom + window.scrollY,
|
|
5495
5501
|
};
|
|
5496
5502
|
}
|
|
5497
5503
|
function computeClippedClientRect(el) {
|
|
@@ -5682,16 +5688,16 @@ class ElementScrollController extends ScrollController {
|
|
|
5682
5688
|
}
|
|
5683
5689
|
class WindowScrollController extends ScrollController {
|
|
5684
5690
|
getScrollTop() {
|
|
5685
|
-
return window.
|
|
5691
|
+
return window.scrollY;
|
|
5686
5692
|
}
|
|
5687
5693
|
getScrollLeft() {
|
|
5688
|
-
return window.
|
|
5694
|
+
return window.scrollX;
|
|
5689
5695
|
}
|
|
5690
5696
|
setScrollTop(n) {
|
|
5691
|
-
window.scroll(window.
|
|
5697
|
+
window.scroll(window.scrollX, n);
|
|
5692
5698
|
}
|
|
5693
5699
|
setScrollLeft(n) {
|
|
5694
|
-
window.scroll(n, window.
|
|
5700
|
+
window.scroll(n, window.scrollY);
|
|
5695
5701
|
}
|
|
5696
5702
|
getScrollWidth() {
|
|
5697
5703
|
return document.documentElement.scrollWidth;
|
|
@@ -5749,8 +5755,8 @@ class NamedTimeZoneImpl {
|
|
|
5749
5755
|
|
|
5750
5756
|
class SegHierarchy {
|
|
5751
5757
|
constructor(getEntryThickness = (entry) => {
|
|
5752
|
-
//
|
|
5753
|
-
return entry.thickness;
|
|
5758
|
+
// if no thickness known, assume 1 (if 0, so small it always fits)
|
|
5759
|
+
return entry.thickness || 1;
|
|
5754
5760
|
}) {
|
|
5755
5761
|
this.getEntryThickness = getEntryThickness;
|
|
5756
5762
|
// settings
|
|
@@ -5773,51 +5779,45 @@ class SegHierarchy {
|
|
|
5773
5779
|
let insertion = this.findInsertion(entry);
|
|
5774
5780
|
if (this.isInsertionValid(insertion, entry)) {
|
|
5775
5781
|
this.insertEntryAt(entry, insertion);
|
|
5776
|
-
return 1;
|
|
5777
5782
|
}
|
|
5778
|
-
|
|
5783
|
+
else {
|
|
5784
|
+
this.handleInvalidInsertion(insertion, entry, hiddenEntries);
|
|
5785
|
+
}
|
|
5779
5786
|
}
|
|
5780
5787
|
isInsertionValid(insertion, entry) {
|
|
5781
5788
|
return (this.maxCoord === -1 || insertion.levelCoord + this.getEntryThickness(entry) <= this.maxCoord) &&
|
|
5782
5789
|
(this.maxStackCnt === -1 || insertion.stackCnt < this.maxStackCnt);
|
|
5783
5790
|
}
|
|
5784
|
-
// returns number of new entries inserted
|
|
5785
5791
|
handleInvalidInsertion(insertion, entry, hiddenEntries) {
|
|
5786
5792
|
if (this.allowReslicing && insertion.touchingEntry) {
|
|
5787
|
-
|
|
5793
|
+
const hiddenEntry = Object.assign(Object.assign({}, entry), { span: intersectSpans(entry.span, insertion.touchingEntry.span) });
|
|
5794
|
+
hiddenEntries.push(hiddenEntry);
|
|
5795
|
+
this.splitEntry(entry, insertion.touchingEntry, hiddenEntries);
|
|
5796
|
+
}
|
|
5797
|
+
else {
|
|
5798
|
+
hiddenEntries.push(entry);
|
|
5788
5799
|
}
|
|
5789
|
-
hiddenEntries.push(entry);
|
|
5790
|
-
return 0;
|
|
5791
5800
|
}
|
|
5801
|
+
/*
|
|
5802
|
+
Does NOT add what hit the `barrier` into hiddenEntries. Should already be done.
|
|
5803
|
+
*/
|
|
5792
5804
|
splitEntry(entry, barrier, hiddenEntries) {
|
|
5793
|
-
let partCnt = 0;
|
|
5794
|
-
let splitHiddenEntries = [];
|
|
5795
5805
|
let entrySpan = entry.span;
|
|
5796
5806
|
let barrierSpan = barrier.span;
|
|
5797
5807
|
if (entrySpan.start < barrierSpan.start) {
|
|
5798
|
-
|
|
5808
|
+
this.insertEntry({
|
|
5799
5809
|
index: entry.index,
|
|
5800
5810
|
thickness: entry.thickness,
|
|
5801
5811
|
span: { start: entrySpan.start, end: barrierSpan.start },
|
|
5802
|
-
},
|
|
5812
|
+
}, hiddenEntries);
|
|
5803
5813
|
}
|
|
5804
5814
|
if (entrySpan.end > barrierSpan.end) {
|
|
5805
|
-
|
|
5815
|
+
this.insertEntry({
|
|
5806
5816
|
index: entry.index,
|
|
5807
5817
|
thickness: entry.thickness,
|
|
5808
5818
|
span: { start: barrierSpan.end, end: entrySpan.end },
|
|
5809
|
-
},
|
|
5810
|
-
}
|
|
5811
|
-
if (partCnt) {
|
|
5812
|
-
hiddenEntries.push({
|
|
5813
|
-
index: entry.index,
|
|
5814
|
-
thickness: entry.thickness,
|
|
5815
|
-
span: intersectSpans(barrierSpan, entrySpan), // guaranteed to intersect
|
|
5816
|
-
}, ...splitHiddenEntries);
|
|
5817
|
-
return partCnt;
|
|
5819
|
+
}, hiddenEntries);
|
|
5818
5820
|
}
|
|
5819
|
-
hiddenEntries.push(entry);
|
|
5820
|
-
return 0;
|
|
5821
5821
|
}
|
|
5822
5822
|
insertEntryAt(entry, insertion) {
|
|
5823
5823
|
let { entriesByLevel, levelCoords } = this;
|
|
@@ -5832,6 +5832,9 @@ class SegHierarchy {
|
|
|
5832
5832
|
}
|
|
5833
5833
|
this.stackCnts[buildEntryKey(entry)] = insertion.stackCnt;
|
|
5834
5834
|
}
|
|
5835
|
+
/*
|
|
5836
|
+
does not care about limits
|
|
5837
|
+
*/
|
|
5835
5838
|
findInsertion(newEntry) {
|
|
5836
5839
|
let { levelCoords, entriesByLevel, strictOrder, stackCnts } = this;
|
|
5837
5840
|
let levelCnt = levelCoords.length;
|
|
@@ -5841,7 +5844,7 @@ class SegHierarchy {
|
|
|
5841
5844
|
let touchingEntry = null;
|
|
5842
5845
|
let stackCnt = 0;
|
|
5843
5846
|
for (let trackingLevel = 0; trackingLevel < levelCnt; trackingLevel += 1) {
|
|
5844
|
-
|
|
5847
|
+
const trackingCoord = levelCoords[trackingLevel];
|
|
5845
5848
|
// if the current level is past the placed entry, we have found a good empty space and can stop.
|
|
5846
5849
|
// if strictOrder, keep finding more lateral intersections.
|
|
5847
5850
|
if (!strictOrder && trackingCoord >= candidateCoord + this.getEntryThickness(newEntry)) {
|
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
package/locales/az.global.js
CHANGED
package/locales/az.global.min.js
CHANGED
package/locales/bg.global.js
CHANGED
package/locales/bg.global.min.js
CHANGED
package/locales/bn.global.js
CHANGED
package/locales/bn.global.min.js
CHANGED
package/locales/bs.global.js
CHANGED
package/locales/bs.global.min.js
CHANGED
package/locales/ca.global.js
CHANGED
package/locales/ca.global.min.js
CHANGED
package/locales/cs.global.js
CHANGED
package/locales/cs.global.min.js
CHANGED
package/locales/cy.global.js
CHANGED
package/locales/cy.global.min.js
CHANGED
package/locales/da.global.js
CHANGED
package/locales/da.global.min.js
CHANGED
package/locales/de-at.global.js
CHANGED
package/locales/de.global.js
CHANGED