@ixfx/components 0.16.4 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/bundle/index.d.ts +4192 -1718
  2. package/bundle/index.js +1237 -234
  3. package/bundle/rolldown-runtime-CAoDHAWh.js +1 -0
  4. package/dist/ac-text.d.ts +20 -12
  5. package/dist/ac-text.js +17 -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 +57 -0
  36. package/dist/date-input.js +122 -0
  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-BHo9TBxX.js} +20 -24
  56. package/dist/{grid-list-CqYS28NY.d.ts → grid-list-Dg8hIiKO.d.ts} +9 -23
  57. package/dist/grid-list.d.ts +4 -4
  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 +391 -490
  90. package/dist/index.js +269 -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 +77 -0
  197. package/dist/unit-input.js +230 -0
  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 +3 -0
  210. package/docs-user/ac-text.md +2 -1
  211. package/docs-user/ac-token.md +2 -0
  212. package/docs-user/date-input.md +29 -0
  213. package/docs-user/dock.md +17 -1
  214. package/docs-user/index.json +17 -2
  215. package/docs-user/llms.txt +3 -0
  216. package/docs-user/node-graph.md +376 -0
  217. package/docs-user/unit-input.md +39 -0
  218. package/llms.txt +3 -0
  219. package/package.json +48 -25
  220. package/bundle/rolldown-runtime-CEoa-xHZ.js +0 -1
  221. package/dist/interaction-E-uMGHkJ.js +0 -3
  222. package/dist/rolldown-runtime-D7D4PA-g.js +0 -13
@@ -1,9 +1,9 @@
1
- import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
2
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
1
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
3
  import { LitElement, css } from "lit";
4
4
  import { property } from "lit/decorators.js";
5
5
  import { rangeStream, round } from "@ixfx/numbers";
6
- //#region src/data-display/data-display.ts
6
+ // src/data-display/data-display.ts
7
7
  let DataDisplayComponent = class DataDisplayComponent extends LitElement {
8
8
  static {
9
9
  this.styles = [themeFallbacks, css`
@@ -323,5 +323,4 @@ let DataDisplayComponent = class DataDisplayComponent extends LitElement {
323
323
  };
324
324
  __decorate([property({ type: Boolean })], DataDisplayComponent.prototype, "automap", void 0);
325
325
  DataDisplayComponent = __decorate([safeCustomElement(`ixfx-data-display`)], DataDisplayComponent);
326
- //#endregion
327
326
  export { DataDisplayComponent };
@@ -1,25 +1,25 @@
1
- import { t as TickledController } from "./tickled-controller-D-HZymaZ.js";
2
- import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-BrAHEj1q.js";
3
- import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
4
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
5
- import "./icon-1gpwtPx8.js";
6
- import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-Dc6gYpJG.js";
7
- import { t as handleStyles } from "./handle-DAXs7kbJ.js";
8
- import { a as listItemFadeKeyframes, t as ListNativeDragController } from "./list-native-drag-controller-CcXoS0YX.js";
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 { i as sameKeySet, r as isPartialKey, t as PARTIAL_DESCRIPTION } from "./partial-keys-Ck6CiprB.js";
11
- import "./interaction-E-uMGHkJ.js";
12
- import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
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";
15
- import { t as createDragGhost } from "./drag-ghost-DtSDvjri.js";
16
- import "./menu-BX1FHxY8.js";
17
- import "./pan-text-CqtvjPyK.js";
1
+ import { t as TickledController } from "./tickled-controller-BVhGKzjZ.js";
2
+ import { n as tickledStyles, t as tickledItemStyles } from "./tickled-styles-pnieYweS.js";
3
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-FRO3TRFI.js";
4
+ import { i as ListSearchController, n as listSearchStyles, o as registerListSearchCommands, r as LIST_SEARCH_MODES } from "./incr-search-C5114RxZ.js";
5
+ import "./interaction-8Kbbf6xN.js";
6
+ import { a as listItemFadeKeyframes, t as ListNativeDragController } from "./list-native-drag-controller-ByftBooJ.js";
7
+ import { i as sameKeySet, r as isPartialKey, t as PARTIAL_DESCRIPTION } from "./partial-keys-D4l_ede_.js";
8
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
9
+ import { a as capKeys, l as keysToArray, n as EMPTY_KEYS, o as flagsFromRecord, r as MAX_PENDING_KEYS } from "./pending-Afl4LT64.js";
10
+ import { t as handleStyles } from "./handle-BVUWv97X.js";
11
+ import { t as scrollFadeStyles } from "./scroll-fade-DH8OXSqL.js";
12
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
13
+ import { n as anchorFromRow, o as scrollToOffset, t as ViewStateController } from "./view-state-controller-DiPAPiA7.js";
14
+ import { t as createDragGhost } from "./drag-ghost-DNWu_RyN.js";
15
+ import "./icon-DvTQuylG.js";
16
+ import "./menu-C3DhTjHx.js";
17
+ import "./pan-text-DrJYKQKN.js";
18
18
  import { LitElement, css, html, nothing } from "lit";
19
19
  import { property, query, state } from "lit/decorators.js";
20
20
  import { createCommandRegistry } from "@clinth/ui-commands";
21
21
  import { repeat } from "lit/directives/repeat.js";
22
- //#region src/data-grid/data-grid-view-state.ts
22
+ // src/data-grid/data-grid-view-state.ts
23
23
  const EMPTY_COLUMNS = /* @__PURE__ */ new Map();
24
24
  const EMPTY_ORDER = /* @__PURE__ */ new Map();
25
25
  /**
@@ -203,8 +203,7 @@ function withOrder(layout, order) {
203
203
  function capMap(map, max = MAX_PENDING_KEYS) {
204
204
  return map.size <= max ? map : new Map([...map].slice(map.size - max));
205
205
  }
206
- //#endregion
207
- //#region src/data-grid/shift-wheel.ts
206
+ // src/data-grid/shift-wheel.ts
208
207
  /**
209
208
  * Shift + vertical mouse wheel → horizontal scroll.
210
209
  *
@@ -252,8 +251,7 @@ function attachShiftWheel(getScroller) {
252
251
  detachWheel();
253
252
  };
254
253
  }
255
- //#endregion
256
- //#region src/data-grid/data-grid.ts
254
+ // src/data-grid/data-grid.ts
257
255
  /** `CSS.highlights` key for incremental-search matches, styled in `listSearchStyles`. */
258
256
  const SEARCH_HIGHLIGHT_KEY = `data-grid-search`;
259
257
  const EMPTY_CELL_LOOK = {
@@ -2618,5 +2616,4 @@ __decorate([query(`.viewport`)], DataGridElement.prototype, "_viewportEl", void
2618
2616
  __decorate([query(`.header-row`)], DataGridElement.prototype, "_headerRowEl", void 0);
2619
2617
  __decorate([state()], DataGridElement.prototype, "_partialKeys", void 0);
2620
2618
  DataGridElement = __decorate([safeCustomElement(`ixfx-data-grid`)], DataGridElement);
2621
- //#endregion
2622
2619
  export { DataGridElement as t };
@@ -1,15 +1,14 @@
1
- import "./icon-CDGprSdE.js";
2
- import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
3
- import { a as ViewStateBase, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
4
- import "./index-9ttcdwlL.js";
5
- import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.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
- import "./pan-text-CoYmt2qd.js";
1
+ import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DNuzfo6R.js";
2
+ import { m as ListSelectKeysDetail, u as ListSelectIntentDetail } from "./list-selection-types-CKTt7Rrw.js";
3
+ import { a as ViewStateBase, t as GetViewStateOptions } from "./types-16GC5k1z.js";
4
+ import { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BJ8c6qur.js";
5
+ import "./index-Cdcek1Oj.js";
6
+ import { S as ListSearchController } from "./index-CRLTVAyt.js";
7
+ import "./icon-Bhz0c6Yf.js";
8
+ import "./index-0smh4WCH.js";
9
+ import "./pan-text-DKe2zinH.js";
10
10
  import { LitElement } from "lit";
11
11
  import { CommandId, CommandRegistry } from "@clinth/ui-commands";
12
- //#region src/data-grid/types.d.ts
13
12
  type DataGridSelectionMode = `none` | `single` | `multiple`;
14
13
  type DataGridInteractionMode = `standard` | `implicit` | `manual` | `checked` | `sticky` | `vscode`;
15
14
  type DataGridSortDirection = `asc` | `desc`;
@@ -101,8 +100,6 @@ type DataGridGroupBy<R> = string | ((row: R) => string);
101
100
  type DataGridGroupLabel = (groupKey: string, rows: readonly unknown[]) => string;
102
101
  /** Whether the data-grid renders its built-in header column/group menu. */
103
102
  type DataGridColumnMenu = `auto` | `none`;
104
- //#endregion
105
- //#region src/data-grid/data-grid-view-state.d.ts
106
103
  /**
107
104
  * Pure view-state helpers for `ixfx-data-grid`. The grid runs these whenever
108
105
  * its rows or columns change, so state keyed to rows / columns that left the
@@ -126,8 +123,6 @@ type DataGridViewState = ViewStateBase & {
126
123
  /** Group-by column key (`null` = ungrouped). Only recorded when `allowGrouping` is on. */
127
124
  readonly groupBy?: string | null;
128
125
  };
129
- //#endregion
130
- //#region src/data-grid/data-grid.d.ts
131
126
  type DataGridSortDetail = {
132
127
  readonly sort: DataGridSortState;
133
128
  readonly previous: DataGridSortState;
@@ -466,5 +461,4 @@ interface DataGridElement {
466
461
  addEventListener: (<K extends keyof DataGridElementEventMap>(type: K, listener: (this: DataGridElement, event: DataGridElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
467
462
  removeEventListener: (<K extends keyof DataGridElementEventMap>(type: K, listener: (this: DataGridElement, event: DataGridElementEventMap[K]) => void, options?: boolean | EventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => void);
468
463
  }
469
- //#endregion
470
464
  export { DataGridColumn as A, DataGridInteractionMode as B, DataGridSortEvent as C, DataGridViewState as D, DataGridColumnViewState as E, DataGridEditorFactory as F, GlobalFormatter as G, DataGridSelectionMode as H, DataGridEditorType as I, DataGridGetRowKey as L, DataGridDataType as M, DataGridEditability as N, BuiltInFormatterName as O, DataGridEditorContext as P, DataGridGroupBy as R, DataGridSortDetail as S, DataGridViewportChangeEvent as T, DataGridSortDirection as U, DataGridRowLook as V, DataGridSortState as W, DataGridRowActivateDetail as _, DataGridColumnReorderDetail as a, DataGridSelectEvent as b, DataGridColumnResizeEvent as c, DataGridElement as d, DataGridElementEventMap as f, DataGridListSelectEvent as g, DataGridListSelectDetail as h, DataGridCellEditEvent as i, DataGridColumnMenu as j, BuiltInFormatterOptions as k, DataGridColumnVisibilityDetail as l, DataGridGroupChangeEvent as m, DataGridCellClickEvent as n, DataGridColumnReorderEvent as o, DataGridGroupChangeDetail as p, DataGridCellEditDetail as r, DataGridColumnResizeDetail as s, DataGridCellClickDetail as t, DataGridColumnVisibilityEvent as u, DataGridRowActivateEvent as v, DataGridViewportChangeDetail as w, DataGridSelectIntentEvent as x, DataGridSelectDetail as y, DataGridGroupLabel as z };
@@ -1,3 +1,3 @@
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-CslzF16R.js";
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 { 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-vasJtjFP.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 @@
1
- import { t as DataGridElement } from "./data-grid-8TsiF2ES.js";
2
- export { DataGridElement };
1
+ export { t as DataGridElement } from "./data-grid-BcO3SMac.js";
@@ -1,4 +1,4 @@
1
- //#region src/common/data-provider.ts
1
+ // src/common/data-provider.ts
2
2
  /**
3
3
  * Collects all items from any DataProviderResult into a flat array.
4
4
  * Useful for components that need a complete list before rendering (e.g. tree branches).
@@ -17,5 +17,4 @@ async function collectDataResult(result, signal) {
17
17
  }
18
18
  return result;
19
19
  }
20
- //#endregion
21
20
  export { collectDataResult as t };
@@ -1,4 +1,3 @@
1
- //#region src/common/data-provider.d.ts
2
1
  /**
3
2
  * Shared data-provider contract used by components that render a list of items.
4
3
  *
@@ -56,5 +55,4 @@ type IDataProvider<TQuery, TItem> = (query: TQuery, signal: AbortSignal) => Data
56
55
  * Respects the AbortSignal — stops accumulating if cancelled mid-stream.
57
56
  */
58
57
  declare function collectDataResult<T>(result: DataProviderResult<T>, signal: AbortSignal): Promise<readonly T[]>;
59
- //#endregion
60
58
  export { collectDataResult as i, DataProviderResult as n, IDataProvider as r, DataBatch as t };
@@ -0,0 +1,57 @@
1
+ import { LitElement } from "lit";
2
+ export type DateInputType = `date` | `datetime-local`;
3
+ export type DateInputChangeDetail = {
4
+ /** The text value: `YYYY-MM-DD` or `YYYY-MM-DDTHH:mm`. Empty when cleared or incomplete. */
5
+ readonly value: string;
6
+ /** The value as a local-time `Date`, or `null` when empty. */
7
+ readonly date: Date | null;
8
+ };
9
+ export type DateInputChangeEvent = CustomEvent<DateInputChangeDetail>;
10
+ /**
11
+ * Parse a `date` / `datetime-local` string into a local-time `Date`.
12
+ * Returns `null` for an empty or malformed value.
13
+ */
14
+ export declare function parseDateInput(value: string): Date | null;
15
+ /** Format a local-time `Date` for a `date` / `datetime-local` input. */
16
+ export declare function formatDateInput(date: Date, type: DateInputType): string;
17
+ /**
18
+ * Date or date-time input that follows the theme.
19
+ *
20
+ * Wraps the native picker (so keyboard entry, the calendar popup and
21
+ * localisation come from the browser) and styles it like the other inputs.
22
+ *
23
+ * @fires {DateInputChangeEvent} change — when the user changes the value
24
+ *
25
+ * @example
26
+ * ```html
27
+ * <ixfx-date-input type="date" value="2026-11-09"></ixfx-date-input>
28
+ * ```
29
+ */
30
+ export declare class DateInputElement extends LitElement {
31
+ #private;
32
+ /** `date` or `datetime-local`. */
33
+ type: DateInputType;
34
+ /** `YYYY-MM-DD` or `YYYY-MM-DDTHH:mm`, matching `type`. Empty for none. */
35
+ value: string;
36
+ min: string;
37
+ max: string;
38
+ disabled: boolean;
39
+ name: string;
40
+ /** The value as a local-time `Date`, or `null` when empty. */
41
+ get date(): Date | null;
42
+ set date(date: Date | null);
43
+ focus(options?: FocusOptions): void;
44
+ protected render(): import("lit").TemplateResult<1>;
45
+ static styles: import("lit").CSSResult[];
46
+ }
47
+ declare global {
48
+ interface HTMLElementTagNameMap {
49
+ 'ixfx-date-input': DateInputElement;
50
+ }
51
+ }
52
+ export interface DateInputElementEventMap {
53
+ change: DateInputChangeEvent;
54
+ }
55
+ export interface DateInputElement {
56
+ addEventListener: (<K extends keyof DateInputElementEventMap>(type: K, listener: (this: DateInputElement, event: DateInputElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
57
+ }
@@ -0,0 +1,122 @@
1
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
+ import { LitElement, css, html } from "lit";
4
+ import { property } from "lit/decorators.js";
5
+ // src/date-input/date-input.ts
6
+ /**
7
+ * Parse a `date` / `datetime-local` string into a local-time `Date`.
8
+ * Returns `null` for an empty or malformed value.
9
+ */
10
+ function parseDateInput(value) {
11
+ const m = /^(\d{4,})-(\d{2})-(\d{2})(?:T(\d{2}):(\d{2})(?::(\d{2}))?)?$/.exec(value);
12
+ if (!m) return null;
13
+ const [, y, mo, d, h = `0`, mi = `0`, s = `0`] = m;
14
+ const date = new Date(Number(y), Number(mo) - 1, Number(d), Number(h), Number(mi), Number(s));
15
+ return Number.isNaN(date.getTime()) ? null : date;
16
+ }
17
+ /** Format a local-time `Date` for a `date` / `datetime-local` input. */
18
+ function formatDateInput(date, type) {
19
+ const p = (n, w = 2) => String(n).padStart(w, `0`);
20
+ const day = `${p(date.getFullYear(), 4)}-${p(date.getMonth() + 1)}-${p(date.getDate())}`;
21
+ return type === `date` ? day : `${day}T${p(date.getHours())}:${p(date.getMinutes())}`;
22
+ }
23
+ let DateInputElement = class DateInputElement extends LitElement {
24
+ constructor(..._args) {
25
+ super(..._args);
26
+ this.type = `datetime-local`;
27
+ this.value = ``;
28
+ this.min = ``;
29
+ this.max = ``;
30
+ this.disabled = false;
31
+ this.name = ``;
32
+ this.#onChange = (e) => {
33
+ e.stopPropagation();
34
+ this.value = e.target.value;
35
+ this.dispatchEvent(new CustomEvent(`change`, {
36
+ detail: {
37
+ value: this.value,
38
+ date: this.date
39
+ },
40
+ bubbles: true,
41
+ composed: true
42
+ }));
43
+ };
44
+ }
45
+ /** The value as a local-time `Date`, or `null` when empty. */
46
+ get date() {
47
+ return parseDateInput(this.value);
48
+ }
49
+ set date(date) {
50
+ this.value = date === null ? `` : formatDateInput(date, this.type);
51
+ }
52
+ focus(options) {
53
+ this.shadowRoot?.querySelector(`input`)?.focus(options);
54
+ }
55
+ #onChange;
56
+ render() {
57
+ return html`
58
+ <input
59
+ type=${this.type}
60
+ name=${this.name}
61
+ .value=${this.value}
62
+ min=${this.min}
63
+ max=${this.max}
64
+ ?disabled=${this.disabled}
65
+ @change=${this.#onChange}
66
+ >
67
+ `;
68
+ }
69
+ static {
70
+ this.styles = [themeFallbacks, css`
71
+ :host {
72
+ --date-input-padding: var(--space-m, 8px) var(--space-l, 12px);
73
+ --date-input-background: var(--surface-3, var(--surface-2));
74
+ --date-input-border: var(--border);
75
+ --date-input-border-radius: var(--radius-m, 4px);
76
+
77
+ display: inline-block;
78
+ font-family: var(--font-family, system-ui, sans-serif);
79
+ font-size: var(--text-m, 12px);
80
+ }
81
+
82
+ input {
83
+ appearance: none;
84
+ box-sizing: border-box;
85
+ width: 100%;
86
+ padding: var(--date-input-padding);
87
+ background: var(--date-input-background);
88
+ color: var(--surface-2-text);
89
+ border: var(--date-input-border);
90
+ border-radius: var(--date-input-border-radius);
91
+ font: inherit;
92
+ color-scheme: inherit;
93
+ outline: none;
94
+ transition: border-color var(--transition, 0.15s ease-out);
95
+ }
96
+
97
+ input:focus {
98
+ border-color: var(--accent);
99
+ }
100
+
101
+ input:disabled {
102
+ opacity: var(--prominence-disabled-opacity, 0.4);
103
+ }
104
+
105
+ input::-webkit-calendar-picker-indicator {
106
+ cursor: pointer;
107
+ filter: invert(var(--date-input-icon-invert, 0));
108
+ }
109
+ `];
110
+ }
111
+ };
112
+ __decorate([property({ type: String })], DateInputElement.prototype, "type", void 0);
113
+ __decorate([property({ type: String })], DateInputElement.prototype, "value", void 0);
114
+ __decorate([property({ type: String })], DateInputElement.prototype, "min", void 0);
115
+ __decorate([property({ type: String })], DateInputElement.prototype, "max", void 0);
116
+ __decorate([property({
117
+ type: Boolean,
118
+ reflect: true
119
+ })], DateInputElement.prototype, "disabled", void 0);
120
+ __decorate([property({ type: String })], DateInputElement.prototype, "name", void 0);
121
+ DateInputElement = __decorate([safeCustomElement(`ixfx-date-input`)], DateInputElement);
122
+ export { DateInputElement, formatDateInput, parseDateInput };
@@ -1,4 +1,4 @@
1
- //#region src/util/custom-elements.ts
1
+ // src/util/custom-elements.ts
2
2
  function getRegistry() {
3
3
  if (typeof customElements === `undefined`) return void 0;
4
4
  return customElements;
@@ -13,13 +13,11 @@ function safeCustomElement(name) {
13
13
  safeDefine(name, ctor);
14
14
  };
15
15
  }
16
- //#endregion
17
- //#region \0@oxc-project+runtime@0.143.0/helpers/esm/decorate.js
16
+ // \0@oxc-project+runtime@0.157.0/helpers/esm/decorate.js
18
17
  function __decorate(decorators, target, key, desc) {
19
18
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
19
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
20
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
22
21
  return c > 3 && r && Object.defineProperty(target, key, r), r;
23
22
  }
24
- //#endregion
25
23
  export { safeCustomElement as n, __decorate as t };
@@ -1,5 +1,5 @@
1
- import { s as registerIcon } from "./registry-BEtb8_wB.js";
2
- //#region src/icons/defaults.ts
1
+ import { s as registerIcon } from "./registry-DcF0fO7l.js";
2
+ // src/icons/defaults.ts
3
3
  /** Chevron pointing down (Lucide `chevron-down`). Used for split-button dropdown toggle. */
4
4
  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>`;
5
5
  /**
@@ -56,5 +56,4 @@ function registerDefaults() {
56
56
  registerIcon(`ellipsis-vertical`, ICON_ELLIPSIS_VERTICAL);
57
57
  registerIcon(`ellipsis`, ICON_ELLIPSIS);
58
58
  }
59
- //#endregion
60
59
  export { registerDefaults as a, ICON_CLOSE as i, ICON_CHECK as n, ICON_CHEVRON_DOWN as r, ICON_CARET_RIGHT as t };
@@ -1,17 +1,16 @@
1
- import "./icon-CDGprSdE.js";
2
- import { r as IDataProvider } from "./data-provider-BAn_-oR1.js";
3
- import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DgfkxmVY.js";
4
- import { a as ViewStateBase, s as ViewStateChangeEvent, t as GetViewStateOptions } from "./types-LU1u0CB8.js";
5
- import "./index-9ttcdwlL.js";
6
- import { n as ListViewportChangeEvent } from "./list-viewport-types-BRZsLcvp.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
- 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-DtHX26JO.js";
1
+ import { r as IDataProvider } from "./data-provider-Cq_ylpET.js";
2
+ import { a as ListGroupEventMap, o as ListGroupInfo, s as ListGroupLabel } from "./grouping-OoQ8WaKc.js";
3
+ import { L as ListDragPreviewRenderer, R as ListDragPreviewSourceResolver, V as ListNativeDragStartEvent } from "./tree-component-DNuzfo6R.js";
4
+ import { a as ViewStateBase, s as ViewStateChangeEvent, t as GetViewStateOptions } from "./types-16GC5k1z.js";
5
+ import { h as ListSelectionMode, i as ListInteractionMode, r as ListElementEventMap } from "./list-selection-types-CKTt7Rrw.js";
6
+ import { n as ListViewportChangeEvent } from "./list-viewport-types-BJ8c6qur.js";
7
+ import "./index-Cdcek1Oj.js";
8
+ import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-BzeXehBt.js";
9
+ import { S as ListSearchController } from "./index-CRLTVAyt.js";
10
+ import "./icon-Bhz0c6Yf.js";
11
11
  import "./list-group-header.js";
12
12
  import { LitElement, PropertyValues } from "lit";
13
13
  import { CommandId, CommandRegistry } from "@clinth/ui-commands";
14
- //#region src/detail-list/detail-list-view-state.d.ts
15
14
  /**
16
15
  * Pure helpers behind `ixfx-detail-list`'s view state (see
17
16
  * `docs/infra-view-state.md`). The component keeps only the wiring.
@@ -25,8 +24,6 @@ import { CommandId, CommandRegistry } from "@clinth/ui-commands";
25
24
  * visible column.
26
25
  */
27
26
  type DetailListViewState = ViewStateBase;
28
- //#endregion
29
- //#region src/detail-list/types.d.ts
30
27
  /** Sort direction applied to the item columns. */
31
28
  type DetailSortMode = `none` | `ascending` | `descending`;
32
29
  /** Per-item view of a row passed to `sortComparator`. */
@@ -45,8 +42,6 @@ type DetailFormatter = (item: unknown, index: number) => string | Node;
45
42
  * for declarative rows) and its `<li>` element.
46
43
  */
47
44
  type DetailGroupBy = string | ((data: unknown, el: Element) => string);
48
- //#endregion
49
- //#region src/detail-list/detail-list.d.ts
50
45
  /**
51
46
  * A list that scales horizontally, not vertically.
52
47
  *
@@ -311,5 +306,4 @@ interface DetailListElementEventMap extends ListElementEventMap, ListGroupEventM
311
306
  'list-native-drag-start': ListNativeDragStartEvent<Element>;
312
307
  'view-state-change': ViewStateChangeEvent<DetailListViewState>;
313
308
  }
314
- //#endregion
315
309
  export { DetailSortComparator as a, DetailListViewState as c, DetailGroupBy as i, DetailListElementEventMap as n, DetailSortItem as o, DetailFormatter as r, DetailSortMode as s, DetailListElement as t };
@@ -1,22 +1,22 @@
1
- import { t as TickledController } from "./tickled-controller-D-HZymaZ.js";
2
- import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
3
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
4
- import "./icon-1gpwtPx8.js";
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-Dc6gYpJG.js";
7
- import { a as toGroupKey, r as partitionByGroup } from "./grouping-RYPnHkrS.js";
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-D4iIrvJH.js";
10
- import { a as capKeys, d as partitionKeys, l as keysToArray, o as flagsFromRecord } from "./pending-BGidHppL.js";
11
- import { i as sameKeySet, n as applyPartialAttributes, r as isPartialKey } from "./partial-keys-Ck6CiprB.js";
12
- import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.js";
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";
1
+ import { t as DataController } from "./data-controller-q-rXRMzJ.js";
2
+ import { n as appearanceColor, t as appearanceAbsent } from "./item-appearance-FRO3TRFI.js";
3
+ 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-C5114RxZ.js";
4
+ import { a as toGroupKey, r as partitionByGroup } from "./grouping-kENdqzSV.js";
5
+ import { i as ListDragSelectController, n as gestureOf, t as ListSelectionController } from "./list-selection-controller-Dkh3m3hX.js";
6
+ import { i as animateListItemOut, r as animateListItemIn, t as ListNativeDragController } from "./list-native-drag-controller-ByftBooJ.js";
7
+ import { i as sameKeySet, n as applyPartialAttributes, r as isPartialKey } from "./partial-keys-D4l_ede_.js";
8
+ import { t as TickledController } from "./tickled-controller-BVhGKzjZ.js";
9
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
10
+ import { a as capKeys, d as partitionKeys, l as keysToArray, o as flagsFromRecord } from "./pending-Afl4LT64.js";
11
+ import { t as scrollFadeStyles } from "./scroll-fade-DH8OXSqL.js";
12
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
13
+ import { a as restoreElementScroll, o as scrollToOffset, r as captureElementScroll, t as ViewStateController } from "./view-state-controller-DiPAPiA7.js";
14
+ import "./icon-DvTQuylG.js";
15
15
  import "./list-group-header.js";
16
16
  import { LitElement, css, html, nothing, render } from "lit";
17
17
  import { property, query, state } from "lit/decorators.js";
18
18
  import { createCommandRegistry } from "@clinth/ui-commands";
19
- //#region src/detail-list/detail-list-geometry.ts
19
+ // src/detail-list/detail-list-geometry.ts
20
20
  const EMPTY_GEOMETRY = {
21
21
  columns: [],
22
22
  positions: /* @__PURE__ */ new Map(),
@@ -132,8 +132,7 @@ function itemsInSpanByOrder(items, origin, start, end) {
132
132
  const to = partitionPoint(from, n, (i) => box(i).right <= start);
133
133
  return items.slice(from, to);
134
134
  }
135
- //#endregion
136
- //#region src/detail-list/detail-list-view-state.ts
135
+ // src/detail-list/detail-list-view-state.ts
137
136
  const DETAIL_LIST_VIEW_STATE_KIND = `detail-list`;
138
137
  /**
139
138
  * Collapsed group keys as an `expanded` record. Collapsed keys whose group
@@ -188,8 +187,7 @@ function applyListScroll(viewport, scroll, resolve) {
188
187
  }
189
188
  return scrollToOffset(viewport, scroll.left ?? 0, `horizontal`);
190
189
  }
191
- //#endregion
192
- //#region src/detail-list/detail-list.ts
190
+ // src/detail-list/detail-list.ts
193
191
  const ITEM_SELECTOR = `:scope > li`;
194
192
  const GROUP_HEADER_ATTR = `data-ixfx-group-header`;
195
193
  const GROUP_COLLAPSED_ATTR = `data-group-collapsed`;
@@ -2271,5 +2269,4 @@ __decorate([property({
2271
2269
  __decorate([state()], DetailListElement.prototype, "_collapsedGroups", void 0);
2272
2270
  __decorate([query(`ul`)], DetailListElement.prototype, "_listEl", void 0);
2273
2271
  DetailListElement = __decorate([safeCustomElement(`ixfx-detail-list`)], DetailListElement);
2274
- //#endregion
2275
2272
  export { DetailListElement as t };
@@ -1,6 +1,6 @@
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 { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
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-n1MbNbhF.js";
5
- import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-DtHX26JO.js";
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 { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BJ8c6qur.js";
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-OoQ8WaKc.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-E9WdMVbE.js";
5
+ import { n as CustomCheckboxOptions, t as AddItemOptions } from "./vertical-list-BzeXehBt.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,2 @@
1
- import { t as DetailListElement } from "./detail-list-w3GXKO2k.js";
1
+ export { t as DetailListElement } from "./detail-list-vPVwE1CP.js";
2
2
  import "./list-group-header.js";
3
- export { DetailListElement };
@@ -1,4 +1,4 @@
1
- //#region src/util/drag-ghost.ts
1
+ // src/util/drag-ghost.ts
2
2
  /**
3
3
  * Theme-aware floating element helper.
4
4
  *
@@ -79,5 +79,4 @@ function createDragGhost(opts) {
79
79
  }
80
80
  };
81
81
  }
82
- //#endregion
83
82
  export { createDragGhost as t };
@@ -1,5 +1,4 @@
1
1
  import { CSSResult, LitElement, PropertyValues } from "lit";
2
- //#region src/editable-label/editable-label.d.ts
3
2
  type EditableMode = `label` | `editor`;
4
3
  type EntryMode = `free` | `text` | `number` | `percent`;
5
4
  type DisplayTextLogic = `hidden` | `show` | `override` | `transient`;
@@ -70,5 +69,4 @@ declare global {
70
69
  'ixfx-editable-label': EditableLabel;
71
70
  }
72
71
  }
73
- //#endregion
74
72
  export { EditableMode as a, EditableLabelChangeEvent as i, EditableLabel as n, EntryMode as o, EditableLabelChangeDetail as r, DisplayTextLogic as t };
@@ -1,2 +1,32 @@
1
- import { a as EditableMode, i as EditableLabelChangeEvent, n as EditableLabel, o as EntryMode, r as EditableLabelChangeDetail, t as DisplayTextLogic } from "./editable-label-rzXkjf1H.js";
1
+ /**
2
+ * <ixfx-editable-label> — inline editable text label.
3
+ *
4
+ * Two display modes:
5
+ * label (default) — renders as plain text until clicked, then becomes an editable box.
6
+ * editor — always renders as an editable box; becomes active on focus/click.
7
+ *
8
+ * Entry modes (filter characters as typed):
9
+ * free (default) — no restrictions
10
+ * text — alphabetical characters and spaces only
11
+ * number — digits, decimal point, minus sign
12
+ * percent — digits, decimal point, percent sign
13
+ *
14
+ * Properties (not attributes):
15
+ * validator (value: string) => boolean — override commit validation; default uses entry-mode rules
16
+ * formatter (value: string) => string — transform committed value for display
17
+ *
18
+ * Events:
19
+ * input — CustomEvent<{ value: string }>, bubbles + composed; fired as value changes during editing
20
+ * change — CustomEvent<{ value: string }>, bubbles + composed; fired when value is committed
21
+ *
22
+ * CSS variables:
23
+ * --label-font-size defaults to var(--text-m, 12px)
24
+ * --label-font-family defaults to var(--font-family, system-ui, sans-serif)
25
+ * --label-color defaults to var(--surface-2-text)
26
+ * --label-muted-color placeholder colour, defaults to var(--surface-muted-text)
27
+ * --label-padding defaults to var(--space-xs, 3px) var(--space-s, 4px)
28
+ * --label-radius defaults to var(--radius-s, 3px)
29
+ * --label-align text alignment: left | center (default) | right
30
+ */
31
+ import { a as EditableMode, i as EditableLabelChangeEvent, n as EditableLabel, o as EntryMode, r as EditableLabelChangeDetail, t as DisplayTextLogic } from "./editable-label-CiHCDlhC.js";
2
32
  export { DisplayTextLogic, EditableLabel, EditableLabelChangeDetail, EditableLabelChangeEvent, EditableMode, EntryMode };
@@ -1,8 +1,8 @@
1
- import { t as themeFallbacks } from "./fallbacks-DQ_5OsmR.js";
2
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
1
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
3
  import { LitElement, css, html, nothing } from "lit";
4
4
  import { property, state } from "lit/decorators.js";
5
- //#region src/editable-label/editable-label.ts
5
+ // src/editable-label/editable-label.ts
6
6
  let EditableLabel = class EditableLabel extends LitElement {
7
7
  constructor(..._args) {
8
8
  super(..._args);
@@ -322,5 +322,4 @@ function _selectAll(el) {
322
322
  sel?.removeAllRanges();
323
323
  sel?.addRange(range);
324
324
  }
325
- //#endregion
326
325
  export { EditableLabel };
@@ -1,5 +1,5 @@
1
1
  import { css } from "lit";
2
- //#region src/styles/fallbacks.ts
2
+ // src/styles/fallbacks.ts
3
3
  /**
4
4
  * Default fallback values for theme CSS variables.
5
5
  *
@@ -416,5 +416,4 @@ _registerThemeFallbacksOnce();
416
416
  * pattern working across all consuming components.
417
417
  */
418
418
  const themeFallbacks = css``;
419
- //#endregion
420
419
  export { themeFallbacks as t };