@ixfx/components 0.15.4 → 0.16.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 (101) hide show
  1. package/bundle/index.d.ts +1223 -48
  2. package/bundle/index.js +875 -700
  3. package/dist/ac-text.d.ts +1 -1
  4. package/dist/{ac-token-Cq7lsYf-.d.ts → ac-token-qEs3FsQv.d.ts} +1 -1
  5. package/dist/ac-token.d.ts +1 -1
  6. package/dist/colour-picker.d.ts +1 -1
  7. package/dist/crumb-navigation-BbqfmkYs.d.ts +147 -0
  8. package/dist/crumb-navigation-YnFVFqrx.js +1290 -0
  9. package/dist/crumbs.d.ts +2 -115
  10. package/dist/crumbs.js +1 -1179
  11. package/dist/{data-grid-CbiubdG2.d.ts → data-grid-CIG2DVip.d.ts} +58 -9
  12. package/dist/{data-grid-Dx3l3dxw.js → data-grid-rMkLX2qo.js} +630 -215
  13. package/dist/data-grid.d.ts +3 -3
  14. package/dist/data-grid.js +1 -1
  15. package/dist/{detail-list-ClkMV0SN.d.ts → detail-list-6iMTNP4N.d.ts} +35 -5
  16. package/dist/{detail-list-q8bs67BM.js → detail-list-C4pDSoI8.js} +218 -7
  17. package/dist/detail-list.d.ts +4 -4
  18. package/dist/detail-list.js +1 -1
  19. package/dist/{flat-list-0xTZdXzh.d.ts → flat-list-JPgQSmLW.d.ts} +28 -5
  20. package/dist/flat-list.d.ts +2 -2
  21. package/dist/flat-list.js +123 -4
  22. package/dist/{grid-list-y6dWJYu3.js → grid-list-CdEkScn-.js} +276 -75
  23. package/dist/{grid-list-BnWJUIBC.d.ts → grid-list-D6n7WH8l.d.ts} +128 -22
  24. package/dist/grid-list.d.ts +3 -3
  25. package/dist/grid-list.js +1 -1
  26. package/dist/{grouped-item-lister-Bhyo-dkH.d.ts → grouped-item-lister-DETte0Dh.d.ts} +1 -1
  27. package/dist/grouped-item-lister.d.ts +1 -1
  28. package/dist/{icon-DR_3rSyZ.d.ts → icon-CDGprSdE.d.ts} +1 -1
  29. package/dist/icons.d.ts +2 -2
  30. package/dist/incr-search.d.ts +1 -1
  31. package/dist/index-9ttcdwlL.d.ts +71 -0
  32. package/dist/{index-BAuqR9El.d.ts → index-Bx0BXPxI.d.ts} +52 -6
  33. package/dist/index-CYRc6Dah.d.ts +475 -0
  34. package/dist/{index-garxxqgV.d.ts → index-CYndvTWH.d.ts} +1 -1
  35. package/dist/{index-BUB5SICW.d.ts → index-CoqtMSd9.d.ts} +1 -1
  36. package/dist/{index-Bz3loIAf.d.ts → index-DN2BWctP.d.ts} +1 -1
  37. package/dist/{index-BPTuCRGb.d.ts → index-Dr80Zdl6.d.ts} +2 -2
  38. package/dist/{index-cnaRPQPp.d.ts → index-DxyyVqzA.d.ts} +2 -2
  39. package/dist/{index-CJ5fshD3.d.ts → index-UvnoZUAo.d.ts} +1 -1
  40. package/dist/index.d.ts +380 -33
  41. package/dist/index.js +2247 -866
  42. package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-DiTme1JO.d.ts} +1 -1
  43. package/dist/labelled-radial-input.d.ts +2 -2
  44. package/dist/labelled-range-input.d.ts +1 -1
  45. package/dist/labelled-slider-input.d.ts +1 -1
  46. package/dist/list-group-header.d.ts +1 -1
  47. package/dist/{list-native-drag-controller-O2Nruqpi.d.ts → list-native-drag-controller-D_UrXipS.d.ts} +1 -1
  48. package/dist/{list-selection-controller-BeE70lbB.js → list-selection-controller-5L0Nj9tR.js} +87 -2
  49. package/dist/{menu-item-B0zqw2xp.d.ts → menu-item-bF6narIz.d.ts} +1 -1
  50. package/dist/menu.d.ts +2 -2
  51. package/dist/miller-BFRfn0ve.js +2237 -0
  52. package/dist/miller.d.ts +4 -437
  53. package/dist/miller.js +1 -1815
  54. package/dist/panel.d.ts +1 -1
  55. package/dist/pending-BGidHppL.js +91 -0
  56. package/dist/scroll-hover-guard-Cjw6179Q.js +35 -0
  57. package/dist/{split-layout-C5SYbDrq.d.ts → split-layout-CophkNeU.d.ts} +42 -4
  58. package/dist/{split-layout-Deoxy47d.js → split-layout-DTY4PJRp.js} +251 -19
  59. package/dist/split-layout.d.ts +1 -1
  60. package/dist/split-layout.js +1 -1
  61. package/dist/sunburst-tree.d.ts +2 -0
  62. package/dist/sunburst-tree.js +2 -0
  63. package/dist/sunbursttree-list-B_VxOHlo.js +1556 -0
  64. package/dist/sunbursttree-list-D6j5BxVQ.d.ts +303 -0
  65. package/dist/{tab-list-wC0xNz1b.d.ts → tab-list-Df371rqw.d.ts} +1 -1
  66. package/dist/tabs.d.ts +1 -1
  67. package/dist/{titlebar-B5zSTZnF.d.ts → titlebar-Tqu-VvMU.d.ts} +1 -1
  68. package/dist/titlebar.d.ts +1 -1
  69. package/dist/tree-CftHwtEb.js +146 -0
  70. package/dist/{tree-D8VxvR9u.js → tree-Crdpl4nc.js} +275 -47
  71. package/dist/{tree-component-C6UHO-w9.d.ts → tree-component-DgfkxmVY.d.ts} +19 -8
  72. package/dist/tree.d.ts +3 -3
  73. package/dist/tree.js +1 -1
  74. package/dist/types-LU1u0CB8.d.ts +87 -0
  75. package/dist/vertical-list-1V1Vg2O5.js +1993 -0
  76. package/dist/{vertical-list-B8FoU-pU.d.ts → vertical-list-BPDmZx6T.d.ts} +31 -3
  77. package/dist/vertical-list.d.ts +3 -3
  78. package/dist/vertical-list.js +1 -1789
  79. package/dist/view-state-controller-BdyXWUUM.js +305 -0
  80. package/docs-user/README.md +3 -0
  81. package/docs-user/crumbs.md +27 -0
  82. package/docs-user/data-grid.md +77 -5
  83. package/docs-user/detail-list.md +54 -0
  84. package/docs-user/dock.md +54 -12
  85. package/docs-user/flat-list.md +27 -0
  86. package/docs-user/grid-list.md +64 -11
  87. package/docs-user/hyperbolic-tree.md +31 -4
  88. package/docs-user/icicle-tree.md +36 -0
  89. package/docs-user/index.json +17 -2
  90. package/docs-user/llms.txt +3 -0
  91. package/docs-user/miller.md +52 -21
  92. package/docs-user/multicol-list.md +50 -8
  93. package/docs-user/split-layout.md +45 -17
  94. package/docs-user/sunburst-tree.md +223 -0
  95. package/docs-user/tree.md +46 -7
  96. package/docs-user/treemap.md +32 -0
  97. package/docs-user/twosplit-layout.md +22 -0
  98. package/docs-user/user-catalog.md +1 -1
  99. package/docs-user/vertical-list.md +55 -7
  100. package/llms.txt +3 -0
  101. package/package.json +5 -1
@@ -1,8 +1,10 @@
1
- import "./icon-DR_3rSyZ.js";
2
- import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-C6UHO-w9.js";
1
+ import "./icon-CDGprSdE.js";
2
+ import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
3
+ import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
4
+ import "./index-9ttcdwlL.js";
3
5
  import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
4
- import { S as ListSearchController } from "./index-BPTuCRGb.js";
5
- import "./index-cnaRPQPp.js";
6
+ import { S as ListSearchController } from "./index-Dr80Zdl6.js";
7
+ import "./index-DxyyVqzA.js";
6
8
  import "./pan-text-CoYmt2qd.js";
7
9
  import { LitElement } from "lit";
8
10
  import { CommandId, CommandRegistry } from "@clinth/ui-commands";
@@ -52,6 +54,12 @@ type DataGridColumn<R = unknown> = {
52
54
  button?: false | true | {
53
55
  icon?: string;
54
56
  };
57
+ /** Heading for this column in the built-in column menu; columns sharing a group are listed in one submenu. Ungrouped columns stay at the top level. */
58
+ group?: string;
59
+ /** Pixels added to the measured text width when auto-sizing (e.g. a thumbnail beside the text). Lets a `renderer` column be auto-sized. */
60
+ fixedExtraWidth?: number;
61
+ /** Custom content-width measure (px) for one row, used when auto-sizing. Lets a `renderer` column be auto-sized. */
62
+ measure?: (row: R, col: DataGridColumn<R>) => number;
55
63
  };
56
64
  type GlobalFormatter = (value: unknown, columnName: string, row: unknown) => unknown;
57
65
  /**
@@ -93,6 +101,31 @@ type DataGridGroupLabel = (groupKey: string, rows: readonly unknown[]) => string
93
101
  /** Whether the data-grid renders its built-in header column/group menu. */
94
102
  type DataGridColumnMenu = `auto` | `none`;
95
103
  //#endregion
104
+ //#region src/data-grid/data-grid-view-state.d.ts
105
+ /**
106
+ * Pure view-state helpers for `ixfx-data-grid`. The grid runs these whenever
107
+ * its rows or columns change, so state keyed to rows / columns that left the
108
+ * data goes pending and comes back when those keys reappear.
109
+ */
110
+ /** Saved layout for one column, keyed by column key in {@link DataGridViewState.columns}. */
111
+ type DataGridColumnViewState = {
112
+ readonly width?: number;
113
+ readonly visible?: boolean;
114
+ /** Rank among the saved columns (lower is further left). */
115
+ readonly order?: number;
116
+ };
117
+ /**
118
+ * `ixfx-data-grid` view state. `expanded` is keyed by group key; groups
119
+ * default to open, so a collapsed group is `false`.
120
+ */
121
+ type DataGridViewState = ViewStateBase & {
122
+ readonly columns?: Readonly<Record<string, DataGridColumnViewState>>;
123
+ /** Sorted column + direction; `null` means unsorted. */
124
+ readonly sort?: DataGridSortState;
125
+ /** Group-by column key (`null` = ungrouped). Only recorded when `allowGrouping` is on. */
126
+ readonly groupBy?: string | null;
127
+ };
128
+ //#endregion
96
129
  //#region src/data-grid/data-grid.d.ts
97
130
  type DataGridSortDetail = {
98
131
  readonly sort: DataGridSortState;
@@ -361,14 +394,30 @@ declare class DataGridElement extends LitElement {
361
394
  /**
362
395
  * Resize a single column, by key, to fit its contents (header label + every
363
396
  * row's formatted value), animating the width change smoothly. Only works
364
- * for plain columns - one with a custom `renderer` can't be measured
365
- * reliably from its raw value, so it's left untouched. Returns `false` (and
366
- * does nothing) if the column doesn't exist, isn't resizable, or has a
367
- * `renderer`.
397
+ * for plain columns, or `renderer` columns that supply `measure` or
398
+ * `fixedExtraWidth` - otherwise a renderer's output can't be measured
399
+ * reliably from the raw value, so it's left untouched. Returns `false` (and
400
+ * does nothing) if the column doesn't exist, isn't resizable, or has an
401
+ * unmeasurable `renderer`.
368
402
  */
369
403
  autoSizeColumn(key: string): boolean;
370
404
  private _columnResizeAnimationMs;
371
405
  private _onResizePointerDown;
406
+ /**
407
+ * Snapshot selection, cursor, scroll, collapsed groups, column layout, sort
408
+ * and (with `allowGrouping`) grouping as plain JSON, keyed by row / group /
409
+ * column key. Includes pending state for keys not currently present. Rows
410
+ * keyed by index (no `key` / `id` under the default `getRowKey`) are never
411
+ * recorded.
412
+ */
413
+ getViewState(options?: GetViewStateOptions<DataGridViewState>): DataGridViewState;
414
+ /**
415
+ * Apply saved view state. Fields present replace the current ones; row and
416
+ * column keys that aren't defined yet are applied as they appear (including
417
+ * rows streamed in with `appendRows()`).
418
+ */
419
+ setViewState(state: Partial<DataGridViewState>): void;
420
+ clearPendingViewState(): void;
372
421
  getVisibleRange(): {
373
422
  startRow: number;
374
423
  endRow: number;
@@ -391,4 +440,4 @@ interface DataGridElement {
391
440
  removeEventListener: (<K extends keyof DataGridElementEventMap>(type: K, listener: (this: DataGridElement, event: DataGridElementEventMap[K]) => void, options?: boolean | EventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => void);
392
441
  }
393
442
  //#endregion
394
- export { DataGridEditorFactory as A, GlobalFormatter as B, BuiltInFormatterName as C, DataGridDataType as D, DataGridColumnMenu as E, DataGridInteractionMode as F, DataGridRowLook as I, DataGridSelectionMode as L, DataGridGetRowKey as M, DataGridGroupBy as N, DataGridEditability as O, DataGridGroupLabel as P, DataGridSortDirection as R, DataGridViewportChangeEvent as S, DataGridColumn as T, DataGridSelectDetail as _, DataGridColumnReorderDetail as a, DataGridSortEvent as b, DataGridColumnResizeEvent as c, DataGridElement as d, DataGridElementEventMap as f, DataGridRowActivateEvent as g, DataGridRowActivateDetail as h, DataGridCellEditEvent as i, DataGridEditorType as j, DataGridEditorContext as k, DataGridColumnVisibilityDetail as l, DataGridGroupChangeEvent as m, DataGridCellClickEvent as n, DataGridColumnReorderEvent as o, DataGridGroupChangeDetail as p, DataGridCellEditDetail as r, DataGridColumnResizeDetail as s, DataGridCellClickDetail as t, DataGridColumnVisibilityEvent as u, DataGridSelectEvent as v, BuiltInFormatterOptions as w, DataGridViewportChangeDetail as x, DataGridSortDetail as y, DataGridSortState as z };
443
+ export { DataGridEditability as A, DataGridSortDirection as B, DataGridColumnViewState as C, DataGridColumn as D, BuiltInFormatterOptions as E, DataGridGroupBy as F, GlobalFormatter as H, DataGridGroupLabel as I, DataGridInteractionMode as L, DataGridEditorFactory as M, DataGridEditorType as N, DataGridColumnMenu as O, DataGridGetRowKey as P, DataGridRowLook as R, DataGridViewportChangeEvent as S, BuiltInFormatterName as T, DataGridSortState as V, DataGridSelectDetail as _, DataGridColumnReorderDetail as a, DataGridSortEvent as b, DataGridColumnResizeEvent as c, DataGridElement as d, DataGridElementEventMap as f, DataGridRowActivateEvent as g, DataGridRowActivateDetail as h, DataGridCellEditEvent as i, DataGridEditorContext as j, DataGridDataType as k, DataGridColumnVisibilityDetail as l, DataGridGroupChangeEvent as m, DataGridCellClickEvent as n, DataGridColumnReorderEvent as o, DataGridGroupChangeDetail as p, DataGridCellEditDetail as r, DataGridColumnResizeDetail as s, DataGridCellClickDetail as t, DataGridColumnVisibilityEvent as u, DataGridSelectEvent as v, DataGridViewState as w, DataGridViewportChangeDetail as x, DataGridSortDetail as y, DataGridSelectionMode as z };