@ixfx/components 0.7.3 → 0.7.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.
Files changed (121) hide show
  1. package/bundle/index.d.ts +727 -256
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +2046 -35
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.d.ts +1 -1
  6. package/dist/ac-text.js +1 -1
  7. package/dist/{ac-token-TCLAZeVg.d.ts → ac-token--_vCHXWw.d.ts} +2 -2
  8. package/dist/{ac-token-TCLAZeVg.d.ts.map → ac-token--_vCHXWw.d.ts.map} +1 -1
  9. package/dist/ac-token.d.ts +1 -1
  10. package/dist/ac-token.js +1 -1
  11. package/dist/button.d.ts +1 -1
  12. package/dist/button.d.ts.map +1 -1
  13. package/dist/colour-picker.d.ts +1 -1
  14. package/dist/crumbs.d.ts +1 -1
  15. package/dist/crumbs.js +3 -3
  16. package/dist/{data-grid-Db4QpnII.d.ts → data-grid-BddUjAti.d.ts} +34 -2
  17. package/dist/data-grid-BddUjAti.d.ts.map +1 -0
  18. package/dist/data-grid.d.ts +1 -1
  19. package/dist/data-grid.js +180 -7
  20. package/dist/data-grid.js.map +1 -1
  21. package/dist/detail-list-Br0WAnry.d.ts +167 -0
  22. package/dist/detail-list-Br0WAnry.d.ts.map +1 -0
  23. package/dist/detail-list.d.ts +3 -0
  24. package/dist/detail-list.js +1115 -0
  25. package/dist/detail-list.js.map +1 -0
  26. package/dist/grid-list-B_orPsot.d.ts +304 -0
  27. package/dist/grid-list-B_orPsot.d.ts.map +1 -0
  28. package/dist/grid-list.d.ts +3 -0
  29. package/dist/grid-list.js +933 -0
  30. package/dist/grid-list.js.map +1 -0
  31. package/dist/{grouped-item-lister-BWlC9S4e.d.ts → grouped-item-lister-fdZHVxFM.d.ts} +3 -3
  32. package/dist/{grouped-item-lister-BWlC9S4e.d.ts.map → grouped-item-lister-fdZHVxFM.d.ts.map} +1 -1
  33. package/dist/grouped-item-lister.d.ts +1 -1
  34. package/dist/{icon-DR_3rSyZ.d.ts → icon-CDGprSdE.d.ts} +2 -2
  35. package/dist/icon-CDGprSdE.d.ts.map +1 -0
  36. package/dist/icons.d.ts +2 -2
  37. package/dist/{index-C59-JEPl.d.ts → index-9AhaHIT2.d.ts} +3 -3
  38. package/dist/{index-C59-JEPl.d.ts.map → index-9AhaHIT2.d.ts.map} +1 -1
  39. package/dist/{index-DsjpDksO.d.ts → index-CS9yM8L-.d.ts} +2 -2
  40. package/dist/{index-DsjpDksO.d.ts.map → index-CS9yM8L-.d.ts.map} +1 -1
  41. package/dist/{index-BUB5SICW.d.ts → index-CoqtMSd9.d.ts} +2 -2
  42. package/dist/{index-BUB5SICW.d.ts.map → index-CoqtMSd9.d.ts.map} +1 -1
  43. package/dist/{index-CJ5fshD3.d.ts → index-UvnoZUAo.d.ts} +2 -2
  44. package/dist/{index-CJ5fshD3.d.ts.map → index-UvnoZUAo.d.ts.map} +1 -1
  45. package/dist/{index-BOUaDIW-.d.ts → index-tq6f8007.d.ts} +2 -2
  46. package/dist/{index-BOUaDIW-.d.ts.map → index-tq6f8007.d.ts.map} +1 -1
  47. package/dist/index.d.ts +185 -240
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +375 -1002
  50. package/dist/index.js.map +1 -1
  51. package/dist/interaction-Cr13azbM.js +3 -0
  52. package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-DiTme1JO.d.ts} +2 -2
  53. package/dist/{labelled-input-base-Dp_9KP0G.d.ts.map → labelled-input-base-DiTme1JO.d.ts.map} +1 -1
  54. package/dist/labelled-radial-input.d.ts +2 -2
  55. package/dist/labelled-radial-input.d.ts.map +1 -1
  56. package/dist/labelled-range-input.d.ts +1 -1
  57. package/dist/labelled-slider-input.d.ts +1 -1
  58. package/dist/list-item-animation-DuiwgN3l.js +112 -0
  59. package/dist/list-item-animation-DuiwgN3l.js.map +1 -0
  60. package/dist/list-selection-controller-CUo-Hhcm.js +338 -0
  61. package/dist/list-selection-controller-CUo-Hhcm.js.map +1 -0
  62. package/dist/{list-selection-types-DSuRNWpx.d.ts → list-selection-types-B5ioL-dG.d.ts} +6 -1
  63. package/dist/list-selection-types-B5ioL-dG.d.ts.map +1 -0
  64. package/dist/{menu-DMzjkVnK.js → menu-Bg90Qr0B.js} +3 -3
  65. package/dist/{menu-DMzjkVnK.js.map → menu-Bg90Qr0B.js.map} +1 -1
  66. package/dist/{menu-item-D2S4i8u1.js → menu-item-Bx-Fs7jq.js} +3 -3
  67. package/dist/{menu-item-D2S4i8u1.js.map → menu-item-Bx-Fs7jq.js.map} +1 -1
  68. package/dist/{menu-item-ZmkXNjek.d.ts → menu-item-CZi9vy5O.d.ts} +2 -2
  69. package/dist/{menu-item-ZmkXNjek.d.ts.map → menu-item-CZi9vy5O.d.ts.map} +1 -1
  70. package/dist/menu.d.ts +2 -2
  71. package/dist/menu.js +2 -2
  72. package/dist/miller.d.ts +1 -1
  73. package/dist/miller.js +2 -2
  74. package/dist/narrowed-text.js +2 -2
  75. package/dist/panel.d.ts +1 -1
  76. package/dist/plots.js +1 -1
  77. package/dist/select-horiz.js +2 -2
  78. package/dist/{split-layout-C5SYbDrq.d.ts → split-layout-JK3xWVX2.d.ts} +2 -2
  79. package/dist/{split-layout-C5SYbDrq.d.ts.map → split-layout-JK3xWVX2.d.ts.map} +1 -1
  80. package/dist/split-layout.d.ts +1 -1
  81. package/dist/{tab-list-DbMIL520.d.ts → tab-list-CGyPt07Z.d.ts} +2 -2
  82. package/dist/{tab-list-DbMIL520.d.ts.map → tab-list-CGyPt07Z.d.ts.map} +1 -1
  83. package/dist/tabs.d.ts +1 -1
  84. package/dist/{tickled-controller-Ds1DMyG7.d.ts → tickled-controller-Bn3YdQsM.d.ts} +12 -1
  85. package/dist/{tickled-controller-Ds1DMyG7.d.ts.map → tickled-controller-Bn3YdQsM.d.ts.map} +1 -1
  86. package/dist/{tickled-controller-h9GmJ_bU.js → tickled-controller-C66DgJHl.js} +16 -1
  87. package/dist/tickled-controller-C66DgJHl.js.map +1 -0
  88. package/dist/{titlebar-B23MrIbI.d.ts → titlebar-Bj5pfdw_.d.ts} +2 -2
  89. package/dist/{titlebar-B23MrIbI.d.ts.map → titlebar-Bj5pfdw_.d.ts.map} +1 -1
  90. package/dist/titlebar.d.ts +1 -1
  91. package/dist/{tree-Ch4W8qXQ.js → tree-B74zdI60.js} +116 -17
  92. package/dist/tree-B74zdI60.js.map +1 -0
  93. package/dist/tree.d.ts +6 -3
  94. package/dist/tree.d.ts.map +1 -1
  95. package/dist/tree.js +1 -1
  96. package/dist/vertical-list-CQSEVeOT.d.ts +140 -0
  97. package/dist/vertical-list-CQSEVeOT.d.ts.map +1 -0
  98. package/dist/vertical-list.d.ts +3 -121
  99. package/dist/vertical-list.js +710 -1
  100. package/dist/vertical-list.js.map +1 -0
  101. package/dist/{xy-axis-DWizs0bt.js → xy-axis-VrX8dmvS.js} +2 -2
  102. package/dist/{xy-axis-DWizs0bt.js.map → xy-axis-VrX8dmvS.js.map} +1 -1
  103. package/docs-user/README.md +1 -0
  104. package/docs-user/data-grid.md +51 -2
  105. package/docs-user/detail-list.md +38 -0
  106. package/docs-user/grid-list.md +274 -0
  107. package/docs-user/index.json +7 -2
  108. package/docs-user/llms.txt +1 -0
  109. package/docs-user/tree.md +13 -0
  110. package/docs-user/vertical-list.md +51 -1
  111. package/llms.txt +1 -0
  112. package/package.json +17 -2
  113. package/dist/data-grid-Db4QpnII.d.ts.map +0 -1
  114. package/dist/icon-DR_3rSyZ.d.ts.map +0 -1
  115. package/dist/interaction-D5XdKzbR.js +0 -2
  116. package/dist/list-selection-types-DSuRNWpx.d.ts.map +0 -1
  117. package/dist/tickled-controller-h9GmJ_bU.js.map +0 -1
  118. package/dist/tree-Ch4W8qXQ.js.map +0 -1
  119. package/dist/vertical-list-B4w_ksJk.js +0 -814
  120. package/dist/vertical-list-B4w_ksJk.js.map +0 -1
  121. package/dist/vertical-list.d.ts.map +0 -1
package/bundle/index.d.ts CHANGED
@@ -2590,6 +2590,8 @@ type BuiltInFormatterOptions = {
2590
2590
  type DataGridGetRowKey<R> = (row: R, index: number) => string;
2591
2591
  type DataGridGroupBy<R> = string | ((row: R) => string);
2592
2592
  type DataGridGroupLabel = (groupKey: string, rows: readonly unknown[]) => string;
2593
+ /** Whether the data-grid renders its built-in header column/group menu. */
2594
+ type DataGridColumnMenu = `auto` | `none`;
2593
2595
  //#endregion
2594
2596
  //#region src/menu/menu-bar.d.ts
2595
2597
  declare class MenuBar extends LitElement {
@@ -2822,6 +2824,7 @@ interface DataGridElementEventMap {
2822
2824
  'datagrid-group-change': DataGridGroupChangeEvent;
2823
2825
  }
2824
2826
  declare class DataGridElement extends LitElement {
2827
+ #private;
2825
2828
  static styles: CSSResult[];
2826
2829
  columns: DataGridColumn[];
2827
2830
  rows: unknown[];
@@ -2839,6 +2842,12 @@ declare class DataGridElement extends LitElement {
2839
2842
  /** Columns keys that can be grouped by; undefined = all groupable columns */
2840
2843
  groupableColumns: string[] | undefined;
2841
2844
  crossGroupSelection: boolean;
2845
+ /**
2846
+ * `auto` (default): render the built-in header column/group menu.
2847
+ * `none`: don't render it — for hosts that supply their own column UI via
2848
+ * `column.visible` + `datagrid-column-visibility`.
2849
+ */
2850
+ columnMenu: DataGridColumnMenu;
2842
2851
  globalFormatter?: GlobalFormatter;
2843
2852
  private _columnFormatters;
2844
2853
  private _selectedKeys;
@@ -2883,6 +2892,29 @@ declare class DataGridElement extends LitElement {
2883
2892
  private _anchorKey;
2884
2893
  private _scrollRowIntoView;
2885
2894
  private _getRowForKey;
2895
+ /** The selected row keys (read-only). */
2896
+ get selectedKeys(): ReadonlySet<string>;
2897
+ /** Replace the selection with these row keys (clamped to known rows). */
2898
+ set selectedKeys(keys: Iterable<string>);
2899
+ /**
2900
+ * Replace the selection with the given row keys. Unknown keys are dropped;
2901
+ * in a single-select mode only the last surviving key is kept;
2902
+ * `selectionMode="none"` clears. Fires `datagrid-select` with the previous
2903
+ * set when the selection actually changes.
2904
+ */
2905
+ selectKeys(keys: Iterable<string>): void;
2906
+ /** The row key under the cursor, or `undefined`. */
2907
+ get tickledKey(): string | undefined;
2908
+ /** Move the cursor to this row key and scroll it into view. */
2909
+ tickleRow(key: string): void;
2910
+ /**
2911
+ * Append rows without the full O(n log n) rebuild that reassigning `rows`
2912
+ * incurs. `rows` still gets a new array reference (reactivity is preserved),
2913
+ * but the derived arrays are extended over the appended slice only. When a
2914
+ * sort is active the new rows show unsorted for one frame, then a single
2915
+ * coalesced re-sort runs. Scroll position, selection and cursor are kept.
2916
+ */
2917
+ appendRows(rows: readonly unknown[]): void;
2886
2918
  private _replaceSelection;
2887
2919
  private _toggleSelection;
2888
2920
  private _rangeSelectTo;
@@ -2925,6 +2957,69 @@ interface DataGridElement {
2925
2957
  removeEventListener: (<K extends keyof DataGridElementEventMap>(type: K, listener: (this: DataGridElement, event: DataGridElementEventMap[K]) => void, options?: boolean | EventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => void);
2926
2958
  }
2927
2959
  //#endregion
2960
+ //#region src/data-table/data-table.d.ts
2961
+ type DataTableRow = {
2962
+ label: string;
2963
+ value: string | number | boolean | Node | TemplateResult;
2964
+ fullWidth?: boolean;
2965
+ detail?: string | TemplateResult;
2966
+ id?: string;
2967
+ };
2968
+ type DataTableRowClickDetail = {
2969
+ readonly row: DataTableRow;
2970
+ readonly index: number;
2971
+ readonly selected: boolean;
2972
+ };
2973
+ type DataTableRowClickEvent = CustomEvent<DataTableRowClickDetail>;
2974
+ interface DataTableElementEventMap {
2975
+ 'data-table-row-click': DataTableRowClickEvent;
2976
+ }
2977
+ declare class DataTableElement extends LitElement {
2978
+ #private;
2979
+ static styles: CSSResult[];
2980
+ rows: readonly DataTableRow[];
2981
+ selectedIndex: number | undefined;
2982
+ /**
2983
+ * How long (ms) the pointer must rest on a hovered row before its detail
2984
+ * panel is revealed. The tickled highlight itself appears immediately on
2985
+ * hover; only the detail panel is debounced. Clicking a row reveals its
2986
+ * detail straight away, ignoring this delay.
2987
+ */
2988
+ tickleDelay: number;
2989
+ /**
2990
+ * Table layout.
2991
+ * - `auto` (default): responsive — widens to multiple pair-columns on wide
2992
+ * containers, and stacks key above value once narrower than
2993
+ * {@link narrowBreakpoint}.
2994
+ * - `rows`: always stacked (key above value), regardless of width.
2995
+ * - `columns`: always a two-column key/value grid, regardless of width.
2996
+ */
2997
+ layout: `auto` | `rows` | `columns`;
2998
+ /**
2999
+ * Inline width (px) at or below which the `auto` layout switches to its
3000
+ * stacked, key-above-value form. Ignored when {@link layout} is locked.
3001
+ */
3002
+ narrowBreakpoint: number;
3003
+ private _tickled;
3004
+ /** Index of the row whose detail panel is currently revealed, if any. */
3005
+ private _detailIndex;
3006
+ /** Whether the table is currently rendering in its stacked form. */
3007
+ private _stacked;
3008
+ connectedCallback(): void;
3009
+ disconnectedCallback(): void;
3010
+ willUpdate(changed: PropertyValues<this>): void;
3011
+ render(): ReturnType<typeof html>;
3012
+ }
3013
+ declare global {
3014
+ interface HTMLElementTagNameMap {
3015
+ 'ixfx-data-table': DataTableElement;
3016
+ }
3017
+ }
3018
+ interface DataTableElement {
3019
+ addEventListener<K extends keyof DataTableElementEventMap>(type: K, listener: (this: DataTableElement, event: DataTableElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
3020
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3021
+ }
3022
+ //#endregion
2928
3023
  //#region src/interaction/list-selection-types.d.ts
2929
3024
  /**
2930
3025
  * Shared list selection types.
@@ -2951,6 +3046,11 @@ type ListInteractionMode = `implicit` | `standard` | `manual` | `checked` | `sti
2951
3046
  type ListSelectDetail = {
2952
3047
  readonly selected: ReadonlySet<Element>;
2953
3048
  readonly previous: ReadonlySet<Element>;
3049
+ /**
3050
+ * The selection as stable key strings (`data-key` / `data-value`). Empty
3051
+ * when items carry no key. Additive to `selected`.
3052
+ */
3053
+ readonly selectedKeys: ReadonlySet<string>;
2954
3054
  };
2955
3055
  type ListTickleDetail = {
2956
3056
  readonly item: Element;
@@ -3030,7 +3130,14 @@ declare class VerticalListElement extends LitElement {
3030
3130
  /** The full current selection set (read-only). */
3031
3131
  get selectedItems(): ReadonlySet<Element>;
3032
3132
  addItem(item: Element | string, options?: AddItemOptions): void;
3033
- removeItem(item: Element): void;
3133
+ /**
3134
+ * Collapse + fade `item` out, then detach it. The rows below slide up to
3135
+ * close the gap. Resolves once the element has actually been removed.
3136
+ * Under `prefers-reduced-motion: reduce` it's removed immediately.
3137
+ */
3138
+ removeItem(item: Element): Promise<void>;
3139
+ /** {@link removeItem} for several items at once. */
3140
+ removeItems(items: Iterable<Element>): Promise<void>;
3034
3141
  clearItems(): void;
3035
3142
  /**
3036
3143
  * Replace the entire item list in one call.
@@ -3049,6 +3156,18 @@ declare class VerticalListElement extends LitElement {
3049
3156
  deselect(item: Element): void;
3050
3157
  clearSelection(): void;
3051
3158
  selectAll(): void;
3159
+ /** The selection as stable `data-key` / `data-value` strings. */
3160
+ get selectedKeys(): ReadonlySet<string>;
3161
+ /** The key of the item under the cursor, or `undefined`. */
3162
+ get tickledKey(): string | undefined;
3163
+ /** Replace the selection with the items carrying these keys (unknown keys ignored). */
3164
+ selectKeys(keys: Iterable<string>): void;
3165
+ /** Add items by key to the selection (multi-select modes only). */
3166
+ addSelectedKeys(keys: Iterable<string>): void;
3167
+ /** Remove items by key from the selection. */
3168
+ removeSelectedKeys(keys: Iterable<string>): void;
3169
+ /** Move the cursor to the item with this key and scroll it into view. */
3170
+ focusKey(key: string): void;
3052
3171
  selectedFilter(kind: `selected` | `checked` | `either`): Generator<Element>;
3053
3172
  private _getVisibleItems;
3054
3173
  private _isCheckable;
@@ -3163,7 +3282,13 @@ declare class DetailListElement extends LitElement {
3163
3282
  */
3164
3283
  refreshLayout(): void;
3165
3284
  addItem(item: Element | string, options?: AddItemOptions): void;
3166
- removeItem(item: Element): void;
3285
+ /**
3286
+ * Collapse + fade `item` out, then detach it; the rows after it slide up to
3287
+ * close the gap. Resolves once removed. Immediate under reduced motion.
3288
+ */
3289
+ removeItem(item: Element): Promise<void>;
3290
+ /** {@link removeItem} for several items at once. */
3291
+ removeItems(items: Iterable<Element>): Promise<void>;
3167
3292
  clearItems(): void;
3168
3293
  /**
3169
3294
  * Replace the entire item list in one call.
@@ -3182,6 +3307,18 @@ declare class DetailListElement extends LitElement {
3182
3307
  deselect(item: Element): void;
3183
3308
  clearSelection(): void;
3184
3309
  selectAll(): void;
3310
+ /** The selection as stable `data-key` / `data-value` strings. */
3311
+ get selectedKeys(): ReadonlySet<string>;
3312
+ /** The key of the item under the cursor, or `undefined`. */
3313
+ get tickledKey(): string | undefined;
3314
+ /** Replace the selection with the items carrying these keys (unknown keys ignored). */
3315
+ selectKeys(keys: Iterable<string>): void;
3316
+ /** Add items by key to the selection (multi-select modes only). */
3317
+ addSelectedKeys(keys: Iterable<string>): void;
3318
+ /** Remove items by key from the selection. */
3319
+ removeSelectedKeys(keys: Iterable<string>): void;
3320
+ /** Move the cursor to the item with this key and scroll it into view. */
3321
+ focusKey(key: string): void;
3185
3322
  selectedFilter(kind: `selected` | `checked` | `either`): Generator<Element>;
3186
3323
  private _getVisibleItems;
3187
3324
  /**
@@ -4406,184 +4543,236 @@ declare global {
4406
4543
  }
4407
4544
  }
4408
4545
  //#endregion
4409
- //#region src/grouped-item-lister/types.d.ts
4410
- /**
4411
- * Fired when the selection set changes by any means.
4412
- * Event name: `select`
4413
- */
4414
- type SubComponentSelectDetail<T> = {
4415
- readonly selected: ReadonlySet<T>;
4416
- readonly previous: ReadonlySet<T>;
4417
- };
4418
- /**
4419
- * Fired when an item is explicitly activated (double-click or Enter key).
4420
- * Event name: `activate`
4421
- */
4422
- type SubComponentActivateDetail<T> = {
4423
- readonly item: T;
4424
- };
4425
- /**
4426
- * Fired on a raw pointer click before any selection change.
4427
- * Event name: `item-click`
4428
- */
4429
- type SubComponentItemClickDetail<T> = {
4430
- readonly item: T;
4431
- };
4432
- /**
4433
- * Fired when the pointer hovers over an item or the keyboard cursor moves to it.
4434
- * Event name: `tickle`
4435
- */
4436
- type SubComponentTickleDetail<T> = {
4437
- readonly item: T;
4438
- };
4439
- type SubComponentSelectEvent<T> = CustomEvent<SubComponentSelectDetail<T>>;
4440
- type SubComponentActivateEvent<T> = CustomEvent<SubComponentActivateDetail<T>>;
4441
- type SubComponentItemClickEvent<T> = CustomEvent<SubComponentItemClickDetail<T>>;
4442
- type SubComponentTickleEvent<T> = CustomEvent<SubComponentTickleDetail<T>>;
4443
- interface IGroupedSubComponentEventMap<T> {
4444
- 'select': SubComponentSelectEvent<T>;
4445
- 'activate': SubComponentActivateEvent<T>;
4446
- 'item-click': SubComponentItemClickEvent<T>;
4447
- 'tickle': SubComponentTickleEvent<T>;
4448
- }
4546
+ //#region src/grid-list/types.d.ts
4449
4547
  /**
4450
- * Contract that sub-components passed to `ixfx-grouped-item-lister` must satisfy.
4451
- *
4452
- * All four events (`select`, `activate`, `item-click`, `tickle`) must bubble and be composed
4453
- * so they propagate through the lister's light DOM to external listeners.
4548
+ * How the caption relates to the cell's content.
4549
+ * - `hidden`: no caption is rendered.
4550
+ * - `separate`: content sits in a square; the caption is a detached label
4551
+ * below it. Square and caption are highlighted separately, like macOS
4552
+ * Finder icon view.
4553
+ * - `under` (default): the whole cell is one box — content on top, caption in
4554
+ * its own strip below it, inside the same box. One selection outline.
4555
+ * - `overlaid`: the caption floats on top of the content (see
4556
+ * `GridListCaptionPosition` / `GridListCaptionBackdrop`).
4454
4557
  */
4455
- interface IGroupedSubComponent<T> extends HTMLElement {
4456
- /** Replace the full item list. Called whenever the lister's items or grouping changes. */
4457
- setItems: (items: readonly T[]) => void;
4458
- /** Clear the current selection without firing a `select` event (avoids re-entrant loops). */
4459
- clearSelection: () => void;
4460
- /** The current selection set. */
4461
- readonly selectedItems: ReadonlySet<T>;
4462
- /** Controls how many items can be selected simultaneously. */
4463
- selectionMode: ListSelectionMode;
4464
- /**
4465
- * Forward a command (e.g. sort-order change) to this sub-component.
4466
- * Uses `CommandId` from `@clinth/ui-commands` for interoperability.
4467
- */
4468
- dispatch: (commandId: CommandId, args?: Record<string, unknown>) => void;
4469
- addEventListener: (<K extends keyof IGroupedSubComponentEventMap<T>>(type: K, listener: (event: IGroupedSubComponentEventMap<T>[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
4470
- }
4558
+ type GridListCaptionStyle = `hidden` | `separate` | `under` | `overlaid`;
4559
+ /** Horizontal alignment of caption text (`middle` is the default). */
4560
+ type GridListCaptionAlign = `left` | `middle` | `right`;
4561
+ /** Vertical placement of an `overlaid` caption (`bottom` is the default). */
4562
+ type GridListCaptionPosition = `top` | `middle` | `bottom`;
4471
4563
  /**
4472
- * Factory that creates a sub-component for a given group.
4473
- * Called once per group (or once with `undefined` in ungrouped mode).
4564
+ * Backdrop behind an `overlaid` caption.
4565
+ * - `scrim` (default): flat translucent panel.
4566
+ * - `gradient`: translucent gradient fading away from the caption edge.
4567
+ * - `blur`: frosted / backdrop-blurred panel.
4568
+ * - `none`: no panel — caption text only, with a shadow for legibility.
4474
4569
  */
4475
- type SubComponentFactory<T> = (groupKey: string | undefined) => HTMLElement & IGroupedSubComponent<T>;
4570
+ type GridListCaptionBackdrop = `scrim` | `gradient` | `blur` | `none`;
4476
4571
  /**
4477
- * Fired by `ixfx-grouped-item-lister` after any sub-component fires `select`.
4478
- * Carries the full cross-group selection union and the key of the group whose
4479
- * selection just changed (or `undefined` in ungrouped mode).
4572
+ * Layout / scroll direction.
4573
+ * - `grid` (default): items wrap across as many columns as fit and the list
4574
+ * scrolls vertically.
4575
+ * - `row`: a single row of items that scrolls horizontally.
4576
+ * - `column`: a single column of items that scrolls vertically.
4480
4577
  */
4481
- type GroupedSelectDetail<T> = {
4482
- readonly selected: ReadonlySet<T>;
4483
- readonly groupKey: string | undefined;
4484
- };
4485
- type GroupedSelectEvent<T> = CustomEvent<GroupedSelectDetail<T>>;
4486
- interface GroupedItemListerElementEventMap<T> {
4487
- 'grouped-select': GroupedSelectEvent<T>;
4488
- }
4489
- //#endregion
4490
- //#region src/panel/panel.d.ts
4491
- /** Backwards-compatible aliases: canonical types now live in `../titlebar/titlebar.js`. */
4492
- type PanelOrientation = TitlebarOrientation;
4493
- type PanelVariant = TitlebarVariant;
4494
- type PanelToggleInteraction = TitlebarToggleInteraction;
4495
- type PanelToggleDetail = TitlebarToggleDetail;
4496
- type PanelToggleEvent = TitlebarToggleEvent;
4497
- type PanelCloseEvent = TitlebarCloseEvent;
4498
- interface PanelElementEventMap {
4499
- toggle: PanelToggleEvent;
4500
- close: PanelCloseEvent;
4501
- }
4502
- declare class PanelElement extends LitElement {
4503
- collapsed: boolean;
4504
- orientation: PanelOrientation;
4505
- closable: boolean;
4506
- /** Show the collapse/expand caret and enable toggle behaviour. Defaults to true so existing panels stay collapsible. */
4507
- collapsible: boolean;
4508
- title: string;
4509
- iconName: string;
4510
- toggleInteraction: PanelToggleInteraction;
4511
- variant: PanelVariant;
4512
- /** Suppress the titlebar entirely (content-only chrome, e.g. dock tabbed mode). */
4513
- hideTitlebar: boolean;
4514
- private _onTitlebarToggle;
4515
- private _onCloseClick;
4516
- protected render(): TemplateResult<1>;
4517
- static styles: CSSResult[];
4578
+ type GridListOrientation = `grid` | `row` | `column`;
4579
+ interface GridListSelectDetail {
4580
+ readonly selected: ReadonlySet<Element>;
4581
+ readonly previous: ReadonlySet<Element>;
4582
+ /** The selection as stable `data-key` / `data-value` strings. */
4583
+ readonly selectedKeys: ReadonlySet<string>;
4518
4584
  }
4519
- declare global {
4520
- interface HTMLElementTagNameMap {
4521
- 'ixfx-panel': PanelElement;
4522
- }
4585
+ type GridListSelectEvent = CustomEvent<GridListSelectDetail>;
4586
+ interface GridListActivateDetail {
4587
+ readonly item: Element;
4523
4588
  }
4524
- interface PanelElement {
4525
- addEventListener: (<K extends keyof PanelElementEventMap>(type: K, listener: (this: PanelElement, event: PanelElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
4589
+ type GridListActivateEvent = CustomEvent<GridListActivateDetail>;
4590
+ interface GridListItemClickDetail {
4591
+ readonly item: Element;
4526
4592
  }
4527
- //#endregion
4528
- //#region src/grouped-item-lister/grouped-item-lister.d.ts
4529
- declare class GroupedItemListerElement<T = unknown> extends LitElement {
4530
- #private;
4531
- grouped: boolean;
4532
- crossGroupSelection: boolean;
4533
- get groupBy(): ((item: T) => string) | undefined;
4534
- set groupBy(value: ((item: T) => string) | undefined);
4535
- get factory(): SubComponentFactory<T> | undefined;
4536
- set factory(value: SubComponentFactory<T> | undefined);
4537
- get provider(): IDataProvider<void, T> | undefined;
4538
- set provider(value: IDataProvider<void, T> | undefined);
4539
- /** The union of all selected items across every sub-component. */
4540
- get selectedItems(): ReadonlySet<T>;
4541
- /**
4542
- * Forward a command to all live sub-components.
4543
- * Use this to propagate changes like sort order, filter state, or view mode.
4544
- */
4545
- dispatch(commandId: CommandId, args?: Record<string, unknown>): void;
4546
- protected createRenderRoot(): this;
4547
- connectedCallback(): void;
4548
- disconnectedCallback(): void;
4549
- protected updated(changed: PropertyValues): void;
4550
- protected render(): typeof nothing | TemplateResult<1>;
4593
+ type GridListItemClickEvent = CustomEvent<GridListItemClickDetail>;
4594
+ interface GridListTickleDetail {
4595
+ readonly item: Element;
4551
4596
  }
4552
- declare global {
4553
- interface HTMLElementTagNameMap {
4554
- 'ixfx-grouped-item-lister': GroupedItemListerElement;
4555
- }
4597
+ type GridListTickleEvent = CustomEvent<GridListTickleDetail>;
4598
+ interface GridListElementEventMap {
4599
+ 'list-select': GridListSelectEvent;
4600
+ 'list-activate': GridListActivateEvent;
4601
+ 'list-item-click': GridListItemClickEvent;
4602
+ 'list-tickle': GridListTickleEvent;
4556
4603
  }
4557
- interface GroupedItemListerElement<T> {
4558
- addEventListener: (<K extends keyof GroupedItemListerElementEventMap<T>>(type: K, listener: (this: GroupedItemListerElement<T>, event: GroupedItemListerElementEventMap<T>[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
4604
+ type GridListViewportChangeDetail = {
4605
+ readonly visibleKeys: string[];
4606
+ };
4607
+ type GridListViewportChangeEvent = CustomEvent<GridListViewportChangeDetail>;
4608
+ interface GridListFullElementEventMap extends GridListElementEventMap {
4609
+ 'grid-list-viewport-change': GridListViewportChangeEvent;
4559
4610
  }
4560
4611
  //#endregion
4561
- //#region src/interaction/tickled-controller.d.ts
4612
+ //#region src/interaction/list-selection-controller.d.ts
4613
+ /** Modifier state needed to route a click gesture per interaction mode. */
4614
+ type ListSelectionGesture = {
4615
+ readonly ctrlKey: boolean;
4616
+ readonly metaKey: boolean;
4617
+ readonly shiftKey: boolean;
4618
+ };
4619
+ type ListSelectionModes = {
4620
+ readonly selectionMode: ListSelectionMode;
4621
+ readonly interactionMode: ListInteractionMode;
4622
+ };
4562
4623
  /**
4563
- * Represents an item that can be tickled (highlighted via hover or keyboard navigation)
4624
+ * Configuration supplied by the host component.
4625
+ *
4626
+ * The controller owns selection *state* only — everything DOM- or
4627
+ * component-specific is expressed through these callbacks.
4564
4628
  */
4565
- type TickledItem<T = unknown> = {
4629
+ type ListSelectionControllerConfig<T> = {
4630
+ /** Visible items in navigation order — used for range selection and select-all. */
4631
+ readonly getOrderedItems: () => readonly T[];
4632
+ /** Whether an item may join the selection (e.g. reject `not-checked` rows). */
4633
+ readonly isSelectable: (item: T) => boolean;
4634
+ /** Current modes; read on every gesture so property changes apply immediately. */
4635
+ readonly getModes: () => ListSelectionModes;
4566
4636
  /**
4567
- * Unique identifier for the item (e.g., index, id, path)
4637
+ * Fired after every selection change. The host syncs DOM state
4638
+ * (`data-selected` / `data-checked`), dispatches `list-select`, and
4639
+ * requests an update.
4568
4640
  */
4569
- readonly id: T;
4641
+ readonly onChange: (selected: ReadonlySet<T>, previous: ReadonlySet<T>) => void;
4570
4642
  /**
4571
- * Whether the item is currently enabled/interactive
4643
+ * Optional: derive a stable string key for an item. Enables `selectedKeys`
4644
+ * and `selectKeys()`. When omitted, `selectedKeys` is always empty.
4572
4645
  */
4573
- readonly enabled?: boolean;
4646
+ readonly getKey?: (item: T) => string | undefined;
4574
4647
  };
4648
+ /** Whether the interaction mode allows building a multi-item selection. */
4649
+ declare function isMultiMode(mode: ListInteractionMode): boolean;
4575
4650
  /**
4576
- * Input mode determines which mechanism controls the tickled state
4577
- */
4578
- type InputMode = `keyboard` | `mouse`;
4579
- /**
4580
- * Configuration for TickledController
4651
+ * Generic selection state machine shared by list components.
4652
+ *
4653
+ * Owns the selected set plus the range-selection anchor, the selection
4654
+ * primitives (`replace` / `toggle` / `rangeTo` / `clear` / `selectAll` /
4655
+ * `selectMany` / `deselect`) and the per-interactionMode gesture routers
4656
+ * (`handleClick` / `handleSpace`).
4657
+ *
4658
+ * Identity is generic: both `ixfx-vertical-list` and `ixfx-detail-list` use
4659
+ * `ListSelectionController<Element>`.
4660
+ *
4661
+ * @example
4662
+ * ```ts
4663
+ * const selection = new ListSelectionController<Element>({
4664
+ * getOrderedItems: () => this.getVisibleItems(),
4665
+ * isSelectable: el => !el.hasAttribute(`not-checked`),
4666
+ * getModes: () => ({ selectionMode: this.selectionMode, interactionMode: this.interactionMode }),
4667
+ * onChange: (selected, previous) => {
4668
+ * this.syncItemStates();
4669
+ * this.dispatchEvent(new CustomEvent(`list-select`, { detail: { selected, previous } }));
4670
+ * },
4671
+ * });
4672
+ * ```
4581
4673
  */
4582
- type TickledControllerConfig<T> = {
4583
- /**
4584
- * Function to retrieve all items that can be tickled
4585
- */
4586
- getItems: () => ReadonlyArray<TickledItem<T>>;
4674
+ declare class ListSelectionController<T> {
4675
+ #private;
4676
+ constructor(config: ListSelectionControllerConfig<T>);
4677
+ /** The current selection set (read-only). */
4678
+ get selected(): ReadonlySet<T>;
4679
+ /**
4680
+ * The current selection as stable string keys (read-only). Empty unless a
4681
+ * `getKey` was supplied in config. Items whose `getKey` returns `undefined`
4682
+ * are omitted.
4683
+ */
4684
+ get selectedKeys(): ReadonlySet<string>;
4685
+ /** Anchor for range (shift) selection — the last plainly-selected item. */
4686
+ get anchor(): T | undefined;
4687
+ /** Whether "select all" (Cmd/Ctrl+A) is currently permitted. */
4688
+ canSelectAll(): boolean;
4689
+ /** Whether a multi-item selection can be built in the current modes. */
4690
+ canSelectMultiple(): boolean;
4691
+ /** Replace the entire selection with a single item; updates the anchor. */
4692
+ replace(item: T): void;
4693
+ /** Toggle a single item in/out of the selection without replacing it. Anchor unchanged. */
4694
+ toggle(item: T): void;
4695
+ /** Select the contiguous ordered range from the anchor to `item`. Anchor unchanged. */
4696
+ rangeTo(item: T): void;
4697
+ /** Clear the selection. No change event when the selection is already empty. */
4698
+ clear(): void;
4699
+ /** Select every ordered item that passes `isSelectable`. */
4700
+ selectAll(): void;
4701
+ /**
4702
+ * Replace the selection with many items at once. Requires
4703
+ * `selectionMode="multiple"`, throws otherwise. Updates the anchor.
4704
+ */
4705
+ selectMany(items: Iterable<T>): void;
4706
+ /** Remove a single item from the selection. */
4707
+ deselect(item: T): void;
4708
+ /**
4709
+ * Replace the selection with the items resolved from `keys`. Keys that
4710
+ * `resolve` cannot map, or that resolve to a non-selectable item, are
4711
+ * ignored. `selectionMode="none"` is a no-op. When multi-select is not
4712
+ * available, only the last resolvable key is kept. `onChange` fires once.
4713
+ */
4714
+ selectKeys(keys: Iterable<string>, resolve: (key: string) => T | undefined): void;
4715
+ /**
4716
+ * Add the items resolved from `keys` to the selection (multi-select only;
4717
+ * a no-op otherwise). `onChange` fires once if anything changed.
4718
+ */
4719
+ addKeys(keys: Iterable<string>, resolve: (key: string) => T | undefined): void;
4720
+ /**
4721
+ * Remove the items resolved from `keys` from the selection. `onChange`
4722
+ * fires once if anything changed.
4723
+ */
4724
+ removeKeys(keys: Iterable<string>, resolve: (key: string) => T | undefined): void;
4725
+ /** Route a click on `item` according to the current interaction mode. */
4726
+ handleClick(item: T, gesture: ListSelectionGesture): void;
4727
+ /** Route a Space keypress on `item` according to the current interaction mode. */
4728
+ handleSpace(item: T): void;
4729
+ /** Drop the range-selection anchor (e.g. when the interaction mode changes). */
4730
+ clearAnchor(): void;
4731
+ /**
4732
+ * Re-key the selection across an identity boundary — e.g. when items are
4733
+ * wrapped/unwrapped and the selected Element references change. Silent:
4734
+ * no `onChange` is fired.
4735
+ */
4736
+ remap(fn: (item: T) => T): void;
4737
+ /**
4738
+ * Hard reset: empty the selection and clear the anchor without firing
4739
+ * `onChange` (e.g. when all items are removed).
4740
+ */
4741
+ reset(): void;
4742
+ /**
4743
+ * Replace the selection and anchor silently (no `onChange`). Used to
4744
+ * re-key the selection when items are rebuilt from data — e.g. matching
4745
+ * new elements to previously selected keys.
4746
+ */
4747
+ seed(items: Iterable<T>, anchor?: T): void;
4748
+ }
4749
+ //#endregion
4750
+ //#region src/interaction/tickled-controller.d.ts
4751
+ /**
4752
+ * Represents an item that can be tickled (highlighted via hover or keyboard navigation)
4753
+ */
4754
+ type TickledItem<T = unknown> = {
4755
+ /**
4756
+ * Unique identifier for the item (e.g., index, id, path)
4757
+ */
4758
+ readonly id: T;
4759
+ /**
4760
+ * Whether the item is currently enabled/interactive
4761
+ */
4762
+ readonly enabled?: boolean;
4763
+ };
4764
+ /**
4765
+ * Input mode determines which mechanism controls the tickled state
4766
+ */
4767
+ type InputMode = `keyboard` | `mouse`;
4768
+ /**
4769
+ * Configuration for TickledController
4770
+ */
4771
+ type TickledControllerConfig<T> = {
4772
+ /**
4773
+ * Function to retrieve all items that can be tickled
4774
+ */
4775
+ getItems: () => ReadonlyArray<TickledItem<T>>;
4587
4776
  /**
4588
4777
  * Optional callback when an item becomes tickled
4589
4778
  * Use this for side effects like opening submenus
@@ -4700,6 +4889,17 @@ declare class TickledController<T = number> implements ReactiveController {
4700
4889
  * Get the currently tickled item id
4701
4890
  */
4702
4891
  get tickledId(): T | undefined;
4892
+ /**
4893
+ * The item currently under the cursor, or `undefined`. Alias of `tickledId`
4894
+ * for parity with other controllers.
4895
+ */
4896
+ get current(): T | undefined;
4897
+ /**
4898
+ * Move the cursor programmatically (e.g. to reveal a match or re-seat it
4899
+ * after the item set changed). Does not change the input mode. Alias of
4900
+ * `setTickled`.
4901
+ */
4902
+ focus(id: T | undefined): void;
4703
4903
  /**
4704
4904
  * Check if a specific item is tickled
4705
4905
  */
@@ -4752,6 +4952,253 @@ declare class TickledController<T = number> implements ReactiveController {
4752
4952
  setInputMode(mode: InputMode): void;
4753
4953
  }
4754
4954
  //#endregion
4955
+ //#region src/grid-list/grid-list.d.ts
4956
+ declare class GridListElement extends LitElement {
4957
+ #private;
4958
+ static styles: CSSResult[];
4959
+ selectionMode: ListSelectionMode;
4960
+ interactionMode: ListInteractionMode;
4961
+ itemSize: number;
4962
+ gap: number;
4963
+ /**
4964
+ * Layout / scroll direction.
4965
+ * - `grid` (default): items wrap across as many columns as fit, scrolls vertically.
4966
+ * - `row`: a single row of items, scrolls horizontally.
4967
+ * - `column`: a single column of items, scrolls vertically.
4968
+ */
4969
+ orientation: GridListOrientation;
4970
+ /**
4971
+ * How the caption relates to the content — see {@link GridListCaptionStyle}.
4972
+ * - `hidden`: no caption.
4973
+ * - `separate`: detached label below the square, each highlighted on its own.
4974
+ * - `under` (default): one box, content on top, caption strip below it inside.
4975
+ * - `overlaid`: caption floats over the content.
4976
+ */
4977
+ captionStyle: GridListCaptionStyle;
4978
+ /** Horizontal alignment of the caption text: `left`, `middle` (default), `right`. */
4979
+ captionAlign: GridListCaptionAlign;
4980
+ /** `overlaid` only — vertical placement: `top`, `middle`, `bottom` (default). */
4981
+ captionPosition: GridListCaptionPosition;
4982
+ /** `overlaid` only — backdrop behind the caption: `scrim` (default), `gradient`, `blur`, `none`. */
4983
+ captionBackdrop: GridListCaptionBackdrop;
4984
+ /**
4985
+ * Height reserved for the caption in `separate` / `under` styles, in pixels.
4986
+ * Ignored by `overlaid` and `hidden`.
4987
+ */
4988
+ captionHeight: number;
4989
+ itemWrap: `stop` | `wrap`;
4990
+ private _scrollTop;
4991
+ private _scrollLeft;
4992
+ private _viewportHeight;
4993
+ private _viewportWidth;
4994
+ readonly selection: ListSelectionController<Element>;
4995
+ readonly tickled: TickledController<Element>;
4996
+ connectedCallback(): void;
4997
+ disconnectedCallback(): void;
4998
+ protected firstUpdated(): void;
4999
+ protected willUpdate(changed: PropertyValues<this>): void;
5000
+ protected updated(changed: PropertyValues<this>): void;
5001
+ private _getVisibleItems;
5002
+ get count(): number;
5003
+ /**
5004
+ * Number of cells currently rendered in the shadow DOM. With virtualization
5005
+ * this is roughly the visible rows plus overscan, regardless of how large
5006
+ * `count` is — useful for demos/diagnostics.
5007
+ */
5008
+ get renderedCount(): number;
5009
+ get selectedItems(): ReadonlySet<Element>;
5010
+ /** The selection as stable `data-key` / `data-value` strings. */
5011
+ get selectedKeys(): ReadonlySet<string>;
5012
+ select(item: Element): void;
5013
+ selectMany(items: Iterable<Element>): void;
5014
+ deselect(item: Element): void;
5015
+ clearSelection(): void;
5016
+ selectAll(): void;
5017
+ /**
5018
+ * Replace the selection with the items carrying these keys. Unknown keys are
5019
+ * ignored; survives the host rebuilding the item set. Requires each item to
5020
+ * have a `data-key` (or `data-value`).
5021
+ */
5022
+ selectKeys(keys: Iterable<string>): void;
5023
+ /** Add items by key to the selection (multi-select modes only). */
5024
+ addSelectedKeys(keys: Iterable<string>): void;
5025
+ /** Remove items by key from the selection. */
5026
+ removeSelectedKeys(keys: Iterable<string>): void;
5027
+ /** Move the cursor to the item with this key and scroll it into view. */
5028
+ focusKey(key: string): void;
5029
+ /** The key of the item under the cursor, or `undefined`. */
5030
+ get tickledKey(): string | undefined;
5031
+ getItem(key: string): Element | undefined;
5032
+ getItemByIndex(index: number): Element | undefined;
5033
+ getKey(item: Element): string | undefined;
5034
+ visibleKeys(): string[];
5035
+ private _syncItemStates;
5036
+ private _dispatch;
5037
+ protected render(): ReturnType<typeof html>;
5038
+ private _onKeyDown;
5039
+ }
5040
+ declare global {
5041
+ interface HTMLElementTagNameMap {
5042
+ 'ixfx-grid-list': GridListElement;
5043
+ }
5044
+ }
5045
+ interface GridListElement {
5046
+ addEventListener<K extends keyof GridListFullElementEventMap>(type: K, listener: (this: GridListElement, ev: GridListFullElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
5047
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
5048
+ }
5049
+ //#endregion
5050
+ //#region src/grouped-item-lister/types.d.ts
5051
+ /**
5052
+ * Fired when the selection set changes by any means.
5053
+ * Event name: `select`
5054
+ */
5055
+ type SubComponentSelectDetail<T> = {
5056
+ readonly selected: ReadonlySet<T>;
5057
+ readonly previous: ReadonlySet<T>;
5058
+ };
5059
+ /**
5060
+ * Fired when an item is explicitly activated (double-click or Enter key).
5061
+ * Event name: `activate`
5062
+ */
5063
+ type SubComponentActivateDetail<T> = {
5064
+ readonly item: T;
5065
+ };
5066
+ /**
5067
+ * Fired on a raw pointer click before any selection change.
5068
+ * Event name: `item-click`
5069
+ */
5070
+ type SubComponentItemClickDetail<T> = {
5071
+ readonly item: T;
5072
+ };
5073
+ /**
5074
+ * Fired when the pointer hovers over an item or the keyboard cursor moves to it.
5075
+ * Event name: `tickle`
5076
+ */
5077
+ type SubComponentTickleDetail<T> = {
5078
+ readonly item: T;
5079
+ };
5080
+ type SubComponentSelectEvent<T> = CustomEvent<SubComponentSelectDetail<T>>;
5081
+ type SubComponentActivateEvent<T> = CustomEvent<SubComponentActivateDetail<T>>;
5082
+ type SubComponentItemClickEvent<T> = CustomEvent<SubComponentItemClickDetail<T>>;
5083
+ type SubComponentTickleEvent<T> = CustomEvent<SubComponentTickleDetail<T>>;
5084
+ interface IGroupedSubComponentEventMap<T> {
5085
+ 'select': SubComponentSelectEvent<T>;
5086
+ 'activate': SubComponentActivateEvent<T>;
5087
+ 'item-click': SubComponentItemClickEvent<T>;
5088
+ 'tickle': SubComponentTickleEvent<T>;
5089
+ }
5090
+ /**
5091
+ * Contract that sub-components passed to `ixfx-grouped-item-lister` must satisfy.
5092
+ *
5093
+ * All four events (`select`, `activate`, `item-click`, `tickle`) must bubble and be composed
5094
+ * so they propagate through the lister's light DOM to external listeners.
5095
+ */
5096
+ interface IGroupedSubComponent<T> extends HTMLElement {
5097
+ /** Replace the full item list. Called whenever the lister's items or grouping changes. */
5098
+ setItems: (items: readonly T[]) => void;
5099
+ /** Clear the current selection without firing a `select` event (avoids re-entrant loops). */
5100
+ clearSelection: () => void;
5101
+ /** The current selection set. */
5102
+ readonly selectedItems: ReadonlySet<T>;
5103
+ /** Controls how many items can be selected simultaneously. */
5104
+ selectionMode: ListSelectionMode;
5105
+ /**
5106
+ * Forward a command (e.g. sort-order change) to this sub-component.
5107
+ * Uses `CommandId` from `@clinth/ui-commands` for interoperability.
5108
+ */
5109
+ dispatch: (commandId: CommandId, args?: Record<string, unknown>) => void;
5110
+ addEventListener: (<K extends keyof IGroupedSubComponentEventMap<T>>(type: K, listener: (event: IGroupedSubComponentEventMap<T>[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
5111
+ }
5112
+ /**
5113
+ * Factory that creates a sub-component for a given group.
5114
+ * Called once per group (or once with `undefined` in ungrouped mode).
5115
+ */
5116
+ type SubComponentFactory<T> = (groupKey: string | undefined) => HTMLElement & IGroupedSubComponent<T>;
5117
+ /**
5118
+ * Fired by `ixfx-grouped-item-lister` after any sub-component fires `select`.
5119
+ * Carries the full cross-group selection union and the key of the group whose
5120
+ * selection just changed (or `undefined` in ungrouped mode).
5121
+ */
5122
+ type GroupedSelectDetail<T> = {
5123
+ readonly selected: ReadonlySet<T>;
5124
+ readonly groupKey: string | undefined;
5125
+ };
5126
+ type GroupedSelectEvent<T> = CustomEvent<GroupedSelectDetail<T>>;
5127
+ interface GroupedItemListerElementEventMap<T> {
5128
+ 'grouped-select': GroupedSelectEvent<T>;
5129
+ }
5130
+ //#endregion
5131
+ //#region src/panel/panel.d.ts
5132
+ /** Backwards-compatible aliases: canonical types now live in `../titlebar/titlebar.js`. */
5133
+ type PanelOrientation = TitlebarOrientation;
5134
+ type PanelVariant = TitlebarVariant;
5135
+ type PanelToggleInteraction = TitlebarToggleInteraction;
5136
+ type PanelToggleDetail = TitlebarToggleDetail;
5137
+ type PanelToggleEvent = TitlebarToggleEvent;
5138
+ type PanelCloseEvent = TitlebarCloseEvent;
5139
+ interface PanelElementEventMap {
5140
+ toggle: PanelToggleEvent;
5141
+ close: PanelCloseEvent;
5142
+ }
5143
+ declare class PanelElement extends LitElement {
5144
+ collapsed: boolean;
5145
+ orientation: PanelOrientation;
5146
+ closable: boolean;
5147
+ /** Show the collapse/expand caret and enable toggle behaviour. Defaults to true so existing panels stay collapsible. */
5148
+ collapsible: boolean;
5149
+ title: string;
5150
+ iconName: string;
5151
+ toggleInteraction: PanelToggleInteraction;
5152
+ variant: PanelVariant;
5153
+ /** Suppress the titlebar entirely (content-only chrome, e.g. dock tabbed mode). */
5154
+ hideTitlebar: boolean;
5155
+ private _onTitlebarToggle;
5156
+ private _onCloseClick;
5157
+ protected render(): TemplateResult<1>;
5158
+ static styles: CSSResult[];
5159
+ }
5160
+ declare global {
5161
+ interface HTMLElementTagNameMap {
5162
+ 'ixfx-panel': PanelElement;
5163
+ }
5164
+ }
5165
+ interface PanelElement {
5166
+ addEventListener: (<K extends keyof PanelElementEventMap>(type: K, listener: (this: PanelElement, event: PanelElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
5167
+ }
5168
+ //#endregion
5169
+ //#region src/grouped-item-lister/grouped-item-lister.d.ts
5170
+ declare class GroupedItemListerElement<T = unknown> extends LitElement {
5171
+ #private;
5172
+ grouped: boolean;
5173
+ crossGroupSelection: boolean;
5174
+ get groupBy(): ((item: T) => string) | undefined;
5175
+ set groupBy(value: ((item: T) => string) | undefined);
5176
+ get factory(): SubComponentFactory<T> | undefined;
5177
+ set factory(value: SubComponentFactory<T> | undefined);
5178
+ get provider(): IDataProvider<void, T> | undefined;
5179
+ set provider(value: IDataProvider<void, T> | undefined);
5180
+ /** The union of all selected items across every sub-component. */
5181
+ get selectedItems(): ReadonlySet<T>;
5182
+ /**
5183
+ * Forward a command to all live sub-components.
5184
+ * Use this to propagate changes like sort order, filter state, or view mode.
5185
+ */
5186
+ dispatch(commandId: CommandId, args?: Record<string, unknown>): void;
5187
+ protected createRenderRoot(): this;
5188
+ connectedCallback(): void;
5189
+ disconnectedCallback(): void;
5190
+ protected updated(changed: PropertyValues): void;
5191
+ protected render(): typeof nothing | TemplateResult<1>;
5192
+ }
5193
+ declare global {
5194
+ interface HTMLElementTagNameMap {
5195
+ 'ixfx-grouped-item-lister': GroupedItemListerElement;
5196
+ }
5197
+ }
5198
+ interface GroupedItemListerElement<T> {
5199
+ addEventListener: (<K extends keyof GroupedItemListerElementEventMap<T>>(type: K, listener: (this: GroupedItemListerElement<T>, event: GroupedItemListerElementEventMap<T>[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
5200
+ }
5201
+ //#endregion
4755
5202
  //#region src/tree/tree-base.d.ts
4756
5203
  declare class TreeBaseElement extends LitElement implements TreeComponent, TreeSearchHost {
4757
5204
  #private;
@@ -4772,6 +5219,9 @@ declare class TreeBaseElement extends LitElement implements TreeComponent, TreeS
4772
5219
  protected _expandedKeys: Set<string>;
4773
5220
  protected tickled: TickledController<string>;
4774
5221
  protected _focusedDepth: number;
5222
+ willUpdate(changedProps: PropertyValues): void;
5223
+ /** True while `node` is a fading ghost row (removed / collapsed, still animating out). */
5224
+ protected _isLeaving(node: TreeNode): boolean;
4775
5225
  updated(changedProps: PropertyValues): void;
4776
5226
  connectedCallback(): void;
4777
5227
  disconnectedCallback(): void;
@@ -4788,12 +5238,12 @@ declare class TreeBaseElement extends LitElement implements TreeComponent, TreeS
4788
5238
  node: TreeNode;
4789
5239
  depth: number;
4790
5240
  }>;
4791
- protected renderNodeContent(node: TreeNode, _depth: number): TemplateResult | typeof nothing;
5241
+ protected renderNodeContent(node: TreeNode, depth: number): TemplateResult | typeof nothing;
4792
5242
  protected _handleItemClick(node: TreeNode, depth: number, event?: MouseEvent): void;
4793
5243
  protected _handleCheckboxClick(event: MouseEvent, node: TreeNode, _depth: number): void;
4794
5244
  protected _isSelected(node: TreeNode): boolean;
4795
5245
  protected _isFocused(node: TreeNode): boolean;
4796
- protected _isExpanded(node: TreeNode): boolean;
5246
+ protected _isExpanded(node: TreeNode, depth?: number): boolean;
4797
5247
  protected get _pendingNode(): TreeNode | undefined;
4798
5248
  protected renderLoadingIndicator(): TemplateResult | typeof nothing;
4799
5249
  protected render(): TemplateResult<1>;
@@ -5291,115 +5741,101 @@ declare function buildHighlightTargets<T>(root: ShadowRoot | Element, itemSelect
5291
5741
  //#region src/incr-search/incr-search.d.ts
5292
5742
  declare function createIncrSearch<T>(options?: IncrSearchOptions<T>): IncrSearch<T>;
5293
5743
  //#endregion
5294
- //#region src/interaction/list-selection-controller.d.ts
5295
- /** Modifier state needed to route a click gesture per interaction mode. */
5296
- type ListSelectionGesture = {
5297
- readonly ctrlKey: boolean;
5298
- readonly metaKey: boolean;
5299
- readonly shiftKey: boolean;
5300
- };
5301
- type ListSelectionModes = {
5302
- readonly selectionMode: ListSelectionMode;
5303
- readonly interactionMode: ListInteractionMode;
5304
- };
5744
+ //#region src/interaction/keyed-list.d.ts
5305
5745
  /**
5306
- * Configuration supplied by the host component.
5746
+ * Helpers for key-based selection on the Element-flavoured list components
5747
+ * (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-grid-list`).
5307
5748
  *
5308
- * The controller owns selection *state* onlyeverything DOM- or
5309
- * component-specific is expressed through these callbacks.
5749
+ * A "key" is a stable string the host puts on each item element `data-key`
5750
+ * (preferred) or `data-value`. It survives the host rebuilding the item set
5751
+ * (re-fetch, re-sort, filter) where raw `Element` references do not.
5310
5752
  */
5311
- type ListSelectionControllerConfig<T> = {
5312
- /** Visible items in navigation order — used for range selection and select-all. */
5313
- readonly getOrderedItems: () => readonly T[];
5314
- /** Whether an item may join the selection (e.g. reject `not-checked` rows). */
5315
- readonly isSelectable: (item: T) => boolean;
5316
- /** Current modes; read on every gesture so property changes apply immediately. */
5317
- readonly getModes: () => ListSelectionModes;
5318
- /**
5319
- * Fired after every selection change. The host syncs DOM state
5320
- * (`data-selected` / `data-checked`), dispatches `list-select`, and
5321
- * requests an update.
5322
- */
5323
- readonly onChange: (selected: ReadonlySet<T>, previous: ReadonlySet<T>) => void;
5324
- };
5325
- /** Whether the interaction mode allows building a multi-item selection. */
5326
- declare function isMultiMode(mode: ListInteractionMode): boolean;
5327
5753
  /**
5328
- * Generic selection state machine shared by list components.
5329
- *
5330
- * Owns the selected set plus the range-selection anchor, the selection
5331
- * primitives (`replace` / `toggle` / `rangeTo` / `clear` / `selectAll` /
5332
- * `selectMany` / `deselect`) and the per-interactionMode gesture routers
5333
- * (`handleClick` / `handleSpace`).
5334
- *
5335
- * Identity is generic: both `ixfx-vertical-list` and `ixfx-detail-list` use
5336
- * `ListSelectionController<Element>`.
5754
+ * The stable key for an item element: `data-key`, then `data-value`, else
5755
+ * `undefined`.
5756
+ */
5757
+ declare function keyForElement(el: Element): string | undefined;
5758
+ /**
5759
+ * A lazily-built key → element index over a container. Rebuilt on first use
5760
+ * and after any child-list mutation under `root`; `invalidate()` forces a
5761
+ * rebuild on the next `get()`.
5337
5762
  *
5338
- * @example
5339
5763
  * ```ts
5340
- * const selection = new ListSelectionController<Element>({
5341
- * getOrderedItems: () => this.getVisibleItems(),
5342
- * isSelectable: el => !el.hasAttribute(`not-checked`),
5343
- * getModes: () => ({ selectionMode: this.selectionMode, interactionMode: this.interactionMode }),
5344
- * onChange: (selected, previous) => {
5345
- * this.syncItemStates();
5346
- * this.dispatchEvent(new CustomEvent(`list-select`, { detail: { selected, previous } }));
5347
- * },
5348
- * });
5764
+ * #keyIndex = new KeyedElementIndex(this);
5765
+ * // ...
5766
+ * const el = this.#keyIndex.get(`row-42`);
5767
+ * // on disconnect:
5768
+ * this.#keyIndex.dispose();
5349
5769
  * ```
5350
5770
  */
5351
- declare class ListSelectionController<T> {
5771
+ declare class KeyedElementIndex {
5352
5772
  #private;
5353
- constructor(config: ListSelectionControllerConfig<T>);
5354
- /** The current selection set (read-only). */
5355
- get selected(): ReadonlySet<T>;
5356
- /** Anchor for range (shift) selection — the last plainly-selected item. */
5357
- get anchor(): T | undefined;
5358
- /** Whether "select all" (Cmd/Ctrl+A) is currently permitted. */
5359
- canSelectAll(): boolean;
5360
- /** Whether a multi-item selection can be built in the current modes. */
5361
- canSelectMultiple(): boolean;
5362
- /** Replace the entire selection with a single item; updates the anchor. */
5363
- replace(item: T): void;
5364
- /** Toggle a single item in/out of the selection without replacing it. Anchor unchanged. */
5365
- toggle(item: T): void;
5366
- /** Select the contiguous ordered range from the anchor to `item`. Anchor unchanged. */
5367
- rangeTo(item: T): void;
5368
- /** Clear the selection. No change event when the selection is already empty. */
5369
- clear(): void;
5370
- /** Select every ordered item that passes `isSelectable`. */
5371
- selectAll(): void;
5372
5773
  /**
5373
- * Replace the selection with many items at once. Requires
5374
- * `selectionMode="multiple"`, throws otherwise. Updates the anchor.
5774
+ * @param root Container whose descendants are indexed.
5775
+ * @param itemSelector Which descendants count as items (default: any `[data-key]`).
5375
5776
  */
5376
- selectMany(items: Iterable<T>): void;
5377
- /** Remove a single item from the selection. */
5378
- deselect(item: T): void;
5379
- /** Route a click on `item` according to the current interaction mode. */
5380
- handleClick(item: T, gesture: ListSelectionGesture): void;
5381
- /** Route a Space keypress on `item` according to the current interaction mode. */
5382
- handleSpace(item: T): void;
5383
- /** Drop the range-selection anchor (e.g. when the interaction mode changes). */
5384
- clearAnchor(): void;
5385
- /**
5386
- * Re-key the selection across an identity boundary — e.g. when items are
5387
- * wrapped/unwrapped and the selected Element references change. Silent:
5388
- * no `onChange` is fired.
5389
- */
5390
- remap(fn: (item: T) => T): void;
5391
- /**
5392
- * Hard reset: empty the selection and clear the anchor without firing
5393
- * `onChange` (e.g. when all items are removed).
5394
- */
5395
- reset(): void;
5777
+ constructor(root: Element, itemSelector?: string);
5778
+ /** The element with this key, or `undefined`. First match wins on duplicates. */
5779
+ get(key: string): Element | undefined;
5780
+ /** Force a rebuild on the next `get()` e.g. after a `data-key` attribute change. */
5781
+ invalidate(): void;
5782
+ /** Stop observing and drop the cache. */
5783
+ dispose(): void;
5784
+ }
5785
+ //#endregion
5786
+ //#region src/interaction/list-item-animation.d.ts
5787
+ /**
5788
+ * Shared insertion / removal animation for the list & tree components.
5789
+ *
5790
+ * Two flavours, because the components split into two layout families:
5791
+ *
5792
+ * - **Flow layouts** (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-tree-*`) —
5793
+ * rows sit in normal flow, so a new row can collapse in from zero height and a
5794
+ * leaving row can collapse back to zero, and the rows around it slide to make
5795
+ * or close the gap for free. Use {@link animateListItemIn} /
5796
+ * {@link animateListItemOut} (Web Animations API, exact measured sizes).
5797
+ *
5798
+ * - **Virtualised layouts** (`ixfx-grid-list`, `ixfx-data-grid`) — rows are
5799
+ * absolutely positioned (`transform` / `top`), so collapsing a row's box moves
5800
+ * nothing. Those components instead fade the entering / leaving row with the
5801
+ * {@link listItemFadeKeyframes} keyframes and slide the survivors by
5802
+ * transitioning their position for a short window after the change.
5803
+ *
5804
+ * Everything here is a no-op under `prefers-reduced-motion: reduce`.
5805
+ */
5806
+ /** Default duration (ms) for both flavours; overridable per call / per component. */
5807
+ declare const LIST_ITEM_MOTION_MS = 200;
5808
+ declare function prefersReducedMotion(): boolean;
5809
+ /**
5810
+ * Opacity keyframes for the virtualised components. Each one adds its own
5811
+ * one-line rule binding `.<row>.ixfx-item-entering` / `.ixfx-item-leaving` to
5812
+ * these, plus a `prefers-reduced-motion` guard on its own selectors.
5813
+ */
5814
+ declare const listItemFadeKeyframes: CSSResult;
5815
+ interface ListItemMotionOptions {
5396
5816
  /**
5397
- * Replace the selection and anchor silently (no `onChange`). Used to
5398
- * re-key the selection when items are rebuilt from data — e.g. matching
5399
- * new elements to previously selected keys.
5817
+ * Animation duration in ms. When omitted, the element's
5818
+ * `--ixfx-list-item-move-duration` custom property is used if set (accepts
5819
+ * `ms` or `s`), otherwise {@link LIST_ITEM_MOTION_MS}.
5400
5820
  */
5401
- seed(items: Iterable<T>, anchor?: T): void;
5821
+ duration?: number;
5822
+ /** Which axis collapses — `block` (height, default) or `inline` (width). */
5823
+ axis?: `block` | `inline`;
5824
+ easing?: string;
5402
5825
  }
5826
+ /**
5827
+ * Collapse + fade `el` in from nothing to its natural size. Call it just after
5828
+ * the element has been inserted (it must already be laid out at full size so it
5829
+ * can be measured). No-op under reduced motion.
5830
+ */
5831
+ declare function animateListItemIn(el: HTMLElement, options?: ListItemMotionOptions): Animation | undefined;
5832
+ /**
5833
+ * Collapse + fade `el` out. Resolves once the animation finishes (or straight
5834
+ * away under reduced motion); the caller detaches the element after. The final
5835
+ * collapsed state is held (`fill: forwards`) so there's no flash back to full
5836
+ * size in the gap before removal.
5837
+ */
5838
+ declare function animateListItemOut(el: HTMLElement, options?: ListItemMotionOptions): Promise<void>;
5403
5839
  //#endregion
5404
5840
  //#region src/interaction/tickled-styles.d.ts
5405
5841
  /**
@@ -6199,6 +6635,41 @@ interface PillRendererOptions {
6199
6635
  }
6200
6636
  declare function createPillRenderer(options?: PillRendererOptions): NotificationRenderer;
6201
6637
  //#endregion
6638
+ //#region src/pan-text/pan-text.d.ts
6639
+ declare class PanTextElement extends LitElement {
6640
+ direction: `start` | `end`;
6641
+ disabled: boolean;
6642
+ private _isOverflowing;
6643
+ private _isHovering;
6644
+ private _textEl;
6645
+ private _overflow;
6646
+ private _resizeObserver;
6647
+ connectedCallback(): void;
6648
+ disconnectedCallback(): void;
6649
+ firstUpdated(): void;
6650
+ protected updated(): void;
6651
+ private _onMouseEnter;
6652
+ private _onMouseLeave;
6653
+ /**
6654
+ * Measures how far the slotted text overflows its container. The measurement
6655
+ * is taken on the inner `.text` span (which clips with an ellipsis), not on
6656
+ * the host — the host never overflows, so measuring it always yielded zero
6657
+ * and the hover interaction never activated.
6658
+ *
6659
+ * Skipped while hovering, because the hover styles switch `.text` to
6660
+ * `overflow: visible` and the measurement would collapse to zero mid-pan.
6661
+ */
6662
+ private _measure;
6663
+ private _textStyle;
6664
+ protected render(): TemplateResult<1>;
6665
+ static styles: CSSResult[];
6666
+ }
6667
+ declare global {
6668
+ interface HTMLElementTagNameMap {
6669
+ 'ixfx-pan-text': PanTextElement;
6670
+ }
6671
+ }
6672
+ //#endregion
6202
6673
  //#region src/panel/panel-group.d.ts
6203
6674
  type PanelGroupOrientation = `horizontal` | `vertical`;
6204
6675
  declare class PanelGroupElement extends LitElement {
@@ -7999,5 +8470,5 @@ interface XyPad {
7999
8470
  //#region src/index.d.ts
8000
8471
  declare function init(): void;
8001
8472
  //#endregion
8002
- export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, Axis, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, DataProviderResult, type DetailFormatter, DetailListElement, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, GridMode, GridResolution, GroupNode, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IconEntry, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, type InputMode, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListSelectDetail, type ListSelectEvent, ListSelectionController, type ListSelectionControllerConfig, type ListSelectionGesture, type ListSelectionMode, type ListSelectionModes, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupOrientation, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramOrientation, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, RatingChangeDetail, RatingChangeEvent, RatingElement, RatingElementEventMap, RatingInputEvent, RatingVariant, type Rect, RectangularSelectEventDetail, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SlidingNumberElement, SlidingNumberTrend, SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SnapshotNode, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitChangeDetail, SplitChangeEvent, SplitCloseDetail, SplitCloseEvent, SplitCollapseDetail, SplitCollapseEvent, SplitExpandDetail, SplitExpandEvent, SplitLayoutElement, SplitLayoutElementEventMap, SplitPanelElement, SplitResizeDetail, SplitResizeEvent, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, type TickledControllerConfig, type TickledItem, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TitlebarCloseEvent, TitlebarElement, TitlebarElementEventMap, TitlebarOrientation, TitlebarToggleDetail, TitlebarToggleEvent, TitlebarToggleInteraction, TitlebarVariant, ToolbarAlign, ToolbarElement, ToolbarGroupElement, ToolbarLayout, ToolbarOrientation, ToolbarVerticalWriting, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createElementIncrSearch, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, parseColourScaleAttr, parseLayout, pointerOverAnyHost, readBaseColour, registerFontIcon, registerIcon, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
8473
+ export { AcTextChangeDetail, AcTextChangeEvent, AcTextCompletionProvider, AcTextElement, AcTextItem, AcTextSelectDetail, AcTextSelectEvent, type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent, AddItemOptions, Axis, ButtonElement, Checkbox, CheckboxChangeDetail, CheckboxChangeEvent, CheckboxEventMap, ClickSnapMode, ColourMapConfig, ColourMode, ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, ColourResult, ConfigEntry, ContiguousSelectEventDetail, CrossoverBehaviour, CrumbNavChangeDetail, CrumbNavChangeEvent, CrumbNavExpandDetail, CrumbNavExpandEvent, CrumbNavNavigateDetail, CrumbNavNavigateEvent, CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, CrumbPathController, CrumbPathControllerOptions, CrumbPathElement, CrumbPathElementEventMap, CrumbSegment, CrumbSiblingLookupFn, type CssVars, CustomCheckboxOptions, DataBatch, DataController, DataControllerOptions, DataDisplayComponent, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, DataGridElement, DataGridElementEventMap, DataGridGroupChangeDetail, DataGridGroupChangeEvent, DataGridSelectDetail, DataGridSelectEvent, DataGridSortDetail, DataGridSortEvent, DataProviderResult, DataTableElement, DataTableElementEventMap, DataTableRow, DataTableRowClickDetail, DataTableRowClickEvent, type DetailFormatter, DetailListElement, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListOrientation, type GridListSelectDetail, type GridListSelectEvent, type GridListTickleDetail, type GridListTickleEvent, type GridListViewportChangeDetail, type GridListViewportChangeEvent, GridMode, GridResolution, GroupNode, GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, HexChangeDetail, HexChangeEvent, type HighlightOptions, type HighlightTarget, ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IDataProvider, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type IconChangedDetail, type IconChangedEvent, type IconEntry, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, type InputMode, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, KeyedElementIndex, LIST_ITEM_MOTION_MS, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListSelectDetail, type ListSelectEvent, ListSelectionController, type ListSelectionControllerConfig, type ListSelectionGesture, type ListSelectionMode, type ListSelectionModes, type ListTickleDetail, type ListTickleEvent, LoadChildrenCallback, MarkerStyle, index_d_exports as Menu, type TreeActivateDetail as MillerActivateDetail, TreeActivateDetail, type TreeActivateEvent as MillerActivateEvent, TreeActivateEvent, MillerBaseElement, MillerBaseElementEventMap, type TreeCollapseDetail as MillerCollapseDetail, TreeCollapseDetail, type TreeCollapseEvent as MillerCollapseEvent, TreeCollapseEvent, MillerConfig, type TreeExpandDetail as MillerExpandDetail, TreeExpandDetail, type TreeExpandEvent as MillerExpandEvent, TreeExpandEvent, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, type TreeItem as MillerItem, TreeItem, type TreeItemClickDetail as MillerItemClickDetail, TreeItemClickDetail, type TreeItemClickEvent as MillerItemClickEvent, TreeItemClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, type TreeNode as MillerNode, TreeNode, type TreeSelectDetail as MillerSelectDetail, TreeSelectDetail, type TreeSelectEvent as MillerSelectEvent, TreeSelectEvent, MillerSelectionMode, type TreeTickleDetail as MillerTickleDetail, TreeTickleDetail, type TreeTickleEvent as MillerTickleEvent, TreeTickleEvent, MillerTreeController, MillerTreeControllerOptions, NarrowedTextChangeDetail, NarrowedTextChangeEvent, NarrowedTextElement, NarrowedTextItem, NoneSelectEventDetail, Notification, NotificationContent, NotificationManager, NotificationPillElement, NotificationPillElementEventMap, NotificationRenderer, NotificationRendererHooks, NotificationType, NotifierOptions, type OklchValue, Orientation, PanTextElement, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupOrientation, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramOrientation, PlotHistogramValueTooltips, PlotMultiAxis, PlotMultiAxisDataPointClickDetail, PlotMultiAxisDataPointClickEvent, PlotMultiAxisElementEventMap, PlotMultiAxisLayout, PlotSingleAxis, PlotSingleAxisElementEventMap, PlotSingleAxisPointerMoveDetail, PlotSingleAxisPointerMoveEvent, PlotXyAxis, PolarPad, PolarPadInputDetail, PolarPadInputEvent, PopupItem, RadialInputChangeDetail, RadialInputChangeEvent, RadialInputElement, RadialInputInputDetail, RadialInputInputEvent, RadioGroup, RadioGroupChangeDetail, RadioGroupChangeEvent, RadioGroupMode, RadioItem, RangeElement, RangeInput, RangeMultiElement, RangeMultiInputDetail, RangeMultiInputEvent, RatingChangeDetail, RatingChangeEvent, RatingElement, RatingElementEventMap, RatingInputEvent, RatingVariant, type Rect, RectangularSelectEventDetail, RendererStyle, ResizeMode, SelectEventDetail, SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap, SelectionMode, SingleAxisAgeStyle, SingleAxisDrawStyle, SingleSelectEventDetail, SliderChangedField, SliderCrossover, SliderHandleKey, SliderInputChangeDetail, SliderInputChangeEvent, SliderInputElement, SliderInputElementEventMap, SliderInputInputDetail, SliderInputInputEvent, SliderLaneData, SliderLaneType, SliderMarkerStyle, SliderOrientation, SliderSingleStyle, SliderValueCFollow, SliderValueDrag, SliderValueMode, SlidingNumberElement, SlidingNumberTrend, SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic, SnapshotNode, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitChangeDetail, SplitChangeEvent, SplitCloseDetail, SplitCloseEvent, SplitCollapseDetail, SplitCollapseEvent, SplitExpandDetail, SplitExpandEvent, SplitLayoutElement, SplitLayoutElementEventMap, SplitPanelElement, SplitResizeDetail, SplitResizeEvent, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent, SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent, SwitcherItem, Tab, TabAddOptions, TabController, TabControllerOptions, TabListChangeDetail, TabListChangeEvent, TabListDragMode, TabListElement, TabListItemElement, TabListReorderDetail, TabListReorderEvent, TabPanelElement, TabPanelsElement, TextShimmerElement, TickledController, type TickledControllerConfig, type TickledItem, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, TitlebarCloseEvent, TitlebarElement, TitlebarElementEventMap, TitlebarOrientation, TitlebarToggleDetail, TitlebarToggleEvent, TitlebarToggleInteraction, TitlebarVariant, ToolbarAlign, ToolbarElement, ToolbarGroupElement, ToolbarLayout, ToolbarOrientation, ToolbarVerticalWriting, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createElementIncrSearch, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
8003
8474
  //# sourceMappingURL=index.d.ts.map