@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
@@ -1,56 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs");let t=require("lit"),n=require("lit/decorators.js");var r=`:host{inline-size:var(--luzmo-color-loupe-width,48px);block-size:var(--luzmo-color-loupe-height,64px);transform:translateY(var(--luzmo-color-loupe-animation-distance,8px));opacity:0;transform-origin:bottom;pointer-events:none;filter:drop-shadow(var(--luzmo-color-loupe-drop-shadow-x,0) var(--luzmo-color-loupe-drop-shadow-y,2px) var(--luzmo-color-loupe-drop-shadow-blur,8px) var(--luzmo-color-loupe-drop-shadow-color,var(--luzmo-shadow-color)));transition:transform .1s ease-in-out,opacity .125s ease-in-out;position:absolute;inset-block-end:calc(var(--luzmo-color-handle-size,16px) - var(--luzmo-color-handle-outer-border-width,1px) + var(--luzmo-color-loupe-offset,12px));inset-inline-end:calc(50% - var(--luzmo-color-loupe-width,48px) / 2)}:is(:host:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),:host([dir=rtl])){inset-inline-end:calc(50% - var(--luzmo-color-loupe-width,48px) / 2 - 1px)}:host([open]){opacity:1;transform:translate(0)}.luzmo-color-loupe-inner-border{fill:var(--luzmo-picked-color);stroke:var(--luzmo-color-loupe-inner-border-color,#0000001a);stroke-width:var(--luzmo-color-loupe-inner-border-width,1px)}.luzmo-color-loupe-outer-border{fill:none;stroke:var(--luzmo-color-loupe-outer-border-color,white);stroke-width:calc(var(--luzmo-color-loupe-outer-border-width,2px) + 2px);transform:translate(calc((var(--luzmo-color-loupe-outer-border-width,2px) + 2px) / 2), 0)}.luzmo-color-loupe-checkerboard-pattern{fill:var(--luzmo-color-loupe-checkerboard-dark-color,#e6e6e6)}.luzmo-color-loupe-checkerboard-background{fill:var(--luzmo-color-loupe-checkerboard-light-color,#fff)}.luzmo-color-loupe-checkerboard-fill{fill:var(--luzmo-color-loupe-checkerboard-fill,url(#checkerboard-primary))}@media (forced-colors:active){:host{--highcontrast-colorloupe-outer-border-color:CanvasText}}svg{width:inherit;height:inherit}.loupe-clipped{clip-path:path("M23 61.575C19.0044 57.435 15.2591 53.0606 11.784 48.475C8.68949 44.4532 5.96348 40.1608 3.639 35.65C1.224 30.8 0 26.549 0 23C0.00319993 17.6937 1.84059 12.5516 5.20091 8.44488C8.56122 4.33815 13.2378 1.51928 18.4385 0.465803C23.6392 -0.587678 29.0442 0.189006 33.7378 2.66428C38.4314 5.13955 42.125 9.16122 44.193 14.048C45.3915 16.88 46.0061 19.9248 46 23C46 26.551 44.774 30.811 42.355 35.661C40.0274 40.1747 37.298 44.4698 34.2 48.494C30.7297 53.0728 26.9898 57.4409 23 61.575ZZ")}.opacity-checkerboard{background:repeating-conic-gradient(var(--luzmo-color-loupe-checkerboard-light,#fff) 0 25%, var(--luzmo-color-loupe-checkerboard-dark,#e6e6e6) 0 50%) var(--luzmo-color-loupe-checkerboard-position,left top)/calc(var(--luzmo-color-loupe-checkerboard-size,8px) * 2) calc(var(--luzmo-color-loupe-checkerboard-size,8px) * 2);block-size:100%;inline-size:100%;position:absolute;top:2px;left:2px}`,i=class extends e.n{constructor(...e){super(...e),this.open=!1,this.color=`rgba(255, 0, 0, 0.5)`}static{this.styles=(0,t.unsafeCSS)(r)}render(){return t.html`
19
- <div class="opacity-checkerboard loupe-clipped"></div>
20
- <div class="luzmo-color-loupe-inner-border loupe-clipped"></div>
21
- <div class="luzmo-color-loupe-outer-border loupe-clipped"></div>
22
- <svg
23
- aria-hidden="true"
24
- class="luzmo-color-loupe is-open"
25
- overflow="visible"
26
- style="--luzmo-picked-color: ${this.color}; position: absolute;"
27
- >
28
- <defs>
29
- <path
30
- id="loupe-path"
31
- d="M23 61.575C19.0044 57.435 15.2591 53.0606 11.784 48.475C8.68949 44.4532 5.96348 40.1608 3.639 35.65C1.224 30.8 0 26.549 0 23C0.00319993 17.6937 1.84059 12.5516 5.20091 8.44488C8.56122 4.33815 13.2378 1.51928 18.4385 0.465803C23.6392 -0.587678 29.0442 0.189006 33.7378 2.66428C38.4314 5.13955 42.125 9.16122 44.193 14.048C45.3915 16.88 46.0061 19.9248 46 23C46 26.551 44.774 30.811 42.355 35.661C40.0274 40.1747 37.298 44.4698 34.2 48.494C30.7297 53.0728 26.9898 57.4409 23 61.575ZZ"
32
- transform="translate(2, 2)"
33
- />
34
- <mask id="loupe-mask">
35
- <rect x="0" y="0" height="100" width="100" fill="white" />
36
- <use xlink:href="#path" fill="black" />
37
- </mask>
38
- </defs>
39
-
40
- <g class="luzmo-color-loupe-loupe">
41
- <g>
42
- <use
43
- xlink:href="#loupe-path"
44
- mask="url(#loupe-mask)"
45
- transform="translate(2, 2)"
46
- class="luzmo-color-loupe-inner-border"
47
- />
48
- <use
49
- xlink:href="#loupe-path"
50
- mask="url(#loupe-mask)"
51
- class="luzmo-color-loupe-outer-border"
52
- />
53
- </g>
54
- </g>
55
- </svg>
56
- `}};e.t([(0,n.property)({type:Boolean,reflect:!0})],i.prototype,`open`,void 0),e.t([(0,n.property)({type:String})],i.prototype,`color`,void 0),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
@@ -1,89 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs"),n=require("./focusable-B6h03pAe.cjs");require("./popover/index.cjs"),require("./color-handle-DIoVrLRF.cjs"),require("./color-area-B_pRu9Vf.cjs"),require("./color-field-BNGnBRSO.cjs"),require("./color-slider-DLEM1nGA.cjs"),require("./divider-wana0uPI.cjs"),require("./swatch-DUmBmg4S.cjs");let r=require("lit"),i=require("lit/decorators.js"),a=require("@luzmo/icons"),o=require("@ctrl/tinycolor");var s=`:host{width:var(--luzmo-color-menu-width,var(--color-menu-width))}.hue-opacity-text-swatches-container{gap:var(--luzmo-color-menu-color-controls-vertical-gap,var(--color-menu-color-controls-vertical-gap));padding:var(--luzmo-color-menu-hue-opacity-text-swatches-vertical-padding,var(--color-menu-hue-opacity-text-swatches-vertical-padding)) var(--luzmo-color-menu-hue-opacity-text-swatches-horizontal-padding,var(--color-menu-hue-opacity-text-swatches-horizontal-padding));flex-direction:column;display:flex}.swatch-sliders-container{gap:var(--luzmo-color-menu-swatch-to-sliders-space,var(--color-menu-swatch-to-sliders-space));display:flex}.swatch-example-container{align-items:center;display:flex}.field-container{align-items:center;gap:var(--luzmo-color-menu-format-field-to-format-space,var(--color-menu-format-field-to-format-space));display:flex}.format-container{text-transform:uppercase;height:var(--luzmo-color-menu-format-height,var(--color-menu-format-height));cursor:pointer;font-size:var(--luzmo-color-menu-format-font-size,var(--color-menu-format-font-size));color:var(--luzmo-color-menu-format-font-color,var(--color-menu-format-font-color));align-items:center;gap:var(--luzmo-color-menu-format-name-to-icon,var(--color-menu-format-name-to-icon-space));padding:0 var(--luzmo-color-menu-format-horizontal-padding,var(--color-menu-format-horizontal-padding));background:0 0;border:none;outline:none;display:flex;position:relative}.format-container:hover{color:var(--luzmo-color-menu-format-font-color-hover,var(--color-menu-format-font-color-hover))}.format-container:focus-visible{outline:none}.format-container:focus-visible:after{content:"";box-sizing:border-box;border:var(--luzmo-color-menu-format-indicator-width,var(--luzmo-indicator-width)) solid var(--luzmo-color-menu-format-indicator-color,var(--luzmo-indicator-color));border-radius:var(--luzmo-color-menu-format-label-indicator-border-radius,var(--luzmo-border-radius-s));width:100%;height:100%;position:absolute;top:0;left:0}.format-container:focus-visible,.format-container:active{color:var(--luzmo-color-menu-format-font-color-down,var(--color-menu-format-font-color-down))}.format-container .format-label{-webkit-user-select:none;user-select:none}.format-container .angle-icon{height:calc(var(--color-menu-format-font-size) / 1.5);align-items:center;display:flex}.slider-container{justify-content:center;gap:var(--luzmo-color-menu-slider-gap,var(--color-menu-slider-gap));flex-direction:column;display:flex}luzmo-color-area{width:100%;height:var(--luzmo-color-menu-height,var(--color-menu-height))}luzmo-color-slider{width:100%}luzmo-divider{margin:var(--luzmo-spacing-5) à}.swatches-container{gap:var(--luzmo-color-menu-swatches-gap,var(--color-menu-swatches-gap));grid-template-columns:repeat(6,1fr);display:grid}.swatches-container luzmo-swatch{cursor:pointer}.swatches-container .swatch-choice{justify-content:center;align-items:center;display:flex}:host{--luzmo-text-field-icon-size-valid:0px;--luzmo-text-field-icon-spacing-inline-end-valid:1px;--luzmo-text-field-text-align:center;--color-menu-width:290px;--luzmo-text-field-width:220px;--luzmo-color-slider-control-track-width:8px;--color-menu-height:140px;--color-menu-hue-opacity-text-swatches-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-hue-opacity-text-swatches-vertical-padding:var(--luzmo-spacing-5);--color-menu-color-controls-vertical-gap:var(--luzmo-spacing-5);--color-menu-swatch-to-sliders-space:var(--luzmo-spacing-5);--color-menu-slider-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-format-height:var(--luzmo-component-height);--color-menu-format-font-size:var(--luzmo-font-size-s);--color-menu-format-name-to-icon-space:var(--luzmo-spacing-2);--color-menu-format-field-to-format-space:var(--luzmo-spacing-2);--color-menu-format-horizontal-padding:var(--luzmo-spacing-3);--color-menu-format-font-color:var(--luzmo-font-color);--color-menu-format-font-color-hover:var(--luzmo-font-color-hover);--color-menu-format-font-color-down:var(--luzmo-font-color-down);--color-menu-swatches-gap:var(--luzmo-spacing-4)}:host .swatches-container{--luzmo-swatch-size:22px}:host([size=s]){--color-menu-width:260px;--luzmo-text-field-width:200px;--luzmo-color-slider-control-track-width:8px;--color-menu-hue-opacity-text-swatches-horizontal-padding:var(--luzmo-spacing-5);--color-menu-hue-opacity-text-swatches-vertical-padding:var(--luzmo-spacing-4);--color-menu-color-controls-vertical-gap:var(--luzmo-spacing-4);--color-menu-swatch-to-sliders-space:var(--luzmo-spacing-4);--color-menu-slider-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-format-height:var(--luzmo-component-height-s);--color-menu-format-font-size:var(--luzmo-font-size-xs);--color-menu-format-name-to-icon-space:var(--luzmo-spacing-2);--color-menu-format-field-to-format-space:var(--luzmo-spacing-2);--color-menu-format-horizontal-padding:var(--luzmo-spacing-2);--color-menu-swatches-gap:var(--luzmo-spacing-3)}:host([size=s]) .swatches-container{--luzmo-swatch-size:20px}:host([size=l]){--color-menu-width:350px;--luzmo-text-field-width:240px;--luzmo-color-slider-control-track-width:16px;--color-menu-hue-opacity-text-swatches-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--color-menu-hue-opacity-text-swatches-vertical-padding:var(--luzmo-spacing-5);--color-menu-color-controls-vertical-gap:var(--luzmo-spacing-5);--color-menu-swatch-to-sliders-space:var(--luzmo-spacing-5);--color-menu-slider-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--color-menu-format-height:var(--luzmo-component-height-l);--color-menu-format-font-size:var(--luzmo-font-size);--color-menu-format-name-to-icon-space:var(--luzmo-spacing-3);--color-menu-format-field-to-format-space:var(--luzmo-spacing-2);--color-menu-format-horizontal-padding:var(--luzmo-spacing-4);--color-menu-swatches-gap:var(--luzmo-spacing-4)}:host([size=l]) .swatches-container{--luzmo-swatch-size:24px}:host([size=l]) .swatch-example-container{--luzmo-swatch-size:56px}:host([size=xl]){--color-menu-width:380px;--luzmo-text-field-width:280px;--luzmo-color-slider-control-track-width:16px;--color-menu-hue-opacity-text-swatches-horizontal-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-2));--color-menu-hue-opacity-text-swatches-vertical-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-color-controls-vertical-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-swatch-to-sliders-space:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-slider-gap:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--color-menu-format-height:var(--luzmo-component-height-xl);--color-menu-format-font-size:var(--luzmo-font-size-l);--color-menu-format-name-to-icon-space:var(--luzmo-spacing-3);--color-menu-format-field-to-format-space:var(--luzmo-spacing-3);--color-menu-format-horizontal-padding:var(--luzmo-spacing-4);--color-menu-swatches-gap:var(--luzmo-spacing-4)}:host([size=xl]) .swatches-container{--luzmo-swatch-size:26px}:host([size=xl]) .swatch-example-container{--luzmo-swatch-size:64px}`,c=class extends t.n(n.t){constructor(...e){super(...e),this.color=`rgb(255, 0, 0)`,this.noAlphaChannel=!1,this._alpha=1,this._rgbColor=`rgb(255, 0, 0)`,this._rgbaColor=`rgb(255, 0, 0, 1)`,this._previousColor=`rgb(255, 0, 0)`}static{this.styles=(0,r.unsafeCSS)(s)}setColor(e){let t=new o.TinyColor(e?.target?.color);this._format=t.format===`name`?`rgb`:t.format,this._rgbaColor=t.toRgbString(),this._alpha=this.noAlphaChannel?1:t.getAlpha(),this._rgbColor=t.setAlpha(1).toRgbString(),this.hueSliderElement.color=this._rgbColor,this.areaElement.color=this._rgbColor,this.noAlphaChannel||(this.opacitySliderElement.color=this._rgbaColor),this.swatchElement.color=this._rgbaColor,this.colorFieldElement.value=this.formatTextField(t),this._previousColor=this._rgbaColor,this.color=this._rgbaColor,this.dispatchEvent(new CustomEvent(`change`,{detail:this.color}))}handleAreaChange(e){e.stopPropagation(),e.preventDefault(),this._rgbColor=this.areaElement.color;let t=new o.TinyColor(this._rgbColor);this._rgbaColor=t.setAlpha(this._alpha).toRgbString(),this.colorFieldElement.value=this._rgbaColor,this.noAlphaChannel||(this.opacitySliderElement.color=this._rgbaColor),this.colorFieldElement.value=this.formatTextField(t),this.swatchElement.color=this._rgbaColor,this._previousColor=this._rgbaColor,this.color=this._rgbaColor,this.dispatchEvent(new CustomEvent(`change`,{detail:this.color}))}get focusElement(){return this.areaElement||this.colorFieldElement||this}handleHueSliderChange(e){e.stopPropagation(),e.preventDefault();let t=new o.TinyColor(this._rgbColor).toHsl();t.h=this.hueSliderElement.value;let n=new o.TinyColor(t);this._rgbColor=n.toRgbString(),this._rgbaColor=n.setAlpha(this._alpha).toRgbString(),this.areaElement.color=`hsla(${t.h}, ${t.s*100}%, ${t.l*100}%, ${t.a})`,this.noAlphaChannel||(this.opacitySliderElement.color=this._rgbaColor),this.colorFieldElement.value=this.formatTextField(n),this.swatchElement.color=this._rgbaColor,this._previousColor=this._rgbaColor,this.color=this._rgbaColor,this.dispatchEvent(new CustomEvent(`change`,{detail:this.color}))}handleOpacitySliderChange(e){e.stopPropagation(),e.preventDefault(),this._alpha=this.opacitySliderElement.sliderHandlePosition/100;let t=new o.TinyColor(this._rgbColor).setAlpha(this._alpha);this._rgbaColor=t.toRgbString(),this.colorFieldElement.value=this.formatTextField(t),this.swatchElement.color=this._rgbaColor,this._previousColor=this._rgbaColor,this.color=this._rgbaColor,this.dispatchEvent(new CustomEvent(`change`,{detail:this.color}))}handleFieldChange(e){if(e.stopPropagation(),e.preventDefault(),this.colorFieldElement.checkValidity()){let e=new o.TinyColor(this.colorFieldElement.value);this._format=e.format,this._rgbaColor=e.toRgbString(),this._alpha=e.getAlpha(),this._rgbColor=e.setAlpha(1).toRgbString(),this.noAlphaChannel&&(this._rgbaColor=this._rgbColor,this._alpha=1),this.hueSliderElement.color=this._rgbColor,this.areaElement.color=this._rgbColor,this.noAlphaChannel||(this.opacitySliderElement.color=this._rgbaColor),this.swatchElement.color=this._rgbaColor,this._previousColor=this._rgbaColor,this.color=this._rgbaColor,this.dispatchEvent(new CustomEvent(`change`,{detail:this.color}))}}formatTextField(e){return this._format===`hsl`?e.toHslString():this._format===`hex`?this.noAlphaChannel?e.toHexString():e.toHex8String():(this._format===`name`&&(this._format=`rgb`),e.toRgbString())}cycleFormat(){let e=[`rgb`,`hsl`,`hex`];this._format=e[(e.indexOf(this._format)+1)%e.length];let t=new o.TinyColor(this.color),n=this.formatTextField(t);this.colorFieldElement.value=n}updated(e){if(e.has(`color`)&&this.color!==this._previousColor){this._previousColor=this.color;let e=new o.TinyColor(this.color);this._alpha=e.getAlpha(),this._rgbColor=e.setAlpha(1).toRgbString(),this._rgbaColor=e.setAlpha(this._alpha).toRgbString(),this.areaElement.color=this._rgbColor,this.hueSliderElement.color=this._rgbColor,this.colorFieldElement.value=this._rgbaColor,this.noAlphaChannel||(this.opacitySliderElement.color=this._rgbaColor),this.swatchElement.color=this._rgbaColor,this._format=`rgb`}e.has(`noAlphaChannel`)&&!this.noAlphaChannel&&(this.opacitySliderElement.color=this._rgbaColor)}renderOpacitySlider(){return r.html`
19
- <luzmo-color-slider
20
- id="luzmo-opacity-slider"
21
- label="Opacity"
22
- mode="opacity"
23
- @input=${this.handleOpacitySliderChange}
24
- >
25
- </luzmo-color-slider>
26
- `}render(){return r.html`
27
- <div id="color-menu" tabindex="0">
28
- <luzmo-color-area
29
- .size=${this.size}
30
- @input=${this.handleAreaChange}
31
- ></luzmo-color-area>
32
- <div class="hue-opacity-text-swatches-container">
33
- <div class="swatch-sliders-container">
34
- <div class="swatch-example-container">
35
- <luzmo-swatch
36
- label="Color preview"
37
- rounding="full"
38
- .size=${this.noAlphaChannel&&[`s`,`m`].includes(this.size)?`s`:`l`}
39
- readonly
40
- ></luzmo-swatch>
41
- </div>
42
- <div class="slider-container" style="flex-grow: 1;">
43
- <luzmo-color-slider
44
- id="luzmo-hue-slider"
45
- @input=${this.handleHueSliderChange}
46
- >
47
- </luzmo-color-slider>
48
- ${this.noAlphaChannel?``:this.renderOpacitySlider()}
49
- </div>
50
- </div>
51
- <div class="field-container">
52
- <luzmo-color-field
53
- label="Color value"
54
- .size=${this.size}
55
- @input=${this.handleFieldChange}
56
- >
57
- </luzmo-color-field>
58
- <button
59
- class="format-container"
60
- aria-label="Color format"
61
- @click=${this.cycleFormat}
62
- tabindex="0"
63
- >
64
- <div class="format-label">${this._format}</div>
65
- <div class="change-format-icon">
66
- <div class="angle-icon">${(0,a.luzmoIcon)(a.luzmoAngleUp)}</div>
67
- <div class="angle-icon">${(0,a.luzmoIcon)(a.luzmoAngleDown)}</div>
68
- </div>
69
- </button>
70
- </div>
71
- ${this.swatches?.length>0?r.html`
72
- <luzmo-divider></luzmo-divider>
73
- <div class="swatches-container">
74
- ${this.swatches.map(e=>r.html`
75
- <div class="swatch-choice">
76
- <luzmo-swatch
77
- @click=${this.setColor}
78
- .color=${e}
79
- .size=${this.size}
80
- readonly
81
- >
82
- </luzmo-swatch>
83
- </div>
84
- `)}
85
- </div>
86
- `:``}
87
- </div>
88
- </div>
89
- `}};e.t([(0,i.property)({type:String,reflect:!0})],c.prototype,`color`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0,attribute:`no-alpha-channel`})],c.prototype,`noAlphaChannel`,void 0),e.t([(0,i.property)({type:Array,reflect:!0})],c.prototype,`swatches`,void 0),e.t([(0,i.query)(`luzmo-color-area`)],c.prototype,`areaElement`,void 0),e.t([(0,i.query)(`#luzmo-hue-slider`)],c.prototype,`hueSliderElement`,void 0),e.t([(0,i.query)(`#luzmo-opacity-slider`)],c.prototype,`opacitySliderElement`,void 0),e.t([(0,i.query)(`luzmo-color-field`)],c.prototype,`colorFieldElement`,void 0),e.t([(0,i.query)(`luzmo-swatch`)],c.prototype,`swatchElement`,void 0),e.t([(0,i.state)()],c.prototype,`_format`,void 0),customElements.get(`luzmo-color-menu`)||customElements.define(`luzmo-color-menu`,c),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});
@@ -1,18 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs"),n=require("./focusable-B6h03pAe.cjs");let r=require("lit"),i=require("lit/decorators.js");var a=`:host{box-sizing:border-box}:host([focused]),:host(:focus-visible){outline:none}:host([focused]) #palette,:host(:focus-visible) #palette{border:var(--luzmo-color-palette-focus-indicator-width,var(--color-palette-focus-indicator-width)) solid var(--luzmo-color-palette-focus-indicator-color,var(--color-palette-focus-indicator-color))!important}:host([disabled]){pointer-events:none;cursor:not-allowed}:host([disabled]) #palette{opacity:var(--luzmo-color-palette-disabled-opacity,.3);background-color:var(--luzmo-color-palette-disabled-background-color,var(--color-palette-disabled-background-color))!important;border-color:#0000!important}:host([selected]) #palette{border-color:var(--luzmo-color-palette-selected-border-color,var(--color-palette-selected-border-color));background-color:var(--luzmo-color-palette-selected-background-color,var(--color-palette-selected-background-color))}:host:hover #palette{border-color:var(--luzmo-color-palette-hover-border-color,var(--color-palette-hover-border-color))}#palette{box-sizing:border-box;width:fit-content;height:100%;padding:var(--luzmo-color-palette-padding,var(--color-palette-padding));border:var(--luzmo-color-palette-border-width,var(--color-palette-border-width)) solid transparent;cursor:pointer;border-radius:var(--luzmo-color-palette-border-radius,var(--color-palette-border-radius));display:flex}#palette>div{box-sizing:border-box;border:var(--luzmo-color-palette-color-border-width,var(--color-palette-color-border-width)) solid var(--luzmo-color-palette-color-border-color,var(--color-palette-color-border-color));height:var(--luzmo-color-palette-color-height,var(--color-palette-color-height));width:var(--luzmo-color-palette-color-width,var(--color-palette-color-width))}#palette:hover{background-color:var(--luzmo-color-palette-hover-background-color,var(--color-palette-hover-background-color))}#palette:focus-visible{outline:none}:host(:not([reverse]):not([horizontal])) #palette{flex-direction:column}:host(:not([reverse]):not([horizontal])) #palette>div:not(:first-child){border-top:0}:host(:not([reverse]):not([horizontal])) #palette>div:first-child{border-top-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-top-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host(:not([reverse]):not([horizontal])) #palette>div:last-child{border-bottom-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-bottom-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host([reverse]:not([horizontal])) #palette{flex-direction:column-reverse}:host([reverse]:not([horizontal])) #palette>div:not(:first-child){border-bottom:0}:host([reverse]:not([horizontal])) #palette>div:first-child{border-bottom-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-bottom-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host([reverse]:not([horizontal])) #palette>div:last-child{border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-top-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host([horizontal]:not([reverse])) #palette{flex-direction:row}:host([horizontal]:not([reverse])) #palette>div:not(:first-child){border-left:0}:host([horizontal]:not([reverse])) #palette>div:first-child{border-top-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-bottom-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host([horizontal]:not([reverse])) #palette>div:last-child{border-top-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-bottom-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host([horizontal][reverse]) #palette{flex-direction:row-reverse}:host([horizontal][reverse]) #palette>div:not(:first-child){border-right:0}:host([horizontal][reverse]) #palette>div:first-child{border-top-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-bottom-right-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host([horizontal][reverse]) #palette>div:last-child{border-top-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius));border-bottom-left-radius:var(--luzmo-color-palette-color-border-radius,var(--color-palette-color-border-radius))}:host{--color-palette-padding:var(--luzmo-spacing-1);--color-palette-background-color:transparent;--color-palette-hover-background-color:var(--luzmo-background-color-highlight);--color-palette-selected-border-color:var(--luzmo-border-color-down);--color-palette-selected-background-color:var(--luzmo-background-color-highlight-hover);--color-palette-disabled-background-color:transparent;--color-palette-border-width:var(--luzmo-border-width);--color-palette-hover-border-color:var(--luzmo-border-color);--color-palette-focus-indicator-width:var(--luzmo-indicator-width);--color-palette-focus-indicator-color:var(--luzmo-indicator-color);--color-palette-color-width:var(--luzmo-spacing-5);--color-palette-color-height:1.25rem;--color-palette-color-border-radius:var(--luzmo-border-radius);--color-palette-color-border-width:var(--luzmo-border-width);--color-palette-color-border-color:var(--luzmo-border-color);--color-palette-border-radius:calc(var(--color-palette-color-border-radius) + var(--color-palette-padding))}:host([horizontal]){--color-palette-color-height:var(--luzmo-spacing-5);--color-palette-color-width:1.25rem}:host([size=s]){--color-palette-color-width:.75rem;--color-palette-color-height:var(--luzmo-spacing-5);--color-palette-padding:var(--luzmo-spacing-1);--color-palette-color-border-radius:var(--luzmo-border-radius-s)}:host([size=s][horizontal]){--color-palette-color-height:.75rem;--color-palette-color-width:var(--luzmo-spacing-5)}:host([size=l]){--color-palette-color-width:1.25rem;--color-palette-color-height:1.5rem;--color-palette-padding:var(--luzmo-spacing-2);--color-palette-color-border-radius:var(--luzmo-border-radius-l)}:host([size=l][horizontal]){--color-palette-color-height:1.25rem;--color-palette-color-width:1.5rem}:host([size=xl]){--color-palette-color-width:1.5rem;--color-palette-color-height:1.75rem;--color-palette-padding:var(--luzmo-spacing-2);--color-palette-color-border-radius:var(--luzmo-border-radius-xl)}:host([size=xl][horizontal]){--color-palette-color-height:1.5rem;--color-palette-color-width:1.75rem}`,o=class extends t.n(n.t,{validSizes:[`s`,`m`,`l`,`xl`],noDefaultSize:!0}){constructor(...e){super(...e),this.disabled=!1,this.focused=!1,this.selected=!1,this.active=!1,this.reverse=!1,this.horizontal=!1}static{this.styles=(0,r.unsafeCSS)(a)}get focusElement(){return this}render(){return r.html` <div id="palette">${this.colors?.map(e=>r.html`<div class="color" style="background-color: ${e}"></div>`)}</div> `}firstUpdated(e){super.firstUpdated(e)}updated(e){super.updated(e),e.has(`selected`)&&this.setAttribute(`tabindex`,this.selected?`0`:`-1`),e.has(`disabled`)&&(this.disabled?this.setAttribute(`aria-disabled`,`true`):this.removeAttribute(`aria-disabled`))}};e.t([(0,i.property)({type:Boolean,reflect:!0})],o.prototype,`disabled`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],o.prototype,`focused`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],o.prototype,`selected`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],o.prototype,`active`,void 0),e.t([(0,i.property)({type:String,reflect:!0})],o.prototype,`value`,void 0),e.t([(0,i.property)({type:Array,reflect:!0})],o.prototype,`colors`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],o.prototype,`reverse`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],o.prototype,`horizontal`,void 0),customElements.get(`luzmo-color-palette`)||customElements.define(`luzmo-color-palette`,o),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -1,28 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs"),n=require("./roving-tabindex-BoPao4td.cjs");let r=require("lit"),i=require("lit/decorators.js"),a=require("lit/directives/if-defined.js"),o=require("@lit-labs/observers/mutation-controller.js");var s=`.color-palette-group{column-gap:var(--luzmo-color-palette-group-column-gap,var(--color-palette-group-column-gap));row-gap:var(--luzmo-color-palette-group-row-gap,var(--color-palette-group-row-gap));flex-wrap:wrap;display:flex}::slotted(*){flex-shrink:0}::slotted(:focus-visible){z-index:1}:host{--color-palette-group-column-gap:var(--luzmo-spacing-3);--color-palette-group-row-gap:var(--luzmo-spacing-3)}:host([size=s]){--color-palette-group-column-gap:var(--luzmo-spacing-2);--color-palette-group-row-gap:var(--luzmo-spacing-2)}:host,:host([size=l]),:host([size=xl]){--color-palette-group-column-gap:var(--luzmo-spacing-3);--color-palette-group-row-gap:var(--luzmo-spacing-3)}`,c=class extends t.n(e.n,{validSizes:[`s`,`m`,`l`,`xl`],noDefaultSize:!0}){static get styles(){return[(0,r.unsafeCSS)(s)]}set palettes(e){e!==this.palettes&&(this._palettes=e,this.rovingTabindexController.clearElementCache())}get palettes(){return this._palettes}constructor(){super(),this.disabled=!1,this.horizontal=!1,this._palettes=[],this.rovingTabindexController=new n.t(this,{focusInIndex:e=>e.findIndex(e=>this.selected?!e.disabled&&e.value===this.selected:!e.disabled),elements:()=>this.palettes,isFocusableElement:e=>!e.disabled}),this.label=``,this._onKeyDown=e=>{if(e.code===`Enter`||e.code===`Space`){e.preventDefault();let t=e.target;if(t.value===void 0)return;this.deselectSelectedPalettes(),t.selected=!0,t.tabIndex=0,t.setAttribute(`aria-checked`,`true`),this.setSelected(t.value,!0)}},this.manageColorPalettes=()=>{if(!this.slotElement)return;let e=this.slotElement.assignedElements({flatten:!0}).reduce((e,t)=>{if(t.matches(`luzmo-color-palette`))e.push(t);else{let n=[...t.querySelectorAll(`:scope > luzmo-color-palette`)];e.push(...n)}return e},[]);this.palettes=e,this.manageChildren(),this.manageSelects()},new o.MutationController(this,{config:{childList:!0,subtree:!0},callback:()=>{this.manageColorPalettes()},skipInitial:!0})}get selected(){return this._selected}set selected(e){this.requestUpdate(`selected`,this._selected),this._selected=e,this.updateComplete.then(()=>{this.applySelects(),this.manageChildren()})}dispatchChange(e){this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0,cancelable:!0}))||(this.setSelected(e),this.palettes.map(e=>{e.selected=!!(e.value&&this.selected===e.value)}))}setSelected(e,t){if(e===this.selected)return;let n=this.selected;this.requestUpdate(`selected`,n),this._selected=e,t&&this.dispatchChange(n)}focus(e){this.rovingTabindexController.focus(e)}deselectSelectedPalettes(){this.palettes.forEach(e=>{e.selected&&(e.selected=!1,e.tabIndex=-1,e.setAttribute(`aria-checked`,`false`))})}_handleClick(e){let t=e.target;t.value!==void 0&&(this.deselectSelectedPalettes(),t.selected=!0,t.tabIndex=0,t.setAttribute(`aria-checked`,`true`),this.setSelected(t.value,!0))}async applySelects(){await this.manageSelects()}async manageSelects(){if(this.palettes.length===0)return;let e=this.palettes;this.setAttribute(`role`,`radiogroup`);let t=[],n=e.map(async e=>{await e.updateComplete,e.setAttribute(`role`,`radio`),e.setAttribute(`aria-checked`,e.selected?`true`:`false`),e.selected&&t.push(e)});await Promise.all(n);let r=t.map(e=>e.value).find(Boolean);this.setSelected(r)}render(){return r.html`
19
- <div
20
- class="color-palette-group"
21
- aria-label=${(0,a.ifDefined)(this.label??void 0)}
22
- role="radiogroup"
23
- @keydown=${this._onKeyDown}
24
- @slotchange=${this.manageColorPalettes}
25
- >
26
- <slot role="presentation"></slot>
27
- </div>
28
- `}firstUpdated(e){super.firstUpdated(e),this.addEventListener(`click`,this._handleClick)}updated(e){super.updated(e),e.has(`horizontal`)&&this.palettes.forEach(e=>{e.horizontal=this.horizontal}),this.manageSelects(),this.manageChildren(),e.has(`size`)&&this.manageChildren(e),e.has(`label`)&&(this.label||e.get(`label`)!==void 0)&&(this.label.length>0?this.setAttribute(`aria-label`,this.label):this.removeAttribute(`aria-label`))}manageChildren(e){this.palettes.forEach(t=>{t.setAttribute(`aria-label`,`color palette: ${t.value}`),t.selected=!!(t.value&&this.selected===t.value),this.size&&(this.size!==`m`||e?.get(`size`)!==void 0)&&(t.size=this.size),this.disabled&&(t.disabled=!0),t.horizontal=this.horizontal})}};e.t([(0,i.property)({type:Boolean,reflect:!0})],c.prototype,`disabled`,void 0),e.t([(0,i.property)({type:Boolean,reflect:!0})],c.prototype,`horizontal`,void 0),e.t([(0,i.property)({type:String})],c.prototype,`label`,void 0),e.t([(0,i.property)({type:String})],c.prototype,`selected`,null),e.t([(0,i.query)(`slot`)],c.prototype,`slotElement`,void 0),customElements.get(`luzmo-color-palette-group`)||customElements.define(`luzmo-color-palette-group`,c),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});
@@ -1,57 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./focusable-B6h03pAe.cjs"),n=require("./language-resolution-CSjktYg5.cjs");require("./color-handle-DIoVrLRF.cjs");const r=require("./streaming-listener-Bfyk6Fsx.cjs");let i=require("lit"),a=require("lit/decorators.js"),o=require("lit/directives/if-defined.js"),s=require("lit/directives/style-map.js"),c=require("@ctrl/tinycolor");var l=/^hs[v|l]a?\s?\((\d{1,3}\.?\d*?),?\s?(\d{1,3})/,u=/(^hs[v|l]a?\s?\()\d{1,3}\.?\d*?(,?\s?)\d{1,3}/,d=/(^hs[v|l]a?\()\d{1,3}/,f=(e,t)=>t?e.toHexString():e.toHex(),p=class{setColorProcess(e,t,n,r){this.maintains===`hue`?this.setColorMaintainHue(e,t,n,r):this.maintains===`saturation`&&this.setColorMaintainSaturation(e,t,n,r)}setColorMaintainHue(e,t,n,r){let{h:i,s:a,v:o,a:s}=this._color.toHsv(),c;if(r&&n.startsWith(`hs`)){let e=l.exec(t);if(e!==null){let[,t]=e;c=Number(t)}}else if(!r&&n.startsWith(`hs`)){let t=e.originalInput;c=Object.values(t)[0]}this.hue=c||i,this.opacity=s??1,this.applyColorToState({h:i,s:a,v:o,a:s})}setColorMaintainSaturation(e,t,n,r){let{a:i}=this._color.toHsv();if(r&&n.startsWith(`hs`)){let e=l.exec(t);if(e!==null){let[,t,n]=e;this.hue=Number(t),this.saturation=Number(n)}}else if(!r&&n.startsWith(`hs`)){let t=e.originalInput,n=Object.values(t);this.hue=n[0],this.saturation=n[1]}else{let{h:t}=e.toHsv();this.hue=t}this.opacity=i??1,this.applyColorToState(e.toHsv())}constructor(e,{applyColorToState:t,extractColorFromState:n,maintains:r}){this.maintains=`hue`,this._hue=0,this._opacity=1,this.getColorProcesses={rgb:(e,t)=>t?e.toRgbString():e.toRgb(),prgb:(e,t)=>t?e.toPercentageRgbString():e.toPercentageRgb(),hex8:(e,t)=>t?e.toHex8String():e.toHex8(),name:e=>e.toName()||e.toRgbString(),hsl:(e,t)=>{if(this.maintains===`hue`){if(t)return e.toHslString().replace(d,`$1${this.hue}`);let{s:n,l:r,a:i}=e.toHsl();return{h:this.hue,s:n,l:r,a:i}}if(t)return e.toHslString().replace(u,`$1${this.hue}$2${this.saturation}`);let{s:n,l:r,a:i}=e.toHsl();return{h:this.hue,s:n,l:r,a:i}},hsv:(e,t)=>{if(this.maintains===`hue`){if(t)return e.toHsvString().replace(d,`$1${this.hue}`);let{s:n,v:r,a:i}=e.toHsv();return{h:this.hue,s:n,v:r,a:i}}if(t)return e.toHsvString().replace(u,`$1${this.hue}$2${this.saturation}`);let{s:n,v:r,a:i}=e.toHsv();return{h:this.hue,s:n,v:r,a:i}},hex:f,hex3:f,hex4:f,hex6:f},this._color=new c.TinyColor({h:0,s:1,v:1}),this._previousColor=new c.TinyColor({h:0,s:1,v:1}),this._format={format:``,isString:!1},this.host=e,this.applyColorToState=t,this.extractColorFromState=n,this.maintains=r||this.maintains}applyColorFromState(){this._color=new c.TinyColor(this.extractColorFromState(this))}get hue(){return this._hue}set hue(e){let t=Math.min(360,Math.max(0,e));if(t===this.hue)return;let n=this.hue,{s:r,v:i,a}=this._color.toHsv();this._color=new c.TinyColor({h:t,s:r,v:i,a}),this._hue=t,this.host.requestUpdate(`hue`,n)}get opacity(){return this._opacity}set opacity(e){let t=Math.min(1,Math.max(0,e));if(t===this.opacity)return;let n=this.opacity,{h:r,s:i,v:a}=this._color.toHsv();this._color=new c.TinyColor({h:r,s:i,v:a,a:t}),this._opacity=t,this.host.requestUpdate(`opacity`,n)}get value(){return this.color}get color(){return this.getColorProcesses[this._format.format||`hex`](this._color,this._format.isString)}set color(e){if(e===this.color)return;let t=this._color;this._color=new c.TinyColor(e);let n=this._color.format,r=typeof e==`string`||e instanceof String;n.startsWith(`hex`)&&(r=e.startsWith(`#`)),this._format={format:n,isString:r},this.setColorProcess(this._color,e,n,r),this.host.requestUpdate(`color`,t)}getColor(e){return this._color[{hsl:`toHsl`}[e]]()}setColor(e){this._color=e;let t=typeof this._color.originalInput==`string`||this._color.originalInput instanceof String;this.setColorProcess(this._color,e,this._color.format,t)}getHslString(){return this._color.toHslString()}savePreviousColor(){this._previousColor=this._color.clone()}restorePreviousColor(){this.setColor(this._previousColor)}},m=`.opacity-checkerboard{background:repeating-conic-gradient(var(--luzmo-color-loupe-checkerboard-light,#fff) 0 25%, var(--luzmo-color-loupe-checkerboard-dark,#e6e6e6) 0 50%) var(--luzmo-color-loupe-checkerboard-position,left top)/calc(var(--luzmo-color-loupe-checkerboard-size,8px) * 2) calc(var(--luzmo-color-loupe-checkerboard-size,8px) * 2);block-size:100%;inline-size:100%;position:absolute}:host{--luzmo-color-slider-gradient-fallback:red 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red 100%;touch-action:none}:host([vertical]) .handle{inset-block-start:unset;inset-block-end:0}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){width:100%;height:100%}@media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--luzmo-color-handle-hitarea-border-radius:var(--luzmo-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--luzmo-color-slider-minimum-length,80px);inline-size:var(--luzmo-color-slider-length,192px);block-size:var(--luzmo-color-slider-control-track-width,24px);-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--luzmo-color-slider-vertical-minimum-height,var(--luzmo-color-slider-minimum-length,80px));block-size:var(--luzmo-color-slider-vertical-height,var(--luzmo-color-slider-length,192px));min-inline-size:0;inline-size:var(--luzmo-color-slider-vertical-control-track-width,var(--luzmo-color-slider-control-track-height,24px));display:inline-block}:host([vertical]) .handle{inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--luzmo-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--luzmo-color-slider-border-color,var(--luzmo-border-color)))}.checkerboard:before{content:"";z-index:1;box-shadow:inset 0 0 0 var(--luzmo-color-slider-border-width,var(--luzmo-border-width)) var(--luzmo-color-slider-border-color-local);border-radius:var(--luzmo-color-slider-border-rounding,var(--luzmo-border-radius-s));position:absolute;inset:0}:host([disabled]) .checkerboard{--luzmo-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--luzmo-color-slider-border-color-disabled,var(--luzmo-dimmed-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--luzmo-color-slider-background-color-disabled,var(--luzmo-dimmed-color)))}.checkerboard,.gradient{border-radius:var(--luzmo-color-slider-border-rounding,var(--luzmo-border-radius-s));block-size:100%;inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.gradient:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){transform:scaleX(-1)}.slider{opacity:0;z-index:0;pointer-events:none;block-size:100%;inline-size:100%;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}`,h=class extends t.t{constructor(...e){super(...e),this.disabled=!1,this.focused=!1,this.label=`hue`,this.vertical=!1,this.languageResolver=new n.t(this),this.colorController=new p(this,{applyColorToState:()=>{if(this.mode===`opacity`){let e=new c.TinyColor(this.colorController.color);this.sliderHandlePosition=100*e.getAlpha()}else this.sliderHandlePosition=100*(this.colorController.hue/360)},extractColorFromState:e=>this.mode===`opacity`?{...e.getColor(`hsl`),a:this.value}:{...e.getColor(`hsl`),h:this.value},maintains:`saturation`}),this.sliderHandlePosition=0,this.step=1,this.isLTR=!0,this._altered=0,this._pointerDown=!1}static get styles(){return[(0,i.unsafeCSS)(m)]}get value(){return this.mode===`opacity`?this.colorController.opacity:this.colorController.hue}set value(e){this.mode===`opacity`?this.colorController.opacity=e:this.colorController.hue=e}get color(){return this.colorController.color}set color(e){this.colorController.color=e}get altered(){return this._altered}set altered(e){this._altered=e,this.step=Math.max(1,this.altered*10)}get focusElement(){return this.input}handleKeydown(e){let{key:t}=e;this.focused=!0,this.altered=[e.shiftKey,e.ctrlKey,e.altKey].filter(e=>!!e).length;let n=0;switch(t){case`ArrowUp`:n=this.step;break;case`ArrowDown`:n=-this.step;break;case`ArrowLeft`:n=this.step*(this.isLTR?-1:1);break;case`ArrowRight`:n=this.step*(this.isLTR?1:-1);break;default:return}e.preventDefault();let r=100/(this.mode===`opacity`?100:360);this.sliderHandlePosition=Math.min(100,Math.max(0,this.sliderHandlePosition+n*r)),this.value=this.mode===`opacity`?Math.min(1,Math.max(0,this.value+n/100)):Math.min(360,Math.max(0,this.value+n)),this.colorController.applyColorFromState(),n!==0&&(this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0})),this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0})))}handleInput(e){let{valueAsNumber:t}=e.target;this.value=t,this.sliderHandlePosition=100*(this.mode===`opacity`?this.value:this.value/360),this.colorController.applyColorFromState()}handleChange(e){this.handleInput(e),this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0}))}focus(e={}){super.focus(e),this.forwardFocus()}forwardFocus(){this.input.focus()}handleFocus(){this.focused=!0}handleBlur(){this._pointerDown||(this.altered=0,this.focused=!1)}handlePointerdown(e){if(e.button!==0){e.preventDefault();return}this._pointerDown=!0,this.colorController.savePreviousColor(),this.boundingClientRect=this.getBoundingClientRect(),e.target.setPointerCapture(e.pointerId),e.pointerType===`mouse`&&(this.focused=!0)}handlePointermove(e){this.sliderHandlePosition=this.calculateHandlePosition(e),this.value=(this.mode===`opacity`?1:360)*(this.sliderHandlePosition/100),this.colorController.applyColorFromState(),this.dispatchEvent(new Event(`input`,{bubbles:!0,composed:!0,cancelable:!0}))}handlePointerup(e){this._pointerDown=!1,e.target.releasePointerCapture(e.pointerId),this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0,cancelable:!0}))||this.colorController.restorePreviousColor(),this.focus(),e.pointerType===`mouse`&&(this.focused=!1)}calculateHandlePosition(e){if(!this.boundingClientRect)return this.sliderHandlePosition;let t=this.boundingClientRect,n=this.vertical?t.top:t.left,r=this.vertical?e.clientY:e.clientX,i=this.vertical?t.height:t.width,a=Math.max(0,Math.min(1,(r-n)/i));return this.vertical||!this.isLTR?100-100*a:100*a}handleGradientPointerdown(e){e.button===0&&(e.stopPropagation(),e.preventDefault(),this.handle.dispatchEvent(new PointerEvent(`pointerdown`,e)),this.handlePointermove(e))}get handlePositionStyles(){return`${this.vertical?`inset-block-end`:`inset-inline-start`}: ${this.sliderHandlePosition}%`}get getColorSliderStyle(){let e=this.vertical?`top`:`right`;return this.mode===`opacity`?{background:`linear-gradient(to ${e}, transparent, ${new c.TinyColor(this.colorController.color).setAlpha(1).toRgbString()})`}:{background:`linear-gradient(to ${e}, var(--luzmo-color-slider-gradient, var(--luzmo-color-slider-gradient-fallback)))`}}render(){return i.html`
19
- <div
20
- class="opacity-checkerboard checkerboard"
21
- role="presentation"
22
- @pointerdown=${this.handleGradientPointerdown}
23
- >
24
- <div
25
- class="gradient"
26
- role="presentation"
27
- style=${(0,s.styleMap)(this.getColorSliderStyle)}
28
- >
29
- <slot name="gradient"></slot>
30
- </div>
31
- </div>
32
- <luzmo-color-handle
33
- tabindex=${(0,o.ifDefined)(this.focused?void 0:`0`)}
34
- @focus=${this.forwardFocus}
35
- ?focused=${this.focused}
36
- class="handle"
37
- color=${this.mode===`opacity`?this.color:`hsl(`+this.value+`, 100%, 50%)`}
38
- ?disabled=${this.disabled}
39
- style=${this.handlePositionStyles}
40
- ${r.t({start:[`pointerdown`,this.handlePointerdown],streamInside:[`pointermove`,this.handlePointermove],end:[[`pointerup`,`pointercancel`,`pointerleave`],this.handlePointerup]})}
41
- ></luzmo-color-handle>
42
- <input
43
- type="range"
44
- class="slider"
45
- min="0"
46
- max=${this.mode===`opacity`?`100`:`360`}
47
- aria-orientation=${(0,o.ifDefined)(this.vertical?`vertical`:void 0)}
48
- orient=${(0,o.ifDefined)(this.vertical?`vertical`:void 0)}
49
- step=${this.step}
50
- aria-label=${this.label}
51
- .value=${String(this.mode===`opacity`?this.value*100:this.value)}
52
- aria-valuetext=${`${new Intl.NumberFormat(this.languageResolver.language,{maximumFractionDigits:0,minimumIntegerDigits:1,style:`unit`,unit:this.mode===`opacity`?`percent`:`degree`,unitDisplay:`narrow`}).format(this.mode===`opacity`?this.value*100:this.value)}`}
53
- @input=${this.handleInput}
54
- @change=${this.handleChange}
55
- @keydown=${this.handleKeydown}
56
- />
57
- `}firstUpdated(e){super.firstUpdated(e),this.boundingClientRect=this.getBoundingClientRect(),this.addEventListener(`focus`,this.handleFocus),this.addEventListener(`blur`,this.handleBlur)}updated(e){e.has(`mode`)&&(this.handle.style.insetInlineStart=``,this.handle.style.insetBlockEnd=``,this.mode===`opacity`&&(this.colorController.color=new c.TinyColor(this.colorController.color).toRgbString(),this.handle.style.insetInlineStart=100*this.colorController.opacity+`%`))}};e.t([(0,a.property)({type:String,reflect:!0})],h.prototype,`dir`,void 0),e.t([(0,a.property)({type:String,reflect:!0})],h.prototype,`mode`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],h.prototype,`disabled`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],h.prototype,`focused`,void 0),e.t([(0,a.query)(`.handle`)],h.prototype,`handle`,void 0),e.t([(0,a.property)({type:String})],h.prototype,`label`,void 0),e.t([(0,a.property)({type:Boolean,reflect:!0})],h.prototype,`vertical`,void 0),e.t([(0,a.property)({type:Number})],h.prototype,`value`,null),e.t([(0,a.property)({type:Number,reflect:!0})],h.prototype,`sliderHandlePosition`,void 0),e.t([(0,a.property)({type:String})],h.prototype,`color`,null),e.t([(0,a.property)({type:Number})],h.prototype,`step`,void 0),e.t([(0,a.property)({type:Boolean,attribute:`is-ltr`})],h.prototype,`isLTR`,void 0),e.t([(0,a.query)(`input`)],h.prototype,`input`,void 0),customElements.get(`luzmo-color-slider`)||customElements.define(`luzmo-color-slider`,h),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return h}});
@@ -1,180 +0,0 @@
1
- /*! * Lucero - The design system for Luzmo.
2
- *
3
- * Copyright © 2025 Luzmo
4
- * All rights reserved.
5
- * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
- * This license allows users with a current active Luzmo account to use Lucero.
7
- * This license terminates automatically if a user no longer has an active Luzmo account.
8
- * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
- *
10
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
- * SOFTWARE.
17
- * */
18
- const e=require("./decorate-Dq34MBGe.cjs"),t=require("./sized-mixin-BT7cv-fT.cjs"),n=require("./focusable-B6h03pAe.cjs");require("./icon-CSqR-OOO.cjs"),require("./overlay-CPZvL0Ic.cjs"),require("./popover/index.cjs"),require("./calendar-DZkKMs2L.cjs");const r=require("./manage-help-text-DtFJsl0k.cjs"),i=require("./text-field.module-l8CaTCwE.cjs");require("./picker-button-BR7oM7_M.cjs");const a=require("./segments-factory-DtPyN5sh.cjs");let o=require("lit"),s=require("lit/decorators.js"),c=require("@luzmo/icons"),l=require("lit/directives/when.js"),u=require("lit/directives/if-defined.js"),d=require("lit/directives/class-map.js"),f=require("@internationalized/date"),p=require("@internationalized/number");var m=`:host{font-family:var(--luzmo-font-family);--date-range-picker-border-radius:var(--luzmo-date-range-picker-border-radius,var(--luzmo-border-radius));--date-range-picker-border-width:var(--luzmo-border-width);--date-range-picker-button-border-color:var(--luzmo-date-range-picker-pickerbutton-border-color,var(--luzmo-border-color));--date-range-picker-button-border-color-focus:var(--luzmo-date-range-picker-pickerbutton-border-color-focus,var(--luzmo-primary));--date-range-picker-button-border-color-invalid:var(--luzmo-date-range-picker-pickerbutton-border-color-invalid,var(--luzmo-negative-color));--date-range-picker-dash-color:var(--luzmo-date-range-picker-dash-color,var(--luzmo-font-color));--date-range-picker-dash-font-size:var(--luzmo-date-range-picker-dash-font-size,var(--luzmo-font-size));--date-range-picker-focus-ring-color:var(--luzmo-date-range-picker-focus-ring-color,var(--luzmo-indicator-color));--date-range-picker-focus-ring-gap:var(--luzmo-date-range-picker-focus-ring-gap,0px);--date-range-picker-focus-ring-width:var(--luzmo-date-range-picker-focus-ring-width,var(--luzmo-border-width));--date-range-picker-focus-animation:var(--luzmo-date-range-picker-focus-animation,var(--luzmo-animation-duration));--date-range-picker-calendar-padding:var(--luzmo-date-range-picker-calendar-padding,var(--luzmo-spacing-4));--luzmo-text-field-width:var(--luzmo-date-range-picker-width,var(--date-range-picker-width));border-radius:var(--date-range-picker-border-radius);flex-flow:row;max-inline-size:100%;display:inline-flex;position:relative}:host([disabled]) luzmo-picker-button{cursor:default}:host([disabled]){--luzmo-date-range-picker-dash-color:var(--luzmo-date-range-picker-dash-color-disabled,var(--luzmo-font-color-disabled))}:host([disabled]) .luzmo-DatePicker-rangeDash{background-color:var(--luzmo-text-field-background-color-disabled,var(--luzmo-background-color-disabled));border-block-color:#0000}:host([readonly]) .luzmo-DatePicker-rangeDash{background-color:initial;border-block-color:#0000}:host([invalid]:not([quiet])) .range-wrapper:after{border-color:var(--date-range-picker-button-border-color-invalid)}:host([invalid]:not([quiet])) .range-wrapper .input,:host([invalid]:not([quiet])) .range-wrapper .input:read-only{border-color:#0000}:host([invalid]:not([quiet])) .luzmo-DatePicker-rangeDash{background-color:#0000;border-block-color:#0000}:host(:not([quiet],[disabled])){--luzmo-picker-button-border-color:var(--date-range-picker-button-border-color)}:host([focused]),:host([focused]:not([quiet],[disabled])){--luzmo-picker-button-border-color:var(--date-range-picker-button-border-color-focus)}:host([invalid]:not([quiet],[disabled])){--luzmo-picker-button-border-color:var(--date-range-picker-button-border-color-invalid)}.range-wrapper{border-radius:var(--date-range-picker-border-radius);flex-flow:row;flex:1;align-items:stretch;inline-size:100%;min-inline-size:0;display:inline-flex;position:relative}.range-wrapper:after{pointer-events:none;content:"";border:var(--date-range-picker-focus-ring-width) solid transparent;border-radius:var(--date-range-picker-border-radius);transition:border-color var(--date-range-picker-focus-animation) ease-in-out;position:absolute;inset:0}:host([focused]) .range-wrapper:not(.luzmo-DatePicker--quiet):after{border-color:var(--date-range-picker-focus-ring-color)}:host([focused]) .range-wrapper:not(.luzmo-DatePicker--quiet) #text-field:after{display:none}:host([focused]) .range-wrapper .input,:host([focused]) .range-wrapper .input:read-only,:host([focused]) .range-wrapper #text-field .input,:host([focused]) .range-wrapper #text-field:hover .input{border-color:var(--date-range-picker-focus-ring-color);outline:none}:host([focused]) .range-wrapper .luzmo-DatePicker-rangeDash{border-block-color:var(--date-range-picker-focus-ring-color)}:host .input:read-only{border-color:var(--luzmo-date-range-picker-border-color,var(--luzmo-border-color))}:host(:not([quiet],[readonly],[disabled])) .input:read-only{background-color:var(--luzmo-text-field-background-color,var(--luzmo-background-color))}:host([disabled]:not([quiet])) .input:read-only{background-color:var(--luzmo-text-field-background-color-disabled,var(--luzmo-background-color-disabled))}.input.luzmo-DatePicker-startField{border-inline-end:0;border-start-end-radius:0;border-end-end-radius:0}.input.luzmo-DatePicker-endField{border-inline-start:0;border-start-start-radius:0;border-end-start-radius:0}.luzmo-DatePicker-rangeDash{color:var(--date-range-picker-dash-color);font-size:var(--date-range-picker-dash-font-size);flex:initial;z-index:1;background-color:var(--luzmo-text-field-background-color,var(--luzmo-background-color,#fff));border-block:var(--date-range-picker-border-width) solid var(--luzmo-border-color,#ccc);transition:border-block-color var(--luzmo-text-field-animation-duration,var(--luzmo-animation-duration)) ease-in-out;align-items:center;display:flex}.luzmo-DatePicker-rangeDash:before{content:"→";margin-inline:var(--luzmo-spacing-2,4px);text-align:center;display:inline-block}luzmo-picker-button{cursor:pointer;z-index:2;position:absolute;inset-inline-end:0}:host([quiet]) .luzmo-DatePicker-rangeDash{background-color:#0000;border-block-start-width:0;border-inline-width:0;border-radius:0}:host([quiet]) .range-wrapper:after{display:none}:host([quiet][focused]) .range-wrapper:after{border-color:#0000;border-block-end-color:var(--date-range-picker-focus-ring-color);border-radius:0;display:block;inset-block-end:0}:host([quiet]) luzmo-picker-button{inline-size:auto}:host([quiet]) luzmo-picker-button:not(:disabled,.is-open){--luzmo-picker-button-background-color:transparent}@media (hover:hover){:host(:hover:not([focused],[disabled],[invalid],[readonly])){--luzmo-picker-button-border-color:var(--highcontrast-text-field-border-color-hover,var(--luzmo-text-field-border-color-hover,rgba(var(--luzmo-primary-rgb), .3)))}:host(:hover:not([focused],[disabled],[invalid],[readonly])) .range-wrapper #text-field .input{border-color:var(--highcontrast-text-field-border-color-hover,var(--luzmo-text-field-border-color-hover,rgba(var(--luzmo-primary-rgb), .3)))}:host(:hover:not([focused],[disabled],[invalid],[readonly])) .luzmo-DatePicker-rangeDash{border-block-color:var(--highcontrast-text-field-border-color-hover,var(--luzmo-text-field-border-color-hover,rgba(var(--luzmo-primary-rgb), .3)))}:host([focused]:hover:not([disabled],[invalid],[readonly])) .luzmo-DatePicker-rangeDash{border-block-color:var(--highcontrast-text-field-border-color-focus-hover,var(--luzmo-text-field-border-color-focus-hover,var(--luzmo-primary)))}}@media (forced-colors:active){:host{--date-range-picker-dash-color:CanvasText;--date-range-picker-focus-ring-color:Highlight}:host([disabled]){--date-range-picker-dash-color:GrayText}}:host{--date-range-picker-calendar-padding:var(--luzmo-spacing-4);--date-range-picker-icon-size:18px;--date-range-picker-dash-font-size:var(--luzmo-font-size);--date-range-picker-width:auto;--text-field-focus-indicator-color:var(--luzmo-background-color-highlight)}:host([size=s]){--date-range-picker-calendar-padding:var(--luzmo-spacing-3);--date-range-picker-icon-size:16px;--date-range-picker-dash-font-size:var(--luzmo-font-size-s)}:host([size=m]){--date-range-picker-calendar-padding:var(--luzmo-spacing-4);--date-range-picker-icon-size:18px;--date-range-picker-dash-font-size:var(--luzmo-font-size-m)}:host([size=l]){--date-range-picker-calendar-padding:var(--luzmo-spacing-5);--date-range-picker-icon-size:20px;--date-range-picker-dash-font-size:var(--luzmo-font-size-l)}:host([size=xl]){--date-range-picker-calendar-padding:calc(var(--luzmo-spacing-5) + var(--luzmo-spacing-1));--date-range-picker-icon-size:22px;--date-range-picker-dash-font-size:var(--luzmo-font-size-xl)}:host{--picker-button-size:var(--luzmo-text-field-height,var(--text-field-height));--input-spacing:var(--luzmo-text-field-spacing-inline,var(--text-field-spacing-inline));--input-border-width:var(--luzmo-text-field-border-width,var(--luzmo-border-width));--status-icon-size:var(--luzmo-text-field-icon-size-invalid,var(--text-field-icon-size-invalid));flex-wrap:wrap}:host #text-field{flex:auto;inline-size:auto;min-inline-size:0;display:inline-block}:host #text-field .input,:host([quiet]) #text-field .input,:host([invalid]) #text-field .input{inline-size:100%}:host #text-field:last-of-type .input{padding-inline-end:calc(var(--picker-button-size) + var(--input-spacing) - var(--input-border-width))}:host([invalid]) .input.luzmo-DatePicker-startField{padding-inline-end:calc(var(--input-spacing) - var(--input-border-width))}:host([invalid]) #text-field:last-of-type .input{padding-inline-end:calc(var(--picker-button-size) + var(--status-icon-size) + 2 * var(--luzmo-text-field-icon-spacing-inline-end-invalid,var(--text-field-icon-spacing-inline-end-invalid)))}:host([invalid]) .range-wrapper .icon{z-index:3;pointer-events:none;font-size:var(--luzmo-text-field-icon-size-invalid,var(--text-field-icon-size-invalid));color:var(--luzmo-negative-color);justify-content:center;align-items:center;display:flex;position:absolute;inset-block-start:var(--luzmo-text-field-icon-spacing-block-invalid,var(--text-field-icon-spacing-block-invalid));inset-block-end:var(--luzmo-text-field-icon-spacing-block-invalid,var(--text-field-icon-spacing-block-invalid));inset-inline-end:calc(var(--picker-button-size) + var(--luzmo-text-field-icon-spacing-inline-end-invalid,var(--text-field-icon-spacing-inline-end-invalid)))}luzmo-picker-button:focus-visible{outline:none}luzmo-popover{overflow-y:auto}luzmo-popover .popover-content{padding:var(--luzmo-date-range-picker-calendar-padding,var(--date-range-picker-calendar-padding))}.input-content{scrollbar-width:none;align-items:center;height:100%;line-height:normal;display:flex;overflow:auto hidden}.input-content::-webkit-scrollbar{width:0;height:0;display:none}.literal-segment,.editable-segment{color:var(--luzmo-date-range-picker-font-color-default,var(--luzmo-font-color));display:inline-block}.editable-segment{font-variant-numeric:tabular-nums;text-align:end;white-space:nowrap;caret-color:#0000;outline:none;padding:0 .15em}[dir=ltr] .editable-segment{text-align:start}.literal-segment{white-space:pre;-webkit-user-select:none;user-select:none}.is-placeholder,.is-placeholder+.literal-segment{color:var(--luzmo-font-color-disabled)}.editable-segment:focus-visible{color:var(--luzmo-date-range-picker-segment-text-color-focus,var(--luzmo-font-color));background-color:var(--highcontrast-text-field-focus-indicator-color,var(--luzmo-text-field-focus-indicator-color,var(--text-field-focus-indicator-color)))}.editable-segment::selection{background-color:#0000}.calendar-layout,.calendar-layout--dual .calendars-row{gap:var(--luzmo-spacing-4,16px);flex-direction:row;display:flex}.calendar-container{flex-shrink:0}.defined-ranges{gap:var(--luzmo-spacing-1,2px);border-inline-start:var(--luzmo-border-width,1px) solid var(--luzmo-border-color,#e0e0e0);flex-direction:column;min-inline-size:120px;padding-inline-start:var(--luzmo-spacing-4,16px);display:flex}.defined-range-item{inline-size:100%;padding:var(--luzmo-spacing-2,4px) var(--luzmo-spacing-3,8px);border-radius:var(--luzmo-border-radius,4px);color:var(--luzmo-font-color,inherit);font-family:var(--luzmo-font-family,inherit);font-size:var(--luzmo-font-size,inherit);text-align:start;cursor:pointer;transition:background-color var(--luzmo-animation-duration,.13s) ease;white-space:nowrap;background:0 0;border:none;display:block}.defined-range-item:hover{background-color:var(--luzmo-background-color-hover,#0000000d)}.defined-range-item:focus-visible{outline:var(--luzmo-indicator-width,2px) solid var(--luzmo-indicator-color,var(--luzmo-primary));outline-offset:var(--luzmo-indicator-gap,2px)}.defined-range-item[aria-selected=true]{background-color:var(--luzmo-background-color-highlight,#00000014);font-weight:var(--bold-font-weight,bold)}`;function h(){let e=new Date;e.setHours(0,0,0,0);let t=new Date(e);t.setDate(t.getDate()-1);let n=new Date(e),r=n.getDay();n.setDate(n.getDate()-r);let i=new Date(n);i.setDate(i.getDate()+6);let a=new Date(n);a.setDate(a.getDate()-7);let o=new Date(n);o.setDate(o.getDate()-1);let s=new Date(e.getFullYear(),e.getMonth(),1),c=new Date(e.getFullYear(),e.getMonth()+1,0),l=new Date(e.getFullYear(),e.getMonth()-1,1),u=new Date(e.getFullYear(),e.getMonth(),0);return[{label:`Today`,startDate:e,endDate:e},{label:`Yesterday`,startDate:t,endDate:t},{label:`This Week`,startDate:n,endDate:i},{label:`Last Week`,startDate:a,endDate:o},{label:`This Month`,startDate:s,endDate:c},{label:`Last Month`,startDate:l,endDate:u}]}function g(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}var _=class extends r.t(t.n(n.t,{validSizes:Object.values(t.t)})){static get styles(){return[(0,o.unsafeCSS)(m),(0,o.unsafeCSS)(i.t)]}get _language(){try{return this.language?new Intl.Locale(this.language).language:`en`}catch{return`en`}}get focusElement(){return this.firstEditableSegment}clear(){this._startDate=void 0,this._endDate=void 0,this.startDate=void 0,this.endDate=void 0,this.setStartSegments(),this.setEndSegments()}constructor(){super(),this.precision=a.f.Day,this.calendars=1,this.showDefinedRanges=!1,this.definedRanges=h(),this.invalid=!1,this.readonly=!1,this.quiet=!1,this.placement=`bottom`,this.language=`en`,this.labels={previous:`Previous`,next:`Next`,today:`Today`,selected:`Selected`,empty:`Empty`,calendar:`Calendar`,startDate:`Start date`,endDate:`End date`},this.focused=!1,this.startSegments=new a.o([]),this.endSegments=new a.o([]),this.isCalendarOpen=!1,this._timeZone=this.timeZone??(0,f.getLocalTimeZone)(),this._skipMonthSync=!1,this.handleFocusIn=()=>{this.focused=!this.readonly},this.handleFocusOut=()=>{this.focused=!1},this.setNumberParser(),this.setDateFormatter(),this.setAriaDateFormatter(),this.addEventListener(`focusin`,this.handleFocusIn),this.addEventListener(`focusout`,this.handleFocusOut)}willUpdate(e){let t=e.has(`startDate`),n=e.has(`endDate`),r=e.has(`min`),i=e.has(`max`),a=e.has(`language`),o=e.has(`dateFormat`),s=e.has(`dateSeparator`),c=e.has(`precision`),l=e.has(`disabled`);e.has(`timeZone`)&&(this._timeZone=this.timeZone??(0,f.getLocalTimeZone)()),a&&this.setNumberParser(),(a||c)&&(this.setDateFormatter(),this.setAriaDateFormatter()),(t||n||r||i)&&this.parseAllDates(),(t||a||c||o||s)&&this.setStartSegments(),(n||a||c||o||s)&&this.setEndSegments(),l&&this.isCalendarOpen&&(this.isCalendarOpen=!1);let u=e.has(`isCalendarOpen`)&&this.isCalendarOpen;(t||n)&&(this._skipMonthSync||this.syncCalendarMonths(),this._skipMonthSync=!1),u&&this.calendars===2&&this.syncCalendarMonths(),this.updateAriaLabel()}initCalendarMonths(){let e=this._startDate??(0,f.toCalendarDate)((0,f.today)(this._timeZone)),t=(0,f.startOfMonth)(e);this._leftMonth=t.toString(),this._rightMonth=this._endDate&&!(0,f.isSameMonth)(e,this._endDate)?(0,f.startOfMonth)(this._endDate).toString():t.add({months:1}).toString()}syncCalendarMonths(){if(this.calendars!==2)return;let e=this._startDate??(0,f.toCalendarDate)((0,f.today)(this._timeZone)),t=(0,f.startOfMonth)(e);this._endDate&&!(0,f.isSameMonth)(e,this._endDate)?(this._leftMonth=t.toString(),this._rightMonth=(0,f.startOfMonth)(this._endDate).toString()):(this._leftMonth=t.toString(),this._rightMonth=t.add({months:1}).toString())}parseDateValue(e){return e?e.includes(`T`)?(0,f.parseDateTime)(e).set({era:`AD`}):(0,f.toCalendarDate)((0,f.parseDate)(e)).set({era:`AD`}):void 0}parseAllDates(){this._startDate=this.parseDateValue(this.startDate),this._endDate=this.parseDateValue(this.endDate)}updateAriaLabel(){if(this._startDate&&this._endDate){let e=this.ariaDateFormatter.format(a.s(this._startDate)),t=this.ariaDateFormatter.format(a.s(this._endDate));this.setAttribute(`aria-label`,`${this.labels.selected}: ${e} – ${t}`)}else this.setAttribute(`aria-label`,this.labels.empty)}render(){return o.html`
19
- <div class="luzmo-DatePicker--range range-wrapper">
20
- <div id="text-field">${this.renderStartInput()}</div>
21
- <div class="luzmo-DatePicker-rangeDash"></div>
22
- <div id="text-field">${this.renderEndInput()}</div>
23
- ${this.renderStateIcons()} ${this.renderPicker()}
24
- </div>
25
- ${this.renderHelpText(this.invalid)}
26
- `}renderStateIcons(){return this.invalid?o.html`
27
- <luzmo-icon
28
- .icon=${c.luzmoAlert}
29
- .size=${this.size}
30
- id="invalid"
31
- class="icon"
32
- ></luzmo-icon>
33
- `:o.nothing}renderPicker(){return this.readonly?o.nothing:o.html`
34
- <luzmo-picker-button
35
- ?open=${this.isCalendarOpen}
36
- ?quiet=${this.quiet}
37
- ?invalid=${this.invalid}
38
- ?disabled=${this.disabled}
39
- .size=${this.size}
40
- @click=${()=>this.isCalendarOpen=!0}
41
- label=${this.labels.calendar}
42
- >
43
- <slot name="calendar-icon" slot="icon">
44
- <luzmo-icon
45
- .icon=${c.luzmoCalendar}
46
- .size=${this.size}
47
- block
48
- ></luzmo-icon>
49
- </slot>
50
- </luzmo-picker-button>
51
-
52
- <luzmo-overlay
53
- .triggerElement=${this.rangeWrapper}
54
- type="modal"
55
- placement=${this.placement??`bottom`}
56
- offset="0"
57
- ?open=${this.isCalendarOpen}
58
- @luzmo-closed=${()=>this.isCalendarOpen=!1}
59
- >
60
- <luzmo-popover>
61
- <div class="popover-content">${this.renderPopoverContent()}</div>
62
- </luzmo-popover>
63
- </luzmo-overlay>
64
- `}renderPopoverContent(){return this.calendars===2?this.renderDualCalendar():this.renderSingleCalendar()}renderSingleCalendar(){return o.html`
65
- <div class="calendar-layout">
66
- <div class="calendar-container">
67
- <luzmo-calendar
68
- selection-mode="range"
69
- .startDate=${this.startDate}
70
- .endDate=${this.endDate}
71
- .min=${this.min}
72
- .max=${this.max}
73
- .labels=${this.labels}
74
- .size=${this.size}
75
- .language=${this.language}
76
- @range-select=${this.handleRangeSelect}
77
- ></luzmo-calendar>
78
- </div>
79
- ${this.renderDefinedRanges()}
80
- </div>
81
- `}renderDualCalendar(){return(!this._leftMonth||!this._rightMonth)&&this.initCalendarMonths(),o.html`
82
- <div class="calendar-layout calendar-layout--dual">
83
- <div class="calendars-row">
84
- <div class="calendar-container">
85
- <luzmo-calendar
86
- selection-mode="range"
87
- .startDate=${this.startDate}
88
- .endDate=${this.endDate}
89
- .value=${this._leftMonth}
90
- .min=${this.min}
91
- .max=${this.max}
92
- .labels=${this.labels}
93
- .size=${this.size}
94
- .language=${this.language}
95
- @range-select=${this.handleRangeSelect}
96
- @hover-date=${this.handleHoverDateLeft}
97
- @month-change=${this.handleLeftMonthChange}
98
- ></luzmo-calendar>
99
- </div>
100
- <div class="calendar-container">
101
- <luzmo-calendar
102
- selection-mode="range"
103
- .startDate=${this.startDate}
104
- .endDate=${this.endDate}
105
- .value=${this._rightMonth}
106
- .min=${this.min}
107
- .max=${this.max}
108
- .labels=${this.labels}
109
- .size=${this.size}
110
- .language=${this.language}
111
- @range-select=${this.handleRangeSelect}
112
- @hover-date=${this.handleHoverDateRight}
113
- @month-change=${this.handleRightMonthChange}
114
- ></luzmo-calendar>
115
- </div>
116
- </div>
117
- ${this.renderDefinedRanges()}
118
- </div>
119
- `}renderDefinedRanges(){return!this.showDefinedRanges||!this.definedRanges||this.definedRanges.length===0?o.nothing:o.html`
120
- <div
121
- class="defined-ranges"
122
- role="listbox"
123
- aria-label="Predefined date ranges"
124
- >
125
- ${this.definedRanges.map(e=>o.html`
126
- <button
127
- class="defined-range-item"
128
- role="option"
129
- aria-selected=${this.isDefinedRangeSelected(e)}
130
- @click=${()=>this.selectDefinedRange(e)}
131
- >
132
- ${e.label}
133
- </button>
134
- `)}
135
- </div>
136
- `}isDefinedRangeSelected(e){return!this.startDate||!this.endDate?!1:this.startDate===g(e.startDate)&&this.endDate===g(e.endDate)}selectDefinedRange(e){this.startDate=g(e.startDate),this.endDate=g(e.endDate),this.isCalendarOpen=!1,this.dispatchChange()}handleRangeSelect(e){e.stopPropagation();let{startDate:t,endDate:n}=e.detail;this._skipMonthSync=!0,this.startDate=t,this.endDate=n??void 0,t&&n&&(this.isCalendarOpen=!1,this.dispatchChange())}handleHoverDateLeft(e){let t=this.shadowRoot?.querySelectorAll(`luzmo-calendar`)[1];t&&(t.hoveredDate=(0,f.parseDate)(e.detail.date))}handleHoverDateRight(e){let t=this.shadowRoot?.querySelectorAll(`luzmo-calendar`)[0];t&&(t.hoveredDate=(0,f.parseDate)(e.detail.date))}renderStartInput(){return o.html`
137
- <div class="input luzmo-DatePicker-startField">
138
- <span
139
- class="input-content"
140
- aria-label=${this.labels.startDate}
141
- @keydown=${e=>this.handleKeydown(e,`start`)}
142
- @input=${e=>this.handleInput(e,`start`)}
143
- >
144
- ${this.renderSegmentsFor(this.startSegments)}
145
- </span>
146
- </div>
147
- `}renderEndInput(){return o.html`
148
- <div class="input luzmo-DatePicker-endField">
149
- <span
150
- class="input-content"
151
- aria-label=${this.labels.endDate}
152
- @keydown=${e=>this.handleKeydown(e,`end`)}
153
- @input=${e=>this.handleInput(e,`end`)}
154
- >
155
- ${this.renderSegmentsFor(this.endSegments)}
156
- </span>
157
- </div>
158
- `}renderSegmentsFor(e){return e.all.map(e=>(0,l.when)(e.type===a.p.Literal,()=>this.renderLiteralSegment(e),()=>this.renderEditableSegment(e)))}renderLiteralSegment(e){return o.html`
159
- <span
160
- class="literal-segment"
161
- data-test-id=${e.type}
162
- aria-hidden="true"
163
- >${e.formatted}</span>
164
- `}renderEditableSegment(e){let t=!this.disabled&&!this.readonly,n={"editable-segment":!0,"is-placeholder":e.value===void 0},r=e.type===a.p.Year?void 0:String(e.maxValue).length;return o.html`
165
- <div
166
- role="spinbutton"
167
- aria-valuenow=${(0,u.ifDefined)(e.value)}
168
- aria-valuemin=${e.minValue}
169
- aria-valuemax=${e.maxValue}
170
- aria-label=${e.label}
171
- aria-valuetext=${(0,u.ifDefined)(e.value===void 0?this.labels.empty:e.formatted)}
172
- contenteditable=${(0,u.ifDefined)(t?!0:void 0)}
173
- inputmode=${(0,u.ifDefined)(t?`numeric`:void 0)}
174
- tabindex=${(0,u.ifDefined)(t?`0`:void 0)}
175
- class=${(0,d.classMap)(n)}
176
- style=${r?`min-inline-size: ${r}ch`:``}
177
- data-type=${e.type}
178
- .innerText=${e.value===void 0?e.placeholder??``:e.formatted??``}
179
- ></div>
180
- `}getSegments(e){return e===`start`?this.startSegments:this.endSegments}setSegmentsForField(e,t){e===`start`?this.startSegments=t:this.endSegments=t}getModifierParams(e){return{dateFormatter:this.dateFormatter,segments:this.getSegments(e),currentDate:(0,f.now)(this._timeZone)}}handleKeydown(e,t){let n=e.target,r=n.dataset.type;if(r)switch(e.code){case`ArrowUp`:{let e=new a.r(this.getModifierParams(t));this.setSegmentsForField(t,e.modify(r)),this.updateValueFromSegments(t),this.dispatchInputEvent();break}case`ArrowDown`:{let e=new a.i(this.getModifierParams(t));this.setSegmentsForField(t,e.modify(r)),this.updateValueFromSegments(t),this.dispatchInputEvent();break}case`ArrowRight`:this.focusSegment(n,`next`);break;case`ArrowLeft`:this.focusSegment(n,`previous`);break;case`Enter`:case`Space`:this.commitValue();break;case`Backspace`:case`Delete`:if(e.preventDefault(),this.getSegments(t).getByType(r)?.value===void 0)this.focusSegment(n,`previous`);else{let e=new a.a(this.getModifierParams(t));this.setSegmentsForField(t,e.modify(r)),this.updateValueFromSegments(t),this.dispatchInputEvent()}break}}handleInput(e,t){e.stopPropagation();let n=e.target.dataset.type,r=this.getSegments(t).editableValues,i=new a.n({...this.getModifierParams(t),eventData:e.data,numberParser:this.numberParser}).modify(n);this.setSegmentsForField(t,i);let o=i.getByType(n),s=e.target;s.textContent=o.value===void 0?o.placeholder:o.formatted,this.updateValueFromSegments(t);let c=i.editableValues;a.c(r,c)||this.dispatchInputEvent()}focusSegment(e,t){let n=e;for(;;){let e=t===`previous`?n.previousElementSibling:n.nextElementSibling;if(!e)break;if(e.getAttribute(`contenteditable`)){e.focus();return}n=e}}updateValueFromSegments(e){let t=this.getSegments(e).getFormattedDate(this.precision);if(t&&(a.l(t)||a.u(t))){let n=t.toString();e===`start`?(this._startDate=t,this.startDate=n):(this._endDate=t,this.endDate=n)}else e===`start`?(this._startDate=void 0,this.startDate=void 0):(this._endDate=void 0,this.endDate=void 0)}commitValue(){if(this._startDate&&this._endDate){if(this._startDate.compare(this._endDate)>0){let e=this._startDate;this._startDate=this._endDate,this._endDate=e,this.startDate=this._startDate.toString(),this.endDate=this._endDate.toString(),this.setStartSegments(),this.setEndSegments()}this.dispatchChange()}}handleLeftMonthChange(e){let t=e.detail,n=(0,f.parseDate)(t.date);this._leftMonth=t.date,this._rightMonth&&(0,f.isSameMonth)(n,(0,f.parseDate)(this._rightMonth))&&(this._rightMonth=(0,f.startOfMonth)(n).add({months:1}).toString())}handleRightMonthChange(e){let t=e.detail,n=(0,f.parseDate)(t.date);this._rightMonth=t.date,this._leftMonth&&(0,f.isSameMonth)(n,(0,f.parseDate)(this._leftMonth))&&(this._leftMonth=(0,f.startOfMonth)(n).subtract({months:1}).toString())}dispatchChange(){this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,composed:!0,cancelable:!0,detail:{startDate:this.startDate??``,endDate:this.endDate??``}}))}dispatchInputEvent(){this.dispatchEvent(new CustomEvent(`input`,{bubbles:!0,composed:!0,cancelable:!0,detail:{startDate:this.startDate??``,endDate:this.endDate??``}}))}setStartSegments(){this.startSegments=this.createSegmentsFromDate(this._startDate)}setEndSegments(){this.endSegments=this.createSegmentsFromDate(this._endDate)}createSegmentsFromDate(e){let t=(0,f.now)(this._timeZone),n=e?{year:e.year,month:e.month,day:e.day}:{};e&&a.u(e)&&(n.hour=e.hour,n.minute=e.minute,n.second=e.second,n.millisecond=e.millisecond);let r=e?t.set(n):t,i=new a.t(this.dateFormatter).createSegments(r,e!==void 0);if(this.dateFormat){let e=i.all.findIndex(e=>e.type===a.p.Month),t=i.all.findIndex(e=>e.type===a.p.Day);if(e!==-1&&t!==-1){if(this.dateFormat===`mmdd`&&e>t){let n=i.all[e];i.all[e]=i.all[t],i.all[t]=n}else if(this.dateFormat===`ddmm`&&t>e){let n=i.all[t];i.all[t]=i.all[e],i.all[e]=n}}}return typeof this.dateSeparator==`string`&&this.dateSeparator&&(i.all?.[1]?.type===a.p.Literal&&(i.all[1].formatted=this.dateSeparator),i.all?.[3]?.type===a.p.Literal&&(i.all[3].formatted=this.dateSeparator)),this.precision===a.f.Day?new a.o(i.all.filter(e=>{let t=e.type;return t===a.p.Year||t===a.p.Month||t===a.p.Day||t===a.p.Literal})):i}setNumberParser(){this.numberParser=new p.NumberParser(this._language,{maximumFractionDigits:0})}setDateFormatter(){this.dateFormatter=new f.DateFormatter(this._language,{day:`2-digit`,month:`2-digit`,year:`numeric`,...this.getTimeOptions(`2-digit`)})}setAriaDateFormatter(){this.ariaDateFormatter=new f.DateFormatter(this._language,{day:`numeric`,month:`long`,year:`numeric`,...this.getTimeOptions(`numeric`)})}getTimeOptions(e){switch(this.precision){case a.f.Millisecond:return{hour:e,minute:e,second:e,fractionalSecondDigits:3};case a.f.Second:return{hour:e,minute:e,second:e};case a.f.Minute:return{hour:e,minute:e};case a.f.Hour:return{hour:e};default:return{}}}};e.t([(0,s.property)({type:String,attribute:`start-date`,reflect:!0})],_.prototype,`startDate`,void 0),e.t([(0,s.property)({type:String,attribute:`end-date`,reflect:!0})],_.prototype,`endDate`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],_.prototype,`min`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],_.prototype,`max`,void 0),e.t([(0,s.property)({type:String,attribute:`date-format`,reflect:!0})],_.prototype,`dateFormat`,void 0),e.t([(0,s.property)({type:String,attribute:`date-separator`,reflect:!0})],_.prototype,`dateSeparator`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],_.prototype,`precision`,void 0),e.t([(0,s.property)({type:Number,reflect:!0})],_.prototype,`calendars`,void 0),e.t([(0,s.property)({type:Boolean,attribute:`show-defined-ranges`,reflect:!0})],_.prototype,`showDefinedRanges`,void 0),e.t([(0,s.property)({attribute:!1})],_.prototype,`definedRanges`,void 0),e.t([(0,s.property)({type:Boolean,reflect:!0})],_.prototype,`invalid`,void 0),e.t([(0,s.property)({type:Boolean,reflect:!0})],_.prototype,`readonly`,void 0),e.t([(0,s.property)({type:Boolean,reflect:!0})],_.prototype,`quiet`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],_.prototype,`placement`,void 0),e.t([(0,s.property)({type:String,attribute:`time-zone`,reflect:!0})],_.prototype,`timeZone`,void 0),e.t([(0,s.property)({type:String,reflect:!0})],_.prototype,`language`,void 0),e.t([(0,s.property)({attribute:!1})],_.prototype,`labels`,void 0),e.t([(0,s.property)({type:Boolean,reflect:!0})],_.prototype,`focused`,void 0),e.t([(0,s.state)()],_.prototype,`_startDate`,void 0),e.t([(0,s.state)()],_.prototype,`_endDate`,void 0),e.t([(0,s.state)()],_.prototype,`startSegments`,void 0),e.t([(0,s.state)()],_.prototype,`endSegments`,void 0),e.t([(0,s.state)()],_.prototype,`isCalendarOpen`,void 0),e.t([(0,s.state)()],_.prototype,`_leftMonth`,void 0),e.t([(0,s.state)()],_.prototype,`_rightMonth`,void 0),e.t([(0,s.query)(`.editable-segment`)],_.prototype,`firstEditableSegment`,void 0),e.t([(0,s.query)(`.range-wrapper`)],_.prototype,`rangeWrapper`,void 0),customElements.get(`luzmo-date-range-picker`)||customElements.define(`luzmo-date-range-picker`,_),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _}});