simple-table-core 3.8.2 → 3.8.4
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/dist/cjs/index.js +1 -1
- package/dist/cjs/src/core/SimpleTableVanilla.d.ts +17 -0
- package/dist/cjs/src/index.d.ts +2 -2
- package/dist/cjs/src/types/FilterTypes.d.ts +10 -1
- package/dist/cjs/src/types/HeaderObject.d.ts +14 -0
- package/dist/cjs/src/utils/bodyCell/types.d.ts +13 -1
- package/dist/cjs/src/utils/externalScroll.d.ts +11 -0
- package/dist/cjs/src/utils/headerCell/types.d.ts +2 -1
- package/dist/cjs/src/utils/resizeUtils/sectionWidths.d.ts +20 -0
- package/dist/cjs/stories/SimpleTable.stories.d.ts +1 -0
- package/dist/cjs/stories/examples/music/MusicWindowScrollExample.d.ts +5 -0
- package/dist/cjs/stories/examples/music/music-window.data.d.ts +47 -0
- package/dist/cjs/stories/tests/03-ColumnFilteringTests.stories.d.ts +16 -0
- package/dist/cjs/stories/tests/37-TableRefMethodsTests.stories.d.ts +8 -0
- package/dist/cjs/stories/tests/48-ExternalScrollLateParentTests.stories.d.ts +45 -0
- package/dist/index.es.js +1 -1
- package/dist/src/core/SimpleTableVanilla.d.ts +17 -0
- package/dist/src/index.d.ts +2 -2
- package/dist/src/types/FilterTypes.d.ts +10 -1
- package/dist/src/types/HeaderObject.d.ts +14 -0
- package/dist/src/utils/bodyCell/types.d.ts +13 -1
- package/dist/src/utils/externalScroll.d.ts +11 -0
- package/dist/src/utils/headerCell/types.d.ts +2 -1
- package/dist/src/utils/resizeUtils/sectionWidths.d.ts +20 -0
- package/dist/stories/SimpleTable.stories.d.ts +1 -0
- package/dist/stories/examples/music/MusicWindowScrollExample.d.ts +5 -0
- package/dist/stories/examples/music/music-window.data.d.ts +47 -0
- package/dist/stories/tests/03-ColumnFilteringTests.stories.d.ts +16 -0
- package/dist/stories/tests/37-TableRefMethodsTests.stories.d.ts +8 -0
- package/dist/stories/tests/48-ExternalScrollLateParentTests.stories.d.ts +45 -0
- package/package.json +1 -1
|
@@ -70,6 +70,15 @@ export declare class SimpleTableVanilla {
|
|
|
70
70
|
private externalParentResizeObserver;
|
|
71
71
|
/** Cached visible viewport height of the table inside the external parent. Fed into virtualization. */
|
|
72
72
|
private externalViewportHeight;
|
|
73
|
+
/**
|
|
74
|
+
* rAF handle for retrying resolution of a configured-but-not-yet-resolvable
|
|
75
|
+
* `scrollParent` (e.g. a getter pointing at a ref attached on a later commit
|
|
76
|
+
* than this table's mount). Null when no retry is pending.
|
|
77
|
+
*/
|
|
78
|
+
private externalScrollRetryRaf;
|
|
79
|
+
/** Number of resolution retries attempted; bounded so we don't spin forever. */
|
|
80
|
+
private externalScrollRetryCount;
|
|
81
|
+
private static readonly EXTERNAL_SCROLL_MAX_RETRIES;
|
|
73
82
|
/** True iff the body-container scroll listener is currently attached. */
|
|
74
83
|
private bodyScrollListenerAttached;
|
|
75
84
|
/** Bound mouseleave handler on the body container. */
|
|
@@ -180,6 +189,14 @@ export declare class SimpleTableVanilla {
|
|
|
180
189
|
* `maxHeight`). Idempotent — safe to call repeatedly.
|
|
181
190
|
*/
|
|
182
191
|
private syncExternalScrollWiring;
|
|
192
|
+
/**
|
|
193
|
+
* Retry resolving a configured `scrollParent` on the next animation frame.
|
|
194
|
+
* Used when the parent (typically a getter pointing at a ref) was not yet
|
|
195
|
+
* resolvable when external wiring last ran. Bounded by
|
|
196
|
+
* {@link SimpleTableVanilla.EXTERNAL_SCROLL_MAX_RETRIES} so a permanently
|
|
197
|
+
* unresolvable parent doesn't spin forever.
|
|
198
|
+
*/
|
|
199
|
+
private scheduleExternalScrollParentRetry;
|
|
183
200
|
private ensureBodyScrollListenerAttached;
|
|
184
201
|
private ensureBodyScrollListenerDetached;
|
|
185
202
|
private attachExternalScrollWiring;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ import type { TableAPI, SetHeaderRenameProps, ExportToCSVProps } from "./types/T
|
|
|
19
19
|
import type TableRowProps from "./types/TableRowProps";
|
|
20
20
|
import type Theme from "./types/Theme";
|
|
21
21
|
import type UpdateDataProps from "./types/UpdateCellProps";
|
|
22
|
-
import type { FilterCondition, TableFilterState } from "./types/FilterTypes";
|
|
22
|
+
import type { FilterCondition, TableFilterState, FilterOperator, StringFilterOperator, NumberFilterOperator, BooleanFilterOperator, DateFilterOperator, EnumFilterOperator } from "./types/FilterTypes";
|
|
23
23
|
import type { QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode } from "./types/QuickFilterTypes";
|
|
24
24
|
import type { ColumnVisibilityState } from "./types/ColumnVisibilityTypes";
|
|
25
25
|
import type RowSelectionChangeProps from "./types/RowSelectionChangeProps";
|
|
@@ -48,4 +48,4 @@ import type { RowId } from "./types/RowId";
|
|
|
48
48
|
import type { PinnedSectionsState } from "./types/PinnedSectionsState";
|
|
49
49
|
export { SimpleTableVanilla };
|
|
50
50
|
export { asRows } from "./utils/asRows";
|
|
51
|
-
export type { Accessor, AggregationConfig, AggregationType, AnimationsConfig, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FooterRendererProps, FooterPosition, GetRowId, GetRowIdParams, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererProps, HeaderRendererComponents, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRowProps, Theme, PinnedSectionsState, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, };
|
|
51
|
+
export type { Accessor, AggregationConfig, AggregationType, AnimationsConfig, BoundingBox, Cell, CellChangeProps, CellClickProps, CellRenderer, CellRendererProps, CellValue, ChartOptions, ColumnEditorConfig, ColumnEditorCustomRenderer, ColumnEditorCustomRendererProps, ColumnEditorRowRenderer, ColumnEditorRowRendererComponents, ColumnEditorRowRendererProps, ColumnEditorSearchFunction, ColumnType, ColumnVisibilityState, Comparator, ComparatorProps, CustomTheme, CustomThemeProps, DragHandlerProps, EmptyStateRenderer, EmptyStateRendererProps, EnumOption, ErrorStateRenderer, ErrorStateRendererProps, ExportToCSVProps, ExportValueGetter, ExportValueProps, FilterCondition, FilterOperator, StringFilterOperator, NumberFilterOperator, BooleanFilterOperator, DateFilterOperator, EnumFilterOperator, FooterRendererProps, FooterPosition, GetRowId, GetRowIdParams, IconsConfig, LoadingStateRenderer, LoadingStateRendererProps, HeaderDropdown, HeaderDropdownProps, HeaderObject, HeaderRenderer, HeaderRendererProps, HeaderRendererComponents, OnRowGroupExpandProps, OnSortProps, QuickFilterConfig, QuickFilterGetter, QuickFilterGetterProps, QuickFilterMode, Row, RowButtonProps, RowId, RowSelectionChangeProps, RowState, SetHeaderRenameProps, SharedTableProps, ShowWhen, SimpleTableConfig, SimpleTableProps, SortColumn, TableAPI, TableFilterState, TableHeaderProps, TableRowProps, Theme, PinnedSectionsState, UpdateDataProps, ValueFormatter, ValueFormatterProps, ValueGetter, ValueGetterProps, };
|
|
@@ -16,7 +16,16 @@ export interface TableFilterState {
|
|
|
16
16
|
[accessor: Accessor]: FilterCondition;
|
|
17
17
|
}
|
|
18
18
|
export declare const FILTER_OPERATOR_LABELS: Record<FilterOperator, string>;
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Returns the list of operators a column should expose in its filter UI.
|
|
21
|
+
*
|
|
22
|
+
* When `allowedOperators` is provided, the result is restricted to that list,
|
|
23
|
+
* preserving the consumer-specified order. Operators that aren't valid for the
|
|
24
|
+
* given column type are ignored. If the restriction would leave no valid
|
|
25
|
+
* operators (e.g. a misconfiguration), the full default list for the column
|
|
26
|
+
* type is returned so the filter UI never renders an empty dropdown.
|
|
27
|
+
*/
|
|
28
|
+
export declare const getAvailableOperators: (columnType: "string" | "number" | "boolean" | "date" | "enum", allowedOperators?: FilterOperator[]) => FilterOperator[];
|
|
20
29
|
export declare const requiresSingleValue: (operator: FilterOperator) => boolean;
|
|
21
30
|
export declare const requiresMultipleValues: (operator: FilterOperator) => boolean;
|
|
22
31
|
export declare const requiresNoValue: (operator: FilterOperator) => boolean;
|
|
@@ -7,6 +7,7 @@ import { HeaderRenderer } from "./HeaderRendererProps";
|
|
|
7
7
|
import CellValue from "./CellValue";
|
|
8
8
|
import { SimpleTableProps } from "./SimpleTableProps";
|
|
9
9
|
import { QuickFilterGetter } from "./QuickFilterTypes";
|
|
10
|
+
import type { FilterOperator } from "./FilterTypes";
|
|
10
11
|
export type Accessor = keyof Row | string;
|
|
11
12
|
export type ColumnType = "string" | "number" | "boolean" | "date" | "enum" | "lineAreaChart" | "barChart" | "other";
|
|
12
13
|
export type ShowWhen = "parentCollapsed" | "parentExpanded" | "always";
|
|
@@ -81,6 +82,19 @@ type HeaderObject = {
|
|
|
81
82
|
expandable?: boolean;
|
|
82
83
|
exportValueGetter?: ExportValueGetter;
|
|
83
84
|
filterable?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Restricts which filter operators are shown in this column's filter dropdown.
|
|
87
|
+
* Only operators valid for the column's `type` are honored, and they appear in
|
|
88
|
+
* the order provided here. When omitted, all operators for the column type are
|
|
89
|
+
* shown. Has no effect on `enum` columns (which use a checkbox value picker
|
|
90
|
+
* instead of an operator dropdown).
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* // String column limited to "contains" and "equals"
|
|
94
|
+
* { accessor: "name", type: "string", filterable: true,
|
|
95
|
+
* filterOperators: ["contains", "equals"] }
|
|
96
|
+
*/
|
|
97
|
+
filterOperators?: FilterOperator[];
|
|
84
98
|
headerRenderer?: HeaderRenderer;
|
|
85
99
|
hide?: boolean;
|
|
86
100
|
isEditable?: boolean;
|
|
@@ -83,8 +83,20 @@ export interface CellRenderContext {
|
|
|
83
83
|
heightOffsets?: HeightOffsets;
|
|
84
84
|
customTheme?: CustomTheme;
|
|
85
85
|
containerWidth?: number;
|
|
86
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Main section *content* width (sum of all non-pinned column widths). Drives
|
|
88
|
+
* the body section / row-separator width so the body is as wide as its
|
|
89
|
+
* content and scrolls horizontally. NOT the virtualization viewport — use
|
|
90
|
+
* `mainSectionViewportWidth` for getVisibleBodyCells.
|
|
91
|
+
*/
|
|
87
92
|
mainSectionContainerWidth?: number;
|
|
93
|
+
/**
|
|
94
|
+
* Main section *visible* viewport width (container minus pinned sections).
|
|
95
|
+
* Used by getVisibleBodyCells to decide which cells intersect the viewport
|
|
96
|
+
* (column virtualization). NOT the content width — using the content width
|
|
97
|
+
* here makes every column count as visible, disabling virtualization.
|
|
98
|
+
*/
|
|
99
|
+
mainSectionViewportWidth?: number;
|
|
88
100
|
onCellEdit?: (params: CellEditParams) => void;
|
|
89
101
|
onCellClick?: (params: CellClickParams) => void;
|
|
90
102
|
onRowGroupExpand?: (props: OnRowGroupExpandProps) => void | Promise<void>;
|
|
@@ -45,3 +45,14 @@ export declare const getExternalScrollMetrics: (parent: ResolvedScrollParent, ta
|
|
|
45
45
|
* Returns the raw scroll-top of the parent (used for direction tracking only).
|
|
46
46
|
*/
|
|
47
47
|
export declare const getParentScrollTop: (parent: ResolvedScrollParent) => number;
|
|
48
|
+
/**
|
|
49
|
+
* Height of the parent's own viewport (window.innerHeight, or the element's
|
|
50
|
+
* border-box height), independent of where the table sits inside it.
|
|
51
|
+
*
|
|
52
|
+
* Used as a provisional virtualization viewport before the table has been laid
|
|
53
|
+
* out: at that point the table∩viewport intersection is 0, which would disable
|
|
54
|
+
* virtualization and render every row at once. Seeding with the parent viewport
|
|
55
|
+
* keeps virtualization active on the first paint; a later precise recompute
|
|
56
|
+
* refines it. Returns 0 when the parent can't be measured.
|
|
57
|
+
*/
|
|
58
|
+
export declare const getParentViewportHeight: (parent: ResolvedScrollParent) => number;
|
|
@@ -52,7 +52,8 @@ export interface HeaderRenderContext {
|
|
|
52
52
|
icons: IconsConfig;
|
|
53
53
|
lastHeaderIndex: number;
|
|
54
54
|
mainBodyRef: RefObject<HTMLDivElement>;
|
|
55
|
-
mainSectionContainerWidth?: number; /** Main section
|
|
55
|
+
mainSectionContainerWidth?: number; /** Main section *content* width (sum of all non-pinned column widths). NOT the virtualization viewport. */
|
|
56
|
+
mainSectionViewportWidth?: number; /** Main section *visible* viewport width (container minus pinned); use for getVisibleCells when !pinned */
|
|
56
57
|
onColumnOrderChange?: (headers: HeaderObject[]) => void;
|
|
57
58
|
onColumnSelect?: (header: HeaderObject) => void;
|
|
58
59
|
onColumnWidthChange?: (headers: HeaderObject[]) => void;
|
|
@@ -1,4 +1,24 @@
|
|
|
1
1
|
import type HeaderObject from "../../types/HeaderObject";
|
|
2
|
+
/**
|
|
3
|
+
* Width of the *visible* portion of the main (non-pinned) section: the container
|
|
4
|
+
* width minus the pinned section widths.
|
|
5
|
+
*
|
|
6
|
+
* This is the viewport used for column virtualization (getVisibleBodyCells /
|
|
7
|
+
* getVisibleCells) — NOT `mainWidth` from {@link recalculateAllSectionWidths},
|
|
8
|
+
* which is the full *content* width (sum of all main column widths). Passing the
|
|
9
|
+
* content width here makes every column count as "in viewport", disabling column
|
|
10
|
+
* virtualization (all columns render). See the column-virtualization regression
|
|
11
|
+
* tests.
|
|
12
|
+
*
|
|
13
|
+
* Returns `undefined` when the container has not been measured yet
|
|
14
|
+
* (`containerWidth` 0) so callers fall back to a live `clientWidth` read instead
|
|
15
|
+
* of virtualizing against a 0px viewport.
|
|
16
|
+
*/
|
|
17
|
+
export declare const getMainSectionViewportWidth: ({ containerWidth, leftWidth, rightWidth, }: {
|
|
18
|
+
containerWidth: number;
|
|
19
|
+
leftWidth: number;
|
|
20
|
+
rightWidth: number;
|
|
21
|
+
}) => number | undefined;
|
|
2
22
|
/**
|
|
3
23
|
* Recalculate widths for all sections (left, right, main)
|
|
4
24
|
* Returns both constrained widths (for display) and raw content widths (for scrolling)
|
|
@@ -44,6 +44,7 @@ export declare const LiveUpdates: StoryObj;
|
|
|
44
44
|
export declare const LoadingState: StoryObj;
|
|
45
45
|
export declare const ManufacturingExample: StoryObj;
|
|
46
46
|
export declare const MusicExample: StoryObj;
|
|
47
|
+
export declare const MusicWindowScroll: StoryObj;
|
|
47
48
|
export declare const NestedGrid: StoryObj;
|
|
48
49
|
export declare const NestedAccessor: StoryObj;
|
|
49
50
|
export declare const Pagination: StoryObj;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type UniversalVanillaArgs } from "../../vanillaStoryConfig";
|
|
2
|
+
import { METRICS } from "./music-window.data";
|
|
3
|
+
export declare const musicWindowScrollExampleDefaults: Partial<UniversalVanillaArgs>;
|
|
4
|
+
export declare function renderMusicWindowScrollExample(args?: Partial<UniversalVanillaArgs>): HTMLElement;
|
|
5
|
+
export { METRICS };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Self-contained demo data for the wide window-scroll Music example.
|
|
3
|
+
*
|
|
4
|
+
* Vanilla port of the React `music.demo-data.ts`: a wide, real-world-shaped
|
|
5
|
+
* artist analytics dataset (~60 columns) generated at runtime via a
|
|
6
|
+
* deterministic PRNG so rows stay stable across reloads.
|
|
7
|
+
*/
|
|
8
|
+
export interface MusicArtist {
|
|
9
|
+
id: string;
|
|
10
|
+
rank: number;
|
|
11
|
+
rankChange: number;
|
|
12
|
+
artistName: string;
|
|
13
|
+
artistType: string;
|
|
14
|
+
pronouns: string;
|
|
15
|
+
recordLabel: string;
|
|
16
|
+
genre: string;
|
|
17
|
+
country: string;
|
|
18
|
+
countryFlag: string;
|
|
19
|
+
continent: string;
|
|
20
|
+
score: number;
|
|
21
|
+
scoreChange: number;
|
|
22
|
+
earliestAlbumReleaseDate: string;
|
|
23
|
+
latestAlbumReleaseDate: string;
|
|
24
|
+
audienceAge: Record<string, number>;
|
|
25
|
+
audienceGender: {
|
|
26
|
+
f: number;
|
|
27
|
+
m: number;
|
|
28
|
+
};
|
|
29
|
+
spotifyPopularity: number;
|
|
30
|
+
spotifyPopularityChangePercent: number;
|
|
31
|
+
spotifyFollowersToListenersRatio: number;
|
|
32
|
+
spotifyReachFollowersRatio: number;
|
|
33
|
+
youtubeEngagementRate: number;
|
|
34
|
+
instagramEngagementRate: number;
|
|
35
|
+
tiktokEngagementRate: number;
|
|
36
|
+
tiktokEngagementRateChange: number;
|
|
37
|
+
[key: string]: string | number | Record<string, number> | {
|
|
38
|
+
f: number;
|
|
39
|
+
m: number;
|
|
40
|
+
} | undefined;
|
|
41
|
+
}
|
|
42
|
+
export declare const METRICS: [string, number][];
|
|
43
|
+
export declare function generateMusicData(count?: number): MusicArtist[];
|
|
44
|
+
export declare function getMusicThemeColors(theme?: string): {
|
|
45
|
+
text: string;
|
|
46
|
+
muted: string;
|
|
47
|
+
};
|
|
@@ -68,3 +68,19 @@ export declare const EnumFilterMoreThan10OptionsShowsSearch: {
|
|
|
68
68
|
canvasElement: HTMLElement;
|
|
69
69
|
}) => Promise<void>;
|
|
70
70
|
};
|
|
71
|
+
export declare const LimitFilterOperators: {
|
|
72
|
+
render: () => HTMLDivElement & {
|
|
73
|
+
_table?: SimpleTableVanilla | undefined;
|
|
74
|
+
};
|
|
75
|
+
play: ({ canvasElement }: {
|
|
76
|
+
canvasElement: HTMLElement;
|
|
77
|
+
}) => Promise<void>;
|
|
78
|
+
};
|
|
79
|
+
export declare const LimitFilterOperatorsFallbackDefault: {
|
|
80
|
+
render: () => HTMLDivElement & {
|
|
81
|
+
_table?: SimpleTableVanilla | undefined;
|
|
82
|
+
};
|
|
83
|
+
play: ({ canvasElement }: {
|
|
84
|
+
canvasElement: HTMLElement;
|
|
85
|
+
}) => Promise<void>;
|
|
86
|
+
};
|
|
@@ -58,6 +58,14 @@ export declare const ToggleColumnEditorApplyColumnVisibility: {
|
|
|
58
58
|
canvasElement: HTMLElement;
|
|
59
59
|
}) => Promise<void>;
|
|
60
60
|
};
|
|
61
|
+
export declare const ToggleColumnEditorNoArgsRepeated: {
|
|
62
|
+
render: () => HTMLDivElement & {
|
|
63
|
+
_table?: SimpleTableVanilla | undefined;
|
|
64
|
+
};
|
|
65
|
+
play: ({ canvasElement }: {
|
|
66
|
+
canvasElement: HTMLElement;
|
|
67
|
+
}) => Promise<void>;
|
|
68
|
+
};
|
|
61
69
|
export declare const ExpandAllCollapseAllGetExpandedDepths: {
|
|
62
70
|
render: () => HTMLDivElement & {
|
|
63
71
|
_table?: SimpleTableVanilla | undefined;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EXTERNAL SCROLL — LATE-RESOLVING PARENT TESTS
|
|
3
|
+
*
|
|
4
|
+
* Regression tests for the three fixes that make external scroll mode robust
|
|
5
|
+
* when `scrollParent` is a getter that is not resolvable at mount time (the
|
|
6
|
+
* common React case: `scrollParent={() => ref.current?.parentElement}` where
|
|
7
|
+
* `ref` is on an ancestor that React attaches *after* the table's mount effect).
|
|
8
|
+
*
|
|
9
|
+
* Fix 1 — the table retries resolving the parent on later frames, so a getter
|
|
10
|
+
* that returns null at mount still wires up once it resolves.
|
|
11
|
+
* Fix 2 — while the parent is unresolved, a provisional viewport keeps row
|
|
12
|
+
* virtualization ON, so the table never renders every row at once
|
|
13
|
+
* (the original symptom was a multi-second freeze + collapsed table).
|
|
14
|
+
* Fix 3 — that provisional viewport feeds the render-window math (it is not
|
|
15
|
+
* gated on a resolved parent), so the very first render is virtualized
|
|
16
|
+
* and external-scroll mode (sticky header) engages immediately.
|
|
17
|
+
*
|
|
18
|
+
* These run in a real browser via the Storybook test-runner, so layout
|
|
19
|
+
* (getBoundingClientRect / scrollHeight / clientHeight) is real — which the
|
|
20
|
+
* external-scroll virtualization math depends on.
|
|
21
|
+
*/
|
|
22
|
+
import type { Meta } from "@storybook/html";
|
|
23
|
+
declare const meta: Meta;
|
|
24
|
+
export default meta;
|
|
25
|
+
export declare const LateResolvingParentGetsWired: {
|
|
26
|
+
tags: string[];
|
|
27
|
+
render: () => HTMLDivElement;
|
|
28
|
+
play: ({ canvasElement }: {
|
|
29
|
+
canvasElement: HTMLElement;
|
|
30
|
+
}) => Promise<void>;
|
|
31
|
+
};
|
|
32
|
+
export declare const UnresolvedParentStaysVirtualized: {
|
|
33
|
+
tags: string[];
|
|
34
|
+
render: () => HTMLDivElement;
|
|
35
|
+
play: ({ canvasElement }: {
|
|
36
|
+
canvasElement: HTMLElement;
|
|
37
|
+
}) => Promise<void>;
|
|
38
|
+
};
|
|
39
|
+
export declare const ProvisionalViewportFeedsRenderWindow: {
|
|
40
|
+
tags: string[];
|
|
41
|
+
render: () => HTMLDivElement;
|
|
42
|
+
play: ({ canvasElement }: {
|
|
43
|
+
canvasElement: HTMLElement;
|
|
44
|
+
}) => Promise<void>;
|
|
45
|
+
};
|