@luzmo/lucero 0.0.4 → 0.0.8

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 (378) hide show
  1. package/components/accordion/accordion-item.d.ts +24 -0
  2. package/components/accordion/accordion.d.ts +42 -0
  3. package/components/accordion/index.cjs +43 -0
  4. package/components/accordion/index.d.ts +10 -0
  5. package/{lib → components}/accordion/index.js +10 -11
  6. package/components/action-bar/action-bar.d.ts +42 -0
  7. package/components/action-bar/index.cjs +39 -0
  8. package/components/action-bar/index.d.ts +7 -0
  9. package/{lib → components}/action-bar/index.js +9 -10
  10. package/components/action-button/action-button.d.ts +81 -0
  11. package/components/action-button/index.cjs +24 -0
  12. package/components/action-button/index.d.ts +7 -0
  13. package/{lib → components}/action-button/index.js +6 -7
  14. package/components/action-group/action-group.d.ts +50 -0
  15. package/{lib → components}/action-group/index.cjs +1 -1
  16. package/components/action-group/index.d.ts +7 -0
  17. package/{lib → components}/action-group/index.js +1 -1
  18. package/components/action-group-Uimj-MJP.cjs +20 -0
  19. package/{lib/action-group-BoIH8s8R.js → components/action-group-enfc-YnW.js} +11 -12
  20. package/components/action-menu/action-menu.d.ts +40 -0
  21. package/{lib → components}/action-menu/index.cjs +5 -5
  22. package/components/action-menu/index.d.ts +7 -0
  23. package/{lib → components}/action-menu/index.js +10 -11
  24. package/{lib/async-directive-FGzMycjH.js → components/async-directive-DWRUSKKF.js} +1 -1
  25. package/{lib/async-directive-CV2MII86.cjs → components/async-directive-D_Ter1F8.cjs} +1 -1
  26. package/components/avatar/avatar.d.ts +31 -0
  27. package/components/avatar/index.cjs +24 -0
  28. package/components/avatar/index.d.ts +7 -0
  29. package/{lib → components}/avatar/index.js +13 -14
  30. package/components/base-B7Pfl2if.cjs +40 -0
  31. package/components/base-CawdqE7p.js +666 -0
  32. package/components/button/button-base.d.ts +44 -0
  33. package/components/button/button.d.ts +59 -0
  34. package/components/button/clear-button.d.ts +22 -0
  35. package/components/button/close-button.d.ts +24 -0
  36. package/components/button/index.cjs +20 -0
  37. package/components/button/index.d.ts +13 -0
  38. package/{lib → components}/button/index.js +11 -12
  39. package/{lib/button-base-DgtT6sU5.js → components/button-base-B7v4eeRh.js} +13 -12
  40. package/components/button-base-DmjYs2s9.cjs +25 -0
  41. package/components/button-group/button-group.d.ts +19 -0
  42. package/components/button-group/index.cjs +18 -0
  43. package/components/button-group/index.d.ts +7 -0
  44. package/{lib → components}/button-group/index.js +7 -8
  45. package/components/checkbox/checkbox-base.d.ts +9 -0
  46. package/components/checkbox/checkbox-mixin.d.ts +14 -0
  47. package/components/checkbox/checkbox.d.ts +54 -0
  48. package/components/checkbox/index.cjs +25 -0
  49. package/components/checkbox/index.d.ts +7 -0
  50. package/{lib → components}/checkbox/index.js +5 -6
  51. package/{lib/checkbox-mixin-DegQlk5C.js → components/checkbox-mixin-BFGTmw17.js} +15 -16
  52. package/{lib/checkbox-mixin-H0Hm-VLk.cjs → components/checkbox-mixin-DUhXwD46.cjs} +3 -3
  53. package/{lib/clear-button-Ap5H3UyH.js → components/clear-button-DgZmX5RX.js} +9 -10
  54. package/components/clear-button-KdrF2jaV.cjs +18 -0
  55. package/{lib/close-button-CGISEF33.js → components/close-button-CFHQnbsK.js} +7 -8
  56. package/components/close-button-DVGUppyd.cjs +18 -0
  57. package/components/color-area/color-area.d.ts +67 -0
  58. package/components/color-area/index.cjs +80 -0
  59. package/components/color-area/index.d.ts +7 -0
  60. package/{lib → components}/color-area/index.js +11 -11
  61. package/components/color-field/color-field.d.ts +20 -0
  62. package/components/color-field/index.cjs +23 -0
  63. package/components/color-field/index.d.ts +7 -0
  64. package/{lib → components}/color-field/index.js +2 -3
  65. package/components/color-handle/color-handle.d.ts +13 -0
  66. package/components/color-handle/index.cjs +24 -0
  67. package/components/color-handle/index.d.ts +7 -0
  68. package/{lib → components}/color-handle/index.js +2 -3
  69. package/components/color-loupe/color-loupe.d.ts +7 -0
  70. package/{lib → components}/color-loupe/index.cjs +1 -1
  71. package/components/color-loupe/index.d.ts +7 -0
  72. package/{lib → components}/color-loupe/index.js +1 -1
  73. package/{lib/color-loupe-DBEApMDT.js → components/color-loupe-DxcqXoJ6.js} +3 -4
  74. package/components/color-loupe-SskbNeMp.cjs +56 -0
  75. package/components/color-menu/color-menu.d.ts +54 -0
  76. package/components/color-menu/index.cjs +86 -0
  77. package/components/color-menu/index.d.ts +7 -0
  78. package/{lib → components}/color-menu/index.js +9 -10
  79. package/components/color-picker/color-picker.d.ts +39 -0
  80. package/components/color-picker/index.cjs +48 -0
  81. package/components/color-picker/index.d.ts +7 -0
  82. package/{lib → components}/color-picker/index.js +33 -34
  83. package/components/color-slider/color-slider.d.ts +57 -0
  84. package/components/color-slider/index.cjs +57 -0
  85. package/components/color-slider/index.d.ts +7 -0
  86. package/{lib → components}/color-slider/index.js +6 -6
  87. package/{lib/directive-helpers-C2vOfhFx.cjs → components/directive-helpers-TkFq2eZF.cjs} +1 -1
  88. package/{lib/directive-helpers-BLDZnGQv.js → components/directive-helpers-nlQRAaQt.js} +1 -1
  89. package/components/divider/divider.d.ts +24 -0
  90. package/components/divider/index.cjs +18 -0
  91. package/components/divider/index.d.ts +7 -0
  92. package/{lib → components}/divider/index.js +6 -7
  93. package/components/field-group/field-group.d.ts +24 -0
  94. package/{lib → components}/field-group/index.cjs +1 -1
  95. package/components/field-group/index.d.ts +7 -0
  96. package/{lib → components}/field-group/index.js +1 -1
  97. package/{lib/field-group-CBWafIUV.js → components/field-group-DAhrTCfl.js} +2 -3
  98. package/components/field-group-DSY2HUoj.cjs +23 -0
  99. package/components/field-label/field-label.d.ts +50 -0
  100. package/{lib → components}/field-label/index.cjs +1 -1
  101. package/components/field-label/index.d.ts +7 -0
  102. package/{lib → components}/field-label/index.js +2 -2
  103. package/{lib/field-label-BK_tk8vP.js → components/field-label-CAFfGxEL.js} +15 -16
  104. package/components/field-label-CjsQ3ujK.cjs +25 -0
  105. package/{lib/focusable-Dv_6CFaY.cjs → components/focusable-DGWL1v1p.cjs} +1 -1
  106. package/{lib/focusable-DbUg-3Vp.js → components/focusable-cj2QhwDT.js} +1 -1
  107. package/components/icon/icon-base.d.ts +11 -0
  108. package/components/icon/icon.d.ts +12 -0
  109. package/components/icon/index.cjs +18 -0
  110. package/components/icon/index.d.ts +7 -0
  111. package/{lib → components}/icon/index.js +4 -5
  112. package/{lib/if-defined-Cv6xanXh.cjs → components/if-defined-B56xGmAg.cjs} +2 -2
  113. package/{lib/if-defined-CYpcjGCb.js → components/if-defined-BSAr_4u4.js} +1 -1
  114. package/{lib/index-ovT-qVzf.js → components/index-CMvLpPKD.js} +8 -9
  115. package/{lib/index-yNcLzjhM.cjs → components/index-DnWavOZD.cjs} +15 -15
  116. package/components/index.cjs +18 -0
  117. package/{lib → components}/index.js +131 -90
  118. package/components/infield-button/index.cjs +22 -0
  119. package/components/infield-button/index.d.ts +7 -0
  120. package/{lib → components}/infield-button/index.js +3 -4
  121. package/components/infield-button/infield-button.d.ts +25 -0
  122. package/components/label/index.cjs +18 -0
  123. package/components/label/index.d.ts +7 -0
  124. package/{lib → components}/label/index.js +1 -2
  125. package/components/label/label.d.ts +7 -0
  126. package/components/language-resolution-8yZa5r_P.js +53 -0
  127. package/components/language-resolution-DJzmyzZq.cjs +18 -0
  128. package/{lib/like-anchor-K8W0QYwC.cjs → components/like-anchor-Bmabl9ra.cjs} +4 -4
  129. package/{lib/like-anchor-cDeGGeHh.js → components/like-anchor-QBlvwFfT.js} +8 -9
  130. package/{lib/manage-help-text-2mSEy-AD.js → components/manage-help-text-Cozl9Sgn.js} +8 -8
  131. package/{lib/manage-help-text-iOk-zmy8.cjs → components/manage-help-text-OHXDgxyj.cjs} +3 -3
  132. package/{lib → components}/menu/index.cjs +1 -1
  133. package/components/menu/index.d.ts +16 -0
  134. package/{lib → components}/menu/index.js +1 -1
  135. package/components/menu/menu-divider.d.ts +14 -0
  136. package/components/menu/menu-group.d.ts +17 -0
  137. package/components/menu/menu-item.d.ts +125 -0
  138. package/components/menu/menu.d.ts +119 -0
  139. package/components/multi-language-field/index.cjs +39 -0
  140. package/components/multi-language-field/index.d.ts +7 -0
  141. package/{lib → components}/multi-language-field/index.js +6 -7
  142. package/components/multi-language-field/multi-language-field.d.ts +41 -0
  143. package/components/number-field/index.cjs +57 -0
  144. package/components/number-field/index.d.ts +7 -0
  145. package/{lib → components}/number-field/index.js +24 -24
  146. package/components/number-field/number-field.d.ts +113 -0
  147. package/{lib/observe-slot-text-BmsCNJig.cjs → components/observe-slot-text-CrYB2Pj-.cjs} +1 -1
  148. package/{lib/observe-slot-text-BoFRF-VI.js → components/observe-slot-text-ggb4kKgY.js} +1 -1
  149. package/components/overlay/abstract-overlay.d.ts +72 -0
  150. package/components/overlay/click-controller.d.ts +14 -0
  151. package/components/overlay/events.d.ts +23 -0
  152. package/components/overlay/full-size-plugin.d.ts +12 -0
  153. package/components/overlay/hover-controller.d.ts +20 -0
  154. package/components/overlay/index.cjs +73 -0
  155. package/components/overlay/index.d.ts +22 -0
  156. package/{lib → components}/overlay/index.js +55 -38
  157. package/components/overlay/interaction-controller.d.ts +38 -0
  158. package/components/overlay/loader.d.ts +4 -0
  159. package/components/overlay/longpress-controller.d.ts +21 -0
  160. package/components/overlay/overlay-dialog.d.ts +4 -0
  161. package/components/overlay/overlay-events.d.ts +11 -0
  162. package/components/overlay/overlay-no-popover.d.ts +4 -0
  163. package/components/overlay/overlay-popover.d.ts +4 -0
  164. package/components/overlay/overlay-stack.d.ts +44 -0
  165. package/components/overlay/overlay-timer.d.ts +21 -0
  166. package/components/overlay/overlay-trigger-directive.d.ts +26 -0
  167. package/components/overlay/overlay-trigger.d.ts +53 -0
  168. package/components/overlay/overlay-types.d.ts +50 -0
  169. package/components/overlay/overlay.d.ts +464 -0
  170. package/components/overlay/placement-controller.d.ts +157 -0
  171. package/components/overlay/slottable-request-directive.d.ts +17 -0
  172. package/components/overlay/slottable-request-event.d.ts +12 -0
  173. package/components/overlay/strategies.d.ts +8 -0
  174. package/components/overlay/virtual-trigger.d.ts +7 -0
  175. package/{lib/overlay-C7QKFqRc.js → components/overlay-CJ9by37f.js} +94 -84
  176. package/components/overlay-Deh6Ki6I.cjs +47 -0
  177. package/{lib/pending-state-Dbc2HIM2.cjs → components/pending-state-Do522lTd.cjs} +2 -2
  178. package/{lib/pending-state-D5KTK4_1.js → components/pending-state-TJj1x9xn.js} +2 -2
  179. package/components/picker/desktop-controller.d.ts +7 -0
  180. package/{lib → components}/picker/index.cjs +1 -1
  181. package/components/picker/index.d.ts +7 -0
  182. package/{lib → components}/picker/index.js +2 -2
  183. package/components/picker/interaction-controller.d.ts +43 -0
  184. package/components/picker/mobile-controller.d.ts +9 -0
  185. package/components/picker/picker.d.ts +154 -0
  186. package/components/picker/strategies.d.ts +6 -0
  187. package/components/picker-833Apxe4.js +655 -0
  188. package/components/picker-DDx8ii73.cjs +127 -0
  189. package/{lib/platform-DQYMG7JI.js → components/platform-BM-uMWpX.js} +34 -19
  190. package/components/platform-BiXhwqk3.cjs +18 -0
  191. package/{lib → components}/popover/index.cjs +1 -1
  192. package/components/popover/index.d.ts +7 -0
  193. package/{lib → components}/popover/index.js +2 -2
  194. package/components/popover/popover.d.ts +29 -0
  195. package/components/popover-BGOgXaka.cjs +30 -0
  196. package/{lib/popover-ZRVxogyp.js → components/popover-DlkzrLpl.js} +8 -9
  197. package/{lib → components}/progress-circle/index.cjs +1 -1
  198. package/components/progress-circle/index.d.ts +7 -0
  199. package/{lib → components}/progress-circle/index.js +1 -1
  200. package/components/progress-circle/progress-circle.d.ts +35 -0
  201. package/{lib/progress-circle-DpXiqW6a.js → components/progress-circle-Be24kv6B.js} +5 -6
  202. package/components/progress-circle-NNbCMK2i.cjs +33 -0
  203. package/components/radio/index.cjs +22 -0
  204. package/components/radio/index.d.ts +10 -0
  205. package/{lib → components}/radio/index.js +10 -11
  206. package/components/radio/radio-group.d.ts +27 -0
  207. package/components/radio/radio.d.ts +39 -0
  208. package/components/search/index.cjs +45 -0
  209. package/components/search/index.d.ts +7 -0
  210. package/{lib → components}/search/index.js +3 -4
  211. package/components/search/search.d.ts +27 -0
  212. package/{lib/sized-mixin-Dl0KoEcV.js → components/sized-mixin-BxMraZLS.js} +1 -1
  213. package/{lib/sized-mixin-BSYHt8nT.cjs → components/sized-mixin-D9LkrMjb.cjs} +1 -1
  214. package/components/slider/index.cjs +18 -0
  215. package/components/slider/index.d.ts +7 -0
  216. package/{lib → components}/slider/index.js +5 -6
  217. package/components/slider/slider.d.ts +24 -0
  218. package/{lib/state-DReJ3hB6.cjs → components/state-C5I1gP3G.cjs} +1 -1
  219. package/{lib/state-BAO-13Bs.js → components/state-CYxk12SV.js} +1 -1
  220. package/{lib/streaming-listener-DLo0wkMc.js → components/streaming-listener-CCalHg57.js} +18 -52
  221. package/components/streaming-listener-KVex1WWB.cjs +18 -0
  222. package/{lib/style-map-BqvQDFJt.js → components/style-map-Ct2LiEds.js} +1 -1
  223. package/{lib/style-map-BjBGQ_u3.cjs → components/style-map-uMq-yDJ3.cjs} +2 -2
  224. package/components/swatch/index.cjs +49 -0
  225. package/components/swatch/index.d.ts +10 -0
  226. package/{lib → components}/swatch/index.js +9 -10
  227. package/components/swatch/swatch-group.d.ts +41 -0
  228. package/components/swatch/swatch.d.ts +40 -0
  229. package/components/switch/index.cjs +22 -0
  230. package/components/switch/index.d.ts +7 -0
  231. package/{lib → components}/switch/index.js +6 -7
  232. package/components/switch/switch.d.ts +27 -0
  233. package/components/tags/index.cjs +32 -0
  234. package/components/tags/index.d.ts +10 -0
  235. package/{lib → components}/tags/index.js +17 -18
  236. package/components/tags/tag.d.ts +29 -0
  237. package/components/tags/tags.d.ts +28 -0
  238. package/components/text-field/help-text-manager.d.ts +19 -0
  239. package/components/text-field/help-text.d.ts +20 -0
  240. package/components/text-field/index.cjs +21 -0
  241. package/components/text-field/index.d.ts +14 -0
  242. package/{lib → components}/text-field/index.js +9 -9
  243. package/components/text-field/manage-help-text.d.ts +13 -0
  244. package/components/text-field/text-field.d.ts +142 -0
  245. package/{lib/text-field-C6Aa7XOb.cjs → components/text-field-5_ev9way.cjs} +15 -15
  246. package/{lib/text-field-DPk332j9.js → components/text-field-CvKSS59x.js} +28 -30
  247. package/components/toast/index.cjs +51 -0
  248. package/components/toast/index.d.ts +7 -0
  249. package/{lib → components}/toast/index.js +2 -3
  250. package/components/toast/toast.d.ts +77 -0
  251. package/components/tooltip/index.cjs +45 -0
  252. package/components/tooltip/index.d.ts +8 -0
  253. package/{lib → components}/tooltip/index.js +13 -12
  254. package/components/tooltip/tooltip-directive.d.ts +5 -0
  255. package/components/tooltip/tooltip.d.ts +55 -0
  256. package/components/unit-input/index.cjs +43 -0
  257. package/components/unit-input/index.d.ts +7 -0
  258. package/{lib → components}/unit-input/index.js +5 -6
  259. package/components/unit-input/unit-input.d.ts +33 -0
  260. package/components/utils.cjs +18 -0
  261. package/components/utils.js +42 -0
  262. package/custom-elements.json +1 -0
  263. package/index.d.ts +40 -0
  264. package/package.json +141 -103
  265. package/utils/base.d.ts +16 -0
  266. package/utils/condition-attribute-with-id.d.ts +2 -0
  267. package/utils/first-focusable-in.d.ts +3 -0
  268. package/utils/focus-visible.d.ts +29 -0
  269. package/utils/focusable-selectors.d.ts +2 -0
  270. package/utils/focusable.d.ts +58 -0
  271. package/utils/get-css-variable.d.ts +1 -0
  272. package/utils/get-label-from-slot.d.ts +1 -0
  273. package/utils/index.d.ts +6 -0
  274. package/utils/like-anchor.d.ts +23 -0
  275. package/utils/observe-slot-presence.d.ts +12 -0
  276. package/utils/observe-slot-text.d.ts +11 -0
  277. package/utils/platform.d.ts +10 -0
  278. package/utils/random-id.d.ts +1 -0
  279. package/utils/reactive-controllers/color.d.ts +54 -0
  280. package/utils/reactive-controllers/dependency-manger.d.ts +26 -0
  281. package/utils/reactive-controllers/element-resolution.d.ts +23 -0
  282. package/utils/reactive-controllers/focus-group.d.ts +62 -0
  283. package/utils/reactive-controllers/language-resolution.d.ts +11 -0
  284. package/utils/reactive-controllers/match-media.d.ts +13 -0
  285. package/utils/reactive-controllers/pending-state.d.ts +41 -0
  286. package/utils/reactive-controllers/roving-tabindex.d.ts +19 -0
  287. package/utils/reparent-child.d.ts +4 -0
  288. package/utils/sized-mixin.d.ts +17 -0
  289. package/utils/streaming-listener.d.ts +48 -0
  290. package/lib/accordion/index.cjs +0 -43
  291. package/lib/action-bar/index.cjs +0 -39
  292. package/lib/action-button/index.cjs +0 -24
  293. package/lib/action-group-D4MxBrq8.cjs +0 -20
  294. package/lib/avatar/index.cjs +0 -24
  295. package/lib/base-BCmA9Wxv.cjs +0 -30
  296. package/lib/base-nYalvNMy.js +0 -390
  297. package/lib/button/index.cjs +0 -20
  298. package/lib/button-base-B0iB_JTv.cjs +0 -25
  299. package/lib/button-group/index.cjs +0 -18
  300. package/lib/checkbox/index.cjs +0 -25
  301. package/lib/clear-button-D0djuaLb.cjs +0 -18
  302. package/lib/close-button-BrfeZvjk.cjs +0 -18
  303. package/lib/color-area/index.cjs +0 -80
  304. package/lib/color-field/index.cjs +0 -23
  305. package/lib/color-handle/index.cjs +0 -24
  306. package/lib/color-loupe-BICpNqFs.cjs +0 -56
  307. package/lib/color-menu/index.cjs +0 -86
  308. package/lib/color-picker/index.cjs +0 -48
  309. package/lib/color-slider/index.cjs +0 -57
  310. package/lib/divider/index.cjs +0 -18
  311. package/lib/field-group-TUFvhJkk.cjs +0 -23
  312. package/lib/field-label-BrJaeORz.cjs +0 -25
  313. package/lib/icon/index.cjs +0 -18
  314. package/lib/index.cjs +0 -18
  315. package/lib/infield-button/index.cjs +0 -22
  316. package/lib/label/index.cjs +0 -18
  317. package/lib/legend-position/index.cjs +0 -27
  318. package/lib/legend-position/index.js +0 -85
  319. package/lib/lit-html-B3ugcwD9.js +0 -248
  320. package/lib/lit-html-p4Oxv2-5.cjs +0 -24
  321. package/lib/multi-language-field/index.cjs +0 -39
  322. package/lib/number-field/index.cjs +0 -57
  323. package/lib/overlay/index.cjs +0 -73
  324. package/lib/overlay-DScraBAi.cjs +0 -47
  325. package/lib/picker--2OCYWnV.js +0 -657
  326. package/lib/picker-B9W7Haf4.cjs +0 -127
  327. package/lib/platform-CQzYNWKq.cjs +0 -18
  328. package/lib/popover-CVbjhSnx.cjs +0 -30
  329. package/lib/progress-circle-CiJoS8J7.cjs +0 -33
  330. package/lib/radio/index.cjs +0 -22
  331. package/lib/search/index.cjs +0 -45
  332. package/lib/slider/index.cjs +0 -18
  333. package/lib/streaming-listener-Bw4jE33f.cjs +0 -18
  334. package/lib/swatch/index.cjs +0 -49
  335. package/lib/switch/index.cjs +0 -22
  336. package/lib/tags/index.cjs +0 -32
  337. package/lib/text-field/index.cjs +0 -21
  338. package/lib/toast/index.cjs +0 -51
  339. package/lib/tooltip/index.cjs +0 -45
  340. package/lib/unit-input/index.cjs +0 -43
  341. /package/{lib → components}/base-BjTwmyRF.cjs +0 -0
  342. /package/{lib → components}/base-D76d76ww.js +0 -0
  343. /package/{lib → components}/color-Bg3tYsAQ.js +0 -0
  344. /package/{lib → components}/color-DphK4hwx.cjs +0 -0
  345. /package/{lib → components}/condition-attribute-with-id-DrQYZzFS.cjs +0 -0
  346. /package/{lib → components}/condition-attribute-with-id-Dv4lSRbe.js +0 -0
  347. /package/{lib → components}/dependency-manger-C5HCkMMB.cjs +0 -0
  348. /package/{lib → components}/dependency-manger-CEXvGQUV.js +0 -0
  349. /package/{lib → components}/directive-C7oCP5Bh.cjs +0 -0
  350. /package/{lib → components}/directive-oAbCiebi.js +0 -0
  351. /package/{lib → components}/divider.module-CXMNveQc.cjs +0 -0
  352. /package/{lib → components}/divider.module-DwOuLGU3.js +0 -0
  353. /package/{lib → components}/element-resolution-BvRLGqIU.cjs +0 -0
  354. /package/{lib → components}/element-resolution-FCUT-wql.js +0 -0
  355. /package/{lib → components}/focus-group-DHeTq18L.js +0 -0
  356. /package/{lib → components}/focus-group-DnxZUBhQ.cjs +0 -0
  357. /package/{lib → components}/focus-visible-B0P9aY_G.cjs +0 -0
  358. /package/{lib → components}/focus-visible-DBlJGoEW.js +0 -0
  359. /package/{lib → components}/focusable-selectors-B4YgbghQ.js +0 -0
  360. /package/{lib → components}/focusable-selectors-BgFlyFcY.cjs +0 -0
  361. /package/{lib → components}/index-C1chwzNp.js +0 -0
  362. /package/{lib → components}/index-DCKCHDTt.cjs +0 -0
  363. /package/{lib → components}/mutation-controller-DH7YOCyj.js +0 -0
  364. /package/{lib → components}/mutation-controller-DkOMCW-c.cjs +0 -0
  365. /package/{lib → components}/query-BL-TJj7K.cjs +0 -0
  366. /package/{lib → components}/query-D_KR_GUc.js +0 -0
  367. /package/{lib → components}/query-assigned-elements-DjfhL1cl.js +0 -0
  368. /package/{lib → components}/query-assigned-elements-DsKsfk7G.cjs +0 -0
  369. /package/{lib → components}/query-assigned-nodes-BcKWmGzy.cjs +0 -0
  370. /package/{lib → components}/query-assigned-nodes-C76XVPWY.js +0 -0
  371. /package/{lib → components}/random-id-ByCz1xaq.js +0 -0
  372. /package/{lib → components}/random-id-CqvckpWe.cjs +0 -0
  373. /package/{lib → components}/roving-tabindex-By_fCy_e.cjs +0 -0
  374. /package/{lib → components}/roving-tabindex-DOg4z6ZU.js +0 -0
  375. /package/{lib → components}/slottable-request-event-BfUUt1Mh.cjs +0 -0
  376. /package/{lib → components}/slottable-request-event-DggLA4Rx.js +0 -0
  377. /package/{lib → components}/when-CDK1Tt5Y.js +0 -0
  378. /package/{lib → components}/when-CDZyJPvd.cjs +0 -0
@@ -0,0 +1,655 @@
1
+ /*! * Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
+ * This license allows users with a current active Luzmo account to use Lucero.
7
+ * This license terminates automatically if a user no longer has an active Luzmo account.
8
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
+ * SOFTWARE.
17
+ * */
18
+ import { T as y, x as s, E as w, B as x, r as C, n as l } from "./base-CawdqE7p.js";
19
+ import { r as h } from "./state-CYxk12SV.js";
20
+ import { e as v } from "./query-D_KR_GUc.js";
21
+ import { e as I, i as S, t as M } from "./directive-oAbCiebi.js";
22
+ import { o as u } from "./if-defined-BSAr_4u4.js";
23
+ import { o as E } from "./style-map-Ct2LiEds.js";
24
+ import { F as $ } from "./focusable-cj2QhwDT.js";
25
+ import { D as q } from "./dependency-manger-CEXvGQUV.js";
26
+ import { P as L } from "./pending-state-TJj1x9xn.js";
27
+ import { S as F } from "./sized-mixin-BxMraZLS.js";
28
+ import { luzmoIcon as f, luzmoAngleDown as A, luzmoAlert as O } from "@luzmo/icons";
29
+ import "./index-CMvLpPKD.js";
30
+ import "./overlay/index.js";
31
+ import "./progress-circle/index.js";
32
+ import "./tooltip/index.js";
33
+ import { f as k } from "./platform-BM-uMWpX.js";
34
+ /**
35
+ * @license
36
+ * Copyright 2018 Google LLC
37
+ * SPDX-License-Identifier: BSD-3-Clause
38
+ */
39
+ const D = I(class extends S {
40
+ constructor(i) {
41
+ var e;
42
+ if (super(i), i.type !== M.ATTRIBUTE || i.name !== "class" || ((e = i.strings) == null ? void 0 : e.length) > 2) throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.");
43
+ }
44
+ render(i) {
45
+ return " " + Object.keys(i).filter((e) => i[e]).join(" ") + " ";
46
+ }
47
+ update(i, [e]) {
48
+ var t, c;
49
+ if (this.st === void 0) {
50
+ this.st = /* @__PURE__ */ new Set(), i.strings !== void 0 && (this.nt = new Set(i.strings.join(" ").split(/\s/).filter((r) => r !== "")));
51
+ for (const r in e) e[r] && !((t = this.nt) != null && t.has(r)) && this.st.add(r);
52
+ return this.render(e);
53
+ }
54
+ const o = i.element.classList;
55
+ for (const r of this.st) r in e || (o.remove(r), this.st.delete(r));
56
+ for (const r in e) {
57
+ const d = !!e[r];
58
+ d === this.st.has(r) || (c = this.nt) != null && c.has(r) || (d ? (o.add(r), this.st.add(r)) : (o.remove(r), this.st.delete(r)));
59
+ }
60
+ return y;
61
+ }
62
+ }), B = "(max-width: 743px) and (hover: none) and (pointer: coarse)";
63
+ class P {
64
+ constructor(e, o) {
65
+ this.key = Symbol("match-media-key"), this.matches = !1, this.host = e, this.host.addController(this), this.media = window.matchMedia(o), this.matches = this.media.matches, this.onChange = this.onChange.bind(this), e.addController(this);
66
+ }
67
+ hostConnected() {
68
+ var e;
69
+ (e = this.media) == null || e.addEventListener("change", this.onChange);
70
+ }
71
+ hostDisconnected() {
72
+ var e;
73
+ (e = this.media) == null || e.removeEventListener("change", this.onChange);
74
+ }
75
+ onChange(e) {
76
+ this.matches !== e.matches && (this.matches = e.matches, this.host.requestUpdate(this.key, !this.matches));
77
+ }
78
+ }
79
+ const _ = '#button{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--luzmo-button-font-family, var(--luzmo-font-family));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:var(--luzmo-button-line-height, var(--luzmo-line-height, 1.3));text-transform:none;vertical-align:top;-webkit-appearance:button;transition:background var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out,border-color var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out,color var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out,box-shadow var(--luzmo-button-animation-duration, var(--luzmo-animation-duration)) ease-out;justify-content:center;align-items:center;margin:0;-webkit-text-decoration:none;text-decoration:none;display:inline-flex;position:relative;overflow:visible}#button::-moz-focus-inner{border-style:none;padding:0}#button:focus{outline:none}@media (forced-colors: active){:host{--highcontrast-picker-focus-indicator-color: Highlight;--highcontrast-picker-border-color-default: ButtonBorder;--highcontrast-picker-border-color-hover: Highlight;--highcontrast-picker-border-color-disabled: GrayText;--highcontrast-picker-content-color-default: ButtonText;--highcontrast-picker-content-color-disabled: GrayText;--highcontrast-picker-background-color: ButtonFace}#button.is-keyboardFocused,#button:focus-visible{--highcontrast-picker-border-color-hover: ButtonText}#button .label,#button:after{forced-color-adjust:none}}#button{box-sizing:border-box;max-inline-size:100%;min-inline-size:calc(var(--picker-minimum-width-multiplier) * var(--luzmo-picker-block-size, var(--picker-block-size)));block-size:var(--luzmo-picker-block-size, var(--picker-block-size));border-width:var(--luzmo-picker-border-width, var(--picker-border-width));border-radius:var(--luzmo-picker-border-radius, var(--picker-border-radius));box-shadow:var(--luzmo-picker-box-shadow, var(--picker-box-shadow));transition:background-color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)),box-shadow var(--luzmo-picker-animation-duration, var(--picker-animation-duration)),border-color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)) ease-in-out;color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default, var(--picker-background-color-default)));border-style:solid;border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-default, var(--picker-border-color-default)));margin-block-start:var(--luzmo-picker-spacing-label-to-picker, var(--picker-spacing-label-to-picker));padding-block:0;padding-inline-start:var(--luzmo-picker-spacing-edge-to-text, var(--picker-spacing-edge-to-text));padding-inline-end:var(--luzmo-picker-spacing-edge-to-disclosure-icon, var(--picker-spacing-edge-to-disclosure-icon));display:flex}#button:after{pointer-events:none;content:"";block-size:calc(100% + var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) * 2 + var(--luzmo-picker-border-width, var(--picker-border-width)) * 2);inline-size:calc(100% + var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) * 2 + var(--luzmo-picker-border-width, var(--picker-border-width)) * 2);border-style:solid;border-width:var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness));border-radius:calc(var(--luzmo-picker-border-radius, var(--picker-border-radius)) + var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-border-width, var(--picker-border-width)));border-color:#0000;margin-block-start:calc((var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness)) + var(--luzmo-picker-border-width, var(--picker-border-width))) * -1);margin-inline-start:calc((var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness)) + var(--luzmo-picker-border-width, var(--picker-border-width))) * -1);position:absolute;inset-block:0;inset-inline:0}#button:active{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-active, var(--picker-background-color-active)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-active, var(--picker-border-color-active)))}#button:active:after{border-color:#0000}#button.placeholder:active .label{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-active, var(--picker-font-color-active)))}#button.is-keyboardFocused,#button:focus-visible{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-key-focus, var(--picker-background-color-key-focus)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-key-focus, var(--picker-border-color-key-focus)));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-key-focus, var(--picker-font-color-key-focus)));outline:none}#button.is-keyboardFocused:after,#button:focus-visible:after{border-color:var(--highcontrast-picker-focus-indicator-color, var(--luzmo-picker-focus-indicator-color, var(--picker-focus-indicator-color)))}#button.is-keyboardFocused.placeholder,#button.placeholder:focus-visible{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-key-focus, var(--picker-font-color-key-focus)))}#button.is-keyboardFocused .disclosure-icon,#button:focus-visible .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-key-focus, var(--picker-icon-color-key-focus)))}:host([open]) #button:not(:disabled,.is-disabled){color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default-open, var(--picker-font-color-default-open)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default-open, var(--picker-background-color-default-open)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-default-open, var(--picker-border-color-default-open)))}:host([open]) #button:not(:disabled,.is-disabled) .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-default-open, var(--picker-icon-color-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-default, var(--picker-border-color-error-default)))}:host([invalid]) #button:not(:disabled,.is-disabled) .validation-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-error, var(--picker-icon-color-error)))}:host([invalid]) #button:not(:disabled,.is-disabled):active{border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-active, var(--picker-border-color-error-active)))}:host([invalid][open]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-default-open, var(--picker-border-color-error-default-open)))}:host([invalid]) #button.is-keyboardFocused:not(:disabled,.is-disabled),:host([invalid]) #button:not(:disabled,.is-disabled):focus-visible{border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-error-key-focus, var(--picker-border-color-error-key-focus)))}:host([pending]) #button .disclosure-icon{color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-icon-color-disabled, var(--picker-icon-color-disabled)))}.icon{flex-shrink:0}.label{white-space:nowrap;font-size:var(--luzmo-picker-font-size, var(--picker-font-size));line-height:var(--luzmo-picker-line-height, var(--picker-line-height));font-weight:var(--luzmo-picker-font-weight, var(--picker-font-weight));text-overflow:ellipsis;text-align:start;flex:auto;overflow:hidden}.label.placeholder{font-weight:var(--luzmo-picker-placeholder-font-weight, var(--picker-font-weight));font-style:var(--luzmo-picker-placeholder-font-style, var(--picker-placeholder-font-style));transition:color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)) ease-in-out;color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)))}.label.placeholder:active{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-active, var(--picker-font-color-active)))}.disclosure-icon{vertical-align:top;transition:color var(--luzmo-picker-animation-duration, var(--picker-animation-duration)) ease-out;margin-inline-start:var(--luzmo-picker-spacing-icon-to-disclosure-icon, var(--picker-spacing-icon-to-disclosure-icon));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-default, var(--picker-icon-color-default)));flex-shrink:0;display:inline-block;position:relative}.disclosure-icon:active{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-active, var(--picker-icon-color-active)))}luzmo-progress-circle,.validation-icon{margin-inline-start:var(--luzmo-picker-spacing-text-to-icon, var(--picker-spacing-text-to-icon))}.icon-container{display:flex;position:relative;height:100%;align-items:center;font-size:var(--luzmo-picker-disclosure-icon-size, var(--picker-disclosure-icon-size))}.icon-container.disclosure-icon{margin-inline-end:0}.label~.disclosure-icon{margin-inline-start:var(--luzmo-picker-spacing-text-to-icon, var(--picker-spacing-text-to-icon))}:host([quiet]) #button{inline-size:auto;min-inline-size:0;padding-inline:var(--luzmo-picker-spacing-edge-to-text-quiet, var(--picker-spacing-edge-to-text-quiet));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)));background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent);border:none;border-radius:0;box-shadow:none;margin-block-start:calc(var(--luzmo-picker-spacing-label-to-picker-quiet, var(--picker-spacing-label-to-picker-quiet)) + 1px)}:host([quiet]) #button.label-inline{margin-block-start:0}:host([quiet]) #button .disclosure-icon{margin-inline-end:var(--luzmo-picker-spacing-edge-to-disclosure-icon-quiet, var(--picker-spacing-edge-to-disclosure-icon-quiet))}:host([quiet]) #button:after{block-size:auto;inline-size:auto;border:none}@media (hover: hover){#button:hover{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-hover, var(--picker-font-color-hover)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-hover, var(--picker-background-color-hover)));border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-hover, var(--picker-border-color-hover)))}#button:hover .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-hover, var(--picker-icon-color-hover)))}:host([open]):not([quiet]) #button:not(:disabled,.is-disabled):hover{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-hover-open, var(--picker-font-color-hover-open)));background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-hover-open, var(--picker-background-color-hover-open)));border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-hover-open, var(--picker-border-color-hover-open)))}:host([open]) #button:not(:disabled,.is-disabled):hover .disclosure-icon{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-icon-color-hover-open, var(--picker-icon-color-hover-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-error-hover, var(--picker-border-color-error-hover)))}:host([invalid][open]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-picker-border-color-hover, var(--luzmo-picker-border-color-error-hover-open, var(--picker-border-color-error-hover-open)))}.label.placeholder:hover{color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-hover, var(--picker-font-color-hover)))}:host([quiet]) #button:hover{background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent)!important}}:host([quiet]) #button.is-keyboardFocused,:host([quiet]) #button:focus-visible{background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent)}:host([quiet]) #button.is-keyboardFocused:after,:host([quiet]) #button:focus-visible:after{box-shadow:0 var(--luzmo-picker-focus-indicator-thickness, var(--picker-focus-indicator-thickness)) 0 0 var(--highcontrast-picker-focus-indicator-color, var(--luzmo-picker-focus-indicator-color, var(--picker-focus-indicator-color)));margin:calc((var(--luzmo-picker-focus-indicator-gap, var(--picker-focus-indicator-gap)) + var(--luzmo-picker-border-width, var(--picker-border-width))) * -1) 0;border:none;border-radius:0}:host([quiet][open]) #button,:host([quiet][disabled]) #button#button,:host([quiet]) #button#button:disabled,:host([quiet]) #button:active{background-color:initial;background-color:var(--highcontrast-picker-background-color, transparent)}.label-inline{vertical-align:top;display:inline-flex}:host([disabled]) #button,#button:disabled{cursor:default;background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-disabled, var(--picker-background-color-disabled)));border-color:#0000;border-color:var(--highcontrast-picker-border-color-disabled, transparent);color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-font-color-disabled, var(--picker-font-color-disabled)))}:host([disabled]) #button .icon,:host([disabled]) #button .disclosure-icon,:host([disabled]) #button .validation-icon,#button:disabled .icon,#button:disabled .disclosure-icon,#button:disabled .validation-icon{color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-icon-color-disabled, var(--picker-icon-color-disabled)))}:host([disabled]) #button .label.placeholder,#button:disabled .label.placeholder{color:var(--highcontrast-picker-content-color-disabled, var(--luzmo-picker-font-color-disabled, var(--picker-font-color-disabled)))}:host{--picker-box-shadow: 0px 1px 3px 0px rgba(var(--luzmo-border-color-rgb), .06);--picker-background-color-default: var(--luzmo-background-color);--picker-background-color-default-open: var(--luzmo-background-color-hover);--picker-background-color-active: var(--luzmo-background-color-down);--picker-background-color-hover: var(--luzmo-background-color-hover);--picker-background-color-hover-open: var(--luzmo-background-color-down);--picker-background-color-key-focus: var(--luzmo-background-color-down);--picker-border-color-default: var(--luzmo-border-color);--picker-border-color-default-open: var(--luzmo-border-color-hover);--picker-border-color-hover: var(--luzmo-border-color);--picker-border-color-hover-open: var(--luzmo-border-color-hover);--picker-border-color-active: var(--luzmo-border-color);--picker-border-color-key-focus: var(--luzmo-border-color);--picker-border-width: var(--luzmo-border-width);--picker-font-size: var(--luzmo-font-size);--picker-font-weight: var(--luzmo-font-weight);--picker-placeholder-font-style: var(--luzmo-font-style);--picker-line-height: var(--luzmo-line-height);--picker-block-size: 32px;--picker-border-radius: var(--luzmo-border-radius);--picker-spacing-edge-to-text: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon-inline-end: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-icon-to-disclosure-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-text-quiet: 0px;--picker-spacing-label-to-picker: 0px;--picker-spacing-label-to-picker-quiet: calc( -1 * var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-disclosure-icon: calc( var(--luzmo-spacing-3) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-disclosure-icon-quiet: 0px;--picker-animation-duration: var(--luzmo-animation-duration);--picker-font-color-default: var(--luzmo-font-color);--picker-font-color-default-open: var(--luzmo-font-color-hover);--picker-font-color-hover: var(--luzmo-font-color-hover);--picker-font-color-hover-open: var(--luzmo-font-color-down);--picker-font-color-active: var(--luzmo-font-color-focus);--picker-font-color-key-focus: var(--luzmo-font-color-focus);--picker-icon-color-default: var(--luzmo-font-color);--picker-icon-color-default-open: var(--luzmo-font-color-hover);--picker-icon-color-hover: var(--luzmo-font-color-hover);--picker-icon-color-hover-open: var(--luzmo-font-color-hover);--picker-icon-color-active: var(--luzmo-font-color-focus);--picker-icon-color-key-focus: var(--luzmo-font-color-focus);--picker-border-color-error-default: var(--luzmo-color-negative);--picker-border-color-error-default-open: var(--luzmo-color-negative-down);--picker-border-color-error-hover: var(--luzmo-color-negative-hover);--picker-border-color-error-hover-open: var(--luzmo-color-negative-down);--picker-border-color-error-active: var(--luzmo-color-negative-down);--picker-border-color-error-key-focus: var(--luzmo-color-negative-focus);--picker-icon-color-error: var(--luzmo-color-negative);--picker-background-color-disabled: var(--luzmo-background-color-disabled);--picker-font-color-disabled: var(--luzmo-color-disabled);--picker-icon-color-disabled: var(--luzmo-color-disabled);--picker-focus-indicator-gap: var(--luzmo-indicator-gap);--picker-focus-indicator-thickness: var(--luzmo-indicator-width);--picker-focus-indicator-color: var(--luzmo-indicator-color);--picker-disclosure-icon-size: var(--luzmo-font-size-s)}:host([size=s]){--picker-block-size: 28px;--picker-font-size: var(--luzmo-font-size-s);--picker-border-radius: var(--luzmo-border-radius);--picker-spacing-edge-to-text: var(--luzmo-spacing-3);--picker-spacing-text-to-icon: var(--luzmo-spacing-3);--picker-spacing-text-to-icon-inline-end: var(--luzmo-spacing-3);--picker-spacing-icon-to-disclosure-icon: var(--luzmo-spacing-3);--picker-spacing-label-to-picker-quiet: calc(-1 * var(--luzmo-spacing-3));--picker-spacing-edge-to-disclosure-icon: var(--luzmo-spacing-3);--picker-disclosure-icon-size: var(--luzmo-font-size-s)}:host([size=l]){--picker-block-size: 40px;--picker-font-size: var(--luzmo-font-size-l);--picker-border-radius: var(--luzmo-border-radius);--picker-spacing-edge-to-text: var(--luzmo-spacing-4);--picker-spacing-text-to-icon: var(--luzmo-spacing-4);--picker-spacing-text-to-icon-inline-end: var(--luzmo-spacing-4);--picker-spacing-icon-to-disclosure-icon: var(--luzmo-spacing-4);--picker-spacing-label-to-picker-quiet: calc(-1 * var(--luzmo-spacing-4));--picker-spacing-edge-to-disclosure-icon: var(--luzmo-spacing-4);--picker-disclosure-icon-size: var(--luzmo-font-size)}:host([size=xl]){--picker-block-size: 48px;--picker-font-size: var(--luzmo-font-size-xl);--picker-border-radius: var(--luzmo-border-radius-l);--picker-spacing-edge-to-text: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-text-to-icon-inline-end: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-icon-to-disclosure-icon: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-label-to-picker-quiet: calc( -1 * var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-spacing-edge-to-disclosure-icon: calc( var(--luzmo-spacing-4) + var(--luzmo-spacing-1) );--picker-disclosure-icon-size: var(--luzmo-font-size-l)}:host([variant=highlight]) ::slotted(luzmo-menu-item[selected]){--menu-item-highlight-label-content-color: var(--luzmo-primary-inverse-color);--menu-checkmark-display: var(--menu-checkmark-display-hidden);padding-inline-start:var(--luzmo-menu-item-label-inline-edge-to-content, var(--menu-item-label-inline-edge-to-content));background-color:var(--luzmo-menu-item-highlight-label-background-color, var(--menu-item-highlight-label-background-color, var(--luzmo-border-color)))}:host{display:inline-flex;vertical-align:top;max-inline-size:100%;inline-size:var(--luzmo-picker-inline-size, var(--picker-inline-size));min-inline-size:calc(var(--picker-minimum-width-multiplier) * var(--luzmo-picker-block-size, var(--picker-block-size)))}:host([quiet]){width:auto;min-width:0}:host([disabled]){pointer-events:none}#button{width:100%;min-width:100%;max-width:100%}#icon:not([hidden]){display:inline-flex}:host([readonly]) #button{-webkit-user-select:inherit;user-select:inherit}.picker,.validation-icon{flex-shrink:0}luzmo-overlay{pointer-events:none}luzmo-menu{pointer-events:initial}:host>luzmo-menu{display:none}:host([focused]:not([quiet])) #button #label.placeholder{color:var(--picker-placeholder-text-color-key-focus, var(--alias-placeholder-text-color-hover))}#label.visually-hidden~.picker{margin-inline-start:auto}:host([focused]:not([quiet],[pending])) #button .picker{color:var(--picker-icon-color-key-focus, var(--alias-icon-color-focus))}.visually-hidden{border:0;clip:rect(0,0,0,0);clip-path:inset(50%);height:1px;margin:0 -1px -1px 0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}luzmo-overlay:not(:defined){display:none}#button.remove-focus-ring-safari-hack:focus-visible{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default, var(--picker-background-color-default)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-default, var(--picker-border-color-default)));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)))}#button.remove-focus-ring-safari-hack:after{border:none}#button.remove-focus-ring-safari-hack:focus-visible:after{box-shadow:none}#button.remove-focus-ring-safari-hack:active{background-color:var(--highcontrast-picker-background-color, var(--luzmo-picker-background-color-default, var(--picker-background-color-default)));border-color:var(--highcontrast-picker-border-color-default, var(--luzmo-picker-border-color-default, var(--picker-border-color-default)));color:var(--highcontrast-picker-content-color-default, var(--luzmo-picker-font-color-default, var(--picker-font-color-default)))}';
80
+ var b = /* @__PURE__ */ ((i) => (i[i.desktop = 0] = "desktop", i[i.mobile = 1] = "mobile", i))(b || {});
81
+ class z {
82
+ constructor(e, o) {
83
+ this.target = e, this.host = o, this.preventNextToggle = "no", this.pointerdownState = !1, this.enterKeydownOn = null, this._open = !1, this.target = e, this.host = o, this.host.addController(this), this.init();
84
+ }
85
+ get activelyOpening() {
86
+ return !1;
87
+ }
88
+ get open() {
89
+ return this._open;
90
+ }
91
+ /**
92
+ * Set `open`
93
+ */
94
+ set open(e) {
95
+ if (this._open !== e) {
96
+ if (this._open = e, this.overlay) {
97
+ this.host.open = e;
98
+ return;
99
+ }
100
+ customElements.whenDefined("luzmo-overlay").then(async () => {
101
+ const { LuzmoOverlay: o } = await import("./overlay/index.js");
102
+ this.overlay = new o(), this.host.open = !0, this.host.requestUpdate();
103
+ }), import("./overlay/index.js");
104
+ }
105
+ }
106
+ get overlay() {
107
+ return this._overlay;
108
+ }
109
+ set overlay(e) {
110
+ e && this.overlay !== e && (this._overlay = e, this.initOverlay());
111
+ }
112
+ releaseDescription() {
113
+ }
114
+ handleBeforetoggle(e) {
115
+ var o;
116
+ e.composedPath()[0] === e.target && (e.newState === "closed" && (this.preventNextToggle === "no" ? this.open = !1 : this.pointerdownState || (o = this.overlay) == null || o.manuallyKeepOpen()), this.open || (this.host.optionsMenu.updateSelectedItemIndex(), this.host.optionsMenu.closeDescendentOverlays()));
117
+ }
118
+ initOverlay() {
119
+ this.overlay && (this.overlay.addEventListener("beforetoggle", (e) => {
120
+ this.handleBeforetoggle(
121
+ e
122
+ );
123
+ }), this.overlay.type = this.host.isMobile.matches ? "modal" : "auto", this.overlay.triggerElement = this.host, this.overlay.placement = this.host.isMobile.matches ? void 0 : this.host.placement, this.overlay.receivesFocus = "true", this.overlay.willPreventClose = this.preventNextToggle !== "no" && this.open, this.overlay.addEventListener(
124
+ "slottable-request",
125
+ this.host.handleSlottableRequest
126
+ ));
127
+ }
128
+ handlePointerdown(e) {
129
+ }
130
+ handleButtonFocus(e) {
131
+ this.preventNextToggle === "maybe" && e.relatedTarget === this.host.optionsMenu && (this.preventNextToggle = "yes");
132
+ }
133
+ handleActivate(e) {
134
+ }
135
+ /* c8 ignore next 3 */
136
+ init() {
137
+ }
138
+ abort() {
139
+ var e;
140
+ this.releaseDescription(), (e = this.abortController) == null || e.abort();
141
+ }
142
+ hostConnected() {
143
+ this.init();
144
+ }
145
+ hostDisconnected() {
146
+ var e;
147
+ (e = this.abortController) == null || e.abort();
148
+ }
149
+ hostUpdated() {
150
+ this.overlay && this.host.dependencyManager.loaded && this.host.open !== this.overlay.open && (this.overlay.willPreventClose = this.preventNextToggle !== "no", this.overlay.open = this.host.open);
151
+ }
152
+ }
153
+ class T extends z {
154
+ constructor() {
155
+ super(...arguments), this.type = b.desktop;
156
+ }
157
+ handlePointerdown(e) {
158
+ if (e.button !== 0 || e.pointerType === "touch")
159
+ return;
160
+ this.pointerdownState = this.open, this.preventNextToggle = "maybe";
161
+ let o = 0;
162
+ const t = () => {
163
+ cancelAnimationFrame(o), o = requestAnimationFrame(() => {
164
+ document.removeEventListener("pointerup", t), document.removeEventListener("pointercancel", t), this.target.removeEventListener("click", t), requestAnimationFrame(() => {
165
+ this.preventNextToggle = "no";
166
+ });
167
+ });
168
+ };
169
+ document.addEventListener("pointerup", t), document.addEventListener("pointercancel", t), this.target.addEventListener("click", t), this.handleActivate();
170
+ }
171
+ handleActivate(e) {
172
+ this.enterKeydownOn && this.enterKeydownOn !== this.target || this.preventNextToggle !== "yes" && ((e == null ? void 0 : e.type) === "click" && this.open !== this.pointerdownState || this.host.toggle());
173
+ }
174
+ init() {
175
+ var o;
176
+ (o = this.abortController) == null || o.abort(), this.abortController = new AbortController();
177
+ const { signal: e } = this.abortController;
178
+ this.target.addEventListener(
179
+ "click",
180
+ (t) => this.handleActivate(t),
181
+ {
182
+ signal: e
183
+ }
184
+ ), this.target.addEventListener(
185
+ "pointerdown",
186
+ (t) => this.handlePointerdown(t),
187
+ { signal: e }
188
+ ), this.target.addEventListener(
189
+ "focus",
190
+ (t) => this.handleButtonFocus(t),
191
+ {
192
+ signal: e
193
+ }
194
+ );
195
+ }
196
+ }
197
+ const p = "remove-focus-ring-safari-hack";
198
+ class K extends z {
199
+ constructor() {
200
+ super(...arguments), this.type = b.mobile;
201
+ }
202
+ handleClick() {
203
+ this.preventNextToggle === "no" && (this.open = !this.open), this.preventNextToggle = "no";
204
+ }
205
+ handlePointerdown() {
206
+ this.preventNextToggle = this.open ? "yes" : "no", k() && this.target.classList.add(p);
207
+ }
208
+ handleFocusOut() {
209
+ this.host.open || k() && this.target.classList.contains(p) && this.target.classList.remove(p);
210
+ }
211
+ init() {
212
+ var o;
213
+ (o = this.abortController) == null || o.abort(), this.abortController = new AbortController();
214
+ const { signal: e } = this.abortController;
215
+ this.target.addEventListener("click", () => this.handleClick(), {
216
+ signal: e
217
+ }), this.target.addEventListener(
218
+ "pointerdown",
219
+ () => this.handlePointerdown(),
220
+ { signal: e }
221
+ ), this.target.addEventListener("focusout", () => this.handleFocusOut(), {
222
+ signal: e
223
+ });
224
+ }
225
+ }
226
+ const m = {
227
+ desktop: T,
228
+ mobile: K
229
+ };
230
+ var N = Object.defineProperty, R = Object.getOwnPropertyDescriptor, a = (i, e, o, t) => {
231
+ for (var c = t > 1 ? void 0 : t ? R(e, o) : e, r = i.length - 1, d; r >= 0; r--)
232
+ (d = i[r]) && (c = (t ? d(e, o, c) : d(c)) || c);
233
+ return t && c && N(e, o, c), c;
234
+ };
235
+ const U = () => s`
236
+ <div class="disclosure-icon icon">
237
+ ${f(A, { className: "indicator" })}
238
+ </div>
239
+ `, j = () => s`
240
+ <div class="icon-container validation-icon icon">
241
+ ${f(O)}
242
+ </div>
243
+ `, g = "option-picker";
244
+ class n extends F($, {
245
+ noDefaultSize: !0
246
+ }) {
247
+ /**
248
+ * Initializes the `PendingStateController` for the Picker component.
249
+ * The `PendingStateController` manages the pending state of the Picker.
250
+ */
251
+ constructor() {
252
+ super(), this.disabled = !1, this.focused = !1, this.invalid = !1, this.pending = !1, this.pendingLabel = "Pending", this.open = !1, this.readonly = !1, this.placement = "bottom-start", this.quiet = !1, this.value = "", this.selects = "single", this.dependencyManager = new q(this), this.isMobile = new P(this, B), this.listRole = "listbox", this.itemRole = "option", this.hasRenderedOverlay = !1, this._selfManageFocusElement = !1, this.deprecatedMenu = null, this.selectionPromise = Promise.resolve(), this.willManageSelection = !1, this.recentlyConnected = !1, this.enterKeydownOn = null, this.handleSlottableRequest = (e) => {
253
+ }, this.applyFocusElementLabel = (e, o) => {
254
+ this.appliedLabel = e, this.labelAlignment = o.sideAligned ? "inline" : void 0;
255
+ }, this.handleKeydown = (e) => {
256
+ this.focused = !0, !(e.code !== "ArrowDown" && e.code !== "ArrowUp") && (e.stopPropagation(), e.preventDefault(), this.toggle(!0));
257
+ }, this.renderAngleIcon = () => U(), this.renderAlertIcon = () => j(), this.handleEnterKeydown = (e) => {
258
+ if (e.code === "Enter") {
259
+ if (this.enterKeydownOn) {
260
+ e.preventDefault();
261
+ return;
262
+ }
263
+ this.enterKeydownOn = e.target, this.addEventListener(
264
+ "keyup",
265
+ (o) => {
266
+ o.code === "Enter" && (this.enterKeydownOn = null);
267
+ },
268
+ { once: !0 }
269
+ );
270
+ }
271
+ }, this.pendingStateController = new L(this);
272
+ }
273
+ get selectedItem() {
274
+ return this._selectedItem;
275
+ }
276
+ get selectedItemContent() {
277
+ return this._selectedItemContent || { icon: [], content: [] };
278
+ }
279
+ get selfManageFocusElement() {
280
+ return this._selfManageFocusElement;
281
+ }
282
+ get menuItems() {
283
+ return this.optionsMenu.childItems;
284
+ }
285
+ set selectedItem(e) {
286
+ if (this.selectedItemContent = e ? e.itemChildren : void 0, e === this.selectedItem)
287
+ return;
288
+ const o = this.selectedItem;
289
+ this._selectedItem = e, this.requestUpdate("selectedItem", o);
290
+ }
291
+ get focusElement() {
292
+ return this.open ? this.optionsMenu : this.button;
293
+ }
294
+ forceFocusVisible() {
295
+ this.disabled || (this.focused = !0);
296
+ }
297
+ click() {
298
+ this.disabled || this.toggle();
299
+ }
300
+ handleButtonBlur() {
301
+ this.focused = !1;
302
+ }
303
+ focus(e) {
304
+ super.focus(e), !this.disabled && this.focusElement && (this.focused = this.hasVisibleFocusInTree());
305
+ }
306
+ handleHelperFocus() {
307
+ this.focused = !0, this.button.focus();
308
+ }
309
+ handleChange(e) {
310
+ this.strategy && (this.strategy.preventNextToggle = "no");
311
+ const o = e.target, [t] = o.selectedItems;
312
+ e.stopPropagation(), e.cancelable ? this.setValueFromItem(t, e) : (this.open = !1, this.strategy && (this.strategy.open = !1));
313
+ }
314
+ handleButtonFocus(e) {
315
+ var o;
316
+ (o = this.strategy) == null || o.handleButtonFocus(e);
317
+ }
318
+ toggle(e) {
319
+ this.readonly || this.pending || (this.open = e === void 0 ? !this.open : e, this.strategy && (this.strategy.open = this.open), this._selfManageFocusElement = this.open);
320
+ }
321
+ close() {
322
+ this.readonly || this.strategy && (this.open = !1, this.strategy.open = !1);
323
+ }
324
+ bindEvents() {
325
+ var e;
326
+ (e = this.strategy) == null || e.abort(), this.strategy = this.isMobile.matches ? new m.mobile(this.button, this) : new m.desktop(this.button, this);
327
+ }
328
+ connectedCallback() {
329
+ super.connectedCallback(), this.recentlyConnected = this.hasUpdated;
330
+ }
331
+ disconnectedCallback() {
332
+ var e;
333
+ this.close(), (e = this.strategy) == null || e.releaseDescription(), super.disconnectedCallback();
334
+ }
335
+ async setValueFromItem(e, o) {
336
+ this.open = !1, this.strategy && (this.strategy.open = !1);
337
+ const t = this.selectedItem, c = this.value;
338
+ if (this.selectedItem = e, this.value = (e == null ? void 0 : e.value) ?? "", await this.updateComplete, !this.dispatchEvent(
339
+ new CustomEvent("change", {
340
+ bubbles: !0,
341
+ // Allow it to be prevented.
342
+ cancelable: !0,
343
+ composed: !0,
344
+ detail: this.value
345
+ })
346
+ ) && this.selects) {
347
+ o && o.preventDefault(), this.setMenuItemSelected(this.selectedItem, !1), t && this.setMenuItemSelected(t, !0), this.selectedItem = t, this.value = c, this.open = !0, this.strategy && (this.strategy.open = !0);
348
+ return;
349
+ } else if (!this.selects) {
350
+ this.selectedItem = t, this.value = c;
351
+ return;
352
+ }
353
+ t && this.setMenuItemSelected(t, !1), this.setMenuItemSelected(e, !!this.selects);
354
+ }
355
+ setMenuItemSelected(e, o) {
356
+ this.selects != null && (e.selected = o);
357
+ }
358
+ get containerStyles() {
359
+ return this.isMobile.matches ? {
360
+ "--swc-menu-width": "100%"
361
+ } : {};
362
+ }
363
+ set selectedItemContent(e) {
364
+ if (e === this.selectedItemContent)
365
+ return;
366
+ const o = this.selectedItemContent;
367
+ this._selectedItemContent = e, this.requestUpdate("selectedItemContent", o);
368
+ }
369
+ handleTooltipSlotchange(e) {
370
+ this.tooltipEl = e.target.assignedElements()[0];
371
+ }
372
+ renderLabelContent(e) {
373
+ return this.value && this.selectedItem ? e : s`
374
+ <slot name="label" id="label">
375
+ <span aria-hidden=${u(this.appliedLabel ? void 0 : "true")}>
376
+ ${this.label}
377
+ </span>
378
+ </slot>
379
+ `;
380
+ }
381
+ get buttonContent() {
382
+ const e = {
383
+ "visually-hidden": this.icons === "only" && !!this.value,
384
+ placeholder: !this.value,
385
+ label: !0
386
+ }, o = this.appliedLabel || this.label;
387
+ return [
388
+ s`
389
+ <div id="icon" ?hidden=${this.icons === "none"}>
390
+ ${this.selectedItemContent.icon}
391
+ </div>
392
+ <div
393
+ id=${u(this.value && this.selectedItem ? "label" : void 0)}
394
+ class=${D(e)}
395
+ >
396
+ ${this.renderLabelContent(this.selectedItemContent.content)}
397
+ </div>
398
+ ${this.value && this.selectedItem ? s`
399
+ <div
400
+ aria-hidden="true"
401
+ class="visually-hidden"
402
+ id="applied-label"
403
+ >
404
+ ${o}
405
+ <slot name="label"></slot>
406
+ </div>
407
+ ` : s` <span hidden id="applied-label">${o}</span> `}
408
+ ${this.invalid && !this.pending ? s` ${this.renderAlertIcon()} ` : w}
409
+ ${this.pendingStateController.renderPendingState()}
410
+ ${this.renderAngleIcon()}
411
+ <slot
412
+ aria-hidden="true"
413
+ name="tooltip"
414
+ id="tooltip"
415
+ @slotchange=${this.handleTooltipSlotchange}
416
+ ></slot>
417
+ `
418
+ ];
419
+ }
420
+ renderOverlay(e) {
421
+ var t, c, r;
422
+ if (((t = this.strategy) == null ? void 0 : t.overlay) === void 0)
423
+ return e;
424
+ const o = this.renderContainer(e);
425
+ return x(o, (c = this.strategy) == null ? void 0 : c.overlay, {
426
+ host: this
427
+ }), (r = this.strategy) == null ? void 0 : r.overlay;
428
+ }
429
+ get renderDescriptionSlot() {
430
+ return s`
431
+ <div id=${g}>
432
+ <slot name="description"></slot>
433
+ </div>
434
+ `;
435
+ }
436
+ // a helper to throw focus to the button is needed because Safari
437
+ // won't include buttons in the tab order even with tabindex="0"
438
+ render() {
439
+ return this.tooltipEl && (this.tooltipEl.disabled = this.open), s`
440
+ <span
441
+ id="focus-helper"
442
+ tabindex=${this.focused || this.open ? "-1" : "0"}
443
+ @focus=${this.handleHelperFocus}
444
+ aria-describedby=${g}
445
+ ></span>
446
+ <button
447
+ aria-controls=${u(this.open ? "menu" : void 0)}
448
+ aria-describedby="tooltip"
449
+ aria-expanded=${this.open ? "true" : "false"}
450
+ aria-haspopup="true"
451
+ aria-labelledby="loader icon label applied-label"
452
+ id="button"
453
+ class=${u(
454
+ this.labelAlignment ? `label-${this.labelAlignment}` : void 0
455
+ )}
456
+ @blur=${this.handleButtonBlur}
457
+ @keydown=${{
458
+ handleEvent: this.handleEnterKeydown,
459
+ capture: !0
460
+ }}
461
+ ?disabled=${this.disabled}
462
+ tabindex="-1"
463
+ >
464
+ ${this.buttonContent}
465
+ </button>
466
+ ${this.renderMenu} ${this.renderDescriptionSlot}
467
+ `;
468
+ }
469
+ update(e) {
470
+ var o, t;
471
+ this.selects && (this.selects = "single"), e.has("disabled") && this.disabled && this.strategy && (this.open = !1, this.strategy.open = !1), e.has("pending") && this.pending && this.strategy && (this.open = !1, this.strategy.open = !1), e.has("value") && this.shouldScheduleManageSelection(), this.hasUpdated || (this.deprecatedMenu = this.querySelector(":scope > luzmo-menu"), (o = this.deprecatedMenu) == null || o.toggleAttribute("ignore", !0), (t = this.deprecatedMenu) == null || t.setAttribute("selects", "inherit")), super.update(e);
472
+ }
473
+ bindButtonKeydownListener() {
474
+ this.button.addEventListener("keydown", this.handleKeydown);
475
+ }
476
+ updated(e) {
477
+ super.updated(e), e.has("open") && (this.strategy.open = this.open);
478
+ }
479
+ firstUpdated(e) {
480
+ super.firstUpdated(e), this.bindButtonKeydownListener(), this.bindEvents();
481
+ }
482
+ get dismissHelper() {
483
+ return s`
484
+ <div class="visually-hidden">
485
+ <button
486
+ tabindex="-1"
487
+ aria-label="Dismiss"
488
+ @click=${this.close}
489
+ ></button>
490
+ </div>
491
+ `;
492
+ }
493
+ renderContainer(e) {
494
+ const o = s`
495
+ ${this.dismissHelper} ${e} ${this.dismissHelper}
496
+ `;
497
+ return this.dependencyManager.add("luzmo-popover"), import("./popover/index.js"), s`
498
+ <luzmo-popover
499
+ id="popover"
500
+ size=${this.size}
501
+ role="presentation"
502
+ style=${E(this.containerStyles)}
503
+ placement=${this.placement}
504
+ >
505
+ ${o}
506
+ </luzmo-popover>
507
+ `;
508
+ }
509
+ get renderMenu() {
510
+ const e = s`
511
+ <luzmo-menu
512
+ aria-labelledby="applied-label"
513
+ @change=${this.handleChange}
514
+ id="menu"
515
+ @keydown=${{
516
+ handleEvent: this.handleEnterKeydown,
517
+ capture: !0
518
+ }}
519
+ @scroll=${this.onScroll}
520
+ role=${this.listRole}
521
+ .selects=${this.selects}
522
+ .selected=${this.value ? [this.value] : []}
523
+ size=${this.size}
524
+ @luzmo-menu-item-added-or-updated=${this.shouldManageSelection}
525
+ >
526
+ <slot @slotchange=${this.shouldScheduleManageSelection}></slot>
527
+ </luzmo-menu>
528
+ `;
529
+ return this.hasRenderedOverlay = this.hasRenderedOverlay || this.focused || this.open || !!this.deprecatedMenu, this.hasRenderedOverlay ? (this.dependencyManager.loaded && this.dependencyManager.add("luzmo-overlay"), this.renderOverlay(e)) : e;
530
+ }
531
+ shouldScheduleManageSelection(e) {
532
+ !this.willManageSelection && (!e || e.target.getRootNode().host === this) && (this.willManageSelection = !0, requestAnimationFrame(() => {
533
+ requestAnimationFrame(() => {
534
+ this.manageSelection();
535
+ });
536
+ }));
537
+ }
538
+ shouldManageSelection() {
539
+ this.willManageSelection || (this.willManageSelection = !0, this.manageSelection());
540
+ }
541
+ async manageSelection() {
542
+ if (this.selects == null)
543
+ return;
544
+ this.selectionPromise = new Promise(
545
+ (o) => this.selectionResolver = o
546
+ );
547
+ let e;
548
+ await this.optionsMenu.updateComplete, this.recentlyConnected && (await new Promise((o) => requestAnimationFrame(() => o(!0))), this.recentlyConnected = !1), this.menuItems.forEach((o) => {
549
+ this.value === o.value && !o.disabled ? e = o : o.selected = !1;
550
+ }), e ? (e.selected = !!this.selects, this.selectedItem = e) : (this.value = "", this.selectedItem = void 0), this.open && (await this.optionsMenu.updateComplete, this.optionsMenu.updateSelectedItemIndex()), this.selectionResolver(), this.willManageSelection = !1;
551
+ }
552
+ async getUpdateComplete() {
553
+ const e = await super.getUpdateComplete();
554
+ return await this.selectionPromise, e;
555
+ }
556
+ onScroll() {
557
+ this.dispatchEvent(
558
+ new Event("scroll", {
559
+ cancelable: !0,
560
+ composed: !0
561
+ })
562
+ );
563
+ }
564
+ }
565
+ a([
566
+ h()
567
+ ], n.prototype, "appliedLabel", 2);
568
+ a([
569
+ v("#button")
570
+ ], n.prototype, "button", 2);
571
+ a([
572
+ l({ type: Boolean, reflect: !0 })
573
+ ], n.prototype, "disabled", 2);
574
+ a([
575
+ l({ type: Boolean, reflect: !0 })
576
+ ], n.prototype, "focused", 2);
577
+ a([
578
+ l({ type: String, reflect: !0 })
579
+ ], n.prototype, "icons", 2);
580
+ a([
581
+ l({ type: String, reflect: !0 })
582
+ ], n.prototype, "variant", 2);
583
+ a([
584
+ l({ type: Boolean, reflect: !0 })
585
+ ], n.prototype, "invalid", 2);
586
+ a([
587
+ l({ type: Boolean, reflect: !0 })
588
+ ], n.prototype, "pending", 2);
589
+ a([
590
+ l({ type: String, attribute: "pending-label" })
591
+ ], n.prototype, "pendingLabel", 2);
592
+ a([
593
+ l()
594
+ ], n.prototype, "label", 2);
595
+ a([
596
+ l({ type: Boolean, reflect: !0 })
597
+ ], n.prototype, "open", 2);
598
+ a([
599
+ l({ type: Boolean, reflect: !0 })
600
+ ], n.prototype, "readonly", 2);
601
+ a([
602
+ h()
603
+ ], n.prototype, "labelAlignment", 2);
604
+ a([
605
+ v("luzmo-menu")
606
+ ], n.prototype, "optionsMenu", 2);
607
+ a([
608
+ v("luzmo-overlay")
609
+ ], n.prototype, "overlayElement", 2);
610
+ a([
611
+ l()
612
+ ], n.prototype, "placement", 2);
613
+ a([
614
+ l({ type: Boolean, reflect: !0 })
615
+ ], n.prototype, "quiet", 2);
616
+ a([
617
+ l({ type: String })
618
+ ], n.prototype, "value", 2);
619
+ a([
620
+ l({ attribute: !1 })
621
+ ], n.prototype, "selectedItem", 1);
622
+ a([
623
+ h()
624
+ ], n.prototype, "selectedItemContent", 1);
625
+ class ce extends n {
626
+ constructor() {
627
+ super(...arguments), this.handleKeydown = (e) => {
628
+ const { code: o } = e;
629
+ if (this.focused = !0, !o.startsWith("Arrow") || this.readonly || this.pending)
630
+ return;
631
+ if (o === "ArrowUp" || o === "ArrowDown") {
632
+ this.toggle(!0), e.preventDefault();
633
+ return;
634
+ }
635
+ e.preventDefault();
636
+ const t = this.selectedItem ? this.menuItems.indexOf(this.selectedItem) : -1, c = t < 0 || o === "ArrowRight" ? 1 : -1;
637
+ let r = t + c;
638
+ for (; this.menuItems[r] && this.menuItems[r].disabled; )
639
+ r += c;
640
+ !this.menuItems[r] || this.menuItems[r].disabled || (!this.value || r !== t) && this.setValueFromItem(this.menuItems[r]);
641
+ };
642
+ }
643
+ static get styles() {
644
+ return [C(_)];
645
+ }
646
+ get containerStyles() {
647
+ const e = super.containerStyles;
648
+ return this.quiet || (e["min-width"] = `${this.offsetWidth}px`), e;
649
+ }
650
+ }
651
+ export {
652
+ g as D,
653
+ n as L,
654
+ ce as a
655
+ };