@ixfx/components 0.16.5 → 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 (217) hide show
  1. package/bundle/index.d.ts +4043 -1746
  2. package/bundle/index.js +1061 -204
  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-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 +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/index.json +7 -2
  211. package/docs-user/llms.txt +1 -0
  212. package/docs-user/node-graph.md +376 -0
  213. package/llms.txt +1 -0
  214. package/package.json +39 -24
  215. package/bundle/rolldown-runtime-CEoa-xHZ.js +0 -1
  216. package/dist/interaction-E-uMGHkJ.js +0 -3
  217. package/dist/rolldown-runtime-D7D4PA-g.js +0 -13
@@ -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 { n as ListViewportChangeEvent, t as ListViewportChangeDetail } from "./list-viewport-types-BRZsLcvp.js";
3
- import { _ as ListTickleEvent, a as ListItemClickDetail, c as ListSelectDetail, g as ListTickleDetail, h as ListSelectionMode, i as ListInteractionMode, l as ListSelectEvent, n as ListActivateEvent, o as ListItemClickEvent, r as ListElementEventMap, t as ListActivateDetail } from "./list-selection-types-Dnamh2Lu.js";
4
- import { a as VerticalListViewState, c as ListDragLeaveDetail, d as ListDropDetail, f as ListDropEvent, g as ListEditCommitEvent, h as ListEditCommitDetail, i as VerticalListElementEventMap, l as ListDragLeaveEvent, m as ListEditCancelEvent, n as CustomCheckboxOptions, o as ListContextMenuDetail, p as ListEditCancelDetail, r as VerticalListElement, s as ListContextMenuEvent, t as AddItemOptions, u as ListDragOverEvent } 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 { _ as ListTickleEvent, a as ListItemClickDetail, c as ListSelectDetail, g as ListTickleDetail, h as ListSelectionMode, i as ListInteractionMode, l as ListSelectEvent, n as ListActivateEvent, o as ListItemClickEvent, r as ListElementEventMap, t as ListActivateDetail } from "./list-selection-types-CKTt7Rrw.js";
4
+ import { a as VerticalListViewState, c as ListDragLeaveDetail, d as ListDropDetail, f as ListDropEvent, g as ListEditCommitEvent, h as ListEditCommitDetail, i as VerticalListElementEventMap, l as ListDragLeaveEvent, m as ListEditCancelEvent, n as CustomCheckboxOptions, o as ListContextMenuDetail, p as ListEditCancelDetail, r as VerticalListElement, s as ListContextMenuEvent, t as AddItemOptions, u as ListDragOverEvent } from "./vertical-list-BzeXehBt.js";
5
5
  export { AddItemOptions, CustomCheckboxOptions, type ListActivateDetail, type ListActivateEvent, type ListContextMenuDetail, type ListContextMenuEvent, type ListDragEntry, type ListDragLeaveDetail, type ListDragLeaveEvent, type ListDragOverEvent, type ListDragPreview, type ListDragPreviewContext, type ListDragPreviewRenderer, type ListDragSource, type ListDropDetail, type ListDropEvent, type ListEditCancelDetail, type ListEditCancelEvent, type ListEditCommitDetail, type ListEditCommitEvent, type ListElementEventMap, type ListInteractionMode, type ListItemClickDetail, type ListItemClickEvent, type ListNativeDragStartDetail, type ListNativeDragStartEvent, type ListSelectDetail, type ListSelectEvent, type ListSelectionMode, type ListTickleDetail, type ListTickleEvent, type ListViewportChangeDetail, type ListViewportChangeEvent, VerticalListElement, VerticalListElementEventMap, type VerticalListViewState };
@@ -1,2 +1 @@
1
- import { t as VerticalListElement } from "./vertical-list-o5hfqH87.js";
2
- export { VerticalListElement };
1
+ export { t as VerticalListElement } from "./vertical-list-B9z1lbjM.js";
@@ -1,4 +1,4 @@
1
- //#region src/common/view-state/types.ts
1
+ // src/common/view-state/types.ts
2
2
  /**
3
3
  * Shared view-state contract for list-like components.
4
4
  *
@@ -17,8 +17,7 @@
17
17
  const VIEW_STATE_VERSION = 1;
18
18
  /** Name of the debounced change event every view-stateful component fires. */
19
19
  const VIEW_STATE_CHANGE = `view-state-change`;
20
- //#endregion
21
- //#region src/common/view-state/scroll-anchor.ts
20
+ // src/common/view-state/scroll-anchor.ts
22
21
  /**
23
22
  * Capture a {@link ScrollState} for a DOM-rendered list. `items` must be in
24
23
  * visual order along `axis`; the first one whose far edge is below / right of
@@ -143,8 +142,7 @@ function onUserScrollIntent(target, onIntent) {
143
142
  for (const type of events) target.removeEventListener(type, handler, { capture: true });
144
143
  };
145
144
  }
146
- //#endregion
147
- //#region src/common/view-state/view-state-controller.ts
145
+ // src/common/view-state/view-state-controller.ts
148
146
  const REASON_RANK = {
149
147
  restore: 0,
150
148
  data: 1,
@@ -301,5 +299,4 @@ var ViewStateController = class {
301
299
  this.notify(reason);
302
300
  }
303
301
  };
304
- //#endregion
305
302
  export { restoreElementScroll as a, VIEW_STATE_VERSION as c, onUserScrollIntent as i, anchorFromRow as n, scrollToOffset as o, captureElementScroll as r, VIEW_STATE_CHANGE as s, ViewStateController as t };
@@ -1,6 +1,6 @@
1
- import { t as __decorate } from "./decorate-VRK8rslU.js";
1
+ import { t as __decorate } from "./decorate-Dxs8sFX8.js";
2
2
  import { property } from "lit/decorators.js";
3
- //#region src/mixins/wheel-nudge.ts
3
+ // src/mixins/wheel-nudge.ts
4
4
  /**
5
5
  * Mixin that adds mousewheel support with an optional `lighttouch` hover mode.
6
6
  *
@@ -85,5 +85,4 @@ function WheelNudgeMixin(superClass) {
85
85
  })], WheelNudgeMixinClass.prototype, "lighttouch", void 0);
86
86
  return WheelNudgeMixinClass;
87
87
  }
88
- //#endregion
89
88
  export { WheelNudgeMixin as t };
@@ -1,5 +1,4 @@
1
- import { LitElement } from "lit";
2
- //#region src/mixins/wheel-nudge.d.ts
1
+ import "lit";
3
2
  /**
4
3
  * Direction of a wheel tick. `+1` for `deltaY < 0` (wheel up/away), `-1` for
5
4
  * `deltaY > 0` (wheel down/toward).
@@ -26,5 +25,4 @@ interface WheelNudgeConsumer {
26
25
  _applyWheelDelta(direction: WheelDirection, event: WheelEvent): void;
27
26
  _shouldHandleWheel(): boolean;
28
27
  }
29
- //#endregion
30
28
  export { WheelNudgeConsumer as n, WheelDirection as t };
@@ -1,5 +1,4 @@
1
1
  import { LitElement, PropertyValues } from "lit";
2
- //#region src/plots/colour-map.d.ts
3
2
  type ColourMode = `fixed` | `opacity` | `hue` | `saturation` | `lightness` | `scale`;
4
3
  type ColourMapConfig = {
5
4
  mode: ColourMode;
@@ -30,8 +29,6 @@ declare function computeColour(scaledValue: number, baseColour: string, config:
30
29
  * 'size' is not handled here — the caller adjusts the radius separately.
31
30
  */
32
31
  declare function applyAgeModification(base: ColourResult, ageFraction: number, ageStyle: string): ColourResult;
33
- //#endregion
34
- //#region src/plots/data.d.ts
35
32
  type PlotDataSeriesOptions = {
36
33
  /**
37
34
  * Limit of how many data points to store.
@@ -101,8 +98,6 @@ declare class PlotDataSeries {
101
98
  */
102
99
  clear(): boolean;
103
100
  }
104
- //#endregion
105
- //#region src/plots/single-axis.d.ts
106
101
  type SingleAxisDrawStyle = `line-sharp` | `line-round` | `circles` | `squares` | `vbar` | `hbar` | `hist-bottom` | `hist-top` | `hist-middle`;
107
102
  type SingleAxisAgeStyle = `none` | `opacity` | `desaturation` | `size`;
108
103
  /**
@@ -210,8 +205,6 @@ interface PlotSingleAxis {
210
205
  (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
211
206
  };
212
207
  }
213
- //#endregion
214
- //#region src/plots/multi-axis.d.ts
215
208
  type PlotMultiAxisLayout = `overlap` | `horizontal` | `vertical` | `grid`;
216
209
  type PlotMultiAxisDataPointClickDetail = {
217
210
  readonly value: number;
@@ -282,8 +275,6 @@ interface PlotMultiAxis {
282
275
  (type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
283
276
  };
284
277
  }
285
- //#endregion
286
- //#region src/plots/plot-histogram.d.ts
287
278
  type PlotHistogramOrientation = `horizontal` | `vertical`;
288
279
  /**
289
280
  * - `hover`: floating `ixfx-tooltip` bubble, shown/hidden with a debounce delay.
@@ -382,8 +373,6 @@ declare global {
382
373
  interface PlotHistogram {
383
374
  addEventListener: (<K extends keyof PlotHistogramElementEventMap>(type: K, listener: (this: PlotHistogram, event: PlotHistogramElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
384
375
  }
385
- //#endregion
386
- //#region src/plots/xy-axis.d.ts
387
376
  type XyDrawStyle = `circles` | `squares`;
388
377
  type XyAgeStyle = `none` | `opacity` | `desaturation` | `size`;
389
378
  declare class PlotXyAxis extends LitElement {
@@ -422,5 +411,4 @@ declare global {
422
411
  'ixfx-plot-xy-axis': PlotXyAxis;
423
412
  }
424
413
  }
425
- //#endregion
426
414
  export { applyAgeModification as A, SingleAxisAgeStyle as C, ColourMapConfig as D, PlotDataSeriesOptions as E, parseColourScaleAttr as M, readBaseColour as N, ColourMode as O, PlotSingleAxisPointerMoveEvent as S, PlotDataSeries as T, PlotMultiAxisElementEventMap as _, PlotHistogramBucketClickDetail as a, PlotSingleAxisElementEventMap as b, PlotHistogramInteractionMode as c, PlotHistogramSelectionChangeEvent as d, PlotHistogramSelectionRange as f, PlotMultiAxisDataPointClickEvent as g, PlotMultiAxisDataPointClickDetail as h, PlotHistogram as i, computeColour as j, ColourResult as k, PlotHistogramOrientation as l, PlotMultiAxis as m, XyAgeStyle as n, PlotHistogramBucketClickEvent as o, PlotHistogramValueTooltips as p, XyDrawStyle as r, PlotHistogramElementEventMap as s, PlotXyAxis as t, PlotHistogramSelectionChangeDetail as u, PlotMultiAxisLayout as v, SingleAxisDrawStyle as w, PlotSingleAxisPointerMoveDetail as x, PlotSingleAxis as y };
@@ -1,5 +1,5 @@
1
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
2
- import { i as hasIcon } from "./registry-BEtb8_wB.js";
1
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
2
+ import { i as hasIcon } from "./registry-DcF0fO7l.js";
3
3
  import "./icons.js";
4
4
  import { LitElement, css, html, nothing, svg } from "lit";
5
5
  import { property, state } from "lit/decorators.js";
@@ -9,7 +9,7 @@ import { Colour } from "@ixfx/visual";
9
9
  import { clamp, rangeStream } from "@ixfx/numbers";
10
10
  import { classMap } from "lit/directives/class-map.js";
11
11
  import { Easings } from "@ixfx/modulation";
12
- //#region src/plots/colour-map.ts
12
+ // src/plots/colour-map.ts
13
13
  const DEFAULT_BASE = `oklch(60% 0.15 140)`;
14
14
  const DEFAULT_PALETTE = [
15
15
  `green`,
@@ -141,8 +141,7 @@ function applyAgeModification(base, ageFraction, ageStyle) {
141
141
  }
142
142
  return base;
143
143
  }
144
- //#endregion
145
- //#region src/plots/data.ts
144
+ // src/plots/data.ts
146
145
  /**
147
146
  * A data series
148
147
  */
@@ -246,16 +245,14 @@ var PlotDataSeries = class {
246
245
  return !empty;
247
246
  }
248
247
  };
249
- //#endregion
250
- //#region src/util/is-numeric.ts
248
+ // src/util/is-numeric.ts
251
249
  function isNumeric(str) {
252
250
  if (typeof str === `number`) return true;
253
251
  if (typeof str !== `string`) return false;
254
252
  const trimmed = str.trim();
255
253
  return trimmed !== `` && !Number.isNaN(Number(trimmed));
256
254
  }
257
- //#endregion
258
- //#region src/util/tooltip.ts
255
+ // src/util/tooltip.ts
259
256
  var _TooltipElement;
260
257
  let _baseStylesInjected = false;
261
258
  function ensureBaseTooltipStyles() {
@@ -348,8 +345,7 @@ __decorate([property({ type: String })], TooltipElement.prototype, "anchor", voi
348
345
  __decorate([property()], TooltipElement.prototype, "value", void 0);
349
346
  __decorate([property({ type: String })], TooltipElement.prototype, "icon", void 0);
350
347
  TooltipElement = _TooltipElement = __decorate([safeCustomElement(`ixfx-tooltip`)], TooltipElement);
351
- //#endregion
352
- //#region src/plots/svg-utils.ts
348
+ // src/plots/svg-utils.ts
353
349
  let _tooltipEl = null;
354
350
  let _tooltipOwner = null;
355
351
  function ensureTooltip() {
@@ -455,8 +451,7 @@ function scaleValue(v, min, max) {
455
451
  const range = max - min;
456
452
  return range === 0 ? .5 : (v - min) / range;
457
453
  }
458
- //#endregion
459
- //#region src/plots/multi-axis.ts
454
+ // src/plots/multi-axis.ts
460
455
  const PLOT_PALETTE = [
461
456
  `oklch(60% 0.15 30)`,
462
457
  `oklch(60% 0.15 90)`,
@@ -704,8 +699,7 @@ __decorate([property({
704
699
  type: Number
705
700
  })], PlotMultiAxis.prototype, "gridMinWidth", void 0);
706
701
  PlotMultiAxis = __decorate([safeCustomElement(`ixfx-plot-multi-axis`)], PlotMultiAxis);
707
- //#endregion
708
- //#region src/plots/plot-histogram.ts
702
+ // src/plots/plot-histogram.ts
709
703
  let PlotHistogram = class PlotHistogram extends LitElement {
710
704
  constructor(..._args) {
711
705
  super(..._args);
@@ -1284,8 +1278,7 @@ __decorate([state()], PlotHistogram.prototype, "_selectionEnd", void 0);
1284
1278
  __decorate([state()], PlotHistogram.prototype, "_isDragging", void 0);
1285
1279
  __decorate([state()], PlotHistogram.prototype, "_selectionOverlayText", void 0);
1286
1280
  PlotHistogram = __decorate([safeCustomElement(`ixfx-plot-histogram`)], PlotHistogram);
1287
- //#endregion
1288
- //#region src/plots/single-axis.ts
1281
+ // src/plots/single-axis.ts
1289
1282
  function buildLinePath(points) {
1290
1283
  if (points.length === 0) return ``;
1291
1284
  let d = `M ${points[0].x},${points[0].y}`;
@@ -1731,8 +1724,7 @@ __decorate([property({ attribute: `color-scale` })], PlotSingleAxis.prototype, "
1731
1724
  __decorate([state()], PlotSingleAxis.prototype, "_width", void 0);
1732
1725
  __decorate([state()], PlotSingleAxis.prototype, "_height", void 0);
1733
1726
  PlotSingleAxis = __decorate([safeCustomElement(`ixfx-plot-single-axis`)], PlotSingleAxis);
1734
- //#endregion
1735
- //#region src/plots/xy-axis.ts
1727
+ // src/plots/xy-axis.ts
1736
1728
  let PlotXyAxis = class PlotXyAxis extends LitElement {
1737
1729
  constructor(..._args) {
1738
1730
  super(..._args);
@@ -2001,5 +1993,4 @@ __decorate([property({ attribute: `color-scale` })], PlotXyAxis.prototype, "colo
2001
1993
  __decorate([state()], PlotXyAxis.prototype, "_width", void 0);
2002
1994
  __decorate([state()], PlotXyAxis.prototype, "_height", void 0);
2003
1995
  PlotXyAxis = __decorate([safeCustomElement(`ixfx-plot-xy-axis`)], PlotXyAxis);
2004
- //#endregion
2005
1996
  export { TooltipElement as a, computeColour as c, PlotMultiAxis as i, parseColourScaleAttr as l, PlotSingleAxis as n, PlotDataSeries as o, PlotHistogram as r, applyAgeModification as s, PlotXyAxis as t, readBaseColour as u };
package/dist/xy-pad.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- import { n as WheelNudgeConsumer, t as WheelDirection } from "./wheel-nudge-By5s_ioH.js";
1
+ import { n as WheelNudgeConsumer, t as WheelDirection } from "./wheel-nudge-oMFKat9P.js";
2
2
  import { LitElement, PropertyValues, html } from "lit";
3
- //#region src/xy-pad/xy-pad.d.ts
4
3
  declare const XyPad_base: typeof LitElement & (new (...args: any[]) => WheelNudgeConsumer);
5
- declare class XyPad extends XyPad_base {
4
+ export declare class XyPad extends XyPad_base {
6
5
  static styles: import("lit").CSSResult[];
7
6
  xMin: number;
8
7
  xMax: number;
@@ -69,22 +68,21 @@ declare class XyPad extends XyPad_base {
69
68
  disconnectedCallback(): void;
70
69
  render(): ReturnType<typeof html>;
71
70
  }
72
- type XyPadInputDetail = {
71
+ export type XyPadInputDetail = {
73
72
  readonly x: number;
74
73
  readonly y: number;
75
74
  };
76
- type XyPadInputEvent = CustomEvent<XyPadInputDetail>;
75
+ export type XyPadInputEvent = CustomEvent<XyPadInputDetail>;
77
76
  declare global {
78
77
  interface HTMLElementTagNameMap {
79
78
  'ixfx-xy-pad': XyPad;
80
79
  }
81
80
  }
82
- interface XyPadEventMap {
81
+ export interface XyPadEventMap {
83
82
  input: XyPadInputEvent;
84
83
  change: XyPadInputEvent;
85
84
  }
86
- interface XyPad {
85
+ export interface XyPad {
87
86
  addEventListener: (<K extends keyof XyPadEventMap>(type: K, listener: (this: XyPad, event: XyPadEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
88
87
  }
89
- //#endregion
90
- export { XyPad, XyPadEventMap, XyPadInputDetail, XyPadInputEvent };
88
+ export {};
package/dist/xy-pad.js CHANGED
@@ -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 { t as prominenceStyles } from "./prominence-DlFShic3.js";
4
- import { t as resolveAxisStep } from "./keyboard-B5xD7Fz-.js";
5
- import { t as WheelNudgeMixin } from "./wheel-nudge-D5rmht3v.js";
1
+ import { t as resolveAxisStep } from "./keyboard-DMwjIYh7.js";
2
+ import { t as WheelNudgeMixin } from "./wheel-nudge-DgJzrL28.js";
3
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
4
+ import { t as prominenceStyles } from "./prominence-BOOQVWF-.js";
5
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
6
6
  import { LitElement, css, html } from "lit";
7
7
  import { property } from "lit/decorators.js";
8
- //#region src/xy-pad/xy-pad.ts
8
+ // src/xy-pad/xy-pad.ts
9
9
  /**
10
10
  * <x-xy-pad> — 2D touch-friendly XY pad for controlling two parameters.
11
11
  *
@@ -475,5 +475,4 @@ __decorate([property({
475
475
  attribute: `stops-y`
476
476
  })], XyPad.prototype, "stopsY", void 0);
477
477
  XyPad = __decorate([safeCustomElement(`ixfx-xy-pad`)], XyPad);
478
- //#endregion
479
478
  export { XyPad };
@@ -36,6 +36,7 @@ This directory contains documentation for each component and some architectural
36
36
  - [miller](./miller.md)
37
37
  - [multicol-list](./multicol-list.md)
38
38
  - [narrowed-text](./narrowed-text.md)
39
+ - [node-graph](./node-graph.md)
39
40
  - [notifier](./notifier.md)
40
41
  - [pan-text](./pan-text.md)
41
42
  - [panel](./panel.md)
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ixfx/components",
3
- "version": "0.16.5",
4
- "generated": "2026-11-08T23:14:38.622Z",
3
+ "version": "0.17.0",
4
+ "generated": "2026-11-09T22:52:59.151Z",
5
5
  "components": [
6
6
  {
7
7
  "name": "ac-text",
@@ -163,6 +163,11 @@
163
163
  "summary": "A filtered text selection component with inline search. Shows slotted items filtered by a query string as the user types.",
164
164
  "path": "docs-user/narrowed-text.md"
165
165
  },
166
+ {
167
+ "name": "node-graph",
168
+ "summary": "A Svelte-Flow-style node editor: nodes on a pan/zoom canvas, wires between typed ports, and a magnetic connect gesture. Nodes are ordinary light-DOM elements, so you can put anything inside them — inc",
169
+ "path": "docs-user/node-graph.md"
170
+ },
166
171
  {
167
172
  "name": "notifier",
168
173
  "summary": "A \"lookless\" app-wide notification system. `NotificationManager` is a singleton that owns notification state, queueing, and timing — it doesn't know how to draw anything. A `NotificationRenderer` (the",
@@ -43,6 +43,7 @@ import '@ixfx/components/data-grid';
43
43
  - [miller](docs-user/miller.md): A Miller column component displays hierarchical data as multiple vertical columns, like macOS Finder or email clients. Each column shows the children of the selected item in the previous column.
44
44
  - [multicol-list](docs-user/multicol-list.md): A faceted-filtering component: each column shows one property (facet) of the *same*
45
45
  - [narrowed-text](docs-user/narrowed-text.md): A filtered text selection component with inline search. Shows slotted items filtered by a query string as the user types.
46
+ - [node-graph](docs-user/node-graph.md): A Svelte-Flow-style node editor: nodes on a pan/zoom canvas, wires between typed ports, and a magnetic connect gesture. Nodes are ordinary light-DOM elements, so you can put anything inside them — inc
46
47
  - [notifier](docs-user/notifier.md): A "lookless" app-wide notification system. `NotificationManager` is a singleton that owns notification state, queueing, and timing — it doesn't know how to draw anything. A `NotificationRenderer` (the
47
48
  - [pan-text](docs-user/pan-text.md): Pans overflowing text on hover or continuously in a loop. Use when a label is too long for its container and you want to reveal the full text without truncation.
48
49
  - [panel](docs-user/panel.md): An collapsible panel component with support for titles, icons, toolbars, and multiple visual variants.