@ixfx/components 0.5.20 → 0.6.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 (285) hide show
  1. package/bundle/index.d.ts +535 -263
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +7971 -6596
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.d.ts +12 -7
  6. package/dist/ac-text.d.ts.map +1 -1
  7. package/dist/ac-text.js +3 -4
  8. package/dist/ac-text.js.map +1 -1
  9. package/dist/ac-token-DVbmHmky.d.ts +107 -0
  10. package/dist/ac-token-DVbmHmky.d.ts.map +1 -0
  11. package/dist/ac-token.d.ts +2 -0
  12. package/dist/ac-token.js +646 -0
  13. package/dist/ac-token.js.map +1 -0
  14. package/dist/{button-pcDaCemT.js → button-Bn0BuLpO.js} +3 -4
  15. package/dist/{button-pcDaCemT.js.map → button-Bn0BuLpO.js.map} +1 -1
  16. package/dist/button.d.ts +1 -2
  17. package/dist/button.d.ts.map +1 -1
  18. package/dist/button.js +1 -1
  19. package/dist/checkbox.d.ts +0 -1
  20. package/dist/checkbox.d.ts.map +1 -1
  21. package/dist/checkbox.js +1 -1
  22. package/dist/checkbox.js.map +1 -1
  23. package/dist/{colour-picker-D43Q96r0.js → colour-picker-0stHB90J.js} +11 -14
  24. package/dist/{colour-picker-D43Q96r0.js.map → colour-picker-0stHB90J.js.map} +1 -1
  25. package/dist/colour-picker.d.ts +1 -1
  26. package/dist/colour-picker.js +1 -1
  27. package/dist/crumbs.d.ts +4 -2
  28. package/dist/crumbs.d.ts.map +1 -1
  29. package/dist/crumbs.js +1152 -1
  30. package/dist/crumbs.js.map +1 -0
  31. package/dist/data-controller-DOlmqNKb.js +171 -0
  32. package/dist/data-controller-DOlmqNKb.js.map +1 -0
  33. package/dist/data-display.d.ts +1 -2
  34. package/dist/data-display.d.ts.map +1 -1
  35. package/dist/data-display.js +24 -22
  36. package/dist/data-display.js.map +1 -1
  37. package/dist/data-grid-BeAkORz2.d.ts +215 -0
  38. package/dist/data-grid-BeAkORz2.d.ts.map +1 -0
  39. package/dist/data-grid.d.ts +2 -0
  40. package/dist/data-grid.js +1225 -0
  41. package/dist/data-grid.js.map +1 -0
  42. package/dist/data-provider-BAn_-oR1.d.ts +61 -0
  43. package/dist/data-provider-BAn_-oR1.d.ts.map +1 -0
  44. package/dist/{decorate-DdjvVHS-.js → decorate-VRK8rslU.js} +2 -2
  45. package/dist/{decorate-DdjvVHS-.js.map → decorate-VRK8rslU.js.map} +1 -1
  46. package/dist/{defaults-BkWCPJFL.js → defaults-BCiDhZbF.js} +20 -3
  47. package/dist/defaults-BCiDhZbF.js.map +1 -0
  48. package/dist/drag-ghost-DtSDvjri.js +85 -0
  49. package/dist/drag-ghost-DtSDvjri.js.map +1 -0
  50. package/dist/editable-label.d.ts +1 -2
  51. package/dist/editable-label.d.ts.map +1 -1
  52. package/dist/editable-label.js +1 -1
  53. package/dist/editable-label.js.map +1 -1
  54. package/dist/{incr-search-CeERfijK.js → element-search-Y8SRfPGM.js} +7 -135
  55. package/dist/element-search-Y8SRfPGM.js.map +1 -0
  56. package/dist/form-CsXJX15p.js +64 -0
  57. package/dist/form-CsXJX15p.js.map +1 -0
  58. package/dist/form.d.ts +15 -0
  59. package/dist/form.d.ts.map +1 -0
  60. package/dist/form.js +2 -0
  61. package/dist/grouped-item-lister-CNLMgdIr.d.ts +121 -0
  62. package/dist/grouped-item-lister-CNLMgdIr.d.ts.map +1 -0
  63. package/dist/grouped-item-lister.d.ts +2 -0
  64. package/dist/grouped-item-lister.js +177 -0
  65. package/dist/grouped-item-lister.js.map +1 -0
  66. package/dist/{hex-editor-B-UI4OZu.js → hex-editor-Bk6rxhfg.js} +6 -8
  67. package/dist/{hex-editor-B-UI4OZu.js.map → hex-editor-Bk6rxhfg.js.map} +1 -1
  68. package/dist/{hex-editor-CMIxtNgT.d.ts → hex-editor-Caq8vNQk.d.ts} +2 -3
  69. package/dist/hex-editor-Caq8vNQk.d.ts.map +1 -0
  70. package/dist/hex.d.ts +1 -1
  71. package/dist/hex.js +1 -1
  72. package/dist/highlight-B-eQrhhb.js.map +1 -1
  73. package/dist/{icon-Bd5BiU4b.d.ts → icon-BUwP1CZ1.d.ts} +3 -4
  74. package/dist/icon-BUwP1CZ1.d.ts.map +1 -0
  75. package/dist/{icon-CK14NUcE.js → icons-Bm2ByQ3s.js} +10 -5
  76. package/dist/icons-Bm2ByQ3s.js.map +1 -0
  77. package/dist/icons.d.ts +2 -2
  78. package/dist/icons.js +2 -8
  79. package/dist/incr-search-vCzuao-2.js +137 -0
  80. package/dist/incr-search-vCzuao-2.js.map +1 -0
  81. package/dist/incr-search.d.ts +1 -1
  82. package/dist/incr-search.js +2 -1
  83. package/dist/{index-DrKRD8_a.d.ts → index-BOUaDIW-.d.ts} +4 -4
  84. package/dist/index-BOUaDIW-.d.ts.map +1 -0
  85. package/dist/{index-CkMIKEWp.d.ts → index-BUB5SICW.d.ts} +3 -4
  86. package/dist/index-BUB5SICW.d.ts.map +1 -0
  87. package/dist/{index-tX6fKF8m.d.ts → index-BeuCXtiO.d.ts} +3 -3
  88. package/dist/index-BeuCXtiO.d.ts.map +1 -0
  89. package/dist/{index-BslNaMLo.d.ts → index-Cu5i8zZY.d.ts} +3 -3
  90. package/dist/index-Cu5i8zZY.d.ts.map +1 -0
  91. package/dist/{index-D87kRcEs.d.ts → index-RqMh1i-O.d.ts} +2 -1
  92. package/dist/index-RqMh1i-O.d.ts.map +1 -0
  93. package/dist/{index-Cdmrn0SZ.d.ts → index-ovq_GTdl.d.ts} +11 -11
  94. package/dist/index-ovq_GTdl.d.ts.map +1 -0
  95. package/dist/index.d.ts +93 -606
  96. package/dist/index.d.ts.map +1 -1
  97. package/dist/index.js +1351 -3714
  98. package/dist/index.js.map +1 -1
  99. package/dist/{labelled-input-base-ORb1rGq6.d.ts → labelled-input-base-Dp_9KP0G.d.ts} +2 -3
  100. package/dist/labelled-input-base-Dp_9KP0G.d.ts.map +1 -0
  101. package/dist/{labelled-input-base-9K_w3oLj.js → labelled-input-base-hoKGwyKT.js} +2 -2
  102. package/dist/{labelled-input-base-9K_w3oLj.js.map → labelled-input-base-hoKGwyKT.js.map} +1 -1
  103. package/dist/labelled-radial-input.d.ts +4 -5
  104. package/dist/labelled-radial-input.d.ts.map +1 -1
  105. package/dist/labelled-radial-input.js +2 -3
  106. package/dist/labelled-radial-input.js.map +1 -1
  107. package/dist/labelled-range-input.d.ts +1 -1
  108. package/dist/labelled-range-input.js +2 -2
  109. package/dist/labelled-range-input.js.map +1 -1
  110. package/dist/led.d.ts +1 -2
  111. package/dist/led.d.ts.map +1 -1
  112. package/dist/led.js +1 -1
  113. package/dist/led.js.map +1 -1
  114. package/dist/menu-DIfU70AA.js +1609 -0
  115. package/dist/menu-DIfU70AA.js.map +1 -0
  116. package/dist/{menu-item-AtoP6bD4.d.ts → menu-item-BG5w7fi4.d.ts} +4 -4
  117. package/dist/menu-item-BG5w7fi4.d.ts.map +1 -0
  118. package/dist/menu.d.ts +2 -2
  119. package/dist/menu.js +1 -2
  120. package/dist/miller.d.ts +7 -5
  121. package/dist/miller.d.ts.map +1 -1
  122. package/dist/miller.js +23 -25
  123. package/dist/miller.js.map +1 -1
  124. package/dist/narrowed-text.d.ts +1 -2
  125. package/dist/narrowed-text.d.ts.map +1 -1
  126. package/dist/narrowed-text.js +14 -13
  127. package/dist/narrowed-text.js.map +1 -1
  128. package/dist/notification-pill-DyZydXoZ.d.ts +68 -0
  129. package/dist/notification-pill-DyZydXoZ.d.ts.map +1 -0
  130. package/dist/notifier.d.ts +2 -0
  131. package/dist/notifier.js +146 -0
  132. package/dist/notifier.js.map +1 -0
  133. package/dist/panel.d.ts +1 -1
  134. package/dist/panel.d.ts.map +1 -1
  135. package/dist/panel.js +1 -2
  136. package/dist/panel.js.map +1 -1
  137. package/dist/plots.d.ts +1 -1
  138. package/dist/plots.js +1 -1
  139. package/dist/polar-pad.d.ts +1 -2
  140. package/dist/polar-pad.d.ts.map +1 -1
  141. package/dist/polar-pad.js +2 -2
  142. package/dist/polar-pad.js.map +1 -1
  143. package/dist/{radial-input-Dhu5ZGP5.d.ts → radial-input-DXMN55Nz.d.ts} +2 -3
  144. package/dist/radial-input-DXMN55Nz.d.ts.map +1 -0
  145. package/dist/{radial-input-C4f-2Bya.js → radial-input-Dk8Wydp5.js} +26 -16
  146. package/dist/radial-input-Dk8Wydp5.js.map +1 -0
  147. package/dist/radial-input.d.ts +1 -1
  148. package/dist/radial-input.js +1 -1
  149. package/dist/range-input.d.ts +2 -3
  150. package/dist/range-input.d.ts.map +1 -1
  151. package/dist/range-input.js +2 -2
  152. package/dist/range-input.js.map +1 -1
  153. package/dist/range.d.ts +2 -3
  154. package/dist/range.d.ts.map +1 -1
  155. package/dist/range.js +2 -2
  156. package/dist/range.js.map +1 -1
  157. package/dist/scroll-fade-CAs1EabA.js +70 -0
  158. package/dist/scroll-fade-CAs1EabA.js.map +1 -0
  159. package/dist/select-horiz.d.ts +50 -0
  160. package/dist/select-horiz.d.ts.map +1 -0
  161. package/dist/select-horiz.js +263 -0
  162. package/dist/select-horiz.js.map +1 -0
  163. package/dist/{slider-input-SW7e2Ac2.js → slider-input-CT4gcF-o.js} +30 -27
  164. package/dist/{slider-input-SW7e2Ac2.js.map → slider-input-CT4gcF-o.js.map} +1 -1
  165. package/dist/{slider-input-BEaztT-g.d.ts → slider-input-XppH3vcy.d.ts} +2 -3
  166. package/dist/slider-input-XppH3vcy.d.ts.map +1 -0
  167. package/dist/slider-input.d.ts +1 -1
  168. package/dist/slider-input.js +1 -1
  169. package/dist/snackbar.d.ts +58 -0
  170. package/dist/snackbar.d.ts.map +1 -0
  171. package/dist/snackbar.js +265 -0
  172. package/dist/snackbar.js.map +1 -0
  173. package/dist/snap-container.d.ts +1 -2
  174. package/dist/snap-container.d.ts.map +1 -1
  175. package/dist/snap-container.js +6 -5
  176. package/dist/snap-container.js.map +1 -1
  177. package/dist/split-layout.d.ts +1 -2
  178. package/dist/split-layout.d.ts.map +1 -1
  179. package/dist/split-layout.js +5 -3
  180. package/dist/split-layout.js.map +1 -1
  181. package/dist/swipe.d.ts +1 -2
  182. package/dist/swipe.d.ts.map +1 -1
  183. package/dist/swipe.js +4 -3
  184. package/dist/swipe.js.map +1 -1
  185. package/dist/{tab-list-B8v9KntS.d.ts → tab-list-Beuh2nom.d.ts} +4 -4
  186. package/dist/tab-list-Beuh2nom.d.ts.map +1 -0
  187. package/dist/tabs.d.ts +1 -1
  188. package/dist/tabs.js +533 -1
  189. package/dist/tabs.js.map +1 -0
  190. package/dist/{tickled-controller-JDOR9B8V.d.ts → tickled-controller-BtevrRLV.d.ts} +1 -2
  191. package/dist/tickled-controller-BtevrRLV.d.ts.map +1 -0
  192. package/dist/{tickled-styles-Bgo_Lpw-.js → tickled-controller-DkAU-0qL.js} +2 -88
  193. package/dist/tickled-controller-DkAU-0qL.js.map +1 -0
  194. package/dist/tickled-styles-BrAHEj1q.js +89 -0
  195. package/dist/tickled-styles-BrAHEj1q.js.map +1 -0
  196. package/dist/{timeline-CdSI003L.js → timeline-B2fgDL4U.js} +3 -3
  197. package/dist/{timeline-CdSI003L.js.map → timeline-B2fgDL4U.js.map} +1 -1
  198. package/dist/timeline.d.ts +1 -1
  199. package/dist/timeline.js +1 -1
  200. package/dist/{tooltip-BMTSUPBU.d.ts → tooltip-BlvBUQxx.d.ts} +2 -3
  201. package/dist/tooltip-BlvBUQxx.d.ts.map +1 -0
  202. package/dist/transitory-label.d.ts +30 -0
  203. package/dist/transitory-label.d.ts.map +1 -0
  204. package/dist/transitory-label.js +249 -0
  205. package/dist/transitory-label.js.map +1 -0
  206. package/dist/{tree-CqPhQRHo.js → tree-BO6BXI2b.js} +9 -10
  207. package/dist/{tree-CqPhQRHo.js.map → tree-BO6BXI2b.js.map} +1 -1
  208. package/dist/{tree-component-CDLO1ITF.d.ts → tree-component-BvV4muxx.d.ts} +8 -124
  209. package/dist/tree-component-BvV4muxx.d.ts.map +1 -0
  210. package/dist/tree.d.ts +9 -4
  211. package/dist/tree.d.ts.map +1 -1
  212. package/dist/tree.js +1 -1
  213. package/dist/types-Bc23SI94.d.ts +72 -0
  214. package/dist/types-Bc23SI94.d.ts.map +1 -0
  215. package/dist/types-DlVNJez_.d.ts +41 -0
  216. package/dist/types-DlVNJez_.d.ts.map +1 -0
  217. package/dist/vertical-list.d.ts +122 -0
  218. package/dist/vertical-list.d.ts.map +1 -0
  219. package/dist/vertical-list.js +737 -0
  220. package/dist/vertical-list.js.map +1 -0
  221. package/dist/{wheel-nudge-Dhzi5nHc.js → wheel-nudge-BlSCe_hD.js} +2 -2
  222. package/dist/wheel-nudge-BlSCe_hD.js.map +1 -0
  223. package/dist/{wheel-nudge-C-ra_1os.d.ts → wheel-nudge-DGrNzWuE.d.ts} +3 -4
  224. package/dist/wheel-nudge-DGrNzWuE.d.ts.map +1 -0
  225. package/dist/{xy-axis-CtDDQzGZ.d.ts → xy-axis-5KhVTNoX.d.ts} +8 -6
  226. package/dist/xy-axis-5KhVTNoX.d.ts.map +1 -0
  227. package/dist/{xy-axis-BpA2eJq6.js → xy-axis-B6yMjckW.js} +8 -112
  228. package/dist/xy-axis-B6yMjckW.js.map +1 -0
  229. package/dist/xy-pad.d.ts +1 -2
  230. package/dist/xy-pad.d.ts.map +1 -1
  231. package/dist/xy-pad.js +2 -2
  232. package/dist/xy-pad.js.map +1 -1
  233. package/docs-user/README.md +3 -2
  234. package/docs-user/data-grid.md +248 -0
  235. package/docs-user/index.json +217 -0
  236. package/docs-user/llms.txt +57 -0
  237. package/docs-user/rating.md +102 -0
  238. package/llms.txt +57 -0
  239. package/package.json +21 -11
  240. package/dist/crumb-navigation-Pif-kupA.js +0 -1221
  241. package/dist/crumb-navigation-Pif-kupA.js.map +0 -1
  242. package/dist/defaults-BkWCPJFL.js.map +0 -1
  243. package/dist/hex-editor-CMIxtNgT.d.ts.map +0 -1
  244. package/dist/icon-Bd5BiU4b.d.ts.map +0 -1
  245. package/dist/icon-CK14NUcE.js.map +0 -1
  246. package/dist/icons.js.map +0 -1
  247. package/dist/incr-search-CeERfijK.js.map +0 -1
  248. package/dist/index-BslNaMLo.d.ts.map +0 -1
  249. package/dist/index-Cdmrn0SZ.d.ts.map +0 -1
  250. package/dist/index-CkMIKEWp.d.ts.map +0 -1
  251. package/dist/index-D87kRcEs.d.ts.map +0 -1
  252. package/dist/index-DrKRD8_a.d.ts.map +0 -1
  253. package/dist/index-tX6fKF8m.d.ts.map +0 -1
  254. package/dist/interaction-_Y2qO3QI.js +0 -1
  255. package/dist/labelled-input-base-ORb1rGq6.d.ts.map +0 -1
  256. package/dist/menu-BiFarLUA.js +0 -826
  257. package/dist/menu-BiFarLUA.js.map +0 -1
  258. package/dist/menu-item-AtoP6bD4.d.ts.map +0 -1
  259. package/dist/menu-item-yHSPV8nS.js +0 -783
  260. package/dist/menu-item-yHSPV8nS.js.map +0 -1
  261. package/dist/radial-input-C4f-2Bya.js.map +0 -1
  262. package/dist/radial-input-Dhu5ZGP5.d.ts.map +0 -1
  263. package/dist/registry-CkW7q09Q.js +0 -21
  264. package/dist/registry-CkW7q09Q.js.map +0 -1
  265. package/dist/selecthorizontal.d.ts +0 -16
  266. package/dist/selecthorizontal.d.ts.map +0 -1
  267. package/dist/selecthorizontal.js +0 -43
  268. package/dist/selecthorizontal.js.map +0 -1
  269. package/dist/slider-input-BEaztT-g.d.ts.map +0 -1
  270. package/dist/tab-list-B8v9KntS.d.ts.map +0 -1
  271. package/dist/tab-list-CR0v53KJ.js +0 -615
  272. package/dist/tab-list-CR0v53KJ.js.map +0 -1
  273. package/dist/tickled-controller-JDOR9B8V.d.ts.map +0 -1
  274. package/dist/tickled-styles-Bgo_Lpw-.js.map +0 -1
  275. package/dist/tooltip-BMTSUPBU.d.ts.map +0 -1
  276. package/dist/tree-component-CDLO1ITF.d.ts.map +0 -1
  277. package/dist/types-DSfbtHs3.d.ts +0 -8
  278. package/dist/types-DSfbtHs3.d.ts.map +0 -1
  279. package/dist/wheel-nudge-C-ra_1os.d.ts.map +0 -1
  280. package/dist/wheel-nudge-Dhzi5nHc.js.map +0 -1
  281. package/dist/xy-axis-BpA2eJq6.js.map +0 -1
  282. package/dist/xy-axis-CtDDQzGZ.d.ts.map +0 -1
  283. package/docs-user/selecthorizontal.md +0 -32
  284. /package/bundle/{chunk-D7D4PA-g.js → rolldown-runtime-D7D4PA-g.js} +0 -0
  285. /package/dist/{chunk-D7D4PA-g.js → rolldown-runtime-D7D4PA-g.js} +0 -0
@@ -1,826 +0,0 @@
1
- import { t as __exportAll } from "./chunk-D7D4PA-g.js";
2
- import { t as tickledItemStyles } from "./tickled-styles-Bgo_Lpw-.js";
3
- import { t as themeFallbacks } from "./fallbacks-DEE1nCTt.js";
4
- import { n as safeCustomElement, t as __decorate } from "./decorate-DdjvVHS-.js";
5
- import "./icon-CK14NUcE.js";
6
- import "./interaction-_Y2qO3QI.js";
7
- import { n as MenuTrigger, r as MenuContainer, t as MenuItem } from "./menu-item-yHSPV8nS.js";
8
- import { LitElement, css, html, nothing } from "lit";
9
- import { property, query, state } from "lit/decorators.js";
10
- //#region src/menu/menu-bar.ts
11
- let MenuBar = class MenuBar extends LitElement {
12
- constructor(..._args) {
13
- super(..._args);
14
- this._openTrigger = null;
15
- this._inputMode = `mouse`;
16
- this._handlePointerMove = () => {
17
- this._setInputMode(`mouse`);
18
- };
19
- this._handleTriggerOpen = (e) => {
20
- this._openTrigger = e.target;
21
- };
22
- this._handleTriggerClose = (e) => {
23
- if (e.target === this._openTrigger) this._openTrigger = null;
24
- };
25
- this._handleFocusIn = (e) => {
26
- const trigger = this._getTriggers().find((t) => t === e.target);
27
- if (!trigger || !this._openTrigger || trigger === this._openTrigger) return;
28
- this._openTrigger.closeMenu();
29
- trigger.openMenu();
30
- };
31
- this._handleKeydown = (e) => {
32
- if (e.key !== `ArrowLeft` && e.key !== `ArrowRight`) return;
33
- const triggers = this._getTriggers();
34
- if (triggers.length === 0) return;
35
- const current = this._openTrigger ?? triggers.find((t) => t === e.target);
36
- if (!current) return;
37
- const idx = triggers.indexOf(current);
38
- if (idx === -1) return;
39
- e.preventDefault();
40
- e.stopPropagation();
41
- this._setInputMode(`keyboard`);
42
- const next = triggers[(idx + (e.key === `ArrowRight` ? 1 : -1) + triggers.length) % triggers.length];
43
- if (this._openTrigger) {
44
- this._openTrigger.closeMenu();
45
- next.openMenu();
46
- } else next.focusTrigger();
47
- };
48
- }
49
- connectedCallback() {
50
- super.connectedCallback();
51
- this.addEventListener(`menu-trigger-open`, this._handleTriggerOpen);
52
- this.addEventListener(`menu-trigger-close`, this._handleTriggerClose);
53
- this.addEventListener(`focusin`, this._handleFocusIn);
54
- this.addEventListener(`keydown`, this._handleKeydown);
55
- this.addEventListener(`pointermove`, this._handlePointerMove);
56
- }
57
- disconnectedCallback() {
58
- super.disconnectedCallback();
59
- this.removeEventListener(`menu-trigger-open`, this._handleTriggerOpen);
60
- this.removeEventListener(`menu-trigger-close`, this._handleTriggerClose);
61
- this.removeEventListener(`focusin`, this._handleFocusIn);
62
- this.removeEventListener(`keydown`, this._handleKeydown);
63
- this.removeEventListener(`pointermove`, this._handlePointerMove);
64
- }
65
- _setInputMode(mode) {
66
- if (this._inputMode === mode) return;
67
- this._inputMode = mode;
68
- this.setAttribute(`data-input-mode`, mode);
69
- }
70
- _getTriggers() {
71
- return [...this.children].filter((el) => el.tagName === `IXFX-MENU-TRIGGER`);
72
- }
73
- static {
74
- this.styles = css`
75
- :host {
76
- display: flex;
77
- align-items: center;
78
- }
79
-
80
- /* Keyboard mode: suppress hover highlight on trigger buttons */
81
- :host([data-input-mode="keyboard"]) {
82
- --_trigger-hover-bg: transparent;
83
- --_trigger-hover-opacity: 0.6;
84
- }
85
- `;
86
- }
87
- render() {
88
- return html`<slot role="menubar"></slot>`;
89
- }
90
- };
91
- MenuBar = __decorate([safeCustomElement(`ixfx-menu-bar`)], MenuBar);
92
- //#endregion
93
- //#region src/menu/menu-check-item.ts
94
- let MenuCheckItem = class MenuCheckItem extends LitElement {
95
- constructor(..._args) {
96
- super(..._args);
97
- this.command = ``;
98
- this.commandArgs = ``;
99
- this.label = ``;
100
- this.checked = false;
101
- this.disabled = false;
102
- this.iconName = ``;
103
- }
104
- handleClick() {
105
- if (this.disabled) return;
106
- this.checked = !this.checked;
107
- this.dispatchEvent(new CustomEvent(`command`, {
108
- detail: {
109
- command: this.command,
110
- checked: this.checked,
111
- args: this.commandArgs
112
- },
113
- bubbles: true,
114
- composed: true
115
- }));
116
- }
117
- _resolvedLabel() {
118
- if (this.label) return this.label;
119
- if (this.registry && this.command) return this.registry.get(this.command)?.label ?? ``;
120
- return ``;
121
- }
122
- _resolvedIcon() {
123
- if (this.iconName) return this.iconName;
124
- if (this.registry && this.command) return this.registry.get(this.command)?.icon ?? null;
125
- return null;
126
- }
127
- willUpdate(changedProperties) {
128
- super.willUpdate(changedProperties);
129
- const resolvedIcon = this._resolvedIcon();
130
- if (resolvedIcon && !this.iconName) this.setAttribute(`data-icon-section`, ``);
131
- else if (!resolvedIcon && !this.iconName) this.removeAttribute(`data-icon-section`);
132
- }
133
- updated(changedProperties) {
134
- super.updated(changedProperties);
135
- }
136
- _getShortcut() {
137
- if (!this.keyboardManager || !this.command) return null;
138
- const binding = (this.keyboardManager.getBindings?.() ?? []).find((b) => b.commandId === this.command);
139
- if (!binding) return null;
140
- const mods = Array.from(binding.modifiers ?? [], (m) => ({
141
- ctrl: `⌃`,
142
- shift: `⇧`,
143
- alt: `⌥`,
144
- meta: `⌘`
145
- })[m] ?? m);
146
- const key = binding.key?.length === 1 ? binding.key.toUpperCase() : binding.key;
147
- return [...mods, key].join(``);
148
- }
149
- static {
150
- this.styles = [
151
- themeFallbacks,
152
- tickledItemStyles,
153
- css`
154
- :host {
155
- display: block;
156
- }
157
-
158
- .item {
159
- display: flex;
160
- padding: 6px var(--space-m);
161
- font-size: var(--text-m);
162
- }
163
-
164
- :host(:focus) {
165
- outline: none;
166
- }
167
-
168
- .item.disabled {
169
- opacity: var(--disabled-opacity);
170
- cursor: default;
171
- }
172
-
173
- .item.disabled:hover {
174
- background: transparent;
175
- }
176
-
177
- .check {
178
- width: 16px;
179
- margin-right: var(--space-s);
180
- font-size: var(--text-m);
181
- color: var(--accent);
182
- }
183
-
184
- .icon-slot {
185
- width: 0;
186
- overflow: hidden;
187
- flex-shrink: 0;
188
- display: inline-flex;
189
- align-items: center;
190
- justify-content: center;
191
- }
192
-
193
- :host([icon-name]) .icon-slot,
194
- :host([data-icon-section]) .icon-slot {
195
- width: 1em;
196
- height: 1em;
197
- margin-right: var(--space-s);
198
- }
199
-
200
- .label {
201
- flex: 1;
202
- }
203
-
204
- .shortcut {
205
- margin-left: var(--space-l);
206
- color: var(--surface-muted-text);
207
- font-size: var(--text-s);
208
- }
209
- `
210
- ];
211
- }
212
- render() {
213
- const shortcut = this._getShortcut();
214
- const resolvedIcon = this._resolvedIcon();
215
- return html`
216
- <div
217
- class="item ${this.disabled ? `disabled` : ``}"
218
- @click=${this.handleClick}
219
- tabindex="${this.disabled ? -1 : 0}"
220
- role="menuitemcheckbox"
221
- aria-checked="${this.checked}"
222
- >
223
- <span class="check">${this.checked ? `✓` : ``}</span>
224
- <span class="icon-slot">${resolvedIcon ? html`<ixfx-icon name="${resolvedIcon}"></ixfx-icon>` : null}</span>
225
- <span class="label">${this._resolvedLabel()}</span>
226
- ${shortcut ? html`<span class="shortcut">${shortcut}</span>` : null}
227
- </div>
228
- `;
229
- }
230
- };
231
- __decorate([property({ type: String })], MenuCheckItem.prototype, "command", void 0);
232
- __decorate([property({
233
- type: String,
234
- attribute: `command-args`
235
- })], MenuCheckItem.prototype, "commandArgs", void 0);
236
- __decorate([property({ type: String })], MenuCheckItem.prototype, "label", void 0);
237
- __decorate([property({ type: Boolean })], MenuCheckItem.prototype, "checked", void 0);
238
- __decorate([property({ type: Boolean })], MenuCheckItem.prototype, "disabled", void 0);
239
- __decorate([property({
240
- type: String,
241
- attribute: `icon-name`
242
- })], MenuCheckItem.prototype, "iconName", void 0);
243
- __decorate([property({ attribute: false })], MenuCheckItem.prototype, "registry", void 0);
244
- __decorate([property({ attribute: false })], MenuCheckItem.prototype, "keyboardManager", void 0);
245
- MenuCheckItem = __decorate([safeCustomElement(`ixfx-menu-check-item`)], MenuCheckItem);
246
- //#endregion
247
- //#region src/menu/menu-command-controller.ts
248
- var MenuCommandController = class {
249
- constructor(options) {
250
- this.registry = options.registry;
251
- this.target = options.target ?? document;
252
- this.boundHandler = this.handleCommand.bind(this);
253
- }
254
- start() {
255
- this.target.addEventListener(`command`, this.boundHandler);
256
- }
257
- stop() {
258
- this.target.removeEventListener(`command`, this.boundHandler);
259
- }
260
- handleCommand(e) {
261
- const target = e.target;
262
- const command = target?.command;
263
- if (!command) return;
264
- const args = target?.commandArgs ?? ``;
265
- this.registry.invoke(command, { args });
266
- }
267
- };
268
- //#endregion
269
- //#region src/menu/menu-sub-trigger.ts
270
- var _MenuSubTrigger;
271
- let MenuSubTrigger = class MenuSubTrigger extends LitElement {
272
- static {
273
- _MenuSubTrigger = this;
274
- }
275
- constructor(..._args) {
276
- super(..._args);
277
- this.command = ``;
278
- this.commandArgs = ``;
279
- this.label = ``;
280
- this.disabled = false;
281
- this.iconName = ``;
282
- this._hasSubmenu = false;
283
- this._anchorName = `--mst-${_MenuSubTrigger._count++}`;
284
- this._hoverTimeout = null;
285
- this._hideTimeout = null;
286
- }
287
- static {
288
- this._count = 0;
289
- }
290
- connectedCallback() {
291
- super.connectedCallback();
292
- this.addEventListener(`keydown`, this._handleKeydown);
293
- }
294
- firstUpdated() {
295
- this.style.setProperty(`--anchor-name`, this._anchorName);
296
- }
297
- disconnectedCallback() {
298
- super.disconnectedCallback();
299
- this.removeEventListener(`keydown`, this._handleKeydown);
300
- if (this._hoverTimeout) clearTimeout(this._hoverTimeout);
301
- if (this._hideTimeout) clearTimeout(this._hideTimeout);
302
- }
303
- _propagateContext() {
304
- const items = this._slot?.assignedElements({ flatten: true }) ?? [];
305
- for (const el of items) {
306
- if (`registry` in el) el.registry = this.registry;
307
- if (`keyboardManager` in el) el.keyboardManager = this.keyboardManager;
308
- }
309
- }
310
- updated(changedProperties) {
311
- if (changedProperties.has(`registry`) || changedProperties.has(`keyboardManager`)) this._propagateContext();
312
- }
313
- willUpdate(changedProperties) {
314
- super.willUpdate(changedProperties);
315
- const resolvedIcon = this._resolvedIcon();
316
- if (resolvedIcon && !this.iconName) this.setAttribute(`data-icon-section`, ``);
317
- else if (!resolvedIcon && !this.iconName) this.removeAttribute(`data-icon-section`);
318
- }
319
- _resolvedIcon() {
320
- if (this.iconName) return this.iconName;
321
- if (this.registry && this.command) return this.registry.get(this.command)?.icon ?? null;
322
- return null;
323
- }
324
- _handleSlotChange() {
325
- this._hasSubmenu = this._slot?.assignedElements().length > 0;
326
- this._propagateContext();
327
- }
328
- _showSubmenu() {
329
- if (!this._submenuPopover?.popover) return;
330
- try {
331
- this._submenuPopover.showPopover();
332
- } catch {}
333
- }
334
- _hideSubmenu() {
335
- if (!this._submenuPopover?.popover) return;
336
- try {
337
- this._submenuPopover.hidePopover();
338
- } catch {}
339
- }
340
- _cancelHide() {
341
- if (this._hideTimeout) {
342
- clearTimeout(this._hideTimeout);
343
- this._hideTimeout = null;
344
- }
345
- }
346
- _scheduleHide() {
347
- this._cancelHide();
348
- this._hideTimeout = window.setTimeout(() => {
349
- this._hideSubmenu();
350
- this._hideTimeout = null;
351
- }, 100);
352
- }
353
- _handleMouseEnter() {
354
- if (this.disabled || !this._hasSubmenu) return;
355
- this._cancelHide();
356
- if (this._hoverTimeout) clearTimeout(this._hoverTimeout);
357
- this._hoverTimeout = window.setTimeout(() => {
358
- this._showSubmenu();
359
- }, 150);
360
- }
361
- _handleMouseLeave() {
362
- if (this._hoverTimeout) {
363
- clearTimeout(this._hoverTimeout);
364
- this._hoverTimeout = null;
365
- }
366
- this._scheduleHide();
367
- }
368
- _handleSubmenuMouseEnter() {
369
- this._cancelHide();
370
- }
371
- _handleSubmenuMouseLeave() {
372
- this._scheduleHide();
373
- }
374
- _handleClick() {
375
- if (this.disabled || !this.command) return;
376
- this.dispatchEvent(new CustomEvent(`command`, {
377
- detail: {
378
- command: this.command,
379
- args: this.commandArgs
380
- },
381
- bubbles: true,
382
- composed: true
383
- }));
384
- }
385
- _handleKeydown(e) {
386
- if (this.disabled) return;
387
- switch (e.key) {
388
- case `ArrowRight`:
389
- case `Enter`:
390
- case ` `:
391
- e.preventDefault();
392
- e.stopPropagation();
393
- if (this._hasSubmenu) {
394
- this._showSubmenu();
395
- requestAnimationFrame(() => {
396
- (this._slot?.assignedElements({ flatten: true }).find((el) => el.tagName === `IXFX-MENU-CONTAINER`))?.focusFirst();
397
- });
398
- }
399
- break;
400
- case `ArrowLeft`:
401
- e.preventDefault();
402
- e.stopPropagation();
403
- this._hideSubmenu();
404
- this._itemEl?.focus();
405
- break;
406
- case `Escape`:
407
- e.preventDefault();
408
- e.stopPropagation();
409
- this._hideSubmenu();
410
- break;
411
- }
412
- }
413
- static {
414
- this.styles = [
415
- themeFallbacks,
416
- tickledItemStyles,
417
- css`
418
- :host {
419
- display: block;
420
- }
421
-
422
- .item {
423
- anchor-name: var(--anchor-name);
424
- display: flex;
425
- padding: 6px var(--space-m);
426
- font-size: var(--text-m);
427
- }
428
-
429
- .submenu-popover {
430
- position: fixed;
431
- position-anchor: var(--anchor-name);
432
- inset: auto;
433
- top: anchor(top);
434
- left: anchor(right);
435
- margin: 0;
436
- padding: 0;
437
- border: none;
438
- background: transparent;
439
- /* UA stylesheet sets overflow:auto on [popover], which clips the box-shadow
440
- of the inner ixfx-menu-container child. Override to let the shadow render. */
441
- overflow: visible;
442
- position-try-fallbacks: flip-inline, flip-block, flip-block flip-inline;
443
- }
444
-
445
- :host(:focus) {
446
- outline: none;
447
- }
448
-
449
- .item.disabled {
450
- opacity: var(--disabled-opacity);
451
- cursor: default;
452
- }
453
-
454
- .item.disabled:hover {
455
- background: transparent;
456
- }
457
-
458
- .icon-slot {
459
- width: 0;
460
- overflow: hidden;
461
- flex-shrink: 0;
462
- display: inline-flex;
463
- align-items: center;
464
- justify-content: center;
465
- }
466
-
467
- :host([icon-name]) .icon-slot,
468
- :host([data-icon-section]) .icon-slot {
469
- width: 1em;
470
- height: 1em;
471
- margin-right: var(--space-s);
472
- }
473
-
474
- .label {
475
- flex: 1;
476
- }
477
-
478
- .arrow {
479
- color: var(--surface-muted-text);
480
- margin-left: var(--space-m);
481
- }
482
- `
483
- ];
484
- }
485
- render() {
486
- const resolvedIcon = this._resolvedIcon();
487
- return html`
488
- <div
489
- class="item ${this.disabled ? `disabled` : ``}"
490
- @click=${this._handleClick}
491
- @mouseenter=${this._handleMouseEnter}
492
- @mouseleave=${this._handleMouseLeave}
493
- tabindex="${this.disabled ? -1 : 0}"
494
- role="menuitem"
495
- aria-haspopup="true"
496
- aria-expanded="false"
497
- >
498
- <span class="icon-slot">${resolvedIcon ? html`<ixfx-icon name="${resolvedIcon}"></ixfx-icon>` : null}</span>
499
- <span class="label"><slot></slot>${this.label}</span>
500
- <span class="arrow">${this._hasSubmenu ? html`<ixfx-icon name="chevron-right"></ixfx-icon>` : nothing}</span>
501
- </div>
502
- <div class="submenu-popover" popover="auto"
503
- @mouseenter=${this._handleSubmenuMouseEnter}
504
- @mouseleave=${this._handleSubmenuMouseLeave}
505
- >
506
- <slot name="submenu" @slotchange=${this._handleSlotChange}></slot>
507
- </div>
508
- `;
509
- }
510
- };
511
- __decorate([property({ type: String })], MenuSubTrigger.prototype, "command", void 0);
512
- __decorate([property({
513
- type: String,
514
- attribute: `command-args`
515
- })], MenuSubTrigger.prototype, "commandArgs", void 0);
516
- __decorate([property({ type: String })], MenuSubTrigger.prototype, "label", void 0);
517
- __decorate([property({ type: Boolean })], MenuSubTrigger.prototype, "disabled", void 0);
518
- __decorate([property({
519
- type: String,
520
- attribute: `icon-name`
521
- })], MenuSubTrigger.prototype, "iconName", void 0);
522
- __decorate([property({ attribute: false })], MenuSubTrigger.prototype, "registry", void 0);
523
- __decorate([property({ attribute: false })], MenuSubTrigger.prototype, "keyboardManager", void 0);
524
- __decorate([state()], MenuSubTrigger.prototype, "_hasSubmenu", void 0);
525
- __decorate([query(`slot[name="submenu"]`)], MenuSubTrigger.prototype, "_slot", void 0);
526
- __decorate([query(`.submenu-popover`)], MenuSubTrigger.prototype, "_submenuPopover", void 0);
527
- __decorate([query(`.item`)], MenuSubTrigger.prototype, "_itemEl", void 0);
528
- MenuSubTrigger = _MenuSubTrigger = __decorate([safeCustomElement(`ixfx-menu-sub-trigger`)], MenuSubTrigger);
529
- //#endregion
530
- //#region src/menu/menu-separator.ts
531
- let MenuSeparator = class MenuSeparator extends LitElement {
532
- static {
533
- this.styles = [themeFallbacks, css`
534
- :host {
535
- display: block;
536
- margin: var(--space-xs) 0;
537
- }
538
-
539
- .separator {
540
- height: 1px;
541
- background: var(--surface-4);
542
- }
543
- `];
544
- }
545
- render() {
546
- return html`<div class="separator"></div>`;
547
- }
548
- };
549
- MenuSeparator = __decorate([safeCustomElement(`ixfx-menu-separator`)], MenuSeparator);
550
- //#endregion
551
- //#region src/menu/menu-header.ts
552
- let MenuHeader = class MenuHeader extends LitElement {
553
- constructor(..._args) {
554
- super(..._args);
555
- this.label = ``;
556
- }
557
- static {
558
- this.styles = [themeFallbacks, css`
559
- :host {
560
- display: block;
561
- padding: 6px var(--space-m) var(--space-xs);
562
- font-size: var(--text-s);
563
- font-weight: var(--font-weight-bold);
564
- text-transform: uppercase;
565
- color: var(--surface-muted-text);
566
- letter-spacing: 0.5px;
567
- }
568
- `];
569
- }
570
- render() {
571
- return html`<div>${this.label}</div>`;
572
- }
573
- };
574
- __decorate([property({ type: String })], MenuHeader.prototype, "label", void 0);
575
- MenuHeader = __decorate([safeCustomElement(`ixfx-menu-header`)], MenuHeader);
576
- //#endregion
577
- //#region src/menu/menu-from-tree.ts
578
- function isLeaf(node) {
579
- return node.children === void 0 || node.children.length === 0;
580
- }
581
- function menuFromTree(nodes, options = {}) {
582
- const { onCommand, registry, keyboardManager } = options;
583
- return html`${nodes.map((node) => {
584
- const label = node.item.label;
585
- if (label === `-`) return html`<ixfx-menu-separator></ixfx-menu-separator>`;
586
- if (label.startsWith(`# `)) return html`<ixfx-menu-header label="${label.slice(2)}"></ixfx-menu-header>`;
587
- if (!isLeaf(node)) {
588
- const submenu = menuFromTree(node.children, options);
589
- return html`
590
- <ixfx-menu-sub-trigger label="${label}">
591
- <ixfx-menu-container
592
- slot="submenu"
593
- .registry=${registry ?? nothing}
594
- .keyboardManager=${keyboardManager ?? nothing}
595
- >${submenu}</ixfx-menu-container>
596
- </ixfx-menu-sub-trigger>
597
- `;
598
- }
599
- return html`
600
- <ixfx-menu-item
601
- command="${node.item.key}"
602
- label="${label}"
603
- icon-name="${node.item.icon ?? nothing}"
604
- @command=${onCommand ? (e) => onCommand(e.detail) : nothing}
605
- ></ixfx-menu-item>
606
- `;
607
- })}`;
608
- }
609
- function buildMenuItemEl(node, options) {
610
- const { onCommand, registry } = options;
611
- const label = node.item.label;
612
- const el = document.createElement(`ixfx-menu-item`);
613
- el.setAttribute(`command`, node.item.key);
614
- el.setAttribute(`label`, label);
615
- if (node.item.icon) el.setAttribute(`icon-name`, node.item.icon);
616
- if (onCommand) el.addEventListener(`command`, (e) => onCommand(e.detail));
617
- if (registry) el.registry = registry;
618
- return el;
619
- }
620
- function buildMenuSeparatorEl() {
621
- return document.createElement(`ixfx-menu-separator`);
622
- }
623
- function buildMenuHeaderEl(label) {
624
- const el = document.createElement(`ixfx-menu-header`);
625
- el.setAttribute(`label`, label);
626
- return el;
627
- }
628
- function buildMenuSubTriggerEl(node, options) {
629
- const { registry, keyboardManager } = options;
630
- const el = document.createElement(`ixfx-menu-sub-trigger`);
631
- el.setAttribute(`label`, node.item.label);
632
- if (registry) el.registry = registry;
633
- if (keyboardManager) el.keyboardManager = keyboardManager;
634
- const container = document.createElement(`ixfx-menu-container`);
635
- container.setAttribute(`slot`, `submenu`);
636
- if (registry) container.registry = registry;
637
- if (keyboardManager) container.keyboardManager = keyboardManager;
638
- const childEls = menuFromTreeToElements(node.children, options);
639
- for (const child of childEls) container.appendChild(child);
640
- el.appendChild(container);
641
- return el;
642
- }
643
- function menuFromTreeToElements(nodes, options = {}) {
644
- return nodes.map((node) => {
645
- const label = node.item.label;
646
- if (label === `-`) return buildMenuSeparatorEl();
647
- if (label.startsWith(`# `)) return buildMenuHeaderEl(label.slice(2));
648
- if (!isLeaf(node)) return buildMenuSubTriggerEl(node, options);
649
- return buildMenuItemEl(node, options);
650
- });
651
- }
652
- //#endregion
653
- //#region src/menu/menu-radio-item.ts
654
- let MenuRadioItem = class MenuRadioItem extends LitElement {
655
- constructor(..._args) {
656
- super(..._args);
657
- this.value = ``;
658
- this.label = ``;
659
- this.disabled = false;
660
- this.groupValue = ``;
661
- this.iconName = ``;
662
- }
663
- handleClick() {
664
- if (this.disabled) return;
665
- this.dispatchEvent(new CustomEvent(`radio-select`, {
666
- detail: { value: this.value },
667
- bubbles: true,
668
- composed: true
669
- }));
670
- }
671
- static {
672
- this.styles = [
673
- themeFallbacks,
674
- tickledItemStyles,
675
- css`
676
- :host {
677
- display: block;
678
- }
679
-
680
- .item {
681
- display: flex;
682
- padding: 6px var(--space-m);
683
- font-size: var(--text-m);
684
- }
685
-
686
- :host(:focus) {
687
- outline: none;
688
- }
689
-
690
- .item.disabled {
691
- opacity: var(--disabled-opacity);
692
- cursor: default;
693
- }
694
-
695
- .item.disabled:hover {
696
- background: transparent;
697
- }
698
-
699
- .radio {
700
- width: 16px;
701
- margin-right: var(--space-s);
702
- font-size: var(--text-m);
703
- color: var(--accent);
704
- }
705
-
706
- .icon-slot {
707
- width: 0;
708
- overflow: hidden;
709
- flex-shrink: 0;
710
- display: inline-flex;
711
- align-items: center;
712
- justify-content: center;
713
- }
714
-
715
- :host([icon-name]) .icon-slot,
716
- :host([data-icon-section]) .icon-slot {
717
- width: 1em;
718
- height: 1em;
719
- margin-right: var(--space-s);
720
- }
721
-
722
- .label {
723
- flex: 1;
724
- }
725
- `
726
- ];
727
- }
728
- render() {
729
- const isSelected = this.groupValue === this.value;
730
- return html`
731
- <div
732
- class="item ${this.disabled ? `disabled` : ``}"
733
- @click=${this.handleClick}
734
- tabindex="${this.disabled ? -1 : 0}"
735
- role="menuitemradio"
736
- aria-checked="${isSelected}"
737
- >
738
- <span class="radio">${isSelected ? `●` : ``}</span>
739
- <span class="icon-slot">${this.iconName ? html`<ixfx-icon name="${this.iconName}"></ixfx-icon>` : null}</span>
740
- <span class="label">${this.label}</span>
741
- </div>
742
- `;
743
- }
744
- };
745
- __decorate([property({ type: String })], MenuRadioItem.prototype, "value", void 0);
746
- __decorate([property({ type: String })], MenuRadioItem.prototype, "label", void 0);
747
- __decorate([property({ type: Boolean })], MenuRadioItem.prototype, "disabled", void 0);
748
- __decorate([property({ type: String })], MenuRadioItem.prototype, "groupValue", void 0);
749
- __decorate([property({
750
- type: String,
751
- attribute: `icon-name`
752
- })], MenuRadioItem.prototype, "iconName", void 0);
753
- MenuRadioItem = __decorate([safeCustomElement(`ixfx-menu-radio-item`)], MenuRadioItem);
754
- //#endregion
755
- //#region src/menu/menu-radio-group.ts
756
- let MenuRadioGroup = class MenuRadioGroup extends LitElement {
757
- constructor(..._args) {
758
- super(..._args);
759
- this.name = ``;
760
- this.value = ``;
761
- this.slottedElements = [];
762
- }
763
- handleSlotChange(e) {
764
- const slot = e.target;
765
- this.slottedElements = slot.assignedElements();
766
- this.updateSlottedValues();
767
- }
768
- updateSlottedValues() {
769
- for (const el of this.slottedElements) el.groupValue = this.value;
770
- }
771
- handleRadioSelect(e) {
772
- this.value = e.detail.value;
773
- this.dispatchEvent(new CustomEvent(`radio-change`, {
774
- detail: {
775
- name: this.name,
776
- value: this.value
777
- },
778
- bubbles: true,
779
- composed: true
780
- }));
781
- }
782
- updated(changedProperties) {
783
- if (changedProperties.has(`value`)) this.updateSlottedValues();
784
- }
785
- static {
786
- this.styles = css`
787
- :host {
788
- display: block;
789
- }
790
-
791
- ::slotted(menu-radio-item) {
792
- display: block;
793
- }
794
- `;
795
- }
796
- render() {
797
- return html`
798
- <slot @slotchange=${this.handleSlotChange} @radio-select=${this.handleRadioSelect}></slot>
799
- `;
800
- }
801
- };
802
- __decorate([property({ type: String })], MenuRadioGroup.prototype, "name", void 0);
803
- __decorate([property({ type: String })], MenuRadioGroup.prototype, "value", void 0);
804
- __decorate([state()], MenuRadioGroup.prototype, "slottedElements", void 0);
805
- MenuRadioGroup = __decorate([safeCustomElement(`ixfx-menu-radio-group`)], MenuRadioGroup);
806
- //#endregion
807
- //#region src/menu/index.ts
808
- var menu_exports = /* @__PURE__ */ __exportAll({
809
- MenuBar: () => MenuBar,
810
- MenuCheckItem: () => MenuCheckItem,
811
- MenuCommandController: () => MenuCommandController,
812
- MenuContainer: () => MenuContainer,
813
- MenuHeader: () => MenuHeader,
814
- MenuItem: () => MenuItem,
815
- MenuRadioGroup: () => MenuRadioGroup,
816
- MenuRadioItem: () => MenuRadioItem,
817
- MenuSeparator: () => MenuSeparator,
818
- MenuSubTrigger: () => MenuSubTrigger,
819
- MenuTrigger: () => MenuTrigger,
820
- menuFromTree: () => menuFromTree,
821
- menuFromTreeToElements: () => menuFromTreeToElements
822
- });
823
- //#endregion
824
- 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 };
825
-
826
- //# sourceMappingURL=menu-BiFarLUA.js.map