@luzmo/lucero 2.2.1 → 2.4.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 (512) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +34 -1
  3. package/components/accordion/index.cjs +2 -2
  4. package/components/accordion/index.js +3 -8
  5. package/components/{accordion-DpsYMoeb.cjs → accordion-BK0LfhmL.cjs} +2 -2
  6. package/components/{accordion-BDchhAjE.js → accordion-ciplqKwM.js} +2 -1
  7. package/components/action-bar/action-bar.d.ts +3 -3
  8. package/components/action-bar/index.cjs +2 -2
  9. package/components/action-bar/index.js +3 -8
  10. package/components/{action-bar-2FGCCKMW.js → action-bar-BZBIeGo7.js} +6 -5
  11. package/components/action-bar-DAqG_7VG.cjs +39 -0
  12. package/components/action-button/index.cjs +2 -2
  13. package/components/action-button/index.js +3 -8
  14. package/components/{action-button-OB5MM04X.js → action-button-BRijXjEz.js} +2 -1
  15. package/components/action-button-CX1uYbQp.cjs +22 -0
  16. package/components/action-group/index.cjs +2 -2
  17. package/components/action-group/index.js +3 -11
  18. package/components/{action-group-BQ-fyPYS.js → action-group-DSiruuF0.js} +5 -2
  19. package/components/action-group-oo7YV0EW.cjs +20 -0
  20. package/components/action-menu/index.cjs +2 -2
  21. package/components/action-menu/index.js +3 -8
  22. package/components/{action-menu-Diehg1Kc.js → action-menu-C0sHNsjG.js} +7 -6
  23. package/components/{action-menu-CtMswuyc.cjs → action-menu-CwzRbF61.cjs} +2 -2
  24. package/components/avatar/index.cjs +2 -2
  25. package/components/avatar/index.js +3 -8
  26. package/components/{avatar-Nb0368Wi.js → avatar-CwSyYAKV.js} +2 -1
  27. package/components/avatar-DHS5UGTJ.cjs +34 -0
  28. package/components/badge/index.cjs +2 -2
  29. package/components/badge/index.js +3 -8
  30. package/components/{badge-DP1uxXaZ.js → badge-D2Hjf-Ww.js} +2 -1
  31. package/components/badge-D8pIDEoq.cjs +23 -0
  32. package/components/button/index.cjs +2 -2
  33. package/components/button/index.js +4 -9
  34. package/components/button-Bvnidb4x.cjs +20 -0
  35. package/components/{button-DXWWEbir.js → button-DIV_j_U3.js} +4 -3
  36. package/components/button-base-DiNxrttk.cjs +1 -1
  37. package/components/button-base-DiPzVpp4.js +1 -1
  38. package/components/button-group/index.cjs +2 -2
  39. package/components/button-group/index.js +3 -8
  40. package/components/button-group-Du7R4SxZ.cjs +18 -0
  41. package/components/{button-group-DaANSInm.js → button-group-Duf-Igst.js} +2 -1
  42. package/components/calendar/index.cjs +2 -2
  43. package/components/calendar/index.js +3 -8
  44. package/components/{calendar-C8u_88jX.js → calendar-D1UtHvpY.js} +4 -3
  45. package/components/calendar-pQxEWdYC.cjs +138 -0
  46. package/components/chat-message/index.cjs +2 -2
  47. package/components/chat-message/index.js +3 -8
  48. package/components/chat-message-Dgo6h0rD.cjs +148 -0
  49. package/components/{chat-message-CXq0Trjx.js → chat-message-T6QIK2Bl.js} +528 -563
  50. package/components/chat-message-group/index.cjs +2 -2
  51. package/components/chat-message-group/index.js +3 -8
  52. package/components/chat-message-group-CvxdX3jt.cjs +24 -0
  53. package/components/{chat-message-group-D7vdn2gG.js → chat-message-group-k9lo-ZqD.js} +2 -1
  54. package/components/checkbox/index.cjs +2 -2
  55. package/components/checkbox/index.js +3 -8
  56. package/components/{checkbox-6YzkdHR4.js → checkbox-BEjvkjfc.js} +2 -1
  57. package/components/checkbox-ClVrkeLp.cjs +25 -0
  58. package/components/checkbox-mixin-jqmrh48O.js +1 -1
  59. package/components/checkbox-mixin-rFRXqyrK.cjs +1 -1
  60. package/components/{close-button-BntGLAcp.cjs → close-button-BAELImQY.cjs} +2 -2
  61. package/components/{close-button-D12zZ9zC.js → close-button-Dlvtf9lB.js} +3 -3
  62. package/components/color-area/index.cjs +2 -2
  63. package/components/color-area/index.js +3 -8
  64. package/components/color-area-CmKlQG1i.cjs +80 -0
  65. package/components/{color-area-DMpXKgPY.js → color-area-lbg8wwZG.js} +3 -2
  66. package/components/color-controller-DbyPc33Y.cjs +1 -1
  67. package/components/color-controller-Rg_Zl0sT.js +1 -1
  68. package/components/color-field/index.cjs +2 -2
  69. package/components/color-field/index.js +3 -8
  70. package/components/{color-field-BNGnBRSO.cjs → color-field-BH9x46k_.cjs} +2 -2
  71. package/components/{color-field-CUdHxonc.js → color-field-C9S-Fv46.js} +2 -1
  72. package/components/color-handle/color-handle.d.ts +1 -1
  73. package/components/color-handle/index.cjs +2 -2
  74. package/components/color-handle/index.js +3 -8
  75. package/components/color-handle-2iFLp9FN.cjs +24 -0
  76. package/components/{color-handle-TKbLs1ax.js → color-handle-BEDQ1RcS.js} +3 -2
  77. package/components/color-loupe/index.cjs +2 -2
  78. package/components/color-loupe/index.js +3 -11
  79. package/components/color-loupe-6NcLbFco.cjs +56 -0
  80. package/components/{color-loupe-DAxrNPJz.js → color-loupe-CqHyyvjQ.js} +5 -2
  81. package/components/color-menu/index.cjs +2 -2
  82. package/components/color-menu/index.js +3 -8
  83. package/components/color-menu-BYTgxLQG.cjs +89 -0
  84. package/components/{color-menu-jkdcr5ir.js → color-menu-qJK_clDq.js} +9 -8
  85. package/components/color-palette/index.cjs +2 -2
  86. package/components/color-palette/index.js +3 -8
  87. package/components/{color-palette-FQyIMSwP.js → color-palette-CqiO5ohz.js} +2 -1
  88. package/components/color-palette-group/index.cjs +2 -2
  89. package/components/color-palette-group/index.js +3 -8
  90. package/components/color-palette-group-D4k_7pW6.cjs +28 -0
  91. package/components/{color-palette-group-o6bnF-Ir.js → color-palette-group-zByrO_qb.js} +2 -1
  92. package/components/color-palette-x6W09EBL.cjs +18 -0
  93. package/components/color-picker/index.cjs +2 -2
  94. package/components/color-picker/index.js +3 -8
  95. package/components/{color-picker-C4pvkA2k.cjs → color-picker-BAikpqUT.cjs} +2 -2
  96. package/components/{color-picker-DF3gBQvH.js → color-picker-CSuAPo5X.js} +6 -5
  97. package/components/color-slider/index.cjs +2 -2
  98. package/components/color-slider/index.js +3 -8
  99. package/components/{color-slider-DejvUYrW.js → color-slider-0JzdSRTy.js} +3 -2
  100. package/components/color-slider-CMW8gJ0Z.cjs +57 -0
  101. package/components/condition-attribute-with-id-BdnTdWKz.js +1 -1
  102. package/components/condition-attribute-with-id-Cw92IbcP.cjs +1 -1
  103. package/components/date-range-picker/index.cjs +2 -2
  104. package/components/date-range-picker/index.js +3 -8
  105. package/components/date-range-picker-D149LIGC.cjs +180 -0
  106. package/components/{date-range-picker-DCOv5PYH.js → date-range-picker-DKVmGpUC.js} +7 -6
  107. package/components/date-time-picker/index.cjs +2 -2
  108. package/components/date-time-picker/index.js +3 -8
  109. package/components/{date-time-picker-ClgATXBy.js → date-time-picker-6c19YzwF.js} +7 -6
  110. package/components/date-time-picker-CRpvRk9T.cjs +105 -0
  111. package/components/decorate-CkCg3wfh.js +1 -1
  112. package/components/decorate-Dq34MBGe.cjs +1 -1
  113. package/components/dependency-manger-BSaHw9ju.cjs +1 -1
  114. package/components/dependency-manger-wHEXoU92.js +1 -1
  115. package/components/divider/index.cjs +2 -2
  116. package/components/divider/index.js +3 -8
  117. package/components/divider-BcE8D-pH.cjs +18 -0
  118. package/components/{divider-CGbT-CL8.js → divider-Cz5nyvP9.js} +2 -1
  119. package/components/divider.module-BV6tmpOY.cjs +1 -1
  120. package/components/divider.module-CPEKsaqR.js +1 -1
  121. package/components/element-resolution-BjaAlqwX.cjs +1 -1
  122. package/components/element-resolution-gap51AVo.js +1 -1
  123. package/components/field-group/index.cjs +2 -2
  124. package/components/field-group/index.js +2 -7
  125. package/components/field-group-C_kRq7pJ.js +1 -1
  126. package/components/field-group-Dd5xYczm.cjs +1 -1
  127. package/components/field-label/index.cjs +2 -2
  128. package/components/field-label/index.js +3 -11
  129. package/components/field-label-C0vfY1b6.cjs +25 -0
  130. package/components/{field-label-B9S41b7c.js → field-label-C28wWqC5.js} +5 -2
  131. package/components/focus-group-C8lOjbi9.cjs +1 -1
  132. package/components/focus-group-DVPa1zxz.js +1 -1
  133. package/components/focus-visible-Bt2uDmuM.js +1 -1
  134. package/components/focus-visible-DNHNlrty.cjs +1 -1
  135. package/components/focusable-B6h03pAe.cjs +1 -1
  136. package/components/focusable-DuP0-Kuy.js +1 -1
  137. package/components/focusable-selectors-BWpiuXz5.js +1 -1
  138. package/components/focusable-selectors-DJqGLTJo.cjs +1 -1
  139. package/components/get-label-from-slot-Bo9mqYCZ.js +1 -1
  140. package/components/get-label-from-slot-TV4APBYs.cjs +1 -1
  141. package/components/icon/index.cjs +2 -2
  142. package/components/icon/index.js +3 -8
  143. package/components/{icon-DB1DRieA.js → icon-CsJZMhIm.js} +2 -1
  144. package/components/icon-zOPAWCdx.cjs +18 -0
  145. package/components/index.cjs +2 -2
  146. package/components/index.js +64 -75
  147. package/components/infield-button/index.cjs +2 -2
  148. package/components/infield-button/index.js +3 -8
  149. package/components/{infield-button-C1mz69Qf.js → infield-button-DiE8R6ol.js} +2 -1
  150. package/components/infield-button-kilVRjwB.cjs +22 -0
  151. package/components/label/index.cjs +2 -2
  152. package/components/label/index.js +3 -8
  153. package/components/{label-DPG13Ib0.cjs → label-B3zs6OX0.cjs} +2 -2
  154. package/components/{label-B1HYQ4Pp.js → label-e6Y13vrS.js} +2 -1
  155. package/components/language-resolution-BaKYDD1a.js +1 -1
  156. package/components/language-resolution-CSjktYg5.cjs +1 -1
  157. package/components/like-anchor-BX4PSB3d.cjs +1 -1
  158. package/components/like-anchor-DXCaEv7O.js +1 -1
  159. package/components/manage-help-text-ByLb0QYX.js +1 -1
  160. package/components/manage-help-text-DtFJsl0k.cjs +1 -1
  161. package/components/menu/index.cjs +2 -2
  162. package/components/menu/index.js +3 -8
  163. package/components/{menu-Cq7BEv5Y.cjs → menu-CrhA2iPZ.cjs} +3 -3
  164. package/components/{menu-DY8q8qyn.js → menu-fdJseu1y.js} +3 -2
  165. package/components/multi-language-field/index.cjs +2 -2
  166. package/components/multi-language-field/index.js +3 -8
  167. package/components/{multi-language-field-Cfy3M_ZS.cjs → multi-language-field-BndVikur.cjs} +2 -2
  168. package/components/{multi-language-field-DhQ98r2D.js → multi-language-field-vJMK-osi.js} +3 -2
  169. package/components/notice/index.cjs +2 -2
  170. package/components/notice/index.js +3 -8
  171. package/components/notice-CsWaqcq3.cjs +60 -0
  172. package/components/{notice-s6QHF_tq.js → notice-N0-lxEf_.js} +4 -3
  173. package/components/number-field/index.cjs +2 -2
  174. package/components/number-field/index.js +3 -8
  175. package/components/{number-field-BqnZS9Gx.js → number-field-DAOy_AvQ.js} +3 -2
  176. package/components/number-field-xxXgR70l.cjs +57 -0
  177. package/components/observe-slot-presence-BKY6n06-.js +1 -1
  178. package/components/observe-slot-presence-CS8pMePk.cjs +1 -1
  179. package/components/observe-slot-text-CvL-2ey3.cjs +1 -1
  180. package/components/observe-slot-text-Db8Kx3P-.js +1 -1
  181. package/components/options/index.cjs +2 -2
  182. package/components/options/index.js +3 -8
  183. package/components/options/options.d.ts +1 -0
  184. package/components/{options-Bd6Uly5_.cjs → options-CP9V2CSJ.cjs} +2 -2
  185. package/components/{options-CpaaBaxn.js → options-D_ifU0DH.js} +4 -2
  186. package/components/overlay/index.cjs +2 -2
  187. package/components/overlay/index.js +4 -10
  188. package/components/overlay/placement-controller.d.ts +2 -1
  189. package/components/overlay-Dn7EbA_W.cjs +102 -0
  190. package/components/{overlay-CyBsHuOL.js → overlay-DpHIYJtd.js} +282 -77
  191. package/components/{pending-state-a527YMWV.cjs → pending-state-CGHvTtKR.cjs} +2 -2
  192. package/components/{pending-state-BeG7qBDP.js → pending-state-D_b45qvi.js} +2 -2
  193. package/components/picker/index.cjs +2 -2
  194. package/components/picker/index.js +3 -8
  195. package/components/picker-BliQJlY_.cjs +124 -0
  196. package/components/{picker-f4fSGZX8.js → picker-D0fMBZLb.js} +6 -6
  197. package/components/picker-button/index.cjs +2 -2
  198. package/components/picker-button/index.js +3 -8
  199. package/components/picker-button-B8Jbf9jK.cjs +37 -0
  200. package/components/{picker-button-DVzLeTq8.js → picker-button-CJQJshbo.js} +3 -2
  201. package/components/platform-BAjeJp2W.cjs +1 -1
  202. package/components/platform-Ce9pNsR9.js +1 -1
  203. package/components/popover/index.cjs +2 -2
  204. package/components/popover/index.js +3 -11
  205. package/components/popover-BsdqkvKI.cjs +30 -0
  206. package/components/{popover-DTsrgH-f.js → popover-DC8tkee-.js} +17 -15
  207. package/components/progress-bar/index.cjs +2 -2
  208. package/components/progress-bar/index.js +3 -8
  209. package/components/progress-bar-CrodWzcc.cjs +34 -0
  210. package/components/{progress-bar-BJO8j1aX.js → progress-bar-D4iFHkp7.js} +2 -1
  211. package/components/progress-circle/index.cjs +2 -2
  212. package/components/progress-circle/index.js +3 -11
  213. package/components/{progress-circle-BVToDWX8.js → progress-circle-By6qUQYe.js} +5 -2
  214. package/components/progress-circle-bO_VAX3N.cjs +33 -0
  215. package/components/progress-steps/index.cjs +2 -2
  216. package/components/progress-steps/index.d.ts +2 -1
  217. package/components/progress-steps/index.js +4 -9
  218. package/components/progress-steps/progress-steps-model.d.ts +23 -0
  219. package/components/progress-steps/progress-steps.d.ts +82 -109
  220. package/components/progress-steps/types.d.ts +18 -3
  221. package/components/progress-steps-Y-Tgh_fQ.cjs +98 -0
  222. package/components/progress-steps-ohguJaPa.js +368 -0
  223. package/components/prompt-box/index.cjs +2 -2
  224. package/components/prompt-box/index.js +3 -8
  225. package/components/{prompt-box-BY1xKFZO.js → prompt-box-Cz_m2wso.js} +8 -8
  226. package/components/{prompt-box-Dg9S0C5x.cjs → prompt-box-sp9_-Hnx.cjs} +3 -3
  227. package/components/question-box/index.cjs +2 -2
  228. package/components/question-box/index.js +3 -8
  229. package/components/{question-box-CZxQTeS9.cjs → question-box-Bdtsgv1k.cjs} +2 -2
  230. package/components/{question-box-CyojSIop.js → question-box-D7YSi_6c.js} +9 -8
  231. package/components/radio/index.cjs +2 -2
  232. package/components/radio/index.js +3 -8
  233. package/components/{radio-DRI4on-W.js → radio-B6hX9Klr.js} +2 -1
  234. package/components/radio-CRTfoEX_.cjs +22 -0
  235. package/components/random-id-BcUJAxUZ.cjs +1 -1
  236. package/components/random-id-CiMDyX7v.js +1 -1
  237. package/components/rolldown-runtime-Dy4uBu1J.js +1 -1
  238. package/components/roving-tabindex-BoPao4td.cjs +1 -1
  239. package/components/roving-tabindex-pomAn3z-.js +1 -1
  240. package/components/scaled-indicator-C-TupV4L.js +1 -1
  241. package/components/scaled-indicator-DLJIztx0.cjs +1 -1
  242. package/components/search/index.cjs +2 -2
  243. package/components/search/index.js +3 -8
  244. package/components/{search-C-EPZmTG.js → search-DEjLSJ96.js} +4 -3
  245. package/components/search-PxJEuwHt.cjs +47 -0
  246. package/components/segments-factory-BCRi1NKb.js +1 -1
  247. package/components/segments-factory-DtPyN5sh.cjs +1 -1
  248. package/components/select/index.cjs +2 -2
  249. package/components/select/index.js +3 -8
  250. package/components/{select-BbFG38ag.js → select-BUgHi69P.js} +9 -8
  251. package/components/select-DsGVB01K.cjs +158 -0
  252. package/components/sized-mixin-BT7cv-fT.cjs +1 -1
  253. package/components/sized-mixin-DzQTebN-.js +1 -1
  254. package/components/skeleton-loader/index.cjs +2 -2
  255. package/components/skeleton-loader/index.js +3 -8
  256. package/components/{skeleton-loader-C0LH3prK.js → skeleton-loader-BeCsYADg.js} +2 -1
  257. package/components/skeleton-loader-CNcwCh4V.cjs +18 -0
  258. package/components/slider/index.cjs +2 -2
  259. package/components/slider/index.js +3 -8
  260. package/components/{slider-B7QAhDTM.js → slider-Bsl8Xrme.js} +3 -2
  261. package/components/{slider-DxliwjT6.cjs → slider-C_8pSK4N.cjs} +2 -2
  262. package/components/slottable-request-event-C6eb7Ch3.cjs +1 -1
  263. package/components/slottable-request-event-MRSZbgTu.js +1 -1
  264. package/components/split-view/index.cjs +2 -2
  265. package/components/split-view/index.js +3 -8
  266. package/components/split-view-BwCFYey6.cjs +43 -0
  267. package/components/{split-view-FxpiSCem.js → split-view-CDwHDmII.js} +2 -1
  268. package/components/status-light/index.cjs +2 -2
  269. package/components/status-light/index.js +3 -8
  270. package/components/status-light-D3hdx8Pd.cjs +21 -0
  271. package/components/{status-light-DC8qqO8q.js → status-light-DwUnjE3t.js} +2 -1
  272. package/components/strategies-BwNbUXYS.cjs +1 -1
  273. package/components/strategies-Cl59wdNZ.js +1 -1
  274. package/components/streaming-listener-Bfyk6Fsx.cjs +1 -1
  275. package/components/streaming-listener-CtcMpYfS.js +1 -1
  276. package/components/swatch/index.cjs +2 -2
  277. package/components/swatch/index.js +3 -8
  278. package/components/{swatch-C2ty27bJ.js → swatch-Bj2FARl1.js} +2 -1
  279. package/components/{swatch-DUmBmg4S.cjs → swatch-CQ0inIHK.cjs} +2 -2
  280. package/components/switch/index.cjs +2 -2
  281. package/components/switch/index.js +3 -8
  282. package/components/{switch-DOuXlFwI.js → switch-CpG-hSWY.js} +2 -1
  283. package/components/switch-qwpYXVnO.cjs +22 -0
  284. package/components/tabs/index.cjs +2 -2
  285. package/components/tabs/index.js +3 -8
  286. package/components/{tabs-CjY4eX9W.js → tabs-BD_ATrBg.js} +4 -3
  287. package/components/{tabs-ZwcVrVub.cjs → tabs-DxOD4QNt.cjs} +2 -2
  288. package/components/tags/index.cjs +2 -2
  289. package/components/tags/index.js +3 -8
  290. package/components/{tags-BCKNzEaH.js → tags-BIpFgOYy.js} +4 -3
  291. package/components/tags-fLCGajv_.cjs +47 -0
  292. package/components/text-field/index.cjs +2 -2
  293. package/components/text-field/index.js +3 -8
  294. package/components/text-field-3fDtTQkR.cjs +1 -1
  295. package/components/text-field-CbN4nydd.cjs +21 -0
  296. package/components/text-field-CmSym2QK.js +1 -1
  297. package/components/{text-field-C2MHZbTp.js → text-field-CmyqQxq0.js} +2 -1
  298. package/components/text-field.module-BHhBReKL.js +1 -1
  299. package/components/text-field.module-l8CaTCwE.cjs +1 -1
  300. package/components/toast/index.cjs +2 -2
  301. package/components/toast/index.js +3 -8
  302. package/components/toast-DRrGgznK.cjs +51 -0
  303. package/components/{toast-DlOeMDCI.js → toast-KwHx-agn.js} +3 -2
  304. package/components/tokens.cjs +18 -0
  305. package/components/tokens.css +18 -0
  306. package/components/tokens.js +23 -0
  307. package/components/tooltip/index.cjs +2 -2
  308. package/components/tooltip/index.js +3 -8
  309. package/components/tooltip-DjOW52n2.cjs +45 -0
  310. package/components/{tooltip-Byl1h4nN.js → tooltip-xTa9Q5JW.js} +2 -1
  311. package/components/top-nav/index.cjs +2 -2
  312. package/components/top-nav/index.js +3 -8
  313. package/components/top-nav-81IKEGjR.cjs +41 -0
  314. package/components/{top-nav-B9YKdtFB.js → top-nav-CXjnpdFR.js} +2 -1
  315. package/components/utils.cjs +1 -1
  316. package/components/utils.js +1 -1
  317. package/components/voice-recorder-B1tBrGTV.cjs +1 -1
  318. package/components/voice-recorder-CTg3kRxx.js +1 -1
  319. package/custom-elements.json +1 -1
  320. package/package.json +11 -2
  321. package/standalone/accordion.js +45 -0
  322. package/standalone/action-bar.js +41 -0
  323. package/standalone/action-button.js +20 -0
  324. package/standalone/action-group.js +20 -0
  325. package/standalone/action-menu.js +58 -0
  326. package/standalone/avatar.js +36 -0
  327. package/standalone/badge.js +20 -0
  328. package/standalone/button-group.js +20 -0
  329. package/standalone/button.js +20 -0
  330. package/standalone/calendar.js +20 -0
  331. package/standalone/chat-message-group.js +26 -0
  332. package/standalone/chat-message.js +150 -0
  333. package/standalone/checkbox.js +20 -0
  334. package/standalone/chunks/NumberFormatter-DMCfW685.js +2 -0
  335. package/standalone/chunks/NumberParser-r_jv94LA.js +2 -0
  336. package/standalone/chunks/action-button-BzzPBqt5.js +6 -0
  337. package/standalone/chunks/action-group-DTxf-0tP.js +4 -0
  338. package/standalone/chunks/async-directive-BA2_dM-5.js +2 -0
  339. package/standalone/chunks/async-directive-CPdA0BOw.js +2 -0
  340. package/standalone/chunks/badge-DD-tMgzi.js +7 -0
  341. package/standalone/chunks/button-Bv3v7VbN.js +4 -0
  342. package/standalone/chunks/button-Dykw3TSO.js +2 -0
  343. package/standalone/chunks/button-base-C7jeeyLp.js +9 -0
  344. package/standalone/chunks/calendar-ZwUYkzVq.js +122 -0
  345. package/standalone/chunks/checkbox-OQtakoP8.js +9 -0
  346. package/standalone/chunks/checkbox-mixin-BAQWmwps.js +11 -0
  347. package/standalone/chunks/class-map-CxQ0PcQP.js +2 -0
  348. package/standalone/chunks/clear-button-pVGfwye8.js +2 -0
  349. package/standalone/chunks/close-button-RpPiwBdf.js +2 -0
  350. package/standalone/chunks/color-area-Cj8oPsIF.js +64 -0
  351. package/standalone/chunks/color-controller-fJNWRHVI.js +2 -0
  352. package/standalone/chunks/color-field-CrCF4kqZ.js +7 -0
  353. package/standalone/chunks/color-handle-BHrAxEG2.js +8 -0
  354. package/standalone/chunks/color-loupe-C34cms5t.js +40 -0
  355. package/standalone/chunks/color-menu-B5UOMYmX.js +73 -0
  356. package/standalone/chunks/color-slider-CAqvxsgS.js +41 -0
  357. package/standalone/chunks/condition-attribute-with-id-Dv8Yd-N1.js +2 -0
  358. package/standalone/chunks/dependency-manger-BPrqqTnJ.js +2 -0
  359. package/standalone/chunks/directive-Du_3lDov.js +2 -0
  360. package/standalone/chunks/directive-helpers-Bu8icI7Y.js +2 -0
  361. package/standalone/chunks/divider-Bf9Drp2z.js +2 -0
  362. package/standalone/chunks/divider.module-sYekRHno.js +2 -0
  363. package/standalone/chunks/element-resolution-DX0ea-Cd.js +2 -0
  364. package/standalone/chunks/field-group-D8EjgC6F.js +7 -0
  365. package/standalone/chunks/field-label-VWHDlW9_.js +9 -0
  366. package/standalone/chunks/flow-aCcJ5kgi.js +2 -0
  367. package/standalone/chunks/focus-group-Cl6MLy-C.js +2 -0
  368. package/standalone/chunks/focusable-selectors-D5e0OxNL.js +2 -0
  369. package/standalone/chunks/get-label-from-slot-Dfoiptqo.js +2 -0
  370. package/standalone/chunks/icon-Dy6J1QeX.js +2 -0
  371. package/{components/infield-button-CYO9V1eX.cjs → standalone/chunks/infield-button-D03MpU_s.js} +3 -19
  372. package/standalone/chunks/keyed-CNWmQd2J.js +2 -0
  373. package/standalone/chunks/language-resolution-BWHk9A73.js +2 -0
  374. package/standalone/chunks/lit-BN_lRQbJ.js +3 -0
  375. package/standalone/chunks/lucero-runtime-DGJ9-isg.js +16 -0
  376. package/standalone/chunks/luzmo-icons-CJa-aByT.js +13 -0
  377. package/standalone/chunks/manage-help-text-Cl9OJ2xf.js +14 -0
  378. package/standalone/chunks/menu-nolJetlp.js +92 -0
  379. package/standalone/chunks/number-field-C3DYfl1s.js +41 -0
  380. package/standalone/chunks/observe-slot-presence-DWPtw22K.js +2 -0
  381. package/standalone/chunks/options-BjRSj630.js +89 -0
  382. package/standalone/chunks/overlay-C4ir0iyC.js +31 -0
  383. package/standalone/chunks/overlay-C_XW8yry.js +57 -0
  384. package/standalone/chunks/pending-state-DxeRqe6Q.js +11 -0
  385. package/standalone/chunks/picker-button-BeXTIgUt.js +21 -0
  386. package/standalone/chunks/picker-hbMQOkUX.js +108 -0
  387. package/standalone/chunks/platform-BfrBbd97.js +2 -0
  388. package/standalone/chunks/popover-BsB3dmQe.js +14 -0
  389. package/standalone/chunks/progress-circle-CEx1b5Sv.js +17 -0
  390. package/standalone/chunks/property-CLXrnTGx.js +2 -0
  391. package/standalone/chunks/radio-2vHhfmHw.js +6 -0
  392. package/standalone/chunks/random-id-CeLe5NEk.js +2 -0
  393. package/standalone/chunks/repeat-CZdNcszA.js +2 -0
  394. package/standalone/chunks/rolldown-runtime-DWK5is8u.js +2 -0
  395. package/standalone/chunks/roving-tabindex-CB4xC55P.js +2 -0
  396. package/standalone/chunks/scaled-indicator-k-1JmS0b.js +10 -0
  397. package/standalone/chunks/segments-factory-Ch3AAizU.js +2 -0
  398. package/standalone/chunks/skeleton-loader-BxYcRRJr.js +2 -0
  399. package/standalone/chunks/slottable-request-event-D9FhiqH1.js +2 -0
  400. package/standalone/chunks/strategies-kad_0dTB.js +2 -0
  401. package/standalone/chunks/streaming-listener-DFczLm8I.js +2 -0
  402. package/standalone/chunks/style-map-D4QeV3m0.js +2 -0
  403. package/standalone/chunks/swatch-m_4GcO2_.js +33 -0
  404. package/standalone/chunks/text-field-BnZtyodU.js +5 -0
  405. package/standalone/chunks/text-field-BrlDeJsx.js +65 -0
  406. package/standalone/chunks/text-field.module-ClDE7laI.js +2 -0
  407. package/standalone/chunks/tooltip-DB6jRVyB.js +29 -0
  408. package/standalone/chunks/unsafe-html-BPQaWy0v.js +2 -0
  409. package/standalone/chunks/voice-recorder--d34tYNu.js +2 -0
  410. package/standalone/chunks/when-BWvpqCBs.js +2 -0
  411. package/standalone/clear-button.js +20 -0
  412. package/standalone/close-button.js +20 -0
  413. package/standalone/color-area.js +20 -0
  414. package/standalone/color-field.js +20 -0
  415. package/standalone/color-handle.js +20 -0
  416. package/standalone/color-loupe.js +20 -0
  417. package/standalone/color-menu.js +20 -0
  418. package/standalone/color-palette-group.js +30 -0
  419. package/standalone/color-palette.js +20 -0
  420. package/standalone/color-picker.js +50 -0
  421. package/standalone/color-slider.js +20 -0
  422. package/standalone/date-range-picker.js +182 -0
  423. package/standalone/date-time-picker.js +107 -0
  424. package/standalone/divider.js +20 -0
  425. package/standalone/field-group.js +20 -0
  426. package/standalone/field-label.js +20 -0
  427. package/standalone/icon.js +20 -0
  428. package/standalone/infield-button.js +20 -0
  429. package/standalone/label.js +20 -0
  430. package/standalone/lit.js +20 -0
  431. package/standalone/manifest.json +152 -0
  432. package/standalone/menu.js +20 -0
  433. package/standalone/multi-language-field.js +42 -0
  434. package/standalone/notice.js +62 -0
  435. package/standalone/number-field.js +20 -0
  436. package/standalone/options.js +20 -0
  437. package/standalone/overlay.js +20 -0
  438. package/standalone/picker-button.js +20 -0
  439. package/standalone/picker.js +20 -0
  440. package/standalone/popover.js +20 -0
  441. package/standalone/progress-bar.js +36 -0
  442. package/standalone/progress-circle.js +20 -0
  443. package/standalone/progress-steps.js +100 -0
  444. package/standalone/prompt-box.js +316 -0
  445. package/standalone/question-box.js +403 -0
  446. package/standalone/radio.js +20 -0
  447. package/standalone/search.js +49 -0
  448. package/standalone/select.js +160 -0
  449. package/standalone/skeleton-loader.js +20 -0
  450. package/standalone/slider.js +137 -0
  451. package/standalone/split-view.js +45 -0
  452. package/standalone/status-light.js +23 -0
  453. package/standalone/swatch.js +20 -0
  454. package/standalone/switch.js +24 -0
  455. package/standalone/tabs.js +78 -0
  456. package/standalone/tags.js +49 -0
  457. package/standalone/text-field.js +20 -0
  458. package/standalone/toast.js +53 -0
  459. package/standalone/tokens.css +1 -0
  460. package/standalone/tokens.js +20 -0
  461. package/standalone/tooltip.js +20 -0
  462. package/standalone/top-nav.js +43 -0
  463. package/standalone/utils.js +20 -0
  464. package/styles/tokens.d.ts +1 -0
  465. package/utils/reactive-controllers/pending-state.d.ts +1 -1
  466. package/components/action-bar-CXT4lT30.cjs +0 -39
  467. package/components/action-button-BKnzGQR6.cjs +0 -22
  468. package/components/action-group-D1G30Iir.cjs +0 -20
  469. package/components/avatar-Cu9c0sCS.cjs +0 -34
  470. package/components/badge-XJP3sZhB.cjs +0 -23
  471. package/components/button-group-6M8M-TUI.cjs +0 -18
  472. package/components/button-l0fRopSN.cjs +0 -20
  473. package/components/calendar-DZkKMs2L.cjs +0 -138
  474. package/components/chat-message-group-CzCwyW7F.cjs +0 -24
  475. package/components/chat-message-t4a0r3R6.cjs +0 -148
  476. package/components/checkbox-DdatW4xE.cjs +0 -25
  477. package/components/color-area-B_pRu9Vf.cjs +0 -80
  478. package/components/color-handle-DIoVrLRF.cjs +0 -24
  479. package/components/color-loupe-sY1wOisV.cjs +0 -56
  480. package/components/color-menu-CdETqhbP.cjs +0 -89
  481. package/components/color-palette-CidHsmE0.cjs +0 -18
  482. package/components/color-palette-group-B4r4tPfY.cjs +0 -28
  483. package/components/color-slider-DLEM1nGA.cjs +0 -57
  484. package/components/date-range-picker-9ioTuDZq.cjs +0 -180
  485. package/components/date-time-picker-DRjQTyGS.cjs +0 -105
  486. package/components/divider-wana0uPI.cjs +0 -18
  487. package/components/field-label-C5vdJ1ys.cjs +0 -25
  488. package/components/icon-CSqR-OOO.cjs +0 -18
  489. package/components/notice-xgrLOiC0.cjs +0 -60
  490. package/components/number-field-04RFqrUa.cjs +0 -57
  491. package/components/overlay-B-gaxspw.cjs +0 -47
  492. package/components/overlay-CPZvL0Ic.cjs +0 -73
  493. package/components/overlay-DdIs4w5M.js +0 -227
  494. package/components/picker-D225VAbx.cjs +0 -124
  495. package/components/picker-button-BR7oM7_M.cjs +0 -37
  496. package/components/popover-DWWYpY-k.cjs +0 -30
  497. package/components/progress-bar-C7wJ5bxS.cjs +0 -34
  498. package/components/progress-circle-DyApSKdm.cjs +0 -33
  499. package/components/progress-steps-Ba4VbAKR.cjs +0 -96
  500. package/components/progress-steps-nJ8Xw-nG.js +0 -262
  501. package/components/radio-O3a1rmCe.cjs +0 -22
  502. package/components/search-BhMhfCBh.cjs +0 -47
  503. package/components/select-D5fQgPPj.cjs +0 -158
  504. package/components/skeleton-loader-Cm50Ztzk.cjs +0 -18
  505. package/components/split-view-5uMSU_b7.cjs +0 -43
  506. package/components/status-light-BYBYorYy.cjs +0 -21
  507. package/components/switch-B-gu-War.cjs +0 -22
  508. package/components/tags-B28zWEic.cjs +0 -47
  509. package/components/text-field-wJK2bzMT.cjs +0 -21
  510. package/components/toast-COQ7Xl5T.cjs +0 -51
  511. package/components/tooltip-Sm0pruxL.cjs +0 -45
  512. package/components/top-nav-BcZLCBP_.cjs +0 -41
@@ -0,0 +1,160 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{a as e,c as t,i as n,y as r}from"./chunks/lit-BN_lRQbJ.js";import{a as i,c as a,g as o,i as s,l as c,v as l,y as u}from"./chunks/lucero-runtime-DGJ9-isg.js";import{C as d,P as f,j as p,o as m,u as h}from"./chunks/luzmo-icons-CJa-aByT.js";import"./chunks/icon-Dy6J1QeX.js";import"./chunks/popover-BsB3dmQe.js";import{t as g}from"./chunks/class-map-CxQ0PcQP.js";import{t as _}from"./chunks/dependency-manger-BPrqqTnJ.js";import{i as v,n as y,t as b}from"./chunks/strategies-kad_0dTB.js";import"./chunks/progress-circle-CEx1b5Sv.js";import{t as x}from"./chunks/pending-state-DxeRqe6Q.js";import"./chunks/overlay-C_XW8yry.js";import"./chunks/tooltip-DB6jRVyB.js";import{r as S}from"./chunks/options-BjRSj630.js";var C=(e,t)=>{let n=getComputedStyle(e).getPropertyValue(t);for(;!n&&e.parentElement;)e=e.parentElement,n=getComputedStyle(e).getPropertyValue(t);return n.trim()},w=`:host{font-family:var(--luzmo-select-font-family,var(--select-font-family));font-size:var(--luzmo-select-font-size,var(--select-font-size))}#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}#icon{font-size:var(--luzmo-select-font-size,var(--select-font-size));margin-inline-end:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}@media (forced-colors:active){:host{--highcontrast-select-focus-indicator-color:Highlight;--highcontrast-select-border-color-default:ButtonBorder;--highcontrast-select-border-color-hover:Highlight;--highcontrast-select-border-color-disabled:GrayText;--highcontrast-select-content-color-default:ButtonText;--highcontrast-select-content-color-disabled:GrayText;--highcontrast-select-background-color:ButtonFace}#button:focus-visible{--highcontrast-select-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(--select-minimum-width-multiplier) * var(--luzmo-select-button-block-size,var(--select-button-block-size)));block-size:var(--luzmo-select-button-block-size,var(--select-button-block-size));border-width:var(--luzmo-select-button-border-width,var(--select-button-border-width));border-radius:var(--luzmo-select-button-border-radius,var(--select-button-border-radius));box-shadow:var(--luzmo-select-button-box-shadow,var(--select-button-box-shadow));transition:background-color var(--luzmo-select-animation-duration,var(--select-animation-duration)), box-shadow var(--luzmo-select-animation-duration,var(--select-animation-duration)), border-color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-in-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-style:solid;border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));margin-block-start:var(--luzmo-select-spacing-label-to-select,var(--select-spacing-label-to-select));padding-block:0;padding-inline-start:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));padding-inline-end:var(--luzmo-select-spacing-edge-to-disclosure-icon,var(--select-spacing-edge-to-disclosure-icon));display:flex}#button:after{pointer-events:none;content:"";block-size:calc(100% + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) * 2 + var(--luzmo-select-button-border-width,var(--select-button-border-width)) * 2);inline-size:calc(100% + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) * 2 + var(--luzmo-select-button-border-width,var(--select-button-border-width)) * 2);border-style:solid;border-width:var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width));border-radius:calc(var(--luzmo-select-button-border-radius,var(--select-button-border-radius)) + var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-button-border-width,var(--select-button-border-width)));border-color:#0000;margin-block-start:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1);margin-inline-start:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) + var(--luzmo-select-button-border-width,var(--select-button-border-width))) * -1);position:absolute;inset-block:0;inset-inline:0}#button:active{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-active,var(--select-background-color-active)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-active,var(--select-border-color-active)))}#button:active:after{border-color:#0000}#button.placeholder:active .label{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-active,var(--select-font-color-active)))}#button:focus-visible{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-key-focus,var(--select-background-color-key-focus)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-key-focus,var(--select-border-color-key-focus)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-key-focus,var(--select-font-color-key-focus)));outline:none}#button:focus-visible:after{border-color:var(--highcontrast-select-focus-indicator-color,var(--luzmo-select-focus-indicator-color,var(--select-focus-indicator-color)))}#button.placeholder:focus-visible{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-key-focus,var(--select-font-color-key-focus)))}#button:focus-visible .disclosure-icon,#button:focus-visible .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-key-focus,var(--select-icon-color-key-focus)))}:host([open]) #button:not(:disabled,.is-disabled){color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default-open,var(--select-font-color-default-open)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default-open,var(--select-background-color-default-open)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-default-open,var(--select-border-color-default-open)))}:host([open]) #button:not(:disabled,.is-disabled) .disclosure-icon,:host([open]) #button:not(:disabled,.is-disabled) .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-default-open,var(--select-icon-color-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-default,var(--select-border-color-error-default)))}:host([invalid]) #button:not(:disabled,.is-disabled) .validation-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-error,var(--select-icon-color-error)))}:host([invalid]) #button:not(:disabled,.is-disabled):active{border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-active,var(--select-border-color-error-active)))}:host([invalid][open]) #button:not(:disabled,.is-disabled){border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-default-open,var(--select-border-color-error-default-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):focus-visible{border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-error-key-focus,var(--select-border-color-error-key-focus)))}:host([pending]) #button .disclosure-icon,:host([pending]) #button .clear-icon{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-icon-color-disabled,var(--select-icon-color-disabled)))}.icon{flex-shrink:0}.label{white-space:nowrap;font-size:var(--luzmo-select-font-size,var(--select-font-size));line-height:var(--luzmo-select-button-line-height,var(--select-button-line-height));font-weight:var(--luzmo-select-font-weight,var(--select-font-weight));text-overflow:ellipsis;text-align:start;flex:auto;overflow:hidden}.label.placeholder{font-weight:var(--luzmo-select-placeholder-font-weight,var(--select-font-weight));font-style:var(--luzmo-select-placeholder-font-style,var(--select-placeholder-font-style));transition:color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-in-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}.label.placeholder:active{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-active,var(--select-font-color-active)))}.clear-icon,.disclosure-icon{vertical-align:top;transition:color var(--luzmo-select-animation-duration,var(--select-animation-duration)) ease-out;color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-default,var(--select-icon-color-default)));flex-shrink:0;display:inline-block;position:relative}.disclosure-icon{margin-inline-start:var(--luzmo-select-spacing-icon-to-disclosure-icon,var(--select-spacing-icon-to-disclosure-icon))}.clear-icon{margin-inline-start:var(--luzmo-select-spacing-icon-to-clear-icon,var(--select-spacing-icon-to-clear-icon))}.disclosure-icon:active{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-active,var(--select-icon-color-active)))}luzmo-progress-circle,.validation-icon{margin-inline-start:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}.icon-container{height:100%;font-size:var(--luzmo-select-disclosure-icon-size,var(--select-disclosure-icon-size));align-items:center;display:flex;position:relative}.icon-container.disclosure-icon{margin-inline-end:0}.label~.disclosure-icon,.label~.clear-icon{margin-inline-start:var(--luzmo-select-spacing-text-to-icon,var(--select-spacing-text-to-icon))}:host([quiet]) #button{inline-size:auto;min-inline-size:0;padding-inline:var(--luzmo-select-inline-edge-to-content-quiet,var(--select-inline-edge-to-content-quiet));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)));background-color:initial;background-color:var(--highcontrast-select-background-color,transparent);box-shadow:none;border:none;border-radius:0;margin-block-start:calc(var(--luzmo-select-spacing-label-to-select-quiet,var(--select-spacing-label-to-select-quiet)) + 1px)}:host([quiet]) #button.label-inline{margin-block-start:0}:host([quiet]) #button .disclosure-icon{margin-inline-end:var(--luzmo-select-spacing-edge-to-disclosure-icon-quiet,var(--select-spacing-edge-to-disclosure-icon-quiet))}:host([quiet]) #button:after{border:none;block-size:auto;inline-size:auto}@media (hover:hover){#button:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover,var(--select-font-color-hover)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-hover,var(--select-background-color-hover)));border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-hover,var(--select-border-color-hover)))}#button:hover .disclosure-icon,#button:hover .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-hover,var(--select-icon-color-hover)))}#button:hover .clear-icon:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-clear-icon-color-hover,var(--select-icon-color-focus)))}:host([open]):not([quiet]) #button:not(:disabled,.is-disabled):hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover-open,var(--select-font-color-hover-open)));background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-hover-open,var(--select-background-color-hover-open)));border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-hover-open,var(--select-border-color-hover-open)))}:host([open]) #button:not(:disabled,.is-disabled):hover .disclosure-icon,:host([open]) #button:not(:disabled,.is-disabled):hover .clear-icon{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-icon-color-hover-open,var(--select-icon-color-hover-open)))}:host([invalid]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-error-hover,var(--select-border-color-error-hover)))}:host([invalid][open]) #button:not(:disabled,.is-disabled):hover{border-color:var(--highcontrast-select-border-color-hover,var(--luzmo-select-border-color-error-hover-open,var(--select-border-color-error-hover-open)))}.label.placeholder:hover{color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-hover,var(--select-font-color-hover)))}:host([quiet]) #button:hover{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)!important}}:host([quiet]) #button:focus-visible{background-color:initial;background-color:var(--highcontrast-select-background-color,transparent)}:host([quiet]) #button:focus-visible:after{box-shadow:0 var(--luzmo-select-focus-indicator-width,var(--select-focus-indicator-width)) 0 0 var(--highcontrast-select-focus-indicator-color,var(--luzmo-select-focus-indicator-color,var(--select-focus-indicator-color)));margin:calc((var(--luzmo-select-focus-indicator-gap,var(--select-focus-indicator-gap)) + var(--luzmo-select-button-border-width,var(--select-button-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-select-background-color,transparent)}.label-inline{vertical-align:top;display:inline-flex}:host([disabled]) #button,#button:disabled{cursor:default;background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-disabled,var(--select-background-color-disabled)));border-color:#0000;border-color:var(--highcontrast-select-border-color-disabled,transparent);color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-font-color-disabled,var(--select-font-color-disabled)))}:host([disabled]) #button .icon,:host([disabled]) #button .disclosure-icon,:host([disabled]) #button .clear-icon,:host([disabled]) #button .validation-icon,#button:disabled .icon,#button:disabled .disclosure-icon,#button:disabled .clear-icon,#button:disabled .validation-icon{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-icon-color-disabled,var(--select-icon-color-disabled)))}:host([disabled]) #button .label.placeholder,#button:disabled .label.placeholder{color:var(--highcontrast-select-content-color-disabled,var(--luzmo-select-font-color-disabled,var(--select-font-color-disabled)))}#popover{max-width:var(--luzmo-select-popover-max-width,var(--select-popover-max-width));min-width:var(--luzmo-select-popover-min-width,var(--select-popover-min-width));width:var(--luzmo-select-popover-width,var(--select-popover-width))}#popover.search-on{padding:0 0 var(--luzmo-popover-content-area-spacing-vertical,var(--popover-content-area-spacing-vertical)) 0!important}#search-container{border-bottom:var(--luzmo-select-search-container-border-bottom-width,var(--select-search-container-border-bottom-width)) solid var(--luzmo-select-search-container-border-bottom-color,var(--select-search-container-border-bottom-color));flex:none;display:flex;position:relative}#search-icon{left:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));color:var(--luzmo-select-search-icon-color,var(--select-search-icon-color));font-size:var(--luzmo-select-search-icon-height,var(--select-search-icon-height));width:var(--luzmo-select-search-icon-width,var(--select-search-icon-width));text-align:center;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0}#search:focus-within+#search-icon,#search:focus+#search-icon{color:var(--luzmo-select-search-icon-color-focus,var(--select-search-icon-color-focus))}#search{box-sizing:border-box;border-top-left-radius:var(--luzmo-popover-border-radius,var(--popover-border-radius));border-top-right-radius:var(--luzmo-popover-border-radius,var(--popover-border-radius));background-color:var(--luzmo-select-search-background-color,var(--select-search-background-color));width:100%;color:var(--luzmo-select-search-color,var(--select-search-color));height:var(--luzmo-select-button-block-size,var(--select-button-block-size));line-height:var(--luzmo-select-button-block-size,var(--select-button-block-size));padding-left:calc(var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content)) + var(--luzmo-select-spacing-search-icon-to-text,var(--select-spacing-search-icon-to-text)) + var(--luzmo-select-search-icon-width,var(--select-search-icon-width)));padding-right:var(--luzmo-select-inline-edge-to-content,var(--select-inline-edge-to-content));font-size:var(--luzmo-select-font-size,var(--select-font-size));font-family:var(--luzmo-select-font-family,var(--select-font-family));line-height:var(--luzmo-select-button-line-height,var(--select-button-line-height));font-weight:var(--luzmo-select-font-weight,var(--select-font-weight));border:var(--luzmo-select-search-input-border-bottom-width,var(--select-search-input-border-bottom-width)) solid var(--luzmo-select-search-input-border-bottom-color,var(--select-search-input-border-bottom-color));outline:none}#no-results{color:var(--luzmo-select-no-results-color,var(--select-no-results-color));font-style:var(--luzmo-select-no-results-font-style,var(--select-no-results-font-style));height:var(--luzmo-select-no-results-height,var(--select-no-results-height));padding-inline:var(--luzmo-select-no-results-spacing-edge-to-text,var(--select-no-results-spacing-edge-to-text));align-items:center;display:flex}:host{--select-popover-max-width:300px;--select-popover-min-width:160px;--select-font-family:var(--luzmo-font-family);--select-font-size:var(--luzmo-font-size);--select-font-weight:var(--luzmo-font-weight);--select-spacing-search-icon-to-text:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-search-icon-height:var(--luzmo-font-size);--select-search-icon-width:var(--luzmo-font-size);--select-search-icon-color:var(--luzmo-disabled-color);--select-search-icon-color-focus:var(--luzmo-font-color);--select-search-color:var(--luzmo-font-color);--select-search-background-color:var(--luzmo-background-color);--select-search-container-border-bottom-width:var(--luzmo-border-width);--select-search-container-border-bottom-color:var(--luzmo-border-color);--select-search-input-border-bottom-width:var(--luzmo-border-width);--select-search-input-border-bottom-color:transparent;--select-background-color-default:var(--luzmo-background-color);--select-background-color-default-open:var(--luzmo-background-color-hover);--select-background-color-active:var(--luzmo-background-color-down);--select-background-color-hover:var(--luzmo-background-color-hover);--select-background-color-hover-open:var(--luzmo-background-color-down);--select-background-color-key-focus:var(--luzmo-background-color-down);--select-border-color-default:var(--luzmo-border-color);--select-border-color-default-open:var(--luzmo-border-color-hover);--select-border-color-hover:var(--luzmo-border-color);--select-border-color-hover-open:var(--luzmo-border-color-hover);--select-border-color-active:var(--luzmo-border-color);--select-border-color-key-focus:var(--luzmo-border-color);--select-button-border-width:var(--luzmo-border-width);--select-placeholder-font-style:var(--luzmo-font-style);--select-button-line-height:var(--luzmo-line-height);--select-button-box-shadow:0px 1px 3px 0px var(--luzmo-shadow-color);--select-button-block-size:var(--luzmo-component-height);--select-button-border-radius:var(--luzmo-border-radius);--select-button-border-radius-reset:0;--select-inline-edge-to-content:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-text-to-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-text-to-icon-inline-end:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-icon-to-disclosure-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-icon-to-clear-icon:var(--select-spacing-icon-to-disclosure-icon);--select-inline-edge-to-content-quiet:0px;--select-spacing-label-to-select:0px;--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon-quiet:0px;--select-animation-duration:var(--luzmo-animation-duration);--select-font-color-default:var(--luzmo-font-color);--select-font-color-default-open:var(--luzmo-font-color-hover);--select-font-color-hover:var(--luzmo-font-color-hover);--select-font-color-hover-open:var(--luzmo-font-color-down);--select-font-color-active:var(--luzmo-font-color-focus);--select-font-color-key-focus:var(--luzmo-font-color-focus);--select-icon-color-default:var(--luzmo-font-color);--select-icon-color-default-open:var(--luzmo-font-color-hover);--select-icon-color-hover:var(--luzmo-font-color-hover);--select-icon-color-hover-open:var(--luzmo-font-color-hover);--select-icon-color-active:var(--luzmo-font-color-focus);--select-icon-color-key-focus:var(--luzmo-font-color-focus);--select-border-color-error-default:var(--luzmo-negative-color);--select-border-color-error-default-open:var(--luzmo-negative-color-down);--select-border-color-error-hover:var(--luzmo-negative-color-hover);--select-border-color-error-hover-open:var(--luzmo-negative-color-down);--select-border-color-error-active:var(--luzmo-negative-color-down);--select-border-color-error-key-focus:var(--luzmo-negative-color-focus);--select-icon-color-error:var(--luzmo-negative-color);--select-background-color-disabled:var(--luzmo-background-color-disabled);--select-font-color-disabled:var(--luzmo-disabled-color);--select-icon-color-disabled:var(--luzmo-disabled-color);--select-focus-indicator-gap:var(--luzmo-indicator-gap);--select-focus-indicator-width:var(--luzmo-indicator-width);--select-focus-indicator-color:var(--luzmo-indicator-color);--select-disclosure-icon-size:var(--luzmo-font-size-s);--select-no-results-height:var(--select-button-block-size);--select-no-results-color:var(--select-font-color-disabled);--select-no-results-font-style:italic;--select-no-results-spacing-edge-to-text:var(--select-inline-edge-to-content)}:host([size=s]){--select-button-block-size:var(--luzmo-component-height-s);--select-font-size:var(--luzmo-font-size-s);--select-search-icon-height:var(--luzmo-font-size-s);--select-search-icon-width:var(--luzmo-font-size-s);--select-popover-max-width:280px;--select-popover-min-width:140px;--select-spacing-search-icon-to-text:var(--luzmo-spacing-3);--select-inline-edge-to-content:var(--luzmo-spacing-3);--select-spacing-text-to-icon:var(--luzmo-spacing-3);--select-spacing-text-to-icon-inline-end:var(--luzmo-spacing-3);--select-spacing-icon-to-disclosure-icon:var(--luzmo-spacing-3);--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-3));--select-spacing-edge-to-disclosure-icon:var(--luzmo-spacing-3);--select-disclosure-icon-size:var(--luzmo-font-size-s)}:host([size=l]){--select-button-block-size:var(--luzmo-component-height-l);--select-font-size:var(--luzmo-font-size-l);--select-search-icon-height:var(--luzmo-font-size-l);--select-search-icon-width:var(--luzmo-font-size-l);--select-popover-max-width:360px;--select-popover-min-width:220px;--select-spacing-search-icon-to-text:var(--luzmo-spacing-4);--select-inline-edge-to-content:var(--luzmo-spacing-4);--select-spacing-text-to-icon:var(--luzmo-spacing-4);--select-spacing-text-to-icon-inline-end:var(--luzmo-spacing-4);--select-spacing-icon-to-disclosure-icon:var(--luzmo-spacing-4);--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-4));--select-spacing-edge-to-disclosure-icon:var(--luzmo-spacing-4);--select-disclosure-icon-size:var(--luzmo-font-size)}:host([size=xl]){--select-button-block-size:var(--luzmo-component-height-xl);--select-font-size:var(--luzmo-font-size-xl);--select-search-icon-height:var(--luzmo-font-size-xl);--select-search-icon-width:var(--luzmo-font-size-xl);--select-popover-max-width:400px;--select-popover-min-width:260px;--select-spacing-search-icon-to-text:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-inline-edge-to-content:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-text-to-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-text-to-icon-inline-end:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-icon-to-disclosure-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-label-to-select-quiet:calc(-1 * var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-spacing-edge-to-disclosure-icon:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--select-disclosure-icon-size:var(--luzmo-font-size-l)}:host([variant=highlight]) ::slotted(luzmo-option[selected]){--option-highlight-label-content-color:var(--luzmo-primary-inverse-color);--option-label-icon-color-default:var(--luzmo-primary-inverse-color);--menu-checkmark-display:var(--menu-checkmark-display-hidden);background-color:var(--luzmo-option-highlight-label-background-color,var(--option-highlight-label-background-color,var(--luzmo-border-color)));padding-inline-start:var(--luzmo-option-label-inline-edge-to-content,var(--option-label-inline-edge-to-content))}:host{vertical-align:top;max-inline-size:100%;inline-size:var(--luzmo-select-inline-size,var(--select-inline-size));min-inline-size:calc(var(--select-minimum-width-multiplier) * var(--luzmo-select-block-size,var(--select-block-size)));display:inline-flex}: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{user-select:inherit}.validation-icon{flex-shrink:0}luzmo-overlay{pointer-events:none}luzmo-options{pointer-events:initial}:host>#no-results,:host>luzmo-options{display:none}:host([focused]:not([quiet])) #button #label.placeholder{color:var(--select-placeholder-text-color-key-focus,var(--alias-placeholder-text-color-hover))}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:0 -1px -1px 0;padding:0;position:absolute;overflow:hidden}luzmo-overlay:not(:defined){display:none}#button.remove-focus-ring-safari-hack:focus-visible{background-color:var(--highcontrast-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-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-select-background-color,var(--luzmo-select-background-color-default,var(--select-background-color-default)));border-color:var(--highcontrast-select-border-color-default,var(--luzmo-select-border-color-default,var(--select-border-color-default)));color:var(--highcontrast-select-content-color-default,var(--luzmo-select-font-color-default,var(--select-font-color-default)))}`,T=()=>t`
21
+ <div class="disclosure-icon icon">
22
+ ${d(f,{className:`indicator`})}
23
+ </div>
24
+ `,E=()=>t`
25
+ <div class="icon-container validation-icon icon">
26
+ ${d(m)}
27
+ </div>
28
+ `,D=()=>t`
29
+ <div class="icon-container search-icon icon" id="search-icon">
30
+ ${d(p)}
31
+ </div>
32
+ `,O=`select-option-menu`,k=class extends a(i,{noDefaultSize:!0}){static get styles(){return[r(w)]}get selfManageFocusElement(){return this._selfManageFocusElement}constructor(){super(),this.disabled=!1,this.focused=!1,this.variant=`checkmarks`,this.emphasized=!1,this.invalid=!1,this.search=`auto`,this.noWrap=!1,this.retrieving=!1,this.pending=!1,this.clearable=!1,this.hideDropdownIcon=!1,this.pendingLabel=`Pending`,this.searchLabel=`Search`,this.noResultsLabel=`No results`,this.noDataLabel=`No data`,this.multipleLabelTemplate=`Selected {count} items`,this.label=`Select`,this.open=!1,this.readonly=!1,this.placement=`bottom-end`,this.quiet=!1,this.value=[],this.options=[],this.selects=`multiple`,this.dependencyManager=new _(this),this.isMobile=new v(this,y),this.listRole=`listbox`,this.itemRole=`option`,this.hasRenderedOverlay=!1,this._selfManageFocusElement=!1,this.selectionPromise=Promise.resolve(),this.enterKeydownOn=null,this._selectedOptions=[],this.handleSlottableRequest=e=>{},this.renderAngleIcon=()=>T(),this.renderAlertIcon=()=>E(),this._popoverDependencyRegistered=!1,this.handleEnterKeydown=e=>{if(e.code===`Enter`){if(this.enterKeydownOn){e.preventDefault();return}this.enterKeydownOn=e.target,this.addEventListener(`keyup`,e=>{e.code===`Enter`&&(this.enterKeydownOn=null)},{once:!0})}},this.clearValue=e=>{e.preventDefault(),e.stopPropagation(),this.value=[],this.strategy&&(this.strategy.preventNextToggle=`no`),this.open=!1,this.strategy&&(this.strategy.open=!1),this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))},this.handleEscape=e=>{e.code===`Escape`&&this.open&&(e.stopPropagation(),e.preventDefault(),this.toggle(!1))},this.handleKeydown=e=>{let{code:t}=e;if(t===`Escape`){this.handleEscape(e);return}if([`Delete`,`Backspace`].includes(t)){this.clearValue(e);return}if(this.focused=!0,!(!t.startsWith(`Arrow`)||this.readonly||this.pending)){if(t===`ArrowUp`||t===`ArrowDown`){this.toggle(!0),e.preventDefault();return}if(e.preventDefault(),this.selects===`single`){let e=t===`ArrowRight`?1:-1,n=this.options.findIndex(e=>e?.value?.toString()===this.value?.[0]?.toString()),r=(this.options.length+n+e)%this.options.length,i=this.options.length;for(;(this.options?.[r]?.disabled||S(this.options?.[r]))&&i;)--i,r=(this.options.length+r+e)%this.options.length;let a=this.options[r];if(a?.disabled||S(a))return;this.value=[a.value??null],this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))}}},this.pendingStateController=new x(this)}get focusElement(){return this.open?this.search===`on`||this.search===`auto`&&this.options?.length>20?this.searchInput:this.optionsMenu:this.button}forceFocusVisible(){this.disabled||(this.focused=!0)}click(){this.disabled||this.toggle()}handleButtonBlur(){this.focused=!1}focus(e){super.focus(e),!this.disabled&&this.focusElement&&(this.focused=this.hasVisibleFocusInTree())}handleHelperFocus(){this.focused=!0,this.button.focus()}handleChange(e){let t=e?.detail?.value??[];JSON.stringify(this.value)!==JSON.stringify(t)&&(this.value=t),this.strategy&&(this.strategy.preventNextToggle=`no`),e.stopPropagation(),(!e.cancelable||this.selects===`single`)&&(this.open=!1,this.strategy&&(this.strategy.open=!1)),e.preventDefault(),this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,cancelable:!0,composed:!0,detail:{value:this.value??[]}}))}handleButtonFocus(e){this.strategy?.handleButtonFocus(e)}toggle(e){this.readonly||this.pending||(this.open=e===void 0?!this.open:e,this.strategy&&(this.strategy.open=this.open),this._selfManageFocusElement=this.open)}close(){this.readonly||this.strategy&&(this.open=!1,this.strategy.open=!1)}bindEvents(){this.strategy?.abort(),this.strategy=new b.desktop(this.button,this),this.strategy?.overlay&&(this.strategy.overlay.type=`auto`,this.strategy.overlay.placement=this.placement)}connectedCallback(){super.connectedCallback(),this.ensurePopoverDependency()}disconnectedCallback(){this.close(),this.strategy?.releaseDescription(),super.disconnectedCallback()}handleTooltipSlotchange(e){this.tooltipEl=e.target.assignedElements()[0]}get labelTemplate(){let e=this._selectedOptions?.length===1&&this._selectedOptions[0]?.icon,r=t`<div
33
+ id="icon"
34
+ ?hidden=${typeof this.icons==`string`||this.value?.length>1||!e}
35
+ >
36
+ ${e?d(this._selectedOptions[0].icon):n}
37
+ </div>`,i=e=>e.replaceAll(/{([^}]+)}/g,(e,t)=>t===`count`?String(this.value?.length):e),a={"visually-hidden":this.icons===`only`&&this.value?.length>0,placeholder:!this.value?.length,label:!0},o;o=this.value?.length?this.value.length===1?t`<span
38
+ >${this._selectedOptions?.[0]?.shortLabel??this._selectedOptions?.[0]?.label??this.value?.[0]}</span
39
+ >`:t`<span
40
+ >${i(this.multipleLabelTemplate)}</span
41
+ >`:t`
42
+ <slot name="label" id="label">
43
+ <span aria-hidden="true"> ${this.label} </span>
44
+ </slot>
45
+ `;let c=this.value?.length?t`
46
+ <div aria-hidden="true" class="visually-hidden" id="applied-label">
47
+ ${this.label}
48
+ <slot name="label"></slot>
49
+ </div>
50
+ `:t` <span hidden id="applied-label">${this.label}</span> `;return[t`
51
+ ${this.value?.length===1?r:n}
52
+ <div
53
+ id=${s(this.value?.length?`label`:void 0)}
54
+ class=${g(a)}
55
+ >
56
+ ${o}
57
+ </div>
58
+ ${c}
59
+ ${this.invalid&&!this.pending?t` ${this.renderAlertIcon()} `:n}
60
+ ${this.pendingStateController.renderPendingState()}
61
+ ${this.clearable&&!this.readonly&&this.value?.length>0?t`
62
+ <div class="icon-container clear-icon icon" @click=${this.clearValue}>
63
+ ${d(h)}
64
+ </div>
65
+ `:n}
66
+ ${this.readonly||this.hideDropdownIcon?n:this.renderAngleIcon()}
67
+ <slot
68
+ aria-hidden="true"
69
+ name="tooltip"
70
+ id="tooltip"
71
+ @slotchange=${this.handleTooltipSlotchange}
72
+ ></slot>
73
+ `]}update(e){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),super.update(e)}bindButtonKeydownListener(){this.button.addEventListener(`keydown`,this.handleKeydown)}willUpdate(e){let t=e.has(`open`),n=e.has(`value`),r=e.has(`options`),i=e.has(`selects`),a=e.get(`open`);i&&this.selects===`single`&&this.value?.length>1&&(console.warn(`luzmo-select is being set to a single value given the selects property changed to 'single'`),this.value=this.value.slice(0,1)),t&&a===!1&&this.open&&this.searchString&&(this.searchString=``),(n||r)&&this.setSelectedOptionsFromValue()}updated(e){super.updated(e);let t=e.has(`options`),n=e.has(`open`),r=e.has(`placement`);if(n&&(this.strategy.open=this.open,this.open===!1&&this.optionsMenu.scrollToTop()),t){let e=this.options?.length??0;for(let t of this.options??[])t.children?.length&&(e+=t.children.length);if(e>25){let e=(e,t=e.label)=>(t?.length??0)+(e.children?.length?0:e.shortcut?.length??0),t=this.options[0];for(let n of this.options)e(n)>e(t)&&(t=n);for(let n of this.options)if(n.children?.length)for(let r of n.children){let i=`${n.label} (${r.label})`;e(r,i)>e(t)&&(t={...r,label:i})}this._estimatePopoverWidth(t)}else this.style.removeProperty(`--select-popover-width`)}this.strategy?.overlay&&(this.strategy.overlay.type!==`auto`&&(this.strategy.overlay.type=`auto`),(r||this.strategy.overlay.type===`auto`)&&(this.strategy.overlay.placement=this.placement))}firstUpdated(e){super.firstUpdated(e),this.bindButtonKeydownListener(),this.bindEvents()}_getCssVarInPixels(e){let t=C(this,e),n;if(t.endsWith(`rem`)){let e=Number.parseFloat(getComputedStyle(document.documentElement).fontSize);n=Number.parseFloat(t)*e}else if(t.endsWith(`em`)){let e=Number.parseFloat(getComputedStyle(this).fontSize);n=Number.parseFloat(t)*e}else n=Number.parseFloat(t);return n>=0?n:void 0}_estimatePopoverWidth(e){let t=this._getCssVarInPixels(`--luzmo-select-font-size`)??this._getCssVarInPixels(`--select-font-size`),n=this._getCssVarInPixels(`--luzmo-select-popover-min-width`)??this._getCssVarInPixels(`--select-popover-min-width`),r=this._getCssVarInPixels(`--luzmo-spacing-5`),i=document.createElement(`luzmo-options`);i.style.setProperty(`--luzmo-select-font-size`,`${t}px`),i.options=[e],i.value=[e.value??null],i.variant=this.variant,i.size=this.size,i.style.position=`absolute`,i.style.left=`-9999px`,i.style.top=`-9999px`,i.style.opacity=`0`,i.style.width=`auto`,document.body.append(i),i.updateComplete.then(()=>{let e=i.offsetWidth+(r??0);return e>(n??0)?this.style.setProperty(`--select-popover-width`,`${e}px`):this.style.removeProperty(`--select-popover-width`),i.remove(),e}).catch(e=>{console.error(e),i.remove()})}get dismissHelper(){return t`
74
+ <div class="visually-hidden">
75
+ <button
76
+ tabindex="-1"
77
+ aria-label="Dismiss"
78
+ @click=${this.close}
79
+ ></button>
80
+ </div>
81
+ `}render(){return this.tooltipEl&&(this.tooltipEl.disabled=this.open),t`
82
+ <span
83
+ id="focus-helper"
84
+ tabindex=${this.focused||this.open?`-1`:`0`}
85
+ @focus=${this.handleHelperFocus}
86
+ aria-describedby=${O}
87
+ ></span>
88
+ <button
89
+ aria-controls=${s(this.open?`menu`:void 0)}
90
+ aria-describedby="tooltip"
91
+ aria-expanded=${this.open?`true`:`false`}
92
+ aria-haspopup="true"
93
+ aria-labelledby="loader icon label applied-label"
94
+ id="button"
95
+ class=${s(this.labelAlignment?`label-${this.labelAlignment}`:void 0)}
96
+ @blur=${this.handleButtonBlur}
97
+ @keydown=${{handleEvent:this.handleEnterKeydown,capture:!0}}
98
+ ?disabled=${this.disabled}
99
+ tabindex="-1"
100
+ >
101
+ ${this.labelTemplate}
102
+ </button>
103
+ ${this.renderMenu} ${this.renderDescriptionSlot}
104
+ `}get renderDescriptionSlot(){return t`
105
+ <div id=${O}>
106
+ <slot name="description"></slot>
107
+ </div>
108
+ `}setSelectedOptionsFromValue(){let e=[];for(let t of this.options){let n=t?.value;!t.children?.length&&this.value?.includes(n??null)&&e.push(t);for(let n of t.children??[]){let r=n?.value;this.value?.includes(r??null)&&e.push({...n,label:`${t.label} (${n.label})`})}}this._selectedOptions=e}renderSearchInput(){return t`
109
+ <div id="search-container">
110
+ <input
111
+ type="text"
112
+ id="search"
113
+ .placeholder=${this.searchLabel}
114
+ @input=${this.handleSearchInput}
115
+ @keydown=${this.handleSearchKeydown}
116
+ .value=${this.searchString??``}
117
+ .aria-label=${this.searchLabel}
118
+ autocomplete="off"
119
+ tabindex="0"
120
+ role="searchbox"
121
+ />
122
+ ${D()}
123
+ </div>
124
+ `}filterOptions(){let e=this.searchString?.toLowerCase()??``,t=this.options.filter(t=>S(t)?!0:!!(typeof t==`string`?t:t?.label)?.toString()?.toLowerCase()?.includes(e));if(!e)return t;let n=t.filter((e,n)=>{if(!S(e))return!0;for(let e of t.slice(n+1)){if(e?.header)return!1;if(!S(e))return!0}return!1});return n.filter((e,t)=>!e?.divider||t>0&&!n[t-1]?.divider)}get renderMenu(){let e=this.filterOptions(),r=e.some(e=>!S(e)),i=t`
125
+ <luzmo-options
126
+ .variant=${this.variant}
127
+ aria-labelledby="applied-label"
128
+ id="menu"
129
+ ?emphasized=${this.emphasized}
130
+ .selects=${this.selects??`multiple`}
131
+ .options=${e}
132
+ .value=${this.value}
133
+ .optionIconRenderer=${this.optionIconRenderer}
134
+ ?pending=${this.retrieving}
135
+ ?no-wrap=${this.noWrap}
136
+ @change=${this.handleChange}
137
+ @keydown=${{handleEvent:this.handleEnterKeydown,capture:!0}}
138
+ @luzmo-scrolled=${this.handleScrolled}
139
+ @luzmo-exceeded-top=${this.handleExceededTop}
140
+ role=${this.listRole}
141
+ size=${this.size}
142
+ tabindex="0"
143
+ >
144
+ </luzmo-options>
145
+ ${!r&&!this.retrieving&&!this.pending?t`<div id="no-results">
146
+ ${this.searchString?this.noResultsLabel:this.noDataLabel}
147
+ </div>`:n}
148
+ `;return this.hasRenderedOverlay=this.hasRenderedOverlay||this.focused||this.open,this.hasRenderedOverlay?(this.dependencyManager.loaded&&this.dependencyManager.add(`luzmo-overlay`),this.renderOverlay(i)):i}renderOverlay(t){return this.strategy?.overlay===void 0?t:(e(this.renderContainer(t),this.strategy?.overlay,{host:this}),this.strategy?.overlay)}ensurePopoverDependency(){this._popoverDependencyRegistered||(this._popoverDependencyRegistered=!0,this.dependencyManager.add(`luzmo-popover`))}renderContainer(e){let r=this.search===`on`||this.searchString&&this.searchString?.length>0||this.search===`auto`&&this.options?.length>20,i=t`
149
+ ${r?this.renderSearchInput():n} ${this.dismissHelper} ${e} ${this.dismissHelper}
150
+ `;return t`
151
+ <luzmo-popover
152
+ class=${s(r?`search-on`:void 0)}
153
+ id="popover"
154
+ size=${this.size}
155
+ role="presentation"
156
+ placement=${this.placement}
157
+ >
158
+ ${i}
159
+ </luzmo-popover>
160
+ `}async getUpdateComplete(){let e=await super.getUpdateComplete();return await this.selectionPromise,this.overlayElement&&await this.overlayElement.updateComplete,e}handleScrolled(e){e.stopPropagation(),e.preventDefault(),this.dispatchEvent(new CustomEvent(`luzmo-scrolled`,{bubbles:!0,composed:!0,cancelable:!0,detail:{first:e?.detail?.first,last:e?.detail?.last}}))}handleExceededTop(e){e.preventDefault(),e.stopPropagation(),this.searchInput?this.searchInput.focus():this.toggle(!1)}handleSearchInput(e){let t=e.target.value;t!==this.searchString&&(this.searchString=t,this.dispatchEvent(new CustomEvent(`luzmo-search`,{bubbles:!0,composed:!0,cancelable:!0,detail:{string:this.searchString}})))}handleSearchKeydown(e){if(e.code===`Escape`){this.searchString?this.searchString=``:this.handleEscape(e);return}if(e.code===`ArrowDown`){this.optionsMenu.focus(),e.preventDefault(),e.stopPropagation();return}else if(e.code===`ArrowUp`){this.toggle(!1);return}}};c([o(`#button`)],k.prototype,`button`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`disabled`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`focused`,void 0),c([u({type:String,reflect:!0})],k.prototype,`icons`,void 0),c([u({type:String,reflect:!0})],k.prototype,`variant`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`emphasized`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`invalid`,void 0),c([u({type:String,reflect:!0})],k.prototype,`search`,void 0),c([u({type:Boolean,reflect:!0,attribute:`no-wrap`})],k.prototype,`noWrap`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`retrieving`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`pending`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`clearable`,void 0),c([u({type:Boolean,reflect:!0,attribute:`hide-dropdown-icon`})],k.prototype,`hideDropdownIcon`,void 0),c([u({type:String,attribute:`pending-label`})],k.prototype,`pendingLabel`,void 0),c([u({type:String,attribute:`search-label`})],k.prototype,`searchLabel`,void 0),c([u({type:String,attribute:`no-results-label`})],k.prototype,`noResultsLabel`,void 0),c([u({type:String,attribute:`no-data-label`})],k.prototype,`noDataLabel`,void 0),c([u({type:String,attribute:`multiple-label-template`,reflect:!0})],k.prototype,`multipleLabelTemplate`,void 0),c([u({type:String,reflect:!0})],k.prototype,`label`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`open`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`readonly`,void 0),c([l()],k.prototype,`labelAlignment`,void 0),c([l()],k.prototype,`displayLabelContent`,void 0),c([l()],k.prototype,`searchString`,void 0),c([o(`luzmo-options`)],k.prototype,`optionsMenu`,void 0),c([o(`#search`)],k.prototype,`searchInput`,void 0),c([o(`luzmo-overlay`)],k.prototype,`overlayElement`,void 0),c([u({type:String,reflect:!0})],k.prototype,`placement`,void 0),c([u({type:Boolean,reflect:!0})],k.prototype,`quiet`,void 0),c([u({type:Array,hasChanged(e,t){return JSON.stringify(e??[])!==JSON.stringify(t??[])},converter:{fromAttribute:e=>{if(!e||e===``)return[];try{return JSON.parse(e)}catch{return[]}},toAttribute:e=>JSON.stringify(e)}})],k.prototype,`value`,void 0),c([u({type:Array,hasChanged(e,t){return JSON.stringify(e??[])!==JSON.stringify(t??[])}})],k.prototype,`options`,void 0),c([u({attribute:!1})],k.prototype,`optionIconRenderer`,void 0),c([u({type:String,reflect:!0})],k.prototype,`selects`,void 0),customElements.get(`luzmo-select`)||customElements.define(`luzmo-select`,k);export{k as LuzmoSelect};
@@ -0,0 +1,20 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{t as e}from"./chunks/skeleton-loader-BxYcRRJr.js";export{e as LuzmoSkeletonLoader};
@@ -0,0 +1,137 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{a as r,c as i,h as a,i as o,l as s,u as c,v as l,y as u}from"./chunks/lucero-runtime-DGJ9-isg.js";import{r as d,t as f}from"./chunks/language-resolution-BWHk9A73.js";import{t as p}from"./chunks/class-map-CxQ0PcQP.js";import{t as m}from"./chunks/style-map-D4QeV3m0.js";import{t as h}from"./chunks/NumberFormatter-DMCfW685.js";import{t as g}from"./chunks/manage-help-text-Cl9OJ2xf.js";import"./chunks/number-field-C3DYfl1s.js";import{t as _}from"./chunks/repeat-CZdNcszA.js";var v={toNormalized(e,t,n){return n===t?0:(e-t)/(n-t)},fromNormalized(e,t,n){return e*(n-t)+t}},y=(e,t)=>{let n=e;for(let[e,r]of Object.entries(t))n=n.replaceAll(`{${e}}`,r);return n},b=e=>{if(!Number.isFinite(e))return 0;let t=Math.abs(e).toString(),n=t.match(/^\d+(?:\.(?<fraction>\d+))?e(?<exponent>[+-]\d+)$/);if(n?.groups){let{fraction:e=``,exponent:t}=n.groups;return Math.min(Math.max(e.length-Number(t),0),20)}let[,r=``]=t.split(`.`);return Math.min(r.length,20)},x=(e,t)=>{let n;try{n=e()}catch{n=void 0}if(typeof n==`number`&&!Number.isNaN(n))return n;let r=t();return Number.isNaN(r)?0:r},S=(e,t)=>Number.isFinite(e)?e:t,C=(e,t,n)=>Math.min(Math.max(e,Math.min(t,n)),Math.max(t,n)),w=(e,t,n,r)=>{let i=S(t,0),a=S(n,i),o=Number.isFinite(r)&&r>0?r:1,s=Number.isNaN(e)?i:e,c=Math.max(b(o),b(i),b(a)),l=i+Math.round((C(s,i,a)-i)/o)*o;return C(Number(l.toFixed(c)),i,a)},T=(e,t,n,r=v)=>C(x(()=>r.toNormalized(e,t,n),()=>v.toNormalized(e,t,n)),0,1),E=(e,t,n,r,i=v)=>{let a=C(e,0,1);return w(x(()=>i.fromNormalized(a,t,n),()=>v.fromNormalized(a,t,n)),t,n,r)},D=(e,t,n)=>{if(!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||n<=0||t<=e)return[];let r=Math.floor((t-e)/n)+1;if(r>250)return[];let i=Math.max(b(e),b(n));return Array.from({length:r},(t,r)=>Number((e+r*n).toFixed(i)))},O=(e,t,n,r,i=v)=>{let a=t+(n-t)/2,o=r===!0?a:r===void 0?t:r,s=T(Number.isNaN(o)?t:o,t,n,i),c=T(e,t,n,i);return[Math.min(s,c),Math.max(s,c)]},k=(e,t)=>e+(t-e)/2,A=class{constructor(e,t,n,r){this._applySingleValue=t,this._formatHandleValue=n,this._formatHandleLabel=r,this._attachedHandles=new Set,this._inputMap=new WeakMap,this.activeIndex=0,this.draggingIndex=-1,this._host=e,this._host.addController(this)}hostConnected(){this.invalidate(),this._syncAttachments()}hostDisconnected(){this.draggingIndex=-1,this._detachHandles(),this._inputMap=new WeakMap,this._cachedModels=void 0}hostUpdate(){this._syncAttachments(),this._cachedModels=this._resolveModels()}hostUpdated(){this._syncInputReferences(),this._commitClampedValues()}get handles(){let e=this._host.shadowRoot?.querySelector(`slot[name="handle"]`);return(e?e.assignedElements():[...this._host.children]).filter(e=>e.localName===`luzmo-slider-handle`&&e.slot===`handle`)}get models(){return this._cachedModels??this._resolveModels()}get values(){return Object.fromEntries(this.models.map(({name:e,value:t})=>[e,t]))}invalidate(){this._cachedModels=void 0}requestHostUpdate(){this.invalidate(),this._host.requestUpdate()}inputForHandle(e){return this._inputMap.get(e)}setValue(e,t){let n=this.models[e];if(!n)return!1;this.activeIndex=e;let r=w(t,n.effectiveMin,n.effectiveMax,n.step);return r===n.value?!1:(n.handle?n.handle.value=r:this._applySingleValue(r),this._cachedModels=this._resolveModels(),!0)}setNormalizedValue(e,t){let n=this.models[e];return n?this.setValue(e,E(t,n.min,n.max,n.step,n.normalization)):!1}nearestIndex(e){let t=this.models;return t.reduce((n,r,i)=>Math.abs(r.normalizedValue-e)<Math.abs(t[n].normalizedValue-e)?i:n,Math.min(Math.max(this.activeIndex,0),t.length-1))}reset(e){let t=this.models[e];return!t||t.defaultValue===void 0||!this.setValue(e,t.defaultValue)?!1:(this.dispatchInput(e),this.dispatchChange(e),!0)}dispatchInput(e){this._eventTarget(e).dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0}))}dispatchChange(e){this._eventTarget(e).dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0}))}formatValue(e){let t=this.models[e];return t?this._formatHandleValue(t):``}_eventTarget(e){return this.models[e]?.handle??this._host}_syncInputReferences(){this._inputMap=new WeakMap;let e=this._host.shadowRoot?.querySelectorAll(`input[type="range"]`)??[];this.models.forEach((t,n)=>{t.handle&&e[n]&&this._inputMap.set(t.handle,e[n])})}_commitClampedValues(){for(let e of this.models)e.handle&&e.handle.value!==e.value&&(e.handle.value=e.value)}_syncAttachments(){let e=new Set(this._host.isConnected?this.handles:[]);for(let t of this._attachedHandles)e.has(t)||t.detachController(this);for(let t of e)t.attachController(this);this._attachedHandles=e}_detachHandles(){for(let e of this._attachedHandles)e.detachController(this);this._attachedHandles.clear()}_resolveModels(){let e=this.handles;if(e.length===0)return[this._resolveSingleModel()];let t=e.map(e=>{let t=typeof e.min==`number`&&Number.isFinite(e.min)?e.min:this._host.min,n=typeof e.max==`number`&&Number.isFinite(e.max)?e.max:this._host.max;return{min:t,max:Math.max(t,n)}}),n=e.map((e,n)=>{let{min:r,max:i}=t[n],a=this._resolveStep(e.step);return w(Number.isFinite(e.value)?e.value:k(r,i),r,i,a)}),r=new Set;return e.map((i,a)=>{let{min:o,max:s}=t[a],c=this._resolveStep(i.step),l=i.min===`previous`&&a>0?Math.max(o,n[a-1]):o,u=Math.max(l,i.max===`next`&&a<e.length-1?Math.min(s,n[a+1]):s),d=w(n[a],l,u,c),f=i.normalization;return{handle:i,name:this._uniqueName(i.name,a,r),label:this._formatHandleLabel(i,a),value:d,min:o,max:s,effectiveMin:l,effectiveMax:u,step:c,defaultValue:i.defaultValue,normalizedValue:T(d,o,s,f),normalization:f}})}_resolveSingleModel(){let{min:e,max:t,step:n,normalization:r}=this._host,i=w(this._host.value,e,t,n);return{name:`value`,label:this._host.label,value:i,min:e,max:t,effectiveMin:e,effectiveMax:t,step:n,defaultValue:this._host.defaultValue,normalizedValue:T(i,e,t,r),normalization:r}}_resolveStep(e){return e!==void 0&&Number.isFinite(e)&&e>0?e:this._host.step}_uniqueName(e,t,n){let r=e||`handle${t+1}`;if(!n.has(r))return n.add(r),r;let i=t+1;for(;n.has(`${r}${i}`);)i+=1;let a=`${r}${i}`;return n.add(a),a}};function j({model:n,index:r,total:i,grouped:a,label:s,appliedLabel:c,helpTextId:l,labelVisibility:u,formattedValue:d,activeIndex:f,draggingIndex:h,focusedIndex:g,invalid:_,readonly:v,disabled:y}){let b=i>1?n.label:s||c||n.label;return e`
21
+ <span
22
+ class=${p({handle:!0,"tooltip-open":h===r||g===r})}
23
+ data-handle-index=${r}
24
+ style=${m({"inset-inline-start":`${n.normalizedValue*100}%`,"--slider-handle-color":n.handle?.color||void 0,"z-index":String(f===r?3:r+2)})}
25
+ >
26
+ ${u===`none`?e`<span class="value-tooltip" aria-hidden="true"
27
+ >${d}</span
28
+ >`:t}
29
+ <input
30
+ data-handle-index=${r}
31
+ type="range"
32
+ min=${n.effectiveMin}
33
+ max=${n.effectiveMax}
34
+ step=${n.step}
35
+ .value=${String(n.value)}
36
+ aria-label=${o(b||void 0)}
37
+ aria-valuetext=${d}
38
+ aria-describedby=${o(a?void 0:l)}
39
+ aria-invalid=${o(_||void 0)}
40
+ aria-readonly=${o(v||void 0)}
41
+ ?disabled=${y}
42
+ />
43
+ </span>
44
+ `}function M({model:t,label:n,formatOptions:r,size:i,disabled:a,invalid:o,readonly:s,hideStepper:c,quiet:l,indeterminate:u,onInput:d,onChange:f}){return e`
45
+ <luzmo-number-field
46
+ id="number-field"
47
+ label=${n}
48
+ .value=${t.value}
49
+ .min=${t.effectiveMin}
50
+ .max=${t.effectiveMax}
51
+ .step=${t.step}
52
+ .formatOptions=${t.handle?.formatOptions??r}
53
+ size=${i}
54
+ ?disabled=${a}
55
+ ?invalid=${o}
56
+ ?readonly=${s}
57
+ ?hide-stepper=${c}
58
+ ?quiet=${l}
59
+ ?indeterminate=${u}
60
+ @input=${d}
61
+ @change=${f}
62
+ ></luzmo-number-field>
63
+ `}function N(n,r,i,a,o){return n.length===0?t:e`
64
+ <div class="ticks" aria-hidden="true">
65
+ ${_(n,e=>e,n=>{let s=`${T(n,r,i)*100}%`;return e`
66
+ <span
67
+ class="tick"
68
+ style=${m({"inset-inline-start":s})}
69
+ ></span>
70
+ ${o?e`<span
71
+ class="tick-label"
72
+ style=${m({"inset-inline-start":s})}
73
+ >${a.format(n)}</span
74
+ >`:t}
75
+ `})}
76
+ </div>
77
+ `}function P(e,t){if(e.length===0)return;if(e.length>1){let t=e.map(({normalizedValue:e})=>e).sort((e,t)=>e-t);return[t[0],t.at(-1)]}let n=e[0];return O(n.value,n.min,n.max,t,n.normalization)}function F(n,r){let i=P(n,r);if(!i)return t;let[a,o]=i;return e`
78
+ <span
79
+ class="fill"
80
+ style=${m({"--slider-fill-start":`${a*100}%`,"--slider-fill-end":`${o*100}%`})}
81
+ ></span>
82
+ `}function I(n,r,i){let[a,o]=P(n,r)??[0,0];return e`
83
+ <span class="ramp" aria-hidden="true">
84
+ <svg viewBox="0 0 240 16" preserveAspectRatio="none" focusable="false">
85
+ <path
86
+ class="ramp-track"
87
+ d="M240,4v8c0,2.3-1.9,4.1-4.2,4L1,9C0.4,9,0,8.5,0,8c0-0.5,0.4-1,1-1l234.8-7C238.1-0.1,240,1.7,240,4z"
88
+ ></path>
89
+ </svg>
90
+ ${i?e`
91
+ <span
92
+ class="ramp-fill"
93
+ style=${m({"--slider-ramp-fill-start":`${a*100}%`,"--slider-ramp-fill-end":`${(1-o)*100}%`})}
94
+ ></span>
95
+ `:t}
96
+ </span>
97
+ `}var L=`:host{min-inline-size:var(--luzmo-slider-min-inline-size,var(--slider-min-inline-size));min-block-size:var(--luzmo-slider-item-height,var(--slider-item-height));color:var(--slider-label-color);font-family:var(--luzmo-slider-font-family,var(--slider-font-family));flex-grow:1;display:block}:host([disabled]){cursor:not-allowed}.handle-slot{display:none}.control-row{align-items:center;gap:var(--slider-label-gap);inline-size:100%;display:flex}.track{min-inline-size:0;block-size:var(--luzmo-slider-item-height,var(--slider-item-height));cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative}.rail,.fill,.ramp{display:block;position:absolute;inset-block-start:calc(50% + var(--luzmo-slider-top-to-track,var(--slider-top-to-track)));transform:translateY(-50%)}.rail{block-size:var(--luzmo-slider-track-height,var(--slider-track-height));background:var(--highcontrast-slider-track-color,var(--slider-track-color));border-radius:var(--slider-track-radius);inset-inline:0}.fill{z-index:1;block-size:var(--luzmo-slider-track-height,var(--slider-track-height));background:var(--highcontrast-slider-fill-color,var(--luzmo-slider-fill-background,var(--slider-fill-background)));border-radius:var(--slider-track-radius);-webkit-mask-image:linear-gradient(to right, transparent 0, transparent var(--slider-fill-start), currentColor var(--slider-fill-start), currentColor var(--slider-fill-end), transparent var(--slider-fill-end), transparent 100%);mask-image:linear-gradient(to right, transparent 0, transparent var(--slider-fill-start), currentColor var(--slider-fill-start), currentColor var(--slider-fill-end), transparent var(--slider-fill-end), transparent 100%);inset-inline:0}.ramp{block-size:var(--slider-ramp-height);inset-inline:0}:host([ramp]) .rail{display:none}.ramp svg,.ramp-fill{block-size:100%;inline-size:100%;display:block;position:absolute;inset:0}.ramp-track{fill:var(--highcontrast-slider-track-color,var(--slider-track-color))}.ramp-fill{z-index:1;background:var(--highcontrast-slider-fill-color,var(--luzmo-slider-fill-background,var(--slider-fill-background)));clip-path:polygon(0 44%,100% 0,100% 100%,0 56%);-webkit-mask-image:linear-gradient(to right, transparent 0, transparent var(--slider-ramp-fill-start), currentColor var(--slider-ramp-fill-start), currentColor calc(100% - var(--slider-ramp-fill-end)), transparent calc(100% - var(--slider-ramp-fill-end)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, transparent var(--slider-ramp-fill-start), currentColor var(--slider-ramp-fill-start), currentColor calc(100% - var(--slider-ramp-fill-end)), transparent calc(100% - var(--slider-ramp-fill-end)), transparent 100%)}:host(:dir(rtl)) .ramp svg{transform:scaleX(-1)}:host(:dir(rtl)) .fill{-webkit-mask-image:linear-gradient(to left, transparent 0, transparent var(--slider-fill-start), currentColor var(--slider-fill-start), currentColor var(--slider-fill-end), transparent var(--slider-fill-end), transparent 100%);mask-image:linear-gradient(to left, transparent 0, transparent var(--slider-fill-start), currentColor var(--slider-fill-start), currentColor var(--slider-fill-end), transparent var(--slider-fill-end), transparent 100%)}:host(:dir(rtl)) .ramp-fill{clip-path:polygon(0 0,100% 44%,100% 56%,0 100%);-webkit-mask-image:linear-gradient(to left, transparent 0, transparent var(--slider-ramp-fill-start), currentColor var(--slider-ramp-fill-start), currentColor calc(100% - var(--slider-ramp-fill-end)), transparent calc(100% - var(--slider-ramp-fill-end)), transparent 100%);mask-image:linear-gradient(to left, transparent 0, transparent var(--slider-ramp-fill-start), currentColor var(--slider-ramp-fill-start), currentColor calc(100% - var(--slider-ramp-fill-end)), transparent calc(100% - var(--slider-ramp-fill-end)), transparent 100%)}.handle{box-sizing:border-box;inline-size:var(--slider-hit-size);block-size:var(--slider-hit-size);cursor:grab;place-items:center;margin-inline-start:var(--luzmo-slider-edge-to-handle,var(--slider-edge-to-handle));display:grid;position:absolute;inset-block-start:calc(50% + var(--luzmo-slider-top-to-handle,var(--slider-top-to-handle)));transform:translate(-50%,-50%)}:host(:dir(rtl)) .handle{transform:translate(50%,-50%)}.handle:before{box-sizing:border-box;inline-size:var(--slider-handle-visual-size);block-size:var(--slider-handle-visual-size);background:var(--highcontrast-slider-handle-background,var(--slider-handle-color,var(--slider-handle-background)));border:var(--slider-handle-border-width) solid var(--highcontrast-slider-handle-border-color,var(--slider-handle-color,var(--slider-handle-border-color)));box-shadow:var(--slider-handle-shadow);content:"";transition:background-color var(--luzmo-animation-duration), border-color var(--luzmo-animation-duration);border-radius:50%}:host([ramp]) .handle:before,:host([variant=unfilled]) .handle:before{border-color:var(--highcontrast-slider-handle-border-color,var(--slider-handle-color,var(--slider-handle-border-color-unfilled)))}.handle:hover:before,:host([dragging]) .handle:before{background:var(--highcontrast-slider-handle-background,var(--slider-handle-color,var(--luzmo-slider-background-color-hover,var(--slider-handle-background-hover))))}:host([dragging]) .handle:before{border-color:var(--highcontrast-slider-focus-color,var(--slider-handle-color,var(--slider-handle-border-color-active)))}:host([dragging]) .handle{cursor:grabbing}.handle:has(input:focus-visible):before{border-color:var(--highcontrast-slider-focus-color,var(--slider-focus-color));outline:var(--slider-focus-width) solid var(--highcontrast-slider-focus-color,var(--slider-focus-color));outline-offset:var(--slider-focus-offset)}.handle input{block-size:100%;inline-size:100%;cursor:inherit;opacity:0;pointer-events:none;margin:0;position:absolute;inset:0}.ticks{z-index:1;pointer-events:none;position:absolute;inset:0}.tick{inline-size:var(--slider-tick-width);block-size:var(--slider-tick-height);background:var(--highcontrast-slider-tick-color,var(--slider-tick-color));position:absolute;inset-block-start:calc(50% + var(--luzmo-slider-top-to-track,var(--slider-top-to-track)) + var(--slider-tick-offset));transform:translate(-50%)}:host(:dir(rtl)) .tick{transform:translate(50%)}.tick-label{color:var(--slider-label-color);font-size:var(--slider-tick-label-font-size);white-space:nowrap;position:absolute;inset-block-start:calc(50% + var(--luzmo-slider-top-to-handle,var(--slider-top-to-handle)) + var(--slider-handle-visual-size) / 2 + var(--slider-tick-label-gap));transform:translate(-50%)}:host(:dir(rtl)) .tick-label{transform:translate(50%)}.value-label{min-inline-size:max-content;color:var(--slider-label-color);font-size:var(--slider-label-font-size);flex:none}.value-tooltip{z-index:1;box-sizing:border-box;padding:var(--slider-tooltip-padding);color:var(--highcontrast-slider-tooltip-color,var(--slider-tooltip-color));background:var(--highcontrast-slider-tooltip-background,var(--slider-tooltip-background));border:var(--slider-tooltip-border-width) solid var(--highcontrast-slider-tooltip-border-color,var(--slider-tooltip-border-color));border-radius:var(--slider-tooltip-border-radius);font-size:var(--luzmo-slider-tooltip-font-size,var(--slider-tooltip-font-size));white-space:nowrap;visibility:hidden;opacity:0;transition:opacity var(--luzmo-animation-duration), visibility 0s linear var(--luzmo-animation-duration);pointer-events:none;line-height:1;position:absolute;inset-block-end:calc(50% + var(--slider-handle-visual-size) / 2 + var(--slider-tooltip-gap));inset-inline-start:50%;transform:translate(-50%)}:host(:dir(rtl)) .value-tooltip{transform:translate(50%)}.handle:hover .value-tooltip,.handle.tooltip-open .value-tooltip{visibility:visible;opacity:1;transition-delay:0s}:host([disabled]) .value-tooltip{visibility:hidden;opacity:0}luzmo-number-field{inline-size:var(--slider-editable-width);flex:none}.visually-hidden{inline-size:calc(var(--luzmo-spacing-1) / 2);block-size:calc(var(--luzmo-spacing-1) / 2);clip-path:inset(50%);white-space:nowrap;position:absolute;overflow:hidden}:host([readonly]:not([disabled])) .track,:host([readonly]:not([disabled])) .handle{cursor:default}:host([disabled]) .track,:host([disabled]) .handle{cursor:not-allowed}:host([disabled]) .rail{background:var(--highcontrast-slider-track-color,var(--luzmo-slider-background-color-disabled,var(--slider-track-color-disabled)))}:host([disabled]) .ramp-track{fill:var(--highcontrast-slider-track-color,var(--luzmo-slider-background-color-disabled,var(--slider-track-color-disabled)))}:host([disabled]) .ramp-fill,:host([disabled]) .fill{background:var(--highcontrast-slider-fill-color,var(--slider-fill-color-disabled))}:host([disabled]) .handle:before,:host([disabled]) .handle:hover:before{background:var(--highcontrast-slider-handle-background,var(--luzmo-slider-background-color-disabled-hover,var(--slider-handle-background-disabled)));border-color:var(--highcontrast-slider-handle-border-color,var(--slider-handle-border-color-disabled));box-shadow:none}@media (forced-colors:active){.rail{--highcontrast-slider-track-color:ButtonFace;--highcontrast-slider-track-border-color:ButtonText;border:var(--slider-handle-border-width) solid var(--highcontrast-slider-track-border-color);forced-color-adjust:none}.ramp{--highcontrast-slider-track-color:ButtonText;--highcontrast-slider-fill-color:Highlight;forced-color-adjust:none}.fill{--highcontrast-slider-fill-color:Highlight;forced-color-adjust:none}.tick{--highcontrast-slider-tick-color:ButtonText;forced-color-adjust:none}.handle:before{--highcontrast-slider-handle-background:Canvas;--highcontrast-slider-handle-border-color:ButtonText;forced-color-adjust:none}:host([dragging]) .handle:before{--highcontrast-slider-focus-color:Highlight}.handle:has(input:focus-visible):before{--highcontrast-slider-focus-color:Highlight}.value-tooltip{--highcontrast-slider-tooltip-background:Canvas;--highcontrast-slider-tooltip-border-color:CanvasText;--highcontrast-slider-tooltip-color:CanvasText;forced-color-adjust:none}:host([disabled]) .rail,:host([disabled]) .ramp-track,:host([disabled]) .ramp-fill,:host([disabled]) .tick,:host([disabled]) .fill,:host([disabled]) .handle:before{--highcontrast-slider-disabled-color:GrayText;--highcontrast-slider-track-color:var(--highcontrast-slider-disabled-color);--highcontrast-slider-track-border-color:var(--highcontrast-slider-disabled-color);--highcontrast-slider-fill-color:var(--highcontrast-slider-disabled-color);--highcontrast-slider-tick-color:var(--highcontrast-slider-disabled-color);--highcontrast-slider-handle-background:Canvas;--highcontrast-slider-handle-border-color:var(--highcontrast-slider-disabled-color)}}@media (prefers-reduced-motion:reduce){.handle:before,.value-tooltip{transition:none}}:host{--slider-font-family:var(--luzmo-font-family);--slider-min-inline-size:calc(3 * var(--luzmo-component-height-l));--slider-item-height:var(--luzmo-component-height);--slider-track-height:var(--luzmo-spacing-2);--slider-handle-base-size:calc(var(--luzmo-component-height) + var(--luzmo-spacing-2));--slider-hit-size:var(--luzmo-component-height);--slider-top-to-track:0px;--slider-top-to-handle:0px;--slider-edge-to-handle:0px;--slider-handle-scale:.5;--slider-handle-visual-size:calc(var(--luzmo-slider-handle-size,var(--slider-handle-base-size)) * var(--luzmo-slider-handle-scale,var(--slider-handle-scale)));--slider-track-radius:var(--luzmo-border-radius-full);--slider-track-color:var(--luzmo-border-color);--slider-track-color-disabled:var(--luzmo-background-color-disabled);--slider-fill-color:var(--luzmo-primary);--slider-fill-background:var(--slider-fill-color);--slider-fill-color-disabled:var(--luzmo-disabled-color);--slider-handle-background:var(--luzmo-background-color);--slider-handle-background-hover:var(--luzmo-background-color-hover);--slider-handle-background-disabled:var(--luzmo-background-color);--slider-handle-border-color:var(--luzmo-border-color);--slider-handle-border-color-unfilled:var(--luzmo-primary);--slider-handle-border-color-active:var(--luzmo-primary);--slider-handle-border-color-disabled:var(--luzmo-border-color-disabled);--slider-handle-border-width:var(--luzmo-border-width);--slider-handle-shadow:0 var(--luzmo-spacing-1) var(--luzmo-spacing-2) var(--luzmo-shadow-color);--slider-focus-color:var(--luzmo-primary);--slider-focus-width:var(--luzmo-border-width);--slider-focus-offset:var(--luzmo-border-width);--slider-label-color:var(--luzmo-font-color);--slider-label-font-size:var(--luzmo-font-size-s);--slider-label-gap:var(--luzmo-spacing-3);--slider-ramp-height:var(--luzmo-spacing-4);--slider-tick-color:var(--luzmo-border-color-full);--slider-tick-width:var(--luzmo-border-width);--slider-tick-height:var(--luzmo-spacing-3);--slider-tick-offset:calc(-1 * var(--slider-tick-height) / 2);--slider-tick-label-gap:var(--luzmo-spacing-2);--slider-tick-label-font-size:var(--luzmo-font-size-xs);--slider-tooltip-padding:var(--luzmo-spacing-2);--slider-tooltip-border-radius:calc(var(--luzmo-spacing-2) - var(--luzmo-border-width));--slider-tooltip-background:var(--luzmo-background-color);--slider-tooltip-border-color:var(--luzmo-border-color);--slider-tooltip-border-width:var(--luzmo-border-width);--slider-tooltip-color:var(--luzmo-font-color);--slider-tooltip-font-size:var(--slider-label-font-size);--slider-tooltip-gap:var(--luzmo-spacing-2);--slider-editable-width:calc(3 * var(--luzmo-component-height))}:host([ramp]){--slider-tick-height:calc(var(--slider-ramp-height) + 2 * var(--luzmo-spacing-1))}:host([size=s]){--slider-item-height:var(--luzmo-component-height-s);--slider-track-height:calc(var(--luzmo-spacing-2) - var(--luzmo-border-width));--slider-handle-base-size:var(--luzmo-component-height-s);--slider-hit-size:var(--luzmo-component-height-s);--slider-label-font-size:var(--luzmo-font-size-xs);--slider-ramp-height:var(--luzmo-spacing-3)}:host([size=l]){--slider-item-height:var(--luzmo-component-height-l);--slider-track-height:calc(var(--luzmo-spacing-3) - var(--luzmo-spacing-1));--slider-handle-base-size:var(--luzmo-component-height-l);--slider-hit-size:var(--luzmo-component-height-l);--slider-label-font-size:var(--luzmo-font-size-m);--slider-ramp-height:var(--luzmo-spacing-5)}:host([size=xl]){--slider-item-height:var(--luzmo-component-height-xl);--slider-track-height:calc(var(--luzmo-spacing-3) - var(--luzmo-border-width));--slider-handle-base-size:calc(var(--luzmo-component-height-l) + var(--luzmo-spacing-2));--slider-hit-size:var(--luzmo-component-height-xl);--slider-label-font-size:var(--luzmo-font-size-m);--slider-ramp-height:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2))}`,R={handleName:`{label} {position}`},z=16,B=new Set([`filled`,`unfilled`]),V=new Set([`none`,`value`]),H={fromAttribute(e){if(e===null)return;if(e===``||e===`true`)return!0;let t=Number(e);return Number.isFinite(t)?t:void 0},toAttribute(e){return e===void 0?null:e===!0?``:String(e)}},U=class extends g(i(r),{mode:`internal`,live:`polite`}){constructor(...e){super(...e),this.label=``,this.labels={},this._appliedLabel=``,this.applyFocusElementLabel=e=>{this._appliedLabel=e},this.ramp=!1,this.ticks=!1,this.tickLabels=!1,this.editable=!1,this.hideStepper=!1,this.quiet=!1,this.indeterminate=!1,this.invalid=!1,this.readonly=!1,this.formatOptions={},this._languageResolver=new f(this),this._handleController=new A(this,e=>this._applySingleValue(e),e=>this._formatHandleValue(e),(e,t)=>this._formatHandleLabel(e,t)),this._rawValue=NaN,this._rawMin=0,this._rawMax=100,this._rawStep=1,this._rawTickStep=0,this._rawVariant=`filled`,this._rawLabelVisibility=`none`,this._focusedIndex=-1,this._formatterCache=new Map,this._pendingCommits=new Set,this._defaultAriaHandleText=(e,t)=>t.format(e),this._defaultAriaValueText=e=>this._formatValueList([...e.values()])}static get styles(){let e=super.styles;return[...Array.isArray(e)?e:e?[e]:[],n(L)]}set value(e){let t=Number.isFinite(e)?e:NaN;if(Object.is(t,this._rawValue))return;let n=this.value;this._rawValue=t,this.requestUpdate(`value`,n)}get value(){return Number.isFinite(this._rawValue)?this._rawValue:this.min+(this.max-this.min)/2}set min(e){let t=Number.isFinite(e)?e:0;if(t===this._rawMin)return;let n=this._rawMin;this._rawMin=t,this.requestUpdate(`min`,n)}get min(){return this._rawMin}set max(e){let t=Number.isFinite(e)?e:NaN;if(Object.is(t,this._rawMax))return;let n=this.max;this._rawMax=t,this.requestUpdate(`max`,n)}get max(){return this._rawMax>this._rawMin?this._rawMax:this._rawMin+100}set step(e){let t=Number.isFinite(e)&&e>0?e:1;if(t===this._rawStep)return;let n=this._rawStep;this._rawStep=t,this.requestUpdate(`step`,n)}get step(){return this._rawStep}set variant(e){let t=B.has(e)?e:`filled`;if(t===this._rawVariant)return;let n=this._rawVariant;this._rawVariant=t,this.requestUpdate(`variant`,n)}get variant(){return this._rawVariant}set labelVisibility(e){let t=V.has(e)?e:`none`;if(t===this._rawLabelVisibility)return;let n=this._rawLabelVisibility;this._rawLabelVisibility=t,this.requestUpdate(`labelVisibility`,n)}get labelVisibility(){return this._rawLabelVisibility}set tickStep(e){let t=Number.isFinite(e)&&e>0?e:0;if(t===this._rawTickStep)return;let n=this._rawTickStep;this._rawTickStep=t,this.requestUpdate(`tickStep`,n)}get tickStep(){return this._rawTickStep}set normalization(e){let t=this.normalization;this._normalization=e,this.requestUpdate(`normalization`,t)}get normalization(){return this._normalization??v}set getAriaHandleText(e){let t=this.getAriaHandleText;this._getAriaHandleText=e,this.requestUpdate(`getAriaHandleText`,t)}get getAriaHandleText(){return this._getAriaHandleText??this._defaultAriaHandleText}set getAriaValueText(e){let t=this.getAriaValueText;this._getAriaValueText=e,this.requestUpdate(`getAriaValueText`,t)}get getAriaValueText(){return this._getAriaValueText??this._defaultAriaValueText}get values(){return this._handleController.values}get focusElement(){return this.rangeInputs?.[Math.min(Math.max(this._handleController.activeIndex,0),this.rangeInputs.length-1)]??this}_applySingleValue(e){this.value=e}_normalizeRawValue(){if(!Number.isFinite(this._rawValue))return;let e=this._rawValue,t=w(this._rawValue,this.min,this.max,this.step);Object.is(t,this._rawValue)||(this._rawValue=t,this.requestUpdate(`value`,e))}_formatHandleValue(e){let t=e.handle?.formatOptions??this.formatOptions;return(e.handle?.getAriaHandleText??this.getAriaHandleText)(e.value,this._numberFormatter(this._withDefaultPrecision(t,e.step,e.min,e.max)))}_formatHandleLabel(e,t){if(e.label)return e.label;if(e.name)return e.name;let n=this.label||this._appliedLabel,r=this._numberFormatter({useGrouping:!1}).format(t+1);return n?y(this.labels.handleName??R.handleName,{label:n,position:r}):r}disconnectedCallback(){this._endDrag(),this._focusedIndex=-1,this._pendingCommits.clear(),super.disconnectedCallback()}_numberFormatter(e=this.formatOptions){let t=this._languageResolver.language;this._formatterCacheLanguage!==t&&(this._formatterCache.clear(),this._formatterCacheLanguage=t);let n=JSON.stringify(e??{}),r=this._formatterCache.get(n);if(r)return r;let i=this._createNumberFormatter(t,e??{});return this._formatterCache.size>=z&&this._formatterCache.clear(),this._formatterCache.set(n,i),i}_withDefaultPrecision(e,...t){return e.style!==void 0||e.minimumFractionDigits!==void 0||e.maximumFractionDigits!==void 0||e.minimumSignificantDigits!==void 0||e.maximumSignificantDigits!==void 0?e:{...e,maximumFractionDigits:Math.min(20,Math.max(...t.map(e=>b(e))))}}_createNumberFormatter(e,t){try{let n=new h(e,t);return n.format(1),n}catch{let{style:n,unit:r,...i}=t;return new h(e,i)}}_clearNumberFormatterCache(){this._formatterCache.clear(),this._formatterCacheLanguage=void 0}_formatValueList(e){if(e.length<2)return e[0]??``;try{return new Intl.ListFormat(this._languageResolver.language,{style:`short`,type:`unit`}).format(e)}catch{return e.join(`, `)}}get _formattedValues(){return new Map(this._handleController.models.map((e,t)=>[e.name,this._handleController.formatValue(t)]))}get _combinedValueText(){return this.getAriaValueText(this._formattedValues)}handleSlotChange(){this._handleController.draggingIndex>=0&&this._endDrag(),this._handleController.activeIndex=0,this._focusedIndex=-1,this._handleController.invalidate(),this.requestUpdate()}_normalizedPointerValue(e){let t=e.currentTarget.getBoundingClientRect(),n=t.width?(e.clientX-t.left)/t.width:0,r=this.isLTR?n:1-n;return Math.min(1,Math.max(0,r))}_capturePointer(e,t){try{e.setPointerCapture(t),this._capturedPointer={target:e,pointerId:t}}catch{this._capturedPointer=void 0}}_releaseCapturedPointer(){let e=this._capturedPointer;this._capturedPointer=void 0,e&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}_endDrag(){let e=this._handleController.draggingIndex;return this._releaseCapturedPointer(),this._handleController.draggingIndex=-1,this._dragStartValue=void 0,this.toggleAttribute(`dragging`,!1),e}handlePointerDown(e){if(this.disabled||this.readonly||e.button!==0)return;let t=e.currentTarget,n=e.target.closest(`[data-handle-index]`),r=this._normalizedPointerValue(e),i=n?Number(n.dataset.handleIndex):this._handleController.nearestIndex(r);this._handleController.activeIndex=i,this._handleController.draggingIndex=i,this._dragStartValue=this._handleController.models[i]?.value,this.toggleAttribute(`dragging`,!0),this._capturePointer(t,e.pointerId),this.indeterminate=!1,this._handleController.setNormalizedValue(i,r)&&this._handleController.dispatchInput(i),this.requestUpdate()}handlePointerMove(e){let t=this._handleController.draggingIndex;t<0||this.disabled||this.readonly||this._handleController.setNormalizedValue(t,this._normalizedPointerValue(e))&&(this._handleController.dispatchInput(t),this.requestUpdate())}handlePointerUp(){if(this._handleController.draggingIndex<0)return;let e=this._dragStartValue,t=this._endDrag();!this.disabled&&!this.readonly&&(this._handleController.models[t]?.value!==e&&this._handleController.dispatchChange(t),this.rangeInputs[t]?.focus({preventScroll:!0})),this.requestUpdate()}handleLostPointerCapture(){this.handlePointerCancel()}handlePointerCancel(){if(this._handleController.draggingIndex<0)return;let e=this._dragStartValue,t=this._endDrag();e!==void 0&&this._handleController.setValue(t,e)&&this._handleController.dispatchInput(t),this.requestUpdate()}_applyInputValue(e,t){Number.isFinite(t)&&(this.indeterminate=!1,this._handleController.setValue(e,t)&&(this._pendingCommits.add(e),this._handleController.dispatchInput(e)))}_commitValue(e,t){let n=Number.isFinite(t)&&this._handleController.setValue(e,t),r=this._pendingCommits.delete(e);(n||r)&&(this.indeterminate=!1,this._handleController.dispatchChange(e))}handleNativeInput(e,t){e.stopPropagation();let n=e.target;if(this.readonly){n.value=String(this._handleController.models[t]?.value);return}this._applyInputValue(t,n.valueAsNumber)}handleNativeChange(e,t){e.stopPropagation();let n=e.target;if(this.readonly){n.value=String(this._handleController.models[t]?.value);return}this._commitValue(t,n.valueAsNumber)}handleKeyDown(e,t){let n=this._handleController.models[t];if(!n||this.disabled)return;if(this.readonly){[`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`,`Home`,`End`,`PageUp`,`PageDown`].includes(e.key)&&e.preventDefault();return}if(e.key===`Escape`){this._handleController.reset(t)&&(e.preventDefault(),e.stopPropagation(),this.requestUpdate());return}let r=e=>n.value+n.step*e,i=this.isLTR?1:-1,a;switch(e.key){case`ArrowUp`:a=r(1);break;case`ArrowDown`:a=r(-1);break;case`ArrowRight`:a=r(i);break;case`ArrowLeft`:a=r(-i);break;case`Home`:a=n.effectiveMin;break;case`End`:a=n.effectiveMax;break;case`PageUp`:a=r(5);break;case`PageDown`:a=r(-5);break;default:return}e.preventDefault(),e.stopPropagation(),this.indeterminate=!1,this._handleController.setValue(t,a)&&(this._handleController.dispatchInput(t),this._handleController.dispatchChange(t),this.requestUpdate())}handleTrackInput(e){let t=e.target;this.handleNativeInput(e,Number(t.dataset.handleIndex))}handleTrackChange(e){let t=e.target;this.handleNativeChange(e,Number(t.dataset.handleIndex))}handleTrackKeyDown(e){let t=e.target;this.handleKeyDown(e,Number(t.dataset.handleIndex))}handleTrackFocusIn(e){let t=e.target,n=Number(t.dataset.handleIndex);this._handleController.activeIndex=n,this._focusedIndex=n}handleTrackFocusOut(e){let t=e.target;this._focusedIndex===Number(t.dataset.handleIndex)&&(this._focusedIndex=-1)}handleTrackDoubleClick(e){let t=e.target.closest(`[data-handle-index]`);!t||this.disabled||this.readonly||(e.preventDefault(),this._handleController.reset(Number(t.dataset.handleIndex)))}handleNumberInput(e){if(e.stopPropagation(),this.readonly)return;let t=e.currentTarget;this._applyInputValue(0,t.value)}handleNumberChange(e){if(e.stopPropagation(),this.readonly)return;let t=e.currentTarget;this._commitValue(0,t.value)}get _hasFill(){return this.variant!==`unfilled`}_renderTicks(){if(!this.ticks)return t;let e=this.tickStep||this.step,n=D(this.min,this.max,e),r=this._numberFormatter(this._withDefaultPrecision(this.formatOptions,e,this.min,this.max));return N(n,this.min,this.max,r,this.tickLabels)}_renderFill(e){return!this._hasFill||this.ramp?t:F(e,this.fillStart)}render(){let n=this._handleController.models,r=this.labelVisibility===`value`,i=this.editable&&n.length===1?n[0]:void 0,a=n.length>1||i!==void 0,s=_(n,({name:e})=>e,(e,t)=>j({model:e,index:t,total:n.length,grouped:a,label:this.label,appliedLabel:this._appliedLabel,helpTextId:this.helpTextId,labelVisibility:this.labelVisibility,formattedValue:this._handleController.formatValue(t),activeIndex:this._handleController.activeIndex,draggingIndex:this._handleController.draggingIndex,focusedIndex:this._focusedIndex,invalid:this.invalid,readonly:this.readonly,disabled:this.disabled}));return e`
98
+ <slot
99
+ name="handle"
100
+ class="handle-slot"
101
+ @slotchange=${this.handleSlotChange}
102
+ ></slot>
103
+ ${a?e`<span id="slider-label" class="visually-hidden"
104
+ >${this.label||this._appliedLabel}</span
105
+ >`:t}
106
+ <div
107
+ class="control-row"
108
+ role=${o(a?`group`:void 0)}
109
+ aria-labelledby=${o(a?`slider-label`:void 0)}
110
+ aria-describedby=${o(a?this.helpTextId:void 0)}
111
+ >
112
+ <div
113
+ id="track"
114
+ class="track"
115
+ @pointerdown=${this.handlePointerDown}
116
+ @pointermove=${this.handlePointerMove}
117
+ @pointerup=${this.handlePointerUp}
118
+ @pointercancel=${this.handlePointerCancel}
119
+ @lostpointercapture=${this.handleLostPointerCapture}
120
+ @input=${this.handleTrackInput}
121
+ @change=${this.handleTrackChange}
122
+ @keydown=${this.handleTrackKeyDown}
123
+ @focusin=${this.handleTrackFocusIn}
124
+ @focusout=${this.handleTrackFocusOut}
125
+ @dblclick=${this.handleTrackDoubleClick}
126
+ >
127
+ <span class="rail"></span>
128
+ ${this.ramp?I(n,this.fillStart,this._hasFill):t}
129
+ ${this._renderFill(n)} ${this._renderTicks()} ${s}
130
+ </div>
131
+ ${r?e`<output class="value-label"
132
+ >${this._combinedValueText}</output
133
+ >`:t}
134
+ ${i?M({model:i,label:this.label||this._appliedLabel,formatOptions:this.formatOptions,size:this.size,disabled:this.disabled,invalid:this.invalid,readonly:this.readonly,hideStepper:this.hideStepper,quiet:this.quiet,indeterminate:this.indeterminate,onInput:this.handleNumberInput,onChange:this.handleNumberChange}):t}
135
+ </div>
136
+ ${this.renderHelpText(this.invalid)}
137
+ `}willUpdate(e){super.willUpdate(e),(e.has(`value`)||e.has(`min`)||e.has(`max`)||e.has(`step`))&&this._normalizeRawValue(),(e.has(d)||e.has(`formatOptions`))&&this._clearNumberFormatterCache()}updated(e){super.updated(e),(e.has(`disabled`)&&this.disabled||e.has(`readonly`)&&this.readonly)&&(this._endDrag(),this._pendingCommits.clear())}};s([u({type:String})],U.prototype,`label`,void 0),s([u({attribute:!1})],U.prototype,`labels`,void 0),s([l()],U.prototype,`_appliedLabel`,void 0),s([u({type:Number,reflect:!0})],U.prototype,`value`,null),s([u({type:Number,reflect:!0})],U.prototype,`min`,null),s([u({type:Number,reflect:!0})],U.prototype,`max`,null),s([u({type:Number,reflect:!0})],U.prototype,`step`,null),s([u({type:Number,reflect:!0,attribute:`default-value`})],U.prototype,`defaultValue`,void 0),s([u({type:String,reflect:!0})],U.prototype,`variant`,null),s([u({type:Boolean,reflect:!0})],U.prototype,`ramp`,void 0),s([u({type:Boolean,reflect:!0})],U.prototype,`ticks`,void 0),s([u({type:String,reflect:!0,attribute:`label-visibility`})],U.prototype,`labelVisibility`,null),s([u({reflect:!0,attribute:`fill-start`,converter:H})],U.prototype,`fillStart`,void 0),s([u({type:Number,reflect:!0,attribute:`tick-step`})],U.prototype,`tickStep`,null),s([u({type:Boolean,reflect:!0,attribute:`tick-labels`})],U.prototype,`tickLabels`,void 0),s([u({type:Boolean,reflect:!0})],U.prototype,`editable`,void 0),s([u({type:Boolean,reflect:!0,attribute:`hide-stepper`})],U.prototype,`hideStepper`,void 0),s([u({type:Boolean,reflect:!0})],U.prototype,`quiet`,void 0),s([u({type:Boolean,reflect:!0})],U.prototype,`indeterminate`,void 0),s([u({type:Boolean,reflect:!0})],U.prototype,`invalid`,void 0),s([u({type:Boolean,reflect:!0})],U.prototype,`readonly`,void 0),s([u({attribute:!1})],U.prototype,`formatOptions`,void 0),s([u({attribute:!1})],U.prototype,`normalization`,null),s([u({attribute:!1})],U.prototype,`getAriaHandleText`,null),s([u({attribute:!1})],U.prototype,`getAriaValueText`,null),s([a(`input[type="range"]`)],U.prototype,`rangeInputs`,void 0),s([l()],U.prototype,`_focusedIndex`,void 0);var W={fromAttribute(e){if(e===null)return;if(e===`previous`)return e;let t=Number(e);return Number.isFinite(t)?t:void 0},toAttribute(e){return e===void 0?null:String(e)}},G={fromAttribute(e){if(e===null)return;if(e===`next`)return e;let t=Number(e);return Number.isFinite(t)?t:void 0},toAttribute(e){return e===void 0?null:String(e)}},K=class extends c{constructor(...e){super(...e),this.name=``,this.label=``,this.value=NaN,this.color=``}set normalization(e){let t=this.normalization;this._normalization=e,this.requestUpdate(`normalization`,t)}get normalization(){return this._normalization??v}#e;attachController(e){this.#e=e}detachController(e){this.#e===e&&(this.#e=void 0)}get hasController(){return this.#e!==void 0}focus(e){this.#e?.inputForHandle(this)?.focus(e)}render(){return t}updated(e){super.updated(e),(e.has(`value`)||e.has(`min`)||e.has(`max`)||e.has(`step`)||e.has(`color`)||e.has(`name`)||e.has(`label`)||e.has(`defaultValue`)||e.has(`formatOptions`)||e.has(`normalization`)||e.has(`getAriaHandleText`))&&this.#e?.requestHostUpdate()}};s([u({type:String,reflect:!0})],K.prototype,`name`,void 0),s([u({type:String})],K.prototype,`label`,void 0),s([u({type:Number,reflect:!0})],K.prototype,`value`,void 0),s([u({type:Number,reflect:!0,attribute:`default-value`})],K.prototype,`defaultValue`,void 0),s([u({reflect:!0,converter:W})],K.prototype,`min`,void 0),s([u({reflect:!0,converter:G})],K.prototype,`max`,void 0),s([u({type:Number,reflect:!0})],K.prototype,`step`,void 0),s([u({type:String,reflect:!0})],K.prototype,`color`,void 0),s([u({attribute:!1})],K.prototype,`formatOptions`,void 0),s([u({attribute:!1})],K.prototype,`normalization`,null),s([u({attribute:!1})],K.prototype,`getAriaHandleText`,void 0),typeof customElements<`u`&&!customElements.get(`luzmo-slider-handle`)&&customElements.define(`luzmo-slider-handle`,K),typeof customElements<`u`&&!customElements.get(`luzmo-slider`)&&customElements.define(`luzmo-slider`,U);export{R as DEFAULT_SLIDER_LABELS,U as LuzmoSlider,K as LuzmoSliderHandle};
@@ -0,0 +1,45 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{c as e,i as t,y as n}from"./chunks/lit-BN_lRQbJ.js";import{a as r,g as i,l as a,y as o}from"./chunks/lucero-runtime-DGJ9-isg.js";function s(e,t){let n=Math.max(0,t.primaryMin,e-t.secondaryMax),r=Math.min(e,t.primaryMax,e-t.secondaryMin);if(n<=r)return{min:n,max:r};let i=Math.min(e,Math.max(0,e/2));return{min:i,max:i}}function c(e,t){return Math.min(t.max,Math.max(t.min,e))}var l=`:host{min-block-size:0;min-inline-size:0;display:flex;position:relative}:host([vertical]){flex-direction:column}slot{display:contents}::slotted(*){min-block-size:0;min-inline-size:0}::slotted(:nth-child(n+3)){display:none!important}.separator{cursor:col-resize;block-size:100%;inline-size:var(--split-view-target-size);touch-action:none;z-index:1;outline:none;justify-content:center;align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-start:calc(var(--splitter-position,0) * 1px - var(--split-view-target-size) / 2)}:host([vertical]) .separator{block-size:var(--split-view-target-size);cursor:row-resize;inline-size:100%;inset-block-start:calc(var(--splitter-position,0) * 1px - var(--split-view-target-size) / 2);inset-inline-start:0}.separator .divider{background-color:var(--luzmo-split-view-divider-color,var(--split-view-divider-color));block-size:100%;inline-size:var(--luzmo-split-view-divider-thickness,var(--split-view-divider-thickness));pointer-events:none}.separator .handle{background-color:var(--luzmo-split-view-divider-color,var(--split-view-handle-color));block-size:var(--split-view-handle-length);border-radius:var(--split-view-handle-radius);inline-size:var(--split-view-handle-thickness);pointer-events:none;display:none;position:absolute}:host([resizable]) .separator .handle{display:block}:host([vertical]) .separator .divider{block-size:var(--luzmo-split-view-divider-thickness,var(--split-view-divider-thickness));inline-size:100%}:host([vertical]) .separator .handle{block-size:var(--split-view-handle-thickness);inline-size:var(--split-view-handle-length)}:host(:not([vertical])) .separator.start-edge{inset-inline-start:0}:host(:not([vertical])) .separator.end-edge{inset-inline-start:calc(100% - var(--split-view-target-size))}:host(:not([vertical])) .separator.start-edge .divider,:host(:not([vertical])) .separator.end-edge .divider,:host([vertical]) .separator.start-edge .divider,:host([vertical]) .separator.end-edge .divider{position:absolute}:host(:not([vertical])) .separator.start-edge .divider{inset-inline-start:0}:host(:not([vertical])) .separator.start-edge .handle{inset-inline-start:calc(var(--split-view-focus-width) + var(--split-view-focus-offset))}:host(:not([vertical])) .separator.end-edge .divider{inset-inline-end:0}:host(:not([vertical])) .separator.end-edge .handle{inset-inline-end:calc(var(--split-view-focus-width) + var(--split-view-focus-offset))}:host([vertical]) .separator.start-edge{inset-block-start:0}:host([vertical]) .separator.end-edge{inset-block-start:calc(100% - var(--split-view-target-size))}:host([vertical]) .separator.start-edge .divider{inset-block-start:0}:host([vertical]) .separator.start-edge .handle{inset-block-start:calc(var(--split-view-focus-width) + var(--split-view-focus-offset))}:host([vertical]) .separator.end-edge .divider{inset-block-end:0}:host([vertical]) .separator.end-edge .handle{inset-block-end:calc(var(--split-view-focus-width) + var(--split-view-focus-offset))}:host([resizable]:not([disabled])) .separator:hover .divider,:host([resizable]:not([disabled])) .separator:hover .handle{background-color:var(--luzmo-split-view-divider-color-hover,var(--split-view-divider-color-hover))}:host([dragging]) .separator .divider,:host([dragging]) .separator .handle{background-color:var(--luzmo-split-view-divider-color-active,var(--split-view-divider-color-active))}.separator:focus-visible .divider{background-color:var(--luzmo-split-view-focus-color,var(--split-view-focus-color))}.separator:focus-visible .handle{outline:var(--split-view-focus-width) solid var(--luzmo-split-view-focus-color,var(--split-view-focus-color));outline-offset:var(--split-view-focus-offset)}:host(:not([resizable])) .separator,:host([disabled]) .separator{cursor:default}@media (forced-colors:active){:host{--highcontrast-split-view-divider-color:CanvasText;--highcontrast-split-view-focus-color:Highlight}.separator .divider,.separator .handle{background-color:var(--highcontrast-split-view-divider-color,var(--luzmo-split-view-divider-color,var(--split-view-divider-color)))}:host([resizable]:not([disabled])) .separator:hover .divider,:host([resizable]:not([disabled])) .separator:hover .handle,:host([dragging]) .separator .divider,:host([dragging]) .separator .handle{background-color:highlight}.separator:focus-visible .divider{background-color:var(--highcontrast-split-view-focus-color,var(--luzmo-split-view-focus-color,var(--split-view-focus-color)))}.separator:focus-visible .handle{outline-color:var(--highcontrast-split-view-focus-color,var(--luzmo-split-view-focus-color,var(--split-view-focus-color)))}}:host{--split-view-divider-color:var(--luzmo-border-color-full);--split-view-divider-color-hover:var(--luzmo-primary-hover);--split-view-divider-color-active:var(--luzmo-primary-down);--split-view-divider-thickness:var(--luzmo-border-width);--split-view-focus-color:var(--luzmo-primary-focus);--split-view-target-size:var(--luzmo-component-height-xs);--split-view-focus-offset:var(--luzmo-border-width);--split-view-focus-width:var(--luzmo-indicator-width,1px);--split-view-handle-color:var(--luzmo-font-color-extra-dimmed);--split-view-handle-length:var(--luzmo-component-height);--split-view-handle-thickness:var(--luzmo-spacing-2);--split-view-handle-radius:var(--luzmo-border-radius-full)}`,u=3840,d=10,f=50,p=50,m=0,h=class extends r{constructor(...e){super(...e),this.vertical=!1,this.collapsible=!1,this.label=`Resize panels`,this.primarySize=`50%`,this._primaryMin=0,this._primaryMax=u,this._secondaryMin=0,this._secondaryMax=u,this._resizable=!1,this._splitterPos=0,this._viewSize=0,this._minPos=0,this._maxPos=0,this._enoughChildren=!1,this._positionInitialized=!1,this._initialSplitterPosSupplied=!1,this._activePanes=[],this._restorePositionOnReconnect=!1,this._paneInlineStyles=new Map,this._dragChanged=!1}static get styles(){let e=super.styles;return[...Array.isArray(e)?e:e?[e]:[],n(l)]}set resizable(e){let t=!!e;if(t===this._resizable)return;let n=this._resizable;this._resizable=t,t||this._cancelDrag(),this.requestUpdate(`resizable`,n)}get resizable(){return this._resizable}set primaryMin(e){let t=this._normalizeBound(e,0);if(t===this._primaryMin)return;let n=this._primaryMin;this._primaryMin=t,this.requestUpdate(`primaryMin`,n)}get primaryMin(){return this._primaryMin}set primaryMax(e){let t=this._normalizeBound(e,u);if(t===this._primaryMax)return;let n=this._primaryMax;this._primaryMax=t,this.requestUpdate(`primaryMax`,n)}get primaryMax(){return this._primaryMax}set secondaryMin(e){let t=this._normalizeBound(e,0);if(t===this._secondaryMin)return;let n=this._secondaryMin;this._secondaryMin=t,this.requestUpdate(`secondaryMin`,n)}get secondaryMin(){return this._secondaryMin}set secondaryMax(e){let t=this._normalizeBound(e,u);if(t===this._secondaryMax)return;let n=this._secondaryMax;this._secondaryMax=t,this.requestUpdate(`secondaryMax`,n)}get secondaryMax(){return this._secondaryMax}set splitterPos(e){this._positionInitialized||(this._initialSplitterPosSupplied=!0);let t=Number.isFinite(e)?e:0,n=this.collapsible&&(t===0||t===this._viewSize),r=this._positionInitialized&&!n?this._clampPosition(t):t;if(r===this._splitterPos)return;let i=this._splitterPos;this._splitterPos=r,this.requestUpdate(`splitterPos`,i)}get splitterPos(){return this._splitterPos}get focusElement(){return this._separator??this}connectedCallback(){this._positionInitialized||(this._initialSplitterPosSupplied=this._initialSplitterPosSupplied||this.hasAttribute(`splitter-pos`)),super.connectedCallback(),typeof ResizeObserver<`u`&&(this._resizeObserver??=new ResizeObserver(()=>{this._recalculate(!1)}),this._resizeObserver.observe(this)),this.updateComplete.then(()=>{this.isConnected&&this.handleSlotChange()})}disconnectedCallback(){this._cancelDrag(!1),this._resizeObserver?.disconnect(),this._restorePaneStyles(),this._activePanes=[],this._restorePositionOnReconnect=!0,this._clearControlledElementId(),this._controlledElement=void 0,super.disconnectedCallback()}_normalizeBound(e,t){return Number.isFinite(e)&&e>=0?e:t}_measureView(){let e=this.getBoundingClientRect();return this.vertical?e.height:e.width}_calculateBounds(){this._viewSize=this._measureView();let e=s(this._viewSize,{primaryMin:this.primaryMin,primaryMax:this.primaryMax,secondaryMin:this.secondaryMin,secondaryMax:this.secondaryMax});this._minPos=e.min,this._maxPos=e.max}_clampPosition(e){return c(e,{min:this._minPos,max:this._maxPos})}_resolveInitialPosition(){let e=this.primarySize.trim();if(/^\d+(?:\.\d+)?(?:px)?$/.test(e))return Number.parseFloat(e);if(/^\d+(?:\.\d+)?%$/.test(e))return Number.parseFloat(e)/100*this._viewSize;if(e===`auto`&&this._controlledElement){let e=Number.parseFloat(this._controlledElement.style.getPropertyValue(this.vertical?`block-size`:`inline-size`));if(Number.isFinite(e)&&e>0)return e;let t=Number.parseFloat(getComputedStyle(this._controlledElement).getPropertyValue(this.vertical?`height`:`width`));if(Number.isFinite(t)&&t>0)return t;let n=this._controlledElement.getBoundingClientRect(),r=this.vertical?n.height:n.width;if(Number.isFinite(r)&&r>0)return r}return this._viewSize/2}_applyPaneSizes(){let[e,t]=this._activePanes,n=Math.round(this.splitterPos),r=Math.round(this._viewSize);e&&(e.style.flex=`0 0 ${n}px`,e.style.display=r>0&&n<=0?`none`:this._paneInlineStyles.get(e)?.display??``),t&&(t.style.flex=`1 1 0`,t.style.display=r>0&&n>=r?`none`:this._paneInlineStyles.get(t)?.display??``)}_restorePaneStyles(){for(let[e,t]of this._paneInlineStyles)e.style.display=t.display,e.style.flex=t.flex;this._paneInlineStyles.clear()}_setActivePanes(e){let t=e.slice(0,2),n=t.length!==this._activePanes.length||t.some((e,t)=>e!==this._activePanes[t]);if(n&&(this._restorePaneStyles(),this._activePanes=t),n||this._paneInlineStyles.size===0)for(let e of t)this._paneInlineStyles.set(e,{display:e.style.display,flex:e.style.flex});return n}_recalculate(e){if(!this.isConnected||!this._enoughChildren)return;let t=this._viewSize,n=this._positionInitialized&&this.collapsible&&this.splitterPos===0,r=this._positionInitialized&&this.collapsible&&t>0&&this.splitterPos===t;this._calculateBounds();let i;this._positionInitialized?i=e?this._resolveInitialPosition():n?0:r?this._viewSize:this._clampPosition(this.splitterPos):(i=this._initialSplitterPosSupplied?this.splitterPos:this._resolveInitialPosition(),this._positionInitialized=!0),this.splitterPos=i,this._applyPaneSizes()}_syncAriaControls(){!this._separator||!this._controlledElement||(this._separator.ariaControlsElements=[this._controlledElement])}_clearControlledElementId(){this._controlledElement&&this._controlledElement.id===this._controlledElementGeneratedId&&this._controlledElement.removeAttribute(`id`),this._controlledElementGeneratedId=void 0}handleSlotChange(){let e=this._paneSlot?.assignedElements()??[],t=this._setActivePanes(e),n=e[0];n!==this._controlledElement&&(this._clearControlledElementId(),this._controlledElement=n),this._controlledElement&&!this._controlledElement.id&&(m+=1,this._controlledElementGeneratedId=`luzmo-split-view-pane-${m}`,this._controlledElement.id=this._controlledElementGeneratedId);let r=this._enoughChildren,i=e.length>=2;if(i!==this._enoughChildren&&(this._enoughChildren=i,this.requestUpdate()),i){let e=!r||t&&!this._restorePositionOnReconnect;this._restorePositionOnReconnect=!1,this.updateComplete.then(()=>{this._recalculate(e),this._syncAriaControls()})}}_dispatchValueEvent(e){this.dispatchEvent(new Event(e,{bubbles:!0,composed:!0}))}_setPosition(e,t={}){let n=this._clampPosition(e);return this.collapsible&&t.collapse&&(e<=0&&(n=0),e>=this._viewSize&&(n=this._viewSize)),n===this.splitterPos?!1:(this.splitterPos>0&&this.splitterPos<this._viewSize&&(this._lastExpandedPosition=this.splitterPos),this.splitterPos=n,this._applyPaneSizes(),(t.emit??!0)&&this._dispatchValueEvent(`input`),!0)}handleKeydown(e){if(!this.resizable||this.disabled)return;let t;switch(e.key){case`ArrowLeft`:this.vertical||(t=this.splitterPos+(this.isLTR?-10:d));break;case`ArrowRight`:this.vertical||(t=this.splitterPos+(this.isLTR?d:-10));break;case`ArrowUp`:this.vertical&&(t=this.splitterPos-d);break;case`ArrowDown`:this.vertical&&(t=this.splitterPos+d);break;case`PageUp`:t=this.splitterPos+(this.vertical?-50:f);break;case`PageDown`:t=this.splitterPos+(this.vertical?f:-50);break;case`Home`:t=this.collapsible?0:this._minPos;break;case`End`:t=this.collapsible?this._viewSize:this._maxPos;break;case`Enter`:if(!this.collapsible)return;t=this.splitterPos===0?this._lastExpandedPosition??this._viewSize/2:0;break;default:return}t!==void 0&&(e.preventDefault(),this._setPosition(t,{collapse:!0})&&this._dispatchValueEvent(`change`))}_capturePointer(e,t){try{e.setPointerCapture(t),this._capturedPointer={target:e,pointerId:t}}catch{this._capturedPointer=void 0}}_releasePointer(){let e=this._capturedPointer;this._capturedPointer=void 0,e?.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}handlePointerDown(e){!this.resizable||this.disabled||e.button!==0||this._dragStartPosition!==void 0||(this._dragPointerId=e.pointerId,this._dragStartPosition=this.splitterPos,this._dragChanged=!1,this.toggleAttribute(`dragging`,!0),this._capturePointer(e.currentTarget,e.pointerId))}_pointerPosition(e){let t=this.getBoundingClientRect();return this.vertical?e.clientY-t.top:this.isLTR?e.clientX-t.left:t.right-e.clientX}handlePointerMove(e){if(this._dragPointerId!==e.pointerId||this._dragStartPosition===void 0||!this.resizable||this.disabled)return;let t=this._pointerPosition(e);this.collapsible&&t<this._minPos-p&&(t=0),this.collapsible&&t>this._maxPos+p&&(t=this._viewSize),this._setPosition(t,{collapse:!0})&&(this._dragChanged=!0)}_finishDrag(){this._dragPointerId=void 0,this._releasePointer(),this._dragStartPosition=void 0,this._dragChanged=!1,this.toggleAttribute(`dragging`,!1)}handlePointerUp(e){if(this._dragPointerId!==e.pointerId||this._dragStartPosition===void 0)return;let t=this._dragChanged;this._finishDrag(),t&&this._dispatchValueEvent(`change`)}_cancelDrag(e=!0){if(this._dragStartPosition===void 0)return;let t=this._dragStartPosition,n=this._dragChanged;this._finishDrag(),e&&n&&this._setPosition(t,{collapse:!0})}handlePointerCancel(e){this._dragPointerId===e.pointerId&&this._cancelDrag()}render(){return e`
21
+ <slot @slotchange=${this.handleSlotChange}></slot>
22
+ ${this._enoughChildren?e`
23
+ <div
24
+ class="separator ${this.splitterPos<=0?`start-edge`:this._viewSize>0&&this.splitterPos>=this._viewSize?`end-edge`:``}"
25
+ role="separator"
26
+ aria-label=${this.label}
27
+ aria-disabled=${this.resizable?this.disabled?`true`:`false`:t}
28
+ aria-orientation=${this.vertical?`horizontal`:`vertical`}
29
+ aria-valuemin=${this.resizable?this._positionAsPercentage(this.collapsible?0:this._minPos):t}
30
+ aria-valuemax=${this.resizable?this._positionAsPercentage(this.collapsible?this._viewSize:this._maxPos):t}
31
+ aria-valuenow=${this.resizable?this._positionAsPercentage(this.splitterPos):t}
32
+ tabindex=${this.resizable?this.disabled?`-1`:`0`:t}
33
+ style=${`--splitter-position: ${this.splitterPos}`}
34
+ @keydown=${this.handleKeydown}
35
+ @pointerdown=${this.handlePointerDown}
36
+ @pointermove=${this.handlePointerMove}
37
+ @pointerup=${this.handlePointerUp}
38
+ @pointercancel=${this.handlePointerCancel}
39
+ @lostpointercapture=${this.handlePointerCancel}
40
+ >
41
+ <span class="divider" aria-hidden="true"></span>
42
+ <span class="handle" aria-hidden="true"></span>
43
+ </div>
44
+ `:t}
45
+ `}_positionAsPercentage(e){return String(this._viewSize>0?Math.round(e/this._viewSize*100):0)}willUpdate(e){super.willUpdate(e),(e.has(`vertical`)||e.has(`primaryMin`)||e.has(`primaryMax`)||e.has(`secondaryMin`)||e.has(`secondaryMax`)||e.has(`collapsible`))&&this._recalculate(!1),e.has(`primarySize`)&&this._recalculate(!0)}updated(e){super.updated(e),e.has(`splitterPos`)&&this._applyPaneSizes(),this._syncAriaControls(),e.has(`disabled`)&&this.disabled&&this._cancelDrag()}};a([o({type:Boolean,reflect:!0})],h.prototype,`vertical`,void 0),a([o({type:Boolean,reflect:!0})],h.prototype,`resizable`,null),a([o({type:Boolean,reflect:!0})],h.prototype,`collapsible`,void 0),a([o({type:String,reflect:!0})],h.prototype,`label`,void 0),a([o({type:Number,reflect:!0,attribute:`primary-min`})],h.prototype,`primaryMin`,null),a([o({type:Number,reflect:!0,attribute:`primary-max`})],h.prototype,`primaryMax`,null),a([o({type:Number,reflect:!0,attribute:`secondary-min`})],h.prototype,`secondaryMin`,null),a([o({type:Number,reflect:!0,attribute:`secondary-max`})],h.prototype,`secondaryMax`,null),a([o({type:String,reflect:!0,attribute:`primary-size`})],h.prototype,`primarySize`,void 0),a([o({type:Number,reflect:!0,attribute:`splitter-pos`})],h.prototype,`splitterPos`,null),a([i(`slot`)],h.prototype,`_paneSlot`,void 0),a([i(`[role="separator"]`)],h.prototype,`_separator`,void 0),typeof customElements<`u`&&!customElements.get(`luzmo-split-view`)&&customElements.define(`luzmo-split-view`,h);export{h as LuzmoSplitView};
@@ -0,0 +1,23 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{c as e,y as t}from"./chunks/lit-BN_lRQbJ.js";import{c as n,l as r,u as i,y as a}from"./chunks/lucero-runtime-DGJ9-isg.js";import{n as o}from"./chunks/language-resolution-BWHk9A73.js";var s=`:host{font-family:var(--luzmo-status-light-font-family,var(--luzmo-font-family));color:var(--highcontrast-status-light-content-color,var(--luzmo-status-light-content-color,var(--status-light-content-color)));min-block-size:var(--luzmo-status-light-height,var(--status-light-height));box-sizing:border-box;vertical-align:bottom;-webkit-user-select:none;user-select:none;align-items:center;gap:var(--luzmo-status-light-gap,var(--status-light-gap));outline:none;display:inline-flex;position:relative}.dot{block-size:var(--luzmo-status-light-dot-size,var(--status-light-dot-size));inline-size:var(--luzmo-status-light-dot-size,var(--status-light-dot-size));background-color:var(--highcontrast-status-light-dot-color,var(--luzmo-status-light-dot-color,var(--status-light-dot-color)));border-radius:50%;flex-shrink:0}.label{box-sizing:border-box;line-height:1;font-weight:var(--luzmo-status-light-font-weight,var(--status-light-font-weight));font-size:var(--luzmo-status-light-font-size,var(--status-light-font-size));cursor:default;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}:host([data-luzmo-language-script=Latn]) .label{text-box:trim-both cap alphabetic;margin-block:-.35em;padding-block:.35em}:host([disabled]){opacity:var(--luzmo-status-light-disabled-opacity,.4);pointer-events:none;cursor:default}@media (forced-colors:active){:host{--highcontrast-status-light-content-color:ButtonText;forced-color-adjust:none}.dot{--highcontrast-status-light-dot-color:Highlight}:host([disabled]){--highcontrast-status-light-content-color:GrayText}:host([disabled]) .dot{--highcontrast-status-light-dot-color:GrayText}}:host{--status-light-content-color:var(--luzmo-font-color);--status-light-font-weight:var(--luzmo-font-weight);--status-light-dot-color:var(--luzmo-border-color-full)}:host([size=xs]){--status-light-height:var(--luzmo-component-height-xxs);--status-light-font-size:var(--luzmo-font-size-xs);--status-light-dot-size:6px;--status-light-gap:var(--luzmo-spacing-3)}:host([size=s]){--status-light-height:var(--luzmo-component-height-xs);--status-light-font-size:var(--luzmo-font-size-s);--status-light-dot-size:8px;--status-light-gap:var(--luzmo-spacing-3)}:host{--status-light-height:var(--luzmo-component-height-s);--status-light-font-size:var(--luzmo-font-size);--status-light-dot-size:10px;--status-light-gap:var(--luzmo-spacing-3)}:host([size=l]){--status-light-height:var(--luzmo-component-height);--status-light-font-size:var(--luzmo-font-size);--status-light-dot-size:12px;--status-light-gap:var(--luzmo-spacing-4)}:host([size=xl]){--status-light-height:var(--luzmo-component-height-l);--status-light-font-size:var(--luzmo-font-size-l);--status-light-dot-size:14px;--status-light-gap:var(--luzmo-spacing-4)}:host([variant=neutral]){--status-light-dot-color:var(--luzmo-selected-color-hard)}:host([variant=informative]){--status-light-dot-color:var(--luzmo-informative-color)}:host([variant=positive]){--status-light-dot-color:var(--luzmo-positive-color)}:host([variant=negative]){--status-light-dot-color:var(--luzmo-negative-color)}:host([variant=notice]){--status-light-dot-color:var(--luzmo-notice-color)}:host([variant=seafoam]){--status-light-dot-color:var(--luzmo-seafoam-color)}:host([variant=indigo]){--status-light-dot-color:var(--luzmo-indigo-color)}:host([variant=purple]){--status-light-dot-color:var(--luzmo-purple-color)}:host([variant=fuchsia]){--status-light-dot-color:var(--luzmo-fuchsia-color)}:host([variant=magenta]){--status-light-dot-color:var(--luzmo-magenta-color)}:host([variant=yellow]){--status-light-dot-color:var(--luzmo-yellow-color)}:host([variant=gray]){--status-light-dot-color:var(--luzmo-gray-color)}:host([variant=red]){--status-light-dot-color:var(--luzmo-red-color)}:host([variant=orange]){--status-light-dot-color:var(--luzmo-orange-color)}:host([variant=chartreuse]){--status-light-dot-color:var(--luzmo-chartreuse-color)}:host([variant=celery]){--status-light-dot-color:var(--luzmo-celery-color)}:host([variant=green]){--status-light-dot-color:var(--luzmo-green-color)}:host([variant=cyan]){--status-light-dot-color:var(--luzmo-cyan-color)}:host([variant=blue]){--status-light-dot-color:var(--luzmo-blue-color)}`,c=[`neutral`,`informative`,`positive`,`negative`,`notice`,`seafoam`,`indigo`,`purple`,`fuchsia`,`magenta`,`yellow`,`gray`,`red`,`orange`,`chartreuse`,`celery`,`green`,`cyan`,`blue`],l=class extends n(i,{validSizes:[`xs`,`s`,`m`,`l`,`xl`],noDefaultSize:!0}){constructor(...e){super(...e),this._languageScript=new o(this),this._variant=`neutral`,this.disabled=!1}static get styles(){return[t(s)]}get variant(){return this._variant}set variant(e){e!==this._variant&&(c.includes(e)?(this._variant=e,this.setAttribute(`variant`,e)):(this._variant=`neutral`,this.setAttribute(`variant`,`neutral`)))}render(){return e`
21
+ <span class="dot"></span>
22
+ <span class="label"><slot></slot></span>
23
+ `}updated(e){super.updated(e),e.has(`disabled`)&&(this.disabled?this.setAttribute(`aria-disabled`,`true`):this.removeAttribute(`aria-disabled`))}firstUpdated(e){super.firstUpdated(e),this.hasAttribute(`role`)||this.setAttribute(`role`,`status`),this.hasAttribute(`variant`)||this.setAttribute(`variant`,this.variant)}};r([a({reflect:!0})],l.prototype,`variant`,null),r([a({type:Boolean,reflect:!0})],l.prototype,`disabled`,void 0),customElements.get(`luzmo-status-light`)||customElements.define(`luzmo-status-light`,l);export{l as LuzmoStatusLight};
@@ -0,0 +1,20 @@
1
+ /*!* Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2026 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
+ */
19
+
20
+ import"./tokens.js";import{n as e,t}from"./chunks/swatch-m_4GcO2_.js";export{e as LuzmoSwatch,t as LuzmoSwatchGroup};