@luzmo/lucero 0.0.4 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/components/accordion/accordion-item.d.ts +24 -0
  2. package/components/accordion/accordion.d.ts +42 -0
  3. package/components/accordion/index.cjs +43 -0
  4. package/components/accordion/index.d.ts +10 -0
  5. package/{lib → components}/accordion/index.js +10 -11
  6. package/components/action-bar/action-bar.d.ts +42 -0
  7. package/components/action-bar/index.cjs +39 -0
  8. package/components/action-bar/index.d.ts +7 -0
  9. package/{lib → components}/action-bar/index.js +9 -10
  10. package/components/action-button/action-button.d.ts +81 -0
  11. package/components/action-button/index.cjs +24 -0
  12. package/components/action-button/index.d.ts +7 -0
  13. package/{lib → components}/action-button/index.js +6 -7
  14. package/components/action-group/action-group.d.ts +50 -0
  15. package/{lib → components}/action-group/index.cjs +1 -1
  16. package/components/action-group/index.d.ts +7 -0
  17. package/{lib → components}/action-group/index.js +1 -1
  18. package/components/action-group-Uimj-MJP.cjs +20 -0
  19. package/{lib/action-group-BoIH8s8R.js → components/action-group-enfc-YnW.js} +11 -12
  20. package/components/action-menu/action-menu.d.ts +40 -0
  21. package/{lib → components}/action-menu/index.cjs +5 -5
  22. package/components/action-menu/index.d.ts +7 -0
  23. package/{lib → components}/action-menu/index.js +10 -11
  24. package/{lib/async-directive-FGzMycjH.js → components/async-directive-DWRUSKKF.js} +1 -1
  25. package/{lib/async-directive-CV2MII86.cjs → components/async-directive-D_Ter1F8.cjs} +1 -1
  26. package/components/avatar/avatar.d.ts +31 -0
  27. package/components/avatar/index.cjs +24 -0
  28. package/components/avatar/index.d.ts +7 -0
  29. package/{lib → components}/avatar/index.js +13 -14
  30. package/components/base-B7Pfl2if.cjs +40 -0
  31. package/components/base-CawdqE7p.js +666 -0
  32. package/components/button/button-base.d.ts +44 -0
  33. package/components/button/button.d.ts +59 -0
  34. package/components/button/clear-button.d.ts +22 -0
  35. package/components/button/close-button.d.ts +24 -0
  36. package/components/button/index.cjs +20 -0
  37. package/components/button/index.d.ts +13 -0
  38. package/{lib → components}/button/index.js +11 -12
  39. package/{lib/button-base-DgtT6sU5.js → components/button-base-B7v4eeRh.js} +13 -12
  40. package/components/button-base-DmjYs2s9.cjs +25 -0
  41. package/components/button-group/button-group.d.ts +19 -0
  42. package/components/button-group/index.cjs +18 -0
  43. package/components/button-group/index.d.ts +7 -0
  44. package/{lib → components}/button-group/index.js +7 -8
  45. package/components/checkbox/checkbox-base.d.ts +9 -0
  46. package/components/checkbox/checkbox-mixin.d.ts +14 -0
  47. package/components/checkbox/checkbox.d.ts +54 -0
  48. package/components/checkbox/index.cjs +25 -0
  49. package/components/checkbox/index.d.ts +7 -0
  50. package/{lib → components}/checkbox/index.js +5 -6
  51. package/{lib/checkbox-mixin-DegQlk5C.js → components/checkbox-mixin-BFGTmw17.js} +15 -16
  52. package/{lib/checkbox-mixin-H0Hm-VLk.cjs → components/checkbox-mixin-DUhXwD46.cjs} +3 -3
  53. package/{lib/clear-button-Ap5H3UyH.js → components/clear-button-DgZmX5RX.js} +9 -10
  54. package/components/clear-button-KdrF2jaV.cjs +18 -0
  55. package/{lib/close-button-CGISEF33.js → components/close-button-CFHQnbsK.js} +7 -8
  56. package/components/close-button-DVGUppyd.cjs +18 -0
  57. package/components/color-area/color-area.d.ts +67 -0
  58. package/components/color-area/index.cjs +80 -0
  59. package/components/color-area/index.d.ts +7 -0
  60. package/{lib → components}/color-area/index.js +11 -11
  61. package/components/color-field/color-field.d.ts +20 -0
  62. package/components/color-field/index.cjs +23 -0
  63. package/components/color-field/index.d.ts +7 -0
  64. package/{lib → components}/color-field/index.js +2 -3
  65. package/components/color-handle/color-handle.d.ts +13 -0
  66. package/components/color-handle/index.cjs +24 -0
  67. package/components/color-handle/index.d.ts +7 -0
  68. package/{lib → components}/color-handle/index.js +2 -3
  69. package/components/color-loupe/color-loupe.d.ts +7 -0
  70. package/{lib → components}/color-loupe/index.cjs +1 -1
  71. package/components/color-loupe/index.d.ts +7 -0
  72. package/{lib → components}/color-loupe/index.js +1 -1
  73. package/{lib/color-loupe-DBEApMDT.js → components/color-loupe-DxcqXoJ6.js} +3 -4
  74. package/components/color-loupe-SskbNeMp.cjs +56 -0
  75. package/components/color-menu/color-menu.d.ts +54 -0
  76. package/components/color-menu/index.cjs +86 -0
  77. package/components/color-menu/index.d.ts +7 -0
  78. package/{lib → components}/color-menu/index.js +9 -10
  79. package/components/color-picker/color-picker.d.ts +39 -0
  80. package/components/color-picker/index.cjs +48 -0
  81. package/components/color-picker/index.d.ts +7 -0
  82. package/{lib → components}/color-picker/index.js +33 -34
  83. package/components/color-slider/color-slider.d.ts +57 -0
  84. package/components/color-slider/index.cjs +57 -0
  85. package/components/color-slider/index.d.ts +7 -0
  86. package/{lib → components}/color-slider/index.js +6 -6
  87. package/{lib/directive-helpers-C2vOfhFx.cjs → components/directive-helpers-TkFq2eZF.cjs} +1 -1
  88. package/{lib/directive-helpers-BLDZnGQv.js → components/directive-helpers-nlQRAaQt.js} +1 -1
  89. package/components/divider/divider.d.ts +24 -0
  90. package/components/divider/index.cjs +18 -0
  91. package/components/divider/index.d.ts +7 -0
  92. package/{lib → components}/divider/index.js +6 -7
  93. package/components/field-group/field-group.d.ts +24 -0
  94. package/{lib → components}/field-group/index.cjs +1 -1
  95. package/components/field-group/index.d.ts +7 -0
  96. package/{lib → components}/field-group/index.js +1 -1
  97. package/{lib/field-group-CBWafIUV.js → components/field-group-DAhrTCfl.js} +2 -3
  98. package/components/field-group-DSY2HUoj.cjs +23 -0
  99. package/components/field-label/field-label.d.ts +50 -0
  100. package/{lib → components}/field-label/index.cjs +1 -1
  101. package/components/field-label/index.d.ts +7 -0
  102. package/{lib → components}/field-label/index.js +2 -2
  103. package/{lib/field-label-BK_tk8vP.js → components/field-label-CAFfGxEL.js} +15 -16
  104. package/components/field-label-CjsQ3ujK.cjs +25 -0
  105. package/{lib/focusable-Dv_6CFaY.cjs → components/focusable-DGWL1v1p.cjs} +1 -1
  106. package/{lib/focusable-DbUg-3Vp.js → components/focusable-cj2QhwDT.js} +1 -1
  107. package/components/icon/icon-base.d.ts +11 -0
  108. package/components/icon/icon.d.ts +12 -0
  109. package/components/icon/index.cjs +18 -0
  110. package/components/icon/index.d.ts +7 -0
  111. package/{lib → components}/icon/index.js +4 -5
  112. package/{lib/if-defined-Cv6xanXh.cjs → components/if-defined-B56xGmAg.cjs} +2 -2
  113. package/{lib/if-defined-CYpcjGCb.js → components/if-defined-BSAr_4u4.js} +1 -1
  114. package/{lib/index-ovT-qVzf.js → components/index-CMvLpPKD.js} +8 -9
  115. package/{lib/index-yNcLzjhM.cjs → components/index-DnWavOZD.cjs} +15 -15
  116. package/components/index.cjs +18 -0
  117. package/{lib → components}/index.js +131 -90
  118. package/components/infield-button/index.cjs +22 -0
  119. package/components/infield-button/index.d.ts +7 -0
  120. package/{lib → components}/infield-button/index.js +3 -4
  121. package/components/infield-button/infield-button.d.ts +25 -0
  122. package/components/label/index.cjs +18 -0
  123. package/components/label/index.d.ts +7 -0
  124. package/{lib → components}/label/index.js +1 -2
  125. package/components/label/label.d.ts +7 -0
  126. package/components/language-resolution-8yZa5r_P.js +53 -0
  127. package/components/language-resolution-DJzmyzZq.cjs +18 -0
  128. package/{lib/like-anchor-K8W0QYwC.cjs → components/like-anchor-Bmabl9ra.cjs} +4 -4
  129. package/{lib/like-anchor-cDeGGeHh.js → components/like-anchor-QBlvwFfT.js} +8 -9
  130. package/{lib/manage-help-text-2mSEy-AD.js → components/manage-help-text-Cozl9Sgn.js} +8 -8
  131. package/{lib/manage-help-text-iOk-zmy8.cjs → components/manage-help-text-OHXDgxyj.cjs} +3 -3
  132. package/{lib → components}/menu/index.cjs +1 -1
  133. package/components/menu/index.d.ts +16 -0
  134. package/{lib → components}/menu/index.js +1 -1
  135. package/components/menu/menu-divider.d.ts +14 -0
  136. package/components/menu/menu-group.d.ts +17 -0
  137. package/components/menu/menu-item.d.ts +125 -0
  138. package/components/menu/menu.d.ts +119 -0
  139. package/components/multi-language-field/index.cjs +39 -0
  140. package/components/multi-language-field/index.d.ts +7 -0
  141. package/{lib → components}/multi-language-field/index.js +6 -7
  142. package/components/multi-language-field/multi-language-field.d.ts +41 -0
  143. package/components/number-field/index.cjs +57 -0
  144. package/components/number-field/index.d.ts +7 -0
  145. package/{lib → components}/number-field/index.js +24 -24
  146. package/components/number-field/number-field.d.ts +113 -0
  147. package/{lib/observe-slot-text-BmsCNJig.cjs → components/observe-slot-text-CrYB2Pj-.cjs} +1 -1
  148. package/{lib/observe-slot-text-BoFRF-VI.js → components/observe-slot-text-ggb4kKgY.js} +1 -1
  149. package/components/overlay/abstract-overlay.d.ts +72 -0
  150. package/components/overlay/click-controller.d.ts +14 -0
  151. package/components/overlay/events.d.ts +23 -0
  152. package/components/overlay/full-size-plugin.d.ts +12 -0
  153. package/components/overlay/hover-controller.d.ts +20 -0
  154. package/components/overlay/index.cjs +73 -0
  155. package/components/overlay/index.d.ts +22 -0
  156. package/{lib → components}/overlay/index.js +55 -38
  157. package/components/overlay/interaction-controller.d.ts +38 -0
  158. package/components/overlay/loader.d.ts +4 -0
  159. package/components/overlay/longpress-controller.d.ts +21 -0
  160. package/components/overlay/overlay-dialog.d.ts +4 -0
  161. package/components/overlay/overlay-events.d.ts +11 -0
  162. package/components/overlay/overlay-no-popover.d.ts +4 -0
  163. package/components/overlay/overlay-popover.d.ts +4 -0
  164. package/components/overlay/overlay-stack.d.ts +44 -0
  165. package/components/overlay/overlay-timer.d.ts +21 -0
  166. package/components/overlay/overlay-trigger-directive.d.ts +26 -0
  167. package/components/overlay/overlay-trigger.d.ts +53 -0
  168. package/components/overlay/overlay-types.d.ts +50 -0
  169. package/components/overlay/overlay.d.ts +464 -0
  170. package/components/overlay/placement-controller.d.ts +157 -0
  171. package/components/overlay/slottable-request-directive.d.ts +17 -0
  172. package/components/overlay/slottable-request-event.d.ts +12 -0
  173. package/components/overlay/strategies.d.ts +8 -0
  174. package/components/overlay/virtual-trigger.d.ts +7 -0
  175. package/{lib/overlay-C7QKFqRc.js → components/overlay-CJ9by37f.js} +94 -84
  176. package/components/overlay-Deh6Ki6I.cjs +47 -0
  177. package/{lib/pending-state-Dbc2HIM2.cjs → components/pending-state-Do522lTd.cjs} +2 -2
  178. package/{lib/pending-state-D5KTK4_1.js → components/pending-state-TJj1x9xn.js} +2 -2
  179. package/components/picker/desktop-controller.d.ts +7 -0
  180. package/{lib → components}/picker/index.cjs +1 -1
  181. package/components/picker/index.d.ts +7 -0
  182. package/{lib → components}/picker/index.js +2 -2
  183. package/components/picker/interaction-controller.d.ts +43 -0
  184. package/components/picker/mobile-controller.d.ts +9 -0
  185. package/components/picker/picker.d.ts +154 -0
  186. package/components/picker/strategies.d.ts +6 -0
  187. package/components/picker-833Apxe4.js +655 -0
  188. package/components/picker-DDx8ii73.cjs +127 -0
  189. package/{lib/platform-DQYMG7JI.js → components/platform-BM-uMWpX.js} +34 -19
  190. package/components/platform-BiXhwqk3.cjs +18 -0
  191. package/{lib → components}/popover/index.cjs +1 -1
  192. package/components/popover/index.d.ts +7 -0
  193. package/{lib → components}/popover/index.js +2 -2
  194. package/components/popover/popover.d.ts +29 -0
  195. package/components/popover-BGOgXaka.cjs +30 -0
  196. package/{lib/popover-ZRVxogyp.js → components/popover-DlkzrLpl.js} +8 -9
  197. package/{lib → components}/progress-circle/index.cjs +1 -1
  198. package/components/progress-circle/index.d.ts +7 -0
  199. package/{lib → components}/progress-circle/index.js +1 -1
  200. package/components/progress-circle/progress-circle.d.ts +35 -0
  201. package/{lib/progress-circle-DpXiqW6a.js → components/progress-circle-Be24kv6B.js} +5 -6
  202. package/components/progress-circle-NNbCMK2i.cjs +33 -0
  203. package/components/radio/index.cjs +22 -0
  204. package/components/radio/index.d.ts +10 -0
  205. package/{lib → components}/radio/index.js +10 -11
  206. package/components/radio/radio-group.d.ts +27 -0
  207. package/components/radio/radio.d.ts +39 -0
  208. package/components/search/index.cjs +45 -0
  209. package/components/search/index.d.ts +7 -0
  210. package/{lib → components}/search/index.js +3 -4
  211. package/components/search/search.d.ts +27 -0
  212. package/{lib/sized-mixin-Dl0KoEcV.js → components/sized-mixin-BxMraZLS.js} +1 -1
  213. package/{lib/sized-mixin-BSYHt8nT.cjs → components/sized-mixin-D9LkrMjb.cjs} +1 -1
  214. package/components/slider/index.cjs +18 -0
  215. package/components/slider/index.d.ts +7 -0
  216. package/{lib → components}/slider/index.js +5 -6
  217. package/components/slider/slider.d.ts +24 -0
  218. package/{lib/state-DReJ3hB6.cjs → components/state-C5I1gP3G.cjs} +1 -1
  219. package/{lib/state-BAO-13Bs.js → components/state-CYxk12SV.js} +1 -1
  220. package/{lib/streaming-listener-DLo0wkMc.js → components/streaming-listener-CCalHg57.js} +18 -52
  221. package/components/streaming-listener-KVex1WWB.cjs +18 -0
  222. package/{lib/style-map-BqvQDFJt.js → components/style-map-Ct2LiEds.js} +1 -1
  223. package/{lib/style-map-BjBGQ_u3.cjs → components/style-map-uMq-yDJ3.cjs} +2 -2
  224. package/components/swatch/index.cjs +49 -0
  225. package/components/swatch/index.d.ts +10 -0
  226. package/{lib → components}/swatch/index.js +9 -10
  227. package/components/swatch/swatch-group.d.ts +41 -0
  228. package/components/swatch/swatch.d.ts +40 -0
  229. package/components/switch/index.cjs +22 -0
  230. package/components/switch/index.d.ts +7 -0
  231. package/{lib → components}/switch/index.js +6 -7
  232. package/components/switch/switch.d.ts +27 -0
  233. package/components/tags/index.cjs +32 -0
  234. package/components/tags/index.d.ts +10 -0
  235. package/{lib → components}/tags/index.js +17 -18
  236. package/components/tags/tag.d.ts +29 -0
  237. package/components/tags/tags.d.ts +28 -0
  238. package/components/text-field/help-text-manager.d.ts +19 -0
  239. package/components/text-field/help-text.d.ts +20 -0
  240. package/components/text-field/index.cjs +21 -0
  241. package/components/text-field/index.d.ts +14 -0
  242. package/{lib → components}/text-field/index.js +9 -9
  243. package/components/text-field/manage-help-text.d.ts +13 -0
  244. package/components/text-field/text-field.d.ts +142 -0
  245. package/{lib/text-field-C6Aa7XOb.cjs → components/text-field-5_ev9way.cjs} +15 -15
  246. package/{lib/text-field-DPk332j9.js → components/text-field-CvKSS59x.js} +28 -30
  247. package/components/toast/index.cjs +51 -0
  248. package/components/toast/index.d.ts +7 -0
  249. package/{lib → components}/toast/index.js +2 -3
  250. package/components/toast/toast.d.ts +77 -0
  251. package/components/tooltip/index.cjs +45 -0
  252. package/components/tooltip/index.d.ts +8 -0
  253. package/{lib → components}/tooltip/index.js +13 -12
  254. package/components/tooltip/tooltip-directive.d.ts +5 -0
  255. package/components/tooltip/tooltip.d.ts +55 -0
  256. package/components/unit-input/index.cjs +43 -0
  257. package/components/unit-input/index.d.ts +7 -0
  258. package/{lib → components}/unit-input/index.js +5 -6
  259. package/components/unit-input/unit-input.d.ts +33 -0
  260. package/components/utils.cjs +18 -0
  261. package/components/utils.js +42 -0
  262. package/custom-elements.json +1 -0
  263. package/index.d.ts +40 -0
  264. package/package.json +141 -103
  265. package/utils/base.d.ts +16 -0
  266. package/utils/condition-attribute-with-id.d.ts +2 -0
  267. package/utils/first-focusable-in.d.ts +3 -0
  268. package/utils/focus-visible.d.ts +29 -0
  269. package/utils/focusable-selectors.d.ts +2 -0
  270. package/utils/focusable.d.ts +58 -0
  271. package/utils/get-css-variable.d.ts +1 -0
  272. package/utils/get-label-from-slot.d.ts +1 -0
  273. package/utils/index.d.ts +6 -0
  274. package/utils/like-anchor.d.ts +23 -0
  275. package/utils/observe-slot-presence.d.ts +12 -0
  276. package/utils/observe-slot-text.d.ts +11 -0
  277. package/utils/platform.d.ts +10 -0
  278. package/utils/random-id.d.ts +1 -0
  279. package/utils/reactive-controllers/color.d.ts +54 -0
  280. package/utils/reactive-controllers/dependency-manger.d.ts +26 -0
  281. package/utils/reactive-controllers/element-resolution.d.ts +23 -0
  282. package/utils/reactive-controllers/focus-group.d.ts +62 -0
  283. package/utils/reactive-controllers/language-resolution.d.ts +11 -0
  284. package/utils/reactive-controllers/match-media.d.ts +13 -0
  285. package/utils/reactive-controllers/pending-state.d.ts +41 -0
  286. package/utils/reactive-controllers/roving-tabindex.d.ts +19 -0
  287. package/utils/reparent-child.d.ts +4 -0
  288. package/utils/sized-mixin.d.ts +17 -0
  289. package/utils/streaming-listener.d.ts +48 -0
  290. package/lib/accordion/index.cjs +0 -43
  291. package/lib/action-bar/index.cjs +0 -39
  292. package/lib/action-button/index.cjs +0 -24
  293. package/lib/action-group-D4MxBrq8.cjs +0 -20
  294. package/lib/avatar/index.cjs +0 -24
  295. package/lib/base-BCmA9Wxv.cjs +0 -30
  296. package/lib/base-nYalvNMy.js +0 -390
  297. package/lib/button/index.cjs +0 -20
  298. package/lib/button-base-B0iB_JTv.cjs +0 -25
  299. package/lib/button-group/index.cjs +0 -18
  300. package/lib/checkbox/index.cjs +0 -25
  301. package/lib/clear-button-D0djuaLb.cjs +0 -18
  302. package/lib/close-button-BrfeZvjk.cjs +0 -18
  303. package/lib/color-area/index.cjs +0 -80
  304. package/lib/color-field/index.cjs +0 -23
  305. package/lib/color-handle/index.cjs +0 -24
  306. package/lib/color-loupe-BICpNqFs.cjs +0 -56
  307. package/lib/color-menu/index.cjs +0 -86
  308. package/lib/color-picker/index.cjs +0 -48
  309. package/lib/color-slider/index.cjs +0 -57
  310. package/lib/divider/index.cjs +0 -18
  311. package/lib/field-group-TUFvhJkk.cjs +0 -23
  312. package/lib/field-label-BrJaeORz.cjs +0 -25
  313. package/lib/icon/index.cjs +0 -18
  314. package/lib/index.cjs +0 -18
  315. package/lib/infield-button/index.cjs +0 -22
  316. package/lib/label/index.cjs +0 -18
  317. package/lib/legend-position/index.cjs +0 -27
  318. package/lib/legend-position/index.js +0 -85
  319. package/lib/lit-html-B3ugcwD9.js +0 -248
  320. package/lib/lit-html-p4Oxv2-5.cjs +0 -24
  321. package/lib/multi-language-field/index.cjs +0 -39
  322. package/lib/number-field/index.cjs +0 -57
  323. package/lib/overlay/index.cjs +0 -73
  324. package/lib/overlay-DScraBAi.cjs +0 -47
  325. package/lib/picker--2OCYWnV.js +0 -657
  326. package/lib/picker-B9W7Haf4.cjs +0 -127
  327. package/lib/platform-CQzYNWKq.cjs +0 -18
  328. package/lib/popover-CVbjhSnx.cjs +0 -30
  329. package/lib/progress-circle-CiJoS8J7.cjs +0 -33
  330. package/lib/radio/index.cjs +0 -22
  331. package/lib/search/index.cjs +0 -45
  332. package/lib/slider/index.cjs +0 -18
  333. package/lib/streaming-listener-Bw4jE33f.cjs +0 -18
  334. package/lib/swatch/index.cjs +0 -49
  335. package/lib/switch/index.cjs +0 -22
  336. package/lib/tags/index.cjs +0 -32
  337. package/lib/text-field/index.cjs +0 -21
  338. package/lib/toast/index.cjs +0 -51
  339. package/lib/tooltip/index.cjs +0 -45
  340. package/lib/unit-input/index.cjs +0 -43
  341. /package/{lib → components}/base-BjTwmyRF.cjs +0 -0
  342. /package/{lib → components}/base-D76d76ww.js +0 -0
  343. /package/{lib → components}/color-Bg3tYsAQ.js +0 -0
  344. /package/{lib → components}/color-DphK4hwx.cjs +0 -0
  345. /package/{lib → components}/condition-attribute-with-id-DrQYZzFS.cjs +0 -0
  346. /package/{lib → components}/condition-attribute-with-id-Dv4lSRbe.js +0 -0
  347. /package/{lib → components}/dependency-manger-C5HCkMMB.cjs +0 -0
  348. /package/{lib → components}/dependency-manger-CEXvGQUV.js +0 -0
  349. /package/{lib → components}/directive-C7oCP5Bh.cjs +0 -0
  350. /package/{lib → components}/directive-oAbCiebi.js +0 -0
  351. /package/{lib → components}/divider.module-CXMNveQc.cjs +0 -0
  352. /package/{lib → components}/divider.module-DwOuLGU3.js +0 -0
  353. /package/{lib → components}/element-resolution-BvRLGqIU.cjs +0 -0
  354. /package/{lib → components}/element-resolution-FCUT-wql.js +0 -0
  355. /package/{lib → components}/focus-group-DHeTq18L.js +0 -0
  356. /package/{lib → components}/focus-group-DnxZUBhQ.cjs +0 -0
  357. /package/{lib → components}/focus-visible-B0P9aY_G.cjs +0 -0
  358. /package/{lib → components}/focus-visible-DBlJGoEW.js +0 -0
  359. /package/{lib → components}/focusable-selectors-B4YgbghQ.js +0 -0
  360. /package/{lib → components}/focusable-selectors-BgFlyFcY.cjs +0 -0
  361. /package/{lib → components}/index-C1chwzNp.js +0 -0
  362. /package/{lib → components}/index-DCKCHDTt.cjs +0 -0
  363. /package/{lib → components}/mutation-controller-DH7YOCyj.js +0 -0
  364. /package/{lib → components}/mutation-controller-DkOMCW-c.cjs +0 -0
  365. /package/{lib → components}/query-BL-TJj7K.cjs +0 -0
  366. /package/{lib → components}/query-D_KR_GUc.js +0 -0
  367. /package/{lib → components}/query-assigned-elements-DjfhL1cl.js +0 -0
  368. /package/{lib → components}/query-assigned-elements-DsKsfk7G.cjs +0 -0
  369. /package/{lib → components}/query-assigned-nodes-BcKWmGzy.cjs +0 -0
  370. /package/{lib → components}/query-assigned-nodes-C76XVPWY.js +0 -0
  371. /package/{lib → components}/random-id-ByCz1xaq.js +0 -0
  372. /package/{lib → components}/random-id-CqvckpWe.cjs +0 -0
  373. /package/{lib → components}/roving-tabindex-By_fCy_e.cjs +0 -0
  374. /package/{lib → components}/roving-tabindex-DOg4z6ZU.js +0 -0
  375. /package/{lib → components}/slottable-request-event-BfUUt1Mh.cjs +0 -0
  376. /package/{lib → components}/slottable-request-event-DggLA4Rx.js +0 -0
  377. /package/{lib → components}/when-CDK1Tt5Y.js +0 -0
  378. /package/{lib → components}/when-CDZyJPvd.cjs +0 -0
@@ -15,7 +15,7 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { L as u, a as m, b as c, c as z, M as n } from "../index-ovT-qVzf.js";
18
+ import { L as u, a as m, b as c, c as z, M as n } from "../index-CMvLpPKD.js";
19
19
  const l = () => {
20
20
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
21
21
  const o = document.createElement("style");
@@ -0,0 +1,14 @@
1
+ import { CSSResultArray, PropertyValues } from 'lit';
2
+ import { LuzmoElement } from '../../utils/base';
3
+ declare const LuzmoMenuDivider_base: typeof LuzmoElement & {
4
+ new (...args: any[]): import("../..").SizedElementInterface;
5
+ prototype: import("../..").SizedElementInterface;
6
+ };
7
+ /**
8
+ * @element luzmo-menu-divider
9
+ */
10
+ export declare class LuzmoMenuDivider extends LuzmoMenuDivider_base {
11
+ static get styles(): CSSResultArray;
12
+ protected firstUpdated(changed: PropertyValues<this>): void;
13
+ }
14
+ export {};
@@ -0,0 +1,17 @@
1
+ import { CSSResultArray, TemplateResult } from 'lit';
2
+ import { LuzmoMenu } from './menu';
3
+ /**
4
+ * @element luzmo-menu-group
5
+ *
6
+ * @slot header - headline of the menu group
7
+ * @slot - menu items to be listed in the group
8
+ */
9
+ export declare class LuzmoMenuGroup extends LuzmoMenu {
10
+ static get styles(): CSSResultArray;
11
+ private headerId;
12
+ private headerElements;
13
+ private headerElement?;
14
+ render(): TemplateResult;
15
+ protected get ownRole(): string;
16
+ protected updateLabel(): void;
17
+ }
@@ -0,0 +1,125 @@
1
+ import { CSSResultArray, PropertyValues, TemplateResult } from 'lit';
2
+ import { Focusable } from '../../utils/focusable';
3
+ import { LuzmoOverlay } from '../overlay';
4
+ import { LuzmoMenu } from './menu';
5
+ type MenuCascadeItem = {
6
+ hadFocusRoot: boolean;
7
+ ancestorWithSelects?: HTMLElement;
8
+ };
9
+ export declare class MenuItemAddedOrUpdatedEvent extends Event {
10
+ menuCascade: WeakMap<HTMLElement, MenuCascadeItem>;
11
+ get item(): LuzmoMenuItem;
12
+ currentAncestorWithSelects?: LuzmoMenu;
13
+ private _item;
14
+ constructor(item: LuzmoMenuItem);
15
+ clear(item: LuzmoMenuItem): void;
16
+ }
17
+ export type MenuItemChildren = {
18
+ icon: Element[];
19
+ content: Node[];
20
+ };
21
+ declare const LuzmoMenuItem_base: typeof Focusable & {
22
+ new (...args: any[]): import("../../utils/observe-slot-presence").SlotPresenceObservingInterface;
23
+ prototype: import("../../utils/observe-slot-presence").SlotPresenceObservingInterface;
24
+ } & {
25
+ new (...args: any[]): import("../../utils/observe-slot-text").SlotTextObservingInterface;
26
+ prototype: import("../../utils/observe-slot-text").SlotTextObservingInterface;
27
+ } & {
28
+ new (...args: any[]): import("../../utils/like-anchor").LikeAnchorInterface;
29
+ prototype: import("../../utils/like-anchor").LikeAnchorInterface;
30
+ };
31
+ /**
32
+ * @element luzmo-menu-item
33
+ *
34
+ * @slot - text content to display within the Menu Item
35
+ * @slot description - description to be placed below the label of the Menu Item
36
+ * @slot icon - icon element to be placed at the start of the Menu Item
37
+ * @slot value - content placed at the end of the Menu Item like values, keyboard shortcuts, etc.
38
+ * @slot submenu - content placed in a submenu
39
+ * @fires luzmo-menu-item-added - announces the item has been added so a parent menu can take ownerships
40
+ */
41
+ export declare class LuzmoMenuItem extends LuzmoMenuItem_base {
42
+ static get styles(): CSSResultArray;
43
+ abortControllerSubmenu: AbortController;
44
+ active: boolean;
45
+ private dependencyManager;
46
+ focused: boolean;
47
+ selected: boolean;
48
+ get value(): string;
49
+ set value(value: string);
50
+ private _value;
51
+ /**
52
+ * @private
53
+ */
54
+ get itemText(): string;
55
+ hasSubmenu: boolean;
56
+ contentSlot: HTMLSlotElement;
57
+ iconSlot: HTMLSlotElement;
58
+ noWrap: boolean;
59
+ private anchorElement;
60
+ overlayElement: LuzmoOverlay;
61
+ private submenuElement?;
62
+ protected renderAngleIcon: (classes?: string[]) => TemplateResult;
63
+ protected renderCheckIcon: (classes?: string[]) => TemplateResult;
64
+ get focusElement(): HTMLElement;
65
+ protected get hasIcon(): boolean;
66
+ get itemChildren(): MenuItemChildren;
67
+ private _itemChildren?;
68
+ constructor();
69
+ open: boolean;
70
+ click(): void;
71
+ private handleClickCapture;
72
+ private handleSlottableRequest;
73
+ private proxyFocus;
74
+ private shouldProxyClick;
75
+ protected breakItemChildrenCache(): void;
76
+ protected renderSubmenu(): TemplateResult;
77
+ protected render(): TemplateResult;
78
+ protected manageSubmenu(event: Event & {
79
+ target: HTMLSlotElement;
80
+ }): void;
81
+ private handlePointerdown;
82
+ protected firstUpdated(changes: PropertyValues): void;
83
+ protected closeOverlaysForRoot(): void;
84
+ protected handleSubmenuClick(event: Event): void;
85
+ protected handleSubmenuFocus(): void;
86
+ protected handleBeforetoggle: (event: Event) => void;
87
+ protected handlePointerenter(): void;
88
+ protected leaveTimeout?: ReturnType<typeof setTimeout>;
89
+ protected recentlyLeftChild: boolean;
90
+ protected handlePointerleave(): void;
91
+ /**
92
+ * When there is a `change` event in the submenu for this item
93
+ * then we "click" this item to cascade the selection up the
94
+ * menu tree allowing all submenus between the initial selection
95
+ * and the root of the tree to have their selection changes and
96
+ * be closed.
97
+ */
98
+ protected handleSubmenuChange(event: Event): void;
99
+ protected handleSubmenuPointerenter(): void;
100
+ protected handleSubmenuPointerleave(): void;
101
+ protected handleSubmenuOpen(event: Event): void;
102
+ protected cleanup(): void;
103
+ openOverlay(): void;
104
+ updateAriaSelected(): void;
105
+ setRole(role: string): void;
106
+ protected updated(changes: PropertyValues<this>): void;
107
+ connectedCallback(): void;
108
+ _parentElement: HTMLElement;
109
+ disconnectedCallback(): void;
110
+ private willDispatchUpdate;
111
+ triggerUpdate(): Promise<void>;
112
+ dispatchUpdate(): void;
113
+ menuData: {
114
+ focusRoot?: LuzmoMenu;
115
+ parentMenu?: LuzmoMenu;
116
+ selectionRoot?: LuzmoMenu;
117
+ cleanupSteps: ((item: LuzmoMenuItem) => void)[];
118
+ };
119
+ }
120
+ declare global {
121
+ interface GlobalEventHandlersEventMap {
122
+ 'luzmo-menu-item-added-or-updated': MenuItemAddedOrUpdatedEvent;
123
+ }
124
+ }
125
+ export {};
@@ -0,0 +1,119 @@
1
+ import { CSSResultArray, PropertyValues, TemplateResult } from 'lit';
2
+ import { LuzmoElement } from '../../utils/base';
3
+ import { LuzmoMenuItem } from './menu-item';
4
+ export interface MenuChildItem {
5
+ menuItem: LuzmoMenuItem;
6
+ managed: boolean;
7
+ active: boolean;
8
+ focusable: boolean;
9
+ focusRoot: LuzmoMenu;
10
+ }
11
+ declare const LuzmoMenu_base: typeof LuzmoElement & {
12
+ new (...args: any[]): import("../..").SizedElementInterface;
13
+ prototype: import("../..").SizedElementInterface;
14
+ };
15
+ /**
16
+ * Luzmo Menu Component
17
+ * @element luzmo-menu
18
+ *
19
+ * @slot - menu items to be listed in the menu
20
+ * @fires change - Announces that the `value` of the element has changed
21
+ * @attr selects - whether the element has a specific selection algorithm that it applies
22
+ * to its item descendants. `single` allows only one descendent to be selected at a time.
23
+ * `multiple` allows many descendants to be selected. `inherit` will be applied dynamically
24
+ * when an ancestor of this element is actively managing the selection of its descendents.
25
+ * When the `selects` attribute is not present a `value` will not be maintained and the Menu
26
+ * Item children of this Menu will not have their `selected` state managed.
27
+ */
28
+ export declare class LuzmoMenu extends LuzmoMenu_base {
29
+ static get styles(): CSSResultArray;
30
+ private get isSubmenu();
31
+ label: string;
32
+ ignore: boolean;
33
+ selects: undefined | 'inherit' | 'single' | 'multiple';
34
+ value: string;
35
+ valueSeparator: string;
36
+ get selected(): string[];
37
+ set selected(selected: string[]);
38
+ selectedItems: LuzmoMenuItem[];
39
+ menuSlot: HTMLSlotElement;
40
+ focusedItemIndex: number;
41
+ focusInItemIndex: number;
42
+ protected _selected: string[];
43
+ protected childItemsUpdated: Promise<unknown[]>;
44
+ protected cacheUpdated: Promise<void>;
45
+ private childItemSet;
46
+ private selectedItemsMap;
47
+ get childItems(): LuzmoMenuItem[];
48
+ /**
49
+ * Hide this getter from web-component-analyzer until
50
+ * https://github.com/runem/web-component-analyzer/issues/131
51
+ * has been addressed.
52
+ *
53
+ * @private
54
+ */
55
+ get childRole(): string;
56
+ protected get ownRole(): string;
57
+ private cachedChildItems;
58
+ private resolvedSelects?;
59
+ private resolvedRole?;
60
+ private _hasUpdatedSelectedItemIndex;
61
+ private _willUpdateItems;
62
+ private pointerUpTarget;
63
+ private descendentOverlays;
64
+ constructor();
65
+ focus({ preventScroll }?: FocusOptions): void;
66
+ handleFocusin(event: FocusEvent): void;
67
+ startListeningToKeyboard(): void;
68
+ handleBlur(event: FocusEvent): void;
69
+ stopListeningToKeyboard(): void;
70
+ handleSubmenuClosed: (event: Event) => void;
71
+ handleSubmenuOpened: (event: Event) => void;
72
+ selectOrToggleItem(targetItem: LuzmoMenuItem): void;
73
+ handleKeydown(event: KeyboardEvent): void;
74
+ focusMenuItemByOffset(offset: number): LuzmoMenuItem;
75
+ updateSelectedItemIndex(): void;
76
+ closeDescendentOverlays(): void;
77
+ render(): TemplateResult;
78
+ connectedCallback(): void;
79
+ disconnectedCallback(): void;
80
+ protected handleDescendentOverlayOpened(event: Event): void;
81
+ protected handleDescendentOverlayClosed(event: Event): void;
82
+ protected navigateWithinMenu(event: KeyboardEvent): void;
83
+ protected navigateBetweenRelatedMenus(event: KeyboardEvent): void;
84
+ protected renderMenuItemSlot(): TemplateResult;
85
+ protected firstUpdated(changed: PropertyValues): void;
86
+ protected updated(changes: PropertyValues<this>): void;
87
+ protected selectsChanged(): void;
88
+ protected resolveCacheUpdated: () => void;
89
+ protected getUpdateComplete(): Promise<boolean>;
90
+ private updateCachedMenuItems;
91
+ /**
92
+ * When a descendant `<luzmo-menu-item>` element is added or updated it will dispatch
93
+ * this event to announce its presence in the DOM. During the CAPTURE phase the first
94
+ * Menu based element that the event encounters will manage the focus state of the
95
+ * dispatching `<luzmo-menu-item>` element.
96
+ * @param event
97
+ */
98
+ private onFocusableItemAddedOrUpdated;
99
+ /**
100
+ * When a descendant `<luzmo-menu-item>` element is added or updated it will dispatch
101
+ * this event to announce its presence in the DOM. During the BUBBLE phase the first
102
+ * Menu based element that the event encounters that does not inherit selection will
103
+ * manage the selection state of the dispatching `<luzmo-menu-item>` element.
104
+ * @param event
105
+ */
106
+ private onSelectableItemAddedOrUpdated;
107
+ private addChildItem;
108
+ private removeChildItem;
109
+ private handleClick;
110
+ private handlePointerup;
111
+ private handlePointerBasedSelection;
112
+ private prepareToCleanUp;
113
+ private handleItemsChanged;
114
+ private updateCache;
115
+ private updateItemFocus;
116
+ private forwardFocusVisibleToItem;
117
+ private handleSlotchange;
118
+ }
119
+ export {};
@@ -0,0 +1,39 @@
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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../base-B7Pfl2if.cjs"),u=require("../sized-mixin-D9LkrMjb.cjs");require("../text-field/index.cjs");const p=require("../manage-help-text-OHXDgxyj.cjs"),h=":host{display:inline-block}:host luzmo-text-field{width:100%}";var d=Object.defineProperty,l=(n,i,r,g)=>{for(var a=void 0,o=n.length-1,s;o>=0;o--)(s=n[o])&&(a=s(i,r,a)||a);return a&&d(i,r,a),a};class t extends p.ManageHelpText(u.SizedMixin(e.LuzmoElement,{noDefaultSize:!0})){constructor(){super(...arguments),this.allowedKeys="",this.i18nPlaceholder={},this.type="text",this.grows=!1,this.maxlength=-1,this.minlength=-1,this.multiline=!1,this.rows=-1,this.quiet=!1,this.disabled=!1,this.required=!1,this.readonly=!1,this.language="en",this.defaultLanguage="en",this.value={}}static get styles(){return[e.r(h)]}get _localizedValue(){const i={...this.value};return i[this.language]??i[this.defaultLanguage]??Object.values(i)[0]??""}get _localizedPlaceholder(){const i={...this.i18nPlaceholder};return i[this.language]??i[this.defaultLanguage]??Object.values(i)[0]??""}handleChange(i){i.stopPropagation(),i.preventDefault();const r=i.target;this.value[this.language]!==r.value&&(this.value={...this.value,[this.language]:r.value},this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,cancelable:!0,detail:{value:this.value}})))}render(){return e.x`
19
+ <luzmo-text-field
20
+ .value=${this._localizedValue}
21
+ .size=${this.size}
22
+ .placeholder=${this._localizedPlaceholder}
23
+ .name=${this.name}
24
+ .allowedKeys=${this.allowedKeys}
25
+ .type=${this.type}
26
+ .pattern=${this.pattern}
27
+ .maxlength=${this.maxlength}
28
+ .minlength=${this.minlength}
29
+ ?multiline=${this.multiline}
30
+ ?grows=${this.grows}
31
+ .rows=${this.rows}
32
+ ?quiet=${this.quiet}
33
+ ?disabled=${this.disabled}
34
+ ?readonly=${this.readonly}
35
+ ?required=${this.required}
36
+ @input=${this.handleChange}
37
+ @change=${this.handleChange}
38
+ ></luzmo-text-field>
39
+ `}}l([e.n({attribute:"allowed-keys"})],t.prototype,"allowedKeys");l([e.n({type:String,reflect:!0})],t.prototype,"name");l([e.n({type:Object,attribute:"i18n-placeholder"})],t.prototype,"i18nPlaceholder");l([e.n({attribute:"type",reflect:!0})],t.prototype,"type");l([e.n()],t.prototype,"pattern");l([e.n({type:Boolean,reflect:!0})],t.prototype,"grows");l([e.n({type:Number})],t.prototype,"maxlength");l([e.n({type:Number})],t.prototype,"minlength");l([e.n({type:Boolean,reflect:!0})],t.prototype,"multiline");l([e.n({type:Number})],t.prototype,"rows");l([e.n({type:Boolean,reflect:!0})],t.prototype,"quiet");l([e.n({type:Boolean,reflect:!0})],t.prototype,"disabled");l([e.n({type:Boolean,reflect:!0})],t.prototype,"required");l([e.n({type:Boolean,reflect:!0})],t.prototype,"readonly");l([e.n({type:String,reflect:!0})],t.prototype,"autocomplete");l([e.n({type:String,reflect:!0})],t.prototype,"language");l([e.n({type:String,reflect:!0})],t.prototype,"defaultLanguage");l([e.n({type:Object,reflect:!0})],t.prototype,"value");customElements.get("luzmo-multi-language-field")||customElements.define("luzmo-multi-language-field",t);exports.LuzmoMultiLangField=t;
@@ -0,0 +1,7 @@
1
+ import { LuzmoMultiLangField } from './multi-language-field';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-multi-language-field': LuzmoMultiLangField;
5
+ }
6
+ }
7
+ export { LuzmoMultiLangField } from './multi-language-field';
@@ -15,11 +15,10 @@
15
15
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
16
16
  * SOFTWARE.
17
17
  * */
18
- import { unsafeCSS as m, html as c } from "lit";
19
- import { L as d, n as e } from "../base-nYalvNMy.js";
20
- import { S as p } from "../sized-mixin-Dl0KoEcV.js";
18
+ import { a as m, r as c, x as d, n as e } from "../base-CawdqE7p.js";
19
+ import { S as p } from "../sized-mixin-BxMraZLS.js";
21
20
  import "../text-field/index.js";
22
- import { M as z } from "../manage-help-text-2mSEy-AD.js";
21
+ import { M as z } from "../manage-help-text-Cozl9Sgn.js";
23
22
  const s = () => {
24
23
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
25
24
  const r = document.createElement("style");
@@ -34,7 +33,7 @@ var h = Object.defineProperty, l = (r, t, i, f) => {
34
33
  return u && h(t, i, u), u;
35
34
  };
36
35
  class o extends z(
37
- p(d, {
36
+ p(m, {
38
37
  noDefaultSize: !0
39
38
  })
40
39
  ) {
@@ -42,7 +41,7 @@ class o extends z(
42
41
  super(...arguments), this.allowedKeys = "", this.i18nPlaceholder = {}, this.type = "text", this.grows = !1, this.maxlength = -1, this.minlength = -1, this.multiline = !1, this.rows = -1, this.quiet = !1, this.disabled = !1, this.required = !1, this.readonly = !1, this.language = "en", this.defaultLanguage = "en", this.value = {};
43
42
  }
44
43
  static get styles() {
45
- return [m(g)];
44
+ return [c(g)];
46
45
  }
47
46
  get _localizedValue() {
48
47
  const t = { ...this.value };
@@ -65,7 +64,7 @@ class o extends z(
65
64
  ));
66
65
  }
67
66
  render() {
68
- return c`
67
+ return d`
69
68
  <luzmo-text-field
70
69
  .value=${this._localizedValue}
71
70
  .size=${this.size}
@@ -0,0 +1,41 @@
1
+ import { CSSResultArray } from 'lit';
2
+ import { LuzmoElement } from '../../utils/base';
3
+ import '../text-field';
4
+ declare const textFieldTypes: readonly ["text", "url", "tel", "email", "password"];
5
+ export type LuzmoTextFieldType = (typeof textFieldTypes)[number];
6
+ declare const LuzmoMultiLangField_base: typeof LuzmoElement & {
7
+ new (...args: any[]): import("../..").SizedElementInterface;
8
+ prototype: import("../..").SizedElementInterface;
9
+ } & {
10
+ new (...args: any[]): import("../text-field/manage-help-text").HelpTextElementInterface;
11
+ prototype: import("../text-field/manage-help-text").HelpTextElementInterface;
12
+ };
13
+ /**
14
+ * @fires change - An change of the i18n value happened by the user
15
+ */
16
+ export declare class LuzmoMultiLangField extends LuzmoMultiLangField_base {
17
+ static get styles(): CSSResultArray;
18
+ allowedKeys: string;
19
+ name: string | undefined;
20
+ i18nPlaceholder: Record<string, string>;
21
+ type: LuzmoTextFieldType;
22
+ pattern?: string;
23
+ grows: boolean;
24
+ maxlength: number;
25
+ minlength: number;
26
+ multiline: boolean;
27
+ rows: number;
28
+ quiet: boolean;
29
+ disabled: boolean;
30
+ required: boolean;
31
+ readonly: boolean;
32
+ autocomplete?: 'list' | 'none' | HTMLInputElement['autocomplete'] | HTMLTextAreaElement['autocomplete'];
33
+ language: string;
34
+ defaultLanguage: string;
35
+ value: Record<string, string>;
36
+ private get _localizedValue();
37
+ private get _localizedPlaceholder();
38
+ private handleChange;
39
+ render(): import("lit-html").TemplateResult<1>;
40
+ }
41
+ export {};
@@ -0,0 +1,57 @@
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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("@luzmo/icons"),p=require("../base-B7Pfl2if.cjs"),K=require("../query-BL-TJj7K.cjs"),v=require("../platform-BiXhwqk3.cjs"),_=require("../language-resolution-DJzmyzZq.cjs"),G=require("../streaming-listener-KVex1WWB.cjs");require("../infield-button/index.cjs");const W=require("../text-field-5_ev9way.cjs");let $=new Map,P=!1;try{P=new Intl.NumberFormat("de-DE",{signDisplay:"exceptZero"}).resolvedOptions().signDisplay==="exceptZero"}catch{}let w=!1;try{w=new Intl.NumberFormat("de-DE",{style:"unit",unit:"degree"}).resolvedOptions().style==="unit"}catch{}const I={degree:{narrow:{default:"°","ja-JP":" 度","zh-TW":"度","sl-SI":" °"}}};class z{format(e){let t="";if(!P&&this.options.signDisplay!=null?t=X(this.numberFormatter,this.options.signDisplay,e):t=this.numberFormatter.format(e),this.options.style==="unit"&&!w){var r;let{unit:o,unitDisplay:i="short",locale:a}=this.resolvedOptions();if(!o)return t;let n=(r=I[o])===null||r===void 0?void 0:r[i];t+=n[a]||n.default}return t}formatToParts(e){return this.numberFormatter.formatToParts(e)}formatRange(e,t){if(typeof this.numberFormatter.formatRange=="function")return this.numberFormatter.formatRange(e,t);if(t<e)throw new RangeError("End date must be >= start date");return`${this.format(e)} – ${this.format(t)}`}formatRangeToParts(e,t){if(typeof this.numberFormatter.formatRangeToParts=="function")return this.numberFormatter.formatRangeToParts(e,t);if(t<e)throw new RangeError("End date must be >= start date");let r=this.numberFormatter.formatToParts(e),o=this.numberFormatter.formatToParts(t);return[...r.map(i=>({...i,source:"startRange"})),{type:"literal",value:" – ",source:"shared"},...o.map(i=>({...i,source:"endRange"}))]}resolvedOptions(){let e=this.numberFormatter.resolvedOptions();return!P&&this.options.signDisplay!=null&&(e={...e,signDisplay:this.options.signDisplay}),!w&&this.options.style==="unit"&&(e={...e,style:"unit",unit:this.options.unit,unitDisplay:this.options.unitDisplay}),e}constructor(e,t={}){this.numberFormatter=Y(e,t),this.options=t}}function Y(s,e={}){let{numberingSystem:t}=e;if(t&&s.includes("-nu-")&&(s.includes("-u-")||(s+="-u-"),s+=`-nu-${t}`),e.style==="unit"&&!w){var r;let{unit:a,unitDisplay:n="short"}=e;if(!a)throw new Error('unit option must be provided with style: "unit"');if(!(!((r=I[a])===null||r===void 0)&&r[n]))throw new Error(`Unsupported unit ${a} with unitDisplay = ${n}`);e={...e,style:"decimal"}}let o=s+(e?Object.entries(e).sort((a,n)=>a[0]<n[0]?-1:1).join():"");if($.has(o))return $.get(o);let i=new Intl.NumberFormat(s,e);return $.set(o,i),i}function X(s,e,t){if(e==="auto")return s.format(t);if(e==="never")return s.format(Math.abs(t));{let r=!1;if(e==="always"?r=t>0||Object.is(t,0):e==="exceptZero"&&(Object.is(t,-0)||Object.is(t,0)?t=Math.abs(t):r=t>0),r){let o=s.format(-t),i=s.format(t),a=o.replace(i,"").replace(/\u200e|\u061C/,"");return[...a].length!==1&&console.warn("@react-aria/i18n polyfill for NumberFormat signDisplay: Unsupported case"),o.replace(i,"!!!").replace(a,"+").replace("!!!",i)}else return s.format(t)}}const Z=new RegExp("^.*\\(.*\\).*$"),J=["latn","arab","hanidec","deva","beng"];class S{parse(e){return k(this.locale,this.options,e).parse(e)}isValidPartialNumber(e,t,r){return k(this.locale,this.options,e).isValidPartialNumber(e,t,r)}getNumberingSystem(e){return k(this.locale,this.options,e).options.numberingSystem}constructor(e,t={}){this.locale=e,this.options=t}}const E=new Map;function k(s,e,t){let r=D(s,e);if(!s.includes("-nu-")&&!r.isValidPartialNumber(t)){for(let o of J)if(o!==r.options.numberingSystem){let i=D(s+(s.includes("-u-")?"-nu-":"-u-nu-")+o,e);if(i.isValidPartialNumber(t))return i}}return r}function D(s,e){let t=s+(e?Object.entries(e).sort((o,i)=>o[0]<i[0]?-1:1).join():""),r=E.get(t);return r||(r=new Q(s,e),E.set(t,r)),r}class Q{parse(e){let t=this.sanitize(e);if(this.symbols.group&&(t=g(t,this.symbols.group,"")),this.symbols.decimal&&(t=t.replace(this.symbols.decimal,".")),this.symbols.minusSign&&(t=t.replace(this.symbols.minusSign,"-")),t=t.replace(this.symbols.numeral,this.symbols.index),this.options.style==="percent"){let a=t.indexOf("-");t=t.replace("-","");let n=t.indexOf(".");n===-1&&(n=t.length),t=t.replace(".",""),n-2===0?t=`0.${t}`:n-2===-1?t=`0.0${t}`:n-2===-2?t="0.00":t=`${t.slice(0,n-2)}.${t.slice(n-2)}`,a>-1&&(t=`-${t}`)}let r=t?+t:NaN;if(isNaN(r))return NaN;if(this.options.style==="percent"){var o,i;let a={...this.options,style:"decimal",minimumFractionDigits:Math.min(((o=this.options.minimumFractionDigits)!==null&&o!==void 0?o:0)+2,20),maximumFractionDigits:Math.min(((i=this.options.maximumFractionDigits)!==null&&i!==void 0?i:0)+2,20)};return new S(this.locale,a).parse(new z(this.locale,a).format(r))}return this.options.currencySign==="accounting"&&Z.test(e)&&(r=-1*r),r}sanitize(e){return e=e.replace(this.symbols.literals,""),this.symbols.minusSign&&(e=e.replace("-",this.symbols.minusSign)),this.options.numberingSystem==="arab"&&(this.symbols.decimal&&(e=e.replace(",",this.symbols.decimal),e=e.replace("،",this.symbols.decimal)),this.symbols.group&&(e=g(e,".",this.symbols.group))),this.options.locale==="fr-FR"&&(e=g(e,"."," ")),e}isValidPartialNumber(e,t=-1/0,r=1/0){return e=this.sanitize(e),this.symbols.minusSign&&e.startsWith(this.symbols.minusSign)&&t<0?e=e.slice(this.symbols.minusSign.length):this.symbols.plusSign&&e.startsWith(this.symbols.plusSign)&&r>0&&(e=e.slice(this.symbols.plusSign.length)),this.symbols.group&&e.startsWith(this.symbols.group)||this.symbols.decimal&&e.indexOf(this.symbols.decimal)>-1&&this.options.maximumFractionDigits===0?!1:(this.symbols.group&&(e=g(e,this.symbols.group,"")),e=e.replace(this.symbols.numeral,""),this.symbols.decimal&&(e=e.replace(this.symbols.decimal,"")),e.length===0)}constructor(e,t={}){this.locale=e,this.formatter=new Intl.NumberFormat(e,t),this.options=this.formatter.resolvedOptions(),this.symbols=te(e,this.formatter,this.options,t);var r,o;this.options.style==="percent"&&(((r=this.options.minimumFractionDigits)!==null&&r!==void 0?r:0)>18||((o=this.options.maximumFractionDigits)!==null&&o!==void 0?o:0)>18)&&console.warn("NumberParser cannot handle percentages with greater than 18 decimal places, please reduce the number in your options.")}}const V=new Set(["decimal","fraction","integer","minusSign","plusSign","group"]),ee=[0,4,2,1,11,20,3,7,100,21,.1,1.1];function te(s,e,t,r){var o,i,a,n;let d=new Intl.NumberFormat(s,{...t,minimumSignificantDigits:1,maximumSignificantDigits:21,roundingIncrement:1,roundingPriority:"auto",roundingMode:"halfExpand"}),u=d.formatToParts(-10000.111),m=d.formatToParts(10000.111),M=ee.map(l=>d.formatToParts(l));var x;let O=(x=(o=u.find(l=>l.type==="minusSign"))===null||o===void 0?void 0:o.value)!==null&&x!==void 0?x:"-",F=(i=m.find(l=>l.type==="plusSign"))===null||i===void 0?void 0:i.value;!F&&((r==null?void 0:r.signDisplay)==="exceptZero"||(r==null?void 0:r.signDisplay)==="always")&&(F="+");let L=(a=new Intl.NumberFormat(s,{...t,minimumFractionDigits:2,maximumFractionDigits:2}).formatToParts(.001).find(l=>l.type==="decimal"))===null||a===void 0?void 0:a.value,T=(n=u.find(l=>l.type==="group"))===null||n===void 0?void 0:n.value,A=u.filter(l=>!V.has(l.type)).map(l=>R(l.value)),U=M.flatMap(l=>l.filter(b=>!V.has(b.type)).map(b=>R(b.value))),C=[...new Set([...A,...U])].sort((l,b)=>b.length-l.length),j=C.length===0?new RegExp("[\\p{White_Space}]","gu"):new RegExp(`${C.join("|")}|[\\p{White_Space}]`,"gu"),N=[...new Intl.NumberFormat(t.locale,{useGrouping:!1}).format(9876543210)].reverse(),B=new Map(N.map((l,b)=>[l,b])),H=new RegExp(`[${N.join("")}]`,"g");return{minusSign:O,plusSign:F,decimal:L,group:T,literals:j,numeral:H,index:l=>String(B.get(l))}}function g(s,e,t){return s.replaceAll?s.replaceAll(e,t):s.split(e).join(t)}function R(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}const re='#text-field{--stepper-width: calc( var(--luzmo-stepper-height, var(--stepper-height)) * var( --luzmo-stepper-min-width-multiplier, var(--stepper-min-width-multiplier) ) + var(--luzmo-stepper-button-width, var(--stepper-button-width)) + var(--luzmo-stepper-border-width, var(--stepper-border-width)) * 2 );--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color, var( --luzmo-stepper-buttons-border-color, var(--stepper-buttons-border-color) ) );--luzmo-infield-button-border-width: var( --luzmo-stepper-button-border-width, var(--stepper-button-border-width) );--luzmo-infield-button-border-radius-reset: var( --stepper-button-border-radius-reset );--luzmo-text-field-border-width: var( --luzmo-stepper-border-width, var(--stepper-border-width) );inline-size:var(--luzmo-stepper-width, var(--stepper-width));block-size:var(--luzmo-stepper-height, var(--stepper-height));border-radius:var(--luzmo-stepper-border-radius, var(--stepper-border-radius));border-color:var(--highcontrast-stepper-border-color, var(--luzmo-stepper-border-color, var(--stepper-border-color)));flex-flow:row;display:inline-flex;position:relative}#text-field:after{content:"";inline-size:100%;block-size:var(--luzmo-stepper-focus-indicator-width, var(--stepper-focus-indicator-width));position:absolute;inset-block-end:calc((var(--luzmo-stepper-focus-indicator-gap, var(--stepper-focus-indicator-gap)) + var(--luzmo-stepper-focus-indicator-width, var(--stepper-focus-indicator-width))) * -1);inset-inline-start:0}:host([focused]) #text-field,#text-field:focus{--luzmo-stepper-border-color: var( --highcontrast-stepper-border-color-focus, var(--luzmo-stepper-border-color-focus, var(--stepper-border-color-focus)) );--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-focus, var( --luzmo-stepper-buttons-border-color-focus, var(--stepper-buttons-border-color-focus) ) )}:host([focused]:not([disabled])) #text-field .input,:host(:not([disabled])) #text-field:focus .input{outline:none}:host([focused]:not([disabled])) #text-field .buttons,:host([focused]:not([disabled])) #text-field .input,:host(:not([disabled])) #text-field:focus .buttons,:host(:not([disabled])) #text-field:focus .input{border-color:var(--highcontrast-stepper-border-color-focus, var(--luzmo-stepper-border-color-focus, var(--stepper-border-color-focus)))}:host([keyboard-focused]) #text-field,#text-field:focus-visible{--luzmo-stepper-border-color: var( --highcontrast-stepper-border-color-keyboard-focus, var( --luzmo-stepper-buttons-border-color-keyboard-focus, var(--stepper-buttons-border-color-keyboard-focus) ) );--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-keyboard-focus, var( --luzmo-stepper-buttons-border-color-keyboard-focus, var(--stepper-buttons-border-color-keyboard-focus) ) )}:host([keyboard-focused]:not([disabled])) #text-field,:host(:not([disabled])) #text-field:focus-visible{outline:var(--luzmo-stepper-focus-indicator-width, var(--stepper-focus-indicator-width)) solid;outline-color:var(--highcontrast-stepper-focus-indicator-color, var(--luzmo-stepper-focus-indicator-color, var(--stepper-focus-indicator-color)));outline-offset:var(--luzmo-stepper-focus-indicator-gap, var(--stepper-focus-indicator-gap))}:host([keyboard-focused]:not([disabled])) #text-field .input,:host(:not([disabled])) #text-field:focus-visible .input{outline:none}:host([keyboard-focused]:not([disabled])) #text-field .buttons,:host([keyboard-focused]:not([disabled])) #text-field .input,:host(:not([disabled])) #text-field:focus-visible .buttons,:host(:not([disabled])) #text-field:focus-visible .input{border-color:var(--highcontrast-stepper-border-color-keyboard-focus, var(--luzmo-stepper-border-color-keyboard-focus, var(--stepper-border-color-keyboard-focus)))}:host([invalid]:not([disabled])) #text-field{--luzmo-stepper-border-color: var( --luzmo-stepper-border-color-invalid, var(--stepper-border-color-invalid) );--luzmo-stepper-border-color-hover: var( --luzmo-stepper-border-color-hover-invalid, var(--stepper-border-color-hover-invalid) );--luzmo-stepper-border-color-focus: var( --luzmo-stepper-border-color-focus-invalid, var(--stepper-border-color-focus-invalid) );--luzmo-stepper-border-color-focus-hover: var( --luzmo-stepper-border-color-focus-hover-invalid, var(--stepper-border-color-focus-hover-invalid) );--luzmo-stepper-border-color-keyboard-focus: var( --luzmo-stepper-border-color-keyboard-focus-invalid, var(--stepper-border-color-keyboard-focus-invalid) );--luzmo-infield-button-border-color: var( --luzmo-stepper-border-color-invalid, var(--stepper-border-color-invalid) );--luzmo-text-field-icon-spacing-inline-start-invalid: 0}:host([invalid][focused]:not([disabled])) #text-field,:host([invalid]:not([disabled])) #text-field:focus{--luzmo-infield-button-border-color: var( --luzmo-stepper-border-color-focus-invalid, var(--stepper-border-color-focus-invalid) )}:host([invalid][keyboard-focused]:not([disabled])) #text-field,:host([invalid]:not([disabled])) #text-field:focus-visible{--luzmo-infield-button-border-color: var( --luzmo-stepper-border-color-keyboard-focus-invalid, var(--stepper-border-color-keyboard-focus-invalid) )}:host([disabled]) #text-field{--luzmo-stepper-border-color: var(--stepper-button-border-color-disabled);--luzmo-stepper-border-color-hover: var( --stepper-button-border-color-disabled );--luzmo-stepper-border-color-focus: var( --stepper-button-border-color-disabled );--luzmo-stepper-border-color-focus-hover: var( --stepper-button-border-color-disabled );--luzmo-stepper-border-color-keyboard-focus: var( --stepper-button-border-color-disabled );--luzmo-stepper-buttons-background-color: var( --stepper-buttons-background-color-disabled );--luzmo-infield-button-border-width: var( --stepper-button-border-width-disabled );--luzmo-infield-button-border-color: var( --stepper-button-border-color-disabled );--luzmo-text-field-border-color-disabled: var( --stepper-button-border-color-disabled )}#text-field .input{border-color:var(--highcontrast-stepper-border-color, var(--luzmo-stepper-border-color, var(--stepper-border-color)));border-inline-end-width:0;border-start-end-radius:0;border-end-end-radius:0}#text-field.hide-stepper .input{border-inline-end-width:var(--luzmo-stepper-border-width, var(--stepper-border-width));border-start-end-radius:var(--luzmo-stepper-border-radius, var(--stepper-border-radius));border-end-end-radius:var(--luzmo-stepper-border-radius, var(--stepper-border-radius))}#text-field .buttons{box-sizing:border-box;block-size:var(--luzmo-stepper-height, var(--stepper-height));inline-size:var(--luzmo-stepper-button-width, var(--stepper-button-width));border-color:var(--highcontrast-stepper-border-color, var(--luzmo-stepper-border-color, var(--stepper-border-color)));border-style:var(--luzmo-stepper-buttons-border-style, var(--stepper-buttons-border-style));border-width:var(--highcontrast-stepper-buttons-border-width, var(--luzmo-stepper-buttons-border-width, var(--stepper-buttons-border-width)));background-color:var(--highcontrast-stepper-buttons-background-color, var(--luzmo-stepper-buttons-background-color, var(--stepper-buttons-background-color)));transition:border-color var(--luzmo-stepper-animation-duration, var(--stepper-animation-duration)) ease-in-out;border-inline-start-width:0;border-start-end-radius:var(--luzmo-stepper-border-radius, var(--stepper-border-radius));border-end-end-radius:var(--luzmo-stepper-border-radius, var(--stepper-border-radius));flex-direction:column;justify-content:center;display:flex}:host([quiet]) #text-field{border-start-start-radius:0;border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:0}:host([quiet]) #text-field .input{--luzmo-text-field-focus-indicator-color: transparent}:host([quiet]) #text-field.hide-stepper .input{border-inline-end-width:0;border-end-end-radius:0}:host([quiet]) #text-field .buttons{--luzmo-infield-button-border-color: transparent;border-width:0;border-block-end-width:var(--luzmo-stepper-border-width, var(--stepper-border-width));border-block-end-color:var(--highcontrast-stepper-border-color, var(--luzmo-stepper-border-color, var(--stepper-border-color)));border-block-end-style:solid;border-end-end-radius:0}:host([quiet]) #text-field .button{--luzmo-infield-button-width-stacked: var( --luzmo-stepper-button-width-quiet, var(--stepper-button-width) );--luzmo-infield-button-border-color: var( --luzmo-stepper-border-color-quiet, var(--stepper-button-border-color-quiet) );--luzmo-infield-button-stacked-bottom-border-block-end-width: var( --luzmo-stepper-border-width, var(--stepper-border-width) );--luzmo-infield-button-stacked-bottom-border-radius-end-end: 0;--luzmo-infield-button-stacked-bottom-border-radius-end-start: 0;--luzmo-infield-button-fill-justify-content: flex-end;padding:0}:host([quiet]) #text-field .buttons,:host([quiet]) #text-field .input{background-color:initial}:host([quiet][focused]) #text-field,:host([quiet]) #text-field:focus{--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-focus, var(--luzmo-stepper-border-color-focus, var(--stepper-border-color-focus)) )}:host([quiet][keyboard-focused]:not([disabled])) #text-field{--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-keyboard-focus, var( --luzmo-stepper-border-color-keyboard-focus, var(--stepper-border-color-keyboard-focus) ) );outline:none}:host([quiet][keyboard-focused]:not([disabled])) #text-field:after{background-color:var(--highcontrast-stepper-focus-indicator-color, var(--luzmo-stepper-focus-indicator-color, var(--stepper-focus-indicator-color)))}@media (hover: hover){:host(:hover:not([disabled])) #text-field{--luzmo-stepper-border-color: var( --highcontrast-stepper-border-color-hover, var(--luzmo-stepper-border-color-hover, var(--stepper-border-color-hover)) );--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-hover, var( --luzmo-stepper-buttons-border-color-hover, var(--stepper-buttons-border-color-hover) ) )}:host([focused]:hover) #text-field,:host(:hover) #text-field:focus{--luzmo-stepper-border-color: var( --highcontrast-stepper-border-color-focus-hover, var( --luzmo-stepper-buttons-border-color-focus-hover, var(--stepper-buttons-border-color-focus-hover) ) );--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-focus-hover, var( --luzmo-stepper-buttons-border-color-focus-hover, var(--stepper-buttons-border-color-focus-hover) ) )}:host([focused]:hover) #text-field .buttons,:host([focused]:hover) #text-field .input,:host(:hover) #text-field:focus .buttons,:host(:hover) #text-field:focus .input{border-color:var(--highcontrast-stepper-border-color-focus-hover, var(--luzmo-stepper-border-color-focus-hover, var(--stepper-border-color-focus-hover)))}:host([invalid]:not([disabled]):hover) #text-field{--luzmo-infield-button-border-color: var( --luzmo-stepper-border-color-hover-invalid, var(--stepper-border-color-hover-invalid) )}:host([invalid][focused]:not([disabled]):hover) #text-field,:host([invalid]:not([disabled]):hover) #text-field:focus{--luzmo-infield-button-border-color: var( --luzmo-stepper-border-color-focus-hover-invalid, var(--stepper-border-color-focus-hover-invalid) )}:host([quiet]:not([disabled]):hover) #text-field{--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-hover, var(--luzmo-stepper-border-color-hover, var(--stepper-border-color-hover)) )}:host([quiet]:not([disabled]):hover) #text-field .buttons{background-color:initial}:host([quiet][focused]:hover) #text-field,:host([quiet]:hover) #text-field:focus{--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-focus-hover, var( --luzmo-stepper-border-color-focus-hover, var(--stepper-border-color-focus-hover) ) )}:host([quiet][keyboard-focused]:not([disabled]):hover) #text-field{--luzmo-infield-button-border-color: var( --highcontrast-stepper-border-color-hover, var(--luzmo-stepper-border-color-hover, var(--stepper-border-color-hover)) )}}@media (forced-colors: active){:host{--highcontrast-stepper-border-color: CanvasText;--highcontrast-stepper-border-color-hover: Highlight;--highcontrast-stepper-border-color-focus: Highlight;--highcontrast-stepper-border-color-focus-hover: Highlight;--highcontrast-stepper-border-color-keyboard-focus: CanvasText;--highcontrast-stepper-button-background-color-default: Canvas;--highcontrast-stepper-button-background-color-hover: Canvas;--highcontrast-stepper-button-background-color-focus: Canvas;--highcontrast-stepper-button-background-color-keyboard-focus: Canvas;--highcontrast-stepper-focus-indicator-color: Highlight}:host([invalid]) #text-field{--highcontrast-stepper-border-color: Highlight;--highcontrast-stepper-border-color-hover: Highlight;--highcontrast-stepper-border-color-focus: Highlight;--highcontrast-stepper-border-color-focus-hover: Highlight;--highcontrast-stepper-border-color-keyboard-focus: Highlight;--highcontrast-infield-button-border-color: Highlight}:host([disabled]) #text-field{--highcontrast-stepper-border-color: GrayText;--highcontrast-infield-button-border-color: GrayText;--highcontrast-stepper-buttons-border-width: var( --luzmo-stepper-border-width, var(--stepper-border-width) )}}:host{--text-field-minimum-width-multiplier: 1.75;--stepper-border-width: var(--luzmo-border-width);--stepper-border-color: var(--luzmo-border-color);--stepper-border-color-hover: var(--luzmo-border-color-full-hover);--stepper-border-color-focus: var(--luzmo-border-color-full-focus);--stepper-border-color-focus-hover: var(--luzmo-border-color-full-focus);--stepper-border-color-keyboard-focus: var(--luzmo-border-color-full-focus);--stepper-border-radius: var(--luzmo-border-radius-s);--stepper-min-width-multiplier: 1.5;--stepper-animation-duration: var(--luzmo-animation-duration);--stepper-buttons-background-color: var(--luzmo-background-color);--stepper-buttons-border-style: none;--stepper-buttons-border-width: 0;--stepper-buttons-border-color: var(--luzmo-border-color);--stepper-buttons-border-color-hover: var(--luzmo-border-color-full-hover);--stepper-buttons-border-color-focus: var(--luzmo-border-color-full-focus);--stepper-buttons-border-color-keyboard-focus: var( --luzmo-border-color-focus );--stepper-button-padding: 0px;--stepper-button-border-radius-reset: 0;--stepper-button-border-width: var(--luzmo-border-width);--stepper-button-background-color-focus: var(--luzmo-background-color-focus);--stepper-button-background-color-keyboard-focus: var( --luzmo-background-color-focus );--stepper-border-color-invalid: var(--luzmo-color-negative);--stepper-border-color-hover-invalid: var(--luzmo-color-negative-hover);--stepper-border-color-focus-invalid: var(--luzmo-color-negative-focus);--stepper-border-color-focus-hover-invalid: var(--luzmo-color-negative-focus);--stepper-border-color-keyboard-focus-invalid: var( --luzmo-color-negative-focus );--stepper-focus-indicator-width: var(--luzmo-indicator-width);--stepper-focus-indicator-gap: calc(-1 * var(--luzmo-border-width));--stepper-focus-indicator-color: var(--luzmo-indicator-color);--stepper-button-border-color-quiet: transparent;--stepper-button-border-color-disabled: var(--luzmo-border-color-disabled);--stepper-button-border-width-disabled: var(--luzmo-border-width);--stepper-buttons-background-color-disabled: var( --luzmo-background-color-disabled );--stepper-button-width: 28px;--stepper-height: var(--luzmo-component-height)}:host([size=s]) #text-field{--stepper-button-width: 16px;--stepper-height: var(--luzmo-component-height-s)}:host([size=m]) #text-field{--stepper-button-width: 20px;--stepper-height: var(--luzmo-component-height)}:host([size=l]) #text-field{--stepper-button-width: 28px;--stepper-height: var(--luzmo-component-height-l)}:host([size=xl]) #text-field{--stepper-button-width: 36px;--stepper-height: var(--luzmo-component-height-xl)}:host{inline-size:var(--luzmo-stepper-width, var(--stepper-width));--swc-number-field-width: calc( var(--luzmo-stepper-height, var(--stepper-height)) * var( --luzmo-stepper-min-width-multiplier, var(--text-field-minimum-width-multiplier) ) + var(--luzmo-stepper-button-width, var(--stepper-button-width)) + var(--luzmo-stepper-border-width, var(--stepper-border-width)) * 2 );--luzmo-infield-button-border-width: var(--unset-value-resets-inheritance);--stepper-width: var(--swc-number-field-width)}:host([size=s]){--stepper-width: calc(var(--swc-number-field-width) / 5 * 4)}:host([size=l]){--stepper-width: calc(var(--swc-number-field-width) * 1.25)}:host([size=xl]){--stepper-width: calc(var(--swc-number-field-width) * 1.25 * 1.25)}#text-field{inline-size:100%}.input{font-variant-numeric:tabular-nums}:host([readonly]) .buttons{pointer-events:none;visibility:hidden}:host([readonly]:not([disabled],[invalid],[focused],[keyboard-focused])) #text-field:hover .input{border-color:transparent}:host([hide-stepper]:not([quiet])) #text-field input{border:var(--luzmo-text-field-border-width, var(--text-field-border-width)) solid var(--luzmo-text-field-border-color, var(--text-field-border-color));border-radius:var(--text-field-corner-radius)}:host([quiet]) #text-field .button{--luzmo-infield-button-border-color: var( --luzmo-infield-border-color-quiet, transparent );--luzmo-infield-button-edge-to-fill: 0;--luzmo-infield-button-border-width: var( --luzmo-infield-button-border-width-quiet, 0 )}';var oe=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,c=(s,e,t,r)=>{for(var o=r>1?void 0:r?ie(e,t):e,i=s.length-1,a;i>=0;i--)(a=s[i])&&(o=(r?a(e,t,o):a(o))||o);return r&&o&&oe(e,t,o),o};const se=5,ae=100,y="-",q={"1":"1","2":"2","3":"3","4":"4","5":"5","6":"6","7":"7","8":"8","9":"9","0":"0","、":",",",":",","。":".",".":".","%":"%","+":"+",ー:"-",一:"1",二:"2",三:"3",四:"4",五:"5",六:"6",七:"7",八:"8",九:"9",零:"0"};class h extends W.LuzmoTextFieldBase{constructor(){super(...arguments),this.focused=!1,this._forcedUnit="",this.formatOptions={},this.hideStepper=!1,this.indeterminate=!1,this.keyboardFocused=!1,this.managedInput=!1,this.stepModifier=10,this._value=Number.NaN,this._trackingValue="",this.decimalsChars=new Set([".",","]),this.valueBeforeFocus="",this.isIntentDecimal=!1,this.changeCount=0,this.languageResolver=new _.LanguageResolutionController(this),this.wasIndeterminate=!1,this.hasRecentlyReceivedPointerDown=!1,this.applyFocusElementLabel=e=>{this.appliedLabel=e},this.isComposing=!1}static get styles(){return[...super.styles,p.r(re)]}set value(e){const t=this.validateInput(e);if(t===this.value)return;this.lastCommitedValue=t;const r=this._value;this._value=t,this.requestUpdate("value",r)}get value(){return this._value}get inputValue(){return this.indeterminate?this.formattedValue:this.inputElement.value}setValue(e=this.value){const t=this.lastCommitedValue;this.value=e,!(t===void 0||t===this.value)&&(this.lastCommitedValue=this.value,this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}get valueAsString(){return this._value.toString()}set valueAsString(e){this.value=this.numberParser.parse(e)}get formattedValue(){return Number.isNaN(this.value)?"":this.numberFormatter.format(this.value)+(this.focused?"":this._forcedUnit)}convertValueToNumber(e){let t=[...e].map(i=>q[i]||i).join("");const r=[...this.valueBeforeFocus].filter(i=>this.decimalsChars.has(i)),o=new Set(r);if(v.isIOS()&&this.inputElement.inputMode==="decimal"&&t!==this.valueBeforeFocus){const a=this.numberFormatter.formatToParts(1000.1).find(u=>u.type==="decimal").value;for(const u of o)!(u===a)&&!this.isIntentDecimal&&(t=t.replaceAll(new RegExp(u,"g"),""));let n=!1;const d=[...t];for(let u=d.length-1;u>=0;u--){const m=d[u];this.decimalsChars.has(m)&&(n?d[u]="":(d[u]=a,n=!0))}t=d.join("")}return this.numberParser.parse(t)}get _step(){var e;return this.step!==void 0?this.step:((e=this.formatOptions)==null?void 0:e.style)==="percent"?.01:1}handlePointerdown(e){if(e.button!==0){e.preventDefault();return}this.managedInput=!0,this.buttons.setPointerCapture(e.pointerId);const t=this.buttons.children[0].getBoundingClientRect(),r=this.buttons.children[1].getBoundingClientRect();this.findChange=o=>{o.clientX>=t.x&&o.clientY>=t.y&&o.clientX<=t.x+t.width&&o.clientY<=t.y+t.height?this.change=i=>this.increment(i.shiftKey?this.stepModifier:1):o.clientX>=r.x&&o.clientY>=r.y&&o.clientX<=r.x+r.width&&o.clientY<=r.y+r.height&&(this.change=i=>this.decrement(i.shiftKey?this.stepModifier:1))},this.findChange(e),this.startChange(e)}startChange(e){this.changeCount=0,this.doChange(e),this.safty=setTimeout(()=>{this.doNextChange(e)},400)}doChange(e){this.change(e)}handlePointermove(e){this.findChange(e)}handlePointerup(e){this.buttons.releasePointerCapture(e.pointerId),cancelAnimationFrame(this.nextChange),clearTimeout(this.safty),this.managedInput=!1,this.setValue()}doNextChange(e){return this.changeCount+=1,this.changeCount%se===0&&this.doChange(e),requestAnimationFrame(()=>{this.nextChange=this.doNextChange(e)})}stepBy(e){if(this.disabled||this.readonly)return;const t=this.min===void 0?0:this.min;let r=this.value;r+=e*this._step,Number.isNaN(this.value)&&(r=t),r=this.valueWithLimits(r),this.requestUpdate(),this._value=this.validateInput(r),this.inputElement.value=this.numberFormatter.format(r),this.inputElement.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.indeterminate=!1,this.focus()}increment(e=1){this.stepBy(1*e)}decrement(e=1){this.stepBy(-1*e)}handleKeydown(e){if(!this.isComposing)switch(e.code){case"ArrowUp":{e.preventDefault(),this.increment(e.shiftKey?this.stepModifier:1),this.setValue();break}case"ArrowDown":{e.preventDefault(),this.decrement(e.shiftKey?this.stepModifier:1),this.setValue();break}}}onScroll(e){e.preventDefault(),this.managedInput=!0;const t=e.shiftKey?e.deltaX/Math.abs(e.deltaX):e.deltaY/Math.abs(e.deltaY);t!==0&&!Number.isNaN(t)&&(this.stepBy(t*(e.shiftKey?this.stepModifier:1)),clearTimeout(this.queuedChangeEvent),this.queuedChangeEvent=setTimeout(()=>{this.setValue()},ae)),this.managedInput=!1}onFocus(){super.onFocus(),this._trackingValue=this.inputValue,this.keyboardFocused=!this.readonly&&!0,this.addEventListener("wheel",this.onScroll,{passive:!1}),this.valueBeforeFocus=this.inputElement.value}onBlur(e){super.onBlur(e),this.keyboardFocused=!this.readonly&&!1,this.removeEventListener("wheel",this.onScroll),this.isIntentDecimal=!1}handleFocusin(){this.focused=!this.readonly&&!0,this.keyboardFocused=!this.readonly&&!0}handleFocusout(){this.focused=!this.readonly&&!1,this.keyboardFocused=!this.readonly&&!1}handleChange(){const e=this.convertValueToNumber(this.inputValue);if(this.wasIndeterminate&&(this.wasIndeterminate=!1,this.indeterminateValue=void 0,Number.isNaN(e))){this.indeterminate=!0;return}this.setValue(e),this.inputElement.value=this.formattedValue}handleCompositionStart(){this.isComposing=!0}handleCompositionEnd(){this.isComposing=!1,requestAnimationFrame(()=>{this.inputElement.dispatchEvent(new Event("input",{composed:!0,bubbles:!0}))})}handleInputElementPointerdown(){this.hasRecentlyReceivedPointerDown=!0,this.updateComplete.then(()=>{requestAnimationFrame(()=>{this.hasRecentlyReceivedPointerDown=!1})})}handleInput(e){if(this.isComposing){if(e.data){const d=this.convertValueToNumber(e.data);Number.isNaN(d)&&(this.inputElement.value=this.indeterminate?y:this._trackingValue,this.isComposing=!1)}e.stopPropagation();return}this.indeterminate&&(this.wasIndeterminate=!0,this.indeterminateValue=this.value,this.inputElement.value=this.inputElement.value.replace(y,"")),e.data&&this.decimalsChars.has(e.data)&&(this.isIntentDecimal=!0);const{value:t,selectionStart:r}=this.inputElement,o=[...t].map(d=>q[d]||d).join("");if(this.numberParser.isValidPartialNumber(o)){this.lastCommitedValue=this.lastCommitedValue??this.value;const d=this.convertValueToNumber(o);!o&&this.indeterminateValue?(this.indeterminate=!0,this._value=this.indeterminateValue):(this.indeterminate=!1,this._value=this.validateInput(d)),this._trackingValue=o,this.inputElement.value=o,this.inputElement.setSelectionRange(r,r);return}this.inputElement.value=this.indeterminate?y:this._trackingValue,e.stopPropagation();const i=o.length,a=this._trackingValue.length,n=(r||i)-(i-a);this.inputElement.setSelectionRange(n,n)}valueWithLimits(e){let t=e;return this.min!==void 0&&(t=Math.max(this.min,t)),this.max!==void 0&&(t=Math.min(this.max,t)),t}validateInput(e){e=this.valueWithLimits(e);const t=e<0?-1:1;if(e*=t,this.step){const r=this.min===void 0?0:this.min,o=Number.parseFloat(this.valueFormatter.format((e-r)%this.step));if(o===0||(Math.round(o/this.step)===1?e+=this.step-o:e-=o),this.max!==void 0)for(;e>this.max;)e-=this.step;e=Number.parseFloat(this.valueFormatter.format(e))}return e*=t,e}get displayValue(){const e=this.focused?"":y;return this.indeterminate?e:this.formattedValue}clearNumberFormatterCache(){this._numberFormatter=void 0,this._numberParser=void 0}get numberFormatter(){if(!this._numberFormatter||!this._numberFormatterFocused){const{style:e,unit:t,unitDisplay:r,...o}=this.formatOptions;e!=="unit"&&(o.style=e),this._numberFormatterFocused=new z(this.languageResolver.language,o);try{this._numberFormatter=new z(this.languageResolver.language,this.formatOptions),this._forcedUnit="",this._numberFormatter.format(1)}catch{e==="unit"&&(this._forcedUnit=t),this._numberFormatter=this._numberFormatterFocused}}return this.focused?this._numberFormatterFocused:this._numberFormatter}clearValueFormatterCache(){this._valueFormatter=void 0}get valueFormatter(){if(!this._valueFormatter){const e=this.step?this.step===Math.floor(this.step)?0:this.step.toString().split(".")[1].length:0;this._valueFormatter=new z("en",{useGrouping:!1,maximumFractionDigits:e})}return this._valueFormatter}get numberParser(){if(!this._numberParser||!this._numberParserFocused){const{style:e,unit:t,unitDisplay:r,...o}=this.formatOptions;e!=="unit"&&(o.style=e),this._numberParserFocused=new S(this.languageResolver.language,o);try{this._numberParser=new S(this.languageResolver.language,this.formatOptions),this._forcedUnit="",this._numberParser.parse("0")}catch{e==="unit"&&(this._forcedUnit=t),this._numberParser=this._numberParserFocused}}return this.focused?this._numberParserFocused:this._numberParser}renderField(){return this.autocomplete="off",p.x`
19
+ ${super.renderField()}
20
+ ${this.hideStepper?p.E:p.x`
21
+ <span
22
+ class="buttons"
23
+ @focusin=${this.handleFocusin}
24
+ @focusout=${this.handleFocusout}
25
+ ${G.streamingListener({start:["pointerdown",this.handlePointerdown],streamInside:[["pointermove","pointerenter","pointerleave","pointerover","pointerout"],this.handlePointermove],end:[["pointerup","pointercancel","pointerleave"],this.handlePointerup]})}
26
+ >
27
+ <luzmo-infield-button
28
+ inline="end"
29
+ block="start"
30
+ class="button step-up"
31
+ aria-hidden="true"
32
+ label=${"Increase "+this.appliedLabel}
33
+ size=${this.size}
34
+ tabindex="-1"
35
+ ?focused=${this.focused}
36
+ ?disabled=${this.disabled||this.readonly||this.max!==void 0&&this.value===this.max}
37
+ ?quiet=${this.quiet}
38
+ >
39
+ ${f.luzmoIcon(f.luzmoAngleUp)}
40
+ </luzmo-infield-button>
41
+ <luzmo-infield-button
42
+ inline="end"
43
+ block="end"
44
+ class="button step-down"
45
+ aria-hidden="true"
46
+ label=${"Decrease "+this.appliedLabel}
47
+ size=${this.size}
48
+ tabindex="-1"
49
+ ?focused=${this.focused}
50
+ ?disabled=${this.disabled||this.readonly||this.min!==void 0&&this.value===this.min}
51
+ ?quiet=${this.quiet}
52
+ >
53
+ ${f.luzmoIcon(f.luzmoAngleDown)}
54
+ </luzmo-infield-button>
55
+ </span>
56
+ `}
57
+ `}update(e){if((e.has("formatOptions")||e.has("resolvedLanguage"))&&this.clearNumberFormatterCache(),e.has("value")||e.has("max")||e.has("min")||e.has("step")){const t=this.numberParser.parse(this.formattedValue.replace(this._forcedUnit,""));this.value=t,this.clearValueFormatterCache()}super.update(e)}willUpdate(e){this.multiline=!1,e.has(_.languageResolverUpdatedSymbol)&&this.clearNumberFormatterCache()}firstUpdated(e){super.firstUpdated(e),this.addEventListener("keydown",this.handleKeydown),this.addEventListener("compositionstart",this.handleCompositionStart),this.addEventListener("compositionend",this.handleCompositionEnd)}updated(e){if(!(!this.inputElement||!this.isConnected)){if(e.has("min")||e.has("formatOptions")){const t=this.min!==void 0&&this.min>=0,{maximumFractionDigits:r}=this.numberFormatter.resolvedOptions(),o=r&&r>0;let i="numeric";v.isIPhone()&&!t?i="text":(v.isIOS()&&o||v.isAndroid()&&o&&t)&&(i="decimal"),this.inputElement.inputMode=i}e.has("focused")&&this.focused&&!this.hasRecentlyReceivedPointerDown&&this.formatOptions.unit&&this.setSelectionRange(0,this.displayValue.length)}}}c([K.e(".buttons")],h.prototype,"buttons",2);c([p.n({type:Boolean,reflect:!0})],h.prototype,"focused",2);c([p.n({type:Object,attribute:"format-options"})],h.prototype,"formatOptions",2);c([p.n({type:Boolean,reflect:!0,attribute:"hide-stepper"})],h.prototype,"hideStepper",2);c([p.n({type:Boolean,reflect:!0})],h.prototype,"indeterminate",2);c([p.n({type:Boolean,reflect:!0,attribute:"keyboard-focused"})],h.prototype,"keyboardFocused",2);c([p.n({type:Number})],h.prototype,"max",2);c([p.n({type:Number})],h.prototype,"min",2);c([p.n({type:Number})],h.prototype,"step",2);c([p.n({type:Number,reflect:!0,attribute:"step-modifier"})],h.prototype,"stepModifier",2);c([p.n({type:Number})],h.prototype,"value",1);customElements.get("luzmo-number-field")||customElements.define("luzmo-number-field",h);exports.LuzmoNumberField=h;
@@ -0,0 +1,7 @@
1
+ import { LuzmoNumberField } from './number-field';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-number-field': LuzmoNumberField;
5
+ }
6
+ }
7
+ export { LuzmoNumberField } from './number-field';