@ixfx/components 0.5.19 → 0.5.20
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/bundle/index.d.ts +95 -115
- package/bundle/index.d.ts.map +1 -1
- package/bundle/index.js +484 -325
- package/bundle/index.js.map +1 -1
- package/dist/ac-text.d.ts +7 -12
- package/dist/ac-text.d.ts.map +1 -1
- package/dist/ac-text.js +5 -4
- package/dist/ac-text.js.map +1 -1
- package/dist/{button-CphdEaZd.js → button-pcDaCemT.js} +2 -2
- package/dist/{button-CphdEaZd.js.map → button-pcDaCemT.js.map} +1 -1
- package/dist/button.d.ts +3 -2
- package/dist/button.d.ts.map +1 -1
- package/dist/button.js +1 -1
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.d.ts.map +1 -1
- package/dist/checkbox.js +2 -2
- package/dist/checkbox.js.map +1 -1
- package/dist/{colour-picker-37NyVenk.js → colour-picker-D43Q96r0.js} +28 -15
- package/dist/colour-picker-D43Q96r0.js.map +1 -0
- package/dist/colour-picker.d.ts +1 -1
- package/dist/colour-picker.js +1 -1
- package/dist/{crumb-navigation-BrB0r14u.js → crumb-navigation-Pif-kupA.js} +10 -9
- package/dist/{crumb-navigation-BrB0r14u.js.map → crumb-navigation-Pif-kupA.js.map} +1 -1
- package/dist/crumbs.d.ts +2 -4
- package/dist/crumbs.d.ts.map +1 -1
- package/dist/crumbs.js +1 -1
- package/dist/data-display.d.ts +2 -1
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +23 -25
- package/dist/data-display.js.map +1 -1
- package/dist/{decorate-VRK8rslU.js → decorate-DdjvVHS-.js} +2 -2
- package/dist/{decorate-VRK8rslU.js.map → decorate-DdjvVHS-.js.map} +1 -1
- package/dist/editable-label.d.ts +2 -1
- package/dist/editable-label.d.ts.map +1 -1
- package/dist/editable-label.js +2 -2
- package/dist/editable-label.js.map +1 -1
- package/dist/fallbacks-DEE1nCTt.js +406 -0
- package/dist/fallbacks-DEE1nCTt.js.map +1 -0
- package/dist/{hex-editor-Bk6rxhfg.js → hex-editor-B-UI4OZu.js} +8 -6
- package/dist/{hex-editor-Bk6rxhfg.js.map → hex-editor-B-UI4OZu.js.map} +1 -1
- package/dist/{hex-editor-Caq8vNQk.d.ts → hex-editor-CMIxtNgT.d.ts} +3 -2
- package/dist/hex-editor-CMIxtNgT.d.ts.map +1 -0
- package/dist/hex.d.ts +1 -1
- package/dist/hex.js +1 -1
- package/dist/highlight-B-eQrhhb.js.map +1 -1
- package/dist/{icon-BUwP1CZ1.d.ts → icon-Bd5BiU4b.d.ts} +4 -3
- package/dist/icon-Bd5BiU4b.d.ts.map +1 -0
- package/dist/{icon-DG9Lm3LT.js → icon-CK14NUcE.js} +5 -7
- package/dist/{icon-DG9Lm3LT.js.map → icon-CK14NUcE.js.map} +1 -1
- package/dist/icons.d.ts +2 -2
- package/dist/icons.js +1 -1
- package/dist/{incr-search-2pz21xtR.js → incr-search-CeERfijK.js} +6 -9
- package/dist/{incr-search-2pz21xtR.js.map → incr-search-CeERfijK.js.map} +1 -1
- package/dist/incr-search.d.ts +1 -1
- package/dist/incr-search.js +1 -1
- package/dist/{index-D9u_Q7-b.d.ts → index-BslNaMLo.d.ts} +3 -3
- package/dist/index-BslNaMLo.d.ts.map +1 -0
- package/dist/{index-DkhBGHgF.d.ts → index-Cdmrn0SZ.d.ts} +11 -11
- package/dist/index-Cdmrn0SZ.d.ts.map +1 -0
- package/dist/{index-BUB5SICW.d.ts → index-CkMIKEWp.d.ts} +4 -3
- package/dist/index-CkMIKEWp.d.ts.map +1 -0
- package/dist/{index-RqMh1i-O.d.ts → index-D87kRcEs.d.ts} +1 -2
- package/dist/index-D87kRcEs.d.ts.map +1 -0
- package/dist/{index-BKAlRgbq.d.ts → index-DrKRD8_a.d.ts} +7 -4
- package/dist/index-DrKRD8_a.d.ts.map +1 -0
- package/dist/{index-BeuCXtiO.d.ts → index-tX6fKF8m.d.ts} +3 -3
- package/dist/index-tX6fKF8m.d.ts.map +1 -0
- package/dist/index.d.ts +48 -53
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -118
- package/dist/index.js.map +1 -1
- package/dist/interaction-_Y2qO3QI.js +1 -0
- package/dist/{labelled-input-base-hoKGwyKT.js → labelled-input-base-9K_w3oLj.js} +2 -2
- package/dist/{labelled-input-base-hoKGwyKT.js.map → labelled-input-base-9K_w3oLj.js.map} +1 -1
- package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-ORb1rGq6.d.ts} +3 -2
- package/dist/labelled-input-base-ORb1rGq6.d.ts.map +1 -0
- package/dist/labelled-radial-input.d.ts +5 -4
- package/dist/labelled-radial-input.d.ts.map +1 -1
- package/dist/labelled-radial-input.js +4 -4
- package/dist/labelled-radial-input.js.map +1 -1
- package/dist/labelled-range-input.d.ts +1 -1
- package/dist/labelled-range-input.js +2 -2
- package/dist/labelled-range-input.js.map +1 -1
- package/dist/led.d.ts +2 -2
- package/dist/led.d.ts.map +1 -1
- package/dist/led.js +3 -5
- package/dist/led.js.map +1 -1
- package/dist/{menu-CdwSe_XN.js → menu-BiFarLUA.js} +9 -8
- package/dist/{menu-CdwSe_XN.js.map → menu-BiFarLUA.js.map} +1 -1
- package/dist/{menu-item-BG5w7fi4.d.ts → menu-item-AtoP6bD4.d.ts} +4 -4
- package/dist/menu-item-AtoP6bD4.d.ts.map +1 -0
- package/dist/{menu-item-CrmUwIoJ.js → menu-item-yHSPV8nS.js} +10 -9
- package/dist/{menu-item-CrmUwIoJ.js.map → menu-item-yHSPV8nS.js.map} +1 -1
- package/dist/menu.d.ts +2 -2
- package/dist/menu.js +2 -2
- package/dist/miller.d.ts +5 -7
- package/dist/miller.d.ts.map +1 -1
- package/dist/miller.js +26 -24
- package/dist/miller.js.map +1 -1
- package/dist/narrowed-text.d.ts +2 -1
- package/dist/narrowed-text.d.ts.map +1 -1
- package/dist/narrowed-text.js +14 -15
- package/dist/narrowed-text.js.map +1 -1
- package/dist/panel.d.ts +1 -1
- package/dist/panel.d.ts.map +1 -1
- package/dist/panel.js +3 -3
- package/dist/panel.js.map +1 -1
- package/dist/plots.d.ts +1 -1
- package/dist/plots.js +1 -1
- package/dist/polar-pad.d.ts +2 -1
- package/dist/polar-pad.d.ts.map +1 -1
- package/dist/polar-pad.js +3 -3
- package/dist/polar-pad.js.map +1 -1
- package/dist/{radial-input-CVxGH-Cp.js → radial-input-C4f-2Bya.js} +15 -25
- package/dist/{radial-input-CVxGH-Cp.js.map → radial-input-C4f-2Bya.js.map} +1 -1
- package/dist/{radial-input-BhZeyyP-.d.ts → radial-input-Dhu5ZGP5.d.ts} +3 -2
- package/dist/radial-input-Dhu5ZGP5.d.ts.map +1 -0
- package/dist/radial-input.d.ts +1 -1
- package/dist/radial-input.js +1 -1
- package/dist/range-input.d.ts +3 -2
- package/dist/range-input.d.ts.map +1 -1
- package/dist/range-input.js +3 -3
- package/dist/range-input.js.map +1 -1
- package/dist/range.d.ts +3 -2
- package/dist/range.d.ts.map +1 -1
- package/dist/range.js +3 -3
- package/dist/range.js.map +1 -1
- package/dist/selecthorizontal.d.ts +2 -1
- package/dist/selecthorizontal.d.ts.map +1 -1
- package/dist/selecthorizontal.js +2 -2
- package/dist/selecthorizontal.js.map +1 -1
- package/dist/{slider-input-TidGhvXt.d.ts → slider-input-BEaztT-g.d.ts} +3 -2
- package/dist/slider-input-BEaztT-g.d.ts.map +1 -0
- package/dist/{slider-input-CzmSVgm7.js → slider-input-SW7e2Ac2.js} +28 -31
- package/dist/{slider-input-CzmSVgm7.js.map → slider-input-SW7e2Ac2.js.map} +1 -1
- package/dist/slider-input.d.ts +1 -1
- package/dist/slider-input.js +1 -1
- package/dist/snap-container.d.ts +2 -1
- package/dist/snap-container.d.ts.map +1 -1
- package/dist/snap-container.js +5 -6
- package/dist/snap-container.js.map +1 -1
- package/dist/split-layout.d.ts +2 -1
- package/dist/split-layout.d.ts.map +1 -1
- package/dist/split-layout.js +4 -6
- package/dist/split-layout.js.map +1 -1
- package/dist/swipe.d.ts +2 -1
- package/dist/swipe.d.ts.map +1 -1
- package/dist/swipe.js +4 -5
- package/dist/swipe.js.map +1 -1
- package/dist/{tab-list-Beuh2nom.d.ts → tab-list-B8v9KntS.d.ts} +4 -4
- package/dist/tab-list-B8v9KntS.d.ts.map +1 -0
- package/dist/{tab-list-mAoD6L0e.js → tab-list-CR0v53KJ.js} +3 -3
- package/dist/{tab-list-mAoD6L0e.js.map → tab-list-CR0v53KJ.js.map} +1 -1
- package/dist/tabs.d.ts +1 -1
- package/dist/tabs.js +1 -1
- package/dist/{tickled-controller-BF2Ea0DE.d.ts → tickled-controller-JDOR9B8V.d.ts} +9 -6
- package/dist/tickled-controller-JDOR9B8V.d.ts.map +1 -0
- package/dist/{tickled-styles-fNDdqf6l.js → tickled-styles-Bgo_Lpw-.js} +28 -28
- package/dist/tickled-styles-Bgo_Lpw-.js.map +1 -0
- package/dist/{timeline-B2fgDL4U.js → timeline-CdSI003L.js} +3 -3
- package/dist/{timeline-B2fgDL4U.js.map → timeline-CdSI003L.js.map} +1 -1
- package/dist/timeline.d.ts +1 -1
- package/dist/timeline.js +1 -1
- package/dist/{tooltip-BlvBUQxx.d.ts → tooltip-BMTSUPBU.d.ts} +3 -2
- package/dist/tooltip-BMTSUPBU.d.ts.map +1 -0
- package/dist/{tree-BtiiDX1a.js → tree-CqPhQRHo.js} +11 -10
- package/dist/{tree-BtiiDX1a.js.map → tree-CqPhQRHo.js.map} +1 -1
- package/dist/{tree-component-DQ9vzdy5.d.ts → tree-component-CDLO1ITF.d.ts} +124 -8
- package/dist/tree-component-CDLO1ITF.d.ts.map +1 -0
- package/dist/tree.d.ts +4 -9
- package/dist/tree.d.ts.map +1 -1
- package/dist/tree.js +1 -1
- package/dist/types-DSfbtHs3.d.ts +8 -0
- package/dist/types-DSfbtHs3.d.ts.map +1 -0
- package/dist/{wheel-nudge-DgMTRYlh.d.ts → wheel-nudge-C-ra_1os.d.ts} +2 -1
- package/dist/wheel-nudge-C-ra_1os.d.ts.map +1 -0
- package/dist/{wheel-nudge-BlSCe_hD.js → wheel-nudge-Dhzi5nHc.js} +2 -2
- package/dist/{wheel-nudge-BlSCe_hD.js.map → wheel-nudge-Dhzi5nHc.js.map} +1 -1
- package/dist/{xy-axis-CxHC8z5E.js → xy-axis-BpA2eJq6.js} +4 -6
- package/dist/{xy-axis-CxHC8z5E.js.map → xy-axis-BpA2eJq6.js.map} +1 -1
- package/dist/{xy-axis-5KhVTNoX.d.ts → xy-axis-CtDDQzGZ.d.ts} +6 -8
- package/dist/xy-axis-CtDDQzGZ.d.ts.map +1 -0
- package/dist/xy-pad.d.ts +2 -1
- package/dist/xy-pad.d.ts.map +1 -1
- package/dist/xy-pad.js +3 -3
- package/dist/xy-pad.js.map +1 -1
- package/docs-user/ac-token.md +7 -1
- package/docs-user/colour-picker.md +8 -4
- package/docs-user/menu.md +11 -8
- package/package.json +1 -1
- package/dist/colour-picker-37NyVenk.js.map +0 -1
- package/dist/fallbacks-DPgPEqo8.js +0 -218
- package/dist/fallbacks-DPgPEqo8.js.map +0 -1
- package/dist/hex-editor-Caq8vNQk.d.ts.map +0 -1
- package/dist/icon-BUwP1CZ1.d.ts.map +0 -1
- package/dist/index-BKAlRgbq.d.ts.map +0 -1
- package/dist/index-BUB5SICW.d.ts.map +0 -1
- package/dist/index-BeuCXtiO.d.ts.map +0 -1
- package/dist/index-D9u_Q7-b.d.ts.map +0 -1
- package/dist/index-DkhBGHgF.d.ts.map +0 -1
- package/dist/index-RqMh1i-O.d.ts.map +0 -1
- package/dist/interaction-D6efrBLo.js +0 -1
- package/dist/labelled-input-base-Dp_9KP0G.d.ts.map +0 -1
- package/dist/menu-item-BG5w7fi4.d.ts.map +0 -1
- package/dist/radial-input-BhZeyyP-.d.ts.map +0 -1
- package/dist/slider-input-TidGhvXt.d.ts.map +0 -1
- package/dist/tab-list-Beuh2nom.d.ts.map +0 -1
- package/dist/tickled-controller-BF2Ea0DE.d.ts.map +0 -1
- package/dist/tickled-styles-fNDdqf6l.js.map +0 -1
- package/dist/tooltip-BlvBUQxx.d.ts.map +0 -1
- package/dist/tree-component-DQ9vzdy5.d.ts.map +0 -1
- package/dist/types-DO3gt5vg.d.ts +0 -130
- package/dist/types-DO3gt5vg.d.ts.map +0 -1
- package/dist/wheel-nudge-DgMTRYlh.d.ts.map +0 -1
- package/dist/xy-axis-5KhVTNoX.d.ts.map +0 -1
- /package/bundle/{rolldown-runtime-D7D4PA-g.js → chunk-D7D4PA-g.js} +0 -0
- /package/dist/{rolldown-runtime-D7D4PA-g.js → chunk-D7D4PA-g.js} +0 -0
|
@@ -1,4 +1,123 @@
|
|
|
1
|
-
|
|
1
|
+
//#region src/common/data-provider.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Shared data-provider contract used by components that render a list of items.
|
|
4
|
+
*
|
|
5
|
+
* A provider is a simple callable — the consuming component (via DataController)
|
|
6
|
+
* manages the request lifecycle, cancellation, and reactive state.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* One batch of items within a streaming provider response.
|
|
10
|
+
*
|
|
11
|
+
* For sync and async one-shot providers, the DataController synthesises a single
|
|
12
|
+
* DataBatch internally — you only need this type when writing a streaming provider.
|
|
13
|
+
*/
|
|
14
|
+
type DataBatch<T> = {
|
|
15
|
+
/** Items delivered in this batch. */readonly items: readonly T[];
|
|
16
|
+
/**
|
|
17
|
+
* When true, replace all previously accumulated items with this batch instead
|
|
18
|
+
* of appending. Useful for re-ranked or filtered results mid-stream.
|
|
19
|
+
* Default: false (append).
|
|
20
|
+
*/
|
|
21
|
+
replace?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Provider's current estimate of the total number of items that will be
|
|
24
|
+
* delivered across all batches. Enables progress percentage in the consumer.
|
|
25
|
+
* May be refined in subsequent batches as the estimate improves.
|
|
26
|
+
* Omit when the total is unknown.
|
|
27
|
+
*/
|
|
28
|
+
total?: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* The three return modes a provider may use.
|
|
32
|
+
* DataController normalises all three — callers can mix modes freely.
|
|
33
|
+
*
|
|
34
|
+
* - `readonly T[]` — sync, items available immediately
|
|
35
|
+
* - `Promise<readonly T[]>` — async one-shot, resolves to the full result
|
|
36
|
+
* - `AsyncIterable<DataBatch<T>>` — streaming, batches arrive over time
|
|
37
|
+
*/
|
|
38
|
+
type DataProviderResult<T> = readonly T[] | Promise<readonly T[]> | AsyncIterable<DataBatch<T>>;
|
|
39
|
+
/**
|
|
40
|
+
* A data provider callable.
|
|
41
|
+
*
|
|
42
|
+
* @typeParam TQuery - The input that scopes the request (e.g. `string` for
|
|
43
|
+
* autocomplete, `{ node, depth }` for a tree branch, `void` for a plain list).
|
|
44
|
+
* @typeParam TItem - The item type produced.
|
|
45
|
+
*
|
|
46
|
+
* The AbortSignal is cancelled when the consumer supersedes the request (e.g.
|
|
47
|
+
* a new query arrives before the previous one completes). Streaming providers
|
|
48
|
+
* should check `signal.aborted` between yields or pass the signal to their
|
|
49
|
+
* underlying fetch calls.
|
|
50
|
+
*/
|
|
51
|
+
type IDataProvider<TQuery, TItem> = (query: TQuery, signal: AbortSignal) => DataProviderResult<TItem>;
|
|
52
|
+
/**
|
|
53
|
+
* Collects all items from any DataProviderResult into a flat array.
|
|
54
|
+
* Useful for components that need a complete list before rendering (e.g. tree branches).
|
|
55
|
+
* Respects the AbortSignal — stops accumulating if cancelled mid-stream.
|
|
56
|
+
*/
|
|
57
|
+
declare function collectDataResult<T>(result: DataProviderResult<T>, signal: AbortSignal): Promise<readonly T[]>;
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/common/types.d.ts
|
|
60
|
+
type TreeItem = {
|
|
61
|
+
/** Unique identifier within the tree. */key: string; /** Visible label text. */
|
|
62
|
+
label: string; /** When true the node cannot have children and will not show an expand affordance. */
|
|
63
|
+
isLeaf?: boolean; /** Arbitrary application data associated with this node. */
|
|
64
|
+
data?: unknown; /** Icon name passed to an icon component, if icons are enabled. */
|
|
65
|
+
icon?: string; /** Tooltip text shown on hover. */
|
|
66
|
+
tooltip?: string; /** Optional string value, e.g. for use as a command/route. */
|
|
67
|
+
value?: string;
|
|
68
|
+
};
|
|
69
|
+
/** A node in the tree, potentially containing lazily-loaded children. */
|
|
70
|
+
type TreeNode = {
|
|
71
|
+
item: TreeItem;
|
|
72
|
+
/**
|
|
73
|
+
* Child nodes.
|
|
74
|
+
* - `undefined` = children not yet loaded (component will call loadChildren if set)
|
|
75
|
+
* - `[]` = confirmed leaf / empty branch
|
|
76
|
+
* - non-empty array = loaded children
|
|
77
|
+
*/
|
|
78
|
+
children?: TreeNode[];
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Callback invoked when a node's children need to be loaded.
|
|
82
|
+
* The AbortSignal is cancelled if the request is superseded (e.g. node collapsed before load completes).
|
|
83
|
+
* May return children synchronously, as a promise, or as a streaming async iterable of batches.
|
|
84
|
+
*/
|
|
85
|
+
type LoadChildrenCallback = IDataProvider<{
|
|
86
|
+
node: TreeNode;
|
|
87
|
+
depth: number;
|
|
88
|
+
}, TreeNode>;
|
|
89
|
+
/**
|
|
90
|
+
* Predicate used by search/filter controllers to determine whether a node should be visible.
|
|
91
|
+
* Receives depth so column-scoped filtering (e.g. in ixfx-miller-list) is possible.
|
|
92
|
+
* Tree implementations that do not need depth can simply ignore the parameter.
|
|
93
|
+
*/
|
|
94
|
+
type TreeFilterPredicate = (node: TreeNode, depth: number) => boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Controls how expanding a node affects its siblings.
|
|
97
|
+
* - `'none'` — no constraint; any number of nodes may be expanded simultaneously
|
|
98
|
+
* - `'depth'` — only one sibling at the same depth may be expanded at a time (accordion)
|
|
99
|
+
* - `'global'` — only one node anywhere in the tree may be expanded at a time
|
|
100
|
+
*/
|
|
101
|
+
type TreeExclusivity = `none` | `depth` | `global`;
|
|
102
|
+
/**
|
|
103
|
+
* Restricts which kinds of nodes may enter the selection.
|
|
104
|
+
* Applied as a guard in all interaction modes.
|
|
105
|
+
* - `'none'` — no node can be selected (read-only / display-only)
|
|
106
|
+
* - `'leaf'` — only leaf nodes are selectable
|
|
107
|
+
* - `'branch'` — only branch nodes (nodes with children) are selectable
|
|
108
|
+
* - `'all'` — both leaf and branch nodes are selectable
|
|
109
|
+
*/
|
|
110
|
+
type TreeSelectionFilter = `none` | `leaf` | `branch` | `all`;
|
|
111
|
+
/**
|
|
112
|
+
* Controls how pointer and keyboard gestures map to selection changes.
|
|
113
|
+
* - `'implicit'` — single selection that follows the click; clicking always selects + toggles expand
|
|
114
|
+
* - `'standard'` — single click selects+toggles; Ctrl/Cmd+click toggles item; Shift+click range-selects
|
|
115
|
+
* - `'manual'` — component never auto-selects; use `select()`/`deselect()`/`clearSelection()` to drive state
|
|
116
|
+
* - `'checked'` — checkboxes on every item; checkbox click toggles selection recursively; row click only expands/collapses
|
|
117
|
+
* - `'vscode'` — like `standard` for clicks; Shift+arrow uses snapshot-based toggle-range
|
|
118
|
+
*/
|
|
119
|
+
type TreeInteractionMode = `implicit` | `standard` | `manual` | `checked` | `vscode`;
|
|
120
|
+
//#endregion
|
|
2
121
|
//#region src/common/tree-data-model.d.ts
|
|
3
122
|
type InvalidateEvent = {
|
|
4
123
|
type: `invalidate`;
|
|
@@ -11,8 +130,7 @@ type RootEvent = {
|
|
|
11
130
|
type ModelEvent = InvalidateEvent | RootEvent;
|
|
12
131
|
type ModelSubscriber = (event: ModelEvent) => void;
|
|
13
132
|
type TreeDataModelOptions = {
|
|
14
|
-
/** The initial root node. Required. */
|
|
15
|
-
root: TreeNode;
|
|
133
|
+
/** The initial root node. Required. */root: TreeNode;
|
|
16
134
|
/**
|
|
17
135
|
* Optional callback for lazily loading children.
|
|
18
136
|
* If omitted, nodes with `children === undefined` are treated as empty branches.
|
|
@@ -104,9 +222,7 @@ declare class TreeDataModel {
|
|
|
104
222
|
* Event name: `select`
|
|
105
223
|
*/
|
|
106
224
|
type TreeSelectDetail = {
|
|
107
|
-
/** The new selection set. */
|
|
108
|
-
readonly selected: ReadonlySet<TreeNode>;
|
|
109
|
-
/** The previous selection set (empty set if there was no prior selection). */
|
|
225
|
+
/** The new selection set. */readonly selected: ReadonlySet<TreeNode>; /** The previous selection set (empty set if there was no prior selection). */
|
|
110
226
|
readonly previous: ReadonlySet<TreeNode>;
|
|
111
227
|
};
|
|
112
228
|
/**
|
|
@@ -271,5 +387,5 @@ interface TreeSearchHost extends TreeComponent {
|
|
|
271
387
|
readonly updateComplete: Promise<boolean>;
|
|
272
388
|
}
|
|
273
389
|
//#endregion
|
|
274
|
-
export { TreeDataModelOptions as _, TreeComponent as a, TreeExpandEvent as c, TreeSearchHost as d, TreeSelectDetail as f, TreeDataModel as g, TreeTickleEvent as h, TreeCollapseEvent as i, TreeItemClickDetail as l, TreeTickleDetail as m, TreeActivateEvent as n, TreeComponentEventMap as o, TreeSelectEvent as p, TreeCollapseDetail as r, TreeExpandDetail as s, TreeActivateDetail as t, TreeItemClickEvent as u };
|
|
275
|
-
//# sourceMappingURL=tree-component-
|
|
390
|
+
export { TreeNode as C, IDataProvider as D, DataProviderResult as E, collectDataResult as O, TreeItem as S, DataBatch as T, TreeDataModelOptions as _, TreeComponent as a, TreeFilterPredicate as b, TreeExpandEvent as c, TreeSearchHost as d, TreeSelectDetail as f, TreeDataModel as g, TreeTickleEvent as h, TreeCollapseEvent as i, TreeItemClickDetail as l, TreeTickleDetail as m, TreeActivateEvent as n, TreeComponentEventMap as o, TreeSelectEvent as p, TreeCollapseDetail as r, TreeExpandDetail as s, TreeActivateDetail as t, TreeItemClickEvent as u, LoadChildrenCallback as v, TreeSelectionFilter as w, TreeInteractionMode as x, TreeExclusivity as y };
|
|
391
|
+
//# sourceMappingURL=tree-component-CDLO1ITF.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-component-CDLO1ITF.d.ts","names":[],"sources":["../src/common/data-provider.ts","../src/common/types.ts","../src/common/tree-data-model.ts","../src/common/tree-component.ts"],"mappings":"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"}
|
package/dist/tree.d.ts
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { t as TickledController } from "./tickled-controller-
|
|
1
|
+
import { C as TreeNode, S as TreeItem, _ as TreeDataModelOptions, a as TreeComponent, b as TreeFilterPredicate, c as TreeExpandEvent, d as TreeSearchHost, f as TreeSelectDetail, g as TreeDataModel, h as TreeTickleEvent, i as TreeCollapseEvent, l as TreeItemClickDetail, m as TreeTickleDetail, n as TreeActivateEvent, o as TreeComponentEventMap, p as TreeSelectEvent, r as TreeCollapseDetail, s as TreeExpandDetail, t as TreeActivateDetail, u as TreeItemClickEvent, v as LoadChildrenCallback, w as TreeSelectionFilter, x as TreeInteractionMode, y as TreeExclusivity } from "./tree-component-CDLO1ITF.js";
|
|
2
|
+
import { t as TreeConfig } from "./types-DSfbtHs3.js";
|
|
3
|
+
import { t as TickledController } from "./tickled-controller-JDOR9B8V.js";
|
|
4
4
|
import { LitElement, PropertyValues, TemplateResult, nothing } from "lit";
|
|
5
5
|
import { CommandRegistry } from "@clinth/ui-commands";
|
|
6
6
|
import { TraversableTree } from "@ixfx/collections";
|
|
7
|
-
|
|
8
|
-
/** Tree layout/display configuration (tree-specific, not shared). */
|
|
9
|
-
type TreeConfig = {
|
|
10
|
-
indent: number;
|
|
11
|
-
};
|
|
12
|
-
//#endregion
|
|
7
|
+
|
|
13
8
|
//#region src/tree/tree-base.d.ts
|
|
14
9
|
declare class TreeBaseElement extends LitElement implements TreeComponent, TreeSearchHost {
|
|
15
10
|
#private;
|
package/dist/tree.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","names":[],"sources":["../src/tree/
|
|
1
|
+
{"version":3,"file":"tree.d.ts","names":[],"sources":["../src/tree/tree-base.ts","../src/tree/tree-list.ts","../src/tree/tree-controller.ts"],"mappings":";;;;;;;;cAwCa,eAAA,SAAwB,UAAA,YAAsB,aAAA,EAAe,cAAA;EAAA;EAExE,IAAA,EAAM,QAAA;EAGN,KAAA,EAAO,aAAA;EAIO;EAAd,YAAA,EAAc,oBAAA;EAGd,WAAA,EAAa,eAAA;EAGb,eAAA,EAAiB,mBAAA;EAOH;EAHd,eAAA,EAAiB,mBAAA;EAGjB,YAAA,EAAc,QAAA;EAAA,UAGJ,cAAA,EAAc,GAAA,CAAA,QAAA;EAAA,IAEpB,aAAA,IAAiB,WAAA,CAAY,QAAA;EAKjC,eAAA,EAAiB,mBAAA;EAGjB,yBAAA;EAGA,QAAA,EAAU,eAAA;EAAA,UAGA,aAAA,EAAa,GAAA;EAAA,UAEb,OAAA,EAAO,iBAAA;EAAA,UAWP,aAAA;EAaD,OAAA,CAAQ,YAAA,EAAc,cAAA;EA4CtB,iBAAA;EAmBA,oBAAA;EAYT,SAAA,IAAa,UAAA;EAIb,SAAA,CAAU,MAAA,EAAQ,OAAA,CAAQ,UAAA;EAO1B,MAAA,CAAO,IAAA,EAAM,QAAA;EAWb,QAAA,CAAS,IAAA,EAAM,QAAA;EAYf,cAAA;EASA,SAAA;EAoBA,WAAA;EAiBA,UAAA,CAAW,IAAA;EAoCX,cAAA,CAAe,SAAA,GAAY,IAAA,EAAM,QAAA;EASjC,QAAA,IAAY,aAAA;IAAgB,IAAA,EAAM,QAAA;IAAU,KAAA;EAAA;EAAA,UA6DlC,iBAAA,CAAkB,IAAA,EAAM,QAAA,EAAU,MAAA,WAAiB,cAAA,UAAwB,OAAA;EAAA,UAW3E,gBAAA,CAAiB,IAAA,EAAM,QAAA,EAAU,KAAA,UAAe,KAAA,GAAQ,UAAA;EAAA,UAuJxD,oBAAA,CAAqB,KAAA,EAAO,UAAA,EAAY,IAAA,EAAM,QAAA,EAAU,MAAA;EAAA,UAsJxD,WAAA,CAAY,IAAA,EAAM,QAAA;EAAA,UAIlB,UAAA,CAAW,IAAA,EAAM,QAAA;EAAA,UAIjB,WAAA,CAAY,IAAA,EAAM,QAAA;EAAA,cAiBd,YAAA,IAAgB,QAAA;EAAA,UAsRpB,sBAAA,IAA0B,cAAA,UAAwB,OAAA;EAAA,UAIzC,MAAA,IAAM,cAAA;EAAA,UAoDf,WAAA,CAAY,IAAA,EAAM,QAAA,EAAU,KAAA,WAAgB,cAAA;EAAA,OAiCtC,MAAA,gBAAM,SAAA;AAAA;AAAA,QA4GhB,MAAA;EAAA,UACI,qBAAA;IACR,gBAAA,EAAkB,eAAe;EAAA;AAAA;AAAA,UAIpB,uBAAA,SAAgC,qBAAA;EAC/C,YAAA,EAAc,kBAAA;EACd,QAAA,EAAU,eAAA;EACV,UAAA,EAAY,iBAAA;EACZ,QAAA,EAAU,eAAA;EACV,QAAA,EAAU,eAAA;EACV,UAAA,EAAY,iBAAA;AAAA;AAAA,UAGG,eAAA;EACf,gBAAA,oBAAoC,uBAAA,EAClC,IAAA,EAAM,CAAA,EACN,QAAA,GAAW,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,uBAAA,CAAwB,CAAA,YACjE,OAAA,aAAoB,uBAAA,eAEpB,IAAA,UACA,QAAA,EAAU,kCAAA,EACV,OAAA,aAAoB,uBAAA;EAEtB,mBAAA,oBAAuC,uBAAA,EACrC,IAAA,EAAM,CAAA,EACN,QAAA,GAAW,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,uBAAA,CAAwB,CAAA,YACjE,OAAA,aAAoB,oBAAA,eAEpB,IAAA,UACA,QAAA,EAAU,kCAAA,EACV,OAAA,aAAoB,oBAAA;AAAA;;;;KCjrCZ,iBAAA;AAAA,cAiBC,eAAA,SAAwB,eAAA;EAAA;EDYxB;;;;;;;;;;;;;;;;;;;ECSX,gBAAA,IAAoB,KAAA,EAAO,iBAAA;EAAA,UAIR,MAAA,IAAM,cAAA;EAAA,UAsBN,iBAAA,CAAkB,IAAA,EAAM,QAAA,EAAU,KAAA,WAAgB,cAAA;EAAA,UAsDlD,WAAA,CAAY,IAAA,EAAM,QAAA,EAAU,KAAA,WAAgB,cAAA;EAAA,OA0B/C,MAAA,gBAAM,SAAA;AAAA;AAAA,QAqFhB,MAAA;EAAA,UACI,qBAAA;IACR,gBAAA,EAAkB,eAAe;EAAA;AAAA;AAAA,UAIpB,eAAA;EACf,gBAAA,oBAAoC,uBAAA,EAClC,IAAA,EAAM,CAAA,EACN,QAAA,GAAW,IAAA,EAAM,eAAA,EAAiB,KAAA,EAAO,uBAAA,CAAwB,CAAA,YACjE,OAAA,aAAoB,uBAAA,eAEpB,IAAA,UACA,QAAA,EAAU,kCAAA,EACV,OAAA,aAAoB,uBAAA;AAAA;;;KC1PZ,qBAAA;EACV,WAAA,GAAc,KAAA,EAAO,CAAA,EAAG,IAAA,EAAM,eAAA,CAAgB,CAAA,MAAO,QAAA;AAAA;AAAA,cAG1C,cAAA;EAAA;cAWT,IAAA,EAAM,eAAA,CAAgB,CAAA,GACtB,OAAA,EAAS,eAAA,EACT,OAAA,EAAS,qBAAA,CAAsB,CAAA;EAOjC,OAAA;EAwBA,UAAA;EAKA,eAAA,CAAgB,SAAA,GAAY,KAAA,EAAO,CAAA;AAAA"}
|
package/dist/tree.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as TreeDataModel, n as TreeListElement, r as TreeBaseElement, t as TreeController } from "./tree-
|
|
1
|
+
import { i as TreeDataModel, n as TreeListElement, r as TreeBaseElement, t as TreeController } from "./tree-CqPhQRHo.js";
|
|
2
2
|
export { TreeBaseElement, TreeController, TreeDataModel, TreeListElement };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-DSfbtHs3.d.ts","names":[],"sources":["../src/tree/types.ts"],"mappings":";;KAqCY,UAAA;EACV,MAAM;AAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
+
|
|
2
3
|
//#region src/mixins/wheel-nudge.d.ts
|
|
3
4
|
/**
|
|
4
5
|
* Direction of a wheel tick. `+1` for `deltaY < 0` (wheel up/away), `-1` for
|
|
@@ -26,4 +27,4 @@ interface WheelNudgeConsumer {
|
|
|
26
27
|
type WheelNudgeConsumerType<TBase> = TBase & WheelNudgeConsumer;
|
|
27
28
|
//#endregion
|
|
28
29
|
export { WheelNudgeConsumerType as n, WheelDirection as t };
|
|
29
|
-
//# sourceMappingURL=wheel-nudge-
|
|
30
|
+
//# sourceMappingURL=wheel-nudge-C-ra_1os.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wheel-nudge-C-ra_1os.d.ts","names":[],"sources":["../src/mixins/wheel-nudge.ts"],"mappings":";;;;AASA;;;KAAY,cAAA;AAAc;AAY1B;;;;;;;;;AAZ0B,UAYT,kBAAA;EACf,gBAAA,CAAiB,SAAA,EAAW,cAAA,EAAgB,KAAA,EAAO,UAAU;EAC7D,kBAAA;AAAA;;;;;KAOU,sBAAA,UAAgC,KAAA,GAAQ,kBAAkB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as __decorate } from "./decorate-
|
|
1
|
+
import { t as __decorate } from "./decorate-DdjvVHS-.js";
|
|
2
2
|
import { property } from "lit/decorators.js";
|
|
3
3
|
//#region src/mixins/wheel-nudge.ts
|
|
4
4
|
/**
|
|
@@ -83,4 +83,4 @@ function WheelNudgeMixin(superClass) {
|
|
|
83
83
|
//#endregion
|
|
84
84
|
export { WheelNudgeMixin as t };
|
|
85
85
|
|
|
86
|
-
//# sourceMappingURL=wheel-nudge-
|
|
86
|
+
//# sourceMappingURL=wheel-nudge-Dhzi5nHc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wheel-nudge-
|
|
1
|
+
{"version":3,"file":"wheel-nudge-Dhzi5nHc.js","names":[],"sources":["../src/mixins/wheel-nudge.ts"],"sourcesContent":["import type { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\n\ntype Constructor<T = object> = new (...args: any[]) => T;\n\n/**\n * Direction of a wheel tick. `+1` for `deltaY < 0` (wheel up/away), `-1` for\n * `deltaY > 0` (wheel down/toward).\n */\nexport type WheelDirection = 1 | -1;\n\n/**\n * Abstract surface a consumer of {@link WheelNudgeMixin} must implement.\n *\n * `_applyWheelDelta` is called once per handled wheel tick. The consumer is\n * expected to reuse its existing arrow-key step math (typically a shared\n * `_stepByDelta(direction, effectiveStep)` private method) and call it here.\n *\n * `_shouldHandleWheel` may be overridden to restrict when the wheel acts\n * (e.g. editable-number rejects while the user is typing).\n */\nexport interface WheelNudgeConsumer {\n _applyWheelDelta(direction: WheelDirection, event: WheelEvent): void;\n _shouldHandleWheel(): boolean;\n}\n\n/**\n * Internal: the surface a {@link WheelNudgeMixin}-decorated class exposes to\n * TypeScript — its own members plus the consumer contract.\n */\nexport type WheelNudgeConsumerType<TBase> = TBase & WheelNudgeConsumer;\ntype WheelNudgeMixinBase<T> = T extends Constructor<infer U> ? U : never;\ntype WheelNudgeMixinResult<T extends Constructor<LitElement>>\n = Constructor<WheelNudgeConsumerType<WheelNudgeMixinBase<T>>> & T;\n\n/**\n * Mixin that adds mousewheel support with an optional `lighttouch` hover mode.\n *\n * Activation rule:\n * - If the host's `disabled` property is truthy → ignore.\n * - Otherwise, handle if EITHER:\n * • `lighttouch` is true AND the pointer is currently over the host, OR\n * • the host (or anything in its shadow tree) currently has focus.\n *\n * Direction convention: `deltaY < 0` (wheel up/away) → +1 step; `deltaY > 0` → -1 step.\n *\n * Consumers must implement `_applyWheelDelta(direction, event)` (see\n * {@link WheelNudgeConsumer}). The mixin calls `event.preventDefault()` only when\n * the activation rule accepts the event, so page scroll is suppressed during\n * interaction without blocking wheel events over empty space.\n *\n * Usage:\n *\n * ```ts\n * class MyInput extends WheelNudgeMixin(LitElement) {\n * protected _applyWheelDelta(direction, event) {\n * const step = resolveAxisStep(this.range, this.stops, this.step, event.shiftKey);\n * this._stepByDelta(direction, step);\n * }\n * }\n * ```\n */\nexport function WheelNudgeMixin<T extends Constructor<LitElement>>(superClass: T): WheelNudgeMixinResult<T> {\n class WheelNudgeMixinClass extends superClass {\n /**\n * When true, the wheel adjusts the value simply when the pointer is hovering\n * over the host (no focus required). When false (default), the host must\n * have focus for the wheel to act.\n */\n @property({ type: Boolean, reflect: true })\n lighttouch = false;\n\n /**\n * Imperative hover flag — not Lit-reactive (avoids update churn for what\n * is purely an interaction-time predicate).\n */\n _isHovering = false;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(`pointerenter`, this._onPointerEnter);\n this.addEventListener(`pointerleave`, this._onPointerLeave);\n this.addEventListener(`wheel`, this._onWheel, { passive: false });\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener(`pointerenter`, this._onPointerEnter);\n this.removeEventListener(`pointerleave`, this._onPointerLeave);\n this.removeEventListener(`wheel`, this._onWheel);\n this._isHovering = false;\n }\n\n _onPointerEnter = (): void => {\n this._isHovering = true;\n };\n\n _onPointerLeave = (): void => {\n this._isHovering = false;\n };\n\n /**\n * Override to restrict when wheel is handled (e.g. editable-number rejects\n * while the user is typing). Default: respect `disabled`, then apply the\n * focus-or-lighttouch rule described on the mixin.\n */\n _shouldHandleWheel(): boolean {\n const anyThis = this as unknown as { disabled?: boolean };\n if (anyThis.disabled)\n return false;\n if (this.lighttouch && this._isHovering)\n return true;\n if (this.matches?.(`:focus, :focus-within`))\n return true;\n const root = this.renderRoot;\n if (root && (root as ShadowRoot).activeElement !== null)\n return true;\n return false;\n }\n\n _onWheel = (event: WheelEvent): void => {\n if (!this._shouldHandleWheel())\n return;\n event.preventDefault();\n // Some browsers (notably when the user holds Shift) send `deltaY=0`\n // and route the scroll into `deltaX` instead. Use whichever axis\n // actually moved so the direction sign matches the user's intent.\n const delta = event.deltaY !== 0 ? event.deltaY : event.deltaX;\n const direction: WheelDirection = delta < 0 ? 1 : -1;\n (this as unknown as WheelNudgeConsumer)._applyWheelDelta(direction, event);\n };\n }\n return WheelNudgeMixinClass as unknown as WheelNudgeMixinResult<T>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,SAAgB,gBAAmD,YAAyC;CAC1G,MAAM,6BAA6B,WAAW;;;qBAO/B;sBAMC;gCAiBgB;IAC5B,KAAK,cAAc;GACrB;gCAE8B;IAC5B,KAAK,cAAc;GACrB;oBAqBY,UAA4B;IACtC,IAAI,CAAC,KAAK,mBAAmB,GAC3B;IACF,MAAM,eAAe;IAKrB,MAAM,aADQ,MAAM,WAAW,IAAI,MAAM,SAAS,MAAM,UACd,IAAI,IAAI;IAClD,KAAwC,iBAAiB,WAAW,KAAK;GAC3E;;EApDA,oBAAmC;GACjC,MAAM,kBAAkB;GACxB,KAAK,iBAAiB,gBAAgB,KAAK,eAAe;GAC1D,KAAK,iBAAiB,gBAAgB,KAAK,eAAe;GAC1D,KAAK,iBAAiB,SAAS,KAAK,UAAU,EAAE,SAAS,MAAM,CAAC;EAClE;EAEA,uBAAsC;GACpC,MAAM,qBAAqB;GAC3B,KAAK,oBAAoB,gBAAgB,KAAK,eAAe;GAC7D,KAAK,oBAAoB,gBAAgB,KAAK,eAAe;GAC7D,KAAK,oBAAoB,SAAS,KAAK,QAAQ;GAC/C,KAAK,cAAc;EACrB;;;;;;EAeA,qBAA8B;GAE5B,IAAI,KAAQ,UACV,OAAO;GACT,IAAI,KAAK,cAAc,KAAK,aAC1B,OAAO;GACT,IAAI,KAAK,UAAU,uBAAuB,GACxC,OAAO;GACT,MAAM,OAAO,KAAK;GAClB,IAAI,QAAS,KAAoB,kBAAkB,MACjD,OAAO;GACT,OAAO;EACT;CAaF;aA9DG,SAAS;EAAE,MAAM;EAAS,SAAS;CAAK,CAAC,CAAA,GAAA,qBAAA,WAAA,cAAA,KAAA,CAAA;CA+D5C,OAAO;AACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as safeCustomElement, t as __decorate } from "./decorate-
|
|
1
|
+
import { n as safeCustomElement, t as __decorate } from "./decorate-DdjvVHS-.js";
|
|
2
2
|
import { t as getIcon } from "./registry-CkW7q09Q.js";
|
|
3
3
|
import "./icons.js";
|
|
4
4
|
import { LitElement, css, html, nothing, svg } from "lit";
|
|
@@ -888,7 +888,6 @@ let PlotHistogram = class PlotHistogram extends LitElement {
|
|
|
888
888
|
};
|
|
889
889
|
} else {
|
|
890
890
|
const y = padding + i * bucketSize;
|
|
891
|
-
const height = i === bucketCount - 1 ? Math.max(0, padding + availableMain - y) : Math.max(0, bucketSize - gap);
|
|
892
891
|
return {
|
|
893
892
|
count,
|
|
894
893
|
valueMin,
|
|
@@ -897,7 +896,7 @@ let PlotHistogram = class PlotHistogram extends LitElement {
|
|
|
897
896
|
x: padding,
|
|
898
897
|
y,
|
|
899
898
|
width: barLen,
|
|
900
|
-
height
|
|
899
|
+
height: i === bucketCount - 1 ? Math.max(0, padding + availableMain - y) : Math.max(0, bucketSize - gap)
|
|
901
900
|
};
|
|
902
901
|
}
|
|
903
902
|
});
|
|
@@ -1149,8 +1148,7 @@ function renderArea(points, cr, bottom, areaColor) {
|
|
|
1149
1148
|
if (points.length < 2) return svg``;
|
|
1150
1149
|
const lineD = buildLinePath(points);
|
|
1151
1150
|
const fillColor = areaColor || cr.fill;
|
|
1152
|
-
|
|
1153
|
-
return svg`<path d=${areaD} fill=${fillColor} opacity=${cr.opacity * .2} />`;
|
|
1151
|
+
return svg`<path d=${`${lineD} L ${points[points.length - 1].x},${bottom} L ${points[0].x},${bottom} Z`} fill=${fillColor} opacity=${cr.opacity * .2} />`;
|
|
1154
1152
|
}
|
|
1155
1153
|
function renderCircles(points, crs, radius, ageStyle) {
|
|
1156
1154
|
return points.map((p, i) => {
|
|
@@ -1846,4 +1844,4 @@ PlotXyAxis = __decorate([safeCustomElement(`ixfx-plot-xy-axis`)], PlotXyAxis);
|
|
|
1846
1844
|
//#endregion
|
|
1847
1845
|
export { TooltipElement as a, computeColour as c, PlotMultiAxis as i, parseColourScaleAttr as l, PlotSingleAxis as n, PlotDataSeries as o, PlotHistogram as r, applyAgeModification as s, PlotXyAxis as t, readBaseColour as u };
|
|
1848
1846
|
|
|
1849
|
-
//# sourceMappingURL=xy-axis-
|
|
1847
|
+
//# sourceMappingURL=xy-axis-BpA2eJq6.js.map
|