@ixfx/components 0.16.5 → 0.17.1

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 (218) hide show
  1. package/bundle/index.d.ts +4093 -1746
  2. package/bundle/index.js +1083 -226
  3. package/bundle/rolldown-runtime-CAoDHAWh.js +1 -0
  4. package/dist/ac-text.d.ts +11 -14
  5. package/dist/ac-text.js +8 -9
  6. package/dist/{ac-token-qEs3FsQv.d.ts → ac-token-CTBa93hF.d.ts} +2 -6
  7. package/dist/ac-token.d.ts +1 -1
  8. package/dist/ac-token.js +8 -9
  9. package/dist/{button-ikByJJPN.js → button-BOX1dfyd.js} +5 -7
  10. package/dist/{button-N92DKoWb.d.ts → button-DyJyyCsb.d.ts} +0 -4
  11. package/dist/button.d.ts +1 -1
  12. package/dist/button.js +1 -2
  13. package/dist/checkbox.d.ts +42 -9
  14. package/dist/checkbox.js +4 -5
  15. package/dist/{checked-select-CBUidG7n.js → checked-select-BmwqpgGr.js} +8 -10
  16. package/dist/{checked-select-CglRukbP.d.ts → checked-select-CNv5zNvR.d.ts} +0 -4
  17. package/dist/checked-select.d.ts +33 -1
  18. package/dist/checked-select.js +1 -2
  19. package/dist/{colour-picker-DwAa6RDh.js → colour-picker-D8g-bTSF.js} +6 -9
  20. package/dist/colour-picker.d.ts +1 -1
  21. package/dist/colour-picker.js +1 -2
  22. package/dist/{crumb-navigation-D3ndPgFg.js → crumb-navigation-D7dAC0H-.js} +11 -13
  23. package/dist/{crumb-navigation-BbqfmkYs.d.ts → crumb-navigation-Tm4fnsvN.d.ts} +6 -10
  24. package/dist/crumbs.d.ts +1 -1
  25. package/dist/crumbs.js +1 -2
  26. package/dist/{data-controller-DOlmqNKb.js → data-controller-q-rXRMzJ.js} +1 -2
  27. package/dist/data-display.d.ts +5 -8
  28. package/dist/data-display.js +3 -4
  29. package/dist/{data-grid-8TsiF2ES.js → data-grid-BcO3SMac.js} +20 -23
  30. package/dist/{data-grid-CslzF16R.d.ts → data-grid-vasJtjFP.d.ts} +9 -15
  31. package/dist/data-grid.d.ts +2 -2
  32. package/dist/data-grid.js +1 -2
  33. package/dist/{data-provider-35TyWclX.js → data-provider-C6ZNAcaT.js} +1 -2
  34. package/dist/{data-provider-BAn_-oR1.d.ts → data-provider-Cq_ylpET.d.ts} +0 -2
  35. package/dist/date-input.d.ts +9 -12
  36. package/dist/date-input.js +3 -4
  37. package/dist/{decorate-VRK8rslU.js → decorate-Dxs8sFX8.js} +2 -4
  38. package/dist/{defaults-B4ePs4LB.js → defaults-_6ELsqLb.js} +2 -3
  39. package/dist/{detail-list-n1MbNbhF.d.ts → detail-list-E9WdMVbE.d.ts} +10 -16
  40. package/dist/{detail-list-w3GXKO2k.js → detail-list-vPVwE1CP.js} +17 -20
  41. package/dist/detail-list.d.ts +5 -5
  42. package/dist/detail-list.js +1 -2
  43. package/dist/{drag-ghost-DtSDvjri.js → drag-ghost-DNWu_RyN.js} +1 -2
  44. package/dist/{editable-label-rzXkjf1H.d.ts → editable-label-CiHCDlhC.d.ts} +0 -2
  45. package/dist/editable-label.d.ts +31 -1
  46. package/dist/editable-label.js +3 -4
  47. package/dist/{fallbacks-DQ_5OsmR.js → fallbacks-BPjjBoED.js} +1 -2
  48. package/dist/{flat-list-D_4y3wgn.d.ts → flat-list-CfutGqKY.d.ts} +8 -12
  49. package/dist/flat-list.d.ts +1 -1
  50. package/dist/flat-list.js +10 -11
  51. package/dist/{form-CY0nibZ5.js → form-Cxx2sO8_.js} +5 -9
  52. package/dist/{form-BGZK3jZd.d.ts → form-raTQNAWF.d.ts} +0 -4
  53. package/dist/form.d.ts +1 -1
  54. package/dist/form.js +1 -2
  55. package/dist/{grid-list-Cz2tKcNZ.js → grid-list-D2hinM64.js} +275 -41
  56. package/dist/{grid-list-CqYS28NY.d.ts → grid-list-OCdjuhng.d.ts} +60 -24
  57. package/dist/grid-list.d.ts +5 -5
  58. package/dist/grid-list.js +1 -2
  59. package/dist/{grouped-item-lister-CS4yInuw.d.ts → grouped-item-lister-1MlvJORP.d.ts} +2 -6
  60. package/dist/grouped-item-lister.d.ts +1 -1
  61. package/dist/grouped-item-lister.js +3 -4
  62. package/dist/{grouping-CUKgmkMm.d.ts → grouping-OoQ8WaKc.d.ts} +0 -2
  63. package/dist/{grouping-RYPnHkrS.js → grouping-kENdqzSV.js} +1 -2
  64. package/dist/{handle-DAXs7kbJ.js → handle-BVUWv97X.js} +1 -2
  65. package/dist/{hex-editor-Caq8vNQk.d.ts → hex-editor-BCBKRU9D.d.ts} +0 -4
  66. package/dist/{hex-editor-DiYpgIKs.js → hex-editor-DephDhuu.js} +12 -13
  67. package/dist/hex.d.ts +1 -1
  68. package/dist/hex.js +1 -2
  69. package/dist/{highlight-B-eQrhhb.js → highlight-noLHFSKZ.js} +1 -2
  70. package/dist/{icon-CDGprSdE.d.ts → icon-Bhz0c6Yf.d.ts} +0 -2
  71. package/dist/{icon-1gpwtPx8.js → icon-DvTQuylG.js} +4 -5
  72. package/dist/icons.d.ts +2 -2
  73. package/dist/icons.js +4 -5
  74. package/dist/{incr-search-Dc6gYpJG.js → incr-search-C5114RxZ.js} +14 -26
  75. package/dist/incr-search.d.ts +1 -1
  76. package/dist/incr-search.js +2 -2
  77. package/dist/{index-ZaA90u09.d.ts → index-0smh4WCH.d.ts} +3 -21
  78. package/dist/{index-VAs9akt4.d.ts → index-88ra6YHP.d.ts} +8 -22
  79. package/dist/{index-UvnoZUAo.d.ts → index-B7odjrlg.d.ts} +4 -8
  80. package/dist/{index-Bm9a9S3_.d.ts → index-CRLTVAyt.d.ts} +4 -30
  81. package/dist/{index-9ttcdwlL.d.ts → index-Cdcek1Oj.d.ts} +1 -3
  82. package/dist/index-Cn0qsz9a.d.ts +1632 -0
  83. package/dist/{index-YCDugjdu.d.ts → index-CzhYJJsx.d.ts} +7 -17
  84. package/dist/{index-CYndvTWH.d.ts → index-D6N4Lzek.d.ts} +1 -5
  85. package/dist/{index-CoqtMSd9.d.ts → index-DN6kC6an.d.ts} +1 -3
  86. package/dist/{index-DV3iaUBW2.d.ts → index-DrYQBts2.d.ts} +0 -14
  87. package/dist/{index-o-CWDt11.d.ts → index-DzocgUef.d.ts} +0 -4
  88. package/dist/{index-DN2BWctP.d.ts → index-PIrgX1bP.d.ts} +1 -7
  89. package/dist/index.d.ts +364 -491
  90. package/dist/index.js +139 -207
  91. package/dist/interaction-8Kbbf6xN.js +3 -0
  92. package/dist/{item-appearance-BjcMyauw.js → item-appearance-FRO3TRFI.js} +1 -2
  93. package/dist/{keyboard-B5xD7Fz-.js → keyboard-DMwjIYh7.js} +0 -1
  94. package/dist/{labelled-input-base-BFa4xlYV.js → labelled-input-base-KUhD02dh.js} +3 -5
  95. package/dist/{labelled-input-base-DiTme1JO.d.ts → labelled-input-base-jyr_SR6t.d.ts} +0 -2
  96. package/dist/labelled-radial-input.d.ts +4 -7
  97. package/dist/labelled-radial-input.js +5 -6
  98. package/dist/labelled-range-input.d.ts +1 -1
  99. package/dist/labelled-range-input.js +3 -4
  100. package/dist/{labelled-slider-input-FdCRi6st.js → labelled-slider-input-CfRKd5kC.js} +9 -11
  101. package/dist/labelled-slider-input.d.ts +1 -1
  102. package/dist/labelled-slider-input.js +1 -2
  103. package/dist/led.d.ts +3 -6
  104. package/dist/led.js +2 -3
  105. package/dist/list-group-header.d.ts +3 -6
  106. package/dist/list-group-header.js +3 -4
  107. package/dist/{list-native-drag-controller-CcXoS0YX.js → list-native-drag-controller-ByftBooJ.js} +5 -9
  108. package/dist/{list-native-drag-controller-D_UrXipS.d.ts → list-native-drag-controller-CgXKdmjr.d.ts} +1 -3
  109. package/dist/{list-selection-controller-D4iIrvJH.js → list-selection-controller-Dkh3m3hX.js} +3 -5
  110. package/dist/{list-selection-types-Dnamh2Lu.d.ts → list-selection-types-CKTt7Rrw.d.ts} +0 -2
  111. package/dist/{list-viewport-types-BRZsLcvp.d.ts → list-viewport-types-BJ8c6qur.d.ts} +0 -2
  112. package/dist/{menu-BX1FHxY8.js → menu-C3DhTjHx.js} +17 -27
  113. package/dist/{menu-item-oxU1VKiJ.js → menu-item-BSxhlWnW.js} +30 -15
  114. package/dist/{menu-item-bF6narIz.d.ts → menu-item-DJhaWy9z.d.ts} +10 -7
  115. package/dist/menu.d.ts +2 -2
  116. package/dist/menu.js +2 -2
  117. package/dist/{miller-BrmBywNZ.js → miller-DqDEaXqT.js} +15 -19
  118. package/dist/miller.d.ts +3 -3
  119. package/dist/miller.js +1 -2
  120. package/dist/narrowed-text.d.ts +1 -1
  121. package/dist/narrowed-text.js +8 -9
  122. package/dist/node-graph-DqEGv5QR.js +5369 -0
  123. package/dist/node-graph.d.ts +2 -0
  124. package/dist/node-graph.js +1 -0
  125. package/dist/{notification-pill-DyZydXoZ.d.ts → notification-pill-BiHEJk-o.d.ts} +0 -4
  126. package/dist/notifier.d.ts +1 -1
  127. package/dist/notifier.js +4 -5
  128. package/dist/{pan-text-CoYmt2qd.d.ts → pan-text-DKe2zinH.d.ts} +0 -2
  129. package/dist/{pan-text-CqtvjPyK.js → pan-text-DrJYKQKN.js} +3 -4
  130. package/dist/panel.d.ts +11 -14
  131. package/dist/panel.js +3 -4
  132. package/dist/{partial-keys-Ck6CiprB.js → partial-keys-D4l_ede_.js} +2 -3
  133. package/dist/{pending-BGidHppL.js → pending-Afl4LT64.js} +1 -2
  134. package/dist/plots.d.ts +1 -1
  135. package/dist/plots.js +1 -2
  136. package/dist/polar-pad.d.ts +5 -7
  137. package/dist/polar-pad.js +6 -7
  138. package/dist/{popup-D80sj2QC.js → popup-D8IxN1Eq.js} +1 -2
  139. package/dist/{prominence-DlFShic3.js → prominence-BOOQVWF-.js} +1 -2
  140. package/dist/{radial-input-KMVltQfe.js → radial-input-Cxys4TOG.js} +7 -9
  141. package/dist/{radial-input-DU6t2hYO.d.ts → radial-input-DNCSwRGF.d.ts} +1 -5
  142. package/dist/radial-input.d.ts +10 -1
  143. package/dist/radial-input.js +1 -2
  144. package/dist/range-input.d.ts +4 -6
  145. package/dist/range-input.js +5 -6
  146. package/dist/range.d.ts +4 -6
  147. package/dist/range.js +6 -7
  148. package/dist/{registry-BEtb8_wB.js → registry-DcF0fO7l.js} +1 -2
  149. package/dist/rolldown-runtime-D3KUYPsf.js +12 -0
  150. package/dist/{scroll-fade-Xx28D7mH.js → scroll-fade-DH8OXSqL.js} +1 -2
  151. package/dist/{scroll-hover-guard-Cjw6179Q.js → scroll-hover-guard-BGAjtyXT.js} +1 -2
  152. package/dist/select-horiz.d.ts +7 -9
  153. package/dist/select-horiz.js +8 -9
  154. package/dist/{slider-input-ByHdotzp.js → slider-input-C3mbUBZi.js} +6 -8
  155. package/dist/{slider-input-BxURAAmD.d.ts → slider-input-DHLGJKWF.d.ts} +1 -5
  156. package/dist/slider-input.d.ts +34 -1
  157. package/dist/slider-input.js +1 -2
  158. package/dist/snackbar.d.ts +5 -8
  159. package/dist/snackbar.js +4 -5
  160. package/dist/snap-container.d.ts +8 -11
  161. package/dist/snap-container.js +2 -3
  162. package/dist/{split-layout-DTY4PJRp.js → split-layout-BMN_s6d7.js} +10 -15
  163. package/dist/{split-layout-CophkNeU.d.ts → split-layout-HytcG1Bn.d.ts} +2 -8
  164. package/dist/split-layout.d.ts +1 -1
  165. package/dist/split-layout.js +1 -2
  166. package/dist/sunburst-tree.d.ts +1 -1
  167. package/dist/sunburst-tree.js +1 -2
  168. package/dist/{sunbursttree-list-DQF6DcsS.js → sunbursttree-list-C-FuZB5z.js} +23 -32
  169. package/dist/{sunbursttree-list-Bk20giTF.d.ts → sunbursttree-list-CsrmVSB8.d.ts} +5 -11
  170. package/dist/swipe.d.ts +7 -9
  171. package/dist/swipe.js +5 -6
  172. package/dist/{tab-list-Df371rqw.d.ts → tab-list-BXMRYJeR.d.ts} +1 -5
  173. package/dist/{tab-list-R_bGbDvO.js → tab-list-CFJy3hVm.js} +6 -15
  174. package/dist/tabs.d.ts +1 -1
  175. package/dist/tabs.js +1 -2
  176. package/dist/{tickled-controller-D-HZymaZ.js → tickled-controller-BVhGKzjZ.js} +1 -2
  177. package/dist/{tickled-controller-DodxD3eQ.d.ts → tickled-controller-DSPoG551.d.ts} +0 -2
  178. package/dist/{tickled-styles-BrAHEj1q.js → tickled-styles-pnieYweS.js} +1 -2
  179. package/dist/{timeline-BP1Ux2EV.js → timeline-Br5JIeLI.js} +9 -15
  180. package/dist/timeline.d.ts +1 -1
  181. package/dist/timeline.js +1 -2
  182. package/dist/{titlebar-Tqu-VvMU.d.ts → titlebar-BtLAF2ws.d.ts} +1 -3
  183. package/dist/titlebar.d.ts +1 -1
  184. package/dist/titlebar.js +4 -5
  185. package/dist/{tooltip-CJt3WLmN.js → tooltip-B7t_u6EY.js} +1 -2
  186. package/dist/{tooltip-BlvBUQxx.d.ts → tooltip-Bl4HpBue.d.ts} +0 -2
  187. package/dist/transitory-label.d.ts +3 -6
  188. package/dist/transitory-label.js +2 -3
  189. package/dist/{tree-BaXYyt5U.js → tree-BP5fxvEX.js} +24 -34
  190. package/dist/{tree-CftHwtEb.js → tree-DUc-iQcg.js} +2 -3
  191. package/dist/{tree-component-DgfkxmVY.d.ts → tree-component-DNuzfo6R.d.ts} +2 -8
  192. package/dist/tree.d.ts +3 -3
  193. package/dist/tree.js +1 -2
  194. package/dist/{types-LU1u0CB8.d.ts → types-16GC5k1z.d.ts} +0 -2
  195. package/dist/{types-Jky6oNAp.d.ts → types-6hpXRKt7.d.ts} +1 -3
  196. package/dist/unit-input.d.ts +11 -14
  197. package/dist/unit-input.js +3 -4
  198. package/dist/{vertical-list-o5hfqH87.js → vertical-list-B9z1lbjM.js} +13 -15
  199. package/dist/{vertical-list-DtHX26JO.d.ts → vertical-list-BzeXehBt.d.ts} +7 -13
  200. package/dist/vertical-list.d.ts +4 -4
  201. package/dist/vertical-list.js +1 -2
  202. package/dist/{view-state-controller-BdyXWUUM.js → view-state-controller-DiPAPiA7.js} +3 -6
  203. package/dist/{wheel-nudge-D5rmht3v.js → wheel-nudge-DgJzrL28.js} +2 -3
  204. package/dist/{wheel-nudge-By5s_ioH.d.ts → wheel-nudge-oMFKat9P.d.ts} +1 -3
  205. package/dist/{xy-axis-DQqd2yXJ.d.ts → xy-axis-Bf6WfOS2.d.ts} +0 -12
  206. package/dist/{xy-axis-CyMd_Bn1.js → xy-axis-CBpml-3S.js} +11 -20
  207. package/dist/xy-pad.d.ts +7 -9
  208. package/dist/xy-pad.js +6 -7
  209. package/docs-user/README.md +1 -0
  210. package/docs-user/grid-list.md +65 -0
  211. package/docs-user/index.json +7 -2
  212. package/docs-user/llms.txt +1 -0
  213. package/docs-user/node-graph.md +376 -0
  214. package/llms.txt +1 -0
  215. package/package.json +39 -24
  216. package/bundle/rolldown-runtime-CEoa-xHZ.js +0 -1
  217. package/dist/interaction-E-uMGHkJ.js +0 -3
  218. package/dist/rolldown-runtime-D7D4PA-g.js +0 -13
@@ -1,16 +1,15 @@
1
- import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
2
- import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
3
- import "./index-9ttcdwlL.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
- import "./pan-text-CoYmt2qd.js";
7
- import { i as ListGroupChangeEvent, n as ListGroupBy, o as ListGroupInfo, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-CUKgmkMm.js";
1
+ import { i as ListGroupChangeEvent, n as ListGroupBy, o as ListGroupInfo, s as ListGroupLabel, u as ListGroupToggleEvent } from "./grouping-OoQ8WaKc.js";
2
+ import { a as ViewStateBase, t as GetViewStateOptions } from "./types-16GC5k1z.js";
3
+ import { h as ListSelectionMode, i as ListInteractionMode, p as ListSelectIntentSource, s as ListMarqueeMode, u as ListSelectIntentDetail } from "./list-selection-types-CKTt7Rrw.js";
4
+ import "./list-native-drag-controller-CgXKdmjr.js";
5
+ import { i as TickledItem, n as TickledController } from "./tickled-controller-DSPoG551.js";
6
+ import "./index-Cdcek1Oj.js";
7
+ import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DNuzfo6R.js";
8
+ import { S as ListSearchController } from "./index-CRLTVAyt.js";
8
9
  import "./list-group-header.js";
9
- import "./list-native-drag-controller-D_UrXipS.js";
10
- import { i as TickledItem, n as TickledController } from "./tickled-controller-DodxD3eQ.js";
10
+ import "./pan-text-DKe2zinH.js";
11
11
  import { LitElement, PropertyValues, ReactiveController, ReactiveControllerHost, html } from "lit";
12
12
  import { CommandRegistry } from "@clinth/ui-commands";
13
- //#region src/common/view-state/pending.d.ts
14
13
  /**
15
14
  * Pure helpers for *pending* view state: keyed intent that is waiting for a
16
15
  * matching item to appear in the data.
@@ -55,8 +54,6 @@ declare function flagsToRecord(...sources: Array<Iterable<readonly [string, bool
55
54
  declare function keysToArray(...sources: Array<Iterable<string>>): string[];
56
55
  /** Map `keys` to `true` flags — for components that record a plain key set. */
57
56
  declare function keysAsFlags(keys: Iterable<string>, value?: boolean): Iterable<readonly [string, boolean]>;
58
- //#endregion
59
- //#region src/interaction/list-drag-select-controller.d.ts
60
57
  /** Surface-relative rectangle: origin at the scroll container's top-left. */
61
58
  type DragSelectRect = {
62
59
  readonly x: number;
@@ -129,8 +126,6 @@ declare class ListDragSelectController<T> implements ReactiveController {
129
126
  /** Re-bind when the surface element appears/changes (e.g. first render). */
130
127
  hostUpdated(): void;
131
128
  }
132
- //#endregion
133
- //#region src/interaction/list-selection-controller.d.ts
134
129
  /** Modifier state needed to route a click gesture per interaction mode. */
135
130
  type ListSelectionGesture = {
136
131
  readonly ctrlKey: boolean;
@@ -354,8 +349,6 @@ declare class ListSelectionController<T> {
354
349
  */
355
350
  seed(items: Iterable<T>, anchor?: T): void;
356
351
  }
357
- //#endregion
358
- //#region src/interaction/tree-keyboard-controller.d.ts
359
352
  type TreeKeyboardNavItemId = string;
360
353
  type TreeKeyboardNavCallbacks = {
361
354
  getItems: () => ReadonlyArray<TickledItem<TreeKeyboardNavItemId>>;
@@ -383,8 +376,6 @@ declare class TreeKeyboardNavController implements ReactiveController {
383
376
  hostDisconnected(): void;
384
377
  handleKeyDown: (event: KeyboardEvent) => void;
385
378
  }
386
- //#endregion
387
- //#region src/grid-list/types.d.ts
388
379
  /**
389
380
  * Adapter for data-backed grid list mode.
390
381
  * @param T The type of data item.
@@ -419,6 +410,17 @@ type GridListDataAdapter<T> = {
419
410
  */
420
411
  badge?: (item: T, index: number) => unknown;
421
412
  };
413
+ /**
414
+ * One entry of a batched item update — see `GridListElement.updateItems`.
415
+ *
416
+ * @typeParam T The type of data item.
417
+ */
418
+ type GridListItemUpdate<T> = {
419
+ /** Key of the item to replace. Unknown keys are ignored. */
420
+ readonly key: string;
421
+ /** The new value for that item. */
422
+ readonly item: T;
423
+ };
422
424
  /**
423
425
  * Common detail for per-item events (activate, click, tickle), key-first in
424
426
  * BOTH element and data modes. `item` is the backward-compat field — Element in
@@ -513,8 +515,6 @@ interface GridListFullElementEventMap extends GridListElementEventMap {
513
515
  'grid-list-viewport-change': GridListViewportChangeEvent;
514
516
  'list-native-drag-start': ListNativeDragStartEvent;
515
517
  }
516
- //#endregion
517
- //#region src/grid-list/grid-list-view-state.d.ts
518
518
  /**
519
519
  * Pure view-state helpers for `ixfx-grid-list`. The component runs
520
520
  * {@link reconcileGroups} whenever its item set or grouping changes, so a
@@ -530,8 +530,6 @@ interface GridListFullElementEventMap extends GridListElementEventMap {
530
530
  * are ever recorded).
531
531
  */
532
532
  type GridListViewState = ViewStateBase;
533
- //#endregion
534
- //#region src/grid-list/grid-list.d.ts
535
533
  declare class GridListElement<T = unknown> extends LitElement {
536
534
  #private;
537
535
  static styles: import("lit").CSSResult[];
@@ -760,8 +758,47 @@ declare class GridListElement<T = unknown> extends LitElement {
760
758
  * place (the keyed subtree is kept); an offscreen item shows its new content
761
759
  * when scrolled into view. Scroll and selection are untouched. Unknown keys
762
760
  * are ignored.
761
+ *
762
+ * Passing the **same object** that is already at `key` is a no-op: the
763
+ * `items` array is left untouched (same identity) and nothing is emitted.
764
+ * Use {@link refreshItem} to re-render a cell without changing the data.
765
+ *
766
+ * Updating many items one by one? Use {@link updateItems} — it applies them
767
+ * with a single array copy and a single rebuild.
763
768
  */
764
769
  updateItem(key: string, item: T): void;
770
+ /**
771
+ * Data mode: replace several items at once — the batched form of
772
+ * {@link updateItem}.
773
+ *
774
+ * `entries` is an array of `{ key, item }` pairs (a `Map<key, item>` is
775
+ * accepted too). All the replacements are applied with **one** array copy
776
+ * and **one** source rebuild, so a host that must refresh n rows does not
777
+ * pay n copies and n scans.
778
+ *
779
+ * Semantics match n sequential {@link updateItem} calls:
780
+ * - unknown keys are ignored;
781
+ * - an entry whose `item` is the identical object already at that key is
782
+ * skipped (it cannot change anything);
783
+ * - selection, cursor and scroll are untouched;
784
+ * - if no entry changes anything, `items` is left untouched (same identity)
785
+ * and nothing is emitted.
786
+ */
787
+ updateItems(entries: Iterable<GridListItemUpdate<T>> | ReadonlyMap<string, T>): void;
788
+ /**
789
+ * Data mode: re-render the cell for `key` without touching `items`.
790
+ *
791
+ * Use this when the *data* is unchanged but the cell should be redrawn — for
792
+ * example after mutating something the adapter reads from outside the item
793
+ * (a thumbnail's load state). The `items` array keeps its identity, so the
794
+ * collection is not copied and no source rebuild is triggered.
795
+ *
796
+ * The adapter's `render` is called again for that cell on the next render,
797
+ * so the cell picks up the new state. Other cells are left alone.
798
+ *
799
+ * Unknown keys are ignored. A no-op in element mode.
800
+ */
801
+ refreshItem(key: string): void;
765
802
  /**
766
803
  * Data mode: remove the items carrying these keys. Removed keys leave the
767
804
  * selection and cursor silently (via the `items` change) and are held as
@@ -840,5 +877,4 @@ interface GridListElement {
840
877
  addEventListener<K extends keyof GridListFullElementEventMap>(type: K, listener: (this: GridListElement, ev: GridListFullElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
841
878
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
842
879
  }
843
- //#endregion
844
- export { gestureOf as A, capFlags as B, TreeKeyboardNavController as C, ListSelectionControllerConfig as D, ListSelectionController as E, EMPTY_FLAGS as F, keysToArray as G, flagsFromRecord as H, EMPTY_KEYS as I, withoutFlag as J, partitionFlags as K, MAX_PENDING_KEYS as L, DragSelectRect as M, ListDragSelectController as N, ListSelectionGesture as O, ListDragSelectControllerConfig as P, PendingFlags as R, TreeKeyboardNavCallbacks as S, TreeKeyboardNavItemId as T, flagsToRecord as U, capKeys as V, keysAsFlags as W, GridListSelectEvent as _, GridListCaptionAlign as a, GridListViewportChangeDetail as b, GridListCaptionStyle as c, GridListFullElementEventMap as d, GridListItemClickDetail as f, GridListSelectDetail as g, GridListOrientation as h, GridListActivateEvent as i, isMultiMode as j, ListSelectionModes as k, GridListDataAdapter as l, GridListItemEventDetail as m, GridListViewState as n, GridListCaptionBackdrop as o, GridListItemClickEvent as p, partitionKeys as q, GridListActivateDetail as r, GridListCaptionPosition as s, GridListElement as t, GridListElementEventMap as u, GridListTickleDetail as v, TreeKeyboardNavControllerConfig as w, GridListViewportChangeEvent as x, GridListTickleEvent as y, PendingKeys as z };
880
+ export { ListSelectionModes as A, PendingKeys as B, TreeKeyboardNavCallbacks as C, ListSelectionController as D, TreeKeyboardNavItemId as E, ListDragSelectControllerConfig as F, keysAsFlags as G, capKeys as H, EMPTY_FLAGS as I, partitionKeys as J, keysToArray as K, EMPTY_KEYS as L, isMultiMode as M, DragSelectRect as N, ListSelectionControllerConfig as O, ListDragSelectController as P, MAX_PENDING_KEYS as R, GridListViewportChangeEvent as S, TreeKeyboardNavControllerConfig as T, flagsFromRecord as U, capFlags as V, flagsToRecord as W, withoutFlag as Y, GridListSelectDetail as _, GridListCaptionAlign as a, GridListTickleEvent as b, GridListCaptionStyle as c, GridListFullElementEventMap as d, GridListItemClickDetail as f, GridListOrientation as g, GridListItemUpdate as h, GridListActivateEvent as i, gestureOf as j, ListSelectionGesture as k, GridListDataAdapter as l, GridListItemEventDetail as m, GridListViewState as n, GridListCaptionBackdrop as o, GridListItemClickEvent as p, partitionFlags as q, GridListActivateDetail as r, GridListCaptionPosition as s, GridListElement as t, GridListElementEventMap as u, GridListSelectEvent as v, TreeKeyboardNavController as w, GridListViewportChangeDetail as x, GridListTickleDetail as y, PendingFlags as z };
@@ -1,5 +1,5 @@
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-CqYS28NY.js";
3
- import { h as ListSelectionMode, i as ListInteractionMode } from "./list-selection-types-Dnamh2Lu.js";
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
- 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 };
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-DNuzfo6R.js";
2
+ import { S as GridListViewportChangeEvent, _ as GridListSelectDetail, a as GridListCaptionAlign, b as GridListTickleEvent, c as GridListCaptionStyle, d as GridListFullElementEventMap, f as GridListItemClickDetail, g as GridListOrientation, h as GridListItemUpdate, 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 GridListSelectEvent, x as GridListViewportChangeDetail, y as GridListTickleDetail } from "./grid-list-OCdjuhng.js";
3
+ import { h as ListSelectionMode, i as ListInteractionMode } from "./list-selection-types-CKTt7Rrw.js";
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-OoQ8WaKc.js";
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 GridListItemUpdate, 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,2 @@
1
1
  import "./list-group-header.js";
2
- import { t as GridListElement } from "./grid-list-Cz2tKcNZ.js";
3
- export { GridListElement };
2
+ export { t as GridListElement } from "./grid-list-D2hinM64.js";
@@ -1,9 +1,8 @@
1
- import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
2
- import { h as ListSelectionMode } from "./list-selection-types-Dnamh2Lu.js";
1
+ import { r as IDataProvider } from "./data-provider-Cq_ylpET.js";
2
+ import { h as ListSelectionMode } from "./list-selection-types-CKTt7Rrw.js";
3
3
  import "./panel.js";
4
4
  import { LitElement, PropertyValues, nothing } from "lit";
5
5
  import { CommandId } from "@clinth/ui-commands";
6
- //#region src/grouped-item-lister/types.d.ts
7
6
  /**
8
7
  * Fired when the selection set changes by any means.
9
8
  * Event name: `select`
@@ -83,8 +82,6 @@ type GroupedSelectEvent<T> = CustomEvent<GroupedSelectDetail<T>>;
83
82
  interface GroupedItemListerElementEventMap<T> {
84
83
  'grouped-select': GroupedSelectEvent<T>;
85
84
  }
86
- //#endregion
87
- //#region src/grouped-item-lister/grouped-item-lister.d.ts
88
85
  declare class GroupedItemListerElement<T = unknown> extends LitElement {
89
86
  #private;
90
87
  grouped: boolean;
@@ -116,5 +113,4 @@ declare global {
116
113
  interface GroupedItemListerElement<T> {
117
114
  addEventListener: (<K extends keyof GroupedItemListerElementEventMap<T>>(type: K, listener: (this: GroupedItemListerElement<T>, event: GroupedItemListerElementEventMap<T>[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
118
115
  }
119
- //#endregion
120
116
  export { IGroupedSubComponent as a, SubComponentActivateEvent as c, SubComponentItemClickEvent as d, SubComponentSelectDetail as f, SubComponentTickleEvent as h, GroupedSelectEvent as i, SubComponentFactory as l, SubComponentTickleDetail as m, GroupedItemListerElementEventMap as n, IGroupedSubComponentEventMap as o, SubComponentSelectEvent as p, GroupedSelectDetail as r, SubComponentActivateDetail as s, GroupedItemListerElement as t, SubComponentItemClickDetail as u };
@@ -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-CS4yInuw.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-1MlvJORP.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 };
@@ -1,10 +1,10 @@
1
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
2
- import { t as DataController } from "./data-controller-DOlmqNKb.js";
1
+ import { t as DataController } from "./data-controller-q-rXRMzJ.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
3
  import "./panel.js";
4
4
  import { LitElement, html, nothing } from "lit";
5
5
  import { property } from "lit/decorators.js";
6
6
  import { repeat } from "lit/directives/repeat.js";
7
- //#region src/grouped-item-lister/grouped-item-lister.ts
7
+ // src/grouped-item-lister/grouped-item-lister.ts
8
8
  const UNGROUPED_KEY = `__ungrouped__`;
9
9
  let GroupedItemListerElement = class GroupedItemListerElement extends LitElement {
10
10
  constructor(..._args) {
@@ -171,5 +171,4 @@ __decorate([property({
171
171
  reflect: true
172
172
  })], GroupedItemListerElement.prototype, "crossGroupSelection", void 0);
173
173
  GroupedItemListerElement = __decorate([safeCustomElement(`ixfx-grouped-item-lister`)], GroupedItemListerElement);
174
- //#endregion
175
174
  export { GroupedItemListerElement };
@@ -1,4 +1,3 @@
1
- //#region src/interaction/grouping.d.ts
2
1
  /**
3
2
  * Shared, DOM-free grouping helpers for list components
4
3
  * (`ixfx-grid-list`, `ixfx-detail-list`). Semantics mirror `ixfx-data-grid`:
@@ -58,5 +57,4 @@ declare function resolveGroupKey<T>(groupBy: ListGroupBy<T>, item: T, index: num
58
57
  declare function partitionByGroup<T>(items: readonly T[], keyOf: (item: T, index: number) => string, labelOf?: ListGroupLabel): Array<ListGroupPartition<T>>;
59
58
  /** Immutable toggle of `key` in `set`. */
60
59
  declare function toggleInSet(set: ReadonlySet<string>, key: string): Set<string>;
61
- //#endregion
62
60
  export { ListGroupEventMap as a, ListGroupPartition as c, defaultGroupLabel as d, partitionByGroup as f, toggleInSet as h, ListGroupChangeEvent as i, ListGroupToggleDetail as l, toGroupKey as m, ListGroupBy as n, ListGroupInfo as o, resolveGroupKey as p, ListGroupChangeDetail as r, ListGroupLabel as s, EMPTY_GROUP_LABEL as t, ListGroupToggleEvent as u };
@@ -1,4 +1,4 @@
1
- //#region src/interaction/grouping.ts
1
+ // src/interaction/grouping.ts
2
2
  /** Label shown for the empty group key. */
3
3
  const EMPTY_GROUP_LABEL = `(none)`;
4
4
  /** Default header label: the key, or `(none)` for the empty key. */
@@ -47,5 +47,4 @@ function toggleInSet(set, key) {
47
47
  else next.add(key);
48
48
  return next;
49
49
  }
50
- //#endregion
51
50
  export { toGroupKey as a, resolveGroupKey as i, defaultGroupLabel as n, toggleInSet as o, partitionByGroup as r, EMPTY_GROUP_LABEL as t };
@@ -1,5 +1,5 @@
1
1
  import { css } from "lit";
2
- //#region src/styles/handle.ts
2
+ // src/styles/handle.ts
3
3
  /**
4
4
  * Shared drag / resize **handle** styling.
5
5
  *
@@ -650,5 +650,4 @@ const handleStyles = css`
650
650
  }
651
651
  }
652
652
  `;
653
- //#endregion
654
653
  export { handleStyles as t };
@@ -1,5 +1,4 @@
1
1
  import { LitElement } from "lit";
2
- //#region src/hex/types.d.ts
3
2
  type BytePos = number;
4
3
  type SingleSelection = {
5
4
  readonly kind: `single`;
@@ -24,8 +23,6 @@ type DiffEntry = {
24
23
  };
25
24
  type Diff = ReadonlyMap<BytePos, DiffEntry>;
26
25
  type ColourScheme = `ascii` | `shade`;
27
- //#endregion
28
- //#region src/hex/hex-editor.d.ts
29
26
  declare class IxfxHexEditorElement extends LitElement {
30
27
  columns: number;
31
28
  colourScheme: ColourScheme;
@@ -124,5 +121,4 @@ declare global {
124
121
  'ixfx-hex-editor': IxfxHexEditorElement;
125
122
  }
126
123
  }
127
- //#endregion
128
124
  export { NoneSelectEventDetail as a, SingleSelectEventDetail as c, IxfxHexEditorElement as i, HexChangeDetail as n, RectangularSelectEventDetail as o, HexChangeEvent as r, SelectEventDetail as s, ContiguousSelectEventDetail as t };
@@ -1,10 +1,10 @@
1
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
1
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
2
2
  import { LitElement, css, html } from "lit";
3
3
  import { property, state } from "lit/decorators.js";
4
4
  import { styleMap } from "lit/directives/style-map.js";
5
5
  import { repeat } from "lit/directives/repeat.js";
6
6
  import { Colour } from "@ixfx/visual";
7
- //#region src/hex/colour.ts
7
+ // src/hex/colour.ts
8
8
  const WHITESPACE_BYTES = /* @__PURE__ */ new Set([
9
9
  9,
10
10
  10,
@@ -34,8 +34,7 @@ function createShadeMap(nullColour, maxColour, stepStart, stepEnd) {
34
34
  return cssSteps[byte >> 4];
35
35
  } };
36
36
  }
37
- //#endregion
38
- //#region src/hex/data.ts
37
+ // src/hex/data.ts
39
38
  function createHexStore(data) {
40
39
  return {
41
40
  data: new Uint8Array(data),
@@ -102,8 +101,7 @@ function reverseDiff(diff) {
102
101
  function getChangeset(store) {
103
102
  return store.changeset;
104
103
  }
105
- //#endregion
106
- //#region src/hex/diff.ts
104
+ // src/hex/diff.ts
107
105
  function createUndoRedoStack() {
108
106
  return {
109
107
  undos: [],
@@ -124,11 +122,14 @@ function redo(stack) {
124
122
  if (diff) stack.undos.push(diff);
125
123
  return diff;
126
124
  }
127
- //#endregion
128
- //#region src/hex/selection.ts
125
+ // src/hex/selection.ts
129
126
  const bytesPerRow = (columns) => columns * 4;
130
- const min = (a, b) => a < b ? a : b;
131
- const max = (a, b) => a > b ? a : b;
127
+ function min(a, b) {
128
+ return a < b ? a : b;
129
+ }
130
+ function max(a, b) {
131
+ return a > b ? a : b;
132
+ }
132
133
  function clampPos(pos, dataLength) {
133
134
  return Math.max(0, Math.min(pos, dataLength - 1));
134
135
  }
@@ -292,8 +293,7 @@ function selectionFromPointerRange(start, end, mode, columns) {
292
293
  height: Math.abs(endY - startY) + 1
293
294
  };
294
295
  }
295
- //#endregion
296
- //#region src/hex/hex-editor.ts
296
+ // src/hex/hex-editor.ts
297
297
  let IxfxHexEditorElement = class IxfxHexEditorElement extends LitElement {
298
298
  constructor(..._args) {
299
299
  super(..._args);
@@ -1139,5 +1139,4 @@ __decorate([state()], IxfxHexEditorElement.prototype, "_containerH", void 0);
1139
1139
  __decorate([state()], IxfxHexEditorElement.prototype, "_shadeMap", void 0);
1140
1140
  __decorate([state()], IxfxHexEditorElement.prototype, "_focusSide", void 0);
1141
1141
  IxfxHexEditorElement = __decorate([safeCustomElement(`ixfx-hex-editor`)], IxfxHexEditorElement);
1142
- //#endregion
1143
1142
  export { IxfxHexEditorElement as t };
package/dist/hex.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as NoneSelectEventDetail, c as SingleSelectEventDetail, i as IxfxHexEditorElement, n as HexChangeDetail, o as RectangularSelectEventDetail, r as HexChangeEvent, s as SelectEventDetail, t as ContiguousSelectEventDetail } from "./hex-editor-Caq8vNQk.js";
1
+ import { a as NoneSelectEventDetail, c as SingleSelectEventDetail, i as IxfxHexEditorElement, n as HexChangeDetail, o as RectangularSelectEventDetail, r as HexChangeEvent, s as SelectEventDetail, t as ContiguousSelectEventDetail } from "./hex-editor-BCBKRU9D.js";
2
2
  export { ContiguousSelectEventDetail, HexChangeDetail, HexChangeEvent, IxfxHexEditorElement, NoneSelectEventDetail, RectangularSelectEventDetail, SelectEventDetail, SingleSelectEventDetail };
package/dist/hex.js CHANGED
@@ -1,2 +1 @@
1
- import { t as IxfxHexEditorElement } from "./hex-editor-DiYpgIKs.js";
2
- export { IxfxHexEditorElement };
1
+ export { t as IxfxHexEditorElement } from "./hex-editor-DephDhuu.js";
@@ -1,4 +1,4 @@
1
- //#region src/incr-search/highlight.ts
1
+ // src/incr-search/highlight.ts
2
2
  const DEFAULT_KEY = `incr-search-highlight`;
3
3
  function applyHighlights(targets, options = {}) {
4
4
  if (typeof CSS === `undefined` || !CSS.highlights) return;
@@ -44,5 +44,4 @@ function findTextNode(element, expectedText) {
44
44
  }
45
45
  return null;
46
46
  }
47
- //#endregion
48
47
  export { buildHighlightTargets as n, clearHighlights as r, applyHighlights as t };
@@ -1,5 +1,4 @@
1
1
  import { LitElement, nothing } from "lit";
2
- //#region src/icons/icon.d.ts
3
2
  declare class IxfxIconElement extends LitElement {
4
3
  #private;
5
4
  name: string;
@@ -18,5 +17,4 @@ declare global {
18
17
  'ixfx-icon': IxfxIconElement;
19
18
  }
20
19
  }
21
- //#endregion
22
20
  export { IxfxIconElement as t };
@@ -1,11 +1,11 @@
1
- import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
2
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
3
- import { a as iconBus, n as getIconEntry, r as getIconFont } from "./registry-BEtb8_wB.js";
1
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
+ import { a as iconBus, n as getIconEntry, r as getIconFont } from "./registry-DcF0fO7l.js";
4
4
  import { LitElement, css, html, nothing } from "lit";
5
5
  import { property } from "lit/decorators.js";
6
6
  import { styleMap } from "lit/directives/style-map.js";
7
7
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
8
- //#region src/icons/icon.ts
8
+ // src/icons/icon.ts
9
9
  let IxfxIconElement = class IxfxIconElement extends LitElement {
10
10
  constructor(..._args) {
11
11
  super(..._args);
@@ -134,5 +134,4 @@ __decorate([property({
134
134
  reflect: true
135
135
  })], IxfxIconElement.prototype, "rotate", void 0);
136
136
  IxfxIconElement = __decorate([safeCustomElement(`ixfx-icon`)], IxfxIconElement);
137
- //#endregion
138
137
  export { IxfxIconElement as t };
package/dist/icons.d.ts CHANGED
@@ -1,3 +1,3 @@
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";
1
+ import { t as IxfxIconElement } from "./icon-Bhz0c6Yf.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-D6N4Lzek.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 };
package/dist/icons.js CHANGED
@@ -1,7 +1,6 @@
1
- import { a as iconBus, c as setIconFont, i as hasIcon, l as svgToDataUri, n as getIconEntry, o as registerFontIcon, r as getIconFont, s as registerIcon, t as getIcon } from "./registry-BEtb8_wB.js";
2
- import { t as IxfxIconElement } from "./icon-1gpwtPx8.js";
3
- import { a as registerDefaults, i as ICON_CLOSE, n as ICON_CHECK, r as ICON_CHEVRON_DOWN, t as ICON_CARET_RIGHT } from "./defaults-B4ePs4LB.js";
4
- //#region src/icons/index.ts
1
+ import { a as registerDefaults, i as ICON_CLOSE, n as ICON_CHECK, r as ICON_CHEVRON_DOWN, t as ICON_CARET_RIGHT } from "./defaults-_6ELsqLb.js";
2
+ import { t as IxfxIconElement } from "./icon-DvTQuylG.js";
3
+ import { a as iconBus, c as setIconFont, i as hasIcon, l as svgToDataUri, n as getIconEntry, o as registerFontIcon, r as getIconFont, s as registerIcon, t as getIcon } from "./registry-DcF0fO7l.js";
4
+ // src/icons/index.ts
5
5
  registerDefaults();
6
- //#endregion
7
6
  export { ICON_CARET_RIGHT, ICON_CHECK, ICON_CHEVRON_DOWN, ICON_CLOSE, IxfxIconElement, getIcon, getIconEntry, getIconFont, hasIcon, iconBus, registerFontIcon, registerIcon, setIconFont, svgToDataUri };
@@ -1,8 +1,8 @@
1
- import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-B-eQrhhb.js";
2
- import "./icon-1gpwtPx8.js";
1
+ import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-noLHFSKZ.js";
2
+ import "./icon-DvTQuylG.js";
3
3
  import { css, html, nothing } from "lit";
4
4
  import { Fzf } from "fzf";
5
- //#region src/incr-search/fuzzy.ts
5
+ // src/incr-search/fuzzy.ts
6
6
  function defaultSelector(item) {
7
7
  if (typeof item === `string`) return item;
8
8
  const r = item;
@@ -34,8 +34,7 @@ function createFuzzySearch(items, options = {}) {
34
34
  items
35
35
  };
36
36
  }
37
- //#endregion
38
- //#region src/incr-search/ac-adapter.ts
37
+ // src/incr-search/ac-adapter.ts
39
38
  /**
40
39
  * Creates an ixfx-ac-text-compatible `completionProvider` function from a
41
40
  * static item list. Uses synchronous fuzzy search wrapped in a Promise so it
@@ -65,8 +64,7 @@ function createAcCompletionProvider(items, options = {}) {
65
64
  resolve(results);
66
65
  });
67
66
  }
68
- //#endregion
69
- //#region src/incr-search/incr-search.ts
67
+ // src/incr-search/incr-search.ts
70
68
  function buildState(results, query) {
71
69
  const positionsByItem = /* @__PURE__ */ new Map();
72
70
  for (const r of results) positionsByItem.set(r.item, r.positions);
@@ -133,8 +131,7 @@ function createIncrSearch(options = {}) {
133
131
  }
134
132
  };
135
133
  }
136
- //#endregion
137
- //#region src/incr-search/controller-tree.ts
134
+ // src/incr-search/controller-tree.ts
138
135
  const DEFAULT_HIGHLIGHT_KEY$1 = `incr-search-highlight`;
139
136
  /**
140
137
  * External-input filter-search controller for `TreeSearchHost` components.
@@ -234,8 +231,7 @@ var IncrSearchTreeController = class {
234
231
  applyHighlights(targets, { key });
235
232
  }
236
233
  };
237
- //#endregion
238
- //#region src/incr-search/data-list-search-adapter.ts
234
+ // src/incr-search/data-list-search-adapter.ts
239
235
  /**
240
236
  * A {@link ListSearchAdapter} over a data-backed list. Unlike the element
241
237
  * adapter it never materialises an element per item — it reads keys and text
@@ -271,8 +267,7 @@ function createDataListSearchAdapter(host, options) {
271
267
  highlightKey: `grid-list-search`
272
268
  };
273
269
  }
274
- //#endregion
275
- //#region src/interaction/keyed-list.ts
270
+ // src/interaction/keyed-list.ts
276
271
  /**
277
272
  * Helpers for key-based selection on the Element-flavoured list components
278
273
  * (`ixfx-vertical-list`, `ixfx-detail-list`, `ixfx-grid-list`).
@@ -354,8 +349,7 @@ var KeyedElementIndex = class {
354
349
  this.#dirty = false;
355
350
  }
356
351
  };
357
- //#endregion
358
- //#region src/incr-search/element-list-search-adapter.ts
352
+ // src/incr-search/element-list-search-adapter.ts
359
353
  function defaultLabel(el) {
360
354
  return el.getAttribute(`data-search-label`) ?? el.textContent?.trim() ?? ``;
361
355
  }
@@ -415,8 +409,7 @@ function createElementListSearchAdapter(host, options = {}) {
415
409
  container: observeContainer ? () => host : void 0
416
410
  };
417
411
  }
418
- //#endregion
419
- //#region src/incr-search/element-search.ts
412
+ // src/incr-search/element-search.ts
420
413
  const defaultGetLabel = (el) => el.textContent?.trim() ?? ``;
421
414
  function defaultGetKey(el) {
422
415
  return el.getAttribute(`data-key`) ?? el.getAttribute(`data-value`) ?? el.textContent?.trim() ?? ``;
@@ -503,8 +496,7 @@ function createElementIncrSearch(opts) {
503
496
  }
504
497
  };
505
498
  }
506
- //#endregion
507
- //#region src/incr-search/list-search-commands.ts
499
+ // src/incr-search/list-search-commands.ts
508
500
  /** Command ids registered by {@link registerListSearchCommands}, keyed by mode. */
509
501
  const LIST_SEARCH_COMMAND_IDS = {
510
502
  navigate: `list.search.navigate`,
@@ -549,8 +541,7 @@ function registerListSearchCommands(registry, controller, options = {}) {
549
541
  for (const commandId of registered) registry.unregister(commandId);
550
542
  };
551
543
  }
552
- //#endregion
553
- //#region src/incr-search/list-search-controller.ts
544
+ // src/incr-search/list-search-controller.ts
554
545
  /** Canonical order — used for the switch-row and to normalise a requested set. */
555
546
  const LIST_SEARCH_MODES = [
556
547
  `navigate`,
@@ -995,8 +986,7 @@ var ListSearchController = class {
995
986
  clearHighlights({ key: this.#highlightKey });
996
987
  }
997
988
  };
998
- //#endregion
999
- //#region src/incr-search/list-search-styles.ts
989
+ // src/incr-search/list-search-styles.ts
1000
990
  /**
1001
991
  * Styles for the incremental-search popover rendered by
1002
992
  * `ListSearchController.renderField()`. Add to a component's `static styles`;
@@ -1130,8 +1120,7 @@ const listSearchStyles = css`
1130
1120
  color: var(--search-highlight-color, var(--accent-text, #000));
1131
1121
  }
1132
1122
  `;
1133
- //#endregion
1134
- //#region src/incr-search/tree-list-search-adapter.ts
1123
+ // src/incr-search/tree-list-search-adapter.ts
1135
1124
  /**
1136
1125
  * The label's own text. Highlights are painted on one text node matched by its
1137
1126
  * exact content, but a Lit-rendered label also holds template whitespace and
@@ -1175,5 +1164,4 @@ function createTreeListSearchAdapter(host, options = {}) {
1175
1164
  highlightKey: options.highlightKey
1176
1165
  };
1177
1166
  }
1178
- //#endregion
1179
1167
  export { LIST_SEARCH_COMMAND_IDS as a, createElementListSearchAdapter as c, keysOfElements as d, createDataListSearchAdapter as f, createFuzzySearch as g, createAcCompletionProvider as h, ListSearchController as i, KeyedElementIndex as l, createIncrSearch as m, listSearchStyles as n, registerListSearchCommands as o, IncrSearchTreeController as p, LIST_SEARCH_MODES as r, createElementIncrSearch as s, createTreeListSearchAdapter as t, keyForElement as u };
@@ -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-Bm9a9S3_.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-CRLTVAyt.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
- 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-Dc6gYpJG.js";
1
+ import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-noLHFSKZ.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-C5114RxZ.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 };