@ixfx/components 0.15.3 → 0.15.5

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 (39) hide show
  1. package/bundle/index.d.ts +473 -17
  2. package/bundle/index.js +432 -225
  3. package/dist/crumbs.d.ts +1 -1
  4. package/dist/{data-grid-Dx3l3dxw.js → data-grid-C1sZX6n9.js} +37 -9
  5. package/dist/{data-grid-DmkId8bu.d.ts → data-grid-D7qzmMMp.d.ts} +13 -6
  6. package/dist/data-grid.d.ts +2 -2
  7. package/dist/data-grid.js +1 -1
  8. package/dist/{detail-list-CmQqeXvp.d.ts → detail-list-CKIKlszv.d.ts} +3 -3
  9. package/dist/detail-list.d.ts +3 -3
  10. package/dist/{flat-list-BmQBB3ZC.d.ts → flat-list-DXMyDiSH.d.ts} +2 -2
  11. package/dist/flat-list.d.ts +1 -1
  12. package/dist/{grid-list-BVsUEvgd.d.ts → grid-list-0e7snW6t.d.ts} +3 -3
  13. package/dist/grid-list.d.ts +2 -2
  14. package/dist/incr-search.d.ts +1 -1
  15. package/dist/{index-DuhzWWTr.d.ts → index-DEVyVIn8.d.ts} +28 -8
  16. package/dist/{index-BvoXLnBf.d.ts → index-KN2MW_xD.d.ts} +1 -1
  17. package/dist/index.d.ts +176 -15
  18. package/dist/index.js +274 -64
  19. package/dist/{list-native-drag-controller-NMspr0E1.d.ts → list-native-drag-controller-O2Nruqpi.d.ts} +1 -1
  20. package/dist/miller.d.ts +2 -2
  21. package/dist/sunburst-tree.d.ts +2 -0
  22. package/dist/sunburst-tree.js +2 -0
  23. package/dist/sunbursttree-list--Z0uyh8O.d.ts +266 -0
  24. package/dist/sunbursttree-list-yXwS-uEI.js +1337 -0
  25. package/dist/{tree-2_TRrLAV.js → tree-D8VxvR9u.js} +44 -5
  26. package/dist/{tree-component-CDsYTBDi.d.ts → tree-component-C6UHO-w9.d.ts} +12 -3
  27. package/dist/tree.d.ts +3 -3
  28. package/dist/tree.js +1 -1
  29. package/dist/{vertical-list-ztrdFvyT.d.ts → vertical-list-D8MksoTp.d.ts} +2 -2
  30. package/dist/vertical-list.d.ts +2 -2
  31. package/docs-user/README.md +1 -0
  32. package/docs-user/data-grid.md +11 -4
  33. package/docs-user/dock.md +62 -1
  34. package/docs-user/index.json +7 -2
  35. package/docs-user/llms.txt +1 -0
  36. package/docs-user/sunburst-tree.md +193 -0
  37. package/docs-user/tree.md +40 -1
  38. package/llms.txt +1 -0
  39. package/package.json +5 -1
package/dist/crumbs.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { A as TreeTickleEvent, O as TreeSelectEvent, a as TreeComponent, j as TreeDataModel, n as TreeActivateEvent, o as TreeComponentEventMap, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-CDsYTBDi.js";
1
+ import { A as TreeTickleEvent, O as TreeSelectEvent, a as TreeComponent, j as TreeDataModel, n as TreeActivateEvent, o as TreeComponentEventMap, x as TreeItemClickEvent, y as TreeExpandEvent } from "./tree-component-C6UHO-w9.js";
2
2
  import { n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
3
3
  import "./menu-item-bF6narIz.js";
4
4
  import "./index-o-CWDt11.js";
@@ -1589,11 +1589,16 @@ let DataGridElement = class DataGridElement extends LitElement {
1589
1589
  ctx.font = font;
1590
1590
  return Math.ceil(ctx.measureText(text).width);
1591
1591
  };
1592
+ const extra = col.fixedExtraWidth ?? 0;
1592
1593
  let maxW = measure(col.label) + headerExtra;
1593
1594
  for (const r of this.rows) {
1595
+ if (col.measure) {
1596
+ maxW = Math.max(maxW, col.measure(r, col) + cellPad);
1597
+ continue;
1598
+ }
1594
1599
  const v = r[col.key];
1595
1600
  if (v === null || v === void 0 || v === ``) continue;
1596
- const w = measure(String(this._formatValue(v, col, r))) + cellPad;
1601
+ const w = measure(String(this._formatValue(v, col, r))) + cellPad + extra;
1597
1602
  if (w > maxW) maxW = w;
1598
1603
  }
1599
1604
  const min = col.minWidth ?? 40;
@@ -1616,14 +1621,15 @@ let DataGridElement = class DataGridElement extends LitElement {
1616
1621
  /**
1617
1622
  * Resize a single column, by key, to fit its contents (header label + every
1618
1623
  * row's formatted value), animating the width change smoothly. Only works
1619
- * for plain columns - one with a custom `renderer` can't be measured
1620
- * reliably from its raw value, so it's left untouched. Returns `false` (and
1621
- * does nothing) if the column doesn't exist, isn't resizable, or has a
1622
- * `renderer`.
1624
+ * for plain columns, or `renderer` columns that supply `measure` or
1625
+ * `fixedExtraWidth` - otherwise a renderer's output can't be measured
1626
+ * reliably from the raw value, so it's left untouched. Returns `false` (and
1627
+ * does nothing) if the column doesn't exist, isn't resizable, or has an
1628
+ * unmeasurable `renderer`.
1623
1629
  */
1624
1630
  autoSizeColumn(key) {
1625
1631
  const col = this.columns.find((c) => c.key === key);
1626
- if (!col || col.resizable === false || col.renderer) return false;
1632
+ if (!col || col.resizable === false || col.renderer && !col.measure && col.fixedExtraWidth === void 0) return false;
1627
1633
  const target = this._measureAutoWidth(col);
1628
1634
  if ((col.width ?? 150) === target) return true;
1629
1635
  this._animatingColKeys = new Set(this._animatingColKeys).add(key);
@@ -1962,6 +1968,30 @@ let DataGridElement = class DataGridElement extends LitElement {
1962
1968
  ${this.search.renderField()}
1963
1969
  </div>
1964
1970
  `;
1971
+ }
1972
+ #renderColumnCheckItem(col) {
1973
+ return html`<ixfx-menu-check-item command="col:${col.key}" label=${col.label} ?checked=${col.visible !== false}></ixfx-menu-check-item>`;
1974
+ }
1975
+ /** Ungrouped columns first, then one submenu per `group` (in first-seen order). */
1976
+ #renderColumnMenuItems() {
1977
+ const groups = /* @__PURE__ */ new Map();
1978
+ const ungrouped = [];
1979
+ for (const col of this.columns) {
1980
+ if (col.group === void 0 || col.group === ``) {
1981
+ ungrouped.push(col);
1982
+ continue;
1983
+ }
1984
+ groups.set(col.group, [...groups.get(col.group) ?? [], col]);
1985
+ }
1986
+ return html`
1987
+ ${repeat(ungrouped, (c) => c.key, (c) => this.#renderColumnCheckItem(c))}
1988
+ ${repeat([...groups], ([name]) => name, ([name, cols]) => html`
1989
+ <ixfx-menu-sub-trigger label=${name}>
1990
+ <ixfx-menu-container slot="submenu">
1991
+ ${repeat(cols, (c) => c.key, (c) => this.#renderColumnCheckItem(c))}
1992
+ </ixfx-menu-container>
1993
+ </ixfx-menu-sub-trigger>
1994
+ `)}`;
1965
1995
  }
1966
1996
  /** Built-in column/group menu, pinned over the header row's end. Only for `columnMenu: auto`. */
1967
1997
  #renderColumnMenu() {
@@ -1993,9 +2023,7 @@ let DataGridElement = class DataGridElement extends LitElement {
1993
2023
  }}>
1994
2024
  <ixfx-menu-container slot="menu">
1995
2025
  <ixfx-menu-header label="Columns"></ixfx-menu-header>
1996
- ${repeat(this.columns, (c) => c.key, (col) => html`
1997
- <ixfx-menu-check-item command="col:${col.key}" label=${col.label} ?checked=${col.visible !== false}></ixfx-menu-check-item>
1998
- `)}
2026
+ ${this.#renderColumnMenuItems()}
1999
2027
  ${this.allowGrouping ? html`
2000
2028
  <ixfx-menu-separator></ixfx-menu-separator>
2001
2029
  <ixfx-menu-header label="Group by"></ixfx-menu-header>
@@ -1,7 +1,7 @@
1
1
  import "./icon-CDGprSdE.js";
2
- import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-CDsYTBDi.js";
2
+ import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-C6UHO-w9.js";
3
3
  import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
4
- import { S as ListSearchController } from "./index-BvoXLnBf.js";
4
+ import { S as ListSearchController } from "./index-KN2MW_xD.js";
5
5
  import "./index-DxyyVqzA.js";
6
6
  import "./pan-text-CoYmt2qd.js";
7
7
  import { LitElement } from "lit";
@@ -52,6 +52,12 @@ type DataGridColumn<R = unknown> = {
52
52
  button?: false | true | {
53
53
  icon?: string;
54
54
  };
55
+ /** 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. */
56
+ group?: string;
57
+ /** Pixels added to the measured text width when auto-sizing (e.g. a thumbnail beside the text). Lets a `renderer` column be auto-sized. */
58
+ fixedExtraWidth?: number;
59
+ /** Custom content-width measure (px) for one row, used when auto-sizing. Lets a `renderer` column be auto-sized. */
60
+ measure?: (row: R, col: DataGridColumn<R>) => number;
55
61
  };
56
62
  type GlobalFormatter = (value: unknown, columnName: string, row: unknown) => unknown;
57
63
  /**
@@ -361,10 +367,11 @@ declare class DataGridElement extends LitElement {
361
367
  /**
362
368
  * Resize a single column, by key, to fit its contents (header label + every
363
369
  * 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`.
370
+ * for plain columns, or `renderer` columns that supply `measure` or
371
+ * `fixedExtraWidth` - otherwise a renderer's output can't be measured
372
+ * reliably from the raw value, so it's left untouched. Returns `false` (and
373
+ * does nothing) if the column doesn't exist, isn't resizable, or has an
374
+ * unmeasurable `renderer`.
368
375
  */
369
376
  autoSizeColumn(key: string): boolean;
370
377
  private _columnResizeAnimationMs;
@@ -1,3 +1,3 @@
1
- import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-CDsYTBDi.js";
2
- import { A as DataGridEditorFactory, B as GlobalFormatter, C as BuiltInFormatterName, D as DataGridDataType, E as DataGridColumnMenu, F as DataGridInteractionMode, I as DataGridRowLook, L as DataGridSelectionMode, M as DataGridGetRowKey, N as DataGridGroupBy, O as DataGridEditability, P as DataGridGroupLabel, R as DataGridSortDirection, S as DataGridViewportChangeEvent, T as DataGridColumn, _ as DataGridSelectDetail, a as DataGridColumnReorderDetail, b as DataGridSortEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridRowActivateEvent, h as DataGridRowActivateDetail, i as DataGridCellEditEvent, j as DataGridEditorType, k as DataGridEditorContext, 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 DataGridSelectEvent, w as BuiltInFormatterOptions, x as DataGridViewportChangeDetail, y as DataGridSortDetail, z as DataGridSortState } from "./data-grid-DmkId8bu.js";
1
+ import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-C6UHO-w9.js";
2
+ import { A as DataGridEditorFactory, B as GlobalFormatter, C as BuiltInFormatterName, D as DataGridDataType, E as DataGridColumnMenu, F as DataGridInteractionMode, I as DataGridRowLook, L as DataGridSelectionMode, M as DataGridGetRowKey, N as DataGridGroupBy, O as DataGridEditability, P as DataGridGroupLabel, R as DataGridSortDirection, S as DataGridViewportChangeEvent, T as DataGridColumn, _ as DataGridSelectDetail, a as DataGridColumnReorderDetail, b as DataGridSortEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridRowActivateEvent, h as DataGridRowActivateDetail, i as DataGridCellEditEvent, j as DataGridEditorType, k as DataGridEditorContext, 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 DataGridSelectEvent, w as BuiltInFormatterOptions, x as DataGridViewportChangeDetail, y as DataGridSortDetail, z as DataGridSortState } from "./data-grid-D7qzmMMp.js";
3
3
  export { type BuiltInFormatterName, type BuiltInFormatterOptions, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, type DataGridColumn, type DataGridColumnMenu, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, type DataGridDataType, type DataGridEditability, type DataGridEditorContext, type DataGridEditorFactory, type DataGridEditorType, DataGridElement, DataGridElementEventMap, type DataGridGetRowKey, type DataGridGroupBy, DataGridGroupChangeDetail, DataGridGroupChangeEvent, type DataGridGroupLabel, type DataGridInteractionMode, DataGridRowActivateDetail, DataGridRowActivateEvent, type DataGridRowLook, DataGridSelectDetail, DataGridSelectEvent, type DataGridSelectionMode, DataGridSortDetail, type DataGridSortDirection, DataGridSortEvent, type DataGridSortState, DataGridViewportChangeDetail, DataGridViewportChangeEvent, type GlobalFormatter, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListNativeDragStartDetail, type ListNativeDragStartEvent };
package/dist/data-grid.js CHANGED
@@ -1,2 +1,2 @@
1
- import { t as DataGridElement } from "./data-grid-Dx3l3dxw.js";
1
+ import { t as DataGridElement } from "./data-grid-C1sZX6n9.js";
2
2
  export { DataGridElement };
@@ -1,11 +1,11 @@
1
1
  import "./icon-CDGprSdE.js";
2
2
  import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
3
- import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-CDsYTBDi.js";
3
+ import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-C6UHO-w9.js";
4
4
  import { n as ListViewportChangeEvent } from "./list-viewport-types-BRZsLcvp.js";
5
- import { S as ListSearchController } from "./index-BvoXLnBf.js";
5
+ import { S as ListSearchController } from "./index-KN2MW_xD.js";
6
6
  import { a as ListGroupEventMap, o as ListGroupInfo, s as ListGroupLabel } from "./grouping-CUKgmkMm.js";
7
7
  import { i as ListInteractionMode, l as ListSelectionMode, r as ListElementEventMap } from "./list-selection-types-PjKdhF-a.js";
8
- import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-ztrdFvyT.js";
8
+ import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-D8MksoTp.js";
9
9
  import "./list-group-header.js";
10
10
  import { LitElement, PropertyValues } from "lit";
11
11
  import { CommandId, CommandRegistry } from "@clinth/ui-commands";
@@ -1,6 +1,6 @@
1
- import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-CDsYTBDi.js";
1
+ import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-C6UHO-w9.js";
2
2
  import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
3
3
  import { i as ListGroupChangeEvent, l as ListGroupToggleDetail, n as ListGroupBy, o as ListGroupInfo, r as ListGroupChangeDetail, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-CUKgmkMm.js";
4
- import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-ztrdFvyT.js";
5
- import { a as DetailSortComparator, i as DetailGroupBy, n as DetailListElementEventMap, o as DetailSortItem, r as DetailFormatter, s as DetailSortMode, t as DetailListElement } from "./detail-list-CmQqeXvp.js";
4
+ import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-D8MksoTp.js";
5
+ import { a as DetailSortComparator, i as DetailGroupBy, n as DetailListElementEventMap, o as DetailSortItem, r as DetailFormatter, s as DetailSortMode, t as DetailListElement } from "./detail-list-CKIKlszv.js";
6
6
  export { type AddItemOptions, type CustomCheckboxOptions, type DetailFormatter, type DetailGroupBy, DetailListElement, DetailListElementEventMap, type DetailSortComparator, type DetailSortItem, type DetailSortMode, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListGroupBy, type ListGroupChangeDetail, type ListGroupChangeEvent, type ListGroupInfo, type ListGroupLabel, type ListGroupToggleDetail, type ListGroupToggleEvent, type ListNativeDragStartDetail, type ListNativeDragStartEvent, type ListViewportChangeDetail, type ListViewportChangeEvent };
@@ -1,9 +1,9 @@
1
1
  import "./icon-CDGprSdE.js";
2
- import { j as TreeDataModel } from "./tree-component-CDsYTBDi.js";
2
+ import { j as TreeDataModel } from "./tree-component-C6UHO-w9.js";
3
3
  import { o as TreeNode, r as TreeFilterPredicate, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
4
4
  import "./crumbs.js";
5
5
  import { i as ListInteractionMode, l as ListSelectionMode } from "./list-selection-types-PjKdhF-a.js";
6
- import { r as VerticalListElement } from "./vertical-list-ztrdFvyT.js";
6
+ import { r as VerticalListElement } from "./vertical-list-D8MksoTp.js";
7
7
  import { LitElement, PropertyValues } from "lit";
8
8
  //#region src/flat-list/types.d.ts
9
9
  /** How branches and leaves are ordered within one level. */
@@ -1,2 +1,2 @@
1
- import { _ as FlatListSelectEvent, a as FlatListContextMenuDetail, c as FlatListDropEvent, d as FlatListEditCommitDetail, f as FlatListEditCommitEvent, g as FlatListSelectDetail, h as FlatListNavigateEvent, i as FlatListBranchOrder, l as FlatListEditCancelDetail, m as FlatListNavigateDetail, n as FlatListActivateDetail, o as FlatListContextMenuEvent, p as FlatListElementEventMap, r as FlatListActivateEvent, s as FlatListDropDetail, t as FlatListElement, u as FlatListEditCancelEvent } from "./flat-list-BmQBB3ZC.js";
1
+ import { _ as FlatListSelectEvent, a as FlatListContextMenuDetail, c as FlatListDropEvent, d as FlatListEditCommitDetail, f as FlatListEditCommitEvent, g as FlatListSelectDetail, h as FlatListNavigateEvent, i as FlatListBranchOrder, l as FlatListEditCancelDetail, m as FlatListNavigateDetail, n as FlatListActivateDetail, o as FlatListContextMenuEvent, p as FlatListElementEventMap, r as FlatListActivateEvent, s as FlatListDropDetail, t as FlatListElement, u as FlatListEditCancelEvent } from "./flat-list-DXMyDiSH.js";
2
2
  export { type FlatListActivateDetail, type FlatListActivateEvent, type FlatListBranchOrder, type FlatListContextMenuDetail, type FlatListContextMenuEvent, type FlatListDropDetail, type FlatListDropEvent, type FlatListEditCancelDetail, type FlatListEditCancelEvent, type FlatListEditCommitDetail, type FlatListEditCommitEvent, FlatListElement, type FlatListElementEventMap, type FlatListNavigateDetail, type FlatListNavigateEvent, type FlatListSelectDetail, type FlatListSelectEvent };
@@ -1,10 +1,10 @@
1
- import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-CDsYTBDi.js";
2
- import { S as ListSearchController } from "./index-BvoXLnBf.js";
1
+ import { B as ListNativeDragStartEvent, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver } from "./tree-component-C6UHO-w9.js";
2
+ import { S as ListSearchController } from "./index-KN2MW_xD.js";
3
3
  import "./pan-text-CoYmt2qd.js";
4
4
  import { i as ListGroupChangeEvent, n as ListGroupBy, o as ListGroupInfo, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-CUKgmkMm.js";
5
5
  import { i as ListInteractionMode, l as ListSelectionMode } from "./list-selection-types-PjKdhF-a.js";
6
6
  import "./list-group-header.js";
7
- import "./list-native-drag-controller-NMspr0E1.js";
7
+ import "./list-native-drag-controller-O2Nruqpi.js";
8
8
  import { i as TickledItem, n as TickledController } from "./tickled-controller-DodxD3eQ.js";
9
9
  import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost, html } from "lit";
10
10
  import { CommandRegistry } from "@clinth/ui-commands";
@@ -1,5 +1,5 @@
1
- import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-CDsYTBDi.js";
1
+ import { B as ListNativeDragStartEvent, F as ListDragPreviewContext, I as ListDragPreviewRenderer, N as ListDragEntry, P as ListDragPreview, R as ListDragSource, z as ListNativeDragStartDetail } from "./tree-component-C6UHO-w9.js";
2
2
  import { i as ListGroupChangeEvent, l as ListGroupToggleDetail, n as ListGroupBy, o as ListGroupInfo, r as ListGroupChangeDetail, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-CUKgmkMm.js";
3
3
  import { i as ListInteractionMode, l as ListSelectionMode } from "./list-selection-types-PjKdhF-a.js";
4
- import { _ as GridListTickleDetail, a as GridListCaptionBackdrop, b as GridListViewportChangeEvent, c as GridListDataAdapter, d as GridListItemClickDetail, f as GridListItemClickEvent, g as GridListSelectEvent, h as GridListSelectDetail, i as GridListCaptionAlign, l as GridListElementEventMap, m as GridListOrientation, n as GridListActivateDetail, o as GridListCaptionPosition, p as GridListItemEventDetail, r as GridListActivateEvent, s as GridListCaptionStyle, t as GridListElement, u as GridListFullElementEventMap, v as GridListTickleEvent, y as GridListViewportChangeDetail } from "./grid-list-BVsUEvgd.js";
4
+ import { _ as GridListTickleDetail, a as GridListCaptionBackdrop, b as GridListViewportChangeEvent, c as GridListDataAdapter, d as GridListItemClickDetail, f as GridListItemClickEvent, g as GridListSelectEvent, h as GridListSelectDetail, i as GridListCaptionAlign, l as GridListElementEventMap, m as GridListOrientation, n as GridListActivateDetail, o as GridListCaptionPosition, p as GridListItemEventDetail, r as GridListActivateEvent, s as GridListCaptionStyle, t as GridListElement, u as GridListFullElementEventMap, v as GridListTickleEvent, y as GridListViewportChangeDetail } from "./grid-list-0e7snW6t.js";
5
5
  export { 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, type ListDragEntry, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListGroupBy, type ListGroupChangeDetail, type ListGroupChangeEvent, type ListGroupInfo, type ListGroupLabel, type ListGroupToggleDetail, type ListGroupToggleEvent, type ListInteractionMode, type ListNativeDragStartDetail, type ListNativeDragStartEvent, type ListSelectionMode };
@@ -1,2 +1,2 @@
1
- import { A as FuzzySearch, C as ListSearchControllerOptions, D as IncrSearchTreeOptions, E as IncrSearchTreeController, F as IncrSearchChangeCallback, I as IncrSearchOptions, L as IncrSearchResult, M as HighlightOptions, N as HighlightTarget, O as createAcCompletionProvider, P as IncrSearch, R as IncrSearchState, S as ListSearchController, T as ListSearchMode, _ as DataListSearchAdapterOptions, a as RegisterListSearchCommandsOptions, b as LIST_SEARCH_MODES, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as FuzzySearchOptions, k as ElementIncrSearchOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as DataListSearchItem, w as ListSearchHost, x as ListSearchAdapter, y as createDataListSearchAdapter } from "./index-BvoXLnBf.js";
1
+ import { A as FuzzySearch, C as ListSearchControllerOptions, D as IncrSearchTreeOptions, E as IncrSearchTreeController, F as IncrSearchChangeCallback, I as IncrSearchOptions, L as IncrSearchResult, M as HighlightOptions, N as HighlightTarget, O as createAcCompletionProvider, P as IncrSearch, R as IncrSearchState, S as ListSearchController, T as ListSearchMode, _ as DataListSearchAdapterOptions, a as RegisterListSearchCommandsOptions, b as LIST_SEARCH_MODES, c as applyHighlights, d as createFuzzySearch, f as ElementIncrSearch, g as createElementListSearchAdapter, h as ElementListSearchHost, i as LIST_SEARCH_COMMAND_IDS, j as FuzzySearchOptions, k as ElementIncrSearchOptions, l as buildHighlightTargets, m as ElementListSearchAdapterOptions, n as createTreeListSearchAdapter, o as registerListSearchCommands, p as createElementIncrSearch, r as listSearchStyles, s as createIncrSearch, t as TreeListSearchAdapterOptions, u as clearHighlights, v as DataListSearchItem, w as ListSearchHost, x as ListSearchAdapter, y as createDataListSearchAdapter } from "./index-KN2MW_xD.js";
2
2
  export { type DataListSearchAdapterOptions, type DataListSearchItem, type ElementIncrSearch, type ElementIncrSearchOptions, type ElementListSearchAdapterOptions, type ElementListSearchHost, type FuzzySearch, type FuzzySearchOptions, type HighlightOptions, type HighlightTarget, type IncrSearch, type IncrSearchChangeCallback, IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, type IncrSearchTreeOptions as IncrSearchMillerOptions, type IncrSearchTreeOptions, type IncrSearchOptions, type IncrSearchResult, type IncrSearchState, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, type ListSearchAdapter, ListSearchController, type ListSearchControllerOptions, type ListSearchHost, type ListSearchMode, type RegisterListSearchCommandsOptions, type TreeListSearchAdapterOptions, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createFuzzySearch, createIncrSearch, createTreeListSearchAdapter, listSearchStyles, registerListSearchCommands };
@@ -1,7 +1,7 @@
1
- import { A as TreeTickleEvent, C as TreeItemDblClickEvent, E as TreeSearchHost, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver, O as TreeSelectEvent, _ as TreeDropTarget, a as TreeComponent, c as TreeDragContext, d as TreeDragStartEvent, h as TreeDropEvent, i as TreeCollapseEvent, j as TreeDataModel, l as TreeDragEndEvent, m as TreeDropDetail, n as TreeActivateEvent, o as TreeComponentEventMap, p as TreeDropContext, s as TreeDndMode, u as TreeDragOverEvent, w as TreeNavigateOptions, x as TreeItemClickEvent, y as TreeExpandEvent, z as ListNativeDragStartDetail } from "./tree-component-CDsYTBDi.js";
1
+ import { A as TreeTickleEvent, C as TreeItemDblClickEvent, E as TreeSearchHost, I as ListDragPreviewRenderer, L as ListDragPreviewSourceResolver, O as TreeSelectEvent, _ as TreeDropTarget, a as TreeComponent, c as TreeDragContext, d as TreeDragStartEvent, h as TreeDropEvent, i as TreeCollapseEvent, j as TreeDataModel, l as TreeDragEndEvent, m as TreeDropDetail, n as TreeActivateEvent, o as TreeComponentEventMap, p as TreeDropContext, s as TreeDndMode, u as TreeDragOverEvent, w as TreeNavigateOptions, x as TreeItemClickEvent, y as TreeExpandEvent, z as ListNativeDragStartDetail } from "./tree-component-C6UHO-w9.js";
2
2
  import { a as TreeItem, i as TreeInteractionMode, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
3
- import { S as ListSearchController } from "./index-BvoXLnBf.js";
4
- import { t as ListNativeDragController } from "./list-native-drag-controller-NMspr0E1.js";
3
+ import { S as ListSearchController } from "./index-KN2MW_xD.js";
4
+ import { t as ListNativeDragController } from "./list-native-drag-controller-O2Nruqpi.js";
5
5
  import { n as TickledController } from "./tickled-controller-DodxD3eQ.js";
6
6
  import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost, TemplateResult, nothing } from "lit";
7
7
  import { CommandRegistry } from "@clinth/ui-commands";
@@ -18,6 +18,13 @@ type TreeConfig = {
18
18
  * rows; `on` / `off` force it.
19
19
  */
20
20
  type TreeVirtualize = `auto` | `on` | `off`;
21
+ /**
22
+ * Controls whether row enter/leave animations run.
23
+ * - `'auto'` (default): Animate normally, respecting `prefers-reduced-motion` and the `MAX_ANIMATED_ROWS` threshold
24
+ * - `'always'`: Always animate, even above `MAX_ANIMATED_ROWS`
25
+ * - `'never'`: Never animate row enter/leave
26
+ */
27
+ type TreeAnimation = `auto` | `always` | `never`;
21
28
  declare class TreeBaseElement extends LitElement implements TreeComponent, TreeSearchHost {
22
29
  #private;
23
30
  root: TreeNode | undefined;
@@ -67,6 +74,13 @@ declare class TreeBaseElement extends LitElement implements TreeComponent, TreeS
67
74
  virtualize: TreeVirtualize;
68
75
  /** Visible-row count above which `virtualize="auto"` windows the list. */
69
76
  virtualizeThreshold: number;
77
+ /**
78
+ * Controls whether row enter/leave animations run.
79
+ * - `'auto'` (default): Animate normally, respecting `prefers-reduced-motion` and `MAX_ANIMATED_ROWS`
80
+ * - `'always'`: Always animate, even when many rows change at once
81
+ * - `'never'`: Skip all row enter/leave animations
82
+ */
83
+ animation: TreeAnimation;
70
84
  dragPreviewRenderer: ListDragPreviewRenderer<TreeNode> | undefined;
71
85
  dragPreviewSource: ListDragPreviewSourceResolver<TreeNode> | undefined;
72
86
  canDrag: ((ctx: TreeDragContext) => boolean) | undefined;
@@ -132,19 +146,25 @@ declare class TreeBaseElement extends LitElement implements TreeComponent, TreeS
132
146
  * have loaded to expand further. Bulk expansion ignores `exclusivity`. Fires
133
147
  * one `expand` event per branch that actually opens — none for branches that
134
148
  * were already expanded, including ones opened by filter auto-expansion.
149
+ *
150
+ * @param maxDepth - Maximum depth to expand to
151
+ * @param animate - Whether to animate row enter/leave. When omitted, uses the `animation` property value.
135
152
  */
136
- expandAll(maxDepth?: number): void;
153
+ expandAll(maxDepth?: number, animate?: boolean): void;
137
154
  /**
138
155
  * Collapse expanded branches in a single update. With `maxDepth`, only
139
156
  * branches at depth >= `maxDepth` are collapsed, leaving the tree open down
140
157
  * to depth `maxDepth - 1` (`collapseAll(0)` is a full collapse). Fires one
141
158
  * `collapse` event per branch that actually closes.
159
+ *
160
+ * @param maxDepth - Maximum depth to collapse from
161
+ * @param animate - Whether to animate row enter/leave. When omitted, uses the `animation` property value.
142
162
  */
143
- collapseAll(maxDepth?: number): void;
163
+ collapseAll(maxDepth?: number, animate?: boolean): void;
144
164
  navigateTo(keys: readonly string[], options?: TreeNavigateOptions): boolean;
145
- navigateToNode(predicate: (node: TreeNode) => boolean): boolean;
165
+ navigateToNode(predicate: (node: TreeNode) => boolean, animate?: boolean): boolean;
146
166
  /** Expand ancestors + move the cursor to `key`, without touching the selection (search "navigate" mode). */
147
- revealKey(key: string): boolean;
167
+ revealKey(key: string, animate?: boolean): boolean;
148
168
  /** Replace the selection with `nodes` (subject to `selectionFilter`) — search "select" mode. */
149
169
  selectMany(nodes: Iterable<TreeNode>): void;
150
170
  getNodes(): ReadonlyArray<{
@@ -358,4 +378,4 @@ declare class TreeDropController implements ReactiveController {
358
378
  hostDisconnected(): void;
359
379
  }
360
380
  //#endregion
361
- export { TreeDropVisibleRow as a, TreeListElement as c, TreeBaseElementEventMap as d, TreeVirtualize as f, TreeDropRowInfo as i, TreeCheckboxState as l, TreeDropControllerConfig as n, TreeController as o, TreeConfig as p, TreeDropResolvedDrag as r, TreeControllerOptions as s, TreeDropController as t, TreeBaseElement as u };
381
+ export { TreeDropVisibleRow as a, TreeListElement as c, TreeBaseElement as d, TreeBaseElementEventMap as f, TreeDropRowInfo as i, TreeCheckboxState as l, TreeConfig as m, TreeDropControllerConfig as n, TreeController as o, TreeVirtualize as p, TreeDropResolvedDrag as r, TreeControllerOptions as s, TreeDropController as t, TreeAnimation as u };
@@ -1,5 +1,5 @@
1
1
  import "./icon-CDGprSdE.js";
2
- import { E as TreeSearchHost } from "./tree-component-CDsYTBDi.js";
2
+ import { E as TreeSearchHost } from "./tree-component-C6UHO-w9.js";
3
3
  import { o as TreeNode } from "./types-Jky6oNAp.js";
4
4
  import { ReactiveController, ReactiveControllerHost, TemplateResult, nothing } from "lit";
5
5
  import { FzfOptions } from "fzf";