@luzmo/lucero 1.0.1-alpha.9 → 1.0.2

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 (487) hide show
  1. package/README.md +74 -9
  2. package/components/accordion/index.cjs +1 -26
  3. package/components/accordion/index.js +8 -164
  4. package/components/accordion-BHBIfsLU.cjs +43 -0
  5. package/components/accordion-DC7cjb1c.js +152 -0
  6. package/components/action-bar/index.cjs +1 -22
  7. package/components/action-bar/index.js +8 -90
  8. package/components/action-bar-BMHZ4e_p.cjs +39 -0
  9. package/components/action-bar-CmLjsljR.js +92 -0
  10. package/components/action-button/index.cjs +1 -7
  11. package/components/action-button/index.js +8 -144
  12. package/components/action-button-B4_UEJle.js +121 -0
  13. package/components/action-button-G0PWSrZo.cjs +24 -0
  14. package/components/action-group/index.cjs +1 -1
  15. package/components/action-group/index.js +11 -12
  16. package/components/action-group-CH8FTW0i.cjs +20 -0
  17. package/components/action-group-DYKpp-mz.js +211 -0
  18. package/components/action-menu/index.cjs +1 -39
  19. package/components/action-menu/index.js +8 -109
  20. package/components/action-menu-CJyB0mmO.cjs +56 -0
  21. package/components/action-menu-FiS1vhW7.js +105 -0
  22. package/components/avatar/avatar.d.ts +5 -0
  23. package/components/avatar/index.cjs +1 -7
  24. package/components/avatar/index.js +8 -64
  25. package/components/avatar-CyY_ZSD0.js +65 -0
  26. package/components/avatar-PulwjkMI.cjs +24 -0
  27. package/components/badge/badge.d.ts +35 -0
  28. package/components/{random-id-CqvckpWe.cjs → badge/index.cjs} +1 -1
  29. package/components/badge/index.d.ts +8 -0
  30. package/components/badge/index.js +25 -0
  31. package/components/badge-D1Ry32wi.cjs +23 -0
  32. package/components/badge-D6p2hPj8.js +94 -0
  33. package/components/button/button-base.d.ts +16 -0
  34. package/components/button/button.d.ts +38 -2
  35. package/components/button/index.cjs +1 -3
  36. package/components/button/index.js +9 -110
  37. package/components/button-CRNRP8P0.js +115 -0
  38. package/components/button-D3ZTogni.cjs +20 -0
  39. package/components/button-base-BYV3Lp3P.cjs +25 -0
  40. package/components/button-base-SHgEJgk2.js +123 -0
  41. package/components/button-group/index.cjs +1 -1
  42. package/components/button-group/index.js +8 -42
  43. package/components/button-group-CJVpgiLq.js +46 -0
  44. package/components/button-group-rEK_YaF3.cjs +18 -0
  45. package/components/calendar/calendar.d.ts +67 -0
  46. package/components/calendar/index.cjs +1 -1
  47. package/components/calendar/index.d.ts +1 -0
  48. package/components/calendar/index.js +8 -11
  49. package/components/calendar-CKr5T_zV.js +619 -0
  50. package/components/calendar-WRhzTEyZ.cjs +142 -0
  51. package/components/chat-message/chat-message.d.ts +139 -0
  52. package/components/{random-id-ByCz1xaq.js → chat-message/index.cjs} +1 -9
  53. package/components/chat-message/index.d.ts +8 -0
  54. package/components/chat-message/index.js +25 -0
  55. package/components/chat-message-CNE-mGuP.cjs +149 -0
  56. package/components/chat-message-DJgocVNj.js +2295 -0
  57. package/components/chat-message-group/chat-message-group.d.ts +50 -0
  58. package/components/{when-CDZyJPvd.cjs → chat-message-group/index.cjs} +1 -5
  59. package/components/chat-message-group/index.d.ts +7 -0
  60. package/components/chat-message-group/index.js +25 -0
  61. package/components/chat-message-group-B4U2MzHx.js +100 -0
  62. package/components/chat-message-group-COmhCN-R.cjs +24 -0
  63. package/components/checkbox/checkbox.d.ts +7 -0
  64. package/components/checkbox/index.cjs +1 -8
  65. package/components/checkbox/index.js +8 -79
  66. package/components/checkbox-CPS-tR_i.js +89 -0
  67. package/components/checkbox-DFwDrIdY.cjs +25 -0
  68. package/components/checkbox-mixin-C5sLMo5L.js +67 -0
  69. package/components/{checkbox-mixin-BDN0dBtS.cjs → checkbox-mixin-D4HeLrMj.cjs} +3 -3
  70. package/components/chunk-D-qHiVGv.cjs +18 -0
  71. package/components/close-button-BeXYep8K.js +42 -0
  72. package/components/close-button-BzapEpcF.cjs +18 -0
  73. package/components/color-area/index.cjs +1 -63
  74. package/components/color-area/index.js +8 -364
  75. package/components/color-area-DA3ps2-c.cjs +80 -0
  76. package/components/color-area-DViRjuKo.js +300 -0
  77. package/components/color-controller-DueaXfnX.cjs +18 -0
  78. package/components/color-controller-G2_v2xSl.js +247 -0
  79. package/components/color-field/color-field.d.ts +1 -0
  80. package/components/color-field/index.cjs +1 -6
  81. package/components/color-field/index.js +8 -68
  82. package/components/color-field-CxdIoSq6.js +75 -0
  83. package/components/color-field-D7_7z2A2.cjs +23 -0
  84. package/components/color-handle/index.cjs +1 -7
  85. package/components/color-handle/index.js +8 -56
  86. package/components/color-handle-BOusOFFx.js +62 -0
  87. package/components/color-handle-Cka48yPY.cjs +24 -0
  88. package/components/color-loupe/index.cjs +1 -1
  89. package/components/color-loupe/index.js +11 -12
  90. package/components/color-loupe-DMk8uWZW.cjs +56 -0
  91. package/components/color-loupe-bEzi2P0y.js +76 -0
  92. package/components/color-menu/index.cjs +1 -69
  93. package/components/color-menu/index.js +8 -189
  94. package/components/color-menu-DwbTxeqv.cjs +89 -0
  95. package/components/color-menu-Lxc9PTzl.js +183 -0
  96. package/components/color-palette/index.cjs +1 -1
  97. package/components/color-palette/index.js +8 -71
  98. package/components/color-palette-349EkPMg.cjs +18 -0
  99. package/components/color-palette-BAdaNySC.js +80 -0
  100. package/components/color-palette-group/index.cjs +1 -11
  101. package/components/color-palette-group/index.js +8 -188
  102. package/components/color-palette-group-BvP09zmT.cjs +28 -0
  103. package/components/color-palette-group-D8Mavsd2.js +163 -0
  104. package/components/color-picker/color-picker.d.ts +3 -3
  105. package/components/color-picker/index.cjs +1 -31
  106. package/components/color-picker/index.js +8 -128
  107. package/components/color-picker-CSWiU-X5.cjs +48 -0
  108. package/components/color-picker-DqjfTvYf.js +126 -0
  109. package/components/color-slider/index.cjs +1 -1
  110. package/components/color-slider/index.js +8 -11
  111. package/components/color-slider-DxjJ72ue.cjs +57 -0
  112. package/components/color-slider-ihAIFt5p.js +421 -0
  113. package/components/{condition-attribute-with-id-Dv4lSRbe.js → condition-attribute-with-id-DauPaLSS.cjs} +1 -14
  114. package/components/{query-assigned-nodes-C76XVPWY.js → condition-attribute-with-id-Duo51HZ7.js} +10 -18
  115. package/components/date-range-picker/date-range-picker.d.ts +184 -0
  116. package/components/{if-defined-C9YGdo33.cjs → date-range-picker/index.cjs} +1 -5
  117. package/components/date-range-picker/index.d.ts +8 -0
  118. package/components/date-range-picker/index.js +25 -0
  119. package/components/date-range-picker/types.d.ts +16 -0
  120. package/components/date-range-picker-BdRQep--.js +626 -0
  121. package/components/date-range-picker-CgitOe0i.cjs +187 -0
  122. package/components/date-time-picker/date-time-picker.d.ts +3 -3
  123. package/components/date-time-picker/index.cjs +1 -88
  124. package/components/date-time-picker/index.d.ts +1 -0
  125. package/components/date-time-picker/index.js +8 -1109
  126. package/components/date-time-picker/{types.d.ts → shared/types.d.ts} +1 -1
  127. package/components/date-time-picker-Bz8XwSOR.cjs +105 -0
  128. package/components/date-time-picker-Ct_ln8Ot.js +470 -0
  129. package/components/decorate-B2wePfNm.cjs +18 -0
  130. package/components/decorate-aGxJUVxg.js +91 -0
  131. package/components/{condition-attribute-with-id-DrQYZzFS.cjs → dependency-manger-CHy9t__e.cjs} +1 -1
  132. package/components/dependency-manger-DMrulWcJ.js +40 -0
  133. package/components/divider/index.cjs +1 -1
  134. package/components/divider/index.js +8 -44
  135. package/components/divider-Dn8XqbB6.cjs +18 -0
  136. package/components/divider-cU0lVwOp.js +59 -0
  137. package/components/divider.module-C65RfSUa.js +21 -0
  138. package/components/divider.module-CL60P_z8.cjs +18 -0
  139. package/components/element-resolution-Bs1x89vU.js +80 -0
  140. package/components/element-resolution-C0aiOB0Y.cjs +18 -0
  141. package/components/field-group/index.cjs +1 -1
  142. package/components/field-group/index.js +11 -12
  143. package/components/field-group-C7ROsWq3.js +57 -0
  144. package/components/field-group-OcI5Lgu7.cjs +23 -0
  145. package/components/field-label/index.cjs +1 -1
  146. package/components/field-label/index.js +11 -12
  147. package/components/field-label-BCl6R1uO.cjs +25 -0
  148. package/components/field-label-CtGCEmdp.js +87 -0
  149. package/components/focus-group-BshI1RpM.js +164 -0
  150. package/components/focus-group-SF8Kj7iB.cjs +18 -0
  151. package/components/focus-visible-B0NNezGc.cjs +18 -0
  152. package/components/focus-visible-CrooVCUu.js +58 -0
  153. package/components/focusable-BmS8IzhH.js +117 -0
  154. package/components/focusable-CupEoHmn.cjs +18 -0
  155. package/components/{base-BjTwmyRF.cjs → focusable-selectors-5n5liBn0.cjs} +1 -5
  156. package/components/{focusable-selectors-BgFlyFcY.cjs → focusable-selectors-Bg60_Kra.js} +13 -1
  157. package/components/{state-Deh-vKYE.js → get-label-from-slot-5vVnfSgN.js} +7 -11
  158. package/components/get-label-from-slot-LO_DZP60.cjs +18 -0
  159. package/components/icon/index.cjs +1 -1
  160. package/components/icon/index.js +8 -71
  161. package/components/icon-B7hKwn_q.cjs +18 -0
  162. package/components/icon-CwBAE1eU.js +59 -0
  163. package/components/index.cjs +1 -1
  164. package/components/index.js +78 -176
  165. package/components/infield-button/index.cjs +1 -5
  166. package/components/infield-button/index.js +8 -47
  167. package/components/infield-button-B2z0dLzq.js +54 -0
  168. package/components/infield-button-BVKotWqr.cjs +22 -0
  169. package/components/label/index.cjs +1 -1
  170. package/components/label/index.js +8 -34
  171. package/components/label-ClJE2esm.js +41 -0
  172. package/components/label-CqolZbJo.cjs +18 -0
  173. package/components/language-resolution-BYemISJC.cjs +18 -0
  174. package/components/language-resolution-BpfGTC29.js +43 -0
  175. package/components/like-anchor-BZJXts_H.cjs +32 -0
  176. package/components/like-anchor-DeOXX-MX.js +46 -0
  177. package/components/manage-help-text-CF0xBh0F.js +81 -0
  178. package/components/manage-help-text-D9VbYRf_.cjs +30 -0
  179. package/components/menu/index.cjs +1 -66
  180. package/components/menu/index.js +8 -879
  181. package/components/menu/menu-item.d.ts +8 -1
  182. package/components/menu/menu.d.ts +1 -0
  183. package/components/menu--ukVtSq7.js +749 -0
  184. package/components/menu-DAA51y45.cjs +108 -0
  185. package/components/multi-language-field/index.cjs +1 -22
  186. package/components/multi-language-field/index.js +8 -131
  187. package/components/multi-language-field/multi-language-field.d.ts +1 -0
  188. package/components/multi-language-field-BzY75rOY.js +122 -0
  189. package/components/multi-language-field-DmoMyCBH.cjs +40 -0
  190. package/components/number-field/index.cjs +1 -40
  191. package/components/number-field/index.js +8 -453
  192. package/components/number-field/number-field.d.ts +145 -0
  193. package/components/number-field-B4RSFeTR.cjs +57 -0
  194. package/components/number-field-C66dTUMM.js +402 -0
  195. package/components/observe-slot-presence-BCqd3VSd.js +55 -0
  196. package/components/observe-slot-presence-Dx8hzNzK.cjs +18 -0
  197. package/components/observe-slot-text-BhTcGuHY.cjs +18 -0
  198. package/components/observe-slot-text-Ddf1OC6F.js +71 -0
  199. package/components/options/index.cjs +1 -84
  200. package/components/options/index.js +8 -1160
  201. package/components/options/option.d.ts +16 -0
  202. package/components/options/options.d.ts +44 -4
  203. package/components/options-BPNAm4MW.cjs +101 -0
  204. package/components/options-Dz-ejkxF.js +484 -0
  205. package/components/overlay/index.cjs +1 -56
  206. package/components/overlay/index.js +10 -329
  207. package/components/overlay/overlay.d.ts +12 -1
  208. package/components/overlay/virtual-trigger.d.ts +3 -2
  209. package/components/overlay-8tN0KPbR.js +1115 -0
  210. package/components/overlay-CMd2Dnpv.cjs +73 -0
  211. package/components/overlay-CwR_36OV.js +227 -0
  212. package/components/overlay-DdrfkOry.cjs +47 -0
  213. package/components/pending-state-DFcNf5rd.js +50 -0
  214. package/components/{pending-state-CaH1si5b.cjs → pending-state-DIeF18qg.cjs} +4 -3
  215. package/components/picker/index.cjs +1 -1
  216. package/components/picker/index.js +11 -15
  217. package/components/picker/picker.d.ts +1 -0
  218. package/components/picker-C4RVOxLq.cjs +123 -0
  219. package/components/picker-agQW7YNo.js +394 -0
  220. package/components/picker-button/index.cjs +1 -20
  221. package/components/picker-button/index.js +8 -70
  222. package/components/picker-button-BLbeT3Yu.js +72 -0
  223. package/components/picker-button-D34YXyXp.cjs +37 -0
  224. package/components/platform-B7Sk7Qon.cjs +18 -0
  225. package/components/{platform-BM-uMWpX.js → platform-D4V_cOJF.js} +29 -38
  226. package/components/popover/index.cjs +1 -1
  227. package/components/popover/index.js +11 -12
  228. package/components/popover-DyC9xGhX.js +58 -0
  229. package/components/popover-dgL04x6P.cjs +30 -0
  230. package/components/progress-bar/index.cjs +18 -0
  231. package/components/progress-bar/index.d.ts +7 -0
  232. package/components/progress-bar/index.js +25 -0
  233. package/components/progress-bar/progress-bar.d.ts +34 -0
  234. package/components/progress-bar-BR28tISC.cjs +31 -0
  235. package/components/progress-bar-DHgFRml1.js +119 -0
  236. package/components/progress-circle/index.cjs +1 -1
  237. package/components/progress-circle/index.js +11 -12
  238. package/components/progress-circle-Cg_ua9Ff.js +78 -0
  239. package/components/progress-circle-DuzwUiGN.cjs +33 -0
  240. package/components/progress-steps/index.cjs +18 -0
  241. package/components/progress-steps/index.d.ts +8 -0
  242. package/components/progress-steps/index.js +25 -0
  243. package/components/progress-steps/progress-steps.d.ts +148 -0
  244. package/components/progress-steps/types.d.ts +32 -0
  245. package/components/progress-steps-Da8aZWx3.js +262 -0
  246. package/components/progress-steps-WriXaZpE.cjs +96 -0
  247. package/components/prompt-box/controllers/attachments-controller.d.ts +35 -0
  248. package/components/prompt-box/controllers/recording-controller.d.ts +23 -0
  249. package/components/prompt-box/controllers/rich-input-controller.d.ts +89 -0
  250. package/components/prompt-box/controllers/trigger-menu-controller.d.ts +107 -0
  251. package/components/prompt-box/index.cjs +18 -0
  252. package/components/prompt-box/index.d.ts +9 -0
  253. package/components/prompt-box/index.js +25 -0
  254. package/components/prompt-box/keyboard-focus-tracker.d.ts +3 -0
  255. package/components/prompt-box/prompt-box-templates.d.ts +10 -0
  256. package/components/prompt-box/prompt-box.d.ts +194 -0
  257. package/components/prompt-box/range-from-point.d.ts +21 -0
  258. package/components/prompt-box/selection-utils.d.ts +39 -0
  259. package/components/prompt-box/slot-state-sync.d.ts +10 -0
  260. package/components/prompt-box/types.d.ts +112 -0
  261. package/components/prompt-box-BEloQP-R.js +1506 -0
  262. package/components/prompt-box-DV8Smf3Q.cjs +282 -0
  263. package/components/radio/index.cjs +1 -5
  264. package/components/radio/index.js +8 -174
  265. package/components/radio-BzEPGUmQ.js +141 -0
  266. package/components/radio-d-2GUbYE.cjs +22 -0
  267. package/components/{if-defined-DOaE2coe.js → random-id-B51lUxUB.cjs} +1 -10
  268. package/components/{when-CDK1Tt5Y.js → random-id-Dd4boCPV.js} +5 -10
  269. package/components/{focusable-selectors-B4YgbghQ.js → rolldown-runtime-CAFD8bLK.js} +10 -13
  270. package/components/roving-tabindex-B7x5ePUB.cjs +18 -0
  271. package/components/roving-tabindex-BP6mQbXf.js +62 -0
  272. package/components/{directive-oAbCiebi.js → scaled-indicator-BcO2BOsf.js} +24 -26
  273. package/components/scaled-indicator-p8-3k2cJ.cjs +26 -0
  274. package/components/search/index.cjs +1 -28
  275. package/components/search/index.js +8 -114
  276. package/components/search-CmLfd2dF.js +94 -0
  277. package/components/search-DRTD4xsE.cjs +45 -0
  278. package/components/segments-factory-CHo9oQw7.cjs +18 -0
  279. package/components/segments-factory-D0IveW-q.js +417 -0
  280. package/components/select/index.cjs +1 -140
  281. package/components/select/index.js +8 -602
  282. package/components/select/select.d.ts +26 -17
  283. package/components/select--vrG59GQ.cjs +158 -0
  284. package/components/select-DPeI0jP9.js +518 -0
  285. package/components/{language-resolution-8yZa5r_P.js → sized-mixin-DaBoZkVS.js} +38 -35
  286. package/components/sized-mixin-StFA4y0J.cjs +18 -0
  287. package/components/skeleton-loader/index.cjs +18 -0
  288. package/components/skeleton-loader/index.d.ts +7 -0
  289. package/components/skeleton-loader/index.js +25 -0
  290. package/components/skeleton-loader/skeleton-loader.d.ts +22 -0
  291. package/components/skeleton-loader-B8NgELvX.cjs +18 -0
  292. package/components/skeleton-loader-C1XG3m_u.js +46 -0
  293. package/components/slider/index.cjs +1 -1
  294. package/components/slider/index.js +8 -1141
  295. package/components/slider/slider.d.ts +2 -0
  296. package/components/slider-3QBnq0S8.js +96 -0
  297. package/components/slider-uXRKcOz5.cjs +18 -0
  298. package/components/slottable-request-event-DZ2Z_BLk.js +29 -0
  299. package/components/{base-D76d76ww.js → slottable-request-event-gAcEQan2.cjs} +1 -9
  300. package/components/status-light/index.cjs +18 -0
  301. package/components/status-light/index.d.ts +8 -0
  302. package/components/status-light/index.js +25 -0
  303. package/components/status-light/status-light.d.ts +26 -0
  304. package/components/status-light-Bf8jGu4G.js +85 -0
  305. package/components/status-light-CBaAFRUc.cjs +21 -0
  306. package/components/strategies-DhxJGIZT.js +137 -0
  307. package/components/strategies-kuvLVIKO.cjs +18 -0
  308. package/components/streaming-listener-2NcP7ys7.js +77 -0
  309. package/components/streaming-listener-BnDW38lt.cjs +18 -0
  310. package/components/suggestion/index.cjs +18 -0
  311. package/components/suggestion/index.d.ts +8 -0
  312. package/components/suggestion/index.js +25 -0
  313. package/components/suggestion/suggestion.d.ts +45 -0
  314. package/components/suggestion-CEJiW_7y.cjs +23 -0
  315. package/components/suggestion-DK5gxxDI.js +76 -0
  316. package/components/swatch/index.cjs +1 -32
  317. package/components/swatch/index.js +8 -325
  318. package/components/swatch-BLuV-hlF.js +271 -0
  319. package/components/swatch-G70JUe6I.cjs +49 -0
  320. package/components/switch/index.cjs +1 -5
  321. package/components/switch/index.js +8 -56
  322. package/components/switch-BdE-hI69.js +60 -0
  323. package/components/switch-KzkrF-ob.cjs +22 -0
  324. package/components/tabs/index.cjs +1 -76
  325. package/components/tabs/index.js +8 -619
  326. package/components/tabs/tabs.d.ts +3 -9
  327. package/components/tabs-BfTgzdid.cjs +76 -0
  328. package/components/tabs-BthdwrmW.js +434 -0
  329. package/components/tags/index.cjs +1 -15
  330. package/components/tags/index.d.ts +1 -0
  331. package/components/tags/index.js +8 -156
  332. package/components/tags/tag.d.ts +28 -0
  333. package/components/tags/tags.d.ts +3 -1
  334. package/components/tags-B89eYzsB.js +203 -0
  335. package/components/tags-OBPAvjdV.cjs +47 -0
  336. package/components/text-field/index.cjs +1 -4
  337. package/components/text-field/index.js +9 -45
  338. package/components/text-field/text-field.d.ts +27 -0
  339. package/components/text-field-A4Obzs4l.cjs +21 -0
  340. package/components/text-field-BoGAvXvh.js +44 -0
  341. package/components/text-field-Cs8HYRYL.js +256 -0
  342. package/components/text-field-FJr8ZUhI.cjs +81 -0
  343. package/components/text-field.module-Btsve-VN.js +21 -0
  344. package/components/text-field.module-D5oDP7MB.cjs +18 -0
  345. package/components/toast/index.cjs +1 -34
  346. package/components/toast/index.js +8 -136
  347. package/components/toast-CJSQUzoW.cjs +51 -0
  348. package/components/toast-DKwphMrp.js +133 -0
  349. package/components/tooltip/index.cjs +1 -28
  350. package/components/tooltip/index.js +8 -205
  351. package/components/tooltip/tooltip.d.ts +12 -1
  352. package/components/tooltip-C3O4AQ1l.js +192 -0
  353. package/components/tooltip-DY1trLtg.cjs +45 -0
  354. package/components/top-nav/index.cjs +18 -0
  355. package/components/top-nav/index.d.ts +10 -0
  356. package/components/top-nav/index.js +25 -0
  357. package/components/top-nav/top-nav-item.d.ts +26 -0
  358. package/components/top-nav/top-nav.d.ts +45 -0
  359. package/components/top-nav-DVQ5ASMa.js +203 -0
  360. package/components/top-nav-DlTojz8S.cjs +45 -0
  361. package/components/utils.cjs +1 -1
  362. package/components/utils.js +8 -25
  363. package/components/voice-recorder-477xPHRU.js +134 -0
  364. package/components/voice-recorder-BUtmSvPO.cjs +18 -0
  365. package/custom-elements.json +1 -1
  366. package/index.d.ts +11 -1
  367. package/package.json +134 -5
  368. package/utils/button-interaction-controllers/interaction-controller.d.ts +1 -1
  369. package/utils/index.d.ts +1 -0
  370. package/utils/scaled-indicator.d.ts +8 -0
  371. package/utils/voice-recorder.d.ts +121 -0
  372. package/components/NumberFormatter-DewVDY5w.cjs +0 -18
  373. package/components/NumberFormatter-DgOUVrge.js +0 -136
  374. package/components/NumberParser-Dik4a0h-.cjs +0 -18
  375. package/components/NumberParser-ci9J5EKv.js +0 -173
  376. package/components/action-group-DBImibFn.js +0 -258
  377. package/components/action-group-DJGMcRHb.cjs +0 -20
  378. package/components/async-directive-BX1T1e1_.cjs +0 -22
  379. package/components/async-directive-BfcqVjDp.js +0 -82
  380. package/components/base-CBCg3yyw.cjs +0 -40
  381. package/components/base-WsynuqaS.js +0 -677
  382. package/components/button-base-DbkDzb71.js +0 -144
  383. package/components/button-base-XgPLmwP-.cjs +0 -25
  384. package/components/checkbox-mixin-Do7EgtpQ.js +0 -70
  385. package/components/class-map-Di1D_rCm.cjs +0 -22
  386. package/components/class-map-NbVXqBU0.js +0 -51
  387. package/components/clear-button-DQcRdcUa.js +0 -53
  388. package/components/clear-button-OFUFFe7G.cjs +0 -18
  389. package/components/close-button-Cbnb7XXj.cjs +0 -18
  390. package/components/close-button-CqHYZhum.js +0 -51
  391. package/components/color-controller-DTp1juRz.js +0 -3198
  392. package/components/color-controller-_ZwyhvaU.cjs +0 -18
  393. package/components/color-loupe-CaA_Lfkk.cjs +0 -56
  394. package/components/color-loupe-CmMsXbjT.js +0 -81
  395. package/components/dependency-manger-C5HCkMMB.cjs +0 -18
  396. package/components/dependency-manger-CEXvGQUV.js +0 -54
  397. package/components/directive-C7oCP5Bh.cjs +0 -22
  398. package/components/directive-helpers-Cm6gitnu.js +0 -62
  399. package/components/directive-helpers-DyIRTWwA.cjs +0 -22
  400. package/components/divider.module-DDvBo9zo.cjs +0 -18
  401. package/components/divider.module-DoQWQEIJ.js +0 -21
  402. package/components/element-resolution-BvRLGqIU.cjs +0 -18
  403. package/components/element-resolution-FCUT-wql.js +0 -91
  404. package/components/field-group-DXfBWrkO.js +0 -66
  405. package/components/field-group-DkGst3r5.cjs +0 -23
  406. package/components/field-label-CZ2zzChK.js +0 -106
  407. package/components/field-label-mO1AkUgR.cjs +0 -25
  408. package/components/flow-D-0MTYCm.js +0 -527
  409. package/components/flow-DM3dNAKs.cjs +0 -30
  410. package/components/focus-group-DHeTq18L.js +0 -218
  411. package/components/focus-group-DnxZUBhQ.cjs +0 -18
  412. package/components/focus-visible-B0P9aY_G.cjs +0 -18
  413. package/components/focus-visible-DBlJGoEW.js +0 -74
  414. package/components/focusable-BxtpnzWp.js +0 -153
  415. package/components/focusable-EbipgXRh.cjs +0 -18
  416. package/components/index-BwxgAdzi.cjs +0 -57
  417. package/components/index-Cl54m8Yh.js +0 -1490
  418. package/components/index-HjQa8tew.js +0 -1174
  419. package/components/index-Wq3qZJGh.cjs +0 -113
  420. package/components/language-resolution-DJzmyzZq.cjs +0 -18
  421. package/components/like-anchor-Bvn_vLQ8.js +0 -69
  422. package/components/like-anchor-sod1C1fR.cjs +0 -32
  423. package/components/luzmo-icons-4nDFv1Lq.js +0 -229
  424. package/components/luzmo-icons-D4IvHgVd.cjs +0 -29
  425. package/components/manage-help-text-DhgARkZX.cjs +0 -30
  426. package/components/manage-help-text-syYnjKGL.js +0 -92
  427. package/components/mutation-controller-DH7YOCyj.js +0 -52
  428. package/components/mutation-controller-DkOMCW-c.cjs +0 -22
  429. package/components/observe-slot-presence-CmVi0zTc.js +0 -68
  430. package/components/observe-slot-presence-bc9chhsi.cjs +0 -18
  431. package/components/observe-slot-text-BPfIQQtz.js +0 -87
  432. package/components/observe-slot-text-Ceb7SvYT.cjs +0 -18
  433. package/components/overlay-Cig9r6uU.js +0 -2747
  434. package/components/overlay-KSKMzzkh.cjs +0 -47
  435. package/components/pending-state-DTX7ggyF.js +0 -61
  436. package/components/picker-BfBP7XJN.js +0 -461
  437. package/components/picker-xIphqE6d.cjs +0 -123
  438. package/components/platform-BiXhwqk3.cjs +0 -18
  439. package/components/popover-DjX0aAnY.js +0 -67
  440. package/components/popover-KFfO0IYL.cjs +0 -30
  441. package/components/progress-circle-BvRJNuNo.cjs +0 -33
  442. package/components/progress-circle-DXH9z8-6.js +0 -97
  443. package/components/query-BL-TJj7K.cjs +0 -22
  444. package/components/query-D_KR_GUc.js +0 -51
  445. package/components/query-assigned-elements-DjfhL1cl.js +0 -36
  446. package/components/query-assigned-elements-DsKsfk7G.cjs +0 -22
  447. package/components/query-assigned-nodes-BcKWmGzy.cjs +0 -22
  448. package/components/roving-tabindex-By_fCy_e.cjs +0 -18
  449. package/components/roving-tabindex-DOg4z6ZU.js +0 -66
  450. package/components/sized-mixin-CPxE5C96.cjs +0 -18
  451. package/components/sized-mixin-D4ACoVUr.js +0 -63
  452. package/components/slottable-request-event-BfUUt1Mh.cjs +0 -18
  453. package/components/slottable-request-event-DggLA4Rx.js +0 -31
  454. package/components/state-D8JEtYqe.cjs +0 -22
  455. package/components/strategies-9indNIEb.js +0 -195
  456. package/components/strategies-BACP6MhR.cjs +0 -18
  457. package/components/streaming-listener-B00MvALi.cjs +0 -18
  458. package/components/streaming-listener-CP-JE6Fa.js +0 -91
  459. package/components/style-map-CeilmSgs.cjs +0 -22
  460. package/components/style-map-IgqIKvlE.js +0 -53
  461. package/components/text-field-BTkr42k4.cjs +0 -85
  462. package/components/text-field-ol9Ed5lQ.js +0 -314
  463. package/components/text-field.module-ColtFhf_.js +0 -21
  464. package/components/text-field.module-p_VF2tC_.cjs +0 -18
  465. package/components/unit-input/index.cjs +0 -43
  466. package/components/unit-input/index.d.ts +0 -7
  467. package/components/unit-input/index.js +0 -183
  468. package/components/unit-input/unit-input.d.ts +0 -33
  469. /package/components/date-time-picker/{helpers.d.ts → shared/helpers.d.ts} +0 -0
  470. /package/components/date-time-picker/{segments → shared/segments}/date/day-segment.d.ts +0 -0
  471. /package/components/date-time-picker/{segments → shared/segments}/date/month-segment.d.ts +0 -0
  472. /package/components/date-time-picker/{segments → shared/segments}/date/year-segment.d.ts +0 -0
  473. /package/components/date-time-picker/{segments → shared/segments}/date-time-segments.d.ts +0 -0
  474. /package/components/date-time-picker/{segments → shared/segments}/editable-segment.d.ts +0 -0
  475. /package/components/date-time-picker/{segments → shared/segments}/literal-segment.d.ts +0 -0
  476. /package/components/date-time-picker/{segments → shared/segments}/modifiers/clear-modifier.d.ts +0 -0
  477. /package/components/date-time-picker/{segments → shared/segments}/modifiers/decrement-modifier.d.ts +0 -0
  478. /package/components/date-time-picker/{segments → shared/segments}/modifiers/increment-modifier.d.ts +0 -0
  479. /package/components/date-time-picker/{segments → shared/segments}/modifiers/input-modifier.d.ts +0 -0
  480. /package/components/date-time-picker/{segments → shared/segments}/modifiers/segments-modifier.d.ts +0 -0
  481. /package/components/date-time-picker/{segments → shared/segments}/segments-factory.d.ts +0 -0
  482. /package/components/date-time-picker/{segments → shared/segments}/segments-formatter.d.ts +0 -0
  483. /package/components/date-time-picker/{segments → shared/segments}/time/day-period-segment.d.ts +0 -0
  484. /package/components/date-time-picker/{segments → shared/segments}/time/hour-segment.d.ts +0 -0
  485. /package/components/date-time-picker/{segments → shared/segments}/time/millisecond-segment.d.ts +0 -0
  486. /package/components/date-time-picker/{segments → shared/segments}/time/minute-segment.d.ts +0 -0
  487. /package/components/date-time-picker/{segments → shared/segments}/time/second-segment.d.ts +0 -0
@@ -0,0 +1,148 @@
1
+ import { TemplateResult } from 'lit';
2
+ import { LuzmoElement } from '../../utils/base';
3
+ import type { ProgressStepsDisplayMode, ProgressStepsLabels, ProgressTreeNode } from './types';
4
+ declare const LuzmoProgressSteps_base: typeof LuzmoElement & {
5
+ new (...args: any[]): import("../..").SizedElementInterface;
6
+ prototype: import("../..").SizedElementInterface;
7
+ };
8
+ /**
9
+ * @element luzmo-progress-steps
10
+ * @summary A component for displaying real-time Progress status steps with substeps
11
+ *
12
+ * @attr size - The size of the component: s, m, l or xl
13
+ * @attr locale - Locale for resolving localized strings (default: 'en')
14
+ * @attr collapsed - When true, collapses all auto-expanded steps
15
+ * @attr condensed - When true, hides all steps behind a single "{n} steps completed" toggle line
16
+ * @attr display-mode - Display mode: 'detailed' (default) shows substeps and descriptions, 'compact' shows only step names
17
+ *
18
+ * @fires luzmo-step-expanded - Fired when a step is expanded
19
+ * @fires luzmo-step-collapsed - Fired when a step is collapsed
20
+ */
21
+ export declare class LuzmoProgressSteps extends LuzmoProgressSteps_base {
22
+ static styles: import("lit").CSSResult[];
23
+ /**
24
+ * The progress tree from the backend.
25
+ * The root node's children are rendered as main steps.
26
+ */
27
+ progress: ProgressTreeNode | null;
28
+ /**
29
+ * Locale for resolving localized strings in description metadata.
30
+ * Defaults to 'en'.
31
+ */
32
+ locale: string;
33
+ /**
34
+ * When true, collapses all auto-expanded steps.
35
+ * Manually expanded steps remain open.
36
+ */
37
+ collapsed: boolean;
38
+ /**
39
+ * Display mode for the progress steps.
40
+ * - 'detailed' (default): Shows full descriptions and substeps with expand/collapse
41
+ * - 'compact': Shows only step names without substeps or expand/collapse
42
+ */
43
+ displayMode: ProgressStepsDisplayMode;
44
+ /**
45
+ * When true, hides all steps behind a single "{n} steps completed" toggle line.
46
+ * Clicking the toggle expands/collapses the full step list.
47
+ */
48
+ condensed: boolean;
49
+ /**
50
+ * Labels used for visible text and screen readers.
51
+ * The default values are in English and can be overridden to localize the content.
52
+ * Use `{{count}}` in `stepCompleted` / `stepsCompleted` as a placeholder for the step count.
53
+ */
54
+ labels: ProgressStepsLabels;
55
+ /**
56
+ * When true, disables all entry animations (stepFadeIn, substepFadeIn).
57
+ * @default false
58
+ */
59
+ noAnimate: boolean;
60
+ /**
61
+ * Whether the condensed toggle has been expanded by the user.
62
+ * @internal
63
+ */
64
+ private _condensedExpanded;
65
+ /**
66
+ * Set of node IDs that are manually expanded by the user
67
+ * @internal
68
+ */
69
+ private _expandedNodes;
70
+ /**
71
+ * Nodes that were auto-expanded because they were in-progress.
72
+ * @internal
73
+ */
74
+ private _autoExpandedNodes;
75
+ /**
76
+ * Nodes explicitly expanded by the user.
77
+ * @internal
78
+ */
79
+ private _manuallyExpandedNodes;
80
+ willUpdate(changedProperties: Map<string, unknown>): void;
81
+ /**
82
+ * Handles progress changes, clearing state when progress is reset or root changes
83
+ * @internal
84
+ */
85
+ private _handleProgressChange;
86
+ /**
87
+ * Clears all expansion state for a fresh progress tree
88
+ * @internal
89
+ */
90
+ private _clearExpansionState;
91
+ /**
92
+ * Handle auto-expand for in-progress nodes
93
+ * @internal
94
+ */
95
+ private _handleAutoExpandCollapse;
96
+ /**
97
+ * Collapse all auto-expanded nodes that weren't manually expanded
98
+ * @internal
99
+ */
100
+ private _collapseAutoExpandedNodes;
101
+ /**
102
+ * Re-expand in-progress nodes when collapsed changes to false
103
+ * @internal
104
+ */
105
+ private _reExpandInProgressNodes;
106
+ /** @internal */
107
+ private _reExpandInProgressNodesRecursive;
108
+ /**
109
+ * Map backend status to CSS-friendly status
110
+ * @internal
111
+ */
112
+ private _mapStatus;
113
+ /**
114
+ * Resolve a localized string to the current locale
115
+ * @internal
116
+ */
117
+ private _resolveLocalizedString;
118
+ /**
119
+ * Interpolate description with metadata values
120
+ * Replaces {{key}} placeholders with values from descriptionMetadata
121
+ * @internal
122
+ */
123
+ private _interpolateDescription;
124
+ /** @internal */
125
+ private _toggleNodeExpansion;
126
+ /** @internal */
127
+ private _isNodeExpanded;
128
+ /** @internal */
129
+ private _renderStepIcon;
130
+ /** @internal */
131
+ private _renderChevron;
132
+ /** @internal */
133
+ private _renderSubsteps;
134
+ /** @internal */
135
+ private _renderSubstep;
136
+ /** @internal */
137
+ private _renderStep;
138
+ /** @internal */
139
+ private _toggleCondensed;
140
+ /** @internal */
141
+ private _handleCondensedKeydown;
142
+ /** @internal */
143
+ private _renderCondensed;
144
+ /** @internal */
145
+ private _renderSteps;
146
+ render(): TemplateResult;
147
+ }
148
+ export {};
@@ -0,0 +1,32 @@
1
+ export interface ProgressStepsLabels {
2
+ condensedSingular: string;
3
+ condensedPlural: string;
4
+ stepInProgress: string;
5
+ stepPending: string;
6
+ stepCompleted: string;
7
+ stepFailed: string;
8
+ }
9
+ export type ProgressStepsStatuses = 'pending' | 'inProgress' | 'success' | 'error';
10
+ /**
11
+ * Display mode for progress steps
12
+ * - 'detailed': Shows full descriptions and substeps with expand/collapse
13
+ * - 'compact': Shows only step names without substeps
14
+ */
15
+ export type ProgressStepsDisplayMode = 'detailed' | 'compact';
16
+ export type LocalizedString = Record<string, string>;
17
+ /**
18
+ * Metadata for description template interpolation
19
+ */
20
+ export type ProgressTreeNodeDescriptionMetadata = Record<string, number | string | boolean | LocalizedString | (number | string | boolean | LocalizedString)[]>;
21
+ /**
22
+ * A node in the progress tree structure
23
+ */
24
+ export type ProgressTreeNode = {
25
+ id: string;
26
+ /** Step identifier (e.g., 'iqDatasets', 'iqQuery.creatingQuery') */
27
+ step: string;
28
+ status: ProgressStepsStatuses;
29
+ children?: ProgressTreeNode[];
30
+ description?: string;
31
+ descriptionMetadata?: ProgressTreeNodeDescriptionMetadata;
32
+ };
@@ -0,0 +1,262 @@
1
+ /*! * Lucero - The design system for Luzmo.
2
+ *
3
+ * Copyright © 2025 Luzmo
4
+ * All rights reserved.
5
+ * Lucero (“Luzmo Design System”) must be used according to the Luzmo Terms of Service.
6
+ * This license allows users with a current active Luzmo account to use Lucero.
7
+ * This license terminates automatically if a user no longer has an active Luzmo account.
8
+ * Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
9
+ *
10
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
11
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
12
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
13
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
14
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
15
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
+ * SOFTWARE.
17
+ * */
18
+ import { n as e, t } from "./decorate-aGxJUVxg.js";
19
+ import { n } from "./sized-mixin-DaBoZkVS.js";
20
+ import { html as r, nothing as i, unsafeCSS as a } from "lit";
21
+ import { property as o, state as s } from "lit/decorators.js";
22
+ import { luzmoAngleDown as c, luzmoAngleUp as l, luzmoCheckCircleOutline as u, luzmoCircle as d, luzmoClose14 as f, luzmoIcon as p } from "@luzmo/icons";
23
+ //#region src/components/progress-steps/progress-steps.module.scss?inline
24
+ var m = ":host{font-family:var(--luzmo-font-family);font-size:var(--luzmo-progress-steps-font-size,var(--progress-steps-font-size));color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));display:block}.progress-steps-container{gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));flex-direction:column;display:flex}.step{grid-template-columns:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) auto;column-gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));animation:.3s ease-out forwards stepFadeIn;display:grid;position:relative}.step:not(:last-child):after{content:\"\";left:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2);top:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));bottom:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)));background-color:var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));z-index:0;pointer-events:none;width:1px;position:absolute;transform:translate(-.5px)}.step:not(:last-child):has(.substeps-container.expanded):after{height:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));top:auto}.step-header{-webkit-user-select:none;user-select:none;display:contents}.step-header.has-substeps{cursor:pointer}.step-icon{width:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));height:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));flex-shrink:0;grid-column:1;justify-content:center;align-self:center;align-items:center;display:flex;position:relative}.step-icon svg{width:100%;height:100%}.step-header.has-substeps .step-icon{cursor:pointer}.step-icon-pending{color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed))}.step-icon-in-progress{position:relative}.step-dot{width:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) * .4);height:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) * .4);background-color:var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));position:relative}.step-dot:after{--progress-steps-pulse-offset-calc:var(--luzmo-progress-steps-pulse-offset,var(--progress-steps-pulse-offset,6px));content:\"\";top:calc(-1 * var(--progress-steps-pulse-offset-calc));left:calc(-1 * var(--progress-steps-pulse-offset-calc));right:calc(-1 * var(--progress-steps-pulse-offset-calc));bottom:calc(-1 * var(--progress-steps-pulse-offset-calc));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));background-color:var(--luzmo-progress-steps-pulse-color,var(--progress-steps-pulse-color));opacity:0;animation:2s cubic-bezier(.4,0,.6,1) infinite mainStepPulse;position:absolute}.step-icon-completed{color:var(--luzmo-progress-steps-completed-color,var(--progress-steps-completed-color))}.step-icon-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.step-content{align-items:center;gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));border-radius:var(--luzmo-progress-steps-border-radius,var(--progress-steps-border-radius));flex-direction:row;grid-column:2;align-self:center;min-width:0;display:flex}.step-header.has-substeps .step-content{cursor:pointer}.step-name{font-weight:var(--luzmo-font-weight-semibold);color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.step-chevron{width:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));height:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));flex-shrink:0;justify-content:center;align-items:end;display:flex}.step-chevron svg{width:100%;height:100%}.step-chevron.hidden{visibility:hidden;cursor:default}.substeps-container{grid-column:1/-1;grid-template-columns:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) 1fr;column-gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));max-height:0;transition:none;display:grid;position:relative;overflow:clip}.substeps-container.expanded{max-height:var(--luzmo-progress-steps-substeps-max-height,var(--progress-steps-substeps-max-height,1000px));transition:max-height .3s cubic-bezier(.4,0,.2,1)}.substeps{gap:var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap));padding-top:var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap));flex-direction:column;grid-column:2;display:flex;position:relative}.substep{font-size:var(--luzmo-progress-steps-font-size-small,var(--progress-steps-font-size-small));--progress-steps-substep-line-height:1.4;--progress-steps-substep-bullet-center-offset:calc(var(--progress-steps-substep-line-height) * .5em);line-height:var(--progress-steps-substep-line-height);opacity:0;animation:.25s ease-out forwards substepFadeIn;position:relative}.substep:first-child{animation-delay:50ms}.substep:nth-child(2){animation-delay:.1s}.substep:nth-child(3){animation-delay:.15s}.substep:nth-child(4){animation-delay:.2s}.substep:nth-child(5){animation-delay:.25s}.substep:nth-child(6){animation-delay:.3s}.substep:nth-child(n+7){animation-delay:.35s}.substep-bullet{left:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)) - var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2 - var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size)) / 2);top:calc(var(--progress-steps-substep-bullet-center-offset) - var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size)) / 2);width:var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size));height:var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size));z-index:2;background-color:var(--luzmo-background-color,#fff);--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));border-radius:50%;position:absolute}.substep-bullet:before,.substep-bullet:after{content:\"\";border-radius:50%;position:absolute}.substep-bullet:before{background-color:var(--progress-steps-substep-bullet-base);z-index:0;inset:0}.substep-bullet:after{background-color:var(--progress-steps-substep-bullet-fill);z-index:1;inset:0}.substep:before,.substep:after{content:\"\";left:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)) - var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2);background-color:var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));z-index:0;width:1px;position:absolute;transform:translate(-.5px)}.substep.is-first:before{top:calc(-1 * var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)));height:calc(var(--progress-steps-substep-bullet-center-offset) + var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)))}.substep:not(.is-last):after{top:var(--progress-steps-substep-bullet-center-offset);height:calc(100% + var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)))}.substep.is-last:after{display:none}.step:not(:last-child) .substep.is-last:after{top:var(--progress-steps-substep-bullet-center-offset);height:calc(100% - var(--progress-steps-substep-bullet-center-offset));display:block}.substep.is-first:has(.substep-bullet-in-progress):before{background:linear-gradient(to bottom, var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)), var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)))}.substep:has(+.substep .substep-bullet-in-progress):after{background:linear-gradient(to bottom, var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)), var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)))}.substep-bullet-pending,.substep-bullet-completed,.substep-bullet-error{--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color))}.substep-bullet-in-progress{--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color));box-shadow:0 0 5px 0 color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 30%, transparent);animation:2s cubic-bezier(.4,0,.6,1) infinite substepBulletGlow}.substep-bullet-in-progress:after{animation:2s cubic-bezier(.4,0,.6,1) infinite substepBulletPulse}.substep-text,.substep-text-pending,.substep-text-completed,.substep-text-error{color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed))}.substep-text-completed{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.substep-text-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.condensed-toggle{align-items:center;gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));transition:color .2s;display:flex}.condensed-toggle:hover{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.condensed-toggle-text{font-weight:var(--luzmo-font-weight-semibold)}.condensed-toggle-chevron{width:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));height:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:flex}.condensed-toggle-chevron svg{width:100%;height:100%}.condensed-toggle-chevron.expanded{transform:rotate(180deg)}.condensed-steps{gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));margin-top:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));flex-direction:column;display:flex}@keyframes mainStepPulse{0%{opacity:.6;transform:scale(.8)}50%{opacity:.3;transform:scale(1.25)}to{opacity:.6;transform:scale(.8)}}@keyframes substepBulletPulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:.4;transform:scale(1.05)}}@keyframes substepBulletGlow{0%,to{box-shadow:0 0 4px 0 color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 25%, transparent)}50%{box-shadow:0 0 6px 1px color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 35%, transparent)}}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes substepFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}:host([no-animate]) .step{animation:none}:host([no-animate]) .substep{opacity:1;animation:none}:host([no-animate]) .substep-bullet-in-progress,:host([no-animate]) .substep-bullet-in-progress:after{animation:none}:host([no-animate]) .condensed-toggle-chevron{transition:none}:host{--progress-steps-primary-color:var(--luzmo-primary);--progress-steps-pulse-color:rgba(var(--luzmo-primary-rgb), .4);--progress-steps-font-color:var(--luzmo-font-color);--progress-steps-font-color-dimmed:var(--luzmo-font-color-extra-dimmed);--progress-steps-completed-color:var(--luzmo-positive-color);--progress-steps-error-color:var(--luzmo-negative-color);--progress-steps-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--progress-steps-substep-gap:var(--luzmo-spacing-3);--progress-steps-border-radius:var(--luzmo-border-radius);--progress-steps-font-size:var(--luzmo-font-size);--progress-steps-font-size-small:var(--luzmo-font-size-s);--progress-steps-icon-size:var(--luzmo-icon-size-xl);--progress-steps-icon-radius:var(--luzmo-border-radius-s);--progress-steps-chevron-size:var(--luzmo-icon-size-m);--progress-steps-substep-bullet-size:6px;--progress-steps-pulse-offset:6px;--progress-steps-substeps-max-height:1000px;--progress-steps-substep-connector-color:var(--luzmo-border-color);--progress-steps-substep-bullet-color:var(--luzmo-border-color)}:host([size=s]){--progress-steps-font-size:var(--luzmo-font-size-s);--progress-steps-font-size-small:var(--luzmo-font-size-xs);--progress-steps-gap:var(--luzmo-spacing-3);--progress-steps-substep-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-icon-size:var(--luzmo-icon-size-m);--progress-steps-chevron-size:var(--luzmo-icon-size-s);--progress-steps-substep-bullet-size:5px}:host([size=l]){--progress-steps-font-size:var(--luzmo-font-size-l);--progress-steps-font-size-small:var(--luzmo-font-size);--progress-steps-gap:var(--luzmo-spacing-4);--progress-steps-substep-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--progress-steps-icon-size:calc(var(--luzmo-icon-size-xl) + var(--luzmo-spacing-1));--progress-steps-chevron-size:var(--luzmo-icon-size-l);--progress-steps-substep-bullet-size:6px}:host([size=xl]){--progress-steps-font-size:var(--luzmo-font-size-xl);--progress-steps-font-size-small:var(--luzmo-font-size-l);--progress-steps-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--progress-steps-substep-gap:var(--luzmo-spacing-4);--progress-steps-icon-size:calc(var(--luzmo-icon-size-xl) + var(--luzmo-spacing-2));--progress-steps-chevron-size:var(--luzmo-icon-size-xl);--progress-steps-substep-bullet-size:7px}:host{box-sizing:border-box}", h = {
25
+ condensedSingular: "{{count}} step completed",
26
+ condensedPlural: "{{count}} steps completed",
27
+ stepInProgress: "Step in progress",
28
+ stepPending: "Step pending",
29
+ stepCompleted: "Step completed",
30
+ stepFailed: "Step failed"
31
+ }, g = class extends n(e, {
32
+ defaultSize: "m",
33
+ validSizes: [
34
+ "s",
35
+ "m",
36
+ "l",
37
+ "xl"
38
+ ]
39
+ }) {
40
+ constructor(...e) {
41
+ super(...e), this.progress = null, this.locale = "en", this.collapsed = !1, this.displayMode = "detailed", this.condensed = !1, this.labels = { ...h }, this.noAnimate = !1, this._condensedExpanded = !1, this._expandedNodes = /* @__PURE__ */ new Set(), this._autoExpandedNodes = /* @__PURE__ */ new Set(), this._manuallyExpandedNodes = /* @__PURE__ */ new Set();
42
+ }
43
+ static {
44
+ this.styles = [a(m)];
45
+ }
46
+ willUpdate(e) {
47
+ if (super.willUpdate(e), e.has("progress")) {
48
+ let t = e.get("progress");
49
+ this._handleProgressChange(t), (!this.progress || !t || this.progress.id !== t.id) && (this._condensedExpanded = !1);
50
+ }
51
+ e.has("condensed") && (this._condensedExpanded = !1), e.has("collapsed") && (this.collapsed ? this._collapseAutoExpandedNodes() : this._reExpandInProgressNodes());
52
+ }
53
+ _handleProgressChange(e) {
54
+ (!this.progress || !e || this.progress.id !== e.id) && this._clearExpansionState(), this.progress?.children && (this._handleAutoExpandCollapse(this.progress.children), this.collapsed && this._collapseAutoExpandedNodes());
55
+ }
56
+ _clearExpansionState() {
57
+ this._expandedNodes.clear(), this._autoExpandedNodes.clear(), this._manuallyExpandedNodes.clear();
58
+ }
59
+ _handleAutoExpandCollapse(e) {
60
+ for (let t of e) {
61
+ let e = t.id;
62
+ t.status === "inProgress" && !this._autoExpandedNodes.has(e) && (this._autoExpandedNodes.add(e), this._expandedNodes.add(e)), t.children && this._handleAutoExpandCollapse(t.children);
63
+ }
64
+ }
65
+ _collapseAutoExpandedNodes() {
66
+ for (let e of this._autoExpandedNodes) this._manuallyExpandedNodes.has(e) || this._expandedNodes.delete(e);
67
+ }
68
+ _reExpandInProgressNodes() {
69
+ this.progress?.children && this._reExpandInProgressNodesRecursive(this.progress.children);
70
+ }
71
+ _reExpandInProgressNodesRecursive(e) {
72
+ for (let t of e) t.status === "inProgress" && this._autoExpandedNodes.has(t.id) && this._expandedNodes.add(t.id), t.children && this._reExpandInProgressNodesRecursive(t.children);
73
+ }
74
+ _mapStatus(e) {
75
+ switch (e) {
76
+ case "inProgress": return "in-progress";
77
+ case "success": return "completed";
78
+ case "pending": return "pending";
79
+ case "error": return "error";
80
+ default: return "pending";
81
+ }
82
+ }
83
+ _resolveLocalizedString(e) {
84
+ return e[this.locale] ?? e.en ?? Object.values(e)[0] ?? "";
85
+ }
86
+ _interpolateDescription(e) {
87
+ return e.description ? e.descriptionMetadata ? e.description.replaceAll(/\{\{(\w+)\}\}/g, (t, n) => {
88
+ let r = e.descriptionMetadata?.[n];
89
+ return r == null ? `{{${n}}}` : Array.isArray(r) ? r.map((e) => typeof e == "object" && e ? this._resolveLocalizedString(e) : String(e)).join(", ") : typeof r == "object" ? this._resolveLocalizedString(r) : String(r);
90
+ }) : e.description : "";
91
+ }
92
+ _toggleNodeExpansion(e) {
93
+ this._expandedNodes.has(e) ? (this._expandedNodes.delete(e), this._manuallyExpandedNodes.delete(e), this.dispatchEvent(new CustomEvent("luzmo-step-collapsed", {
94
+ bubbles: !0,
95
+ composed: !0,
96
+ detail: { nodeId: e }
97
+ }))) : (this._expandedNodes.add(e), this._manuallyExpandedNodes.add(e), this.dispatchEvent(new CustomEvent("luzmo-step-expanded", {
98
+ bubbles: !0,
99
+ composed: !0,
100
+ detail: { nodeId: e }
101
+ }))), this.requestUpdate();
102
+ }
103
+ _isNodeExpanded(e) {
104
+ return this._expandedNodes.has(e);
105
+ }
106
+ _renderStepIcon(e) {
107
+ let t;
108
+ switch (e) {
109
+ case "in-progress":
110
+ t = this.labels.stepInProgress;
111
+ break;
112
+ case "pending":
113
+ t = this.labels.stepPending;
114
+ break;
115
+ case "completed":
116
+ t = this.labels.stepCompleted;
117
+ break;
118
+ case "error":
119
+ t = this.labels.stepFailed;
120
+ break;
121
+ default: t = this.labels.stepPending;
122
+ }
123
+ if (e === "in-progress") return r`
124
+ <div
125
+ class="step-icon step-icon-in-progress"
126
+ aria-label=${t}
127
+ role="img"
128
+ >
129
+ <div class="step-dot"></div>
130
+ </div>
131
+ `;
132
+ let n;
133
+ switch (e) {
134
+ case "pending":
135
+ n = d;
136
+ break;
137
+ case "completed":
138
+ n = u;
139
+ break;
140
+ case "error":
141
+ n = f;
142
+ break;
143
+ default: n = d;
144
+ }
145
+ return r`
146
+ <div
147
+ class="step-icon step-icon-${e}"
148
+ aria-label=${t}
149
+ role="img"
150
+ >
151
+ ${p(n)}
152
+ </div>
153
+ `;
154
+ }
155
+ _renderChevron(e, t) {
156
+ return r`<div class="step-chevron ${t ? "" : "hidden"}">
157
+ ${p(e ? l : c)}
158
+ </div>`;
159
+ }
160
+ _renderSubsteps(e) {
161
+ let t = e.length - 1;
162
+ return e.map((e, n) => this._renderSubstep(e, n === 0, n === t));
163
+ }
164
+ _renderSubstep(e, t, n) {
165
+ let i = this._mapStatus(e.status), a = this._interpolateDescription(e), o = ["substep"];
166
+ return t && o.push("is-first"), n && o.push("is-last"), r`
167
+ <div class=${o.join(" ")}>
168
+ <div class="substep-bullet substep-bullet-${i}"></div>
169
+ <div class="substep-text substep-text-${i}">${a}</div>
170
+ </div>
171
+ `;
172
+ }
173
+ _renderStep(e) {
174
+ let t = this._mapStatus(e.status), n = this.displayMode === "compact", a = this._interpolateDescription(e) || e.step, o = !n && e.children && e.children.length > 0, s = this._isNodeExpanded(e.id), c = `substeps-${e.id}`;
175
+ return r`
176
+ <div class="step">
177
+ <div
178
+ class="step-header ${o ? "has-substeps" : ""}"
179
+ role=${o ? "button" : "status"}
180
+ aria-expanded=${o ? s : i}
181
+ aria-controls=${o ? c : i}
182
+ tabindex=${o ? 0 : i}
183
+ @click=${o ? () => this._toggleNodeExpansion(e.id) : i}
184
+ @keydown=${o ? (t) => {
185
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), this._toggleNodeExpansion(e.id));
186
+ } : i}
187
+ >
188
+ ${this._renderStepIcon(t)}
189
+ <div class="step-content">
190
+ <div class="step-name">${a}</div>
191
+ ${n ? i : this._renderChevron(s, !!o)}
192
+ </div>
193
+ </div>
194
+ ${o ? r`
195
+ <div
196
+ id=${c}
197
+ class="substeps-container ${s ? "expanded" : ""}"
198
+ >
199
+ <div class="substeps">
200
+ ${this._renderSubsteps(e.children ?? [])}
201
+ </div>
202
+ </div>
203
+ ` : i}
204
+ </div>
205
+ `;
206
+ }
207
+ _toggleCondensed() {
208
+ this._condensedExpanded = !this._condensedExpanded, this.requestUpdate();
209
+ }
210
+ _handleCondensedKeydown(e) {
211
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), this._toggleCondensed());
212
+ }
213
+ _renderCondensed() {
214
+ let e = this.progress?.children?.filter((e) => e.status === "success").length ?? 0, t = (e === 1 ? this.labels.condensedSingular : this.labels.condensedPlural).replace("{{count}}", String(e));
215
+ return r`
216
+ <div class="condensed-container">
217
+ <div
218
+ class="condensed-toggle"
219
+ role="button"
220
+ tabindex="0"
221
+ aria-expanded=${this._condensedExpanded}
222
+ @click=${this._toggleCondensed}
223
+ @keydown=${this._handleCondensedKeydown}
224
+ >
225
+ <span class="condensed-toggle-text">${t}</span>
226
+ <span
227
+ class="condensed-toggle-chevron ${this._condensedExpanded ? "expanded" : ""}"
228
+ >
229
+ ${p(c)}
230
+ </span>
231
+ </div>
232
+ ${this._condensedExpanded ? r`<div class="condensed-steps">${this._renderSteps()}</div>` : i}
233
+ </div>
234
+ `;
235
+ }
236
+ _renderSteps() {
237
+ return (this.progress?.children ?? []).map((e) => this._renderStep(e));
238
+ }
239
+ render() {
240
+ return this.condensed ? r`
241
+ <div class="progress-steps-container" role="status" aria-live="polite">
242
+ ${this._renderCondensed()}
243
+ </div>
244
+ ` : r`
245
+ <div class="progress-steps-container" role="status" aria-live="polite">
246
+ ${this._renderSteps()}
247
+ </div>
248
+ `;
249
+ }
250
+ };
251
+ //#endregion
252
+ //#region src/components/progress-steps/index.ts
253
+ t([o({ type: Object })], g.prototype, "progress", void 0), t([o({ type: String })], g.prototype, "locale", void 0), t([o({ type: Boolean })], g.prototype, "collapsed", void 0), t([o({
254
+ type: String,
255
+ attribute: "display-mode"
256
+ })], g.prototype, "displayMode", void 0), t([o({ type: Boolean })], g.prototype, "condensed", void 0), t([o({ type: Object })], g.prototype, "labels", void 0), t([o({
257
+ type: Boolean,
258
+ attribute: "no-animate",
259
+ reflect: !0
260
+ })], g.prototype, "noAnimate", void 0), t([s()], g.prototype, "_condensedExpanded", void 0), t([s()], g.prototype, "_expandedNodes", void 0), t([s()], g.prototype, "_autoExpandedNodes", void 0), t([s()], g.prototype, "_manuallyExpandedNodes", void 0), customElements.get("luzmo-progress-steps") || customElements.define("luzmo-progress-steps", g);
261
+ //#endregion
262
+ export { g as t };
@@ -0,0 +1,96 @@
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
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./decorate-B2wePfNm.cjs`),t=require(`./sized-mixin-StFA4y0J.cjs`);let n=require(`lit`),r=require(`lit/decorators.js`),i=require(`@luzmo/icons`);var a=`:host{font-family:var(--luzmo-font-family);font-size:var(--luzmo-progress-steps-font-size,var(--progress-steps-font-size));color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color));display:block}.progress-steps-container{gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));flex-direction:column;display:flex}.step{grid-template-columns:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) auto;column-gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));animation:.3s ease-out forwards stepFadeIn;display:grid;position:relative}.step:not(:last-child):after{content:"";left:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2);top:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));bottom:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)));background-color:var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));z-index:0;pointer-events:none;width:1px;position:absolute;transform:translate(-.5px)}.step:not(:last-child):has(.substeps-container.expanded):after{height:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));top:auto}.step-header{-webkit-user-select:none;user-select:none;display:contents}.step-header.has-substeps{cursor:pointer}.step-icon{width:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));height:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));flex-shrink:0;grid-column:1;justify-content:center;align-self:center;align-items:center;display:flex;position:relative}.step-icon svg{width:100%;height:100%}.step-header.has-substeps .step-icon{cursor:pointer}.step-icon-pending{color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed))}.step-icon-in-progress{position:relative}.step-dot{width:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) * .4);height:calc(var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) * .4);background-color:var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));position:relative}.step-dot:after{--progress-steps-pulse-offset-calc:var(--luzmo-progress-steps-pulse-offset,var(--progress-steps-pulse-offset,6px));content:"";top:calc(-1 * var(--progress-steps-pulse-offset-calc));left:calc(-1 * var(--progress-steps-pulse-offset-calc));right:calc(-1 * var(--progress-steps-pulse-offset-calc));bottom:calc(-1 * var(--progress-steps-pulse-offset-calc));border-radius:var(--luzmo-progress-steps-icon-radius,var(--progress-steps-icon-radius,var(--luzmo-border-radius-l)));background-color:var(--luzmo-progress-steps-pulse-color,var(--progress-steps-pulse-color));opacity:0;animation:2s cubic-bezier(.4,0,.6,1) infinite mainStepPulse;position:absolute}.step-icon-completed{color:var(--luzmo-progress-steps-completed-color,var(--progress-steps-completed-color))}.step-icon-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.step-content{align-items:center;gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));border-radius:var(--luzmo-progress-steps-border-radius,var(--progress-steps-border-radius));flex-direction:row;grid-column:2;align-self:center;min-width:0;display:flex}.step-header.has-substeps .step-content{cursor:pointer}.step-name{font-weight:var(--luzmo-font-weight-semibold);color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.step-chevron{width:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));height:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));flex-shrink:0;justify-content:center;align-items:end;display:flex}.step-chevron svg{width:100%;height:100%}.step-chevron.hidden{visibility:hidden;cursor:default}.substeps-container{grid-column:1/-1;grid-template-columns:var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) 1fr;column-gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));max-height:0;transition:none;display:grid;position:relative;overflow:clip}.substeps-container.expanded{max-height:var(--luzmo-progress-steps-substeps-max-height,var(--progress-steps-substeps-max-height,1000px));transition:max-height .3s cubic-bezier(.4,0,.2,1)}.substeps{gap:var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap));padding-top:var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap));flex-direction:column;grid-column:2;display:flex;position:relative}.substep{font-size:var(--luzmo-progress-steps-font-size-small,var(--progress-steps-font-size-small));--progress-steps-substep-line-height:1.4;--progress-steps-substep-bullet-center-offset:calc(var(--progress-steps-substep-line-height) * .5em);line-height:var(--progress-steps-substep-line-height);opacity:0;animation:.25s ease-out forwards substepFadeIn;position:relative}.substep:first-child{animation-delay:50ms}.substep:nth-child(2){animation-delay:.1s}.substep:nth-child(3){animation-delay:.15s}.substep:nth-child(4){animation-delay:.2s}.substep:nth-child(5){animation-delay:.25s}.substep:nth-child(6){animation-delay:.3s}.substep:nth-child(n+7){animation-delay:.35s}.substep-bullet{left:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)) - var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2 - var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size)) / 2);top:calc(var(--progress-steps-substep-bullet-center-offset) - var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size)) / 2);width:var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size));height:var(--luzmo-progress-steps-substep-bullet-size,var(--progress-steps-substep-bullet-size));z-index:2;background-color:var(--luzmo-background-color,#fff);--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));border-radius:50%;position:absolute}.substep-bullet:before,.substep-bullet:after{content:"";border-radius:50%;position:absolute}.substep-bullet:before{background-color:var(--progress-steps-substep-bullet-base);z-index:0;inset:0}.substep-bullet:after{background-color:var(--progress-steps-substep-bullet-fill);z-index:1;inset:0}.substep:before,.substep:after{content:"";left:calc(-1 * var(--luzmo-progress-steps-gap,var(--progress-steps-gap)) - var(--luzmo-progress-steps-icon-size,var(--progress-steps-icon-size)) / 2);background-color:var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color));z-index:0;width:1px;position:absolute;transform:translate(-.5px)}.substep.is-first:before{top:calc(-1 * var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)));height:calc(var(--progress-steps-substep-bullet-center-offset) + var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)))}.substep:not(.is-last):after{top:var(--progress-steps-substep-bullet-center-offset);height:calc(100% + var(--luzmo-progress-steps-substep-gap,var(--progress-steps-substep-gap)))}.substep.is-last:after{display:none}.step:not(:last-child) .substep.is-last:after{top:var(--progress-steps-substep-bullet-center-offset);height:calc(100% - var(--progress-steps-substep-bullet-center-offset));display:block}.substep.is-first:has(.substep-bullet-in-progress):before{background:linear-gradient(to bottom, var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)), var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)))}.substep:has(+.substep .substep-bullet-in-progress):after{background:linear-gradient(to bottom, var(--luzmo-progress-steps-substep-connector-color,var(--progress-steps-substep-connector-color)), var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)))}.substep-bullet-pending,.substep-bullet-completed,.substep-bullet-error{--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-substep-bullet-color,var(--progress-steps-substep-bullet-color))}.substep-bullet-in-progress{--progress-steps-substep-bullet-base:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));--progress-steps-substep-bullet-fill:var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color));box-shadow:0 0 5px 0 color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 30%, transparent);animation:2s cubic-bezier(.4,0,.6,1) infinite substepBulletGlow}.substep-bullet-in-progress:after{animation:2s cubic-bezier(.4,0,.6,1) infinite substepBulletPulse}.substep-text,.substep-text-pending,.substep-text-completed,.substep-text-error{color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed))}.substep-text-completed{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.substep-text-error{color:var(--luzmo-progress-steps-error-color,var(--progress-steps-error-color))}.condensed-toggle{align-items:center;gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--luzmo-progress-steps-font-color-dimmed,var(--progress-steps-font-color-dimmed));transition:color .2s;display:flex}.condensed-toggle:hover{color:var(--luzmo-progress-steps-font-color,var(--progress-steps-font-color))}.condensed-toggle-text{font-weight:var(--luzmo-font-weight-semibold)}.condensed-toggle-chevron{width:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));height:var(--luzmo-progress-steps-chevron-size,var(--progress-steps-chevron-size));flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s;display:flex}.condensed-toggle-chevron svg{width:100%;height:100%}.condensed-toggle-chevron.expanded{transform:rotate(180deg)}.condensed-steps{gap:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));margin-top:var(--luzmo-progress-steps-gap,var(--progress-steps-gap));flex-direction:column;display:flex}@keyframes mainStepPulse{0%{opacity:.6;transform:scale(.8)}50%{opacity:.3;transform:scale(1.25)}to{opacity:.6;transform:scale(.8)}}@keyframes substepBulletPulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:.4;transform:scale(1.05)}}@keyframes substepBulletGlow{0%,to{box-shadow:0 0 4px 0 color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 25%, transparent)}50%{box-shadow:0 0 6px 1px color-mix(in srgb, var(--luzmo-progress-steps-primary-color,var(--progress-steps-primary-color)) 35%, transparent)}}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes substepFadeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}:host([no-animate]) .step{animation:none}:host([no-animate]) .substep{opacity:1;animation:none}:host([no-animate]) .substep-bullet-in-progress,:host([no-animate]) .substep-bullet-in-progress:after{animation:none}:host([no-animate]) .condensed-toggle-chevron{transition:none}:host{--progress-steps-primary-color:var(--luzmo-primary);--progress-steps-pulse-color:rgba(var(--luzmo-primary-rgb), .4);--progress-steps-font-color:var(--luzmo-font-color);--progress-steps-font-color-dimmed:var(--luzmo-font-color-extra-dimmed);--progress-steps-completed-color:var(--luzmo-positive-color);--progress-steps-error-color:var(--luzmo-negative-color);--progress-steps-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--progress-steps-substep-gap:var(--luzmo-spacing-3);--progress-steps-border-radius:var(--luzmo-border-radius);--progress-steps-font-size:var(--luzmo-font-size);--progress-steps-font-size-small:var(--luzmo-font-size-s);--progress-steps-icon-size:var(--luzmo-icon-size-xl);--progress-steps-icon-radius:var(--luzmo-border-radius-s);--progress-steps-chevron-size:var(--luzmo-icon-size-m);--progress-steps-substep-bullet-size:6px;--progress-steps-pulse-offset:6px;--progress-steps-substeps-max-height:1000px;--progress-steps-substep-connector-color:var(--luzmo-border-color);--progress-steps-substep-bullet-color:var(--luzmo-border-color)}:host([size=s]){--progress-steps-font-size:var(--luzmo-font-size-s);--progress-steps-font-size-small:var(--luzmo-font-size-xs);--progress-steps-gap:var(--luzmo-spacing-3);--progress-steps-substep-gap:calc(var(--luzmo-spacing-2) + var(--luzmo-spacing-1));--progress-steps-icon-size:var(--luzmo-icon-size-m);--progress-steps-chevron-size:var(--luzmo-icon-size-s);--progress-steps-substep-bullet-size:5px}:host([size=l]){--progress-steps-font-size:var(--luzmo-font-size-l);--progress-steps-font-size-small:var(--luzmo-font-size);--progress-steps-gap:var(--luzmo-spacing-4);--progress-steps-substep-gap:calc(var(--luzmo-spacing-3) + var(--luzmo-spacing-1));--progress-steps-icon-size:calc(var(--luzmo-icon-size-xl) + var(--luzmo-spacing-1));--progress-steps-chevron-size:var(--luzmo-icon-size-l);--progress-steps-substep-bullet-size:6px}:host([size=xl]){--progress-steps-font-size:var(--luzmo-font-size-xl);--progress-steps-font-size-small:var(--luzmo-font-size-l);--progress-steps-gap:calc(var(--luzmo-spacing-4) + var(--luzmo-spacing-1));--progress-steps-substep-gap:var(--luzmo-spacing-4);--progress-steps-icon-size:calc(var(--luzmo-icon-size-xl) + var(--luzmo-spacing-2));--progress-steps-chevron-size:var(--luzmo-icon-size-xl);--progress-steps-substep-bullet-size:7px}:host{box-sizing:border-box}`,o={condensedSingular:`{{count}} step completed`,condensedPlural:`{{count}} steps completed`,stepInProgress:`Step in progress`,stepPending:`Step pending`,stepCompleted:`Step completed`,stepFailed:`Step failed`},s=class extends t.n(e.n,{defaultSize:`m`,validSizes:[`s`,`m`,`l`,`xl`]}){constructor(...e){super(...e),this.progress=null,this.locale=`en`,this.collapsed=!1,this.displayMode=`detailed`,this.condensed=!1,this.labels={...o},this.noAnimate=!1,this._condensedExpanded=!1,this._expandedNodes=new Set,this._autoExpandedNodes=new Set,this._manuallyExpandedNodes=new Set}static{this.styles=[(0,n.unsafeCSS)(a)]}willUpdate(e){if(super.willUpdate(e),e.has(`progress`)){let t=e.get(`progress`);this._handleProgressChange(t),(!this.progress||!t||this.progress.id!==t.id)&&(this._condensedExpanded=!1)}e.has(`condensed`)&&(this._condensedExpanded=!1),e.has(`collapsed`)&&(this.collapsed?this._collapseAutoExpandedNodes():this._reExpandInProgressNodes())}_handleProgressChange(e){(!this.progress||!e||this.progress.id!==e.id)&&this._clearExpansionState(),this.progress?.children&&(this._handleAutoExpandCollapse(this.progress.children),this.collapsed&&this._collapseAutoExpandedNodes())}_clearExpansionState(){this._expandedNodes.clear(),this._autoExpandedNodes.clear(),this._manuallyExpandedNodes.clear()}_handleAutoExpandCollapse(e){for(let t of e){let e=t.id;t.status===`inProgress`&&!this._autoExpandedNodes.has(e)&&(this._autoExpandedNodes.add(e),this._expandedNodes.add(e)),t.children&&this._handleAutoExpandCollapse(t.children)}}_collapseAutoExpandedNodes(){for(let e of this._autoExpandedNodes)this._manuallyExpandedNodes.has(e)||this._expandedNodes.delete(e)}_reExpandInProgressNodes(){this.progress?.children&&this._reExpandInProgressNodesRecursive(this.progress.children)}_reExpandInProgressNodesRecursive(e){for(let t of e)t.status===`inProgress`&&this._autoExpandedNodes.has(t.id)&&this._expandedNodes.add(t.id),t.children&&this._reExpandInProgressNodesRecursive(t.children)}_mapStatus(e){switch(e){case`inProgress`:return`in-progress`;case`success`:return`completed`;case`pending`:return`pending`;case`error`:return`error`;default:return`pending`}}_resolveLocalizedString(e){return e[this.locale]??e.en??Object.values(e)[0]??``}_interpolateDescription(e){return e.description?e.descriptionMetadata?e.description.replaceAll(/\{\{(\w+)\}\}/g,(t,n)=>{let r=e.descriptionMetadata?.[n];return r==null?`{{${n}}}`:Array.isArray(r)?r.map(e=>typeof e==`object`&&e?this._resolveLocalizedString(e):String(e)).join(`, `):typeof r==`object`?this._resolveLocalizedString(r):String(r)}):e.description:``}_toggleNodeExpansion(e){this._expandedNodes.has(e)?(this._expandedNodes.delete(e),this._manuallyExpandedNodes.delete(e),this.dispatchEvent(new CustomEvent(`luzmo-step-collapsed`,{bubbles:!0,composed:!0,detail:{nodeId:e}}))):(this._expandedNodes.add(e),this._manuallyExpandedNodes.add(e),this.dispatchEvent(new CustomEvent(`luzmo-step-expanded`,{bubbles:!0,composed:!0,detail:{nodeId:e}}))),this.requestUpdate()}_isNodeExpanded(e){return this._expandedNodes.has(e)}_renderStepIcon(e){let t;switch(e){case`in-progress`:t=this.labels.stepInProgress;break;case`pending`:t=this.labels.stepPending;break;case`completed`:t=this.labels.stepCompleted;break;case`error`:t=this.labels.stepFailed;break;default:t=this.labels.stepPending}if(e===`in-progress`)return n.html`
19
+ <div
20
+ class="step-icon step-icon-in-progress"
21
+ aria-label=${t}
22
+ role="img"
23
+ >
24
+ <div class="step-dot"></div>
25
+ </div>
26
+ `;let r;switch(e){case`pending`:r=i.luzmoCircle;break;case`completed`:r=i.luzmoCheckCircleOutline;break;case`error`:r=i.luzmoClose14;break;default:r=i.luzmoCircle}return n.html`
27
+ <div
28
+ class="step-icon step-icon-${e}"
29
+ aria-label=${t}
30
+ role="img"
31
+ >
32
+ ${(0,i.luzmoIcon)(r)}
33
+ </div>
34
+ `}_renderChevron(e,t){return n.html`<div class="step-chevron ${t?``:`hidden`}">
35
+ ${(0,i.luzmoIcon)(e?i.luzmoAngleUp:i.luzmoAngleDown)}
36
+ </div>`}_renderSubsteps(e){let t=e.length-1;return e.map((e,n)=>this._renderSubstep(e,n===0,n===t))}_renderSubstep(e,t,r){let i=this._mapStatus(e.status),a=this._interpolateDescription(e),o=[`substep`];return t&&o.push(`is-first`),r&&o.push(`is-last`),n.html`
37
+ <div class=${o.join(` `)}>
38
+ <div class="substep-bullet substep-bullet-${i}"></div>
39
+ <div class="substep-text substep-text-${i}">${a}</div>
40
+ </div>
41
+ `}_renderStep(e){let t=this._mapStatus(e.status),r=this.displayMode===`compact`,i=this._interpolateDescription(e)||e.step,a=!r&&e.children&&e.children.length>0,o=this._isNodeExpanded(e.id),s=`substeps-${e.id}`;return n.html`
42
+ <div class="step">
43
+ <div
44
+ class="step-header ${a?`has-substeps`:``}"
45
+ role=${a?`button`:`status`}
46
+ aria-expanded=${a?o:n.nothing}
47
+ aria-controls=${a?s:n.nothing}
48
+ tabindex=${a?0:n.nothing}
49
+ @click=${a?()=>this._toggleNodeExpansion(e.id):n.nothing}
50
+ @keydown=${a?t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),this._toggleNodeExpansion(e.id))}:n.nothing}
51
+ >
52
+ ${this._renderStepIcon(t)}
53
+ <div class="step-content">
54
+ <div class="step-name">${i}</div>
55
+ ${r?n.nothing:this._renderChevron(o,!!a)}
56
+ </div>
57
+ </div>
58
+ ${a?n.html`
59
+ <div
60
+ id=${s}
61
+ class="substeps-container ${o?`expanded`:``}"
62
+ >
63
+ <div class="substeps">
64
+ ${this._renderSubsteps(e.children??[])}
65
+ </div>
66
+ </div>
67
+ `:n.nothing}
68
+ </div>
69
+ `}_toggleCondensed(){this._condensedExpanded=!this._condensedExpanded,this.requestUpdate()}_handleCondensedKeydown(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this._toggleCondensed())}_renderCondensed(){let e=this.progress?.children?.filter(e=>e.status===`success`).length??0,t=(e===1?this.labels.condensedSingular:this.labels.condensedPlural).replace(`{{count}}`,String(e));return n.html`
70
+ <div class="condensed-container">
71
+ <div
72
+ class="condensed-toggle"
73
+ role="button"
74
+ tabindex="0"
75
+ aria-expanded=${this._condensedExpanded}
76
+ @click=${this._toggleCondensed}
77
+ @keydown=${this._handleCondensedKeydown}
78
+ >
79
+ <span class="condensed-toggle-text">${t}</span>
80
+ <span
81
+ class="condensed-toggle-chevron ${this._condensedExpanded?`expanded`:``}"
82
+ >
83
+ ${(0,i.luzmoIcon)(i.luzmoAngleDown)}
84
+ </span>
85
+ </div>
86
+ ${this._condensedExpanded?n.html`<div class="condensed-steps">${this._renderSteps()}</div>`:n.nothing}
87
+ </div>
88
+ `}_renderSteps(){return(this.progress?.children??[]).map(e=>this._renderStep(e))}render(){return this.condensed?n.html`
89
+ <div class="progress-steps-container" role="status" aria-live="polite">
90
+ ${this._renderCondensed()}
91
+ </div>
92
+ `:n.html`
93
+ <div class="progress-steps-container" role="status" aria-live="polite">
94
+ ${this._renderSteps()}
95
+ </div>
96
+ `}};e.t([(0,r.property)({type:Object})],s.prototype,`progress`,void 0),e.t([(0,r.property)({type:String})],s.prototype,`locale`,void 0),e.t([(0,r.property)({type:Boolean})],s.prototype,`collapsed`,void 0),e.t([(0,r.property)({type:String,attribute:`display-mode`})],s.prototype,`displayMode`,void 0),e.t([(0,r.property)({type:Boolean})],s.prototype,`condensed`,void 0),e.t([(0,r.property)({type:Object})],s.prototype,`labels`,void 0),e.t([(0,r.property)({type:Boolean,attribute:`no-animate`,reflect:!0})],s.prototype,`noAnimate`,void 0),e.t([(0,r.state)()],s.prototype,`_condensedExpanded`,void 0),e.t([(0,r.state)()],s.prototype,`_expandedNodes`,void 0),e.t([(0,r.state)()],s.prototype,`_autoExpandedNodes`,void 0),e.t([(0,r.state)()],s.prototype,`_manuallyExpandedNodes`,void 0),customElements.get(`luzmo-progress-steps`)||customElements.define(`luzmo-progress-steps`,s),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return s}});
@@ -0,0 +1,35 @@
1
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ import type { PromptBoxAttachment } from '../types';
3
+ export interface AttachmentsHost extends ReactiveControllerHost {
4
+ allowImages: boolean;
5
+ allowFiles: boolean;
6
+ acceptedFileTypes: string[];
7
+ disabled: boolean;
8
+ readonly: boolean;
9
+ pending: boolean;
10
+ dispatchEvent(event: Event): boolean;
11
+ }
12
+ export declare class AttachmentsController implements ReactiveController {
13
+ private _host;
14
+ private _attachments;
15
+ private _idCounter;
16
+ constructor(host: AttachmentsHost);
17
+ hostConnected(): void;
18
+ hostDisconnected(): void;
19
+ get attachments(): PromptBoxAttachment[];
20
+ get hasAttachments(): boolean;
21
+ get imageAttachments(): PromptBoxAttachment[];
22
+ get fileAttachments(): PromptBoxAttachment[];
23
+ addFiles(files: File[]): string[];
24
+ removeAttachment(id: string): void;
25
+ clearAttachments(): void;
26
+ getAttachments(): PromptBoxAttachment[];
27
+ handlePastedImages(clipboardData: DataTransfer | null): boolean;
28
+ getAcceptAttribute(): string;
29
+ isImageFile(file: File): boolean;
30
+ private _isImageFile;
31
+ private _isFileTypeAccepted;
32
+ private _generateId;
33
+ private _revokeAllPreviewUrls;
34
+ private _dispatchChange;
35
+ }
@@ -0,0 +1,23 @@
1
+ import { ReactiveController, ReactiveControllerHost } from 'lit';
2
+ export interface RecordingHost extends ReactiveControllerHost {
3
+ disabled: boolean;
4
+ dispatchEvent(event: Event): boolean;
5
+ }
6
+ export declare class RecordingController implements ReactiveController {
7
+ private _host;
8
+ private _voiceRecorder;
9
+ isRecording: boolean;
10
+ duration: number;
11
+ audioLevel: number;
12
+ shouldFocusFinishButton: boolean;
13
+ constructor(host: RecordingHost);
14
+ hostConnected(): void;
15
+ hostDisconnected(): void;
16
+ start(fromKeyboard: boolean): Promise<void>;
17
+ stop(): void;
18
+ cancel(): void;
19
+ formatDuration(): string;
20
+ static isSupported(): boolean;
21
+ private _init;
22
+ private _destroy;
23
+ }