@ixfx/components 0.6.2 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/bundle/index.d.ts +1490 -615
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +20477 -15855
  4. package/bundle/index.js.map +1 -1
  5. package/bundle/style.css +1 -1
  6. package/dist/ac-text.js +3 -2
  7. package/dist/ac-text.js.map +1 -1
  8. package/dist/ac-token.js +3 -2
  9. package/dist/ac-token.js.map +1 -1
  10. package/dist/{button-Bn0BuLpO.js → button-Dat2yHAU.js} +4 -3
  11. package/dist/button-Dat2yHAU.js.map +1 -0
  12. package/dist/button.js +1 -1
  13. package/dist/checkbox.js +1 -1
  14. package/dist/{colour-picker-0stHB90J.js → colour-picker-BSDBL-QL.js} +4 -3
  15. package/dist/{colour-picker-0stHB90J.js.map → colour-picker-BSDBL-QL.js.map} +1 -1
  16. package/dist/colour-picker.js +1 -1
  17. package/dist/crumbs.js +4 -2
  18. package/dist/crumbs.js.map +1 -1
  19. package/dist/data-display.js +1 -1
  20. package/dist/data-grid.js +4 -2
  21. package/dist/data-grid.js.map +1 -1
  22. package/dist/{defaults-BCiDhZbF.js → defaults-BkWCPJFL.js} +3 -20
  23. package/dist/defaults-BkWCPJFL.js.map +1 -0
  24. package/dist/editable-label-rzXkjf1H.d.ts +75 -0
  25. package/dist/editable-label-rzXkjf1H.d.ts.map +1 -0
  26. package/dist/editable-label.d.ts +2 -75
  27. package/dist/editable-label.js +2 -1
  28. package/dist/editable-label.js.map +1 -1
  29. package/dist/{fallbacks-DEE1nCTt.js → fallbacks-DNI9xt0F.js} +2 -2
  30. package/dist/{fallbacks-DEE1nCTt.js.map → fallbacks-DNI9xt0F.js.map} +1 -1
  31. package/dist/{grouped-item-lister-_pMDwIo1.d.ts → grouped-item-lister-DnWB-eFT.d.ts} +2 -2
  32. package/dist/{grouped-item-lister-_pMDwIo1.d.ts.map → grouped-item-lister-DnWB-eFT.d.ts.map} +1 -1
  33. package/dist/grouped-item-lister.d.ts +1 -1
  34. package/dist/{icons-Bm2ByQ3s.js → icon-CvnPanhA.js} +3 -6
  35. package/dist/icon-CvnPanhA.js.map +1 -0
  36. package/dist/icons.js +8 -2
  37. package/dist/icons.js.map +1 -0
  38. package/dist/index-CG2vIgPv.d.ts +101 -0
  39. package/dist/index-CG2vIgPv.d.ts.map +1 -0
  40. package/dist/index.d.ts +655 -65
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +3682 -924
  43. package/dist/index.js.map +1 -1
  44. package/dist/interaction-D5XdKzbR.js +2 -0
  45. package/dist/labelled-radial-input.js +2 -1
  46. package/dist/labelled-radial-input.js.map +1 -1
  47. package/dist/labelled-slider-input-DzigjMwP.js +808 -0
  48. package/dist/labelled-slider-input-DzigjMwP.js.map +1 -0
  49. package/dist/labelled-slider-input.d.ts +2 -0
  50. package/dist/labelled-slider-input.js +2 -0
  51. package/dist/{types-DlVNJez_.d.ts → list-selection-types-DSuRNWpx.d.ts} +10 -2
  52. package/dist/list-selection-types-DSuRNWpx.d.ts.map +1 -0
  53. package/dist/menu-BjRvlgPy.js +825 -0
  54. package/dist/menu-BjRvlgPy.js.map +1 -0
  55. package/dist/menu-item-B-zYrTTi.js +797 -0
  56. package/dist/menu-item-B-zYrTTi.js.map +1 -0
  57. package/dist/menu.js +2 -1
  58. package/dist/miller.d.ts +1 -1
  59. package/dist/miller.js +3 -2
  60. package/dist/miller.js.map +1 -1
  61. package/dist/narrowed-text.js +4 -2
  62. package/dist/narrowed-text.js.map +1 -1
  63. package/dist/notifier.js +3 -2
  64. package/dist/notifier.js.map +1 -1
  65. package/dist/panel.d.ts +13 -13
  66. package/dist/panel.d.ts.map +1 -1
  67. package/dist/panel.js +37 -253
  68. package/dist/panel.js.map +1 -1
  69. package/dist/plots.js +1 -1
  70. package/dist/polar-pad.js +1 -1
  71. package/dist/{radial-input-Dk8Wydp5.js → radial-input-Dp5qz0ly.js} +2 -2
  72. package/dist/{radial-input-Dk8Wydp5.js.map → radial-input-Dp5qz0ly.js.map} +1 -1
  73. package/dist/radial-input.js +1 -1
  74. package/dist/range-input.js +1 -1
  75. package/dist/range.js +1 -1
  76. package/dist/registry-CkW7q09Q.js +21 -0
  77. package/dist/registry-CkW7q09Q.js.map +1 -0
  78. package/dist/select-horiz.js +3 -2
  79. package/dist/select-horiz.js.map +1 -1
  80. package/dist/{slider-input-XppH3vcy.d.ts → slider-input-BfRUW2ZB.d.ts} +16 -3
  81. package/dist/slider-input-BfRUW2ZB.d.ts.map +1 -0
  82. package/dist/{slider-input-CT4gcF-o.js → slider-input-De4eoT11.js} +382 -67
  83. package/dist/slider-input-De4eoT11.js.map +1 -0
  84. package/dist/slider-input.d.ts +1 -1
  85. package/dist/slider-input.js +1 -1
  86. package/dist/snackbar.js +1 -1
  87. package/dist/split-layout-BFSbUZQv.js +969 -0
  88. package/dist/split-layout-BFSbUZQv.js.map +1 -0
  89. package/dist/split-layout-JK3xWVX2.d.ts +179 -0
  90. package/dist/split-layout-JK3xWVX2.d.ts.map +1 -0
  91. package/dist/split-layout.d.ts +2 -60
  92. package/dist/split-layout.js +1 -617
  93. package/dist/style.css +1 -1
  94. package/dist/swipe.js +1 -1
  95. package/dist/{tab-list-D_1cYhB_.d.ts → tab-list-MPwq_1Jj.d.ts} +2 -1
  96. package/dist/tab-list-MPwq_1Jj.d.ts.map +1 -0
  97. package/dist/tabs.d.ts +1 -1
  98. package/dist/tabs.js +96 -14
  99. package/dist/tabs.js.map +1 -1
  100. package/dist/{tickled-controller-BtevrRLV.d.ts → tickled-controller-CRzdIEjJ.d.ts} +7 -1
  101. package/dist/tickled-controller-CRzdIEjJ.d.ts.map +1 -0
  102. package/dist/{tickled-controller-DkAU-0qL.js → tickled-controller-h9GmJ_bU.js} +8 -2
  103. package/dist/tickled-controller-h9GmJ_bU.js.map +1 -0
  104. package/dist/titlebar-DaCfpliv.d.ts +50 -0
  105. package/dist/titlebar-DaCfpliv.d.ts.map +1 -0
  106. package/dist/titlebar.d.ts +2 -0
  107. package/dist/titlebar.js +324 -0
  108. package/dist/titlebar.js.map +1 -0
  109. package/dist/{tree-BO6BXI2b.js → tree-Ch4W8qXQ.js} +4 -3
  110. package/dist/{tree-BO6BXI2b.js.map → tree-Ch4W8qXQ.js.map} +1 -1
  111. package/dist/tree.d.ts +1 -1
  112. package/dist/tree.js +1 -1
  113. package/dist/vertical-list-ClnqTkF3.js +814 -0
  114. package/dist/vertical-list-ClnqTkF3.js.map +1 -0
  115. package/dist/vertical-list.d.ts +8 -9
  116. package/dist/vertical-list.d.ts.map +1 -1
  117. package/dist/vertical-list.js +1 -736
  118. package/dist/{xy-axis-B6yMjckW.js → xy-axis-CxHC8z5E.js} +109 -3
  119. package/dist/xy-axis-CxHC8z5E.js.map +1 -0
  120. package/dist/xy-pad.js +1 -1
  121. package/docs-user/README.md +5 -0
  122. package/docs-user/detail-list.md +398 -0
  123. package/docs-user/dock.md +310 -0
  124. package/docs-user/index.json +27 -2
  125. package/docs-user/labelled-slider-input.md +198 -0
  126. package/docs-user/llms.txt +6 -1
  127. package/docs-user/panel.md +20 -1
  128. package/docs-user/slider-input.md +55 -15
  129. package/docs-user/split-layout.md +136 -170
  130. package/docs-user/tabs.md +34 -0
  131. package/docs-user/titlebar.md +102 -0
  132. package/docs-user/toolbar.md +95 -22
  133. package/docs-user/twosplit-layout.md +254 -0
  134. package/docs-user/user-catalog.md +8 -1
  135. package/llms.txt +6 -1
  136. package/package.json +1 -2
  137. package/dist/button-Bn0BuLpO.js.map +0 -1
  138. package/dist/defaults-BCiDhZbF.js.map +0 -1
  139. package/dist/editable-label.d.ts.map +0 -1
  140. package/dist/icons-Bm2ByQ3s.js.map +0 -1
  141. package/dist/menu-DIfU70AA.js +0 -1609
  142. package/dist/menu-DIfU70AA.js.map +0 -1
  143. package/dist/slider-input-CT4gcF-o.js.map +0 -1
  144. package/dist/slider-input-XppH3vcy.d.ts.map +0 -1
  145. package/dist/split-layout.d.ts.map +0 -1
  146. package/dist/split-layout.js.map +0 -1
  147. package/dist/tab-list-D_1cYhB_.d.ts.map +0 -1
  148. package/dist/tickled-controller-BtevrRLV.d.ts.map +0 -1
  149. package/dist/tickled-controller-DkAU-0qL.js.map +0 -1
  150. package/dist/types-DlVNJez_.d.ts.map +0 -1
  151. package/dist/vertical-list.js.map +0 -1
  152. package/dist/xy-axis-B6yMjckW.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -14,18 +14,22 @@ import { CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigatio
14
14
  import { ConfigEntry, DataDisplayComponent, FormattingOptions, RendererStyle } from "./data-display.js";
15
15
  import { _ as DataGridSortDetail, a as DataGridColumnReorderDetail, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridSelectEvent, h as DataGridSelectDetail, i as DataGridCellEditEvent, l as DataGridColumnVisibilityDetail, m as DataGridGroupChangeEvent, n as DataGridCellClickEvent, o as DataGridColumnReorderEvent, p as DataGridGroupChangeDetail, r as DataGridCellEditDetail, s as DataGridColumnResizeDetail, t as DataGridCellClickDetail, u as DataGridColumnVisibilityEvent, v as DataGridSortEvent } from "./data-grid-C8qIo1-u.js";
16
16
  import { t as index_d_exports } from "./index-CKtLhgYj.js";
17
- import { DisplayTextLogic, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EntryMode } from "./editable-label.js";
17
+ import { a as EditableMode, i as EditableLabelChangeEvent, n as EditableLabel, o as EntryMode, r as EditableLabelChangeDetail, t as DisplayTextLogic } from "./editable-label-rzXkjf1H.js";
18
18
  import { FormElement } from "./form.js";
19
- import { a as ListItemClickDetail, c as ListSelectEvent, d as ListTickleEvent, i as ListInteractionMode, l as ListSelectionMode, n as ListActivateEvent, o as ListItemClickEvent, r as ListElementEventMap, s as ListSelectDetail, t as ListActivateDetail, u as ListTickleDetail } from "./types-DlVNJez_.js";
20
- import { a as IGroupedSubComponent, c as SubComponentActivateEvent, d as SubComponentItemClickEvent, f as SubComponentSelectDetail, h as SubComponentTickleEvent, i as GroupedSelectEvent, l as SubComponentFactory, m as SubComponentTickleDetail, n as GroupedItemListerElementEventMap, o as IGroupedSubComponentEventMap, p as SubComponentSelectEvent, r as GroupedSelectDetail, s as SubComponentActivateDetail, t as GroupedItemListerElement, u as SubComponentItemClickDetail } from "./grouped-item-lister-_pMDwIo1.js";
19
+ import { a as ListItemClickDetail, c as ListSelectEvent, d as ListTickleEvent, i as ListInteractionMode, l as ListSelectionMode, n as ListActivateEvent, o as ListItemClickEvent, r as ListElementEventMap, s as ListSelectDetail, t as ListActivateDetail, u as ListTickleDetail } from "./list-selection-types-DSuRNWpx.js";
20
+ import { a as IGroupedSubComponent, c as SubComponentActivateEvent, d as SubComponentItemClickEvent, f as SubComponentSelectDetail, h as SubComponentTickleEvent, i as GroupedSelectEvent, l as SubComponentFactory, m as SubComponentTickleDetail, n as GroupedItemListerElementEventMap, o as IGroupedSubComponentEventMap, p as SubComponentSelectEvent, r as GroupedSelectDetail, s as SubComponentActivateDetail, t as GroupedItemListerElement, u as SubComponentItemClickDetail } from "./grouped-item-lister-DnWB-eFT.js";
21
+ import { a as TitlebarToggleDetail, c as TitlebarVariant, i as TitlebarOrientation, n as TitlebarElement, o as TitlebarToggleEvent, r as TitlebarElementEventMap, s as TitlebarToggleInteraction, t as TitlebarCloseEvent } from "./titlebar-DaCfpliv.js";
21
22
  import { PanelCloseEvent, PanelElement, PanelElementEventMap, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant } from "./panel.js";
22
23
  import { a as NoneSelectEventDetail, c as SingleSelectEventDetail, i as IxfxHexEditorElement, n as HexChangeDetail, o as RectangularSelectEventDetail, r as HexChangeEvent, s as SelectEventDetail, t as ContiguousSelectEventDetail } from "./hex-editor-Caq8vNQk.js";
23
24
  import { a as iconBus, c as ICON_CARET_RIGHT, d as ICON_CLOSE, i as hasIcon, l as ICON_CHECK, n as IconChangedEvent, o as registerIcon, r as getIcon, s as svgToDataUri, t as IconChangedDetail, u as ICON_CHEVRON_DOWN } from "./index-BtGFYfaK.js";
24
25
  import { _ as IncrSearchChangeCallback, a as createFuzzySearch, b as IncrSearchState, c as IncrSearchTreeController, d as ElementIncrSearchOptions, f as FuzzySearch, g as IncrSearch, h as HighlightTarget, i as clearHighlights, l as IncrSearchTreeOptions, m as HighlightOptions, n as applyHighlights, o as ElementIncrSearch, p as FuzzySearchOptions, r as buildHighlightTargets, s as createElementIncrSearch, t as createIncrSearch, u as createAcCompletionProvider, v as IncrSearchOptions, y as IncrSearchResult } from "./index-Cu5i8zZY.js";
25
- import { n as WheelNudgeConsumerType, t as WheelDirection } from "./wheel-nudge-DGrNzWuE.js";
26
26
  import { AddItemOptions, CustomCheckboxOptions, VerticalListElement } from "./vertical-list.js";
27
+ import { _ as SplitExpandEvent, a as LayoutNode, b as SplitResizeEvent, c as PanelNode, d as SplitChangeEvent, f as SplitCloseDetail, g as SplitExpandDetail, h as SplitCollapseEvent, i as GroupNode, l as SnapshotNode, m as SplitCollapseDetail, n as SplitPanelElement, o as LayoutSnapshot, p as SplitCloseEvent, r as Axis, s as PanelInfo, t as SplitLayoutElement, u as SplitChangeDetail, v as SplitLayoutElementEventMap, x as WhenSmall, y as SplitResizeDetail } from "./split-layout-JK3xWVX2.js";
28
+ import { a as TabListReorderDetail, i as TabListElement, n as TabListChangeEvent, o as TabListReorderEvent, r as TabListDragMode, s as TabListItemElement, t as TabListChangeDetail } from "./tab-list-MPwq_1Jj.js";
29
+ import { n as EditableNumber, t as LabelledSliderInput } from "./index-CG2vIgPv.js";
27
30
  import { a as RadialInputChangeDetail, c as RadialInputInputEvent, i as MarkerStyle, l as ValueMode, n as LaneData, o as RadialInputChangeEvent, r as LaneType, s as RadialInputInputDetail, t as RadialInputElement } from "./radial-input-DXMN55Nz.js";
28
31
  import { LabelledRadialInput } from "./labelled-radial-input.js";
32
+ import { _ as SliderValueMode, a as SliderInputChangeDetail, c as SliderInputInputDetail, d as SliderLaneType, f as SliderMarkerStyle, g as SliderValueDrag, h as SliderValueCFollow, i as SliderHandleKey, l as SliderInputInputEvent, m as SliderSingleStyle, n as SliderChangedField, o as SliderInputChangeEvent, p as SliderOrientation, r as SliderCrossover, s as SliderInputElementEventMap, t as SliderInputElement, u as SliderLaneData } from "./slider-input-BfRUW2ZB.js";
29
33
  import { LedElement } from "./led.js";
30
34
  import { MillerBaseElement, MillerBaseElementEventMap, MillerConfig, MillerHeaderClickDetail, MillerHeaderClickEvent, MillerHeaderRightClickDetail, MillerHeaderRightClickEvent, MillerItemDblClickDetail, MillerItemDblClickEvent, MillerItemRightClickDetail, MillerItemRightClickEvent, MillerItemState, MillerListElement, MillerSelectionMode, MillerTreeController, MillerTreeControllerOptions } from "./miller.js";
31
35
  import { a as Notification, c as NotificationRendererHooks, i as PillTapEvent, l as NotificationType, n as NotificationPillElementEventMap, o as NotificationContent, r as PillTapDetail, s as NotificationRenderer, t as NotificationPillElement, u as NotifierOptions } from "./notification-pill-DyZydXoZ.js";
@@ -35,17 +39,14 @@ import { n as TooltipElement, r as TooltipOrientations, t as FormatValueForHuman
35
39
  import { RangeInput } from "./range-input.js";
36
40
  import { RangeElement } from "./range.js";
37
41
  import { SelectHorizChangeDetail, SelectHorizChangeEvent, SelectHorizElement, SelectHorizEventMap } from "./select-horiz.js";
38
- import { _ as SliderValueMode, a as SliderInputChangeDetail, c as SliderInputInputDetail, d as SliderLaneType, f as SliderMarkerStyle, g as SliderValueDrag, h as SliderValueCFollow, i as SliderHandleKey, l as SliderInputInputEvent, m as SliderSingleStyle, n as SliderChangedField, o as SliderInputChangeEvent, p as SliderOrientation, r as SliderCrossover, s as SliderInputElementEventMap, t as SliderInputElement, u as SliderLaneData } from "./slider-input-XppH3vcy.js";
39
42
  import { SnackbarDismiss, SnackbarElement, SnackbarMode, SnackbarPlacement } from "./snackbar.js";
40
43
  import { ClickSnapMode, SnapChangeDetail, SnapChangeEvent, SnapContainer, SnapInputDetail, SnapInputEvent, SnapLogic } from "./snap-container.js";
41
- import { SplitLayoutElement } from "./split-layout.js";
42
44
  import { SwipeElement, SwipeElementEventMap, SwipeInputDetail, SwipeInputEvent } from "./swipe.js";
43
- import { a as TabListReorderDetail, i as TabListElement, n as TabListChangeEvent, o as TabListReorderEvent, r as TabListDragMode, s as TabListItemElement, t as TabListChangeDetail } from "./tab-list-D_1cYhB_.js";
44
45
  import { A as TimelineTrackReorderEvent, C as TimelineEventResizeEvent, D as TimelineTickleChangeEvent, E as TimelineTickleChangeDetail, F as TrackHeightMode, I as TrackLayout, L as UserScale, M as TimelineTrackResizeEvent, N as TimelineTrackSelectDetail, O as TimelineTrack, P as TimelineTrackSelectEvent, R as ViewRange, S as TimelineEventResizeDetail, T as TimelineSelectionChangeEvent, _ as TimelineDraggingEvent, a as CssVars, b as TimelineEventMoveDetail, c as resolveGrid, d as DragSnappingFn, f as DragTarget, g as TimelineDraggingDetail, h as TimelineDraggingCallbackDetail, i as TimelineTrackTabElement, j as TimelineTrackResizeDetail, k as TimelineTrackReorderDetail, l as TimelineController, m as GridResolution, n as attachTimelineInteractions, o as Rect, p as GridMode, r as IxfxTimelineElement, s as resolveCssVars, t as timelineStyles, u as TimelineControllerConfig, v as TimelineElementEventMap, w as TimelineSelectionChangeDetail, x as TimelineEventMoveEvent, y as TimelineEvent } from "./index-BeuCXtiO.js";
45
46
  import { Effect, TransitoryLabelElement } from "./transitory-label.js";
46
47
  import { TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeConfig, TreeController, TreeControllerOptions, TreeListElement } from "./tree.js";
47
48
  import { XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent } from "./xy-pad.js";
48
- import { CSSResult, LitElement, PropertyValues, ReactiveController, ReactiveControllerHost } from "lit";
49
+ import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost } from "lit";
49
50
  import { CommandId, CommandRegistry, KeyboardManager } from "@clinth/ui-commands";
50
51
  //#region src/button/radio-group.d.ts
51
52
  type RadioGroupMode = `compact` | `max`;
@@ -314,76 +315,587 @@ declare class CrumbPathController {
314
315
  disconnect(): void;
315
316
  }
316
317
  //#endregion
317
- //#region src/editable-label/editable-number.d.ts
318
- declare const EditableNumber_base: (new (...args: any[]) => WheelNudgeConsumerType<EditableLabel>) & typeof EditableLabel;
319
- declare class EditableNumber extends EditableNumber_base {
318
+ //#region src/detail-list/types.d.ts
319
+ /** Sort direction applied to the item columns. */
320
+ type DetailSortMode = `none` | `ascending` | `descending`;
321
+ /** Per-item view of a row passed to `sortComparator`. */
322
+ type DetailSortItem = {
323
+ readonly element: HTMLElement;
324
+ readonly data: unknown;
325
+ readonly label: string;
326
+ };
327
+ /** Custom comparator — return negative when `a` sorts before `b`. */
328
+ type DetailSortComparator = (a: DetailSortItem, b: DetailSortItem) => number;
329
+ /** Turns one object item into row content — a plain string or a DOM node. */
330
+ type DetailFormatter = (item: unknown, index: number) => string | Node;
331
+ //#endregion
332
+ //#region src/detail-list/detail-list.d.ts
333
+ /**
334
+ * A list that scales horizontally, not vertically.
335
+ *
336
+ * Items are laid out in equal-width columns; they flow top→bottom down a
337
+ * column, then wrap to the top of the next column to the right. The
338
+ * component has a fixed vertical extent and scrolls horizontally.
339
+ *
340
+ * Selection semantics match `ixfx-vertical-list` — same modes, same
341
+ * `list-*` events, same keyboard gestures — but navigation is a 2-D grid
342
+ * (Up/Down move within a column, Left/Right jump columns).
343
+ *
344
+ * Items come from any of three sources (later writes win):
345
+ * 1. declarative `<li>` children in light DOM,
346
+ * 2. `addItem()` / `setItems()`,
347
+ * 3. an `items` array of objects rendered via `displayProperty` /
348
+ * `formatter`, optionally streamed in via a `provider`.
349
+ */
350
+ declare class DetailListElement extends LitElement {
320
351
  #private;
321
- min?: number;
322
- max?: number;
323
- step?: number;
324
- /** Quantised stops for keyboard nudging. Overrides `step` when > 1. */
325
- stops?: number;
326
- dragSensitivity: number;
327
- fillStyle?: `linear` | `circular`;
328
- linearStyle?: `range` | `bipolar` | `unipolar`;
329
- circularStyle?: `grow` | `offset` | `dot`;
330
- noDrag: boolean;
331
- precision: number;
332
- constructor();
333
- render(): import("lit").TemplateResult<1>;
334
- private _stopNativeInput;
352
+ selectionMode: ListSelectionMode;
353
+ interactionMode: ListInteractionMode;
354
+ sort: DetailSortMode;
355
+ sortBy: string;
356
+ sortComparator: DetailSortComparator | undefined;
357
+ items: readonly unknown[];
358
+ provider: IDataProvider<void, unknown> | undefined;
359
+ displayProperty: string;
360
+ formatter: DetailFormatter | undefined;
361
+ iconProperty: string;
362
+ keyProperty: string;
363
+ filterPredicate: ((el: Element) => boolean) | undefined;
364
+ /**
365
+ * Whether keyboard navigation wraps from last to first and vice versa.
366
+ * - 'stop' (default): navigation stops at the boundary
367
+ * - 'wrap': navigation wraps around
368
+ */
369
+ itemWrap: `stop` | `wrap`;
370
+ /** Optional renderer for the checkbox shown in `checked` interactionMode. */
371
+ checkboxRenderer: ((checked: boolean) => unknown) | CustomCheckboxOptions | undefined;
372
+ private _searchVisible;
373
+ private _searchQuery;
374
+ private _searchInputEl;
375
+ private _listEl;
376
+ private readonly selection;
377
+ private tickled;
335
378
  connectedCallback(): void;
336
379
  disconnectedCallback(): void;
337
- private _handleMouseEnter;
338
- private _handleMouseLeave;
339
- /** Click just focuses; edit mode is entered by pressing a key while focused. */
340
- protected _handleClick: () => void;
341
- /** Suppress auto-edit-on-focus from editor mode; keydown handles it instead. */
342
- protected _handleFocus: () => void;
343
- /** Override to use .number instead of .content for text display */
344
- protected get _contentEl(): HTMLElement | undefined;
345
- firstUpdated(changedProperties: Map<string, unknown>): void;
346
- protected _onUserInteraction(): void;
347
- private _onValueChange;
348
- updated(changedProperties: Map<string, unknown>): void;
349
- private _updateValueCss;
350
- protected _getDisplayText(): string;
351
- protected _tryCommit(): void;
352
- protected _handleBeforeInput: (e: InputEvent) => void;
353
- protected _handleKeydown: (e: KeyboardEvent) => void;
380
+ firstUpdated(): void;
381
+ updated(changed: PropertyValues): void;
382
+ /** The most recently selected item, or `undefined` if nothing is selected. */
383
+ get selectedItem(): Element | undefined;
384
+ /** The full current selection set (read-only). */
385
+ get selectedItems(): ReadonlySet<Element>;
386
+ /**
387
+ * Force an immediate geometry recompute. Called automatically on resize,
388
+ * DOM changes, sort/filter/search changes — only needed when layout is
389
+ * changed by outside forces (e.g. an external font load).
390
+ */
391
+ refreshLayout(): void;
392
+ addItem(item: Element | string, options?: AddItemOptions): void;
393
+ removeItem(item: Element): void;
394
+ clearItems(): void;
395
+ /**
396
+ * Replace the entire item list in one call.
397
+ * Equivalent to `clearItems()` followed by `addItem()` for each element.
398
+ */
399
+ setItems(items: readonly Element[]): void;
400
+ /**
401
+ * Get the source object behind an `<li>` built from an `items` array or
402
+ * provider. Returns `undefined` for declarative / programmatic elements.
403
+ */
404
+ getItemData(item: HTMLLIElement): unknown;
405
+ /** Dispatch a command to this list. No-op by default (grouped-lister parity). */
406
+ dispatch(_commandId: CommandId, _args?: Record<string, unknown>): void;
407
+ select(item: Element): void;
408
+ selectMany(items: Iterable<Element>): void;
409
+ deselect(item: Element): void;
410
+ clearSelection(): void;
411
+ selectAll(): void;
412
+ selectedFilter(kind: `selected` | `checked` | `either`): Generator<Element>;
413
+ private _getVisibleItems;
414
+ private _isCheckable;
415
+ private _setLabel;
416
+ private _syncItemStates;
417
+ private _syncCheckboxes;
418
+ /**
419
+ * Native checkbox cell: a span that stretches to the row's full cross-axis
420
+ * (so the entire column height is a click target) with a real `<input>`
421
+ * centred inside. The span owns the click; the input is purely visual and
422
+ * has `pointer-events:none` so a single click produces one toggle.
423
+ */
424
+ private _createNativeCheckboxCell;
425
+ /** Custom checkbox cell: same shape as the native cell; renderer content inside. */
426
+ private _createCustomCheckbox;
427
+ private _findListItem;
428
+ private _dispatch;
429
+ private _openSearch;
430
+ private _closeSearch;
431
+ private _onPointerOver;
432
+ private _onPointerLeave;
354
433
  private _onKeyDown;
355
- private _handleArrowKey;
434
+ private _onClick;
435
+ private _onDblClick;
436
+ private _onWheel;
437
+ private _activateItem;
438
+ private _onSearchInput;
439
+ private _onSearchKeydown;
440
+ static styles: import("lit").CSSResult[];
441
+ render(): import("lit").TemplateResult<1>;
442
+ }
443
+ declare global {
444
+ interface HTMLElementTagNameMap {
445
+ 'ixfx-detail-list': DetailListElement;
446
+ }
447
+ interface HTMLElementEventMap extends ListElementEventMap {}
448
+ }
449
+ //#endregion
450
+ //#region src/dock/types.d.ts
451
+ /** Axis values used by `ixfx-split-layout` — stored verbatim in the model. */
452
+ type DockAxis = `row` | `column`;
453
+ type DockLayout = {
454
+ readonly version: 1;
455
+ readonly root: DockNode;
456
+ };
457
+ type DockNode = DockSplitNode | DockStackNode;
458
+ /**
459
+ * N-ary split node, rendered as a single `ixfx-split-layout`.
460
+ * `direction` uses the element's flexbox sense: `row` places children
461
+ * side-by-side, `column` stacks them vertically.
462
+ */
463
+ interface DockSplitNode {
464
+ kind: `split`;
465
+ direction: DockAxis;
466
+ /** Flex weights, parallel to `children`. Need not sum to 1. */
467
+ sizes: number[];
468
+ /** Two or more children (post-normalize). */
469
+ children: DockNode[];
470
+ }
471
+ interface DockStackNode {
472
+ kind: `stack`;
473
+ /** Panel-ids in tab order. */
474
+ panels: string[];
475
+ /** Active panel-id (empty when the stack is empty). */
476
+ active: string;
477
+ /** Whole stack collapsed to its titlebar / strip. */
478
+ collapsed?: boolean;
479
+ /** Size to restore into the parent split on expand. */
480
+ preCollapseSize?: string;
481
+ }
482
+ type DockOperation = `tabs` | `split-horizontal` | `split-vertical`;
483
+ interface DockPanelDragStartDetail {
484
+ readonly panelId: string;
485
+ readonly pointerId: number;
486
+ readonly clientX: number;
487
+ readonly clientY: number;
488
+ }
489
+ type DockPanelDragStartEvent = CustomEvent<DockPanelDragStartDetail>;
490
+ interface DockChangeDetail {
491
+ readonly layout: DockLayout;
492
+ }
493
+ type DockChangeEvent = CustomEvent<DockChangeDetail>;
494
+ interface DockPanelAddedDetail {
495
+ readonly panelId: string;
496
+ }
497
+ type DockPanelAddedEvent = CustomEvent<DockPanelAddedDetail>;
498
+ interface DockPanelRemovedDetail {
499
+ readonly panelId: string;
500
+ }
501
+ type DockPanelRemovedEvent = CustomEvent<DockPanelRemovedDetail>;
502
+ interface DockPanelActivatedDetail {
503
+ readonly panelId: string;
504
+ }
505
+ type DockPanelActivatedEvent = CustomEvent<DockPanelActivatedDetail>;
506
+ type DockPanelInit = {
507
+ panelId: string;
508
+ title?: string;
509
+ iconName?: string;
510
+ closable?: boolean;
511
+ collapsible?: boolean;
512
+ };
513
+ /**
514
+ * Plain, structured-clone-safe description of a panel. Enough to recreate an
515
+ * `ixfx-dock-panel` in another document / process (e.g. a new Electron
516
+ * `BrowserWindow`). `contentHTML` is a best-effort capture of the panel's
517
+ * light-DOM markup at snapshot time — apps whose panels hold live state or
518
+ * framework-managed DOM should rebuild the body from their own model instead
519
+ * and ignore this field.
520
+ */
521
+ interface DockPanelSnapshot {
522
+ panelId: string;
523
+ title: string;
524
+ iconName: string;
525
+ closable: boolean;
526
+ collapsible: boolean;
527
+ /** The panel's `accepts` restriction token string (may be empty). */
528
+ accepts: string;
529
+ /** Best-effort `innerHTML` of the panel element at capture time. */
530
+ contentHTML: string;
531
+ }
532
+ /**
533
+ * Serializable result of hit-testing a point against a host — what a drop
534
+ * there would do. Returned by `queryDropTarget()` / `previewExternalDrop()`
535
+ * so a coordinator (in-page or over IPC) can reason about the outcome without
536
+ * a live `DockDropZone` (which carries element references).
537
+ */
538
+ interface DockDropTarget {
539
+ operation: DockOperation;
540
+ /** Path of the target stack in the host model; `[]` = the host root. */
541
+ targetPath: number[];
542
+ side: `before` | `after`;
543
+ /** Tab insertion index for `tabs` drops. */
544
+ gapIndex?: number;
545
+ }
546
+ interface DockPanelTearOutDetail {
547
+ readonly panelId: string;
548
+ /** Snapshot captured from the source panel at release. */
549
+ readonly snapshot: DockPanelSnapshot;
550
+ /** Pointer position in the source window's viewport at release. */
551
+ readonly clientX: number;
552
+ readonly clientY: number;
553
+ /** Pointer position in screen coordinates at release — for window placement. */
554
+ readonly screenX: number;
555
+ readonly screenY: number;
556
+ }
557
+ type DockPanelTearOutEvent = CustomEvent<DockPanelTearOutDetail>;
558
+ interface DockDragBoundaryDetail {
559
+ readonly panelId: string;
560
+ readonly clientX: number;
561
+ readonly clientY: number;
562
+ readonly screenX: number;
563
+ readonly screenY: number;
564
+ }
565
+ /** `dock-panel-drag-out` / `dock-panel-drag-in`. */
566
+ type DockDragBoundaryEvent = CustomEvent<DockDragBoundaryDetail>;
567
+ //#endregion
568
+ //#region src/dock/dock-panel.d.ts
569
+ interface DockPanelElementEventMap {
570
+ 'dock-panel-drag-start': DockPanelDragStartEvent;
571
+ 'toggle': TitlebarToggleEvent;
572
+ 'close': TitlebarCloseEvent;
573
+ }
574
+ /**
575
+ * Leaf content + metadata + drag handle. Renders `ixfx-titlebar` chrome when
576
+ * standalone (`presentation="solo"`) and content only when docked
577
+ * (`presentation="tabbed"` — the host's tab strip carries the title chrome).
578
+ * Adds `panel-id` and the titlebar drag handle. Works standalone outside a
579
+ * host (the drag-start event has no listener and is inert).
580
+ */
581
+ declare class DockPanelElement extends LitElement {
582
+ /** Stable identity: model key, slot name suffix, serialization id. */
583
+ panelId: string;
584
+ title: string;
585
+ iconName: string;
586
+ closable: boolean;
587
+ collapsible: boolean;
356
588
  /**
357
- * Apply a signed delta to the current value, clamp/snap/format, and fire
358
- * `input`/`change`. Shared between arrow-key handler and the wheel handler.
589
+ * Per-panel restriction when this panel is itself a drop target (solo
590
+ * leaf). Space-separated `tabs` / `horizontal` / `vertical` / `all`;
591
+ * `none` rejects everything; default is unrestricted.
359
592
  */
360
- private _applyDelta;
361
- _shouldHandleWheel(): boolean;
362
- _applyWheelDelta(direction: WheelDirection, event: WheelEvent): void;
593
+ accepts: string;
594
+ /**
595
+ * Host-controlled. Docked panels are always `tabbed` (content only the
596
+ * leaf's tab strip carries the title chrome). `solo` (full titlebar chrome)
597
+ * applies to panels outside a host or not currently docked.
598
+ */
599
+ presentation: `solo` | `tabbed`;
600
+ /** Solo-mode collapse state, mirrored from the titlebar. */
601
+ private _collapsed;
602
+ private _dragPointerId;
603
+ private _dragStartX;
604
+ private _dragStartY;
605
+ private _dragStarted;
606
+ connectedCallback(): void;
607
+ disconnectedCallback(): void;
363
608
  private _onPointerDown;
364
609
  private _onPointerMove;
365
610
  private _onPointerUp;
366
- private _interceptClick;
367
- private _parseValue;
368
- /**
369
- * Formats the stored value for display, inferring decimal places from the value
370
- * string itself. This preserves typed precision (e.g. "0.1234" stays "0.1234")
371
- * and also respects trailing zeros written by drag storage (e.g. "5.0" stays "5.0").
372
- */
373
- private _formatDisplay;
374
- private _clamp;
375
- private _snap;
376
- private _inferDecimals;
377
- private _formatNumber;
378
- /** Returns a 0..1 fraction for the given value within [min, max]. */
379
- private _normalizedValue;
380
- static styles: CSSResult[];
611
+ private _teardownDragListeners;
612
+ /** Clicks that begin on the close / caret buttons or the toolbar are not drags. */
613
+ private _isDragHandle;
614
+ private _dispatchDragStart;
615
+ private _onTitlebarToggle;
616
+ private _onTitlebarClose;
617
+ protected render(): import("lit").TemplateResult<1>;
618
+ static styles: import("lit").CSSResult[];
381
619
  }
382
620
  declare global {
383
621
  interface HTMLElementTagNameMap {
384
- 'ixfx-editable-number': EditableNumber;
622
+ 'ixfx-dock-panel': DockPanelElement;
385
623
  }
386
624
  }
625
+ interface DockPanelElement {
626
+ addEventListener: (<K extends keyof DockPanelElementEventMap>(type: K, listener: (this: DockPanelElement, event: DockPanelElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
627
+ }
628
+ //#endregion
629
+ //#region src/dock/dock-host.d.ts
630
+ interface DockHostElementEventMap {
631
+ 'dock-change': DockChangeEvent;
632
+ 'dock-panel-added': DockPanelAddedEvent;
633
+ 'dock-panel-removed': DockPanelRemovedEvent;
634
+ 'dock-panel-activated': DockPanelActivatedEvent;
635
+ 'dock-panel-drag-start': DockPanelDragStartEvent;
636
+ /** Panel released outside every host — request to move it to a new window. */
637
+ 'dock-panel-tear-out': DockPanelTearOutEvent;
638
+ /** Drag pointer left every host's bounds during a drag. */
639
+ 'dock-panel-drag-out': DockDragBoundaryEvent;
640
+ /** Drag pointer re-entered a host's bounds after being outside. */
641
+ 'dock-panel-drag-in': DockDragBoundaryEvent;
642
+ }
643
+ declare class DockHostElement extends LitElement {
644
+ /** Initial layout as `DockLayout` JSON. Absent ⇒ all pooled panels go into one root stack. */
645
+ layout: string | null;
646
+ /**
647
+ * Space-separated drop operations this host allows: `tabs`, `horizontal`,
648
+ * `vertical`, and convenience `all`. `""` / `none` ⇒ nothing may be dropped.
649
+ */
650
+ accepts: string;
651
+ /** Finest-grained veto, consulted per candidate zone. */
652
+ canAccept: ((panelId: string, op: DockOperation) => boolean) | undefined;
653
+ private _model;
654
+ private _pool;
655
+ private _dropZone;
656
+ private _dragActive;
657
+ private _junctions;
658
+ /** panelId → toolbar nodes currently moved out into a tab item. */
659
+ private _toolbarsOut;
660
+ private _tabDragPending;
661
+ private _junctionsKey;
662
+ private _junctionsRaf;
663
+ private _hostResizeObserver;
664
+ connectedCallback(): void;
665
+ disconnectedCallback(): void;
666
+ private _onDragStart;
667
+ willUpdate(changed: Map<string, unknown>): void;
668
+ updated(changed: Map<string, unknown>): void;
669
+ private _buildInitialModel;
670
+ /** Ensure every pooled panel element appears in the model (appended to the first stack). */
671
+ private _mergePoolIntoModel;
672
+ private _scanPanels;
673
+ private _findPanelEl;
674
+ private _firstStack;
675
+ private _appendPanelToFirstStack;
676
+ private _onPoolSlotChange;
677
+ private _syncPool;
678
+ /** Serialize the current layout, folding live split weights from the DOM. */
679
+ saveLayout(): DockLayout;
680
+ loadLayout(layout: DockLayout): void;
681
+ addPanel(panel: DockPanelElement | DockPanelInit, target?: {
682
+ stack?: string;
683
+ index?: number;
684
+ op?: DockOperation;
685
+ }): void;
686
+ removePanel(panelId: string): boolean;
687
+ activatePanel(panelId: string): boolean;
688
+ getPanelIds(): string[];
689
+ /**
690
+ * Capture a structured-clone-safe {@link DockPanelSnapshot} of a panel
691
+ * (identity, chrome attributes, and a best-effort `innerHTML`). Returns
692
+ * null when no such panel element is known to this host.
693
+ */
694
+ getPanelSnapshot(panelId: string): DockPanelSnapshot | null;
695
+ /**
696
+ * {@link getPanelSnapshot} + {@link removePanel} in one step: take the
697
+ * snapshot, then drop the panel (and its element) from this host. Call this
698
+ * from a `dock-panel-tear-out` handler once the receiving window has
699
+ * recreated the panel.
700
+ */
701
+ detachPanel(panelId: string): DockPanelSnapshot | null;
702
+ /**
703
+ * Hit-test viewport coordinates against this host and return a plain,
704
+ * serializable {@link DockDropTarget} (no element references) — or null when
705
+ * the point is outside the host or the resulting zone is disallowed by
706
+ * `accepts` / `canAccept`. Pure query: no model mutation, no overlay.
707
+ *
708
+ * `panelId` is passed to `canAccept`; use any stable id for an external
709
+ * panel (defaults to `"__external__"`).
710
+ */
711
+ queryDropTarget(clientX: number, clientY: number, panelId?: string): DockDropTarget | null;
712
+ /**
713
+ * Like {@link queryDropTarget}, but also shows the drop overlay so an
714
+ * external (cross-window) drag gets the same visual feedback as an in-page
715
+ * one. Call on every pointer update from the outer coordinator, then
716
+ * {@link endExternalDrop} when the drag leaves or ends.
717
+ */
718
+ previewExternalDrop(clientX: number, clientY: number, panelId?: string): DockDropTarget | null;
719
+ /** Clear any overlay left by {@link previewExternalDrop}. */
720
+ endExternalDrop(): void;
721
+ /**
722
+ * Recreate a panel from a {@link DockPanelSnapshot} (or a bare
723
+ * {@link DockPanelInit}) and dock it. With `at` viewport coordinates the
724
+ * panel lands where a drop there would put it (respecting `accepts` /
725
+ * `canAccept`); without them, or when the point misses the host, it goes
726
+ * into the first stack. Returns the created element, or null when a panel
727
+ * with that id is already docked here.
728
+ */
729
+ acceptExternalPanel(snapshot: DockPanelSnapshot | DockPanelInit, at?: {
730
+ clientX: number;
731
+ clientY: number;
732
+ }): DockPanelElement | null;
733
+ /**
734
+ * Hit-test a pointer position against this host's leaves and edges. Returns
735
+ * a zone with rects relative to the host, or null when the pointer is
736
+ * outside the host or the candidate zone is disallowed.
737
+ */
738
+ computeDropZone(clientX: number, clientY: number, panelId: string): DockDropZone | null;
739
+ private _zoneAllowed;
740
+ /**
741
+ * Apply a drop. `sourceHost` differs from `this` when the drag crossed
742
+ * hosts; the panel element is adopted into this host first.
743
+ */
744
+ handleDrop(panelId: string, zone: DockDropZone, sourceHost?: DockHostElement): void;
745
+ /**
746
+ * Move `panelId` (already present somewhere in the model) to the position
747
+ * described by `zone`. Shared by in-page drops and external panel adoption.
748
+ */
749
+ private _applyZone;
750
+ /**
751
+ * Move a panel element out of this host into `target`, dropping it from
752
+ * this host's model. Used for cross-host drags.
753
+ */
754
+ releasePanel(panelId: string, target: DockHostElement): void;
755
+ /** Adopt a panel element from another host (the one sanctioned reparent). */
756
+ adoptPanelElement(el: DockPanelElement): void;
757
+ setDragActive(active: boolean): void;
758
+ setDropZone(zone: DockDropZone | null): void;
759
+ private _scheduleJunctions;
760
+ /**
761
+ * Find points where a parent split's gutter line meets a nested split's
762
+ * gutter (T and + crossings). Each junction handle starts both gutter drags
763
+ * at once, like a corner resize in VS Code.
764
+ */
765
+ private _computeJunctions;
766
+ private _onJunctionPointerDown;
767
+ /** Fold live weights from each rendered `ixfx-split-layout` into the model. */
768
+ private _foldLiveWeights;
769
+ private _onSplitWeightsChanged;
770
+ private _onSplitCollapsed;
771
+ private _onSplitClose;
772
+ private _onTabChange;
773
+ private _onStripPointerDown;
774
+ private _onTabDragMove;
775
+ private _onTabDragUp;
776
+ private _teardownTabDragListeners;
777
+ /** After a dock drag from a tab/titlebar, swallow the trailing click so it cannot re-select or toggle. */
778
+ private _suppressNextClick;
779
+ private _splitStack;
780
+ private _removeFromModel;
781
+ /** Normalize, re-render, and announce the structural change. */
782
+ private _commit;
783
+ private _syncSlots;
784
+ /**
785
+ * Per-panel toolbar routing: docked panels render content-only, so the
786
+ * active panel's toolbar nodes live in its generated tab item (shown
787
+ * right-aligned while active). Node moves preserve element state. Panels
788
+ * outside the model keep their toolbar in their own (solo) chrome.
789
+ */
790
+ private _syncToolbars;
791
+ private _returnToolbar;
792
+ private _returnAllToolbars;
793
+ private _emitChange;
794
+ protected render(): import("lit").TemplateResult<1>;
795
+ private _renderNode;
796
+ private _renderSplit;
797
+ private _renderLeaf;
798
+ private _renderTabItem;
799
+ private _stripCaretRect;
800
+ static styles: import("lit").CSSResult[];
801
+ }
802
+ declare global {
803
+ interface HTMLElementTagNameMap {
804
+ 'ixfx-dock-host': DockHostElement;
805
+ }
806
+ }
807
+ interface DockHostElement {
808
+ addEventListener: (<K extends keyof DockHostElementEventMap>(type: K, listener: (this: DockHostElement, event: DockHostElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
809
+ }
810
+ //#endregion
811
+ //#region src/dock/dock-drag.d.ts
812
+ interface Rect$1 {
813
+ readonly x: number;
814
+ readonly y: number;
815
+ readonly w: number;
816
+ readonly h: number;
817
+ }
818
+ interface DockDropZone {
819
+ /** Host whose model would receive the drop. */
820
+ readonly host: DockHostElement;
821
+ readonly operation: DockOperation;
822
+ /** Path of the target stack (`[]` = the host root). */
823
+ readonly targetPath: number[];
824
+ readonly side: `before` | `after`;
825
+ /** Insert position for `tabs` drops (panel index in the target stack). */
826
+ readonly gapIndex?: number;
827
+ /** Highlight rect, relative to the host. */
828
+ readonly rect: Rect$1;
829
+ /** Optional insertion caret for strip gaps, relative to the host. */
830
+ readonly caretRect?: Rect$1;
831
+ }
832
+ /** True when the point lies within the bounding box of any registered host. */
833
+ declare function pointerOverAnyHost(clientX: number, clientY: number): boolean;
834
+ declare function isDragging(): boolean;
835
+ declare function getActiveDragPanelId(): string | null;
836
+ //#endregion
837
+ //#region src/dock/dock-model.d.ts
838
+ /**
839
+ * The dock model is a plain mutable tree owned exclusively by the host
840
+ * element. Mutators below change the tree in place; the host calls
841
+ * `normalize(root)` then `requestUpdate()` after batching mutations.
842
+ */
843
+ declare function isSplit(node: DockNode): node is DockSplitNode;
844
+ declare function isStack(node: DockNode): node is DockStackNode;
845
+ declare function createEmptyStack(): DockStackNode;
846
+ declare function createEmptyLayout(): DockLayout;
847
+ declare function createStack(panels: string[], active?: string): DockStackNode;
848
+ declare function createSplit(direction: DockAxis, children: DockNode[], sizes?: number[]): DockSplitNode;
849
+ /**
850
+ * Runs after every mutation:
851
+ * - stack `active` fixed to a member of `panels` (or `''` when empty)
852
+ * - empty stacks removed from their parent split (and their `sizes` entry)
853
+ * - splits with ≤1 child replaced by that child (spliced into the parent)
854
+ * - a child split whose direction equals its parent's is flattened into it,
855
+ * spreading its sizes across the slot it vacated
856
+ * - `sizes` kept parallel to `children` (padded with the mean weight)
857
+ * - an empty root collapses to a single empty stack
858
+ */
859
+ declare function normalize(root: DockNode): DockNode;
860
+ declare function findNode(root: DockNode, path: number[]): DockNode | null;
861
+ /** Parent split of the node at `path`; null when path is empty or malformed. */
862
+ declare function findParentOf(root: DockNode, path: number[]): DockSplitNode | null;
863
+ /** Path of the stack containing `panelId`, or null. */
864
+ declare function findStackOf(root: DockNode, panelId: string): number[] | null;
865
+ declare function collectPanelIds(root: DockNode): string[];
866
+ /**
867
+ * Paths of every stack leaf, in tree order. `[]` is the root itself when it
868
+ * is a stack.
869
+ */
870
+ declare function collectStackPaths(root: DockNode): number[][];
871
+ declare function addPanelToStack(stack: DockStackNode, panelId: string, index?: number): void;
872
+ declare function removePanelFromStack(stack: DockStackNode, panelId: string): void;
873
+ declare function setActive(stack: DockStackNode, panelId: string): boolean;
874
+ /**
875
+ * Insert `node` beside the child at `targetPath`, into the parent split when
876
+ * its direction matches `direction`, otherwise wrap the target in a new split.
877
+ * `side` selects before/after; the neighbour's weight is split 50/50.
878
+ * Returns the path of the inserted node, or null.
879
+ */
880
+ declare function insertBeside(root: DockNode, targetPath: number[], direction: DockAxis, newNode: DockNode, side: `before` | `after`): number[] | null;
881
+ /**
882
+ * Wrap the whole root in a new split of `direction`, replacing it in place so
883
+ * the caller's reference stays valid. Returns true on success.
884
+ */
885
+ declare function wrapRoot(root: DockNode, direction: DockAxis, newNode: DockNode, side: `before` | `after`): boolean;
886
+ /**
887
+ * Remove the stack at `stackPath` from the tree. Its panels are moved into
888
+ * `fallbackStack` (if given and still attached) so they are not silently
889
+ * lost; otherwise they are dropped from the model (elements return to the
890
+ * pool). Returns the removed stack.
891
+ */
892
+ declare function extractStack(root: DockNode, stackPath: number[], fallbackStack?: DockStackNode): DockStackNode | null;
893
+ declare function serializeLayout(root: DockNode): DockLayout;
894
+ /**
895
+ * Parse layout JSON, validate loosely, and normalize. Returns null when the
896
+ * JSON is malformed or the root is missing/invalid.
897
+ */
898
+ declare function parseLayout(json: string): DockLayout | null;
387
899
  //#endregion
388
900
  //#region src/form/form-group.d.ts
389
901
  declare class FormGroupElement extends LitElement {
@@ -560,6 +1072,7 @@ declare class PanelGroupElement extends LitElement {
560
1072
  orientation: PanelGroupOrientation;
561
1073
  variant: PanelVariant;
562
1074
  toggleInteraction: PanelToggleInteraction;
1075
+ collapsible: boolean;
563
1076
  allowMultiple: boolean;
564
1077
  gap: string;
565
1078
  private _panels;
@@ -761,6 +1274,24 @@ declare global {
761
1274
  }
762
1275
  }
763
1276
  //#endregion
1277
+ //#region src/split-layout/split-model.d.ts
1278
+ declare function buildModel(rootEl: HTMLElement): GroupNode;
1279
+ declare function normalise(group: GroupNode): GroupNode;
1280
+ interface DistributeResult {
1281
+ sizesPx: number[];
1282
+ belowMin: number[];
1283
+ }
1284
+ declare function distribute(sizesPx: number[], gutterIndex: number, deltaPx: number, constraints: Array<{
1285
+ minPx: number;
1286
+ maxPx: number | null;
1287
+ fixedPx: number | null;
1288
+ whenSmall: WhenSmall;
1289
+ }>): DistributeResult;
1290
+ declare function resolveTracks(group: GroupNode, _containerPx: number): string;
1291
+ declare function toSnapshot(group: GroupNode): LayoutSnapshot;
1292
+ declare function applySnapshot(group: GroupNode, snapshot: LayoutSnapshot): GroupNode;
1293
+ declare function walk(group: GroupNode, visitor: (node: LayoutNode, path: number[]) => void): void;
1294
+ //#endregion
764
1295
  //#region src/tabs/tab-panel.d.ts
765
1296
  declare class TabPanelElement extends LitElement {
766
1297
  render(): import("lit").TemplateResult<1>;
@@ -956,12 +1487,14 @@ declare global {
956
1487
  type ToolbarOrientation = `horizontal` | `vertical-left` | `vertical-right`;
957
1488
  type ToolbarLayout = `one-line` | `wrap`;
958
1489
  type ToolbarVerticalWriting = `auto` | `up` | `down` | `none`;
1490
+ type ToolbarAlign = `near` | `far`;
959
1491
  //#endregion
960
1492
  //#region src/toolbar/toolbar.d.ts
961
1493
  declare class ToolbarElement extends LitElement {
962
1494
  orientation: ToolbarOrientation;
963
1495
  layout: ToolbarLayout;
964
1496
  verticalWriting: ToolbarVerticalWriting;
1497
+ toolbarAlign: ToolbarAlign;
965
1498
  showGroupLabels: boolean;
966
1499
  invisibleGroups: boolean;
967
1500
  private _overflowCount;
@@ -992,11 +1525,68 @@ declare global {
992
1525
  }
993
1526
  }
994
1527
  //#endregion
1528
+ //#region src/twosplit-layout/split-layout.d.ts
1529
+ /**
1530
+ * Lays out two elements within a container, with a bar to resize them
1531
+ * proportionally.
1532
+ *
1533
+ * Events
1534
+ * ixfx-split-collapsed: Dispatched when a panel is collapsed/uncollapsed via drag.
1535
+ * detail: { panel: 'A' | 'B', collapsed: boolean }
1536
+ *
1537
+ * Attributes
1538
+ * layout: `vertical`|`horizontal`
1539
+ * sizeA/B: CSS size of section A or B. Can use relative or absolute values
1540
+ * fixedA/B: If _true_ size will be calculated in pixels. By default (_false_) it uses % of whole
1541
+ * collapsible: If _true_, panels can be collapsed by dragging to edge (default: false)
1542
+ * minSizeA/B: Minimum size for panel A or B (e.g., "100px" or "20%"). Default: none
1543
+ * maxSizeA/B: Maximum size for panel A or B (e.g., "200px" or "80%"). Default: none
1544
+ *
1545
+ * CSS variables
1546
+ * --handle-size: 2px; // Width/height of split bar
1547
+ * --handle-colour: var(--surface-5); // Colour of handle
1548
+ * --handle-hover-colour: var(--surface-6); // Colour of handle when hovering
1549
+ * --handle-active-colour: var(--accent); // Colour of handle when being used
1550
+ * --handle-bg: var(--handle-colour); // Background of grab handle rectangle
1551
+ * --handle-grab-colour: var(--surface-muted-text); // Colour of grab handle dots
1552
+ * --handle-grab-dot-size: 3px; // Diameter of grab handle dots
1553
+ * --handle-grab-size: 16px; // Length of grab handle
1554
+ * --handle-grab-thickness: 8px; // Thickness of grab handle
1555
+ */
1556
+ declare class TwoSplitLayoutElement extends LitElement {
1557
+ #private;
1558
+ layout: `vertical` | `horizontal`;
1559
+ sizeA: string;
1560
+ sizeB: string;
1561
+ fixedA: boolean;
1562
+ fixedB: boolean;
1563
+ collapsible: boolean;
1564
+ collapsedA: boolean;
1565
+ collapsedB: boolean;
1566
+ minSizeA: string;
1567
+ maxSizeA: string;
1568
+ minSizeB: string;
1569
+ maxSizeB: string;
1570
+ private _hasCorner;
1571
+ private get showGrabHandle();
1572
+ disconnectedCallback(): void;
1573
+ firstUpdated(): void;
1574
+ updated(changedProperties: Map<string, unknown>): void;
1575
+ getZone(): HTMLElement | undefined;
1576
+ render(): import("lit").TemplateResult<1>;
1577
+ static styles: import("lit").CSSResult[];
1578
+ }
1579
+ declare global {
1580
+ interface HTMLElementTagNameMap {
1581
+ "ixfx-twosplit-layout": TwoSplitLayoutElement;
1582
+ }
1583
+ }
1584
+ //#endregion
995
1585
  //#region src/util/checkbox.d.ts
996
1586
  declare function monitorIndeterminate(targetElOrQuery: string | HTMLElement, watchedElsOrQueries: Array<string | HTMLElement>): () => void;
997
1587
  //#endregion
998
1588
  //#region src/index.d.ts
999
1589
  declare function init(): void;
1000
1590
  //#endregion
1001
- 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, 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, DisplayTextLogic, 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, 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 IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LaneData, LaneType, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListSelectDetail, type ListSelectEvent, type ListSelectionMode, 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, 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, SortCompareFn, SplitButton, SplitButtonMode, SplitButtonSelectDetail, SplitButtonSelectEvent, SplitLayoutElement, 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, TimelineController, TimelineControllerConfig, TimelineDraggingCallbackDetail, TimelineDraggingDetail, TimelineDraggingEvent, TimelineElementEventMap, TimelineEvent, TimelineEventMoveDetail, TimelineEventMoveEvent, TimelineEventResizeDetail, TimelineEventResizeEvent, TimelineSelectionChangeDetail, TimelineSelectionChangeEvent, TimelineTickleChangeDetail, TimelineTickleChangeEvent, TimelineTrack, TimelineTrackReorderDetail, TimelineTrackReorderEvent, TimelineTrackResizeDetail, TimelineTrackResizeEvent, TimelineTrackSelectDetail, TimelineTrackSelectEvent, TimelineTrackTabElement, ToolbarElement, ToolbarGroupElement, TooltipElement, TooltipOrientations, TrackHeightMode, TrackLayout, TransitoryLabelElement, TreeBaseElement, TreeBaseElementEventMap, TreeCheckboxState, TreeComponent, TreeComponentEventMap, TreeConfig, TreeController, TreeControllerOptions, TreeDataModel, TreeDataModelOptions, TreeExclusivity, TreeFilterPredicate, TreeInteractionMode, TreeListAdapterOptions, TreeListElement, TreeSearchHost, TreeSelectionFilter, UserScale, ValueMode, VerticalListAdapterOptions, VerticalListElement, ViewRange, XyAgeStyle, XyDrawStyle, XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent, applyAgeModification, applyHighlights, attachTimelineInteractions, buildHighlightTargets, clearHighlights, collectDataResult, computeColour, createAcCompletionProvider, createElementIncrSearch, createFuzzySearch, createIncrSearch, createPillRenderer, createTreeListAdapter, createVerticalListAdapter, getIcon, hasIcon, iconBus, init, monitorIndeterminate, parseColourScaleAttr, readBaseColour, registerIcon, resolveCssVars, resolveGrid, svgToDataUri, timelineStyles };
1591
+ 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, DockAxis, DockChangeDetail, DockChangeEvent, DockDragBoundaryDetail, DockDragBoundaryEvent, DockDropTarget, type DockDropZone, DockHostElement, DockHostElementEventMap, DockLayout, DockNode, DockOperation, DockPanelActivatedDetail, DockPanelActivatedEvent, DockPanelAddedDetail, DockPanelAddedEvent, DockPanelDragStartDetail, DockPanelDragStartEvent, DockPanelElement, DockPanelElementEventMap, DockPanelInit, DockPanelRemovedDetail, DockPanelRemovedEvent, DockPanelSnapshot, DockPanelTearOutDetail, DockPanelTearOutEvent, 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 IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, ItemsProvider, IxfxHexEditorElement, IxfxIconElement, IxfxRatingElement, IxfxTimelineElement, LabelledRadialInput, LabelledRangeInput, LabelledSliderInput, LaneData, LaneType, LayoutNode, LayoutSnapshot, LedElement, type ListActivateDetail, type ListActivateEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListSelectDetail, type ListSelectEvent, type ListSelectionMode, 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, 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, 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, collectDataResult, collectPanelIds, collectStackPaths, computeColour, createAcCompletionProvider, createElementIncrSearch, createEmptyLayout, createEmptyStack, createFuzzySearch, createIncrSearch, createPillRenderer, createSplit, createStack, createTreeListAdapter, createVerticalListAdapter, distribute, extractStack, findNode, findParentOf, findStackOf, getActiveDragPanelId, getIcon, hasIcon, iconBus, init, insertBeside, isDragging, isSplit, isStack, monitorIndeterminate, normalise, normalize, parseColourScaleAttr, parseLayout, pointerOverAnyHost, readBaseColour, registerIcon, removePanelFromStack, resolveCssVars, resolveGrid, resolveTracks, serializeLayout, setActive, svgToDataUri, timelineStyles, toSnapshot, walk, wrapRoot };
1002
1592
  //# sourceMappingURL=index.d.ts.map