@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
@@ -0,0 +1,3 @@
1
+ import "./list-native-drag-controller-ByftBooJ.js";
2
+ import "./tickled-controller-BVhGKzjZ.js";
3
+ import "./tickled-styles-pnieYweS.js";
@@ -1,4 +1,4 @@
1
- //#region src/common/item-appearance.ts
1
+ // src/common/item-appearance.ts
2
2
  /**
3
3
  * Shared helpers for the list components' per-item appearance hooks — the
4
4
  * per-item icon colour / text colour / badge that miller-list, detail-list,
@@ -25,5 +25,4 @@ function appearanceAbsent(value) {
25
25
  function appearanceColor(value) {
26
26
  return typeof value === `string` && value.length > 0 ? value : void 0;
27
27
  }
28
- //#endregion
29
28
  export { appearanceColor as n, appearanceAbsent as t };
@@ -30,5 +30,4 @@ function resolveAxisStep(range, stops, step, shiftKey, defaultFraction = .1) {
30
30
  const divisor = shiftKey ? 10 : 1;
31
31
  return resolveStep(range, stops, step, defaultFraction) / divisor;
32
32
  }
33
- //#endregion
34
33
  export { resolveAxisStep as t };
@@ -1,13 +1,12 @@
1
- import { t as __decorate } from "./decorate-VRK8rslU.js";
1
+ import { t as __decorate } from "./decorate-Dxs8sFX8.js";
2
2
  import { LitElement, html, nothing } from "lit";
3
3
  import { property, state } from "lit/decorators.js";
4
- //#region src/mixins/labelled-input-util.ts
4
+ // src/mixins/labelled-input-util.ts
5
5
  function applyValue(el, value) {
6
6
  if (el == null) return;
7
7
  el.value = value;
8
8
  }
9
- //#endregion
10
- //#region src/mixins/labelled-input-base.ts
9
+ // src/mixins/labelled-input-base.ts
11
10
  var LabelledInputBase = class extends LitElement {
12
11
  constructor(..._args) {
13
12
  super(..._args);
@@ -152,5 +151,4 @@ __decorate([property({ attribute: `display-text-logic` })], LabelledInputBase.pr
152
151
  __decorate([state()], LabelledInputBase.prototype, "_isMini", void 0);
153
152
  __decorate([state()], LabelledInputBase.prototype, "_isDragging", void 0);
154
153
  __decorate([state()], LabelledInputBase.prototype, "_formatter", void 0);
155
- //#endregion
156
154
  export { LabelledInputBase as t };
@@ -1,5 +1,4 @@
1
1
  import { LitElement, nothing } from "lit";
2
- //#region src/mixins/labelled-input-base.d.ts
3
2
  declare abstract class LabelledInputBase extends LitElement {
4
3
  label: string;
5
4
  min: number;
@@ -36,5 +35,4 @@ declare abstract class LabelledInputBase extends LitElement {
36
35
  protected _renderEditableNumber(): typeof nothing | import("lit").TemplateResult<1>;
37
36
  updated(changedProperties: Map<string, unknown>): void;
38
37
  }
39
- //#endregion
40
38
  export { LabelledInputBase as t };
@@ -1,8 +1,7 @@
1
- import { t as LabelledInputBase } from "./labelled-input-base-DiTme1JO.js";
2
- import { i as MarkerStyle, l as ValueMode } from "./radial-input-DU6t2hYO.js";
1
+ import { i as MarkerStyle, l as ValueMode } from "./radial-input-DNCSwRGF.js";
2
+ import { t as LabelledInputBase } from "./labelled-input-base-jyr_SR6t.js";
3
3
  import { CSSResultGroup, nothing } from "lit";
4
- //#region src/labelled-radial-input/labelled-radial-input.d.ts
5
- declare class LabelledRadialInput extends LabelledInputBase {
4
+ export declare class LabelledRadialInput extends LabelledInputBase {
6
5
  readonly inputSelector = "ixfx-radial-input";
7
6
  max: number;
8
7
  step: number;
@@ -28,6 +27,4 @@ declare global {
28
27
  interface HTMLElementTagNameMap {
29
28
  'ixfx-labelled-radial-input': LabelledRadialInput;
30
29
  }
31
- }
32
- //#endregion
33
- export { LabelledRadialInput };
30
+ }
@@ -1,10 +1,10 @@
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 LabelledInputBase } from "./labelled-input-base-BFa4xlYV.js";
4
- import "./radial-input-KMVltQfe.js";
1
+ import { t as LabelledInputBase } from "./labelled-input-base-KUhD02dh.js";
2
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
3
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
4
+ import "./radial-input-Cxys4TOG.js";
5
5
  import { css, html, nothing } from "lit";
6
6
  import { property, state } from "lit/decorators.js";
7
- //#region src/labelled-radial-input/labelled-radial-input.ts
7
+ // src/labelled-radial-input/labelled-radial-input.ts
8
8
  let LabelledRadialInput = class LabelledRadialInput extends LabelledInputBase {
9
9
  constructor(..._args) {
10
10
  super(..._args);
@@ -187,5 +187,4 @@ __decorate([property({
187
187
  __decorate([property({ type: Boolean })], LabelledRadialInput.prototype, "lighttouch", void 0);
188
188
  __decorate([state()], LabelledRadialInput.prototype, "_isWide", void 0);
189
189
  LabelledRadialInput = __decorate([safeCustomElement(`ixfx-labelled-radial-input`)], LabelledRadialInput);
190
- //#endregion
191
190
  export { LabelledRadialInput };
@@ -1,2 +1,2 @@
1
- import { t as LabelledRangeInput } from "./index-CoqtMSd9.js";
1
+ import { t as LabelledRangeInput } from "./index-DN6kC6an.js";
2
2
  export { LabelledRangeInput };
@@ -1,8 +1,8 @@
1
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
2
- import { t as LabelledInputBase } from "./labelled-input-base-BFa4xlYV.js";
1
+ import { t as LabelledInputBase } from "./labelled-input-base-KUhD02dh.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
3
  import { css, html } from "lit";
4
4
  import { property } from "lit/decorators.js";
5
- //#region src/labelled-range-input/labelled-range-input.ts
5
+ // src/labelled-range-input/labelled-range-input.ts
6
6
  let LabelledRangeInput = class LabelledRangeInput extends LabelledInputBase {
7
7
  constructor(..._args) {
8
8
  super(..._args);
@@ -150,5 +150,4 @@ __decorate([property({
150
150
  attribute: `switch-height`
151
151
  })], LabelledRangeInput.prototype, "switchHeight", void 0);
152
152
  LabelledRangeInput = __decorate([safeCustomElement(`ixfx-labelled-range-input`)], LabelledRangeInput);
153
- //#endregion
154
153
  export { LabelledRangeInput };
@@ -1,14 +1,14 @@
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 LabelledInputBase } from "./labelled-input-base-BFa4xlYV.js";
1
+ import { t as LabelledInputBase } from "./labelled-input-base-KUhD02dh.js";
2
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
3
+ import { t as resolveAxisStep } from "./keyboard-DMwjIYh7.js";
4
+ import { t as WheelNudgeMixin } from "./wheel-nudge-DgJzrL28.js";
5
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
6
+ import { t as prominenceStyles } from "./prominence-BOOQVWF-.js";
5
7
  import { EditableLabel } from "./editable-label.js";
6
- import { t as resolveAxisStep } from "./keyboard-B5xD7Fz-.js";
7
- import { t as WheelNudgeMixin } from "./wheel-nudge-D5rmht3v.js";
8
- import "./slider-input-ByHdotzp.js";
8
+ import "./slider-input-C3mbUBZi.js";
9
9
  import { css, html } from "lit";
10
10
  import { property } from "lit/decorators.js";
11
- //#region src/editable-label/editable-number.ts
11
+ // src/editable-label/editable-number.ts
12
12
  const DRAG_THRESHOLD_PX = 3;
13
13
  let EditableNumber = class EditableNumber extends WheelNudgeMixin(EditableLabel) {
14
14
  #dragStartY;
@@ -608,8 +608,7 @@ __decorate([property({
608
608
  })], EditableNumber.prototype, "noDrag", void 0);
609
609
  __decorate([property({ type: Number })], EditableNumber.prototype, "precision", void 0);
610
610
  EditableNumber = __decorate([safeCustomElement(`ixfx-editable-number`)], EditableNumber);
611
- //#endregion
612
- //#region src/labelled-slider-input/labelled-slider-input.ts
611
+ // src/labelled-slider-input/labelled-slider-input.ts
613
612
  let LabelledSliderInput = class LabelledSliderInput extends LabelledInputBase {
614
613
  constructor(..._args) {
615
614
  super(..._args);
@@ -802,5 +801,4 @@ __decorate([property({
802
801
  attribute: `switch-height`
803
802
  })], LabelledSliderInput.prototype, "switchHeight", void 0);
804
803
  LabelledSliderInput = __decorate([safeCustomElement(`ixfx-labelled-slider-input`)], LabelledSliderInput);
805
- //#endregion
806
804
  export { EditableNumber as n, LabelledSliderInput as t };
@@ -1,2 +1,2 @@
1
- import { t as LabelledSliderInput } from "./index-UvnoZUAo.js";
1
+ import { t as LabelledSliderInput } from "./index-B7odjrlg.js";
2
2
  export { LabelledSliderInput };
@@ -1,2 +1 @@
1
- import { t as LabelledSliderInput } from "./labelled-slider-input-FdCRi6st.js";
2
- export { LabelledSliderInput };
1
+ export { t as LabelledSliderInput } from "./labelled-slider-input-CfRKd5kC.js";
package/dist/led.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { LitElement } from "lit";
2
- //#region src/led/led.d.ts
3
- type LedMode = `brightness` | `blink` | `pulse`;
4
- declare class LedElement extends LitElement {
2
+ export type LedMode = `brightness` | `blink` | `pulse`;
3
+ export declare class LedElement extends LitElement {
5
4
  #private;
6
5
  value: number;
7
6
  lit: boolean;
@@ -48,6 +47,4 @@ declare global {
48
47
  interface HTMLElementTagNameMap {
49
48
  "ixfx-led": LedElement;
50
49
  }
51
- }
52
- //#endregion
53
- export { LedElement, LedMode };
50
+ }
package/dist/led.js CHANGED
@@ -1,7 +1,7 @@
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 } from "lit/decorators.js";
4
- //#region src/led/led.ts
4
+ // src/led/led.ts
5
5
  let LedElement = class LedElement extends LitElement {
6
6
  constructor(..._args) {
7
7
  super(..._args);
@@ -228,5 +228,4 @@ __decorate([property({
228
228
  attribute: `pulse-retrigger`
229
229
  })], LedElement.prototype, "pulseRetrigger", void 0);
230
230
  LedElement = __decorate([safeCustomElement(`ixfx-led`)], LedElement);
231
- //#endregion
232
231
  export { LedElement };
@@ -1,12 +1,11 @@
1
- import "./icon-CDGprSdE.js";
1
+ import "./icon-Bhz0c6Yf.js";
2
2
  import { LitElement } from "lit";
3
- //#region src/list-group-header/list-group-header.d.ts
4
3
  /**
5
4
  * Collapsible group header used by `ixfx-grid-list` and `ixfx-detail-list`.
6
5
  * Look matches the group rows of `ixfx-data-grid`: caret, bold label, muted
7
6
  * count, and a hairline divider. The host list owns the click handling.
8
7
  */
9
- declare class ListGroupHeaderElement extends LitElement {
8
+ export declare class ListGroupHeaderElement extends LitElement {
10
9
  static styles: import("lit").CSSResult;
11
10
  label: string;
12
11
  count: number;
@@ -20,6 +19,4 @@ declare global {
20
19
  interface HTMLElementTagNameMap {
21
20
  'ixfx-list-group-header': ListGroupHeaderElement;
22
21
  }
23
- }
24
- //#endregion
25
- export { ListGroupHeaderElement };
22
+ }
@@ -1,8 +1,8 @@
1
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
2
- import "./icon-1gpwtPx8.js";
1
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
2
+ import "./icon-DvTQuylG.js";
3
3
  import { LitElement, css, html } from "lit";
4
4
  import { property } from "lit/decorators.js";
5
- //#region src/list-group-header/list-group-header.ts
5
+ // src/list-group-header/list-group-header.ts
6
6
  let ListGroupHeaderElement = class ListGroupHeaderElement extends LitElement {
7
7
  constructor(..._args) {
8
8
  super(..._args);
@@ -116,5 +116,4 @@ __decorate([property({
116
116
  reflect: true
117
117
  })], ListGroupHeaderElement.prototype, "orientation", void 0);
118
118
  ListGroupHeaderElement = __decorate([safeCustomElement(`ixfx-list-group-header`)], ListGroupHeaderElement);
119
- //#endregion
120
119
  export { ListGroupHeaderElement };
@@ -1,6 +1,6 @@
1
- import { n as getIconEntry, r as getIconFont } from "./registry-BEtb8_wB.js";
1
+ import { n as getIconEntry, r as getIconFont } from "./registry-DcF0fO7l.js";
2
2
  import { css } from "lit";
3
- //#region src/interaction/list-drag-preview-row.ts
3
+ // src/interaction/list-drag-preview-row.ts
4
4
  const ROW_MIN = 24;
5
5
  const ROW_MAX = 36;
6
6
  const ROW_DEFAULT = 28;
@@ -78,8 +78,7 @@ function createRowDragPreview(ctx, fallbackCaption) {
78
78
  dispose: () => {}
79
79
  };
80
80
  }
81
- //#endregion
82
- //#region src/interaction/list-drag-preview-default.ts
81
+ // src/interaction/list-drag-preview-default.ts
83
82
  const CARD_DEFAULT = 72;
84
83
  const CARD_MIN = 48;
85
84
  const CARD_MAX = 96;
@@ -463,8 +462,7 @@ function createDefaultListDragPreview(context) {
463
462
  dispose: () => {}
464
463
  };
465
464
  }
466
- //#endregion
467
- //#region src/interaction/list-item-animation.ts
465
+ // src/interaction/list-item-animation.ts
468
466
  /**
469
467
  * Shared insertion / removal animation for the list & tree components.
470
468
  *
@@ -590,8 +588,7 @@ function animateListItemOut(el, options = {}) {
590
588
  if (!animation) return outResult(Promise.resolve(), void 0);
591
589
  return outResult(animation.finished.then(() => void 0, () => void 0), animation);
592
590
  }
593
- //#endregion
594
- //#region src/interaction/list-native-drag-controller.ts
591
+ // src/interaction/list-native-drag-controller.ts
595
592
  /**
596
593
  * Shared native item/row drag-out for list components.
597
594
  *
@@ -818,5 +815,4 @@ var ListNativeDragController = class {
818
815
  } catch {}
819
816
  };
820
817
  };
821
- //#endregion
822
818
  export { listItemFadeKeyframes as a, captionForEntry as c, animateListItemOut as i, createDefaultListDragPreview as l, LIST_ITEM_MOTION_MS as n, prefersReducedMotion as o, animateListItemIn as r, startListItemOutAnimation as s, ListNativeDragController as t };
@@ -1,6 +1,5 @@
1
- import { B as ListNativeDragStartDetail, I as ListDragPreviewContext, L as ListDragPreviewRenderer, P as ListDragEntry, R as ListDragPreviewSourceResolver, z as ListDragSource } from "./tree-component-DgfkxmVY.js";
1
+ import { B as ListNativeDragStartDetail, I as ListDragPreviewContext, L as ListDragPreviewRenderer, P as ListDragEntry, R as ListDragPreviewSourceResolver, z as ListDragSource } from "./tree-component-DNuzfo6R.js";
2
2
  import { ReactiveController, ReactiveControllerHost } from "lit";
3
- //#region src/interaction/list-native-drag-controller.d.ts
4
3
  type ListNativeDragControllerConfig<T> = {
5
4
  readonly source: ListDragSource;
6
5
  /** `itemsDraggable && selection usable` */
@@ -64,5 +63,4 @@ declare class ListNativeDragController<T> implements ReactiveController {
64
63
  hostUpdated(): void;
65
64
  hostDisconnected(): void;
66
65
  }
67
- //#endregion
68
66
  export { ListNativeDragControllerConfig as n, ListNativeDragController as t };
@@ -1,5 +1,5 @@
1
- import { a as capKeys, d as partitionKeys, n as EMPTY_KEYS } from "./pending-BGidHppL.js";
2
- //#region src/interaction/list-drag-select-controller.ts
1
+ import { a as capKeys, d as partitionKeys, n as EMPTY_KEYS } from "./pending-Afl4LT64.js";
2
+ // src/interaction/list-drag-select-controller.ts
3
3
  const DEFAULT_POINTER_TYPES = [`mouse`, `pen`];
4
4
  const DEFAULT_THRESHOLD = 4;
5
5
  /** Pointer distance (px) from an edge that triggers auto-scroll. */
@@ -306,8 +306,7 @@ var ListDragSelectController = class {
306
306
  this.#covered = /* @__PURE__ */ new Set();
307
307
  }
308
308
  };
309
- //#endregion
310
- //#region src/interaction/list-selection-controller.ts
309
+ // src/interaction/list-selection-controller.ts
311
310
  /** Capture the modifier / pointer-type state of a click for `handleClick`. */
312
311
  function gestureOf(e) {
313
312
  return {
@@ -848,5 +847,4 @@ var ListSelectionController = class {
848
847
  this.#config.onChange(next, previous);
849
848
  }
850
849
  };
851
- //#endregion
852
850
  export { ListDragSelectController as i, gestureOf as n, isMultiMode as r, ListSelectionController as t };
@@ -1,4 +1,3 @@
1
- //#region src/interaction/list-selection-types.d.ts
2
1
  type ListSelectionMode = `none` | `single` | `multiple`;
3
2
  /**
4
3
  * Controls how pointer and keyboard gestures map to selection changes.
@@ -105,5 +104,4 @@ interface ListElementEventMap {
105
104
  'list-activate': ListActivateEvent;
106
105
  'list-item-click': ListItemClickEvent;
107
106
  }
108
- //#endregion
109
107
  export { ListTickleEvent as _, ListItemClickDetail as a, ListSelectDetail as c, ListSelectIntentEvent as d, ListSelectIntentKind as f, ListTickleDetail as g, ListSelectionMode as h, ListInteractionMode as i, ListSelectEvent as l, ListSelectKeysDetail as m, ListActivateEvent as n, ListItemClickEvent as o, ListSelectIntentSource as p, ListElementEventMap as r, ListMarqueeMode as s, ListActivateDetail as t, ListSelectIntentDetail as u };
@@ -1,4 +1,3 @@
1
- //#region src/interaction/list-viewport-types.d.ts
2
1
  /**
3
2
  * Shared list viewport-change types.
4
3
  *
@@ -18,5 +17,4 @@ type ListViewportChangeDetail = {
18
17
  readonly visibleKeys: readonly string[];
19
18
  };
20
19
  type ListViewportChangeEvent = CustomEvent<ListViewportChangeDetail>;
21
- //#endregion
22
20
  export { ListViewportChangeEvent as n, ListViewportChangeDetail as t };
@@ -1,13 +1,13 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { 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 "./interaction-E-uMGHkJ.js";
7
- import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-oxU1VKiJ.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D3KUYPsf.js";
2
+ import { t as tickledItemStyles } from "./tickled-styles-pnieYweS.js";
3
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
4
+ import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-BSxhlWnW.js";
5
+ import "./interaction-8Kbbf6xN.js";
6
+ import { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
7
+ import "./icon-DvTQuylG.js";
8
8
  import { LitElement, css, html, nothing } from "lit";
9
9
  import { property, query, state } from "lit/decorators.js";
10
- //#region src/menu/menu-bar.ts
10
+ // src/menu/menu-bar.ts
11
11
  let MenuBar = class MenuBar extends LitElement {
12
12
  constructor(..._args) {
13
13
  super(..._args);
@@ -102,8 +102,7 @@ let MenuBar = class MenuBar extends LitElement {
102
102
  }
103
103
  };
104
104
  MenuBar = __decorate([safeCustomElement(`ixfx-menu-bar`)], MenuBar);
105
- //#endregion
106
- //#region src/menu/menu-check-item.ts
105
+ // src/menu/menu-check-item.ts
107
106
  let MenuCheckItem = class MenuCheckItem extends LitElement {
108
107
  constructor(..._args) {
109
108
  super(..._args);
@@ -257,8 +256,7 @@ __decorate([property({
257
256
  __decorate([property({ attribute: false })], MenuCheckItem.prototype, "registry", void 0);
258
257
  __decorate([property({ attribute: false })], MenuCheckItem.prototype, "keyboardManager", void 0);
259
258
  MenuCheckItem = __decorate([safeCustomElement(`ixfx-menu-check-item`)], MenuCheckItem);
260
- //#endregion
261
- //#region src/menu/menu-command-controller.ts
259
+ // src/menu/menu-command-controller.ts
262
260
  var MenuCommandController = class {
263
261
  constructor(options) {
264
262
  this.registry = options.registry;
@@ -279,8 +277,7 @@ var MenuCommandController = class {
279
277
  this.registry.invoke(command, { args });
280
278
  }
281
279
  };
282
- //#endregion
283
- //#region src/menu/menu-sub-trigger.ts
280
+ // src/menu/menu-sub-trigger.ts
284
281
  var _MenuSubTrigger;
285
282
  let MenuSubTrigger = class MenuSubTrigger extends LitElement {
286
283
  static {
@@ -541,8 +538,7 @@ __decorate([query(`slot[name="submenu"]`)], MenuSubTrigger.prototype, "_slot", v
541
538
  __decorate([query(`.submenu-popover`)], MenuSubTrigger.prototype, "_submenuPopover", void 0);
542
539
  __decorate([query(`.item`)], MenuSubTrigger.prototype, "_itemEl", void 0);
543
540
  MenuSubTrigger = _MenuSubTrigger = __decorate([safeCustomElement(`ixfx-menu-sub-trigger`)], MenuSubTrigger);
544
- //#endregion
545
- //#region src/menu/menu-separator.ts
541
+ // src/menu/menu-separator.ts
546
542
  let MenuSeparator = class MenuSeparator extends LitElement {
547
543
  static {
548
544
  this.styles = [themeFallbacks, css`
@@ -562,8 +558,7 @@ let MenuSeparator = class MenuSeparator extends LitElement {
562
558
  }
563
559
  };
564
560
  MenuSeparator = __decorate([safeCustomElement(`ixfx-menu-separator`)], MenuSeparator);
565
- //#endregion
566
- //#region src/menu/menu-header.ts
561
+ // src/menu/menu-header.ts
567
562
  let MenuHeader = class MenuHeader extends LitElement {
568
563
  constructor(..._args) {
569
564
  super(..._args);
@@ -588,8 +583,7 @@ let MenuHeader = class MenuHeader extends LitElement {
588
583
  };
589
584
  __decorate([property({ type: String })], MenuHeader.prototype, "label", void 0);
590
585
  MenuHeader = __decorate([safeCustomElement(`ixfx-menu-header`)], MenuHeader);
591
- //#endregion
592
- //#region src/menu/menu-from-tree.ts
586
+ // src/menu/menu-from-tree.ts
593
587
  function isLeaf(node) {
594
588
  return node.children === void 0 || node.children.length === 0;
595
589
  }
@@ -664,8 +658,7 @@ function menuFromTreeToElements(nodes, options = {}) {
664
658
  return buildMenuItemEl(node, options);
665
659
  });
666
660
  }
667
- //#endregion
668
- //#region src/menu/menu-radio-item.ts
661
+ // src/menu/menu-radio-item.ts
669
662
  let MenuRadioItem = class MenuRadioItem extends LitElement {
670
663
  constructor(..._args) {
671
664
  super(..._args);
@@ -766,8 +759,7 @@ __decorate([property({
766
759
  attribute: `icon-name`
767
760
  })], MenuRadioItem.prototype, "iconName", void 0);
768
761
  MenuRadioItem = __decorate([safeCustomElement(`ixfx-menu-radio-item`)], MenuRadioItem);
769
- //#endregion
770
- //#region src/menu/menu-radio-group.ts
762
+ // src/menu/menu-radio-group.ts
771
763
  let MenuRadioGroup = class MenuRadioGroup extends LitElement {
772
764
  constructor(..._args) {
773
765
  super(..._args);
@@ -818,8 +810,7 @@ __decorate([property({ type: String })], MenuRadioGroup.prototype, "name", void
818
810
  __decorate([property({ type: String })], MenuRadioGroup.prototype, "value", void 0);
819
811
  __decorate([state()], MenuRadioGroup.prototype, "slottedElements", void 0);
820
812
  MenuRadioGroup = __decorate([safeCustomElement(`ixfx-menu-radio-group`)], MenuRadioGroup);
821
- //#endregion
822
- //#region src/menu/index.ts
813
+ // src/menu/index.ts
823
814
  var menu_exports = /* @__PURE__ */ __exportAll({
824
815
  MenuBar: () => MenuBar,
825
816
  MenuCheckItem: () => MenuCheckItem,
@@ -835,5 +826,4 @@ var menu_exports = /* @__PURE__ */ __exportAll({
835
826
  menuFromTree: () => menuFromTree,
836
827
  menuFromTreeToElements: () => menuFromTreeToElements
837
828
  });
838
- //#endregion
839
829
  export { menuFromTreeToElements as a, MenuSubTrigger as c, MenuBar as d, menuFromTree as i, MenuCommandController as l, MenuRadioGroup as n, MenuHeader as o, MenuRadioItem as r, MenuSeparator as s, menu_exports as t, MenuCheckItem as u };
@@ -1,14 +1,14 @@
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 { t as popupSurfaceStyles } from "./popup-D80sj2QC.js";
5
- import { n as safeCustomElement, t as __decorate } from "./decorate-VRK8rslU.js";
6
- import "./icon-1gpwtPx8.js";
7
- import "./interaction-E-uMGHkJ.js";
8
- import { t as scrollFadeStyles } from "./scroll-fade-Xx28D7mH.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 { t as themeFallbacks } from "./fallbacks-BPjjBoED.js";
4
+ import { t as popupSurfaceStyles } from "./popup-D8IxN1Eq.js";
5
+ import { n as safeCustomElement, t as __decorate } from "./decorate-Dxs8sFX8.js";
6
+ import "./icon-DvTQuylG.js";
7
+ import "./interaction-8Kbbf6xN.js";
8
+ import { t as scrollFadeStyles } from "./scroll-fade-DH8OXSqL.js";
9
9
  import { LitElement, css, html } from "lit";
10
10
  import { property, query, state } from "lit/decorators.js";
11
- //#region src/menu/menu-container.ts
11
+ // src/menu/menu-container.ts
12
12
  let MenuContainer = class MenuContainer extends LitElement {
13
13
  constructor(..._args) {
14
14
  super(..._args);
@@ -286,8 +286,7 @@ __decorate([property({ attribute: false })], MenuContainer.prototype, "registry"
286
286
  __decorate([property({ attribute: false })], MenuContainer.prototype, "keyboardManager", void 0);
287
287
  __decorate([query(`.popover`)], MenuContainer.prototype, "_popover", void 0);
288
288
  MenuContainer = __decorate([safeCustomElement(`ixfx-menu-container`)], MenuContainer);
289
- //#endregion
290
- //#region src/menu/menu-trigger.ts
289
+ // src/menu/menu-trigger.ts
291
290
  var _MenuTrigger;
292
291
  let MenuTrigger = class MenuTrigger extends LitElement {
293
292
  static {
@@ -468,7 +467,10 @@ let MenuTrigger = class MenuTrigger extends LitElement {
468
467
  if (this._isOpen) {
469
468
  this._closeMenu();
470
469
  this._triggerBtn?.focus();
471
- } else this._openMenu();
470
+ } else {
471
+ this._updatePosition();
472
+ this._openMenu();
473
+ }
472
474
  }
473
475
  _handleClickOutside(e) {
474
476
  if (!this.contains(e.target)) {
@@ -537,6 +539,21 @@ let MenuTrigger = class MenuTrigger extends LitElement {
537
539
  this._mouseHeld = false;
538
540
  this._openOnRelease = false;
539
541
  }
542
+ /**
543
+ * Opens the menu at a client point. For hosts that decide for themselves
544
+ * when a context menu applies (e.g. a canvas whose right-click target is a
545
+ * node, a wire or the background) and so can't use `mode="context"`'s own
546
+ * context-target. Call it from the host's `contextmenu` handler; if the
547
+ * mouse button is still down (macOS fires `contextmenu` on mousedown), wait
548
+ * for the release first, as `mode="context"` does.
549
+ */
550
+ openAt(clientX, clientY) {
551
+ this._popup.style.top = `${clientY}px`;
552
+ this._popup.style.left = `${clientX}px`;
553
+ this._popup.style.position = `fixed`;
554
+ this._popup.style.positionAnchor = `none`;
555
+ this._openMenu();
556
+ }
540
557
  _handleContextMenu(e) {
541
558
  if (this.mode !== `context`) return;
542
559
  e.preventDefault();
@@ -713,8 +730,7 @@ function deepActiveElement() {
713
730
  while (el?.shadowRoot?.activeElement) el = el.shadowRoot.activeElement;
714
731
  return el instanceof HTMLElement ? el : null;
715
732
  }
716
- //#endregion
717
- //#region src/menu/menu-item.ts
733
+ // src/menu/menu-item.ts
718
734
  let MenuItem = class MenuItem extends LitElement {
719
735
  constructor(..._args) {
720
736
  super(..._args);
@@ -918,5 +934,4 @@ __decorate([property({ attribute: false })], MenuItem.prototype, "submenuPopover
918
934
  __decorate([state()], MenuItem.prototype, "_hasChildren", void 0);
919
935
  __decorate([query(`slot`)], MenuItem.prototype, "_slot", void 0);
920
936
  MenuItem = __decorate([safeCustomElement(`ixfx-menu-item`)], MenuItem);
921
- //#endregion
922
937
  export { MenuTrigger as n, MenuContainer as r, MenuItem as t };
@@ -1,7 +1,6 @@
1
- import "./icon-CDGprSdE.js";
1
+ import "./icon-Bhz0c6Yf.js";
2
2
  import { LitElement } from "lit";
3
3
  import { CommandRegistry, KeyboardManager } from "@clinth/ui-commands";
4
- //#region src/menu/menu-container.d.ts
5
4
  declare class MenuContainer extends LitElement {
6
5
  anchor?: string;
7
6
  registry?: CommandRegistry<unknown>;
@@ -35,8 +34,6 @@ declare global {
35
34
  'ixfx-menu-container': MenuContainer;
36
35
  }
37
36
  }
38
- //#endregion
39
- //#region src/menu/menu-trigger.d.ts
40
37
  type MenuMode = `trigger` | `dropdown` | `context`;
41
38
  type Placement = `bottom-start` | `bottom-end` | `right-start`;
42
39
  type MenuTriggerCommandDetail = {
@@ -106,6 +103,15 @@ declare class MenuTrigger extends LitElement {
106
103
  * evaluates the pointerup) does not immediately close the new popover.
107
104
  */
108
105
  private _handleRelease;
106
+ /**
107
+ * Opens the menu at a client point. For hosts that decide for themselves
108
+ * when a context menu applies (e.g. a canvas whose right-click target is a
109
+ * node, a wire or the background) and so can't use `mode="context"`'s own
110
+ * context-target. Call it from the host's `contextmenu` handler; if the
111
+ * mouse button is still down (macOS fires `contextmenu` on mousedown), wait
112
+ * for the release first, as `mode="context"` does.
113
+ */
114
+ openAt(clientX: number, clientY: number): void;
109
115
  private _handleContextMenu;
110
116
  static styles: import("lit").CSSResult[];
111
117
  render(): import("lit").TemplateResult<1>;
@@ -115,8 +121,6 @@ declare global {
115
121
  'ixfx-menu-trigger': MenuTrigger;
116
122
  }
117
123
  }
118
- //#endregion
119
- //#region src/menu/menu-item.d.ts
120
124
  declare class MenuItem extends LitElement {
121
125
  command: string;
122
126
  commandArgs: string;
@@ -149,5 +153,4 @@ declare global {
149
153
  'ixfx-menu-item': MenuItem;
150
154
  }
151
155
  }
152
- //#endregion
153
156
  export { MenuContainer as i, MenuTrigger as n, MenuTriggerCommandDetail as r, MenuItem as t };
package/dist/menu.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-bF6narIz.js";
2
- import { a as menuFromTree, c as MenuSeparator, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuSubTrigger, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuHeader, u as MenuCommandController } from "./index-ZaA90u09.js";
1
+ import { i as MenuContainer, n as MenuTrigger, t as MenuItem } from "./menu-item-DJhaWy9z.js";
2
+ import { a as menuFromTree, c as MenuSeparator, d as MenuCheckItem, f as MenuBar, i as MenuFromTreeOptions, l as MenuSubTrigger, n as MenuRadioGroup, o as menuFromTreeToElements, r as MenuRadioItem, s as MenuHeader, u as MenuCommandController } from "./index-0smh4WCH.js";
3
3
  export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, type MenuFromTreeOptions, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };
package/dist/menu.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-oxU1VKiJ.js";
2
- import { a as menuFromTreeToElements, c as MenuSubTrigger, d as MenuBar, i as menuFromTree, l as MenuCommandController, n as MenuRadioGroup, o as MenuHeader, r as MenuRadioItem, s as MenuSeparator, u as MenuCheckItem } from "./menu-BX1FHxY8.js";
1
+ import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-BSxhlWnW.js";
2
+ import { a as menuFromTreeToElements, c as MenuSubTrigger, d as MenuBar, i as menuFromTree, l as MenuCommandController, n as MenuRadioGroup, o as MenuHeader, r as MenuRadioItem, s as MenuSeparator, u as MenuCheckItem } from "./menu-C3DhTjHx.js";
3
3
  export { MenuBar, MenuCheckItem, MenuCommandController, MenuContainer, MenuHeader, MenuItem, MenuRadioGroup, MenuRadioItem, MenuSeparator, MenuSubTrigger, MenuTrigger, menuFromTree, menuFromTreeToElements };