@ixfx/components 0.16.2 → 0.16.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/bundle/index.d.ts +61 -7
  2. package/bundle/index.js +151 -143
  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/ac-token.js +1 -1
  7. package/dist/{button-D1sPDUCM.d.ts → button-N92DKoWb.d.ts} +1 -1
  8. package/dist/button.d.ts +1 -1
  9. package/dist/colour-picker.d.ts +1 -1
  10. package/dist/{crumb-navigation-nnr881n-.d.ts → crumb-navigation-BbqfmkYs.d.ts} +1 -1
  11. package/dist/crumbs.d.ts +1 -1
  12. package/dist/{data-grid-CaPLWt5E.js → data-grid-8TsiF2ES.js} +7 -6
  13. package/dist/{data-grid-BAEpfTkb.d.ts → data-grid-CslzF16R.d.ts} +4 -4
  14. package/dist/data-grid.d.ts +1 -1
  15. package/dist/data-grid.js +1 -1
  16. package/dist/{detail-list-DK49TsJd.d.ts → detail-list-n1MbNbhF.d.ts} +4 -4
  17. package/dist/{detail-list-C3XKTRmE.js → detail-list-w3GXKO2k.js} +4 -3
  18. package/dist/detail-list.d.ts +2 -2
  19. package/dist/detail-list.js +1 -1
  20. package/dist/{flat-list-Bv4-qfjp.d.ts → flat-list-D_4y3wgn.d.ts} +4 -4
  21. package/dist/flat-list.d.ts +1 -1
  22. package/dist/flat-list.js +2 -2
  23. package/dist/{grid-list-DaeSHv9P.d.ts → grid-list-CqYS28NY.d.ts} +4 -2
  24. package/dist/{grid-list-51XsR2X2.js → grid-list-Cz2tKcNZ.js} +4 -3
  25. package/dist/grid-list.d.ts +2 -2
  26. package/dist/grid-list.js +1 -1
  27. package/dist/{grouped-item-lister-DZIjo9nO.d.ts → grouped-item-lister-CS4yInuw.d.ts} +2 -2
  28. package/dist/grouped-item-lister.d.ts +1 -1
  29. package/dist/{icon-DR_3rSyZ.d.ts → icon-CDGprSdE.d.ts} +1 -1
  30. package/dist/icons.d.ts +2 -2
  31. package/dist/{incr-search-2YaxUUA9.js → incr-search-Dc6gYpJG.js} +24 -4
  32. package/dist/incr-search.d.ts +1 -1
  33. package/dist/incr-search.js +1 -1
  34. package/dist/{index-BjRoPrwj.d.ts → index-Bm9a9S3_.d.ts} +3 -2
  35. package/dist/{index-garxxqgV.d.ts → index-CYndvTWH.d.ts} +1 -1
  36. package/dist/{index-BUB5SICW.d.ts → index-CoqtMSd9.d.ts} +1 -1
  37. package/dist/{index-Bz3loIAf.d.ts → index-DN2BWctP.d.ts} +1 -1
  38. package/dist/{index-CJ5fshD3.d.ts → index-UvnoZUAo.d.ts} +1 -1
  39. package/dist/{index-vdbbGE7N.d.ts → index-VAs9akt4.d.ts} +18 -2
  40. package/dist/{index-DXDz60XH.d.ts → index-YCDugjdu.d.ts} +4 -4
  41. package/dist/{index-DM9OLgTH.d.ts → index-ZaA90u09.d.ts} +2 -2
  42. package/dist/index.d.ts +37 -26
  43. package/dist/index.js +88 -13
  44. package/dist/item-appearance-BjcMyauw.js +29 -0
  45. package/dist/{labelled-input-base-Dp_9KP0G.d.ts → labelled-input-base-DiTme1JO.d.ts} +1 -1
  46. package/dist/labelled-radial-input.d.ts +2 -2
  47. package/dist/labelled-range-input.d.ts +1 -1
  48. package/dist/labelled-slider-input.d.ts +1 -1
  49. package/dist/list-group-header.d.ts +1 -1
  50. package/dist/{list-selection-controller-CJDdjH7E.js → list-selection-controller-D4iIrvJH.js} +12 -8
  51. package/dist/{list-selection-types-hj9Njei3.d.ts → list-selection-types-Dnamh2Lu.d.ts} +29 -3
  52. package/dist/{menu-item-B0zqw2xp.d.ts → menu-item-bF6narIz.d.ts} +1 -1
  53. package/dist/menu.d.ts +2 -2
  54. package/dist/{miller-BfrTcujx.js → miller-BrmBywNZ.js} +20 -9
  55. package/dist/miller.d.ts +1 -1
  56. package/dist/miller.js +1 -1
  57. package/dist/narrowed-text.js +1 -1
  58. package/dist/panel.d.ts +1 -1
  59. package/dist/{item-appearance-Bl6rMIID.js → partial-keys-Ck6CiprB.js} +1 -29
  60. package/dist/{split-layout-ChZ0Glrs.d.ts → split-layout-CophkNeU.d.ts} +1 -1
  61. package/dist/split-layout.d.ts +1 -1
  62. package/dist/sunburst-tree.d.ts +1 -1
  63. package/dist/sunburst-tree.js +1 -1
  64. package/dist/{sunbursttree-list-BAS0KrDG.d.ts → sunbursttree-list-Bk20giTF.d.ts} +1 -1
  65. package/dist/{sunbursttree-list-906G33ME.js → sunbursttree-list-DQF6DcsS.js} +1 -1
  66. package/dist/{tab-list-wC0xNz1b.d.ts → tab-list-Df371rqw.d.ts} +1 -1
  67. package/dist/tabs.d.ts +1 -1
  68. package/dist/timeline.d.ts +1 -1
  69. package/dist/{titlebar-B5zSTZnF.d.ts → titlebar-Tqu-VvMU.d.ts} +1 -1
  70. package/dist/titlebar.d.ts +1 -1
  71. package/dist/{tree-C_H1COTf.js → tree-BaXYyt5U.js} +185 -69
  72. package/dist/tree.d.ts +1 -1
  73. package/dist/tree.js +1 -1
  74. package/dist/{vertical-list-od4050Bo.d.ts → vertical-list-DtHX26JO.d.ts} +2 -2
  75. package/dist/{vertical-list-qMRIxZIT.js → vertical-list-o5hfqH87.js} +4 -3
  76. package/dist/vertical-list.d.ts +2 -2
  77. package/dist/vertical-list.js +1 -1
  78. package/docs-user/README.md +6 -0
  79. package/docs-user/bottom-drawer.md +2 -2
  80. package/docs-user/crumbs.md +1 -1
  81. package/docs-user/data-grid.md +3 -3
  82. package/docs-user/detail-list.md +3 -3
  83. package/docs-user/dock.md +3 -3
  84. package/docs-user/flat-list.md +7 -7
  85. package/docs-user/grid-list.md +4 -4
  86. package/docs-user/hyperbolic-tree.md +6 -6
  87. package/docs-user/icicle-tree.md +2 -2
  88. package/docs-user/incr-search.md +1 -1
  89. package/docs-user/index.json +26 -2
  90. package/docs-user/infra-handle.md +122 -0
  91. package/docs-user/infra-incremental.md +154 -0
  92. package/docs-user/infra-theming.md +510 -0
  93. package/docs-user/infra-view-state.md +210 -0
  94. package/docs-user/list-state.md +656 -0
  95. package/docs-user/llms.txt +6 -0
  96. package/docs-user/miller.md +5 -1
  97. package/docs-user/multicol-list.md +6 -0
  98. package/docs-user/panel.md +3 -3
  99. package/docs-user/select-horiz.md +1 -1
  100. package/docs-user/split-layout.md +2 -2
  101. package/docs-user/sunburst-tree.md +3 -3
  102. package/docs-user/titlebar.md +2 -2
  103. package/docs-user/tree.md +8 -2
  104. package/docs-user/treemap.md +2 -2
  105. package/docs-user/twosplit-layout.md +3 -3
  106. package/docs-user/user-selection-intents.md +86 -0
  107. package/docs-user/user-theming.md +1 -1
  108. package/docs-user/vertical-list.md +3 -3
  109. package/llms.txt +6 -0
  110. package/package.json +1 -1
  111. /package/dist/{index-DV3iaUBW.d.ts → index-DV3iaUBW2.d.ts} +0 -0
package/dist/ac-text.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { LitElement, PropertyValues } from "lit";
3
3
  //#region src/ac-text/ac-text.d.ts
4
4
  type AcTextItem = {
@@ -1,4 +1,4 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
3
3
  import { LitElement, PropertyValues } from "lit";
4
4
  //#region src/ac-token/types.d.ts
@@ -1,2 +1,2 @@
1
- import { a as AcTokenItem, c as AcTokenStyle, d as AcTokensChangeDetail, f as AcTokensChangeEvent, i as AcTokenElementEventMap, l as AcTokenStyleFn, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokenizerFn } from "./ac-token-Cq7lsYf-.js";
1
+ import { a as AcTokenItem, c as AcTokenStyle, d as AcTokensChangeDetail, f as AcTokensChangeEvent, i as AcTokenElementEventMap, l as AcTokenStyleFn, n as AcTokenAddDetail, o as AcTokenRemoveDetail, r as AcTokenAddEvent, s as AcTokenRemoveEvent, t as AcTokenElement, u as AcTokenizerFn } from "./ac-token-qEs3FsQv.js";
2
2
  export { type AcTokenAddDetail, type AcTokenAddEvent, AcTokenElement, type AcTokenElementEventMap, type AcTokenItem, type AcTokenRemoveDetail, type AcTokenRemoveEvent, type AcTokenStyle, type AcTokenStyleFn, type AcTokenizerFn, type AcTokensChangeDetail, type AcTokensChangeEvent };
package/dist/ac-token.js CHANGED
@@ -4,7 +4,7 @@ import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
4
4
  import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
5
5
  import "./icon-1gpwtPx8.js";
6
6
  import { t as DataController } from "./data-controller-DOlmqNKb.js";
7
- import { h as createAcCompletionProvider } from "./incr-search-2YaxUUA9.js";
7
+ import { h as createAcCompletionProvider } from "./incr-search-Dc6gYpJG.js";
8
8
  import { LitElement, css, html, nothing } from "lit";
9
9
  import { property, state } from "lit/decorators.js";
10
10
  import { styleMap } from "lit/directives/style-map.js";
@@ -50,7 +50,7 @@ declare class ButtonElement extends LitElement {
50
50
  type: `button` | `submit` | `reset`;
51
51
  static formAssociated: boolean;
52
52
  formDisabledCallback(disabled: boolean): void;
53
- protected _renderIcon(): import("lit").TemplateResult<1> | typeof nothing;
53
+ protected _renderIcon(): typeof nothing | import("lit").TemplateResult<1>;
54
54
  protected render(): import("lit").TemplateResult<1>;
55
55
  static styles: import("lit").CSSResult[];
56
56
  }
package/dist/button.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { n as ButtonElementEventMap, t as ButtonElement } from "./button-D1sPDUCM.js";
1
+ import { n as ButtonElementEventMap, t as ButtonElement } from "./button-N92DKoWb.js";
2
2
  export { ButtonElement, ButtonElementEventMap };
@@ -1,2 +1,2 @@
1
- import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-Bz3loIAf.js";
1
+ import { a as ColourPickerInputEvent, i as ColourPickerEventDetail, n as ColourPicker, o as OklchValue, r as ColourPickerChangeEvent, t as ColourPickerPopup } from "./index-DN2BWctP.js";
2
2
  export { ColourPicker, type ColourPickerChangeEvent, type ColourPickerEventDetail, type ColourPickerInputEvent, ColourPickerPopup, type OklchValue };
@@ -2,7 +2,7 @@ import { M as TreeDataModel, a as TreeComponent, j as TreeTickleEvent, k as Tree
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 { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
4
4
  import "./index-9ttcdwlL.js";
5
- import "./menu-item-B0zqw2xp.js";
5
+ import "./menu-item-bF6narIz.js";
6
6
  import "./index-o-CWDt11.js";
7
7
  import { LitElement, PropertyValues } from "lit";
8
8
  //#region src/crumbs/crumb-view-state.d.ts
package/dist/crumbs.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as CrumbNavigationExpandDetail, c as CrumbNavigationItemClickEvent, i as CrumbNavigationElementEventMap, l as CrumbNavigationViewState, n as CrumbNavigationChangeEvent, o as CrumbNavigationExpandEvent, r as CrumbNavigationElement, s as CrumbNavigationItemClickDetail, t as CrumbNavigationChangeDetail } from "./crumb-navigation-nnr881n-.js";
1
+ import { a as CrumbNavigationExpandDetail, c as CrumbNavigationItemClickEvent, i as CrumbNavigationElementEventMap, l as CrumbNavigationViewState, n as CrumbNavigationChangeEvent, o as CrumbNavigationExpandEvent, r as CrumbNavigationElement, s as CrumbNavigationItemClickDetail, t as CrumbNavigationChangeDetail } from "./crumb-navigation-BbqfmkYs.js";
2
2
  export { CrumbNavigationChangeDetail, CrumbNavigationChangeEvent, CrumbNavigationElement, CrumbNavigationElementEventMap, CrumbNavigationExpandDetail, CrumbNavigationExpandEvent, CrumbNavigationItemClickDetail, CrumbNavigationItemClickEvent, type CrumbNavigationViewState };
@@ -3,14 +3,15 @@ import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrA
3
3
  import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
4
4
  import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
5
5
  import "./icon-1gpwtPx8.js";
6
- import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-2YaxUUA9.js";
6
+ import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-Dc6gYpJG.js";
7
7
  import { t as handleStyles } from "./handle-DAXs7kbJ.js";
8
8
  import { a as listItemFadeKeyframes, t as ListNativeDragController } from "./list-native-drag-controller-CcXoS0YX.js";
9
9
  import { a as capKeys, l as keysToArray, n as EMPTY_KEYS, o as flagsFromRecord, r as MAX_PENDING_KEYS } from "./pending-BGidHppL.js";
10
- import { a as isPartialKey, n as appearanceColor, o as sameKeySet, r as PARTIAL_DESCRIPTION, t as appearanceAbsent } from "./item-appearance-Bl6rMIID.js";
10
+ import { i as sameKeySet, r as isPartialKey, t as PARTIAL_DESCRIPTION } from "./partial-keys-Ck6CiprB.js";
11
11
  import "./interaction-E-uMGHkJ.js";
12
12
  import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
13
13
  import { n as anchorFromRow, o as scrollToOffset, t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
14
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-BjcMyauw.js";
14
15
  import { t as createDragGhost } from "./drag-ghost-DtSDvjri.js";
15
16
  import "./menu-BX1FHxY8.js";
16
17
  import "./pan-text-CqtvjPyK.js";
@@ -1534,16 +1535,16 @@ let DataGridElement = class DataGridElement extends LitElement {
1534
1535
  if ((e.ctrlKey || e.metaKey) && e.key.toLowerCase() === `a`) {
1535
1536
  if (this.selectionMode === `multiple` || this.interactionMode === `checked` || this.interactionMode === `sticky` || this.interactionMode === `vscode` || this.interactionMode === `standard`) {
1536
1537
  e.preventDefault();
1538
+ const group = this.groupBy && !this.crossGroupSelection && this._anchorKey ? this._getGroupKey(this._getRowForKey(this._anchorKey) ?? { key: this._anchorKey }) : void 0;
1537
1539
  if (this.#intercepted({
1538
1540
  kind: `all`,
1539
1541
  keys: [],
1542
+ ...group === void 0 ? {} : { groupKey: group },
1540
1543
  source: `keyboard`
1541
1544
  })) return;
1542
1545
  const prev = new Set(this._selectedKeys);
1543
- if (this.groupBy && !this.crossGroupSelection && this._anchorKey) {
1544
- const g = this._getGroupKey(this._getRowForKey(this._anchorKey) ?? { key: this._anchorKey });
1545
- this._selectedKeys = new Set(this._flat.filter((f) => f.type === `row` && this._getGroupKey(f.row) === g).map((f) => f.key));
1546
- } else this._selectedKeys = new Set(this._flat.filter((f) => f.type === `row`).map((f) => f.key));
1546
+ if (group !== void 0) this._selectedKeys = new Set(this._flat.filter((f) => f.type === `row` && this._getGroupKey(f.row) === group).map((f) => f.key));
1547
+ else this._selectedKeys = new Set(this._flat.filter((f) => f.type === `row`).map((f) => f.key));
1547
1548
  this.#dispatchSelect(prev);
1548
1549
  }
1549
1550
  return;
@@ -1,11 +1,11 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
3
3
  import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
4
4
  import "./index-9ttcdwlL.js";
5
5
  import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
6
- import { l as ListSelectIntentDetail, p as ListSelectKeysDetail } from "./list-selection-types-hj9Njei3.js";
7
- import { S as ListSearchController } from "./index-BjRoPrwj.js";
8
- import "./index-DM9OLgTH.js";
6
+ import { m as ListSelectKeysDetail, u as ListSelectIntentDetail } from "./list-selection-types-Dnamh2Lu.js";
7
+ import { S as ListSearchController } from "./index-Bm9a9S3_.js";
8
+ import "./index-ZaA90u09.js";
9
9
  import "./pan-text-CoYmt2qd.js";
10
10
  import { LitElement } from "lit";
11
11
  import { CommandId, CommandRegistry } from "@clinth/ui-commands";
@@ -1,3 +1,3 @@
1
1
  import { B as ListNativeDragStartDetail, F as ListDragPreview, I as ListDragPreviewContext, L as ListDragPreviewRenderer, P as ListDragEntry, V as ListNativeDragStartEvent, z as ListDragSource } from "./tree-component-DgfkxmVY.js";
2
- import { A as DataGridColumn, B as DataGridInteractionMode, C as DataGridSortEvent, D as DataGridViewState, E as DataGridColumnViewState, F as DataGridEditorFactory, G as GlobalFormatter, H as DataGridSelectionMode, I as DataGridEditorType, L as DataGridGetRowKey, M as DataGridDataType, N as DataGridEditability, O as BuiltInFormatterName, P as DataGridEditorContext, R as DataGridGroupBy, S as DataGridSortDetail, T as DataGridViewportChangeEvent, U as DataGridSortDirection, V as DataGridRowLook, W as DataGridSortState, _ as DataGridRowActivateDetail, a as DataGridColumnReorderDetail, b as DataGridSelectEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridListSelectEvent, h as DataGridListSelectDetail, i as DataGridCellEditEvent, j as DataGridColumnMenu, k as BuiltInFormatterOptions, 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 DataGridRowActivateEvent, w as DataGridViewportChangeDetail, x as DataGridSelectIntentEvent, y as DataGridSelectDetail, z as DataGridGroupLabel } from "./data-grid-BAEpfTkb.js";
2
+ import { A as DataGridColumn, B as DataGridInteractionMode, C as DataGridSortEvent, D as DataGridViewState, E as DataGridColumnViewState, F as DataGridEditorFactory, G as GlobalFormatter, H as DataGridSelectionMode, I as DataGridEditorType, L as DataGridGetRowKey, M as DataGridDataType, N as DataGridEditability, O as BuiltInFormatterName, P as DataGridEditorContext, R as DataGridGroupBy, S as DataGridSortDetail, T as DataGridViewportChangeEvent, U as DataGridSortDirection, V as DataGridRowLook, W as DataGridSortState, _ as DataGridRowActivateDetail, a as DataGridColumnReorderDetail, b as DataGridSelectEvent, c as DataGridColumnResizeEvent, d as DataGridElement, f as DataGridElementEventMap, g as DataGridListSelectEvent, h as DataGridListSelectDetail, i as DataGridCellEditEvent, j as DataGridColumnMenu, k as BuiltInFormatterOptions, 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 DataGridRowActivateEvent, w as DataGridViewportChangeDetail, x as DataGridSelectIntentEvent, y as DataGridSelectDetail, z as DataGridGroupLabel } from "./data-grid-CslzF16R.js";
3
3
  export { type BuiltInFormatterName, type BuiltInFormatterOptions, DataGridCellClickDetail, DataGridCellClickEvent, DataGridCellEditDetail, DataGridCellEditEvent, type DataGridColumn, type DataGridColumnMenu, DataGridColumnReorderDetail, DataGridColumnReorderEvent, DataGridColumnResizeDetail, DataGridColumnResizeEvent, type DataGridColumnViewState, DataGridColumnVisibilityDetail, DataGridColumnVisibilityEvent, type DataGridDataType, type DataGridEditability, type DataGridEditorContext, type DataGridEditorFactory, type DataGridEditorType, DataGridElement, DataGridElementEventMap, type DataGridGetRowKey, type DataGridGroupBy, DataGridGroupChangeDetail, DataGridGroupChangeEvent, type DataGridGroupLabel, type DataGridInteractionMode, DataGridListSelectDetail, DataGridListSelectEvent, DataGridRowActivateDetail, DataGridRowActivateEvent, type DataGridRowLook, DataGridSelectDetail, DataGridSelectEvent, DataGridSelectIntentEvent, type DataGridSelectionMode, DataGridSortDetail, type DataGridSortDirection, DataGridSortEvent, type DataGridSortState, type DataGridViewState, 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-CaPLWt5E.js";
1
+ import { t as DataGridElement } from "./data-grid-8TsiF2ES.js";
2
2
  export { DataGridElement };
@@ -1,13 +1,13 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
3
3
  import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
4
4
  import { a as ViewStateBase, s as ViewStateChangeEvent, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
5
5
  import "./index-9ttcdwlL.js";
6
6
  import { n as ListViewportChangeEvent } from "./list-viewport-types-BRZsLcvp.js";
7
- import { i as ListInteractionMode, m as ListSelectionMode, r as ListElementEventMap } from "./list-selection-types-hj9Njei3.js";
8
- import { S as ListSearchController } from "./index-BjRoPrwj.js";
7
+ import { h as ListSelectionMode, i as ListInteractionMode, r as ListElementEventMap } from "./list-selection-types-Dnamh2Lu.js";
8
+ import { S as ListSearchController } from "./index-Bm9a9S3_.js";
9
9
  import { a as ListGroupEventMap, o as ListGroupInfo, s as ListGroupLabel } from "./grouping-CUKgmkMm.js";
10
- import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-od4050Bo.js";
10
+ import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-DtHX26JO.js";
11
11
  import "./list-group-header.js";
12
12
  import { LitElement, PropertyValues } from "lit";
13
13
  import { CommandId, CommandRegistry } from "@clinth/ui-commands";
@@ -3,14 +3,15 @@ import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
3
3
  import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
4
4
  import "./icon-1gpwtPx8.js";
5
5
  import { t as DataController } from "./data-controller-DOlmqNKb.js";
6
- import { c as createElementListSearchAdapter, d as keysOfElements, i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, u as keyForElement } from "./incr-search-2YaxUUA9.js";
6
+ import { c as createElementListSearchAdapter, d as keysOfElements, i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, u as keyForElement } from "./incr-search-Dc6gYpJG.js";
7
7
  import { a as toGroupKey, r as partitionByGroup } from "./grouping-RYPnHkrS.js";
8
8
  import { i as animateListItemOut, r as animateListItemIn, t as ListNativeDragController } from "./list-native-drag-controller-CcXoS0YX.js";
9
- import { i as ListDragSelectController, n as gestureOf, t as ListSelectionController } from "./list-selection-controller-CJDdjH7E.js";
9
+ import { i as ListDragSelectController, n as gestureOf, t as ListSelectionController } from "./list-selection-controller-D4iIrvJH.js";
10
10
  import { a as capKeys, d as partitionKeys, l as keysToArray, o as flagsFromRecord } from "./pending-BGidHppL.js";
11
- import { a as isPartialKey, i as applyPartialAttributes, n as appearanceColor, o as sameKeySet, t as appearanceAbsent } from "./item-appearance-Bl6rMIID.js";
11
+ import { i as sameKeySet, n as applyPartialAttributes, r as isPartialKey } from "./partial-keys-Ck6CiprB.js";
12
12
  import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
13
13
  import { a as restoreElementScroll, o as scrollToOffset, r as captureElementScroll, t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
14
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-BjcMyauw.js";
14
15
  import "./list-group-header.js";
15
16
  import { LitElement, css, html, nothing, render } from "lit";
16
17
  import { property, query, state } from "lit/decorators.js";
@@ -1,6 +1,6 @@
1
1
  import { B as ListNativeDragStartDetail, F as ListDragPreview, I as ListDragPreviewContext, L as ListDragPreviewRenderer, P as ListDragEntry, V as ListNativeDragStartEvent, z as ListDragSource } from "./tree-component-DgfkxmVY.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 { a as DetailSortComparator, c as DetailListViewState, i as DetailGroupBy, n as DetailListElementEventMap, o as DetailSortItem, r as DetailFormatter, s as DetailSortMode, t as DetailListElement } from "./detail-list-DK49TsJd.js";
5
- import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-od4050Bo.js";
4
+ import { a as DetailSortComparator, c as DetailListViewState, i as DetailGroupBy, n as DetailListElementEventMap, o as DetailSortItem, r as DetailFormatter, s as DetailSortMode, t as DetailListElement } from "./detail-list-n1MbNbhF.js";
5
+ import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-DtHX26JO.js";
6
6
  export { type AddItemOptions, type CustomCheckboxOptions, type DetailFormatter, type DetailGroupBy, DetailListElement, DetailListElementEventMap, type DetailListViewState, 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,3 +1,3 @@
1
- import { t as DetailListElement } from "./detail-list-C3XKTRmE.js";
1
+ import { t as DetailListElement } from "./detail-list-w3GXKO2k.js";
2
2
  import "./list-group-header.js";
3
3
  export { DetailListElement };
@@ -1,11 +1,11 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { M as TreeDataModel } from "./tree-component-DgfkxmVY.js";
3
3
  import { o as TreeNode, r as TreeFilterPredicate, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
4
4
  import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
5
5
  import "./index-9ttcdwlL.js";
6
- import "./crumb-navigation-nnr881n-.js";
7
- import { i as ListInteractionMode, m as ListSelectionMode } from "./list-selection-types-hj9Njei3.js";
8
- import { r as VerticalListElement } from "./vertical-list-od4050Bo.js";
6
+ import "./crumb-navigation-BbqfmkYs.js";
7
+ import { h as ListSelectionMode, i as ListInteractionMode } from "./list-selection-types-Dnamh2Lu.js";
8
+ import { r as VerticalListElement } from "./vertical-list-DtHX26JO.js";
9
9
  import { LitElement, PropertyValues } from "lit";
10
10
  //#region src/flat-list/types.d.ts
11
11
  /** 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, v as FlatListViewState } from "./flat-list-Bv4-qfjp.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, v as FlatListViewState } from "./flat-list-D_4y3wgn.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, type FlatListViewState };
package/dist/flat-list.js CHANGED
@@ -2,11 +2,11 @@ import { t as TickledController } from "./tickled-controller-D-HZymaZ.js";
2
2
  import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
3
3
  import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
4
4
  import "./icon-1gpwtPx8.js";
5
- import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-Bl6rMIID.js";
6
5
  import { t as collectDataResult } from "./data-provider-35TyWclX.js";
7
6
  import { t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
8
7
  import { n as resolveKeyPath } from "./crumb-navigation-D3ndPgFg.js";
9
- import "./vertical-list-qMRIxZIT.js";
8
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-BjcMyauw.js";
9
+ import "./vertical-list-o5hfqH87.js";
10
10
  import { LitElement, css, html, nothing } from "lit";
11
11
  import { property, state } from "lit/decorators.js";
12
12
  //#region src/flat-list/flat-list.ts
@@ -1,8 +1,8 @@
1
1
  import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
2
2
  import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
3
3
  import "./index-9ttcdwlL.js";
4
- import { f as ListSelectIntentSource, i as ListInteractionMode, l as ListSelectIntentDetail, m as ListSelectionMode } from "./list-selection-types-hj9Njei3.js";
5
- import { S as ListSearchController } from "./index-BjRoPrwj.js";
4
+ import { h as ListSelectionMode, i as ListInteractionMode, p as ListSelectIntentSource, s as ListMarqueeMode, u as ListSelectIntentDetail } from "./list-selection-types-Dnamh2Lu.js";
5
+ import { S as ListSearchController } from "./index-Bm9a9S3_.js";
6
6
  import "./pan-text-CoYmt2qd.js";
7
7
  import { i as ListGroupChangeEvent, n as ListGroupBy, o as ListGroupInfo, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-CUKgmkMm.js";
8
8
  import "./list-group-header.js";
@@ -92,6 +92,7 @@ type ListDragSelectControllerConfig<T> = {
92
92
  onCommit: (finalSet: ReadonlySet<T>, info: {
93
93
  additive: boolean;
94
94
  covered: ReadonlySet<T>;
95
+ mode: ListMarqueeMode;
95
96
  }) => void;
96
97
  /** Optional: scroll the surface when the pointer nears an edge during a drag. */
97
98
  autoScroll?: (dx: number, dy: number) => void;
@@ -267,6 +268,7 @@ declare class ListSelectionController<T> {
267
268
  applyDragSelection(items: Iterable<T>, info?: {
268
269
  additive: boolean;
269
270
  covered: Iterable<T>;
271
+ mode?: ListMarqueeMode;
270
272
  }): void;
271
273
  /** Remove a single item from the selection. */
272
274
  deselect(item: T): void;
@@ -2,16 +2,17 @@ import { t as TickledController } from "./tickled-controller-D-HZymaZ.js";
2
2
  import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrAHEj1q.js";
3
3
  import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
4
4
  import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
5
- import { c as createElementListSearchAdapter, f as createDataListSearchAdapter, i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, u as keyForElement } from "./incr-search-2YaxUUA9.js";
5
+ import { c as createElementListSearchAdapter, f as createDataListSearchAdapter, i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES, u as keyForElement } from "./incr-search-Dc6gYpJG.js";
6
6
  import { i as resolveGroupKey, r as partitionByGroup } from "./grouping-RYPnHkrS.js";
7
7
  import { a as listItemFadeKeyframes, t as ListNativeDragController } from "./list-native-drag-controller-CcXoS0YX.js";
8
- import { i as ListDragSelectController, n as gestureOf, t as ListSelectionController } from "./list-selection-controller-CJDdjH7E.js";
8
+ import { i as ListDragSelectController, n as gestureOf, t as ListSelectionController } from "./list-selection-controller-D4iIrvJH.js";
9
9
  import { c as keysAsFlags, f as withoutFlag, i as capFlags, l as keysToArray, o as flagsFromRecord, s as flagsToRecord, t as EMPTY_FLAGS } from "./pending-BGidHppL.js";
10
- import { a as isPartialKey, n as appearanceColor, o as sameKeySet, r as PARTIAL_DESCRIPTION, t as appearanceAbsent } from "./item-appearance-Bl6rMIID.js";
10
+ import { i as sameKeySet, r as isPartialKey, t as PARTIAL_DESCRIPTION } from "./partial-keys-Ck6CiprB.js";
11
11
  import { n as createScrollHoverGuard } from "./scroll-hover-guard-Cjw6179Q.js";
12
12
  import "./interaction-E-uMGHkJ.js";
13
13
  import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
14
14
  import { t as ViewStateController } from "./view-state-controller-BdyXWUUM.js";
15
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-BjcMyauw.js";
15
16
  import "./pan-text-CqtvjPyK.js";
16
17
  import "./list-group-header.js";
17
18
  import { LitElement, css, html, nothing } from "lit";
@@ -1,5 +1,5 @@
1
1
  import { B as ListNativeDragStartDetail, F as ListDragPreview, I as ListDragPreviewContext, L as ListDragPreviewRenderer, P as ListDragEntry, V as ListNativeDragStartEvent, z as ListDragSource } from "./tree-component-DgfkxmVY.js";
2
- import { _ as GridListSelectEvent, a as GridListCaptionAlign, b as GridListViewportChangeDetail, c as GridListCaptionStyle, d as GridListFullElementEventMap, f as GridListItemClickDetail, g as GridListSelectDetail, h as GridListOrientation, i as GridListActivateEvent, l as GridListDataAdapter, m as GridListItemEventDetail, n as GridListViewState, o as GridListCaptionBackdrop, p as GridListItemClickEvent, r as GridListActivateDetail, s as GridListCaptionPosition, t as GridListElement, u as GridListElementEventMap, v as GridListTickleDetail, x as GridListViewportChangeEvent, y as GridListTickleEvent } from "./grid-list-DaeSHv9P.js";
3
- import { i as ListInteractionMode, m as ListSelectionMode } from "./list-selection-types-hj9Njei3.js";
2
+ import { _ as GridListSelectEvent, a as GridListCaptionAlign, b as GridListViewportChangeDetail, c as GridListCaptionStyle, d as GridListFullElementEventMap, f as GridListItemClickDetail, g as GridListSelectDetail, h as GridListOrientation, i as GridListActivateEvent, l as GridListDataAdapter, m as GridListItemEventDetail, n as GridListViewState, o as GridListCaptionBackdrop, p as GridListItemClickEvent, r as GridListActivateDetail, s as GridListCaptionPosition, t as GridListElement, u as GridListElementEventMap, v as GridListTickleDetail, x as GridListViewportChangeEvent, y as GridListTickleEvent } from "./grid-list-CqYS28NY.js";
3
+ import { h as ListSelectionMode, i as ListInteractionMode } from "./list-selection-types-Dnamh2Lu.js";
4
4
  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";
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 GridListViewState, 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 };
package/dist/grid-list.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import "./list-group-header.js";
2
- import { t as GridListElement } from "./grid-list-51XsR2X2.js";
2
+ import { t as GridListElement } from "./grid-list-Cz2tKcNZ.js";
3
3
  export { GridListElement };
@@ -1,5 +1,5 @@
1
1
  import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
2
- import { m as ListSelectionMode } from "./list-selection-types-hj9Njei3.js";
2
+ import { h as ListSelectionMode } from "./list-selection-types-Dnamh2Lu.js";
3
3
  import "./panel.js";
4
4
  import { LitElement, PropertyValues, nothing } from "lit";
5
5
  import { CommandId } from "@clinth/ui-commands";
@@ -106,7 +106,7 @@ declare class GroupedItemListerElement<T = unknown> extends LitElement {
106
106
  connectedCallback(): void;
107
107
  disconnectedCallback(): void;
108
108
  protected updated(changed: PropertyValues): void;
109
- protected render(): import("lit").TemplateResult<1> | typeof nothing;
109
+ protected render(): typeof nothing | import("lit").TemplateResult<1>;
110
110
  }
111
111
  declare global {
112
112
  interface HTMLElementTagNameMap {
@@ -1,2 +1,2 @@
1
- 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-DZIjo9nO.js";
1
+ 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-CS4yInuw.js";
2
2
  export { GroupedItemListerElement, type GroupedItemListerElementEventMap, type GroupedSelectDetail, type GroupedSelectEvent, type IGroupedSubComponent, type IGroupedSubComponentEventMap, type SubComponentActivateDetail, type SubComponentActivateEvent, type SubComponentFactory, type SubComponentItemClickDetail, type SubComponentItemClickEvent, type SubComponentSelectDetail, type SubComponentSelectEvent, type SubComponentTickleDetail, type SubComponentTickleEvent };
@@ -9,7 +9,7 @@ declare class IxfxIconElement extends LitElement {
9
9
  rotate: string;
10
10
  connectedCallback(): void;
11
11
  disconnectedCallback(): void;
12
- protected render(): import("lit").TemplateResult<1> | typeof nothing;
12
+ protected render(): typeof nothing | import("lit").TemplateResult<1>;
13
13
  protected updated(changed: Map<string, unknown>): void;
14
14
  static styles: import("lit").CSSResult[];
15
15
  }
package/dist/icons.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { t as IxfxIconElement } from "./icon-DR_3rSyZ.js";
2
- import { a as getIconEntry, c as iconBus, d as setIconFont, f as svgToDataUri, g as ICON_CLOSE, h as ICON_CHEVRON_DOWN, i as getIcon, l as registerFontIcon, m as ICON_CHECK, n as IconChangedEvent, o as getIconFont, p as ICON_CARET_RIGHT, r as IconEntry, s as hasIcon, t as IconChangedDetail, u as registerIcon } from "./index-garxxqgV.js";
1
+ import { t as IxfxIconElement } from "./icon-CDGprSdE.js";
2
+ import { a as getIconEntry, c as iconBus, d as setIconFont, f as svgToDataUri, g as ICON_CLOSE, h as ICON_CHEVRON_DOWN, i as getIcon, l as registerFontIcon, m as ICON_CHECK, n as IconChangedEvent, o as getIconFont, p as ICON_CARET_RIGHT, r as IconEntry, s as hasIcon, t as IconChangedDetail, u as registerIcon } from "./index-CYndvTWH.js";
3
3
  export { ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, type IconChangedDetail, type IconChangedEvent, type IconEntry, IxfxIconElement, getIcon, getIconEntry, getIconFont, hasIcon, iconBus, registerFontIcon, registerIcon, setIconFont, svgToDataUri };
@@ -746,11 +746,31 @@ var ListSearchController = class {
746
746
  this.#host.updateComplete.then(() => this.#focusInput(true));
747
747
  }
748
748
  /** One-shot: turn the current match set into the selection, staying in the current mode. */
749
- selectMatches() {
749
+ selectMatches(source = `api`) {
750
750
  if (!this.#modes.includes(`select`)) return;
751
- this.#adapter.selectItems(this.#currentItems());
751
+ this.#selectCurrentMatches(source);
752
752
  this.#host.requestUpdate();
753
753
  }
754
+ /**
755
+ * Turn the current matches into the selection, after reporting a `match`
756
+ * intent on the host. A caller that takes over (`preventDefault()`) keeps
757
+ * the query; the popover still shows the matches either way.
758
+ */
759
+ #selectCurrentMatches(source) {
760
+ const items = this.#currentItems();
761
+ const intent = {
762
+ kind: `match`,
763
+ keys: items.map((i) => this.#adapter.getKey(i)),
764
+ query: this.#query,
765
+ source
766
+ };
767
+ if (this.#host.dispatchEvent(new CustomEvent(`list-select-intent`, {
768
+ detail: intent,
769
+ bubbles: true,
770
+ composed: true,
771
+ cancelable: true
772
+ }))) this.#adapter.selectItems(items);
773
+ }
754
774
  nextMatch() {
755
775
  this.#cycle(1);
756
776
  }
@@ -827,7 +847,7 @@ var ListSearchController = class {
827
847
  ${others.length > 0 || showSelectMatches ? html`
828
848
  <div class="list-search-switch">
829
849
  ${others.map((m) => html`<button class="list-search-btn" title=${this.#switchTitle(m)} @click=${() => this.switchMode(m)}>${m}</button>`)}
830
- ${showSelectMatches ? html`<button class="list-search-btn" @click=${() => this.selectMatches()}>Select matches</button>` : nothing}
850
+ ${showSelectMatches ? html`<button class="list-search-btn" @click=${() => this.selectMatches(`pointer`)}>Select matches</button>` : nothing}
831
851
  </div>
832
852
  ` : nothing}
833
853
  </div>
@@ -938,7 +958,7 @@ var ListSearchController = class {
938
958
  this.#adapter.focusItem(this.#itemFor(this.#matches[this.#matchIndex]));
939
959
  break;
940
960
  case `select`:
941
- this.#adapter.selectItems(this.#currentItems());
961
+ this.#selectCurrentMatches(`keyboard`);
942
962
  break;
943
963
  case `filter`:
944
964
  this.#adapter.applyFilter(new Set(this.#matches.map((m) => m.item.key)));
@@ -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-BjRoPrwj.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-Bm9a9S3_.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,3 +1,3 @@
1
1
  import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-B-eQrhhb.js";
2
- import { a as LIST_SEARCH_COMMAND_IDS, c as createElementListSearchAdapter, f as createDataListSearchAdapter, g as createFuzzySearch, h as createAcCompletionProvider, i as ListSearchController, m as createIncrSearch, n as listSearchStyles, o as registerListSearchCommands, p as IncrSearchTreeController, r as LIST_SEARCH_MODES, s as createElementIncrSearch, t as createTreeListSearchAdapter } from "./incr-search-2YaxUUA9.js";
2
+ import { a as LIST_SEARCH_COMMAND_IDS, c as createElementListSearchAdapter, f as createDataListSearchAdapter, g as createFuzzySearch, h as createAcCompletionProvider, i as ListSearchController, m as createIncrSearch, n as listSearchStyles, o as registerListSearchCommands, p as IncrSearchTreeController, r as LIST_SEARCH_MODES, s as createElementIncrSearch, t as createTreeListSearchAdapter } from "./incr-search-Dc6gYpJG.js";
3
3
  export { IncrSearchTreeController as IncrSearchMillerController, IncrSearchTreeController, LIST_SEARCH_COMMAND_IDS, LIST_SEARCH_MODES, ListSearchController, applyHighlights, buildHighlightTargets, clearHighlights, createAcCompletionProvider, createDataListSearchAdapter, createElementIncrSearch, createElementListSearchAdapter, createFuzzySearch, createIncrSearch, createTreeListSearchAdapter, listSearchStyles, registerListSearchCommands };
@@ -1,6 +1,7 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { E as TreeSearchHost } from "./tree-component-DgfkxmVY.js";
3
3
  import { o as TreeNode } from "./types-Jky6oNAp.js";
4
+ import { p as ListSelectIntentSource } from "./list-selection-types-Dnamh2Lu.js";
4
5
  import { ReactiveController, ReactiveControllerHost, TemplateResult, nothing } from "lit";
5
6
  import { FzfOptions } from "fzf";
6
7
  import { CommandRegistry } from "@clinth/ui-commands";
@@ -259,7 +260,7 @@ declare class ListSearchController<TItem> implements ReactiveController {
259
260
  /** Refocus the popover input (text selected) without touching the query. No-op when closed. */
260
261
  focus(): void;
261
262
  /** One-shot: turn the current match set into the selection, staying in the current mode. */
262
- selectMatches(): void;
263
+ selectMatches(source?: ListSelectIntentSource): void;
263
264
  nextMatch(): void;
264
265
  prevMatch(): void;
265
266
  /**
@@ -1,4 +1,4 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  //#region src/icons/defaults.d.ts
3
3
  /** Chevron pointing down (Lucide `chevron-down`). Used for split-button dropdown toggle. */
4
4
  declare const ICON_CHEVRON_DOWN = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"m6 9 6 6 6-6\"/></svg>";
@@ -1,4 +1,4 @@
1
- import { t as LabelledInputBase } from "./labelled-input-base-Dp_9KP0G.js";
1
+ import { t as LabelledInputBase } from "./labelled-input-base-DiTme1JO.js";
2
2
  import { CSSResultGroup } from "lit";
3
3
  //#region src/labelled-range-input/labelled-range-input.d.ts
4
4
  declare class LabelledRangeInput extends LabelledInputBase {
@@ -1,4 +1,4 @@
1
- import "./index-BUB5SICW.js";
1
+ import "./index-CoqtMSd9.js";
2
2
  import { CSSResultGroup, LitElement, PropertyValues } from "lit";
3
3
  import { Colour } from "@ixfx/visual";
4
4
  //#region src/colour-picker/types.d.ts
@@ -1,4 +1,4 @@
1
- import { t as LabelledInputBase } from "./labelled-input-base-Dp_9KP0G.js";
1
+ import { t as LabelledInputBase } from "./labelled-input-base-DiTme1JO.js";
2
2
  import { n as EditableLabel } from "./editable-label-rzXkjf1H.js";
3
3
  import { n as WheelNudgeConsumer, t as WheelDirection } from "./wheel-nudge-By5s_ioH.js";
4
4
  import { f as SliderMarkerStyle, m as SliderSingleStyle } from "./slider-input-BxURAAmD.js";
@@ -2,7 +2,8 @@ import { B as ListNativeDragStartDetail, C as TreeItemDblClickEvent, D as TreeSe
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
3
  import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
4
4
  import "./index-9ttcdwlL.js";
5
- import { S as ListSearchController } from "./index-BjRoPrwj.js";
5
+ import { m as ListSelectKeysDetail, p as ListSelectIntentSource, u as ListSelectIntentDetail } from "./list-selection-types-Dnamh2Lu.js";
6
+ import { S as ListSearchController } from "./index-Bm9a9S3_.js";
6
7
  import { t as ListNativeDragController } from "./list-native-drag-controller-D_UrXipS.js";
7
8
  import { n as TickledController } from "./tickled-controller-DodxD3eQ.js";
8
9
  import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost, TemplateResult, nothing } from "lit";
@@ -219,7 +220,7 @@ declare class TreeBaseElement extends LitElement implements TreeComponent, TreeS
219
220
  }>;
220
221
  protected renderNodeContent(node: TreeNode, depth: number): TemplateResult | typeof nothing;
221
222
  protected _handleItemClick(node: TreeNode, depth: number, event?: MouseEvent): void;
222
- protected _handleCheckboxClick(event: MouseEvent, node: TreeNode, _depth: number): void;
223
+ protected _handleCheckboxClick(event: MouseEvent, node: TreeNode, _depth: number, source?: ListSelectIntentSource): void;
223
224
  protected _isSelected(node: TreeNode): boolean;
224
225
  protected _isFocused(node: TreeNode): boolean;
225
226
  protected _isExpanded(node: TreeNode, _depth?: number): boolean;
@@ -256,6 +257,10 @@ interface TreeBaseElementEventMap extends TreeComponentEventMap {
256
257
  'expand': TreeExpandEvent;
257
258
  'collapse': TreeCollapseEvent;
258
259
  'select': TreeSelectEvent;
260
+ 'list-select': CustomEvent<ListSelectKeysDetail & {
261
+ previous: ReadonlySet<TreeNode>;
262
+ }>;
263
+ 'list-select-intent': CustomEvent<ListSelectIntentDetail>;
259
264
  'tickle': TreeTickleEvent;
260
265
  'activate': TreeActivateEvent;
261
266
  'list-native-drag-start': CustomEvent<ListNativeDragStartDetail<TreeNode>>;
@@ -302,6 +307,17 @@ declare class TreeListElement extends TreeBaseElement {
302
307
  * up with selectable siblings. When off (default) they reserve no space.
303
308
  */
304
309
  alignCheckboxes: boolean;
310
+ private _partialKeys;
311
+ /**
312
+ * Nodes shown as *partially* selected (a part of the resource is selected):
313
+ * `data-partial`, an indeterminate checkbox in `checked` mode, and an
314
+ * accessible description otherwise. Independent of the selection — a key in
315
+ * both counts as selected. In `checked` mode it combines with the state
316
+ * derived from loaded descendants: a node is indeterminate if either says so.
317
+ * Replace-on-set.
318
+ */
319
+ get partialKeys(): ReadonlySet<string>;
320
+ set partialKeys(keys: Iterable<string>);
305
321
  willUpdate(changedProps: PropertyValues): void;
306
322
  protected renderNodeContent(node: TreeNode, depth: number): TemplateResult;
307
323
  protected _renderNode(node: TreeNode, depth: number): TemplateResult;
@@ -2,8 +2,8 @@ import { E as TreeSearchHost, M as TreeDataModel, a as TreeComponent, i as TreeC
2
2
  import { a as TreeItem, n as TreeExclusivity, o as TreeNode, r as TreeFilterPredicate, s as TreeSelectionFilter, t as LoadChildrenCallback } from "./types-Jky6oNAp.js";
3
3
  import { a as ViewStateBase, n as ScrollState, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
4
4
  import "./index-9ttcdwlL.js";
5
- import { l as ListSelectIntentDetail, p as ListSelectKeysDetail } from "./list-selection-types-hj9Njei3.js";
6
- import { S as ListSearchController } from "./index-BjRoPrwj.js";
5
+ import { m as ListSelectKeysDetail, u as ListSelectIntentDetail } from "./list-selection-types-Dnamh2Lu.js";
6
+ import { S as ListSearchController } from "./index-Bm9a9S3_.js";
7
7
  import { n as TickledController } from "./tickled-controller-DodxD3eQ.js";
8
8
  import { LitElement, PropertyValues, TemplateResult, nothing } from "lit";
9
9
  import { CommandRegistry } from "@clinth/ui-commands";
@@ -246,8 +246,8 @@ declare class MillerBaseElement extends LitElement implements TreeComponent, Tre
246
246
  * Nodes shown as *partially* selected (a part of the resource is selected):
247
247
  * an indeterminate checkbox in `checked` mode, `.partial` and an accessible
248
248
  * description otherwise. Independent of the selection — a key in both counts
249
- * as selected. In `checked` mode this overrides the state derived from
250
- * loaded descendants. Replace-on-set.
249
+ * as selected. In `checked` mode a node is indeterminate if either the
250
+ * loaded descendants or this say so (as in the tree). Replace-on-set.
251
251
  */
252
252
  get partialKeys(): ReadonlySet<string>;
253
253
  set partialKeys(keys: Iterable<string>);
@@ -1,6 +1,6 @@
1
- import "./icon-DR_3rSyZ.js";
1
+ import "./icon-CDGprSdE.js";
2
2
  import { o as TreeNode } from "./types-Jky6oNAp.js";
3
- import { i as MenuContainer, n as MenuTrigger, r as MenuTriggerCommandDetail, t as MenuItem } from "./menu-item-B0zqw2xp.js";
3
+ import { i as MenuContainer, n as MenuTrigger, r as MenuTriggerCommandDetail, t as MenuItem } from "./menu-item-bF6narIz.js";
4
4
  import { LitElement, TemplateResult } from "lit";
5
5
  import { CommandRegistry, KeyboardManager } from "@clinth/ui-commands";
6
6
  //#region src/menu/menu-bar.d.ts