@fullcalendar/scrollgrid 6.1.14 → 7.0.0-beta.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/internal.d.ts CHANGED
@@ -1,74 +1,44 @@
1
- import { CssDimValue } from '@fullcalendar/core';
2
- import { BaseComponent, ScrollGridProps, ScrollGridSectionConfig, ScrollGridChunkConfig, ColProps } from '@fullcalendar/core/internal';
3
- import { VNode } from '@fullcalendar/core/preact';
1
+ import { Emitter, ScrollerSyncerInterface, Scroller } from '@fullcalendar/core/internal';
4
2
 
5
- interface ScrollGridState {
6
- shrinkWidths: number[];
7
- forceYScrollbars: boolean;
8
- forceXScrollbars: boolean;
9
- scrollerClientWidths: {
10
- [index: string]: number;
11
- };
12
- scrollerClientHeights: {
13
- [index: string]: number;
14
- };
15
- sectionRowMaxHeights: number[][][];
3
+ declare class ScrollListener {
4
+ el: HTMLElement;
5
+ emitter: Emitter<any>;
6
+ private isScrolling;
7
+ private isTouching;
8
+ private isRecentlyWheeled;
9
+ private isRecentlyScrolled;
10
+ private wheelWaiter;
11
+ private scrollWaiter;
12
+ constructor(el: HTMLElement);
13
+ destroy(): void;
14
+ private startScroll;
15
+ endScroll(): void;
16
+ handleScroll: () => void;
17
+ _handleScrollWaited(): void;
18
+ handleWheel: () => void;
19
+ _handleWheelWaited(): void;
20
+ handleTouchStart: () => void;
21
+ handleTouchEnd: () => void;
16
22
  }
17
- interface ColGroupStat {
18
- hasShrinkCol: boolean;
19
- totalColWidth: number;
20
- totalColMinWidth: number;
21
- allowXScrolling: boolean;
22
- width?: CssDimValue;
23
- cols: ColProps[];
24
- }
25
- declare class ScrollGrid extends BaseComponent<ScrollGridProps, ScrollGridState> {
26
- private compileColGroupStats;
27
- private renderMicroColGroups;
28
- private clippedScrollerRefs;
29
- private scrollerElRefs;
30
- private chunkElRefs;
31
- private getStickyScrolling;
32
- private getScrollSyncersBySection;
33
- private getScrollSyncersByColumn;
34
- private scrollSyncersBySection;
35
- private scrollSyncersByColumn;
36
- private rowUnstableMap;
37
- private rowInnerMaxHeightMap;
38
- private anyRowHeightsChanged;
39
- private lastSizingDate;
40
- private recentSizingCnt;
41
- state: ScrollGridState;
42
- render(): VNode;
43
- renderSection(sectionConfig: ScrollGridSectionConfig, sectionIndex: number, colGroupStats: ColGroupStat[], microColGroupNodes: VNode[], sectionRowMaxHeights: number[][][], isHeader: boolean): VNode;
44
- renderChunk(sectionConfig: ScrollGridSectionConfig, sectionIndex: number, colGroupStat: ColGroupStat | undefined, microColGroupNode: VNode | undefined, chunkConfig: ScrollGridChunkConfig, chunkIndex: number, rowHeights: number[], isHeader: boolean): VNode;
45
- componentDidMount(): void;
46
- componentDidUpdate(prevProps: ScrollGridProps, prevState: ScrollGridState): void;
47
- componentWillUnmount(): void;
48
- handleSizing: (isForcedResize: boolean, sectionRowMaxHeightsChanged?: boolean) => void;
49
- allowSizing(): boolean;
50
- handleRowHeightChange: (rowEl: HTMLTableRowElement, isStable: boolean) => void;
51
- computeShrinkWidths(): number[];
52
- private computeSectionRowMaxHeights;
53
- computeScrollerDims(): {
54
- forceYScrollbars: boolean;
55
- forceXScrollbars: boolean;
56
- scrollerClientWidths: {
57
- [index: string]: number;
58
- };
59
- scrollerClientHeights: {
60
- [index: string]: number;
61
- };
62
- };
63
- updateStickyScrolling(): void;
64
- updateScrollSyncers(): void;
65
- destroyScrollSyncers(): void;
66
- getChunkConfigByIndex(index: number): ScrollGridChunkConfig;
67
- forceScrollLeft(col: number, scrollLeft: number): void;
68
- forceScrollTop(sectionI: number, scrollTop: number): void;
69
- _handleChunkEl(chunkEl: HTMLTableCellElement | null, key: string): void;
70
- _handleScrollerEl(scrollerEl: HTMLElement | null, key: string): void;
71
- getDims(): number[];
23
+
24
+ declare class ScrollerSyncer implements ScrollerSyncerInterface {
25
+ private isHorizontal;
26
+ private scrollers;
27
+ private scrollListeners;
28
+ private masterEl;
29
+ private isPaused;
30
+ private isRtl;
31
+ constructor(isHorizontal?: boolean);
32
+ handleChildren(scrollers: Scroller[], isRtl: boolean): void;
33
+ destroy(): void;
34
+ get x(): number;
35
+ get y(): number;
36
+ scrollTo({ x, y }: {
37
+ x?: number;
38
+ y?: number;
39
+ }): void;
40
+ bindScroller(el: HTMLElement): ScrollListener;
41
+ assignMaster(el: HTMLElement): void;
72
42
  }
73
43
 
74
- export { ScrollGrid };
44
+ export { ScrollerSyncer };