@ixfx/components 0.8.6 → 0.8.8

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 (76) hide show
  1. package/bundle/index.d.ts +570 -389
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +1033 -200
  4. package/bundle/index.js.map +1 -1
  5. package/dist/crumbs.d.ts +1 -1
  6. package/dist/crumbs.js +2 -2
  7. package/dist/{data-grid-D-z7bx5-.d.ts → data-grid-BKa9i86q.d.ts} +15 -2
  8. package/dist/data-grid-BKa9i86q.d.ts.map +1 -0
  9. package/dist/data-grid.d.ts +3 -2
  10. package/dist/data-grid.js +95 -5
  11. package/dist/data-grid.js.map +1 -1
  12. package/dist/{detail-list-_ZJHYEBr.d.ts → detail-list-CHTomlbR.d.ts} +22 -5
  13. package/dist/detail-list-CHTomlbR.d.ts.map +1 -0
  14. package/dist/detail-list.d.ts +4 -3
  15. package/dist/detail-list.js +103 -3
  16. package/dist/detail-list.js.map +1 -1
  17. package/dist/{grid-list-j5C7qtlG.js → grid-list-C8oMxLl-.js} +77 -164
  18. package/dist/grid-list-C8oMxLl-.js.map +1 -0
  19. package/dist/{grid-list-x550wJ0X.d.ts → grid-list-CsZcXxMC.d.ts} +259 -109
  20. package/dist/grid-list-CsZcXxMC.d.ts.map +1 -0
  21. package/dist/grid-list.d.ts +3 -2
  22. package/dist/grid-list.js +1 -1
  23. package/dist/incr-search.d.ts +1 -1
  24. package/dist/{index-h6gxtfHH.d.ts → index-Dgrx-DIA.d.ts} +2 -2
  25. package/dist/{index-h6gxtfHH.d.ts.map → index-Dgrx-DIA.d.ts.map} +1 -1
  26. package/dist/index.d.ts +190 -252
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +8 -7
  29. package/dist/index.js.map +1 -1
  30. package/dist/{interaction-B9AAlsFO.js → interaction-BskmlA9t.js} +1 -1
  31. package/dist/list-drag-types-kpaXz2pZ.d.ts +42 -0
  32. package/dist/list-drag-types-kpaXz2pZ.d.ts.map +1 -0
  33. package/dist/{list-item-animation-DuiwgN3l.js → list-item-animation-BUoEKi5s.js} +29 -10
  34. package/dist/list-item-animation-BUoEKi5s.js.map +1 -0
  35. package/dist/list-native-drag-controller-DrY3qeJM.js +555 -0
  36. package/dist/list-native-drag-controller-DrY3qeJM.js.map +1 -0
  37. package/dist/{menu-HMoxCPY2.js → menu-CMXhIaNZ.js} +3 -3
  38. package/dist/{menu-HMoxCPY2.js.map → menu-CMXhIaNZ.js.map} +1 -1
  39. package/dist/{menu-item-BQDYxk5A.js → menu-item-BYGQzyCe.js} +2 -2
  40. package/dist/{menu-item-BQDYxk5A.js.map → menu-item-BYGQzyCe.js.map} +1 -1
  41. package/dist/menu.js +2 -2
  42. package/dist/miller.d.ts +2 -2
  43. package/dist/miller.js +1 -1
  44. package/dist/narrowed-text.js +1 -1
  45. package/dist/select-horiz.js +1 -1
  46. package/dist/{tree-DTQon838.js → tree-DSMn566I.js} +90 -27
  47. package/dist/tree-DSMn566I.js.map +1 -0
  48. package/dist/{tree-component-F6qZ0Gdv.d.ts → tree-component-nPP5Y-WS.d.ts} +12 -2
  49. package/dist/tree-component-nPP5Y-WS.d.ts.map +1 -0
  50. package/dist/tree.d.ts +3 -2
  51. package/dist/tree.d.ts.map +1 -1
  52. package/dist/tree.js +1 -1
  53. package/dist/{vertical-list-CFuFDygi.d.ts → vertical-list-A6oWfivZ.d.ts} +21 -4
  54. package/dist/vertical-list-A6oWfivZ.d.ts.map +1 -0
  55. package/dist/vertical-list.d.ts +3 -2
  56. package/dist/vertical-list.js +103 -3
  57. package/dist/vertical-list.js.map +1 -1
  58. package/docs-user/README.md +1 -0
  59. package/docs-user/data-grid.md +30 -0
  60. package/docs-user/data-table.md +104 -0
  61. package/docs-user/detail-list.md +29 -0
  62. package/docs-user/grid-list.md +34 -4
  63. package/docs-user/index.json +7 -2
  64. package/docs-user/llms.txt +1 -0
  65. package/docs-user/tree.md +5 -4
  66. package/docs-user/vertical-list.md +30 -1
  67. package/llms.txt +1 -0
  68. package/package.json +1 -1
  69. package/dist/data-grid-D-z7bx5-.d.ts.map +0 -1
  70. package/dist/detail-list-_ZJHYEBr.d.ts.map +0 -1
  71. package/dist/grid-list-j5C7qtlG.js.map +0 -1
  72. package/dist/grid-list-x550wJ0X.d.ts.map +0 -1
  73. package/dist/list-item-animation-DuiwgN3l.js.map +0 -1
  74. package/dist/tree-DTQon838.js.map +0 -1
  75. package/dist/tree-component-F6qZ0Gdv.d.ts.map +0 -1
  76. package/dist/vertical-list-CFuFDygi.d.ts.map +0 -1
package/bundle/index.d.ts CHANGED
@@ -2207,6 +2207,15 @@ type TreeItemClickDetail = {
2207
2207
  readonly node: TreeNode;
2208
2208
  readonly depth: number;
2209
2209
  };
2210
+ /**
2211
+ * Fired when the user double-clicks an item. The second click of the pair is
2212
+ * swallowed, so a branch is never toggled open/closed by a double-click.
2213
+ * Event name: `item-dblclick`
2214
+ */
2215
+ type TreeItemDblClickDetail = {
2216
+ readonly node: TreeNode;
2217
+ readonly depth: number;
2218
+ };
2210
2219
  /**
2211
2220
  * Fired when a node or column is expanded.
2212
2221
  * Event name: `expand`
@@ -2227,6 +2236,7 @@ type TreeSelectEvent = CustomEvent<TreeSelectDetail>;
2227
2236
  type TreeTickleEvent = CustomEvent<TreeTickleDetail>;
2228
2237
  type TreeActivateEvent = CustomEvent<TreeActivateDetail>;
2229
2238
  type TreeItemClickEvent = CustomEvent<TreeItemClickDetail>;
2239
+ type TreeItemDblClickEvent = CustomEvent<TreeItemDblClickDetail>;
2230
2240
  type TreeExpandEvent = CustomEvent<TreeExpandDetail>;
2231
2241
  type TreeCollapseEvent = CustomEvent<TreeCollapseDetail>;
2232
2242
  interface TreeComponentEventMap {
@@ -2650,6 +2660,46 @@ declare global {
2650
2660
  }
2651
2661
  }
2652
2662
  //#endregion
2663
+ //#region src/interaction/list-drag-types.d.ts
2664
+ interface ListDragEntry<T> {
2665
+ readonly key: string;
2666
+ readonly index: number;
2667
+ readonly item: T | Element;
2668
+ readonly element?: Element;
2669
+ }
2670
+ type ListDragSource = `grid-list` | `detail-list` | `vertical-list` | `data-grid`;
2671
+ interface ListDragPreviewContext<T> {
2672
+ readonly source: ListDragSource;
2673
+ readonly origin: ListDragEntry<T>;
2674
+ readonly selected: ReadonlyArray<ListDragEntry<T>>;
2675
+ readonly metrics: {
2676
+ readonly itemSize?: number;
2677
+ readonly captionStyle?: string;
2678
+ readonly captionHeight?: number;
2679
+ readonly rowHeight?: number;
2680
+ };
2681
+ readonly hostStyle: CSSStyleDeclaration;
2682
+ }
2683
+ interface ListDragPreview {
2684
+ readonly element: HTMLElement;
2685
+ readonly hotspot?: Readonly<{
2686
+ x: number;
2687
+ y: number;
2688
+ }>;
2689
+ readonly canvas?: HTMLCanvasElement;
2690
+ readonly dispose?: () => void;
2691
+ }
2692
+ type ListDragPreviewRenderer<T> = (context: ListDragPreviewContext<T>) => ListDragPreview;
2693
+ interface ListNativeDragStartDetail<T = unknown> {
2694
+ readonly key: string;
2695
+ readonly index: number;
2696
+ readonly item: T | Element;
2697
+ readonly selectedKeys: readonly string[];
2698
+ readonly selected: ReadonlyArray<ListDragEntry<T>>;
2699
+ readonly preview?: ListDragPreview;
2700
+ }
2701
+ type ListNativeDragStartEvent<T = unknown> = CustomEvent<ListNativeDragStartDetail<T>>;
2702
+ //#endregion
2653
2703
  //#region src/data-grid/types.d.ts
2654
2704
  type DataGridSelectionMode = `none` | `single` | `multiple`;
2655
2705
  type DataGridInteractionMode = `standard` | `implicit` | `manual` | `checked` | `sticky` | `vscode`;
@@ -3323,6 +3373,7 @@ interface DataGridElementEventMap {
3323
3373
  'datagrid-cell-click': DataGridCellClickEvent;
3324
3374
  'datagrid-cell-edit': DataGridCellEditEvent;
3325
3375
  'datagrid-group-change': DataGridGroupChangeEvent;
3376
+ 'list-native-drag-start': ListNativeDragStartEvent<unknown>;
3326
3377
  }
3327
3378
  declare class DataGridElement extends LitElement {
3328
3379
  #private;
@@ -3364,6 +3415,17 @@ declare class DataGridElement extends LitElement {
3364
3415
  * disabled. See `docs/infra-incremental.md`.
3365
3416
  */
3366
3417
  searchModes: string | undefined;
3418
+ /**
3419
+ * Enable native browser drag-and-drop for selectable rows. When true,
3420
+ * selectable rows become draggable and the grid emits
3421
+ * `list-native-drag-start` when a drag begins.
3422
+ */
3423
+ itemsDraggable: boolean;
3424
+ /**
3425
+ * Custom drag preview renderer (synchronous). Defaults to the shared
3426
+ * built-in HTML+canvas preview.
3427
+ */
3428
+ dragPreviewRenderer: ListDragPreviewRenderer<unknown> | undefined;
3367
3429
  private _columnFormatters;
3368
3430
  private _selectedKeys;
3369
3431
  private _scrollTop;
@@ -3646,8 +3708,20 @@ declare class VerticalListElement extends LitElement {
3646
3708
  * disabled. See `docs/infra-incremental.md`.
3647
3709
  */
3648
3710
  searchModes: string | undefined;
3711
+ /**
3712
+ * Enable native browser drag-and-drop for selectable items. When true,
3713
+ * selectable rows become draggable and the list emits
3714
+ * `list-native-drag-start` when a drag begins.
3715
+ */
3716
+ itemsDraggable: boolean;
3717
+ /**
3718
+ * Custom drag preview renderer (synchronous). Defaults to the shared
3719
+ * built-in HTML+canvas preview.
3720
+ */
3721
+ dragPreviewRenderer: ListDragPreviewRenderer<Element> | undefined;
3649
3722
  private readonly selection;
3650
3723
  private tickled;
3724
+ private _syncNativeDraggable;
3651
3725
  /** Incremental search (navigate / select / filter). See `docs/infra-incremental.md`. */
3652
3726
  readonly search: ListSearchController<Element>;
3653
3727
  /** Command registry carrying this list's `list.search.*` commands. */
@@ -3717,6 +3791,7 @@ declare class VerticalListElement extends LitElement {
3717
3791
  private _createCustomCheckbox;
3718
3792
  private _findListItem;
3719
3793
  private _dispatch;
3794
+ private _dispatchCancelable;
3720
3795
  private _onPointerOver;
3721
3796
  private _onPointerLeave;
3722
3797
  private _onKeyDown;
@@ -3730,7 +3805,10 @@ declare global {
3730
3805
  interface HTMLElementTagNameMap {
3731
3806
  'ixfx-vertical-list': VerticalListElement;
3732
3807
  }
3733
- interface HTMLElementEventMap extends ListElementEventMap {}
3808
+ interface HTMLElementEventMap extends VerticalListElementEventMap {}
3809
+ }
3810
+ interface VerticalListElementEventMap extends ListElementEventMap {
3811
+ 'list-native-drag-start': ListNativeDragStartEvent<Element>;
3734
3812
  }
3735
3813
  //#endregion
3736
3814
  //#region src/detail-list/types.d.ts
@@ -3793,9 +3871,21 @@ declare class DetailListElement extends LitElement {
3793
3871
  * disabled. See `docs/infra-incremental.md`.
3794
3872
  */
3795
3873
  searchModes: string | undefined;
3874
+ /**
3875
+ * Enable native browser drag-and-drop for selectable items. When true,
3876
+ * selectable rows become draggable and the list emits
3877
+ * `list-native-drag-start` when a drag begins.
3878
+ */
3879
+ itemsDraggable: boolean;
3880
+ /**
3881
+ * Custom drag preview renderer (synchronous). Defaults to the shared
3882
+ * built-in HTML+canvas preview.
3883
+ */
3884
+ dragPreviewRenderer: ListDragPreviewRenderer<Element> | undefined;
3796
3885
  private _listEl;
3797
3886
  private readonly selection;
3798
3887
  private tickled;
3888
+ private _syncNativeDraggable;
3799
3889
  /** Incremental search (navigate / select / filter). See `docs/infra-incremental.md`. */
3800
3890
  readonly search: ListSearchController<Element>;
3801
3891
  /** Command registry carrying this list's `list.search.*` commands. */
@@ -3882,6 +3972,7 @@ declare class DetailListElement extends LitElement {
3882
3972
  private _createCustomCheckbox;
3883
3973
  private _findListItem;
3884
3974
  private _dispatch;
3975
+ private _dispatchCancelable;
3885
3976
  private _onPointerOver;
3886
3977
  private _onPointerLeave;
3887
3978
  private _onKeyDown;
@@ -3896,7 +3987,10 @@ declare global {
3896
3987
  interface HTMLElementTagNameMap {
3897
3988
  'ixfx-detail-list': DetailListElement;
3898
3989
  }
3899
- interface HTMLElementEventMap extends ListElementEventMap {}
3990
+ interface HTMLElementEventMap extends DetailListElementEventMap {}
3991
+ }
3992
+ interface DetailListElementEventMap extends ListElementEventMap {
3993
+ 'list-native-drag-start': ListNativeDragStartEvent<Element>;
3900
3994
  }
3901
3995
  //#endregion
3902
3996
  //#region src/dock/types.d.ts
@@ -5099,165 +5193,306 @@ declare global {
5099
5193
  }
5100
5194
  }
5101
5195
  //#endregion
5102
- //#region src/grid-list/types.d.ts
5103
- /**
5104
- * Adapter for data-backed grid list mode.
5105
- * @param T The type of data item.
5106
- */
5107
- type GridListDataAdapter<T> = {
5108
- key: (item: T, index: number) => string;
5109
- label?: (item: T, index: number) => string;
5110
- render: (item: T, index: number) => unknown;
5111
- disabled?: (item: T, index: number) => boolean;
5112
- searchableText?: (item: T, index: number) => string;
5113
- };
5114
- /**
5115
- * Common detail for per-item events (activate, click, tickle), key-first in
5116
- * BOTH element and data modes. `item` is the backward-compat field — Element in
5117
- * element mode, T in data mode.
5118
- */
5119
- type GridListItemEventDetail<T = unknown> = {
5120
- readonly key: string;
5121
- readonly index: number;
5122
- readonly item: T | Element;
5123
- readonly element: Element | undefined;
5124
- };
5125
- /**
5126
- * How the caption relates to the cell's content.
5127
- * - `hidden`: no caption is rendered.
5128
- * - `separate`: content sits in a square; the caption is a detached label
5129
- * below it. Square and caption are highlighted separately, like macOS
5130
- * Finder icon view.
5131
- * - `under` (default): the whole cell is one box — content on top, caption in
5132
- * its own strip below it, inside the same box. One selection outline.
5133
- * - `overlaid`: the caption floats on top of the content (see
5134
- * `GridListCaptionPosition` / `GridListCaptionBackdrop`).
5135
- */
5136
- type GridListCaptionStyle = `hidden` | `separate` | `under` | `overlaid`;
5137
- /** Horizontal alignment of caption text (`middle` is the default). */
5138
- type GridListCaptionAlign = `left` | `middle` | `right`;
5139
- /** Vertical placement of an `overlaid` caption (`bottom` is the default). */
5140
- type GridListCaptionPosition = `top` | `middle` | `bottom`;
5196
+ //#region src/interaction/keyed-list.d.ts
5141
5197
  /**
5142
- * Backdrop behind an `overlaid` caption.
5143
- * - `scrim` (default): flat translucent panel.
5144
- * - `gradient`: translucent gradient fading away from the caption edge.
5145
- * - `blur`: frosted / backdrop-blurred panel.
5146
- * - `none`: no panel caption text only, with a shadow for legibility.
5198
+ * Helpers for key-based selection on the Element-flavoured list components
5199
+ * (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-grid-list`).
5200
+ *
5201
+ * A "key" is a stable string the host puts on each item element — `data-key`
5202
+ * (preferred) or `data-value`. It survives the host rebuilding the item set
5203
+ * (re-fetch, re-sort, filter) where raw `Element` references do not.
5147
5204
  */
5148
- type GridListCaptionBackdrop = `scrim` | `gradient` | `blur` | `none`;
5149
5205
  /**
5150
- * Layout / scroll direction.
5151
- * - `grid` (default): items wrap across as many columns as fit and the list
5152
- * scrolls vertically.
5153
- * - `row`: a single row of items that scrolls horizontally.
5154
- * - `column`: a single column of items that scrolls vertically.
5206
+ * The stable key for an item element: `data-key`, then `data-value`, else
5207
+ * `undefined`.
5155
5208
  */
5156
- type GridListOrientation = `grid` | `row` | `column`;
5157
- interface GridListSelectDetail {
5158
- readonly selected: ReadonlySet<Element>;
5159
- readonly previous: ReadonlySet<Element>;
5160
- readonly selectedKeys: ReadonlySet<string>;
5161
- readonly previousKeys: ReadonlySet<string>;
5162
- }
5163
- type GridListSelectEvent = CustomEvent<GridListSelectDetail>;
5209
+ declare function keyForElement(el: Element): string | undefined;
5164
5210
  /**
5165
- * `item` is the backward-compatible field: the light-DOM `Element` in element
5166
- * mode, the data value `T` in data mode. Use `element` when you specifically
5167
- * need the DOM node (`undefined` in data mode). `key` / `index` are the stable
5168
- * contract in both modes.
5211
+ * A lazily-built key element index over a container. Rebuilt on first use
5212
+ * and after any child-list mutation under `root`; `invalidate()` forces a
5213
+ * rebuild on the next `get()`.
5214
+ *
5215
+ * ```ts
5216
+ * #keyIndex = new KeyedElementIndex(this);
5217
+ * // ...
5218
+ * const el = this.#keyIndex.get(`row-42`);
5219
+ * // on disconnect:
5220
+ * this.#keyIndex.dispose();
5221
+ * ```
5169
5222
  */
5170
- interface GridListActivateDetail {
5171
- readonly item: unknown;
5172
- readonly key: string;
5173
- readonly index: number;
5174
- readonly element: Element | undefined;
5175
- }
5176
- type GridListActivateEvent = CustomEvent<GridListActivateDetail>;
5177
- interface GridListItemClickDetail {
5178
- readonly item: unknown;
5179
- readonly key: string;
5180
- readonly index: number;
5181
- readonly element: Element | undefined;
5182
- }
5183
- type GridListItemClickEvent = CustomEvent<GridListItemClickDetail>;
5184
- interface GridListTickleDetail {
5185
- readonly item: unknown;
5186
- readonly key: string;
5187
- readonly index: number;
5188
- readonly element: Element | undefined;
5189
- }
5190
- type GridListTickleEvent = CustomEvent<GridListTickleDetail>;
5191
- interface GridListElementEventMap {
5192
- 'list-select': GridListSelectEvent;
5193
- 'list-activate': GridListActivateEvent;
5194
- 'list-item-click': GridListItemClickEvent;
5195
- 'list-tickle': GridListTickleEvent;
5196
- }
5197
- type GridListViewportChangeDetail = {
5198
- readonly renderedKeys: string[];
5199
- readonly visibleKeys: string[];
5200
- };
5201
- type GridListViewportChangeEvent = CustomEvent<GridListViewportChangeDetail>;
5202
- interface GridListNativeDragStartDetail<T = unknown> {
5203
- readonly key: string;
5204
- readonly index: number;
5205
- readonly item: T | Element;
5206
- readonly selectedKeys: readonly string[];
5207
- }
5208
- type GridListNativeDragStartEvent<T = unknown> = CustomEvent<GridListNativeDragStartDetail<T>>;
5209
- interface GridListFullElementEventMap extends GridListElementEventMap {
5210
- 'grid-list-viewport-change': GridListViewportChangeEvent;
5211
- 'grid-list-native-drag-start': GridListNativeDragStartEvent;
5223
+ declare class KeyedElementIndex {
5224
+ #private;
5225
+ /**
5226
+ * @param root Container whose descendants are indexed.
5227
+ * @param itemSelector Which descendants count as items (default: any `[data-key]`).
5228
+ */
5229
+ constructor(root: Element, itemSelector?: string);
5230
+ /** The element with this key, or `undefined`. First match wins on duplicates. */
5231
+ get(key: string): Element | undefined;
5232
+ /** Force a rebuild on the next `get()` — e.g. after a `data-key` attribute change. */
5233
+ invalidate(): void;
5234
+ /** Stop observing and drop the cache. */
5235
+ dispose(): void;
5212
5236
  }
5213
5237
  //#endregion
5214
- //#region src/interaction/list-selection-controller.d.ts
5215
- /** Modifier state needed to route a click gesture per interaction mode. */
5216
- type ListSelectionGesture = {
5217
- readonly ctrlKey: boolean;
5218
- readonly metaKey: boolean;
5219
- readonly shiftKey: boolean;
5220
- };
5221
- type ListSelectionModes = {
5222
- readonly selectionMode: ListSelectionMode;
5223
- readonly interactionMode: ListInteractionMode;
5224
- };
5238
+ //#region src/interaction/list-drag-preview-default.d.ts
5239
+ /** Caption for a drag entry element labels win, then string items, then common object fields, then the key. */
5240
+ declare function captionForEntry(entry: ListDragEntry<unknown>): string;
5225
5241
  /**
5226
- * Configuration supplied by the host component.
5242
+ * Uniform built-in HTML+canvas drag preview for all four list components.
5227
5243
  *
5228
- * The controller owns selection *state* only everything DOM- or
5229
- * component-specific is expressed through these callbacks.
5244
+ * - ≤5 selected a row of small cards (thumbnail well + caption).
5245
+ * - >5 selected a compact list (`N items` header, up to 5 rows, `+N more`).
5246
+ *
5247
+ * Always returns an offscreen `element` for `DataTransfer.setDragImage()` and,
5248
+ * when a 2D context is available, a DPR-aware painted `canvas` for native
5249
+ * hosts. Colours track the active theme via `ctx.hostStyle` CSS variables.
5230
5250
  */
5231
- type ListSelectionControllerConfig<T> = {
5232
- /** Visible items in navigation order — used for range selection and select-all. */
5233
- readonly getOrderedItems: () => readonly T[];
5234
- /** Whether an item may join the selection (e.g. reject `not-checked` rows). */
5235
- readonly isSelectable: (item: T) => boolean;
5236
- /** Current modes; read on every gesture so property changes apply immediately. */
5237
- readonly getModes: () => ListSelectionModes;
5251
+ declare function createDefaultListDragPreview<T>(ctx: ListDragPreviewContext<T>): ListDragPreview;
5252
+ //#endregion
5253
+ //#region src/interaction/list-drag-select-controller.d.ts
5254
+ /** Surface-relative rectangle: origin at the scroll container's top-left. */
5255
+ type DragSelectRect = {
5256
+ readonly x: number;
5257
+ readonly y: number;
5258
+ readonly width: number;
5259
+ readonly height: number;
5260
+ };
5261
+ type ListDragSelectControllerConfig<T> = {
5262
+ /** Element the marquee is drawn in and pointer geometry is measured against. */
5263
+ getSurface: () => HTMLElement | undefined;
5264
+ /** Is drag-select currently allowed? (multi-capable, has items, not disabled) */
5265
+ isEnabled: () => boolean;
5266
+ /** Pointer types that may start a drag. Default ['mouse', 'pen'] — touch still scrolls. */
5267
+ pointerTypes?: readonly string[];
5268
+ /** Movement in px before a press becomes a drag. Default 4. */
5269
+ threshold?: number;
5270
+ /** Map a surface-relative rect to covered items. */
5271
+ hitTest: (rect: DragSelectRect) => Iterable<T>;
5238
5272
  /**
5239
- * Fired after every selection change. The host syncs DOM state
5240
- * (`data-selected` / `data-checked`), dispatches `list-select`, and
5241
- * requests an update.
5273
+ * Selection snapshotted when the drag starts, combined with the hit set
5274
+ * while modifiers are held: Shift adds (`base + hit`), Cmd / Ctrl inverts
5275
+ * (covered items toggle, the rest is untouched).
5242
5276
  */
5243
- readonly onChange: (selected: ReadonlySet<T>, previous: ReadonlySet<T>) => void;
5277
+ getBaseSelection: () => ReadonlySet<T>;
5278
+ /** Continuous visual feedback: the preview set + current rect (undefined when idle). */
5279
+ onPreview: (preview: ReadonlySet<T>, rect: DragSelectRect | undefined) => void;
5244
5280
  /**
5245
- * Optional: derive a stable string key for an item. Enables `selectedKeys`
5246
- * and `selectKeys()`. When omitted, `selectedKeys` is always empty.
5281
+ * Fired once on release with the final set. Host applies it to its
5282
+ * selection. `additive` is `true` when the drag ran with Shift (add) or
5283
+ * Cmd / Ctrl (invert) held.
5247
5284
  */
5248
- readonly getKey?: (item: T) => string | undefined;
5285
+ onCommit: (finalSet: ReadonlySet<T>, info: {
5286
+ additive: boolean;
5287
+ }) => void;
5288
+ /** Optional: scroll the surface when the pointer nears an edge during a drag. */
5289
+ autoScroll?: (dx: number, dy: number) => void;
5290
+ /**
5291
+ * Optional predicate called on pointerdown before the controller records its
5292
+ * pointer id or later calls setPointerCapture/preventDefault. Return false
5293
+ * to yield to another gesture (e.g. native item drag).
5294
+ */
5295
+ shouldStart?: (event: PointerEvent) => boolean;
5249
5296
  };
5250
- /** Whether the interaction mode allows building a multi-item selection. */
5251
- declare function isMultiMode(mode: ListInteractionMode): boolean;
5297
+ type DragHost$1 = ReactiveControllerHost & HTMLElement;
5252
5298
  /**
5253
- * Generic selection state machine shared by list components.
5299
+ * Shared pointer-drag (marquee / rubber-band) selection for list components.
5254
5300
  *
5255
- * Owns the selected set plus the range-selection anchor, the selection
5256
- * primitives (`replace` / `toggle` / `rangeTo` / `clear` / `selectAll` /
5257
- * `selectMany` / `deselect`) and the per-interactionMode gesture routers
5258
- * (`handleClick` / `handleSpace`).
5301
+ * Owns all pointer plumbing and rectangle state; knows nothing about DOM
5302
+ * geometry or the selection model those are host callbacks. Mirrors the
5303
+ * `TickledController` attach pattern (`new ListDragSelectController(this, …)`).
5259
5304
  *
5260
- * Identity is generic: both `ixfx-vertical-list` and `ixfx-detail-list` use
5305
+ * Behaviour: `pointerdown` on the surface records a start point; once the
5306
+ * pointer moves past `threshold`, the surface captures the pointer and every
5307
+ * move recomputes the rect, hit-tests, and calls `onPreview`. On release the
5308
+ * final set is delivered once via `onCommit`. A press that never crosses the
5309
+ * threshold does nothing (the normal `@click` path runs).
5310
+ */
5311
+ declare class ListDragSelectController<T> implements ReactiveController {
5312
+ #private;
5313
+ constructor(host: DragHost$1, config: ListDragSelectControllerConfig<T>);
5314
+ /** `true` while a drag is in progress or its trailing click is still pending. */
5315
+ get isDragging(): boolean;
5316
+ /** `true` once the press has crossed the threshold and a rect is live. */
5317
+ get isActive(): boolean;
5318
+ hostConnected(): void;
5319
+ hostDisconnected(): void;
5320
+ /** Re-bind when the surface element appears/changes (e.g. first render). */
5321
+ hostUpdated(): void;
5322
+ }
5323
+ //#endregion
5324
+ //#region src/interaction/list-item-animation.d.ts
5325
+ /**
5326
+ * Shared insertion / removal animation for the list & tree components.
5327
+ *
5328
+ * Two flavours, because the components split into two layout families:
5329
+ *
5330
+ * - **Flow layouts** (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-tree-*`) —
5331
+ * rows sit in normal flow, so a new row can collapse in from zero height and a
5332
+ * leaving row can collapse back to zero, and the rows around it slide to make
5333
+ * or close the gap for free. Use {@link animateListItemIn} /
5334
+ * {@link animateListItemOut} (Web Animations API, exact measured sizes).
5335
+ *
5336
+ * - **Virtualised layouts** (`ixfx-grid-list`, `ixfx-data-grid`) — rows are
5337
+ * absolutely positioned (`transform` / `top`), so collapsing a row's box moves
5338
+ * nothing. Those components instead fade the entering / leaving row with the
5339
+ * {@link listItemFadeKeyframes} keyframes and slide the survivors by
5340
+ * transitioning their position for a short window after the change.
5341
+ *
5342
+ * Everything here is a no-op under `prefers-reduced-motion: reduce`.
5343
+ */
5344
+ /** Default duration (ms) for both flavours; overridable per call / per component. */
5345
+ declare const LIST_ITEM_MOTION_MS = 200;
5346
+ declare function prefersReducedMotion(): boolean;
5347
+ /**
5348
+ * Opacity keyframes for the virtualised components. Each one adds its own
5349
+ * one-line rule binding `.<row>.ixfx-item-entering` / `.ixfx-item-leaving` to
5350
+ * these, plus a `prefers-reduced-motion` guard on its own selectors.
5351
+ */
5352
+ declare const listItemFadeKeyframes: CSSResult;
5353
+ interface ListItemMotionOptions {
5354
+ /**
5355
+ * Animation duration in ms. When omitted, the element's
5356
+ * `--ixfx-list-item-move-duration` custom property is used if set (accepts
5357
+ * `ms` or `s`), otherwise {@link LIST_ITEM_MOTION_MS}.
5358
+ */
5359
+ duration?: number;
5360
+ /** Which axis collapses — `block` (height, default) or `inline` (width). */
5361
+ axis?: `block` | `inline`;
5362
+ easing?: string;
5363
+ }
5364
+ /**
5365
+ * Collapse + fade `el` in from nothing to its natural size. Call it just after
5366
+ * the element has been inserted (it must already be laid out at full size so it
5367
+ * can be measured). No-op under reduced motion.
5368
+ */
5369
+ declare function animateListItemIn(el: HTMLElement, options?: ListItemMotionOptions): Animation | undefined;
5370
+ /**
5371
+ * Result of {@link animateListItemOut}: a promise that resolves once the
5372
+ * animation finishes, carrying the underlying `Animation` handle (if any) so
5373
+ * callers can `cancel()` superseded work. Awaiting / `.then()` behaves like
5374
+ * the previous `Promise<void>` return type.
5375
+ */
5376
+ type ListItemOutResult = Promise<void> & {
5377
+ /** The running collapse animation, or `undefined` under reduced motion / zero size. */
5378
+ animation: Animation | undefined;
5379
+ };
5380
+ /**
5381
+ * Start the collapse + fade-out animation for `el` and return the handle.
5382
+ * Returns `undefined` when no animation was started (reduced motion or zero
5383
+ * size). The caller owns the handle and must `cancel()` it if the removal is
5384
+ * reversed — a retained `fill: forwards` frame otherwise keeps overriding the
5385
+ * element's ordinary CSS indefinitely.
5386
+ */
5387
+ declare function startListItemOutAnimation(el: HTMLElement, options?: ListItemMotionOptions): Animation | undefined;
5388
+ /**
5389
+ * Collapse + fade `el` out. Resolves once the animation finishes (or straight
5390
+ * away under reduced motion); the caller detaches the element after. The final
5391
+ * collapsed state is held (`fill: forwards`) so there's no flash back to full
5392
+ * size in the gap before removal.
5393
+ *
5394
+ * The returned promise carries an `.animation` handle. If the removal is
5395
+ * reversed (the same key becomes visible again), cancel that handle so its
5396
+ * filled final frame stops overriding the reused element's style.
5397
+ */
5398
+ declare function animateListItemOut(el: HTMLElement, options?: ListItemMotionOptions): ListItemOutResult;
5399
+ //#endregion
5400
+ //#region src/interaction/list-native-drag-controller.d.ts
5401
+ type ListNativeDragControllerConfig<T> = {
5402
+ readonly source: ListDragSource;
5403
+ /** `itemsDraggable && selection usable` */
5404
+ isEnabled: () => boolean;
5405
+ /** Event target → item key, or `undefined` when the drag did not start on an item. */
5406
+ resolveEventToKey: (target: EventTarget | null) => string | undefined;
5407
+ /**
5408
+ * Apply the origin rule (origin ∉ selection ⇒ replace with origin); return
5409
+ * display-ordered `{ origin, selected }` for both modes, or `undefined` when
5410
+ * the origin is not selectable.
5411
+ */
5412
+ prepareSelection: (originKey: string) => {
5413
+ origin: ListDragEntry<T>;
5414
+ selected: Array<ListDragEntry<T>>;
5415
+ } | undefined;
5416
+ getMetrics: () => ListDragPreviewContext<T>[`metrics`];
5417
+ getRenderer: () => ListDragPreviewRenderer<T> | undefined;
5418
+ /** Fire the cancelable `list-native-drag-start`; return `!defaultPrevented`. */
5419
+ dispatch: (detail: ListNativeDragStartDetail<T>) => boolean;
5420
+ /** Host toggles `data-native-dragging` / `aria-label`, re-renders. */
5421
+ onActiveChange: (active: boolean, originKey?: string) => void;
5422
+ /** Host clears state + starts its post-drag click-suppress timer. */
5423
+ onEnd: () => void;
5424
+ /** Optional: sync `draggable` on light-DOM / slotted children while enabled. */
5425
+ syncLightDomDraggable?: () => void;
5426
+ };
5427
+ type DragHost = ReactiveControllerHost & HTMLElement;
5428
+ /**
5429
+ * Shared native item/row drag-out for list components.
5430
+ *
5431
+ * Owns capture-phase `dragstart` / `dragend` listeners on the host and its
5432
+ * render root, a `MutationObserver` that keeps light-DOM / slotted item `draggable`
5433
+ * attributes in sync, and a single post-dispatch disposal on
5434
+ * `requestAnimationFrame`. All DOM / selection knowledge lives in the host
5435
+ * config callbacks.
5436
+ */
5437
+ declare class ListNativeDragController<T> implements ReactiveController {
5438
+ #private;
5439
+ constructor(host: DragHost, config: ListNativeDragControllerConfig<T>);
5440
+ get isDragging(): boolean;
5441
+ /** `"true"` when enabled, else `"false"` — for shadow-row template bindings. */
5442
+ get draggableAttr(): string;
5443
+ /** Re-run the light-DOM `draggable` sync (e.g. after `itemsDraggable` flips). */
5444
+ refreshDraggable(): void;
5445
+ hostConnected(): void;
5446
+ hostDisconnected(): void;
5447
+ }
5448
+ //#endregion
5449
+ //#region src/interaction/list-selection-controller.d.ts
5450
+ /** Modifier state needed to route a click gesture per interaction mode. */
5451
+ type ListSelectionGesture = {
5452
+ readonly ctrlKey: boolean;
5453
+ readonly metaKey: boolean;
5454
+ readonly shiftKey: boolean;
5455
+ };
5456
+ type ListSelectionModes = {
5457
+ readonly selectionMode: ListSelectionMode;
5458
+ readonly interactionMode: ListInteractionMode;
5459
+ };
5460
+ /**
5461
+ * Configuration supplied by the host component.
5462
+ *
5463
+ * The controller owns selection *state* only — everything DOM- or
5464
+ * component-specific is expressed through these callbacks.
5465
+ */
5466
+ type ListSelectionControllerConfig<T> = {
5467
+ /** Visible items in navigation order — used for range selection and select-all. */
5468
+ readonly getOrderedItems: () => readonly T[];
5469
+ /** Whether an item may join the selection (e.g. reject `not-checked` rows). */
5470
+ readonly isSelectable: (item: T) => boolean;
5471
+ /** Current modes; read on every gesture so property changes apply immediately. */
5472
+ readonly getModes: () => ListSelectionModes;
5473
+ /**
5474
+ * Fired after every selection change. The host syncs DOM state
5475
+ * (`data-selected` / `data-checked`), dispatches `list-select`, and
5476
+ * requests an update.
5477
+ */
5478
+ readonly onChange: (selected: ReadonlySet<T>, previous: ReadonlySet<T>) => void;
5479
+ /**
5480
+ * Optional: derive a stable string key for an item. Enables `selectedKeys`
5481
+ * and `selectKeys()`. When omitted, `selectedKeys` is always empty.
5482
+ */
5483
+ readonly getKey?: (item: T) => string | undefined;
5484
+ };
5485
+ /** Whether the interaction mode allows building a multi-item selection. */
5486
+ declare function isMultiMode(mode: ListInteractionMode): boolean;
5487
+ /**
5488
+ * Generic selection state machine shared by list components.
5489
+ *
5490
+ * Owns the selected set plus the range-selection anchor, the selection
5491
+ * primitives (`replace` / `toggle` / `rangeTo` / `clear` / `selectAll` /
5492
+ * `selectMany` / `deselect`) and the per-interactionMode gesture routers
5493
+ * (`handleClick` / `handleSpace`).
5494
+ *
5495
+ * Identity is generic: both `ixfx-vertical-list` and `ixfx-detail-list` use
5261
5496
  * `ListSelectionController<Element>`.
5262
5497
  *
5263
5498
  * @example
@@ -5580,6 +5815,189 @@ declare class TickledController<T = number> implements ReactiveController {
5580
5815
  setInputMode(mode: InputMode): void;
5581
5816
  }
5582
5817
  //#endregion
5818
+ //#region src/interaction/tickled-styles.d.ts
5819
+ /**
5820
+ * Shared CSS styles for tickled interaction pattern.
5821
+ *
5822
+ * Tickled state is controlled via the `.tickled` CSS class (applied by TickledController).
5823
+ * The `tickledItemStyles` provides base styling that all tickled components should use.
5824
+ *
5825
+ * ## CSS Variable Contract
5826
+ *
5827
+ * **Style variables** — `tickledItemStyles` only consumes these via `var()`; it
5828
+ * defines no defaults itself. Fallback values (used when no theme CSS is loaded)
5829
+ * are registered in `themeFallbacks` (`../styles/fallbacks.ts`) and mirror the
5830
+ * documented base theme in `user-theming.md`:
5831
+ * - `--item-bg`, `--item-bg-tickled`, `--item-bg-selected`, `--item-bg-selected-tickled`
5832
+ * - `--item-border`, `--item-border-tickled`, `--item-border-selected` (full border shorthands, not colours)
5833
+ * - `--item-text-tickled`, `--item-text-selected`
5834
+ * - `--item-padding`, `--item-border-radius`, `--item-icon-spacing`
5835
+ *
5836
+ * ## Usage
5837
+ *
5838
+ * Components should import both `tickledStyles` and `tickledItemStyles`:
5839
+ *
5840
+ * ```ts
5841
+ * import { tickledStyles, tickledItemStyles } from '../interaction/index.js';
5842
+ *
5843
+ * class MyComponent extends LitElement {
5844
+ * static styles = [
5845
+ * tickledStyles,
5846
+ * tickledItemStyles,
5847
+ * css`
5848
+ * :host {
5849
+ * --item-bg-tickled: #e0e0e0;
5850
+ * --item-bg-selected: #1976d2;
5851
+ * }
5852
+ * `
5853
+ * ];
5854
+ * }
5855
+ * ```
5856
+ */
5857
+ declare const tickledStyles: CSSResult;
5858
+ /**
5859
+ * Shared item styling for tickled components.
5860
+ *
5861
+ * Provides base styles for interactive items with tickled and selected states.
5862
+ * Components should import this in addition to `tickledStyles` and can override
5863
+ * CSS variables to customize appearance.
5864
+ */
5865
+ declare const tickledItemStyles: CSSResult;
5866
+ //#endregion
5867
+ //#region src/interaction/tree-keyboard-controller.d.ts
5868
+ type TreeKeyboardNavItemId = string;
5869
+ type TreeKeyboardNavCallbacks = {
5870
+ getItems: () => ReadonlyArray<TickledItem<TreeKeyboardNavItemId>>;
5871
+ onExpand: (id: TreeKeyboardNavItemId) => void;
5872
+ onCollapse: (id: TreeKeyboardNavItemId) => void;
5873
+ onActivate: (id: TreeKeyboardNavItemId) => void;
5874
+ onSelect?: (id: TreeKeyboardNavItemId) => void;
5875
+ onEscape?: () => void;
5876
+ isLeaf: (id: TreeKeyboardNavItemId) => boolean;
5877
+ isExpanded: (id: TreeKeyboardNavItemId) => boolean;
5878
+ getParentId?: (id: TreeKeyboardNavItemId) => TreeKeyboardNavItemId | undefined;
5879
+ };
5880
+ type TreeKeyboardNavControllerConfig = {
5881
+ callbacks: TreeKeyboardNavCallbacks;
5882
+ disableKeyboardNavigation?: () => boolean;
5883
+ };
5884
+ declare class TreeKeyboardNavController implements ReactiveController {
5885
+ #private;
5886
+ private host;
5887
+ private tickled;
5888
+ private callbacks;
5889
+ private disableKeyboardNavigation;
5890
+ constructor(host: ReactiveControllerHost, tickled: TickledController<TreeKeyboardNavItemId>, config: TreeKeyboardNavControllerConfig);
5891
+ hostConnected(): void;
5892
+ hostDisconnected(): void;
5893
+ handleKeyDown: (event: KeyboardEvent) => void;
5894
+ }
5895
+ //#endregion
5896
+ //#region src/grid-list/types.d.ts
5897
+ /**
5898
+ * Adapter for data-backed grid list mode.
5899
+ * @param T The type of data item.
5900
+ */
5901
+ type GridListDataAdapter<T> = {
5902
+ key: (item: T, index: number) => string;
5903
+ label?: (item: T, index: number) => string;
5904
+ render: (item: T, index: number) => unknown;
5905
+ disabled?: (item: T, index: number) => boolean;
5906
+ searchableText?: (item: T, index: number) => string;
5907
+ };
5908
+ /**
5909
+ * Common detail for per-item events (activate, click, tickle), key-first in
5910
+ * BOTH element and data modes. `item` is the backward-compat field — Element in
5911
+ * element mode, T in data mode.
5912
+ */
5913
+ type GridListItemEventDetail<T = unknown> = {
5914
+ readonly key: string;
5915
+ readonly index: number;
5916
+ readonly item: T | Element;
5917
+ readonly element: Element | undefined;
5918
+ };
5919
+ /**
5920
+ * How the caption relates to the cell's content.
5921
+ * - `hidden`: no caption is rendered.
5922
+ * - `separate`: content sits in a square; the caption is a detached label
5923
+ * below it. Square and caption are highlighted separately, like macOS
5924
+ * Finder icon view.
5925
+ * - `under` (default): the whole cell is one box — content on top, caption in
5926
+ * its own strip below it, inside the same box. One selection outline.
5927
+ * - `overlaid`: the caption floats on top of the content (see
5928
+ * `GridListCaptionPosition` / `GridListCaptionBackdrop`).
5929
+ */
5930
+ type GridListCaptionStyle = `hidden` | `separate` | `under` | `overlaid`;
5931
+ /** Horizontal alignment of caption text (`middle` is the default). */
5932
+ type GridListCaptionAlign = `left` | `middle` | `right`;
5933
+ /** Vertical placement of an `overlaid` caption (`bottom` is the default). */
5934
+ type GridListCaptionPosition = `top` | `middle` | `bottom`;
5935
+ /**
5936
+ * Backdrop behind an `overlaid` caption.
5937
+ * - `scrim` (default): flat translucent panel.
5938
+ * - `gradient`: translucent gradient fading away from the caption edge.
5939
+ * - `blur`: frosted / backdrop-blurred panel.
5940
+ * - `none`: no panel — caption text only, with a shadow for legibility.
5941
+ */
5942
+ type GridListCaptionBackdrop = `scrim` | `gradient` | `blur` | `none`;
5943
+ /**
5944
+ * Layout / scroll direction.
5945
+ * - `grid` (default): items wrap across as many columns as fit and the list
5946
+ * scrolls vertically.
5947
+ * - `row`: a single row of items that scrolls horizontally.
5948
+ * - `column`: a single column of items that scrolls vertically.
5949
+ */
5950
+ type GridListOrientation = `grid` | `row` | `column`;
5951
+ interface GridListSelectDetail {
5952
+ readonly selected: ReadonlySet<Element>;
5953
+ readonly previous: ReadonlySet<Element>;
5954
+ readonly selectedKeys: ReadonlySet<string>;
5955
+ readonly previousKeys: ReadonlySet<string>;
5956
+ }
5957
+ type GridListSelectEvent = CustomEvent<GridListSelectDetail>;
5958
+ /**
5959
+ * `item` is the backward-compatible field: the light-DOM `Element` in element
5960
+ * mode, the data value `T` in data mode. Use `element` when you specifically
5961
+ * need the DOM node (`undefined` in data mode). `key` / `index` are the stable
5962
+ * contract in both modes.
5963
+ */
5964
+ interface GridListActivateDetail {
5965
+ readonly item: unknown;
5966
+ readonly key: string;
5967
+ readonly index: number;
5968
+ readonly element: Element | undefined;
5969
+ }
5970
+ type GridListActivateEvent = CustomEvent<GridListActivateDetail>;
5971
+ interface GridListItemClickDetail {
5972
+ readonly item: unknown;
5973
+ readonly key: string;
5974
+ readonly index: number;
5975
+ readonly element: Element | undefined;
5976
+ }
5977
+ type GridListItemClickEvent = CustomEvent<GridListItemClickDetail>;
5978
+ interface GridListTickleDetail {
5979
+ readonly item: unknown;
5980
+ readonly key: string;
5981
+ readonly index: number;
5982
+ readonly element: Element | undefined;
5983
+ }
5984
+ type GridListTickleEvent = CustomEvent<GridListTickleDetail>;
5985
+ interface GridListElementEventMap {
5986
+ 'list-select': GridListSelectEvent;
5987
+ 'list-activate': GridListActivateEvent;
5988
+ 'list-item-click': GridListItemClickEvent;
5989
+ 'list-tickle': GridListTickleEvent;
5990
+ }
5991
+ type GridListViewportChangeDetail = {
5992
+ readonly renderedKeys: string[];
5993
+ readonly visibleKeys: string[];
5994
+ };
5995
+ type GridListViewportChangeEvent = CustomEvent<GridListViewportChangeDetail>;
5996
+ interface GridListFullElementEventMap extends GridListElementEventMap {
5997
+ 'grid-list-viewport-change': GridListViewportChangeEvent;
5998
+ 'list-native-drag-start': ListNativeDragStartEvent;
5999
+ }
6000
+ //#endregion
5583
6001
  //#region src/pan-text/pan-text.d.ts
5584
6002
  type PanTextMode = `hover` | `loop`;
5585
6003
  declare class PanTextElement extends LitElement {
@@ -5704,9 +6122,16 @@ declare class GridListElement<T = unknown> extends LitElement {
5704
6122
  /**
5705
6123
  * Enable native browser drag-and-drop for selectable items. When true,
5706
6124
  * selectable cells become draggable and the grid emits
5707
- * `grid-list-native-drag-start` when a drag begins.
6125
+ * `list-native-drag-start` when a drag begins.
5708
6126
  */
5709
6127
  itemsDraggable: boolean;
6128
+ /**
6129
+ * Custom drag preview renderer. Receives the selection snapshot and returns
6130
+ * an element for `DataTransfer.setDragImage()` plus an optional pre-painted
6131
+ * canvas for native hosts. Synchronous by contract — pre-decode thumbnails
6132
+ * as selection changes. Defaults to the shared built-in preview.
6133
+ */
6134
+ dragPreviewRenderer: ListDragPreviewRenderer<T> | undefined;
5710
6135
  searchModes: string | undefined;
5711
6136
  /**
5712
6137
  * Data items for data-backed mode. When set along with `itemAdapter`, the
@@ -6072,6 +6497,7 @@ declare global {
6072
6497
  }
6073
6498
  interface TreeBaseElementEventMap extends TreeComponentEventMap {
6074
6499
  'item-click': TreeItemClickEvent;
6500
+ 'item-dblclick': TreeItemDblClickEvent;
6075
6501
  'expand': TreeExpandEvent;
6076
6502
  'collapse': TreeCollapseEvent;
6077
6503
  'select': TreeSelectEvent;
@@ -6401,251 +6827,6 @@ declare function setIconFont(fontFamily: string): void;
6401
6827
  declare function getIconFont(): string | undefined;
6402
6828
  declare function svgToDataUri(svg: string): string;
6403
6829
  //#endregion
6404
- //#region src/interaction/keyed-list.d.ts
6405
- /**
6406
- * Helpers for key-based selection on the Element-flavoured list components
6407
- * (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-grid-list`).
6408
- *
6409
- * A "key" is a stable string the host puts on each item element — `data-key`
6410
- * (preferred) or `data-value`. It survives the host rebuilding the item set
6411
- * (re-fetch, re-sort, filter) where raw `Element` references do not.
6412
- */
6413
- /**
6414
- * The stable key for an item element: `data-key`, then `data-value`, else
6415
- * `undefined`.
6416
- */
6417
- declare function keyForElement(el: Element): string | undefined;
6418
- /**
6419
- * A lazily-built key → element index over a container. Rebuilt on first use
6420
- * and after any child-list mutation under `root`; `invalidate()` forces a
6421
- * rebuild on the next `get()`.
6422
- *
6423
- * ```ts
6424
- * #keyIndex = new KeyedElementIndex(this);
6425
- * // ...
6426
- * const el = this.#keyIndex.get(`row-42`);
6427
- * // on disconnect:
6428
- * this.#keyIndex.dispose();
6429
- * ```
6430
- */
6431
- declare class KeyedElementIndex {
6432
- #private;
6433
- /**
6434
- * @param root Container whose descendants are indexed.
6435
- * @param itemSelector Which descendants count as items (default: any `[data-key]`).
6436
- */
6437
- constructor(root: Element, itemSelector?: string);
6438
- /** The element with this key, or `undefined`. First match wins on duplicates. */
6439
- get(key: string): Element | undefined;
6440
- /** Force a rebuild on the next `get()` — e.g. after a `data-key` attribute change. */
6441
- invalidate(): void;
6442
- /** Stop observing and drop the cache. */
6443
- dispose(): void;
6444
- }
6445
- //#endregion
6446
- //#region src/interaction/list-drag-select-controller.d.ts
6447
- /** Surface-relative rectangle: origin at the scroll container's top-left. */
6448
- type DragSelectRect = {
6449
- readonly x: number;
6450
- readonly y: number;
6451
- readonly width: number;
6452
- readonly height: number;
6453
- };
6454
- type ListDragSelectControllerConfig<T> = {
6455
- /** Element the marquee is drawn in and pointer geometry is measured against. */
6456
- getSurface: () => HTMLElement | undefined;
6457
- /** Is drag-select currently allowed? (multi-capable, has items, not disabled) */
6458
- isEnabled: () => boolean;
6459
- /** Pointer types that may start a drag. Default ['mouse', 'pen'] — touch still scrolls. */
6460
- pointerTypes?: readonly string[];
6461
- /** Movement in px before a press becomes a drag. Default 4. */
6462
- threshold?: number;
6463
- /** Map a surface-relative rect to covered items. */
6464
- hitTest: (rect: DragSelectRect) => Iterable<T>;
6465
- /**
6466
- * Selection snapshotted when the drag starts, combined with the hit set
6467
- * while modifiers are held: Shift adds (`base + hit`), Cmd / Ctrl inverts
6468
- * (covered items toggle, the rest is untouched).
6469
- */
6470
- getBaseSelection: () => ReadonlySet<T>;
6471
- /** Continuous visual feedback: the preview set + current rect (undefined when idle). */
6472
- onPreview: (preview: ReadonlySet<T>, rect: DragSelectRect | undefined) => void;
6473
- /**
6474
- * Fired once on release with the final set. Host applies it to its
6475
- * selection. `additive` is `true` when the drag ran with Shift (add) or
6476
- * Cmd / Ctrl (invert) held.
6477
- */
6478
- onCommit: (finalSet: ReadonlySet<T>, info: {
6479
- additive: boolean;
6480
- }) => void;
6481
- /** Optional: scroll the surface when the pointer nears an edge during a drag. */
6482
- autoScroll?: (dx: number, dy: number) => void;
6483
- /**
6484
- * Optional predicate called on pointerdown before the controller records its
6485
- * pointer id or later calls setPointerCapture/preventDefault. Return false
6486
- * to yield to another gesture (e.g. native item drag).
6487
- */
6488
- shouldStart?: (event: PointerEvent) => boolean;
6489
- };
6490
- type DragHost = ReactiveControllerHost & HTMLElement;
6491
- /**
6492
- * Shared pointer-drag (marquee / rubber-band) selection for list components.
6493
- *
6494
- * Owns all pointer plumbing and rectangle state; knows nothing about DOM
6495
- * geometry or the selection model — those are host callbacks. Mirrors the
6496
- * `TickledController` attach pattern (`new ListDragSelectController(this, …)`).
6497
- *
6498
- * Behaviour: `pointerdown` on the surface records a start point; once the
6499
- * pointer moves past `threshold`, the surface captures the pointer and every
6500
- * move recomputes the rect, hit-tests, and calls `onPreview`. On release the
6501
- * final set is delivered once via `onCommit`. A press that never crosses the
6502
- * threshold does nothing (the normal `@click` path runs).
6503
- */
6504
- declare class ListDragSelectController<T> implements ReactiveController {
6505
- #private;
6506
- constructor(host: DragHost, config: ListDragSelectControllerConfig<T>);
6507
- /** `true` while a drag is in progress or its trailing click is still pending. */
6508
- get isDragging(): boolean;
6509
- /** `true` once the press has crossed the threshold and a rect is live. */
6510
- get isActive(): boolean;
6511
- hostConnected(): void;
6512
- hostDisconnected(): void;
6513
- /** Re-bind when the surface element appears/changes (e.g. first render). */
6514
- hostUpdated(): void;
6515
- }
6516
- //#endregion
6517
- //#region src/interaction/list-item-animation.d.ts
6518
- /**
6519
- * Shared insertion / removal animation for the list & tree components.
6520
- *
6521
- * Two flavours, because the components split into two layout families:
6522
- *
6523
- * - **Flow layouts** (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-tree-*`) —
6524
- * rows sit in normal flow, so a new row can collapse in from zero height and a
6525
- * leaving row can collapse back to zero, and the rows around it slide to make
6526
- * or close the gap for free. Use {@link animateListItemIn} /
6527
- * {@link animateListItemOut} (Web Animations API, exact measured sizes).
6528
- *
6529
- * - **Virtualised layouts** (`ixfx-grid-list`, `ixfx-data-grid`) — rows are
6530
- * absolutely positioned (`transform` / `top`), so collapsing a row's box moves
6531
- * nothing. Those components instead fade the entering / leaving row with the
6532
- * {@link listItemFadeKeyframes} keyframes and slide the survivors by
6533
- * transitioning their position for a short window after the change.
6534
- *
6535
- * Everything here is a no-op under `prefers-reduced-motion: reduce`.
6536
- */
6537
- /** Default duration (ms) for both flavours; overridable per call / per component. */
6538
- declare const LIST_ITEM_MOTION_MS = 200;
6539
- declare function prefersReducedMotion(): boolean;
6540
- /**
6541
- * Opacity keyframes for the virtualised components. Each one adds its own
6542
- * one-line rule binding `.<row>.ixfx-item-entering` / `.ixfx-item-leaving` to
6543
- * these, plus a `prefers-reduced-motion` guard on its own selectors.
6544
- */
6545
- declare const listItemFadeKeyframes: CSSResult;
6546
- interface ListItemMotionOptions {
6547
- /**
6548
- * Animation duration in ms. When omitted, the element's
6549
- * `--ixfx-list-item-move-duration` custom property is used if set (accepts
6550
- * `ms` or `s`), otherwise {@link LIST_ITEM_MOTION_MS}.
6551
- */
6552
- duration?: number;
6553
- /** Which axis collapses — `block` (height, default) or `inline` (width). */
6554
- axis?: `block` | `inline`;
6555
- easing?: string;
6556
- }
6557
- /**
6558
- * Collapse + fade `el` in from nothing to its natural size. Call it just after
6559
- * the element has been inserted (it must already be laid out at full size so it
6560
- * can be measured). No-op under reduced motion.
6561
- */
6562
- declare function animateListItemIn(el: HTMLElement, options?: ListItemMotionOptions): Animation | undefined;
6563
- /**
6564
- * Collapse + fade `el` out. Resolves once the animation finishes (or straight
6565
- * away under reduced motion); the caller detaches the element after. The final
6566
- * collapsed state is held (`fill: forwards`) so there's no flash back to full
6567
- * size in the gap before removal.
6568
- */
6569
- declare function animateListItemOut(el: HTMLElement, options?: ListItemMotionOptions): Promise<void>;
6570
- //#endregion
6571
- //#region src/interaction/tickled-styles.d.ts
6572
- /**
6573
- * Shared CSS styles for tickled interaction pattern.
6574
- *
6575
- * Tickled state is controlled via the `.tickled` CSS class (applied by TickledController).
6576
- * The `tickledItemStyles` provides base styling that all tickled components should use.
6577
- *
6578
- * ## CSS Variable Contract
6579
- *
6580
- * **Style variables** — `tickledItemStyles` only consumes these via `var()`; it
6581
- * defines no defaults itself. Fallback values (used when no theme CSS is loaded)
6582
- * are registered in `themeFallbacks` (`../styles/fallbacks.ts`) and mirror the
6583
- * documented base theme in `user-theming.md`:
6584
- * - `--item-bg`, `--item-bg-tickled`, `--item-bg-selected`, `--item-bg-selected-tickled`
6585
- * - `--item-border`, `--item-border-tickled`, `--item-border-selected` (full border shorthands, not colours)
6586
- * - `--item-text-tickled`, `--item-text-selected`
6587
- * - `--item-padding`, `--item-border-radius`, `--item-icon-spacing`
6588
- *
6589
- * ## Usage
6590
- *
6591
- * Components should import both `tickledStyles` and `tickledItemStyles`:
6592
- *
6593
- * ```ts
6594
- * import { tickledStyles, tickledItemStyles } from '../interaction/index.js';
6595
- *
6596
- * class MyComponent extends LitElement {
6597
- * static styles = [
6598
- * tickledStyles,
6599
- * tickledItemStyles,
6600
- * css`
6601
- * :host {
6602
- * --item-bg-tickled: #e0e0e0;
6603
- * --item-bg-selected: #1976d2;
6604
- * }
6605
- * `
6606
- * ];
6607
- * }
6608
- * ```
6609
- */
6610
- declare const tickledStyles: CSSResult;
6611
- /**
6612
- * Shared item styling for tickled components.
6613
- *
6614
- * Provides base styles for interactive items with tickled and selected states.
6615
- * Components should import this in addition to `tickledStyles` and can override
6616
- * CSS variables to customize appearance.
6617
- */
6618
- declare const tickledItemStyles: CSSResult;
6619
- //#endregion
6620
- //#region src/interaction/tree-keyboard-controller.d.ts
6621
- type TreeKeyboardNavItemId = string;
6622
- type TreeKeyboardNavCallbacks = {
6623
- getItems: () => ReadonlyArray<TickledItem<TreeKeyboardNavItemId>>;
6624
- onExpand: (id: TreeKeyboardNavItemId) => void;
6625
- onCollapse: (id: TreeKeyboardNavItemId) => void;
6626
- onActivate: (id: TreeKeyboardNavItemId) => void;
6627
- onSelect?: (id: TreeKeyboardNavItemId) => void;
6628
- onEscape?: () => void;
6629
- isLeaf: (id: TreeKeyboardNavItemId) => boolean;
6630
- isExpanded: (id: TreeKeyboardNavItemId) => boolean;
6631
- getParentId?: (id: TreeKeyboardNavItemId) => TreeKeyboardNavItemId | undefined;
6632
- };
6633
- type TreeKeyboardNavControllerConfig = {
6634
- callbacks: TreeKeyboardNavCallbacks;
6635
- disableKeyboardNavigation?: () => boolean;
6636
- };
6637
- declare class TreeKeyboardNavController implements ReactiveController {
6638
- #private;
6639
- private host;
6640
- private tickled;
6641
- private callbacks;
6642
- private disableKeyboardNavigation;
6643
- constructor(host: ReactiveControllerHost, tickled: TickledController<TreeKeyboardNavItemId>, config: TreeKeyboardNavControllerConfig);
6644
- hostConnected(): void;
6645
- hostDisconnected(): void;
6646
- handleKeyDown: (event: KeyboardEvent) => void;
6647
- }
6648
- //#endregion
6649
6830
  //#region src/radial-input/types.d.ts
6650
6831
  /**
6651
6832
  * Type definitions for radial input component
@@ -9359,5 +9540,5 @@ interface XyPad {
9359
9540
  //#region src/index.d.ts
9360
9541
  declare function init(): void;
9361
9542
  //#endregion
9362
- 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, BottomDrawerCloseEvent, BottomDrawerCommand, BottomDrawerElement, BottomDrawerElementEventMap, BottomDrawerResizeDetail, BottomDrawerResizeEvent, 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, type DataListSearchAdapterOptions, type DataListSearchItem, 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, DockLeafPlacementPolicy, DockLeafPlacementPolicyResolved, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, type DragSelectRect, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, type GridListDataAdapter, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListItemEventDetail, type GridListNativeDragStartDetail, type GridListNativeDragStartEvent, 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, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, LedMode, type ListActivateDetail, type ListActivateEvent, ListDragSelectController, type ListDragSelectControllerConfig, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, 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, MillerRebaseDetail, MillerRebaseEvent, 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, PanTextMode, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupElementEventMap, PanelGroupOrientation, PanelGroupReorderDetail, PanelGroupReorderEvent, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramInteractionMode, PlotHistogramOrientation, PlotHistogramSelectionChangeDetail, PlotHistogramSelectionChangeEvent, PlotHistogramSelectionRange, 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, type RegisterListSearchCommandsOptions, 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, type TreeListSearchAdapterOptions, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, bottomDrawerCommandId, buildHighlightTargets, buildModel, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
9543
+ 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, BottomDrawerCloseEvent, BottomDrawerCommand, BottomDrawerElement, BottomDrawerElementEventMap, BottomDrawerResizeDetail, BottomDrawerResizeEvent, 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, type DataListSearchAdapterOptions, type DataListSearchItem, DataProviderResult, DataTableElement, DataTableElementEventMap, DataTableRow, DataTableRowClickDetail, DataTableRowClickEvent, type DetailFormatter, DetailListElement, DetailListElementEventMap, type DetailSortComparator, type DetailSortItem, type DetailSortMode, DisplayTextLogic, DistributeResult, DockAddPanelTarget, DockAxis, DockChangeDetail, DockChangeEvent, DockDirection, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockEdge, DockHostElement, DockHostElementEventMap, DockLayout, DockLeafContentRules, DockLeafInfo, DockLeafPlacementPolicy, DockLeafPlacementPolicyResolved, DockLeafRef, DockNeighbours, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, DockRect, DockSplitNode, DockStackNode, type DragSelectRect, DragSnappingFn, DragTarget, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EditableNumber, Effect, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, Endpoints, EntryMode, FormElement, FormGroupElement, FormPartElement, FormatValueForHuman, FormattingOptions, type FuzzySearch, type FuzzySearchOptions, FuzzySearchResult, type GridListActivateDetail, type GridListActivateEvent, type GridListCaptionAlign, type GridListCaptionBackdrop, type GridListCaptionPosition, type GridListCaptionStyle, type GridListDataAdapter, GridListElement, type GridListElementEventMap, type GridListFullElementEventMap, type GridListItemClickDetail, type GridListItemClickEvent, type GridListItemEventDetail, 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, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LeafGeom, LedElement, LedMode, type ListActivateDetail, type ListActivateEvent, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, ListDragSelectController, type ListDragSelectControllerConfig, type ListDragSource, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListItemMotionOptions, type ListItemOutResult, ListNativeDragController, type ListNativeDragControllerConfig, type ListNativeDragStartDetail, type ListNativeDragStartEvent, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, 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, MillerRebaseDetail, MillerRebaseEvent, 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, PanTextMode, PanelCloseEvent, PanelElement, PanelElementEventMap, PanelGroupElement, PanelGroupElementEventMap, PanelGroupOrientation, PanelGroupReorderDetail, PanelGroupReorderEvent, PanelInfo, PanelNode, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant, PillPosition, PillQueueDisplay, PillRendererOptions, PillSafeArea, PillTapDetail, PillTapEvent, PlotDataSeries, PlotDataSeriesOptions, PlotHistogram, PlotHistogramBucketClickDetail, PlotHistogramBucketClickEvent, PlotHistogramElementEventMap, PlotHistogramInteractionMode, PlotHistogramOrientation, PlotHistogramSelectionChangeDetail, PlotHistogramSelectionChangeEvent, PlotHistogramSelectionRange, 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, type RegisterListSearchCommandsOptions, 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, TreeItemDblClickDetail, TreeItemDblClickEvent, type TreeKeyboardNavCallbacks, TreeKeyboardNavController, type TreeKeyboardNavControllerConfig, type TreeKeyboardNavItemId, TreeListAdapterOptions, TreeListElement, type TreeListSearchAdapterOptions, TreeSearchHost, TreeSelectionFilter, TwoSplitLayoutElement, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, VerticalListElementEventMap, ViewRange, WhenSmall, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, addPanelToStack, animateListItemIn, animateListItemOut, applyAgeModification, applyHighlights, applySnapshot, attachTimelineInteractions, bottomDrawerCommandId, buildHighlightTargets, buildModel, captionForEntry, clearHighlights, collectContainerNames, collectDataResult, collectPanelIds, collectStackPaths, computeColour, computeLeafGeoms, createAcCompletionProvider, createDataListSearchAdapter, createDefaultListDragPreview, createElementIncrSearch, createElementListSearchAdapter, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createTreeListSearchAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, findStackPathByName, getActiveDragPanelId, getIcon, getIconEntry, getIconFont, getLeafNeighbours, hasIcon, iconBus, init, insertBeside, isDragging, isMultiMode, isSplit, isStack, keyForElement, listItemFadeKeyframes, listSearchStyles, monitorIndeterminate, moveLeafNodeToEdge, moveLeafStep, normalise, normalize, panelGapIndex, parseColourScaleAttr, parseLayout, pointerOverAnyHost, prefersReducedMotion, readBaseColour, registerFontIcon, registerIcon, registerListSearchCommands, removePanelFromStack, resolveCssVars, resolveGrid, resolveLeafPath, resolveTracks, serializeLayout, setActive, setIconFont, startListItemOutAnimation, svgToDataUri, swapLeaves, tickledItemStyles, tickledStyles, timelineStyles, toSnapshot, walk, wrapRoot };
9363
9544
  //# sourceMappingURL=index.d.ts.map