@mozaic-ds/web-components 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/dist/Condition20.js +2 -0
  2. package/dist/Condition20.js.map +1 -0
  3. package/dist/accordion-list.state.svelte.js +2 -0
  4. package/dist/accordion-list.state.svelte.js.map +1 -0
  5. package/dist/attributes.js +1 -1
  6. package/dist/attributes.js.map +1 -1
  7. package/dist/bundle.d.ts +8 -0
  8. package/dist/bundle.d.ts.map +1 -1
  9. package/dist/bundle.js +8 -0
  10. package/dist/components/accordionlist/AccordionList.js +50 -0
  11. package/dist/components/accordionlist/AccordionList.js.map +1 -0
  12. package/dist/components/accordionlist/AccordionList.spec.js +40 -0
  13. package/dist/components/accordionlist/AccordionList.stories.d.ts +15 -0
  14. package/dist/components/accordionlist/AccordionList.stories.d.ts.map +1 -0
  15. package/dist/components/accordionlist/AccordionList.stories.js +141 -0
  16. package/dist/components/accordionlist/AccordionList.svelte +441 -0
  17. package/dist/components/accordionlist/AccordionList.svelte.d.ts +47 -0
  18. package/dist/components/accordionlist/AccordionList.svelte.d.ts.map +1 -0
  19. package/dist/components/accordionlist/README.md +18 -0
  20. package/dist/components/accordionlist/accordion-list.state.svelte.d.ts +5 -0
  21. package/dist/components/accordionlist/accordion-list.state.svelte.d.ts.map +1 -0
  22. package/dist/components/accordionlist/accordion-list.state.svelte.js +6 -0
  23. package/dist/components/accordionlistItem/AccordionListItem.js +50 -0
  24. package/dist/components/accordionlistItem/AccordionListItem.js.map +1 -0
  25. package/dist/components/accordionlistItem/AccordionListItem.spec.js +75 -0
  26. package/dist/components/accordionlistItem/AccordionListItem.svelte +463 -0
  27. package/dist/components/accordionlistItem/AccordionListItem.svelte.d.ts +50 -0
  28. package/dist/components/accordionlistItem/AccordionListItem.svelte.d.ts.map +1 -0
  29. package/dist/components/accordionlistItem/README.md +29 -0
  30. package/dist/components/actionbottombar/ActionBottomBar.js +12 -0
  31. package/dist/components/actionbottombar/ActionBottomBar.js.map +1 -0
  32. package/dist/components/actionbottombar/ActionBottomBar.spec.js +20 -0
  33. package/dist/components/actionbottombar/ActionBottomBar.stories.d.ts +19 -0
  34. package/dist/components/actionbottombar/ActionBottomBar.stories.d.ts.map +1 -0
  35. package/dist/components/actionbottombar/ActionBottomBar.stories.js +131 -0
  36. package/dist/components/actionbottombar/ActionBottomBar.svelte +113 -0
  37. package/dist/components/actionbottombar/ActionBottomBar.svelte.d.ts +43 -0
  38. package/dist/components/actionbottombar/ActionBottomBar.svelte.d.ts.map +1 -0
  39. package/dist/components/actionbottombar/README.md +19 -0
  40. package/dist/components/actionlistbox/ActionListbox.js +10 -0
  41. package/dist/components/actionlistbox/ActionListbox.js.map +1 -0
  42. package/dist/components/actionlistbox/ActionListbox.spec.js +20 -0
  43. package/dist/components/actionlistbox/ActionListbox.stories.d.ts +12 -0
  44. package/dist/components/actionlistbox/ActionListbox.stories.d.ts.map +1 -0
  45. package/dist/components/actionlistbox/ActionListbox.stories.js +49 -0
  46. package/dist/components/actionlistbox/ActionListbox.svelte +213 -0
  47. package/dist/components/actionlistbox/ActionListbox.svelte.d.ts +37 -0
  48. package/dist/components/actionlistbox/ActionListbox.svelte.d.ts.map +1 -0
  49. package/dist/components/actionlistbox/README.md +23 -0
  50. package/dist/components/actionlistboxitem/ActionListboxItem.js +4 -0
  51. package/dist/components/actionlistboxitem/ActionListboxItem.js.map +1 -0
  52. package/dist/components/actionlistboxitem/ActionListboxItem.spec.js +37 -0
  53. package/dist/components/actionlistboxitem/ActionListboxItem.svelte +136 -0
  54. package/dist/components/actionlistboxitem/ActionListboxItem.svelte.d.ts +43 -0
  55. package/dist/components/actionlistboxitem/ActionListboxItem.svelte.d.ts.map +1 -0
  56. package/dist/components/actionlistboxitem/README.md +20 -0
  57. package/dist/components/avatar/Avatar.js +2 -2
  58. package/dist/components/avatar/Avatar.js.map +1 -1
  59. package/dist/components/avatar/Avatar.stories.d.ts +1 -1
  60. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  61. package/dist/components/avatar/Avatar.stories.js +2 -2
  62. package/dist/components/avatar/Avatar.svelte +13 -3
  63. package/dist/components/avatar/Avatar.svelte.d.ts +7 -1
  64. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  65. package/dist/components/avatar/README.md +2 -1
  66. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  67. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  68. package/dist/components/breadcrumb/Breadcrumb.svelte +1 -0
  69. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts +1 -0
  70. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  71. package/dist/components/builtinmenu/BuiltInMenu.js +4 -0
  72. package/dist/components/builtinmenu/BuiltInMenu.js.map +1 -0
  73. package/dist/components/builtinmenu/BuiltInMenu.stories.d.ts +11 -0
  74. package/dist/components/builtinmenu/BuiltInMenu.stories.d.ts.map +1 -0
  75. package/dist/components/builtinmenu/BuiltInMenu.stories.js +61 -0
  76. package/dist/components/builtinmenu/BuiltInMenu.svelte +142 -0
  77. package/dist/components/builtinmenu/BuiltInMenu.svelte.d.ts +41 -0
  78. package/dist/components/builtinmenu/BuiltInMenu.svelte.d.ts.map +1 -0
  79. package/dist/components/builtinmenu/BuiltinMenu.spec.js +19 -0
  80. package/dist/components/builtinmenu/README.md +18 -0
  81. package/dist/components/builtinmenuitem/BuiltInMenuItem.js +8 -0
  82. package/dist/components/builtinmenuitem/BuiltInMenuItem.js.map +1 -0
  83. package/dist/components/builtinmenuitem/BuiltInMenuItem.spec.js +36 -0
  84. package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte +165 -0
  85. package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte.d.ts +50 -0
  86. package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte.d.ts.map +1 -0
  87. package/dist/components/builtinmenuitem/README.md +20 -0
  88. package/dist/components/button/Button.js +2 -2
  89. package/dist/components/button/Button.js.map +1 -1
  90. package/dist/components/button/Button.stories.d.ts +13 -2
  91. package/dist/components/button/Button.stories.d.ts.map +1 -1
  92. package/dist/components/button/Button.stories.js +145 -7
  93. package/dist/components/button/Button.svelte +44 -16
  94. package/dist/components/button/Button.svelte.d.ts +10 -0
  95. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  96. package/dist/components/button/README.md +2 -2
  97. package/dist/components/callout/Callout.js +2 -2
  98. package/dist/components/callout/Callout.js.map +1 -1
  99. package/dist/components/callout/Callout.spec.js +4 -1
  100. package/dist/components/callout/Callout.stories.d.ts +2 -2
  101. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  102. package/dist/components/callout/Callout.stories.js +2 -2
  103. package/dist/components/callout/Callout.svelte +39 -4
  104. package/dist/components/callout/Callout.svelte.d.ts +14 -0
  105. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  106. package/dist/components/callout/README.md +3 -0
  107. package/dist/components/carousel/Carousel.js +2 -2
  108. package/dist/components/carousel/Carousel.js.map +1 -1
  109. package/dist/components/carousel/Carousel.stories.d.ts.map +1 -1
  110. package/dist/components/carousel/Carousel.stories.js +1 -0
  111. package/dist/components/carousel/Carousel.svelte +30 -6
  112. package/dist/components/carousel/Carousel.svelte.d.ts +10 -0
  113. package/dist/components/carousel/Carousel.svelte.d.ts.map +1 -1
  114. package/dist/components/carousel/README.md +3 -1
  115. package/dist/components/checkbox/Checkbox.js +2 -2
  116. package/dist/components/checkbox/Checkbox.js.map +1 -1
  117. package/dist/components/checkbox/Checkbox.stories.js +5 -5
  118. package/dist/components/checkbox/Checkbox.svelte +5 -0
  119. package/dist/components/checkbox/Checkbox.svelte.d.ts +1 -0
  120. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  121. package/dist/components/checkboxgroup/CheckboxGroup.js +2 -2
  122. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  123. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +2 -2
  124. package/dist/components/checkboxgroup/CheckboxGroup.svelte +3 -0
  125. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +1 -0
  126. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  127. package/dist/components/checklistmenu/CheckListMenu.js +4 -0
  128. package/dist/components/checklistmenu/CheckListMenu.js.map +1 -0
  129. package/dist/components/checklistmenu/CheckListMenu.spec.js +33 -0
  130. package/dist/components/checklistmenu/CheckListMenu.stories.d.ts +8 -0
  131. package/dist/components/checklistmenu/CheckListMenu.stories.d.ts.map +1 -0
  132. package/dist/components/checklistmenu/CheckListMenu.stories.js +32 -0
  133. package/dist/components/checklistmenu/CheckListMenu.svelte +79 -0
  134. package/dist/components/checklistmenu/CheckListMenu.svelte.d.ts +27 -0
  135. package/dist/components/checklistmenu/CheckListMenu.svelte.d.ts.map +1 -0
  136. package/dist/components/checklistmenu/README.md +12 -0
  137. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  138. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  139. package/dist/components/circularprogressbar/CircularProgressbar.svelte +1 -0
  140. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +1 -0
  141. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  142. package/dist/components/container/Container.js +2 -2
  143. package/dist/components/container/Container.js.map +1 -1
  144. package/dist/components/container/Container.stories.d.ts.map +1 -1
  145. package/dist/components/container/Container.stories.js +1 -3
  146. package/dist/components/container/Container.svelte +19 -3
  147. package/dist/components/container/Container.svelte.d.ts +5 -0
  148. package/dist/components/container/Container.svelte.d.ts.map +1 -1
  149. package/dist/components/container/README.md +1 -0
  150. package/dist/components/datepicker/Datepicker.js +2 -2
  151. package/dist/components/datepicker/Datepicker.js.map +1 -1
  152. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  153. package/dist/components/datepicker/Datepicker.stories.js +5 -4
  154. package/dist/components/datepicker/Datepicker.svelte +15 -3
  155. package/dist/components/datepicker/Datepicker.svelte.d.ts +1 -0
  156. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  157. package/dist/components/divider/Divider.js +2 -2
  158. package/dist/components/divider/Divider.js.map +1 -1
  159. package/dist/components/divider/Divider.svelte +19 -3
  160. package/dist/components/divider/Divider.svelte.d.ts +6 -0
  161. package/dist/components/divider/Divider.svelte.d.ts.map +1 -1
  162. package/dist/components/divider/README.md +1 -0
  163. package/dist/components/drawer/Drawer.js +2 -2
  164. package/dist/components/drawer/Drawer.js.map +1 -1
  165. package/dist/components/drawer/Drawer.stories.js +3 -3
  166. package/dist/components/drawer/Drawer.svelte +35 -7
  167. package/dist/components/drawer/Drawer.svelte.d.ts +10 -0
  168. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  169. package/dist/components/drawer/README.md +2 -0
  170. package/dist/components/field/Field.js +2 -2
  171. package/dist/components/field/Field.js.map +1 -1
  172. package/dist/components/field/Field.stories.js +3 -3
  173. package/dist/components/field/Field.svelte +16 -1
  174. package/dist/components/field/Field.svelte.d.ts +5 -0
  175. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  176. package/dist/components/field/README.md +1 -0
  177. package/dist/components/fileuploader/FileUploader.js +4 -0
  178. package/dist/components/fileuploader/FileUploader.js.map +1 -0
  179. package/dist/components/fileuploader/FileUploader.spec.js +134 -0
  180. package/dist/components/fileuploader/FileUploader.stories.d.ts +17 -0
  181. package/dist/components/fileuploader/FileUploader.stories.d.ts.map +1 -0
  182. package/dist/components/fileuploader/FileUploader.stories.js +172 -0
  183. package/dist/components/fileuploader/FileUploader.svelte +816 -0
  184. package/dist/components/fileuploader/FileUploader.svelte.d.ts +125 -0
  185. package/dist/components/fileuploader/FileUploader.svelte.d.ts.map +1 -0
  186. package/dist/components/fileuploader/README.md +42 -0
  187. package/dist/components/fileuploaderitem/FileUploaderItem.js +5 -0
  188. package/dist/components/fileuploaderitem/FileUploaderItem.js.map +1 -0
  189. package/dist/components/fileuploaderitem/FileUploaderItem.spec.js +41 -0
  190. package/dist/components/fileuploaderitem/FileUploaderItem.svelte +298 -0
  191. package/dist/components/fileuploaderitem/FileUploaderItem.svelte.d.ts +62 -0
  192. package/dist/components/fileuploaderitem/FileUploaderItem.svelte.d.ts.map +1 -0
  193. package/dist/components/fileuploaderitem/README.md +24 -0
  194. package/dist/components/flag/Flag.js +2 -2
  195. package/dist/components/flag/Flag.js.map +1 -1
  196. package/dist/components/flag/Flag.svelte +1 -0
  197. package/dist/components/flag/Flag.svelte.d.ts +1 -0
  198. package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
  199. package/dist/components/iconbutton/IconButton.js +2 -2
  200. package/dist/components/iconbutton/IconButton.js.map +1 -1
  201. package/dist/components/iconbutton/IconButton.stories.d.ts +13 -7
  202. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  203. package/dist/components/iconbutton/IconButton.stories.js +113 -10
  204. package/dist/components/iconbutton/IconButton.svelte +35 -2
  205. package/dist/components/iconbutton/IconButton.svelte.d.ts +10 -0
  206. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  207. package/dist/components/iconbutton/README.md +2 -0
  208. package/dist/components/kpiitem/KpiItem.js +2 -2
  209. package/dist/components/kpiitem/KpiItem.js.map +1 -1
  210. package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -1
  211. package/dist/components/kpiitem/KpiItem.stories.js +1 -0
  212. package/dist/components/kpiitem/KpiItem.svelte +2 -3
  213. package/dist/components/kpiitem/KpiItem.svelte.d.ts +1 -0
  214. package/dist/components/kpiitem/KpiItem.svelte.d.ts.map +1 -1
  215. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  216. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  217. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +1 -0
  218. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +1 -0
  219. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  220. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  221. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  222. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +1 -0
  223. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +1 -0
  224. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
  225. package/dist/components/link/Link.js +2 -2
  226. package/dist/components/link/Link.js.map +1 -1
  227. package/dist/components/link/Link.stories.d.ts +2 -2
  228. package/dist/components/link/Link.stories.d.ts.map +1 -1
  229. package/dist/components/link/Link.stories.js +5 -5
  230. package/dist/components/link/Link.svelte +38 -8
  231. package/dist/components/link/Link.svelte.d.ts +10 -0
  232. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  233. package/dist/components/link/README.md +2 -1
  234. package/dist/components/loader/Loader.js +2 -2
  235. package/dist/components/loader/Loader.js.map +1 -1
  236. package/dist/components/loader/Loader.svelte +1 -0
  237. package/dist/components/loader/Loader.svelte.d.ts +1 -0
  238. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  239. package/dist/components/loadingoverlay/LoadingOverlay.js +2 -2
  240. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -1
  241. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +1 -1
  242. package/dist/components/loadingoverlay/LoadingOverlay.svelte +9 -1
  243. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +1 -0
  244. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -1
  245. package/dist/components/modal/Modal.js +2 -2
  246. package/dist/components/modal/Modal.js.map +1 -1
  247. package/dist/components/modal/Modal.stories.d.ts +2 -2
  248. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  249. package/dist/components/modal/Modal.stories.js +4 -4
  250. package/dist/components/modal/Modal.svelte +62 -8
  251. package/dist/components/modal/Modal.svelte.d.ts +18 -0
  252. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  253. package/dist/components/modal/README.md +4 -0
  254. package/dist/components/numberbadge/NumberBadge.js +2 -2
  255. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  256. package/dist/components/numberbadge/NumberBadge.svelte +1 -0
  257. package/dist/components/numberbadge/NumberBadge.svelte.d.ts +1 -0
  258. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  259. package/dist/components/overlay/Overlay.js +2 -2
  260. package/dist/components/overlay/Overlay.js.map +1 -1
  261. package/dist/components/overlay/Overlay.stories.js +1 -1
  262. package/dist/components/overlay/Overlay.svelte +19 -3
  263. package/dist/components/overlay/Overlay.svelte.d.ts +5 -0
  264. package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
  265. package/dist/components/overlay/README.md +1 -0
  266. package/dist/components/pagination/Pagination.js +8 -8
  267. package/dist/components/pagination/Pagination.js.map +1 -1
  268. package/dist/components/pagination/Pagination.stories.js +1 -1
  269. package/dist/components/pagination/Pagination.svelte +16 -6
  270. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  271. package/dist/components/passwordinput/PasswordInput.js +2 -2
  272. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  273. package/dist/components/passwordinput/PasswordInput.stories.js +4 -4
  274. package/dist/components/passwordinput/PasswordInput.svelte +7 -0
  275. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +1 -0
  276. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  277. package/dist/components/phonenumber/PhoneNumber.js +6 -6
  278. package/dist/components/phonenumber/PhoneNumber.js.map +1 -1
  279. package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -1
  280. package/dist/components/phonenumber/PhoneNumber.stories.js +10 -4
  281. package/dist/components/phonenumber/PhoneNumber.svelte +13 -4
  282. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts +1 -0
  283. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -1
  284. package/dist/components/pincode/Pincode.js +2 -2
  285. package/dist/components/pincode/Pincode.js.map +1 -1
  286. package/dist/components/pincode/Pincode.stories.js +3 -3
  287. package/dist/components/pincode/Pincode.svelte +12 -2
  288. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  289. package/dist/components/quantityselector/QuantitySelector.js +2 -2
  290. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  291. package/dist/components/quantityselector/QuantitySelector.stories.js +3 -3
  292. package/dist/components/quantityselector/QuantitySelector.svelte +7 -2
  293. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +1 -0
  294. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  295. package/dist/components/radio/Radio.js +2 -2
  296. package/dist/components/radio/Radio.js.map +1 -1
  297. package/dist/components/radio/Radio.stories.js +3 -3
  298. package/dist/components/radio/Radio.svelte +3 -0
  299. package/dist/components/radio/Radio.svelte.d.ts +1 -0
  300. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  301. package/dist/components/radiogroup/RadioGroup.js +2 -2
  302. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  303. package/dist/components/radiogroup/RadioGroup.stories.js +2 -2
  304. package/dist/components/radiogroup/RadioGroup.svelte +2 -0
  305. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  306. package/dist/components/segmentedcontrol/SegmentedControl.js +2 -2
  307. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -1
  308. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -1
  309. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +2 -1
  310. package/dist/components/segmentedcontrol/SegmentedControl.svelte +8 -1
  311. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -1
  312. package/dist/components/select/Select.js +2 -2
  313. package/dist/components/select/Select.js.map +1 -1
  314. package/dist/components/select/Select.stories.js +3 -3
  315. package/dist/components/select/Select.svelte +4 -0
  316. package/dist/components/select/Select.svelte.d.ts +1 -0
  317. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  318. package/dist/components/starrating/StarRating.js +2 -2
  319. package/dist/components/starrating/StarRating.js.map +1 -1
  320. package/dist/components/starrating/StarRating.stories.d.ts +1 -0
  321. package/dist/components/starrating/StarRating.stories.d.ts.map +1 -1
  322. package/dist/components/starrating/StarRating.stories.js +3 -2
  323. package/dist/components/starrating/StarRating.svelte +6 -3
  324. package/dist/components/starrating/StarRating.svelte.d.ts +1 -0
  325. package/dist/components/starrating/StarRating.svelte.d.ts.map +1 -1
  326. package/dist/components/statusbadge/StatusBadge.js +2 -2
  327. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  328. package/dist/components/statusbadge/StatusBadge.svelte +1 -0
  329. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +1 -0
  330. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  331. package/dist/components/statusdot/StatusDot.js +2 -2
  332. package/dist/components/statusdot/StatusDot.js.map +1 -1
  333. package/dist/components/statusdot/StatusDot.svelte +1 -0
  334. package/dist/components/statusdot/StatusDot.svelte.d.ts +1 -0
  335. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  336. package/dist/components/statusmessage/StatusMessage.js +2 -2
  337. package/dist/components/statusmessage/StatusMessage.js.map +1 -1
  338. package/dist/components/statusmessage/StatusMessage.svelte +10 -7
  339. package/dist/components/statusmessage/StatusMessage.svelte.d.ts +1 -0
  340. package/dist/components/statusmessage/StatusMessage.svelte.d.ts.map +1 -1
  341. package/dist/components/statusnotification/README.md +1 -0
  342. package/dist/components/statusnotification/StatusNotification.js +2 -2
  343. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  344. package/dist/components/statusnotification/StatusNotification.stories.d.ts +1 -1
  345. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  346. package/dist/components/statusnotification/StatusNotification.stories.js +2 -2
  347. package/dist/components/statusnotification/StatusNotification.svelte +34 -15
  348. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +6 -0
  349. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  350. package/dist/components/stepperbottombar/README.md +24 -0
  351. package/dist/components/stepperbottombar/StepperBottomBar.js +12 -0
  352. package/dist/components/stepperbottombar/StepperBottomBar.js.map +1 -0
  353. package/dist/components/stepperbottombar/StepperBottomBar.spec.js +106 -0
  354. package/dist/components/stepperbottombar/StepperBottomBar.stories.d.ts +9 -0
  355. package/dist/components/stepperbottombar/StepperBottomBar.stories.d.ts.map +1 -0
  356. package/dist/components/stepperbottombar/StepperBottomBar.stories.js +74 -0
  357. package/dist/components/stepperbottombar/StepperBottomBar.svelte +532 -0
  358. package/dist/components/stepperbottombar/StepperBottomBar.svelte.d.ts +41 -0
  359. package/dist/components/stepperbottombar/StepperBottomBar.svelte.d.ts.map +1 -0
  360. package/dist/components/steppercompact/StepperCompact.js +2 -2
  361. package/dist/components/steppercompact/StepperCompact.js.map +1 -1
  362. package/dist/components/stepperinline/README.md +11 -0
  363. package/dist/components/stepperinline/StepperInline.js +16 -0
  364. package/dist/components/stepperinline/StepperInline.js.map +1 -0
  365. package/dist/components/stepperinline/StepperInline.spec.js +83 -0
  366. package/dist/components/stepperinline/StepperInline.stories.d.ts +7 -0
  367. package/dist/components/stepperinline/StepperInline.stories.d.ts.map +1 -0
  368. package/dist/components/stepperinline/StepperInline.stories.js +23 -0
  369. package/dist/components/stepperinline/StepperInline.svelte +176 -0
  370. package/dist/components/stepperinline/StepperInline.svelte.d.ts +27 -0
  371. package/dist/components/stepperinline/StepperInline.svelte.d.ts.map +1 -0
  372. package/dist/components/tab/README.md +3 -1
  373. package/dist/components/tab/Tab.js +2 -2
  374. package/dist/components/tab/Tab.js.map +1 -1
  375. package/dist/components/tab/Tab.svelte +49 -16
  376. package/dist/components/tab/Tab.svelte.d.ts +10 -0
  377. package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
  378. package/dist/components/tabs/README.md +1 -0
  379. package/dist/components/tabs/Tabs.js +2 -2
  380. package/dist/components/tabs/Tabs.js.map +1 -1
  381. package/dist/components/tabs/Tabs.stories.d.ts +1 -1
  382. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  383. package/dist/components/tabs/Tabs.stories.js +3 -3
  384. package/dist/components/tabs/Tabs.svelte +21 -4
  385. package/dist/components/tabs/Tabs.svelte.d.ts +5 -0
  386. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  387. package/dist/components/tag/README.md +1 -0
  388. package/dist/components/tag/Tag.js +2 -2
  389. package/dist/components/tag/Tag.js.map +1 -1
  390. package/dist/components/tag/Tag.stories.js +2 -2
  391. package/dist/components/tag/Tag.svelte +31 -9
  392. package/dist/components/tag/Tag.svelte.d.ts +6 -0
  393. package/dist/components/tag/Tag.svelte.d.ts.map +1 -1
  394. package/dist/components/textarea/Textarea.js +2 -2
  395. package/dist/components/textarea/Textarea.js.map +1 -1
  396. package/dist/components/textarea/Textarea.stories.js +3 -3
  397. package/dist/components/textarea/Textarea.svelte +12 -1
  398. package/dist/components/textarea/Textarea.svelte.d.ts +1 -0
  399. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  400. package/dist/components/textinput/README.md +1 -0
  401. package/dist/components/textinput/Textinput.js +2 -2
  402. package/dist/components/textinput/Textinput.js.map +1 -1
  403. package/dist/components/textinput/Textinput.spec.js +4 -1
  404. package/dist/components/textinput/Textinput.stories.js +4 -4
  405. package/dist/components/textinput/Textinput.svelte +24 -2
  406. package/dist/components/textinput/Textinput.svelte.d.ts +6 -0
  407. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  408. package/dist/components/toaster/README.md +1 -0
  409. package/dist/components/toaster/Toaster.js +2 -2
  410. package/dist/components/toaster/Toaster.js.map +1 -1
  411. package/dist/components/toaster/Toaster.stories.js +1 -1
  412. package/dist/components/toaster/Toaster.svelte +32 -11
  413. package/dist/components/toaster/Toaster.svelte.d.ts +6 -0
  414. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  415. package/dist/components/toggle/Toggle.js +2 -2
  416. package/dist/components/toggle/Toggle.js.map +1 -1
  417. package/dist/components/toggle/Toggle.stories.js +2 -2
  418. package/dist/components/toggle/Toggle.svelte +2 -0
  419. package/dist/components/toggle/Toggle.svelte.d.ts +1 -0
  420. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  421. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  422. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  423. package/dist/components/togglegroup/ToggleGroup.stories.js +1 -1
  424. package/dist/components/togglegroup/ToggleGroup.svelte +1 -0
  425. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  426. package/dist/components/tooltip/README.md +1 -0
  427. package/dist/components/tooltip/Tooltip.js +2 -2
  428. package/dist/components/tooltip/Tooltip.js.map +1 -1
  429. package/dist/components/tooltip/Tooltip.stories.js +1 -1
  430. package/dist/components/tooltip/Tooltip.svelte +20 -3
  431. package/dist/components/tooltip/Tooltip.svelte.d.ts +6 -0
  432. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  433. package/dist/custom-element.js +3 -3
  434. package/dist/custom-element.js.map +1 -1
  435. package/dist/documentation/{WebComponents/usingPresets.mdx → BrandPresets.mdx} +2 -24
  436. package/dist/documentation/Changelog.mdx +19 -0
  437. package/dist/documentation/Color.mdx +224 -0
  438. package/dist/documentation/Contributing.mdx +11 -5
  439. package/dist/documentation/GettingStarted.mdx +76 -0
  440. package/dist/documentation/Icon.stories.d.ts +10 -0
  441. package/dist/documentation/Icon.stories.d.ts.map +1 -0
  442. package/dist/documentation/Icon.stories.js +138 -0
  443. package/dist/documentation/Migration.mdx +5 -5
  444. package/dist/documentation/Welcome.mdx +52 -0
  445. package/dist/each.js +1 -1
  446. package/dist/each.js.map +1 -1
  447. package/dist/if.js +1 -1
  448. package/dist/if.js.map +1 -1
  449. package/dist/index-client.js +2 -0
  450. package/dist/index-client.js.map +1 -0
  451. package/dist/input.js +1 -1
  452. package/dist/input.js.map +1 -1
  453. package/dist/main.d.ts +8 -1
  454. package/dist/main.d.ts.map +1 -1
  455. package/dist/main.js +8 -1
  456. package/dist/slot.js +1 -1
  457. package/dist/slot.js.map +1 -1
  458. package/dist/snippet.js +2 -0
  459. package/dist/snippet.js.map +1 -0
  460. package/dist/svelte-component.js +1 -1
  461. package/dist/svelte-element.js +2 -0
  462. package/dist/svelte-element.js.map +1 -0
  463. package/dist/this.js +1 -1
  464. package/dist/this.js.map +1 -1
  465. package/package.json +22 -23
  466. package/dist/Cross20.js +0 -2
  467. package/dist/Cross20.js.map +0 -1
  468. package/dist/Cross24.js +0 -2
  469. package/dist/Cross24.js.map +0 -1
  470. package/dist/CrossCircleFilled24.js +0 -2
  471. package/dist/CrossCircleFilled24.js.map +0 -1
  472. package/dist/Less24.js +0 -2
  473. package/dist/Less24.js.map +0 -1
  474. package/dist/documentation/Introduction.mdx +0 -109
  475. package/dist/documentation/SupportAndOnboarding.mdx +0 -70
  476. package/dist/documentation/Svelte/Introduction.mdx +0 -76
  477. package/dist/documentation/Svelte/usingIcons.mdx +0 -98
  478. package/dist/documentation/Svelte/usingPresets.mdx +0 -134
  479. package/dist/documentation/WebComponents/Introduction.mdx +0 -52
  480. package/dist/documentation/WebComponents/usingIcons.mdx +0 -81
  481. package/dist/legacy.js +0 -2
  482. package/dist/legacy.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.stories.d.ts","sourceRoot":"","sources":["../../../src/components/phonenumber/PhoneNumber.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,sBAAsB,CAAC;AAE9B,QAAA,MAAM,IAAI,EAAE,IAmDX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAWtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAWpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAY9B,CAAC"}
1
+ {"version":3,"file":"PhoneNumber.stories.d.ts","sourceRoot":"","sources":["../../../src/components/phonenumber/PhoneNumber.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAMrE,OAAO,sBAAsB,CAAC;AAE9B,QAAA,MAAM,IAAI,EAAE,IAuDX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAWtB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAWpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAY9B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { html } from 'lit';
2
2
  import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  import { action } from 'storybook/actions';
4
+ import {} from 'libphonenumber-js';
5
+ import metadata from 'libphonenumber-js/metadata.min.json';
4
6
  import './PhoneNumber.svelte';
5
7
  const meta = {
6
8
  title: 'Form Elements/Phone Number',
@@ -10,6 +12,10 @@ const meta = {
10
12
  control: 'inline-radio',
11
13
  options: ['s', 'm'],
12
14
  },
15
+ defaultcountry: {
16
+ control: 'select',
17
+ options: Object.keys(metadata.countries),
18
+ },
13
19
  valid: {
14
20
  control: false,
15
21
  },
@@ -27,11 +33,11 @@ const meta = {
27
33
  defaultcountry=${ifDefined(args.defaultcountry)}
28
34
  placeholder=${ifDefined(args.placeholder)}
29
35
  size=${ifDefined(args.size)}
30
- isinvalid=${ifDefined(args.isinvalid)}
31
- disabled=${ifDefined(args.disabled)}
36
+ ?isinvalid=${args.isinvalid}
37
+ ?disabled=${args.disabled}
32
38
  readonly=${ifDefined(args.readonly)}
33
- .prefix=${args.prefix}
34
- .flag=${ifDefined(args.flag)}
39
+ ?prefix=${args.prefix}
40
+ ?flag=${args.flag}
35
41
  locale=${ifDefined(args.locale)}
36
42
  .countrycodes=${ifDefined(args.countrycodes)}
37
43
  @input=${(event) => {
@@ -1,6 +1,13 @@
1
1
  <svelte:options
2
2
  customElement={{
3
3
  tag: 'm-phone-number',
4
+ props: {
5
+ isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
6
+ disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
7
+ readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },
8
+ prefix: { reflect: true, type: 'Boolean', attribute: 'prefix' },
9
+ flag: { reflect: true, type: 'Boolean', attribute: 'flag' },
10
+ },
4
11
  extend: customElementForwardEvents,
5
12
  }}
6
13
  />
@@ -16,13 +23,14 @@
16
23
  type CountryCode,
17
24
  } from 'libphonenumber-js';
18
25
  import examples from 'libphonenumber-js/mobile/examples';
19
- import ChevronDown20 from '@mozaic-ds/icons-svelte/svelte/ChevronDown20/ChevronDown20.svelte';
26
+ import { ChevronDown20 } from '@mozaic-ds/icons-svelte';
20
27
  /**
21
28
  * A phone number input is a specialized input field designed to capture and validate phone numbers, ensuring correct formatting based on country-specific dialing codes. It often includes a country selector that automatically adjusts the international dialing code. This component improves user experience by standardizing phone number entries, reducing errors, and facilitating global compatibility. It is commonly used in registration forms, authentication flows, and contact information fields.
22
29
  *
23
30
  * @event valid {CustomEvent<boolean>} - Emits the validity of the value when the PhoneNumber changes.
24
31
  */
25
32
  interface Props {
33
+ [key: string]: any;
26
34
  /**
27
35
  * A unique identifier for the phone number input element, used to associate the label with the form element.
28
36
  */
@@ -91,13 +99,14 @@
91
99
  let element: HTMLElement;
92
100
 
93
101
  let phoneNumber: string = $state(value);
94
- let selectedCountry: CountryCode = $state(defaultcountry);
102
+ let selectedCountry: CountryCode = $state('FR' as CountryCode);
95
103
 
96
104
  $effect(() => {
105
+ selectedCountry = defaultcountry;
97
106
  value = phoneNumber;
98
107
  });
99
108
 
100
- const countries: CountryCode[] = countrycodes || getCountries();
109
+ const countries: CountryCode[] = $derived(countrycodes || getCountries());
101
110
 
102
111
  const dynamicPlaceholder = () => {
103
112
  if (placeholder) return placeholder;
@@ -194,7 +203,7 @@
194
203
  </div>
195
204
 
196
205
  <span class="mc-phone-number-input__chevron">
197
- <ChevronDown20 aria-hidden="true" />
206
+ <ChevronDown20 />
198
207
  </span>
199
208
  </div>
200
209
  </div>
@@ -5,6 +5,7 @@ import { type CountryCode } from 'libphonenumber-js';
5
5
  * @event valid {CustomEvent<boolean>} - Emits the validity of the value when the PhoneNumber changes.
6
6
  */
7
7
  interface Props {
8
+ [key: string]: any;
8
9
  /**
9
10
  * A unique identifier for the phone number input element, used to associate the label with the form element.
10
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PhoneNumber.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/phonenumber/PhoneNumber.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAMH,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAI3B;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AAkJH,QAAA,MAAM,WAAW,gDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"PhoneNumber.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/phonenumber/PhoneNumber.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAMH,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAI3B;;;;GAIG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AA0JH,QAAA,MAAM,WAAW,gDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
@@ -1,6 +1,6 @@
1
- import{w as B,c as C,p as K,a as O,b as l,x as k,k as x,n as r,D as R,u as T,y as D,f as E,T as F,h as A,i as G,j as d,e as H,t as J,l as N,m as Q}from"../../custom-element.js";import{e as U}from"../../each.js";import{r as V,s as I,d as W}from"../../attributes.js";import{b as j}from"../../this.js";var X=E('<input type="text" inputmode="numeric" maxlength="1" pattern="\\d*" autocomplete="one-time-code"/>'),Y=E('<div class="mc-pincode-input svelte-h63szf"></div>');const Z={hash:"svelte-h63szf",code:`/**
1
+ import{u as S,c as C,p as K,a as O,b as i,w as x,m as D,A as R,v as z,q as o,B as F,f as A,g as G,x as H,h as j,j as d,r as J,t as N,n as Q,o as T}from"../../custom-element.js";import{e as U}from"../../each.js";import{r as V,s as B,d as W}from"../../attributes.js";import{b as I}from"../../this.js";var X=j('<input type="text" inputmode="numeric" maxlength="1" pattern="\\d*" autocomplete="one-time-code"/>'),Y=j('<div class="mc-pincode-input svelte-h63szf"></div>');const Z={hash:"svelte-h63szf",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-pincode-input.svelte-h63szf {display:inline-flex;column-gap:0.5rem;}
4
4
  @media screen and (width <= 1024px) {.mc-pincode-input.svelte-h63szf {flex-wrap:wrap;row-gap:0.75rem;}
5
- }.mc-pincode-input__control.svelte-h63szf {font-size:var(--font-size-400, 1.75rem);transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:3rem;box-sizing:border-box;height:4rem;text-align:center;line-height:var(--line-height-s, 1.3);}.mc-pincode-input__control.svelte-h63szf::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-pincode-input__control.svelte-h63szf:focus-within {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-pincode-input__control.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-pincode-input__control.svelte-h63szf:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-pincode-input__control.is-invalid.svelte-h63szf {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-pincode-input__control.is-invalid.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}`};function $(z,a){K(a,!0),O(z,Z);let m=l(a,"id",7),c=l(a,"length",7,6),v=l(a,"name",7),p=l(a,"value",7),h=l(a,"isinvalid",7),b=l(a,"disabled",7),g=l(a,"readonly",7);const n=R(()=>typeof c()=="string"?parseInt(c(),10)||6:c());let i=k(x(Array(r(n)).fill(""))),_=k(x([])),w;T(()=>{const e=String(p()??"");D(i,Array.from({length:r(n)},(o,t)=>e[t]??""),!0)});const u=e=>{queueMicrotask(()=>r(_)?.[e]?.focus())},y=()=>{const e=r(i).join(""),o=new CustomEvent("input",{detail:{value:e},bubbles:!0,composed:!0});w.dispatchEvent(o)},L=(e,o)=>{const s=e.target.value.replace(/\D/g,"").slice(0,1);r(i)[o]=s,y(),s&&o+1<r(n)&&u(o+1)},M=(e,o)=>{e.key==="ArrowLeft"&&o>0?(e.preventDefault(),u(o-1)):e.key==="ArrowRight"&&o<r(n)-1?(e.preventDefault(),u(o+1)):e.key==="Backspace"&&r(i)[o]===""&&o>0&&(r(i)[o-1]="",y(),u(o-1))},P=e=>{e.preventDefault();const o=(e.clipboardData?.getData("text")??"").replace(/\D/g,"").slice(0,r(n));D(i,Array.from({length:r(n)},(t,s)=>o[s]??""),!0),y(),u(Math.min(o.length,r(n)-1))};var S={get id(){return m()},set id(e){m(e),d()},get length(){return c()},set length(e=6){c(e),d()},get name(){return v()},set name(e){v(e),d()},get value(){return p()},set value(e){p(e),d()},get isinvalid(){return h()},set isinvalid(e){h(e),d()},get disabled(){return b()},set disabled(e){b(e),d()},get readonly(){return g()},set readonly(e){g(e),d()}},f=Y();return U(f,20,()=>[...Array(r(n)).keys()],e=>e,(e,o)=>{var t=X();V(t),t.__input=s=>L(s,o),t.__keydown=s=>M(s,o),j(t,(s,q)=>r(_)[q]=s,s=>r(_)?.[s],()=>[o]),J(()=>{I(t,"id",`pincodeItem${o}`),N(t,1,Q(["mc-pincode-input__control",h()&&"is-invalid"]),"svelte-h63szf"),I(t,"name",v()??`pincode-${m()}`),t.disabled=b(),t.readOnly=g(),W(t,r(i)[o])}),A(e,t)}),H(f),j(f,e=>w=e,()=>w),F("paste",f,P),A(z,f),G(S)}B(["input","keydown"]);customElements.define("m-pincode",C($,{id:{},length:{},name:{},value:{},isinvalid:{},disabled:{},readonly:{}},[],[],!0));
5
+ }.mc-pincode-input__control.svelte-h63szf {font-size:var(--font-size-400, 1.75rem);transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:3rem;box-sizing:border-box;height:4rem;text-align:center;line-height:var(--line-height-s, 1.3);}.mc-pincode-input__control.svelte-h63szf::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-pincode-input__control.svelte-h63szf:focus-within {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-pincode-input__control.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-pincode-input__control.svelte-h63szf:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-pincode-input__control.is-invalid.svelte-h63szf {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-pincode-input__control.is-invalid.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}`};function $(k,s){K(s,!0),O(k,Z);let m=i(s,"id",7),c=i(s,"length",7,6),v=i(s,"name",7),p=i(s,"value",7),h=i(s,"isinvalid",7),b=i(s,"disabled",7),g=i(s,"readonly",7);const n=H(()=>typeof c()=="string"?parseInt(c(),10)||6:c());let l=x(D([])),_=x(D([])),y;R(()=>{const e=String(p()??"");z(l,Array(o(n)).fill(""),!0),z(l,Array.from({length:o(n)},(t,r)=>e[r]??""),!0)});const u=e=>{queueMicrotask(()=>o(_)?.[e]?.focus())},w=()=>{const e=o(l).join(""),t=new CustomEvent("input",{detail:{value:e},bubbles:!0,composed:!0});y.dispatchEvent(t)},E=(e,t)=>{const a=e.target.value.replace(/\D/g,"").slice(0,1);o(l)[t]=a,w(),a&&t+1<o(n)&&u(t+1)},q=(e,t)=>{e.key==="ArrowLeft"&&t>0?(e.preventDefault(),u(t-1)):e.key==="ArrowRight"&&t<o(n)-1?(e.preventDefault(),u(t+1)):e.key==="Backspace"&&o(l)[t]===""&&t>0&&(o(l)[t-1]="",w(),u(t-1))},L=e=>{e.preventDefault();const t=(e.clipboardData?.getData("text")??"").replace(/\D/g,"").slice(0,o(n));z(l,Array.from({length:o(n)},(r,a)=>t[a]??""),!0),w(),u(Math.min(t.length,o(n)-1))};var M={get id(){return m()},set id(e){m(e),d()},get length(){return c()},set length(e=6){c(e),d()},get name(){return v()},set name(e){v(e),d()},get value(){return p()},set value(e){p(e),d()},get isinvalid(){return h()},set isinvalid(e){h(e),d()},get disabled(){return b()},set disabled(e){b(e),d()},get readonly(){return g()},set readonly(e){g(e),d()}},f=Y();return U(f,20,()=>[...Array(o(n)).keys()],e=>e,(e,t)=>{var r=X();V(r),r.__input=a=>E(a,t),r.__keydown=a=>q(a,t),I(r,(a,P)=>o(_)[P]=a,a=>o(_)?.[a],()=>[t]),N(()=>{B(r,"id",`pincodeItem${t}`),Q(r,1,T(["mc-pincode-input__control",h()&&"is-invalid"]),"svelte-h63szf"),B(r,"name",v()??`pincode-${m()}`),r.disabled=b(),r.readOnly=g(),W(r,o(l)[t])}),A(e,r)}),J(f),I(f,e=>y=e,()=>y),F("paste",f,L),A(k,f),G(M)}S(["input","keydown"]);customElements.define("m-pincode",C($,{isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},readonly:{attribute:"readonly",reflect:!0,type:"Boolean"},id:{},length:{},name:{},value:{}},[],[],!0));
6
6
  //# sourceMappingURL=Pincode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pincode.js","sources":["../../../src/components/pincode/Pincode.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-pincode' }} />\n\n<script lang=\"ts\">\n /**\n * A pincode input is a specialized input field used to enter short numeric codes, such as verification codes, security PINs, or authentication tokens. It typically separates each digit into individual fields to improve readability and ease of entry. This component is commonly used in two-factor authentication (2FA), password recovery, and secure access flows, ensuring a structured and user-friendly experience.\n *\n * @event input {CustomEvent<{ value: string }>} - Emits when the pincode value changes.\n */\n interface Props {\n /**\n * A unique identifier for the pincode element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The number of input displayed in the pincode element.\n */\n length?: 4 | 5 | 6;\n /**\n * The name attribute for the pincode element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the pincode field.\n */\n value?: string | number;\n /**\n * If `true`, applies an invalid state to the pincode.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the pincode, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, the pincode is read-only (cannot be edited).\n */\n readonly?: boolean;\n }\n\n let { id, length = 6, name, value, isinvalid, disabled, readonly }: Props = $props();\n\n const L = $derived(typeof length === 'string' ? parseInt(length, 10) || 6 : length);\n\n let otp = $state<string[]>(Array(L).fill(''));\n let inputs = $state<HTMLInputElement[]>([]);\n let element: HTMLElement;\n\n $effect(() => {\n const incoming = String(value ?? '');\n otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');\n });\n\n const focusInput = (i: number) => {\n queueMicrotask(() => inputs?.[i]?.focus());\n };\n\n const emitInput = () => {\n const joined = otp.join('');\n const event = new CustomEvent('input', {\n detail: { value: joined },\n bubbles: true,\n composed: true,\n });\n element.dispatchEvent(event);\n };\n\n const onInput = (e: Event, index: number) => {\n const el = e.target as HTMLInputElement;\n const digit = el.value.replace(/\\D/g, '').slice(0, 1);\n otp[index] = digit;\n emitInput();\n if (digit && index + 1 < L) focusInput(index + 1);\n };\n\n const onKeyDown = (e: KeyboardEvent, index: number) => {\n if (e.key === 'ArrowLeft' && index > 0) {\n e.preventDefault();\n focusInput(index - 1);\n } else if (e.key === 'ArrowRight' && index < L - 1) {\n e.preventDefault();\n focusInput(index + 1);\n } else if (e.key === 'Backspace' && otp[index] === '' && index > 0) {\n otp[index - 1] = '';\n emitInput();\n focusInput(index - 1);\n }\n };\n\n const onPaste = (e: ClipboardEvent) => {\n e.preventDefault();\n const pasted = (e.clipboardData?.getData('text') ?? '').replace(/\\D/g, '').slice(0, L);\n otp = Array.from({ length: L }, (_, i) => pasted[i] ?? '');\n emitInput();\n focusInput(Math.min(pasted.length, L - 1));\n };\n</script>\n\n<div class=\"mc-pincode-input\" onpaste={onPaste} bind:this={element}>\n {#each [...Array(L).keys()] as i (i)}\n <input\n id={`pincodeItem${i}`}\n bind:this={inputs[i]}\n class={['mc-pincode-input__control', isinvalid && 'is-invalid']}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n pattern=\"\\d*\"\n autocomplete=\"one-time-code\"\n name={name ?? `pincode-${id}`}\n {disabled}\n {readonly}\n value={otp[i]}\n oninput={(e) => onInput(e, i)}\n onkeydown={(e) => onKeyDown(e as KeyboardEvent, i)}\n />\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/pincode-input';\n</style>\n"],"names":["id","$.prop","$$props","length","name","value","isinvalid","disabled","readonly","L","$.derived","otp","$.get","inputs","$.state","$.proxy","element","$.user_effect","incoming","$.set","_","i","focusInput","emitInput","joined","event","onInput","index","digit","onKeyDown","onPaste","pasted","$$anchor","input","e","$$value","$.set_attribute","$.set_value","$.bind_this","div"],"mappings":";;;;yxDAAA,oBAuCQA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EAAEC,iBAAS,CAAC,EAAEC,EAAIH,EAAAC,EAAA,OAAA,CAAA,EAAEG,EAAKJ,EAAAC,EAAA,QAAA,CAAA,EAAEI,EAASL,EAAAC,EAAA,YAAA,CAAA,EAAEK,EAAQN,EAAAC,EAAA,WAAA,CAAA,EAAEM,EAAQP,EAAAC,EAAA,WAAA,CAAA,EAE1D,MAAAO,EAACC,EAAA,IAAA,OAAmBP,EAAM,GAAK,SAAW,SAASA,EAAM,EAAE,EAAE,GAAK,EAAIA,EAAM,CAAA,EAE9E,IAAAQ,MAAuB,MAAKC,EAACH,CAAC,CAAA,EAAE,KAAK,EAAE,CAAA,CAAA,EACvCI,EAAMC,EAAAC,EAAA,CAAA,CAAA,CAAA,EACNC,EAEJC,EAAO,IAAO,CACN,MAAAC,EAAW,OAAOb,EAAK,GAAI,EAAE,EACnCc,EAAAR,EAAM,MAAM,KAAI,CAAG,OAAMC,EAAEH,CAAC,CAAA,EAAA,CAAKW,EAAGC,IAAMH,EAASG,CAAC,GAAK,EAAE,EAAA,EAAA,CAC7D,CAAC,QAEKC,EAAcD,GAAc,CAChC,eAAc,IAAAT,EAAOC,CAAM,IAAGQ,CAAC,GAAG,OAAK,CACzC,EAEME,EAAS,IAAS,CAChB,MAAAC,EAAMZ,EAAGD,CAAG,EAAC,KAAK,EAAE,EACpBc,MAAY,YAAY,QAAO,CACnC,OAAM,CAAI,MAAOD,CAAM,EACvB,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBR,EAAQ,cAAcS,CAAK,CAC7B,EAEMC,EAAO,CAAI,EAAUC,IAAkB,CAErC,MAAAC,EADK,EAAE,OACI,MAAM,QAAQ,MAAO,EAAE,EAAE,MAAM,EAAG,CAAC,IACpDjB,CAAG,EAACgB,CAAK,EAAIC,EACbL,EAAS,EACLK,GAASD,EAAQ,EAACf,EAAGH,CAAC,GAAEa,EAAWK,EAAQ,CAAC,CAClD,EAEME,EAAS,CAAI,EAAkBF,IAAkB,CACjD,EAAE,MAAQ,aAAeA,EAAQ,GACnC,EAAE,eAAc,EAChBL,EAAWK,EAAQ,CAAC,GACX,EAAE,MAAQ,cAAgBA,EAAKf,EAAGH,CAAC,EAAG,GAC/C,EAAE,eAAc,EAChBa,EAAWK,EAAQ,CAAC,GACX,EAAE,MAAQ,aAAWf,EAAID,CAAG,EAACgB,CAAK,IAAM,IAAMA,EAAQ,IAC/Df,EAAAD,CAAG,EAACgB,EAAQ,CAAC,EAAI,GACjBJ,EAAS,EACTD,EAAWK,EAAQ,CAAC,EAExB,EAEMG,EAAW,GAAsB,CACrC,EAAE,eAAc,QACVC,GAAU,EAAE,eAAe,QAAQ,MAAM,GAAK,IAAI,QAAQ,MAAO,EAAE,EAAE,MAAM,EAACnB,EAAEH,CAAC,CAAA,EACrFU,EAAAR,EAAM,MAAM,KAAI,CAAG,OAAMC,EAAEH,CAAC,CAAA,EAAA,CAAKW,EAAGC,IAAMU,EAAOV,CAAC,GAAK,EAAE,EAAA,EAAA,EACzDE,EAAS,EACTD,EAAW,KAAK,IAAIS,EAAO,OAAMnB,EAAEH,CAAC,EAAG,CAAC,CAAA,CAC1C,wFAvDmB,EAAC,qSA2DT,MAAKG,EAACH,CAAC,CAAA,EAAE,KAAI,GAAOY,GAAGA,EAAC,CAAAW,EAAJX,IAAC,gBAclBY,EAAA,QAAAC,GAAMR,EAAQQ,EAAGb,CAAC,EAChBY,EAAA,UAAAC,GAAML,EAAUK,EAAoBb,CAAC,SAZ/BA,IAACT,EAARC,CAAM,EAACQ,CAAC,EAAAc,EAADd,GAACT,EAARC,CAAM,IAACQ,CAAC,EAAA,IAAA,CAADA,CAAC,CAAA,gCADDA,CAAC,EAAA,WAEX,4BAA6Bf,KAAa,YAAY,CAAA,EAAA,eAAA,EAMxD8B,EAAAH,EAAA,OAAA7B,EAAI,cAAeJ,EAAE,CAAA,EAAA,gCAGpBqC,EAAAJ,EAAArB,EAAAD,CAAG,EAACU,CAAC,CAAA,kBAdyCiB,EAAAC,EAAAJ,GAAAnB,QAAAA,CAAO,cAA3Bc,CAAO,aAF9C"}
1
+ {"version":3,"file":"Pincode.js","sources":["../../../src/components/pincode/Pincode.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-pincode',\n props: {\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },\n },\n }}\n/>\n\n<script lang=\"ts\">\n /**\n * A pincode input is a specialized input field used to enter short numeric codes, such as verification codes, security PINs, or authentication tokens. It typically separates each digit into individual fields to improve readability and ease of entry. This component is commonly used in two-factor authentication (2FA), password recovery, and secure access flows, ensuring a structured and user-friendly experience.\n *\n * @event input {CustomEvent<{ value: string }>} - Emits when the pincode value changes.\n */\n interface Props {\n /**\n * A unique identifier for the pincode element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The number of input displayed in the pincode element.\n */\n length?: 4 | 5 | 6;\n /**\n * The name attribute for the pincode element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the pincode field.\n */\n value?: string | number;\n /**\n * If `true`, applies an invalid state to the pincode.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the pincode, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, the pincode is read-only (cannot be edited).\n */\n readonly?: boolean;\n }\n\n let { id, length = 6, name, value, isinvalid, disabled, readonly }: Props = $props();\n\n const L = $derived(typeof length === 'string' ? parseInt(length, 10) || 6 : length);\n\n let otp = $state<string[]>([]);\n let inputs = $state<HTMLInputElement[]>([]);\n let element: HTMLElement;\n\n $effect(() => {\n const incoming = String(value ?? '');\n otp = Array(L).fill('');\n otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');\n });\n\n const focusInput = (i: number) => {\n queueMicrotask(() => inputs?.[i]?.focus());\n };\n\n const emitInput = () => {\n const joined = otp.join('');\n const event = new CustomEvent('input', {\n detail: { value: joined },\n bubbles: true,\n composed: true,\n });\n element.dispatchEvent(event);\n };\n\n const onInput = (e: Event, index: number) => {\n const el = e.target as HTMLInputElement;\n const digit = el.value.replace(/\\D/g, '').slice(0, 1);\n otp[index] = digit;\n emitInput();\n if (digit && index + 1 < L) focusInput(index + 1);\n };\n\n const onKeyDown = (e: KeyboardEvent, index: number) => {\n if (e.key === 'ArrowLeft' && index > 0) {\n e.preventDefault();\n focusInput(index - 1);\n } else if (e.key === 'ArrowRight' && index < L - 1) {\n e.preventDefault();\n focusInput(index + 1);\n } else if (e.key === 'Backspace' && otp[index] === '' && index > 0) {\n otp[index - 1] = '';\n emitInput();\n focusInput(index - 1);\n }\n };\n\n const onPaste = (e: ClipboardEvent) => {\n e.preventDefault();\n const pasted = (e.clipboardData?.getData('text') ?? '').replace(/\\D/g, '').slice(0, L);\n otp = Array.from({ length: L }, (_, i) => pasted[i] ?? '');\n emitInput();\n focusInput(Math.min(pasted.length, L - 1));\n };\n</script>\n\n<div class=\"mc-pincode-input\" onpaste={onPaste} bind:this={element}>\n {#each [...Array(L).keys()] as i (i)}\n <input\n id={`pincodeItem${i}`}\n bind:this={inputs[i]}\n class={['mc-pincode-input__control', isinvalid && 'is-invalid']}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n pattern=\"\\d*\"\n autocomplete=\"one-time-code\"\n name={name ?? `pincode-${id}`}\n {disabled}\n {readonly}\n value={otp[i]}\n oninput={(e) => onInput(e, i)}\n onkeydown={(e) => onKeyDown(e as KeyboardEvent, i)}\n />\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/pincode-input';\n</style>\n"],"names":["id","$.prop","$$props","length","name","value","isinvalid","disabled","readonly","L","$.derived","otp","$.state","$.proxy","inputs","element","$.user_effect","incoming","$.set","$.get","_","i","focusInput","emitInput","joined","event","onInput","index","digit","onKeyDown","onPaste","pasted","div","root","$$anchor","input","root_1","$.remove_input_defaults","e","$.bind_this","$$value","$.set_attribute","$.set_class","$.clsx","$.append","$.event"],"mappings":";;;;yxDAWA,oBAqCQA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EAAEC,iBAAS,CAAC,EAAEC,EAAIH,EAAAC,EAAA,OAAA,CAAA,EAAEG,EAAKJ,EAAAC,EAAA,QAAA,CAAA,EAAEI,EAASL,EAAAC,EAAA,YAAA,CAAA,EAAEK,EAAQN,EAAAC,EAAA,WAAA,CAAA,EAAEM,EAAQP,EAAAC,EAAA,WAAA,CAAA,EAE1D,MAAAO,EAACC,EAAA,IAAA,OAAmBP,EAAM,GAAK,SAAW,SAASA,EAAM,EAAE,EAAE,GAAK,EAAIA,EAAM,CAAA,EAE9E,IAAAQ,EAAMC,EAAMC,EAAA,CAAA,CAAA,CAAA,EACZC,EAASF,EAAMC,EAAA,CAAA,CAAA,CAAA,EACfE,EAEJC,EAAO,IAAO,CACN,MAAAC,EAAW,OAAOZ,EAAK,GAAI,EAAE,EACnCa,EAAAP,EAAM,MAAKQ,EAACV,CAAC,CAAA,EAAE,KAAK,EAAE,EAAA,EAAA,EACtBS,EAAAP,EAAM,MAAM,KAAI,CAAG,OAAMQ,EAAEV,CAAC,CAAA,EAAA,CAAKW,EAAGC,IAAMJ,EAASI,CAAC,GAAK,EAAE,EAAA,EAAA,CAC7D,CAAC,QAEKC,EAAcD,GAAc,CAChC,eAAc,IAAAF,EAAOL,CAAM,IAAGO,CAAC,GAAG,OAAK,CACzC,EAEME,EAAS,IAAS,CAChB,MAAAC,EAAML,EAAGR,CAAG,EAAC,KAAK,EAAE,EACpBc,MAAY,YAAY,QAAO,CACnC,OAAM,CAAI,MAAOD,CAAM,EACvB,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBT,EAAQ,cAAcU,CAAK,CAC7B,EAEMC,EAAO,CAAI,EAAUC,IAAkB,CAErC,MAAAC,EADK,EAAE,OACI,MAAM,QAAQ,MAAO,EAAE,EAAE,MAAM,EAAG,CAAC,IACpDjB,CAAG,EAACgB,CAAK,EAAIC,EACbL,EAAS,EACLK,GAASD,EAAQ,EAACR,EAAGV,CAAC,GAAEa,EAAWK,EAAQ,CAAC,CAClD,EAEME,EAAS,CAAI,EAAkBF,IAAkB,CACjD,EAAE,MAAQ,aAAeA,EAAQ,GACnC,EAAE,eAAc,EAChBL,EAAWK,EAAQ,CAAC,GACX,EAAE,MAAQ,cAAgBA,EAAKR,EAAGV,CAAC,EAAG,GAC/C,EAAE,eAAc,EAChBa,EAAWK,EAAQ,CAAC,GACX,EAAE,MAAQ,aAAWR,EAAIR,CAAG,EAACgB,CAAK,IAAM,IAAMA,EAAQ,IAC/DR,EAAAR,CAAG,EAACgB,EAAQ,CAAC,EAAI,GACjBJ,EAAS,EACTD,EAAWK,EAAQ,CAAC,EAExB,EAEMG,EAAW,GAAsB,CACrC,EAAE,eAAc,QACVC,GAAU,EAAE,eAAe,QAAQ,MAAM,GAAK,IAAI,QAAQ,MAAO,EAAE,EAAE,MAAM,EAACZ,EAAEV,CAAC,CAAA,EACrFS,EAAAP,EAAM,MAAM,KAAI,CAAG,OAAMQ,EAAEV,CAAC,CAAA,EAAA,CAAKW,EAAGC,IAAMU,EAAOV,CAAC,GAAK,EAAE,EAAA,EAAA,EACzDE,EAAS,EACTD,EAAW,KAAK,IAAIS,EAAO,OAAMZ,EAAEV,CAAC,EAAG,CAAC,CAAA,CAC1C,wFAxDmB,EAAC,yQA2DrBuB,EAAGC,EAAA,WAAHD,EAAG,GAAA,IAAA,CAAA,GACS,MAAKb,EAACV,CAAC,CAAA,EAAE,KAAI,CAAA,EAAOY,GAAGA,EAAC,CAAAa,EAAJb,IAAC,CAC7B,IAAAc,EAAAC,EAAA,EAAAC,EAAAF,CAAA,EAAAA,EAaC,QAAUG,GAAMZ,EAAQY,EAAGjB,CAAC,EAb7Bc,EAcC,UAAYG,GAAMT,EAAUS,EAAoBjB,CAAC,EAdlDkB,EAAAJ,EAAA,CAAAK,EAEmBnB,IAACF,EAARL,CAAM,EAACO,CAAC,EAAAmB,EAADnB,GAACF,EAARL,CAAM,IAACO,CAAC,EAAA,IAAA,CAADA,CAAC,CAAA,SAFpBoB,EAAAN,EAAA,KAAA,cACmBd,CAAC,EAAA,EADpBqB,EAAAP,EAAA,EAAAQ,EAAA,CAGS,4BAA6BrC,KAAa,YAAY,CAAA,EAAA,eAAA,IAH/D6B,EAAA,OASO/B,EAAI,cAAeJ,EAAE,CAAA,EAAA,EAT5BmC,EAAA,SAUE5B,EAAQ,EAVV4B,EAAA,SAWE3B,EAAQ,IAXV2B,EAAAhB,EAYQR,CAAG,EAACU,CAAC,CAAA,IAZbuB,EAAAV,EAAAC,CAAA,MAFJH,CAAG,IAAHA,EAAGQ,GAAuDzB,EAAOyB,EAAA,IAAPzB,CAAO,EAAjE8B,EAAA,QAAAb,EAAsCF,CAAO,MAA7CE,CAAG,MAFI"}
@@ -31,9 +31,9 @@ const meta = {
31
31
  name=${ifDefined(args.name)}
32
32
  value=${ifDefined(args.value)}
33
33
  length=${ifDefined(args.length)}
34
- isinvalid=${ifDefined(args.isinvalid)}
35
- disabled=${ifDefined(args.disabled)}
36
- readonly=${ifDefined(args.readonly)}
34
+ ?isinvalid=${args.isinvalid}
35
+ ?disabled=${args.disabled}
36
+ ?readonly=${args.readonly}
37
37
  @input=${(event) => {
38
38
  onInput(event);
39
39
  }}
@@ -1,4 +1,13 @@
1
- <svelte:options customElement={{ tag: 'm-pincode' }} />
1
+ <svelte:options
2
+ customElement={{
3
+ tag: 'm-pincode',
4
+ props: {
5
+ isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
6
+ disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
7
+ readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },
8
+ },
9
+ }}
10
+ />
2
11
 
3
12
  <script lang="ts">
4
13
  /**
@@ -41,12 +50,13 @@
41
50
 
42
51
  const L = $derived(typeof length === 'string' ? parseInt(length, 10) || 6 : length);
43
52
 
44
- let otp = $state<string[]>(Array(L).fill(''));
53
+ let otp = $state<string[]>([]);
45
54
  let inputs = $state<HTMLInputElement[]>([]);
46
55
  let element: HTMLElement;
47
56
 
48
57
  $effect(() => {
49
58
  const incoming = String(value ?? '');
59
+ otp = Array(L).fill('');
50
60
  otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');
51
61
  });
52
62
 
@@ -1 +1 @@
1
- {"version":3,"file":"Pincode.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/pincode/Pincode.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA0EH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Pincode.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/pincode/Pincode.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkFH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
@@ -1,5 +1,5 @@
1
- import{c as I,p as j,b as s,A as U,t as F,h as L,i as M,j as l,l as A,m as B,w as W,a as X,f as Y,r as Z,d as u,s as _,e as m,g as V}from"../../custom-element.js";import{s as g,b as $,a as ee}from"../../attributes.js";import{c as te}from"../../input.js";import{c as re}from"../../custom-element-forward-events.js";import"../../legacy.js";import{L as se}from"../../Less24.js";var le=U('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path fill-rule="evenodd" d="M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6z"></path></svg>');function G(h,t){j(t,!1);let d=s(t,"id",12,void 0),r=s(t,"style",12,void 0),a=s(t,"className",12,void 0),n=s(t,"fill",12,void 0),c=s(t,"size",12,"1.5rem");var b={get id(){return d()},set id(o){d(o),l()},get style(){return r()},set style(o){r(o),l()},get className(){return a()},set className(o){a(o),l()},get fill(){return n()},set fill(o){n(o),l()},get size(){return c()},set size(o){c(o),l()}},i=le();return F(()=>{g(i,"id",d()),$(i,r()),A(i,0,B(a())),g(i,"fill",n())}),L(h,i),M(b)}customElements.define("more-24",I(G,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var oe=Y('<div><input/> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--increase svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--decrease svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button></div>');const ae={hash:"svelte-ptlds1",code:`/**
1
+ import{u as C,c as H,p as J,a as K,b as o,s as h,t as O,f as P,g as R,h as T,i as U,d as n,j as s,r as i,n as W,o as X,e as V}from"../../custom-element.js";import{a as Y,s as B}from"../../attributes.js";import{c as Z}from"../../input.js";import{c as $}from"../../custom-element-forward-events.js";import{M as ee,L as te}from"../../Condition20.js";var re=T('<div><input/> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--increase svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--decrease svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button></div>');const oe={hash:"svelte-ptlds1",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-quantity-selector.svelte-ptlds1 {background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:100%;height:3rem;box-sizing:border-box;display:flex;gap:0.25rem;padding:0.1875rem;position:relative;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector__control.svelte-ptlds1 {background-color:transparent;border-width:0;color:inherit;font-family:inherit;outline:none;}.mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-inner-spin-button, .mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-outer-spin-button {appearance:none;margin:0;}.mc-quantity-selector__control[type=number].svelte-ptlds1 {
4
- /* For Gecko rendering engine */appearance:textfield;}.mc-quantity-selector__control.svelte-ptlds1 {padding:0;font-size:inherit;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-m, 1.5);font-weight:var(--font-weight-semi-bold, 600);cursor:inherit;text-align:center;flex-grow:1;}.mc-quantity-selector__control.svelte-ptlds1::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-quantity-selector__button.svelte-ptlds1 {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;height:2.5rem;width:2.5rem;border-radius:var(--border-radius-full, 100%);color:var(--quantity-selector-color-button-text-default, #242938);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.mc-quantity-selector__button.svelte-ptlds1:disabled {color:var(--quantity-selector-color-button-text-disabled, #d9d9d9);cursor:not-allowed;}.mc-quantity-selector__button.svelte-ptlds1:hover:not(:disabled) {background-color:var(--quantity-selector-color-button-background-hover, rgba(255, 255, 255, 0.1));}.mc-quantity-selector__button--decrease.svelte-ptlds1 {order:-1;}.mc-quantity-selector__icon.svelte-ptlds1 {height:1.5rem;width:1.5rem;fill:currentcolor;}.mc-quantity-selector__label.svelte-ptlds1 {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-quantity-selector.svelte-ptlds1::after {transition:box-shadow 200ms ease;content:"";position:absolute;inset:-0.125rem var(--inset-x, 3rem);pointer-events:none;display:block;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) .mc-quantity-selector__button:where(.svelte-ptlds1):disabled {color:var(--forms-color-icon-disabled, #737373);}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) .mc-quantity-selector__control[readonly]:where(.svelte-ptlds1) {text-align:left;padding-left:0.5rem;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):focus)::after {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-quantity-selector--s.svelte-ptlds1 {--inset-x: 2rem;height:2rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__button:where(.svelte-ptlds1) {height:1.5rem;width:1.5rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__icon:where(.svelte-ptlds1) {height:1.25rem;width:1.25rem;}.mc-quantity-selector.is-invalid.svelte-ptlds1 {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-quantity-selector.is-invalid.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}.mc-quantity-selector.svelte-ptlds1 :where(.svelte-ptlds1) {box-sizing:border-box;}`};function ne(h,t){j(t,!0),X(h,ae);let d=s(t,"id",7),r=s(t,"value",15,1),a=s(t,"min",7,1),n=s(t,"max",7,100),c=s(t,"step",7,1),b=s(t,"size",7,"m"),i=s(t,"disabled",7),o=s(t,"isinvalid",7,!1),w=s(t,"name",7,"quantity-selector-input"),x=s(t,"readonly",7),q=s(t,"decrementlabel",7,"Decrement"),k=s(t,"incrementlabel",7,"Increment"),H=Z(t,["$$slots","$$events","$$legacy","$$host","id","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel"]);const Q=()=>{const e=Number(r());e>n()?r(n()):e<a()?r(a()):r(e)},C=()=>{const e=Number(r()),f=Number(c());e+f<=n()?r(e+f):r(n())},J=()=>{const e=Number(r()),f=Number(c());e-f>=a()?r(e-f):r(a())};var K={get id(){return d()},set id(e){d(e),l()},get value(){return r()},set value(e=1){r(e),l()},get min(){return a()},set min(e=1){a(e),l()},get max(){return n()},set max(e=100){n(e),l()},get step(){return c()},set step(e=1){c(e),l()},get size(){return b()},set size(e="m"){b(e),l()},get disabled(){return i()},set disabled(e){i(e),l()},get isinvalid(){return o()},set isinvalid(e=!1){o(e),l()},get name(){return w()},set name(e="quantity-selector-input"){w(e),l()},get readonly(){return x()},set readonly(e){x(e),l()},get decrementlabel(){return q()},set decrementlabel(e="Decrement"){q(e),l()},get incrementlabel(){return k()},set incrementlabel(e="Increment"){k(e),l()}},y=oe(),z=u(y);ee(z,()=>({type:"number",id:d(),name:w(),oninput:Q,class:"mc-quantity-selector__control","aria-valuemin":a(),"aria-valuemax":n(),"aria-valuenow":r(),"aria-invalid":`${o()}`,readonly:x(),disabled:i(),...H}),void 0,void 0,void 0,"svelte-ptlds1",!0);var v=_(z,2);v.__click=C;var N=u(v),O=u(N);G(O,{}),m(N);var E=_(N,2),P=u(E,!0);m(E),m(v);var p=_(v,2);p.__click=J;var D=u(p),R=u(D);se(R,{}),m(D);var S=_(D,2),T=u(S,!0);return m(S),m(p),m(y),F(()=>{A(y,1,B(["mc-quantity-selector",`mc-quantity-selector--${b()}`,o()&&"is-invalid"]),"svelte-ptlds1"),g(v,"aria-controls",d()),v.disabled=r()===n()||i(),V(P,k()),g(p,"aria-controls",d()),p.disabled=r()===a()||i(),V(T,q())}),te(z,r),L(h,y),M(K)}W(["click"]);customElements.define("m-quantityselector",I(ne,{id:{},value:{},min:{},max:{},step:{},size:{},disabled:{},isinvalid:{},name:{},readonly:{},decrementlabel:{},incrementlabel:{}},[],[],!0,re));
4
+ /* For Gecko rendering engine */appearance:textfield;}.mc-quantity-selector__control.svelte-ptlds1 {padding:0;font-size:inherit;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-m, 1.5);font-weight:var(--font-weight-semi-bold, 600);cursor:inherit;text-align:center;flex-grow:1;}.mc-quantity-selector__control.svelte-ptlds1::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-quantity-selector__button.svelte-ptlds1 {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;height:2.5rem;width:2.5rem;border-radius:var(--border-radius-full, 100%);color:var(--quantity-selector-color-button-text-default, #242938);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.mc-quantity-selector__button.svelte-ptlds1:disabled {color:var(--quantity-selector-color-button-text-disabled, #d9d9d9);cursor:not-allowed;}.mc-quantity-selector__button.svelte-ptlds1:hover:not(:disabled) {background-color:var(--quantity-selector-color-button-background-hover, rgba(255, 255, 255, 0.1));}.mc-quantity-selector__button--decrease.svelte-ptlds1 {order:-1;}.mc-quantity-selector__icon.svelte-ptlds1 {height:1.5rem;width:1.5rem;fill:currentcolor;}.mc-quantity-selector__label.svelte-ptlds1 {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-quantity-selector.svelte-ptlds1::after {transition:box-shadow 200ms ease;content:"";position:absolute;inset:-0.125rem var(--inset-x, 3rem);pointer-events:none;display:block;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) .mc-quantity-selector__button:where(.svelte-ptlds1):disabled {color:var(--forms-color-icon-disabled, #737373);}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) .mc-quantity-selector__control[readonly]:where(.svelte-ptlds1) {text-align:left;padding-left:0.5rem;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):focus)::after {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-quantity-selector--s.svelte-ptlds1 {--inset-x: 2rem;height:2rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__button:where(.svelte-ptlds1) {height:1.5rem;width:1.5rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__icon:where(.svelte-ptlds1) {height:1.25rem;width:1.25rem;}.mc-quantity-selector.is-invalid.svelte-ptlds1 {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-quantity-selector.is-invalid.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}.mc-quantity-selector.svelte-ptlds1 :where(.svelte-ptlds1) {box-sizing:border-box;}`};function se(N,r){J(r,!0),K(N,oe);let d=o(r,"id",7),t=o(r,"value",15,1),l=o(r,"min",7,1),a=o(r,"max",7,100),b=o(r,"step",7,1),y=o(r,"size",7,"m"),u=o(r,"disabled",7),p=o(r,"isinvalid",7,!1),_=o(r,"name",7,"quantity-selector-input"),g=o(r,"readonly",7),q=o(r,"decrementlabel",7,"Decrement"),w=o(r,"incrementlabel",7,"Increment"),E=U(r,["$$slots","$$events","$$legacy","$$host","id","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel"]);const I=()=>{const e=Number(t());e>a()?t(a()):e<l()?t(l()):t(e)},j=()=>{const e=Number(t()),v=Number(b());e+v<=a()?t(e+v):t(a())},F=()=>{const e=Number(t()),v=Number(b());e-v>=l()?t(e-v):t(l())};var L={get id(){return d()},set id(e){d(e),s()},get value(){return t()},set value(e=1){t(e),s()},get min(){return l()},set min(e=1){l(e),s()},get max(){return a()},set max(e=100){a(e),s()},get step(){return b()},set step(e=1){b(e),s()},get size(){return y()},set size(e="m"){y(e),s()},get disabled(){return u()},set disabled(e){u(e),s()},get isinvalid(){return p()},set isinvalid(e=!1){p(e),s()},get name(){return _()},set name(e="quantity-selector-input"){_(e),s()},get readonly(){return g()},set readonly(e){g(e),s()},get decrementlabel(){return q()},set decrementlabel(e="Decrement"){q(e),s()},get incrementlabel(){return w()},set incrementlabel(e="Increment"){w(e),s()}},f=re(),x=n(f);Y(x,()=>({type:"number",id:d(),name:_(),oninput:I,class:"mc-quantity-selector__control","aria-valuemin":l(),"aria-valuemax":a(),"aria-valuenow":t(),"aria-invalid":`${p()}`,readonly:g(),disabled:u(),...E}),void 0,void 0,void 0,"svelte-ptlds1",!0);var c=h(x,2);c.__click=j;var k=n(c),M=n(k);ee(M,{}),i(k);var D=h(k,2),G=n(D,!0);i(D),i(c);var m=h(c,2);m.__click=F;var z=n(m),Q=n(z);te(Q,{}),i(z);var S=h(z,2),A=n(S,!0);return i(S),i(m),i(f),O(()=>{W(f,1,X(["mc-quantity-selector",`mc-quantity-selector--${y()}`,p()&&"is-invalid"]),"svelte-ptlds1"),B(c,"aria-controls",d()),c.disabled=t()===a()||u(),V(G,w()),B(m,"aria-controls",d()),m.disabled=t()===l()||u(),V(A,q())}),Z(x,t),P(N,f),R(L)}C(["click"]);customElements.define("m-quantityselector",H(se,{isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},readonly:{attribute:"readonly",reflect:!0,type:"Boolean"},id:{},value:{},min:{},max:{},step:{},size:{},name:{},decrementlabel:{},incrementlabel:{}},[],[],!0,$));
5
5
  //# sourceMappingURL=QuantitySelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuantitySelector.js","sources":["../../../node_modules/@mozaic-ds/icons-svelte/dist/components/More24/More24.svelte","../../../src/components/quantityselector/QuantitySelector.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'more-24', shadow: 'none' }} />\n<script>\n export let id = undefined;\n export let style = undefined;\n export let className = undefined;\n export let fill = undefined;\n export let size = \"1.5rem\";\n</script>\n\n<svg aria-hidden=\"true\" id={id} style={style} class={className} fill={fill} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\"><path fill-rule=\"evenodd\" d=\"M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6z\"/></svg>","<svelte:options\n customElement={{\n tag: 'm-quantityselector',\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n import More24 from '@mozaic-ds/icons-svelte/svelte/More24/More24.svelte';\n import Less24 from '@mozaic-ds/icons-svelte/svelte/Less24/Less24.svelte';\n /**\n * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.\n */\n interface Props {\n /**\n * A unique identifier for the quantity selector element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the quantity selector element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the quantity selector field.\n */\n value?: number;\n /**\n * If `true`, applies an invalid state to the quantity selector.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the quantity selector, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the quantity selector.\n */\n size?: 's' | 'm';\n /**\n * Minimum acceptable value for the quantity selector.\n */\n min?: number;\n /**\n * Maximum acceptable value for the quantity selector.\n */\n max?: number;\n /**\n * Determines how much the value will change per click when the quantity is increased or decreased.\n */\n step?: number;\n /**\n * If `true`, the quantity selector is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * The label text for the increment button.\n */\n incrementlabel?: string;\n /**\n * The label text for the decrement button.\n */\n decrementlabel?: string;\n }\n\n let {\n id,\n value = $bindable(1),\n min = 1,\n max = 100,\n step = 1,\n size = 'm',\n disabled,\n isinvalid = false,\n name = 'quantity-selector-input',\n readonly,\n decrementlabel = 'Decrement',\n incrementlabel = 'Increment',\n ...attrs\n }: Props = $props();\n\n const onValue = (): void => {\n const numericValue = Number(value);\n if (numericValue > max) {\n value = max;\n } else if (numericValue < min) {\n value = min;\n } else {\n value = numericValue;\n }\n };\n\n const onIncrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue + numericStep <= max) {\n value = numericValue + numericStep;\n } else {\n value = max;\n }\n };\n\n const onDecrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue - numericStep >= min) {\n value = numericValue - numericStep;\n } else {\n value = min;\n }\n };\n</script>\n\n<div class={['mc-quantity-selector', `mc-quantity-selector--${size}`, isinvalid && 'is-invalid']}>\n <input\n type=\"number\"\n {id}\n {name}\n bind:value\n oninput={onValue}\n class=\"mc-quantity-selector__control\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-invalid={`${isinvalid}`}\n {readonly}\n {disabled}\n {...attrs}\n />\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--increase\"\n tabindex=\"-1\"\n disabled={value === max || disabled}\n onclick={onIncrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <More24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{incrementlabel}</span>\n </button>\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--decrease\"\n tabindex=\"-1\"\n disabled={value === min || disabled}\n onclick={onDecrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <Less24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{decrementlabel}</span>\n </button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/quantity-selector';\n</style>\n"],"names":["id","style","className","fill","size","$.prop","$$props","value","min","max","step","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel","attrs","$.rest_props","onValue","numericValue","onIncrement","numericStep","onDecrement","customElementForwardEvents"],"mappings":"unBAAA,SAEa,IAAAA,cAAK,MAAS,EACdC,iBAAQ,MAAS,EACjBC,qBAAY,MAAS,EACrBC,gBAAO,MAAS,EAChBC,gBAAO,QAAQ,iRAGAJ,GAAE,MAAUC,GAAK,UAASC,EAAS,CAAA,CAAA,aAAQC,GAAI,eAF3E;;;svHCPA,qBAkEIH,EAAEK,EAAAC,EAAA,KAAA,CAAA,EACFC,iBAAkB,CAAC,EACnBC,cAAM,CAAC,EACPC,cAAM,GAAG,EACTC,eAAO,CAAC,EACRN,eAAO,GAAG,EACVO,EAAQN,EAAAC,EAAA,WAAA,CAAA,EACRM,oBAAY,EAAK,EACjBC,eAAO,yBAAyB,EAChCC,EAAQT,EAAAC,EAAA,WAAA,CAAA,EACRS,yBAAiB,WAAW,EAC5BC,yBAAiB,WAAW,EACzBC,EAAAC,EAAAZ,EAAA,8JAGC,MAAAa,EAAO,IAAe,OACpBC,EAAe,OAAOb,GAAK,EAC7Ba,EAAeX,IACjBF,EAAQE,EAAG,CAAA,EACFW,EAAeZ,IACxBD,EAAQC,EAAG,CAAA,EAEXD,EAAQa,CAAY,CAExB,EAEMC,EAAW,IAAe,OACxBD,EAAe,OAAOb,GAAK,EAC3Be,EAAc,OAAOZ,GAAI,EAE3BU,EAAeE,GAAeb,IAChCF,EAAQa,EAAeE,CAAW,EAElCf,EAAQE,EAAG,CAAA,CAEf,EAEMc,EAAW,IAAe,OACxBH,EAAe,OAAOb,GAAK,EAC3Be,EAAc,OAAOZ,GAAI,EAE3BU,EAAeE,GAAed,IAChCD,EAAQa,EAAeE,CAAW,EAElCf,EAAQC,EAAG,CAAA,CAEf,sFA7CoB,EAAC,2CACb,EAAC,2CACD,IAAG,6CACF,EAAC,6CACD,IAAG,4GAEE,GAAK,6CACV,0BAAyB,sHAEf,YAAW,iEACX,YAAW,2EA4CnBW,wDAEMX,EAAG,kBACHC,EAAG,kBACHF,EAAK,oBACHK,EAAS,CAAA,gCAGtBK,oEAQKI,yFAaAE,+FAnCA,gDAAiDnB,EAAI,CAAA,GAAIQ,KAAa,oDAkBhEZ,GAAE,aAGPO,EAAK,IAAKE,EAAG,GAAIE,EAAQ,MAMQK,GAAc,sBAI1ChB,GAAE,aAGPO,EAAK,IAAKC,EAAG,GAAIG,EAAQ,MAMQI,GAAc,uBA1C7D,uMA9GYS","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"QuantitySelector.js","sources":["../../../src/components/quantityselector/QuantitySelector.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-quantityselector',\n props: {\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n import { More24, Less24 } from '@mozaic-ds/icons-svelte';\n /**\n * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.\n */\n interface Props {\n [key: string]: any;\n /**\n * A unique identifier for the quantity selector element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the quantity selector element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the quantity selector field.\n */\n value?: number;\n /**\n * If `true`, applies an invalid state to the quantity selector.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the quantity selector, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the quantity selector.\n */\n size?: 's' | 'm';\n /**\n * Minimum acceptable value for the quantity selector.\n */\n min?: number;\n /**\n * Maximum acceptable value for the quantity selector.\n */\n max?: number;\n /**\n * Determines how much the value will change per click when the quantity is increased or decreased.\n */\n step?: number;\n /**\n * If `true`, the quantity selector is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * The label text for the increment button.\n */\n incrementlabel?: string;\n /**\n * The label text for the decrement button.\n */\n decrementlabel?: string;\n }\n\n let {\n id,\n value = $bindable(1),\n min = 1,\n max = 100,\n step = 1,\n size = 'm',\n disabled,\n isinvalid = false,\n name = 'quantity-selector-input',\n readonly,\n decrementlabel = 'Decrement',\n incrementlabel = 'Increment',\n ...attrs\n }: Props = $props();\n\n const onValue = (): void => {\n const numericValue = Number(value);\n if (numericValue > max) {\n value = max;\n } else if (numericValue < min) {\n value = min;\n } else {\n value = numericValue;\n }\n };\n\n const onIncrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue + numericStep <= max) {\n value = numericValue + numericStep;\n } else {\n value = max;\n }\n };\n\n const onDecrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue - numericStep >= min) {\n value = numericValue - numericStep;\n } else {\n value = min;\n }\n };\n</script>\n\n<div class={['mc-quantity-selector', `mc-quantity-selector--${size}`, isinvalid && 'is-invalid']}>\n <input\n type=\"number\"\n {id}\n {name}\n bind:value\n oninput={onValue}\n class=\"mc-quantity-selector__control\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-invalid={`${isinvalid}`}\n {readonly}\n {disabled}\n {...attrs}\n />\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--increase\"\n tabindex=\"-1\"\n disabled={value === max || disabled}\n onclick={onIncrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <More24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{incrementlabel}</span>\n </button>\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--decrease\"\n tabindex=\"-1\"\n disabled={value === min || disabled}\n onclick={onDecrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <Less24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{decrementlabel}</span>\n </button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/quantity-selector';\n</style>\n"],"names":["id","$.prop","$$props","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel","attrs","$.rest_props","onValue","numericValue","onIncrement","numericStep","onDecrement","div","root","input","$.child","button","$.sibling","span","More24","node","span_1","$.reset","button_1","span_2","Less24","node_1","span_3","$.set_attribute","$.bind_value","customElementForwardEvents"],"mappings":";;;svHAYA,qBA2DIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,iBAAkB,CAAC,EACnBC,cAAM,CAAC,EACPC,cAAM,GAAG,EACTC,eAAO,CAAC,EACRC,eAAO,GAAG,EACVC,EAAQP,EAAAC,EAAA,WAAA,CAAA,EACRO,oBAAY,EAAK,EACjBC,eAAO,yBAAyB,EAChCC,EAAQV,EAAAC,EAAA,WAAA,CAAA,EACRU,yBAAiB,WAAW,EAC5BC,yBAAiB,WAAW,EACzBC,EAAAC,EAAAb,EAAA,8JAGC,MAAAc,EAAO,IAAe,OACpBC,EAAe,OAAOd,GAAK,EAC7Bc,EAAeZ,IACjBF,EAAQE,EAAG,CAAA,EACFY,EAAeb,IACxBD,EAAQC,EAAG,CAAA,EAEXD,EAAQc,CAAY,CAExB,EAEMC,EAAW,IAAe,OACxBD,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAed,IAChCF,EAAQc,EAAeE,CAAW,EAElChB,EAAQE,EAAG,CAAA,CAEf,EAEMe,EAAW,IAAe,OACxBH,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAef,IAChCD,EAAQc,EAAeE,CAAW,EAElChB,EAAQC,EAAG,CAAA,CAEf,sFA7CoB,EAAC,2CACb,EAAC,2CACD,IAAG,6CACF,EAAC,6CACD,IAAG,4GAEE,GAAK,6CACV,0BAAyB,sHAEf,YAAW,iEACX,YAAW,YAsC/BiB,EAAGC,GAAA,EACDC,EAAAC,EADFH,CAAG,IACDE,yBAEEvB,EAAE,OACFU,EAAI,UAEIM,wDAEMZ,EAAG,kBACHC,EAAG,kBACHF,EAAK,oBACHM,EAAS,CAAA,YACzBE,EAAQ,WACRH,EAAQ,KACLM,iDAELW,EAAAC,EAfAH,EAAA,CAAA,EAeAE,EAMC,QAASP,EAER,IAAAS,EAAIH,EARNC,CAAA,MAQEE,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,IAAJA,CAAI,EAXNC,EAAAN,CAAA,MAaAO,EAAAN,EAbAD,EAAA,CAAA,EAaAO,EAMC,QAASZ,EAER,IAAAa,EAAIT,EARNQ,CAAA,MAQEC,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,WAAJA,CAAI,EAXNL,EAAAC,CAAA,IA7BFX,CAAG,WAAHA,OAAY,gDAAiDd,EAAI,CAAA,GAAIE,KAAa,gCAgBhF4B,EAAAZ,EAAA,gBAEgBzB,GAAE,EAFlByB,EAAA,SAKWtB,EAAK,IAAKE,EAAG,GAAIG,EAAQ,MAMQK,GAAc,EAE1DwB,EAAAL,EAAA,gBAEgBhC,GAAE,EAFlBgC,EAAA,SAKW7B,EAAK,IAAKC,EAAG,GAAII,EAAQ,MAMQI,GAAc,IAvC1D0B,EAAAf,EAAApB,CAAA,MADFkB,CAAG,MAFI,kVA9GIkB"}
@@ -27,13 +27,13 @@ const meta = {
27
27
  id=${ifDefined(args.id)}
28
28
  name=${ifDefined(args.name)}
29
29
  value=${ifDefined(args.value)}
30
- isinvalid=${ifDefined(args.isinvalid)}
31
- disabled=${ifDefined(args.disabled)}
30
+ ?isinvalid=${args.isinvalid}
31
+ ?disabled=${args.disabled}
32
32
  size=${ifDefined(args.size)}
33
33
  min=${ifDefined(args.min)}
34
34
  max=${ifDefined(args.max)}
35
35
  step=${ifDefined(args.step)}
36
- readonly=${ifDefined(args.readonly)}
36
+ ?readonly=${args.readonly}
37
37
  incrementlabel=${ifDefined(args.incrementlabel)}
38
38
  decrementlabel=${ifDefined(args.decrementlabel)}
39
39
  @input=${(event) => {
@@ -1,18 +1,23 @@
1
1
  <svelte:options
2
2
  customElement={{
3
3
  tag: 'm-quantityselector',
4
+ props: {
5
+ isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
6
+ disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
7
+ readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },
8
+ },
4
9
  extend: customElementForwardEvents,
5
10
  }}
6
11
  />
7
12
 
8
13
  <script lang="ts">
9
14
  import { customElementForwardEvents } from '../../utils';
10
- import More24 from '@mozaic-ds/icons-svelte/svelte/More24/More24.svelte';
11
- import Less24 from '@mozaic-ds/icons-svelte/svelte/Less24/Less24.svelte';
15
+ import { More24, Less24 } from '@mozaic-ds/icons-svelte';
12
16
  /**
13
17
  * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.
14
18
  */
15
19
  interface Props {
20
+ [key: string]: any;
16
21
  /**
17
22
  * A unique identifier for the quantity selector element, used to associate the label with the form element.
18
23
  */
@@ -2,6 +2,7 @@
2
2
  * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.
3
3
  */
4
4
  interface Props {
5
+ [key: string]: any;
5
6
  /**
6
7
  * A unique identifier for the quantity selector element, used to associate the label with the form element.
7
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"QuantitySelector.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/quantityselector/QuantitySelector.svelte.ts"],"names":[],"mappings":"AAOE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkFH,QAAA,MAAM,gBAAgB,gDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"QuantitySelector.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/quantityselector/QuantitySelector.svelte.ts"],"names":[],"mappings":"AAME;;GAEG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAsFH,QAAA,MAAM,gBAAgB,gDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- import{c as w,p as k,a as g,b as o,f as q,r as x,d as v,s as y,t as E,h as z,i as j,j as a,e as f,g as B}from"../../custom-element.js";import{a as D,s as F}from"../../attributes.js";import{c as R}from"../../custom-element-forward-events.js";var S=q('<div class="mc-radio svelte-1bwbq3n"><input/> <label class="mc-radio__label svelte-1bwbq3n"> </label></div>');const A={hash:"svelte-1bwbq3n",code:`/**
1
+ import{c as w,p as k,a as g,b as o,s as q,t as y,f as x,g as B,h as E,i as z,d as v,j as a,r as f,e as j}from"../../custom-element.js";import{a as D,s as F}from"../../attributes.js";import{c as R}from"../../custom-element-forward-events.js";var S=E('<div class="mc-radio svelte-1bwbq3n"><input/> <label class="mc-radio__label svelte-1bwbq3n"> </label></div>');const A={hash:"svelte-1bwbq3n",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-radio.svelte-1bwbq3n {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-radio__label.svelte-1bwbq3n {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-radio__input.svelte-1bwbq3n {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:100%;transition:all ease 200ms;height:1.25rem;width:1.25rem;position:relative;}.mc-radio__input.svelte-1bwbq3n::before {border-radius:var(--border-radius-full, 100%);content:"";display:block;height:0.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:0.5rem;}.mc-radio__input.svelte-1bwbq3n:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-radio__input.svelte-1bwbq3n:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-radio__input.svelte-1bwbq3n:checked {background-color:var(--forms-color-background-checked, #117f03);}.mc-radio__input.svelte-1bwbq3n:checked::before {background-color:var(--forms-color-background-default, #ffffff);}.mc-radio__input.svelte-1bwbq3n:checked, .mc-radio__input.svelte-1bwbq3n:disabled {border-color:transparent;}.mc-radio__input.svelte-1bwbq3n:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:disabled:checked::before {background-color:var(--forms-color-icon-disabled, #737373);}.mc-radio__input.svelte-1bwbq3n:disabled + .mc-radio__label:where(.svelte-1bwbq3n) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:not(:disabled):checked:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}`};function C(m,r){k(r,!0),g(m,A);let t=o(r,"id",7),i=o(r,"name",7),d=o(r,"label",7),l=o(r,"checked",15,!1),s=o(r,"disabled",7),n=o(r,"isinvalid",7),h=x(r,["$$slots","$$events","$$legacy","$$host","id","name","label","checked","disabled","isinvalid"]);var _={get id(){return t()},set id(e){t(e),a()},get name(){return i()},set name(e){i(e),a()},get label(){return d()},set label(e){d(e),a()},get checked(){return l()},set checked(e=!1){l(e),a()},get disabled(){return s()},set disabled(e){s(e),a()},get isinvalid(){return n()},set isinvalid(e){n(e),a()}},c=S(),u=v(c);D(u,()=>({id:t(),type:"radio",class:["mc-radio__input",n()&&"is-invalid"],name:i(),disabled:s(),checked:l(),...h}),void 0,void 0,void 0,"svelte-1bwbq3n",!0);var b=y(u,2),p=v(b,!0);return f(b),f(c),E(()=>{F(b,"for",t()),B(p,d())}),z(m,c),j(_)}customElements.define("m-radio",w(C,{checked:{attribute:"checked",reflect:!0,type:"Boolean"},id:{},name:{},label:{},disabled:{},isinvalid:{}},[],[],!0,R));
3
+ */.mc-radio.svelte-1bwbq3n {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-radio__label.svelte-1bwbq3n {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-radio__input.svelte-1bwbq3n {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:100%;transition:all ease 200ms;height:1.25rem;width:1.25rem;position:relative;}.mc-radio__input.svelte-1bwbq3n::before {border-radius:var(--border-radius-full, 100%);content:"";display:block;height:0.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:0.5rem;}.mc-radio__input.svelte-1bwbq3n:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-radio__input.svelte-1bwbq3n:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-radio__input.svelte-1bwbq3n:checked {background-color:var(--forms-color-background-checked, #117f03);}.mc-radio__input.svelte-1bwbq3n:checked::before {background-color:var(--forms-color-background-default, #ffffff);}.mc-radio__input.svelte-1bwbq3n:checked, .mc-radio__input.svelte-1bwbq3n:disabled {border-color:transparent;}.mc-radio__input.svelte-1bwbq3n:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:disabled:checked::before {background-color:var(--forms-color-icon-disabled, #737373);}.mc-radio__input.svelte-1bwbq3n:disabled + .mc-radio__label:where(.svelte-1bwbq3n) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:not(:disabled):checked:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}`};function C(u,r){k(r,!0),g(u,A);let t=o(r,"id",7),i=o(r,"name",7),d=o(r,"label",7),l=o(r,"checked",15,!1),s=o(r,"disabled",7),n=o(r,"isinvalid",7),h=z(r,["$$slots","$$events","$$legacy","$$host","id","name","label","checked","disabled","isinvalid"]);var _={get id(){return t()},set id(e){t(e),a()},get name(){return i()},set name(e){i(e),a()},get label(){return d()},set label(e){d(e),a()},get checked(){return l()},set checked(e=!1){l(e),a()},get disabled(){return s()},set disabled(e){s(e),a()},get isinvalid(){return n()},set isinvalid(e){n(e),a()}},c=S(),m=v(c);D(m,()=>({id:t(),type:"radio",class:["mc-radio__input",n()&&"is-invalid"],name:i(),disabled:s(),checked:l(),...h}),void 0,void 0,void 0,"svelte-1bwbq3n",!0);var b=q(m,2),p=v(b,!0);return f(b),f(c),y(()=>{F(b,"for",t()),j(p,d())}),x(u,c),B(_)}customElements.define("m-radio",w(C,{checked:{attribute:"checked",reflect:!0,type:"Boolean"},isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},id:{},name:{},label:{}},[],[],!0,R));
4
4
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","sources":["../../../src/components/radio/Radio.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-radio',\n props: {\n checked: { reflect: true, type: 'Boolean', attribute: 'checked' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.\n */\n interface Props {\n /**\n * A unique identifier for the radio, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the radio element, typically used for form submission.\n */\n name?: string;\n /**\n * The text label displayed next to the radio.\n */\n label?: string;\n /**\n * The radio's checked state.\n */\n checked?: boolean;\n /**\n * If `true`, applies an invalid state to the radio.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the radio, making it non-interactive.\n */\n disabled?: boolean;\n }\n\n let {\n id,\n name,\n label,\n checked = $bindable(false),\n disabled,\n isinvalid,\n ...attrs\n }: Props = $props();\n</script>\n\n<div class=\"mc-radio\">\n <input\n {id}\n type=\"radio\"\n class={['mc-radio__input', isinvalid && 'is-invalid']}\n {name}\n {disabled}\n {checked}\n {...attrs}\n />\n <label for={id} class=\"mc-radio__label\">{label}</label>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/radio';\n</style>\n"],"names":["id","$.prop","$$props","name","label","checked","disabled","isinvalid","attrs","$.rest_props","customElementForwardEvents"],"mappings":";;sxEAAA,oBA2CIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJE,EAAKH,EAAAC,EAAA,QAAA,CAAA,EACLG,mBAAoB,EAAK,EACzBC,EAAQL,EAAAC,EAAA,WAAA,CAAA,EACRK,EAASN,EAAAC,EAAA,YAAA,CAAA,EACNM,EAAAC,EAAAP,EAAA,qRAHiB,GAAK,0KAWjB,kBAAmBK,EAAS,GAAI,YAAY,uCAIhDC,uGAEMR,GAAE,MAA2BI,GAAK,eAZhD,wJA7CYM"}
1
+ {"version":3,"file":"Radio.js","sources":["../../../src/components/radio/Radio.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-radio',\n props: {\n checked: { reflect: true, type: 'Boolean', attribute: 'checked' },\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.\n */\n interface Props {\n [key: string]: any;\n /**\n * A unique identifier for the radio, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the radio element, typically used for form submission.\n */\n name?: string;\n /**\n * The text label displayed next to the radio.\n */\n label?: string;\n /**\n * The radio's checked state.\n */\n checked?: boolean;\n /**\n * If `true`, applies an invalid state to the radio.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the radio, making it non-interactive.\n */\n disabled?: boolean;\n }\n\n let {\n id,\n name,\n label,\n checked = $bindable(false),\n disabled,\n isinvalid,\n ...attrs\n }: Props = $props();\n</script>\n\n<div class=\"mc-radio\">\n <input\n {id}\n type=\"radio\"\n class={['mc-radio__input', isinvalid && 'is-invalid']}\n {name}\n {disabled}\n {checked}\n {...attrs}\n />\n <label for={id} class=\"mc-radio__label\">{label}</label>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/radio';\n</style>\n"],"names":["id","$.prop","$$props","name","label","checked","disabled","isinvalid","attrs","$.rest_props","div","root","input","$.child","label_1","$.sibling","$.set_attribute","customElementForwardEvents"],"mappings":";;sxEAYA,oBAkCIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJE,EAAKH,EAAAC,EAAA,QAAA,CAAA,EACLG,mBAAoB,EAAK,EACzBC,EAAQL,EAAAC,EAAA,WAAA,CAAA,EACRK,EAASN,EAAAC,EAAA,YAAA,CAAA,EACNM,EAAAC,EAAAP,EAAA,qRAHiB,GAAK,wHAO5BQ,EAAGC,EAAA,EACDC,EAAAC,EADFH,CAAG,IACDE,WACEZ,EAAE,sBAEK,kBAAmBO,EAAS,GAAI,YAAY,OACnDJ,EAAI,WACJG,EAAQ,UACRD,EAAO,KACJG,8CAEL,IAAAM,EAAKC,EATLH,EAAA,CAAA,MASAE,EAAK,EAAA,WAALA,CAAK,IAVPJ,CAAG,SAUDM,EAAAF,QAAWd,GAAE,MAA2BI,GAAK,QAV/CM,CAAG,MAFI,qPA9CIO"}
@@ -18,9 +18,9 @@ const meta = {
18
18
  id=${ifDefined(args.id)}
19
19
  name=${ifDefined(args.name)}
20
20
  label=${ifDefined(args.label)}
21
- checked=${ifDefined(args.checked)}
22
- isinvalid=${ifDefined(args.isinvalid)}
23
- disabled=${ifDefined(args.disabled)}
21
+ ?checked=${args.checked}
22
+ ?isinvalid=${args.isinvalid}
23
+ ?disabled=${args.disabled}
24
24
  @change=${(event) => {
25
25
  onChange(event);
26
26
  }}
@@ -3,6 +3,8 @@
3
3
  tag: 'm-radio',
4
4
  props: {
5
5
  checked: { reflect: true, type: 'Boolean', attribute: 'checked' },
6
+ isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
7
+ disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
6
8
  },
7
9
  extend: customElementForwardEvents,
8
10
  }}
@@ -14,6 +16,7 @@
14
16
  * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.
15
17
  */
16
18
  interface Props {
19
+ [key: string]: any;
17
20
  /**
18
21
  * A unique identifier for the radio, used to associate the label with the form element.
19
22
  */
@@ -2,6 +2,7 @@
2
2
  * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.
3
3
  */
4
4
  interface Props {
5
+ [key: string]: any;
5
6
  /**
6
7
  * A unique identifier for the radio, used to associate the label with the form element.
7
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/radio/Radio.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiCH,QAAA,MAAM,KAAK,kDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Radio.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/radio/Radio.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmCH,QAAA,MAAM,KAAK,kDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
@@ -1,8 +1,8 @@
1
- import{c as D,p as F,a as G,b as i,f as E,t as g,h as k,i as R,j as t,e as _,l as w,m as x,d as y,s as S,n as o,g as q}from"../../custom-element.js";import{e as B}from"../../each.js";import{r as C,s as b}from"../../attributes.js";import{b as H}from"../../input.js";import{c as I}from"../../custom-element-forward-events.js";var J=E('<div class="mc-radio mc-field__item svelte-clvmul"><input type="radio"/> <label class="mc-radio__label svelte-clvmul"> </label></div>'),K=E("<div></div>");const L={hash:"svelte-clvmul",code:`/**
1
+ import{c as q,p as A,a as D,b as a,t as g,f as k,g as F,h as E,j as i,r as _,n as w,o as y,d as x,s as G,q as o,e as R}from"../../custom-element.js";import{e as S}from"../../each.js";import{r as C,s as b}from"../../attributes.js";import{b as H}from"../../input.js";import{c as I}from"../../custom-element-forward-events.js";var J=E('<div class="mc-radio mc-field__item svelte-clvmul"><input type="radio"/> <label class="mc-radio__label svelte-clvmul"> </label></div>'),K=E("<div></div>");const L={hash:"svelte-clvmul",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-radio.svelte-clvmul {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-radio__label.svelte-clvmul {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-radio__input.svelte-clvmul {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:100%;transition:all ease 200ms;height:1.25rem;width:1.25rem;position:relative;}.mc-radio__input.svelte-clvmul::before {border-radius:var(--border-radius-full, 100%);content:"";display:block;height:0.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:0.5rem;}.mc-radio__input.svelte-clvmul:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-radio__input.svelte-clvmul:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-radio__input.svelte-clvmul:checked {background-color:var(--forms-color-background-checked, #117f03);}.mc-radio__input.svelte-clvmul:checked::before {background-color:var(--forms-color-background-default, #ffffff);}.mc-radio__input.svelte-clvmul:checked, .mc-radio__input.svelte-clvmul:disabled {border-color:transparent;}.mc-radio__input.svelte-clvmul:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-radio__input.svelte-clvmul:disabled:checked::before {background-color:var(--forms-color-icon-disabled, #737373);}.mc-radio__input.svelte-clvmul:disabled + .mc-radio__label:where(.svelte-clvmul) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-radio__input.svelte-clvmul:not(:disabled):checked:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-radio__input.is-invalid.svelte-clvmul:not(:checked) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-radio__input.is-invalid.svelte-clvmul:not(:checked):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}
4
4
 
5
5
  /* stylelint-disable string-no-newline */.mc-field__content.svelte-clvmul {margin-top:0.5rem;}
6
6
 
7
- /* stylelint-enable string-no-newline */.mc-field__content.svelte-clvmul:where(.mc-field__content--inline:where(.svelte-clvmul)) {display:flex;flex-flow:row wrap;gap:0.25rem 1rem;}`};function M(p,a){F(a,!0),G(p,L);const z=[];let s=i(a,"value",15),c=i(a,"name",7),d=i(a,"options",7),m=i(a,"inline",7),v=i(a,"isinvalid",7);var j={get value(){return s()},set value(e){s(e),t()},get name(){return c()},set name(e){c(e),t()},get options(){return d()},set options(e){d(e),t()},get inline(){return m()},set inline(e){m(e),t()},get isinvalid(){return v()},set isinvalid(e){v(e),t()}},n=K();return B(n,21,d,e=>e.id,(e,l)=>{var u=J(),r=y(u);C(r);var h,f=S(r,2),A=y(f,!0);_(f),_(u),g(()=>{w(r,1,x(["mc-radio__input",v()&&"is-invalid"]),"svelte-clvmul"),b(r,"id",o(l).id),b(r,"name",c()),r.disabled=o(l).disabled,h!==(h=o(l).value)&&(r.value=(r.__value=o(l).value)??""),b(f,"for",o(l).id),q(A,o(l).label)}),H(z,[],r,()=>(o(l).value,s()),s),k(e,u)}),_(n),g(()=>w(n,1,x(["mc-field__content",m()&&"mc-field__content--inline"]),"svelte-clvmul")),k(p,n),R(j)}customElements.define("m-radio-group",D(M,{options:{attribute:"options",type:"Array"},value:{},name:{},inline:{},isinvalid:{}},[],[],!0,I));
7
+ /* stylelint-enable string-no-newline */.mc-field__content.svelte-clvmul:where(.mc-field__content--inline:where(.svelte-clvmul)) {display:flex;flex-flow:row wrap;gap:0.25rem 1rem;}`};function M(p,t){A(t,!0),D(p,L);const z=[];let s=a(t,"value",15),c=a(t,"name",7),d=a(t,"options",7),u=a(t,"inline",7),v=a(t,"isinvalid",7);var B={get value(){return s()},set value(e){s(e),i()},get name(){return c()},set name(e){c(e),i()},get options(){return d()},set options(e){d(e),i()},get inline(){return u()},set inline(e){u(e),i()},get isinvalid(){return v()},set isinvalid(e){v(e),i()}},n=K();return S(n,21,d,e=>e.id,(e,l)=>{var m=J(),r=x(m);C(r);var h,f=G(r,2),j=x(f,!0);_(f),_(m),g(()=>{w(r,1,y(["mc-radio__input",v()&&"is-invalid"]),"svelte-clvmul"),b(r,"id",o(l).id),b(r,"name",c()),r.disabled=o(l).disabled,h!==(h=o(l).value)&&(r.value=(r.__value=o(l).value)??""),b(f,"for",o(l).id),R(j,o(l).label)}),H(z,[],r,()=>(o(l).value,s()),s),k(e,m)}),_(n),g(()=>w(n,1,y(["mc-field__content",u()&&"mc-field__content--inline"]),"svelte-clvmul")),k(p,n),F(B)}customElements.define("m-radio-group",q(M,{options:{attribute:"options",type:"Array"},isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},inline:{attribute:"inline",reflect:!0,type:"Boolean"},value:{},name:{}},[],[],!0,I));
8
8
  //# sourceMappingURL=RadioGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.js","sources":["../../../src/components/radiogroup/RadioGroup.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-radio-group',\n props: {\n options: { type: 'Array', attribute: 'options' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.\n */\n interface Props {\n /**\n * The name attribute for the radio element, typically used for form submission.\n */\n name: string;\n /**\n * The current value of the radio group.\n */\n value?: string;\n /**\n * list of properties of each radio button of the radio group\n */\n options: Array<{\n id: string;\n label: string;\n value: string;\n disabled?: boolean;\n }>;\n /**\n * If `true`, applies an invalid state to the radio group.\n */\n isinvalid?: boolean;\n /**\n * If `true`, make the form element of the group inline.\n */\n inline?: boolean;\n }\n\n let { value = $bindable(), name, options, inline, isinvalid }: Props = $props();\n</script>\n\n<div class={['mc-field__content', inline && 'mc-field__content--inline']}>\n {#each options as option (option.id)}\n <div class=\"mc-radio mc-field__item\">\n <input\n type=\"radio\"\n class={['mc-radio__input', isinvalid && 'is-invalid']}\n id={option.id}\n {name}\n bind:group={value}\n value={option.value}\n disabled={option.disabled}\n />\n <label for={option.id} class=\"mc-radio__label\">{option.label}</label>\n </div>\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/radio';\n @use '@mozaic-ds/styles/components/field';\n\n .mc-field__content:where(.mc-field__content--inline) {\n display: flex;\n flex-flow: row wrap;\n gap: 0.25rem 1rem;\n }\n</style>\n"],"names":["value","$.prop","$$props","name","options","inline","isinvalid","$.each","div","option","$.set_attribute","input","$.get","input_value","label","$.set_text","text","customElementForwardEvents"],"mappings":";;;;;;sMAAA,+BA2CQA,EAAKC,EAAAC,EAAA,QAAA,EAAA,EAAgBC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EAAEE,EAAOH,EAAAC,EAAA,UAAA,CAAA,EAAEG,EAAMJ,EAAAC,EAAA,SAAA,CAAA,EAAEI,EAASL,EAAAC,EAAA,YAAA,CAAA,uQAIpDK,OAAAA,EAAAC,EAAA,GAAAJ,EAAWK,GAAQA,EAAO,MAAfA,IAAM,0EAIV,kBAAmBH,KAAa,YAAY,CAAA,EAAA,eAAA,EAChDI,EAAAC,EAAA,KAAAC,EAAAH,CAAM,EAAC,EAAE,kBAIHE,EAAA,SAAAC,EAAAH,CAAM,EAAC,SADVI,KAAAA,EAAAD,EAAAH,CAAM,EAAC,SAAPE,EAAA,OAAAA,EAAA,QAAAC,EAAAH,CAAM,EAAC,QAAK,IAGTC,EAAAI,EAAA,MAAAF,EAAAH,CAAM,EAAC,EAAE,EAA2BM,EAAAC,EAAAJ,EAAAH,CAAM,EAAC,KAAK,kBAHnDG,EAAAH,CAAM,EAAC,MADFT,EAAK,GAALA,gCARP,oBAAqBK,EAAM,GAAI,2BAA2B,CAAA,EAAA,eAAA,CAAA,aAFvE,yIAtCYY"}
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../../src/components/radiogroup/RadioGroup.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-radio-group',\n props: {\n options: { type: 'Array', attribute: 'options' },\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n inline: { reflect: true, type: 'Boolean', attribute: 'inline' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.\n */\n interface Props {\n /**\n * The name attribute for the radio element, typically used for form submission.\n */\n name: string;\n /**\n * The current value of the radio group.\n */\n value?: string;\n /**\n * list of properties of each radio button of the radio group\n */\n options: Array<{\n id: string;\n label: string;\n value: string;\n disabled?: boolean;\n }>;\n /**\n * If `true`, applies an invalid state to the radio group.\n */\n isinvalid?: boolean;\n /**\n * If `true`, make the form element of the group inline.\n */\n inline?: boolean;\n }\n\n let { value = $bindable(), name, options, inline, isinvalid }: Props = $props();\n</script>\n\n<div class={['mc-field__content', inline && 'mc-field__content--inline']}>\n {#each options as option (option.id)}\n <div class=\"mc-radio mc-field__item\">\n <input\n type=\"radio\"\n class={['mc-radio__input', isinvalid && 'is-invalid']}\n id={option.id}\n {name}\n bind:group={value}\n value={option.value}\n disabled={option.disabled}\n />\n <label for={option.id} class=\"mc-radio__label\">{option.label}</label>\n </div>\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/radio';\n @use '@mozaic-ds/styles/components/field';\n\n .mc-field__content:where(.mc-field__content--inline) {\n display: flex;\n flex-flow: row wrap;\n gap: 0.25rem 1rem;\n }\n</style>\n"],"names":["value","$.prop","$$props","name","options","inline","isinvalid","div","root","option","$$anchor","div_1","root_1","input","$.child","$.remove_input_defaults","label","$.sibling","$.set_class","$.clsx","$.get","$.set_attribute","input_value","$.set_text","text","$.template_effect","customElementForwardEvents"],"mappings":";;;;;;sMAYA,+BAiCQA,EAAKC,EAAAC,EAAA,QAAA,EAAA,EAAgBC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EAAEE,EAAOH,EAAAC,EAAA,UAAA,CAAA,EAAEG,EAAMJ,EAAAC,EAAA,SAAA,CAAA,EAAEI,EAASL,EAAAC,EAAA,YAAA,CAAA,iQAG5DK,EAAGC,EAAA,WAAHD,EAAG,GACKH,EAAWK,GAAQA,EAAO,GAAE,CAAAC,EAAjBD,IAAM,KACrBE,EAAGC,EAAA,EACDC,EAAAC,EADFH,CAAG,EACDI,EAAAF,CAAA,QASAG,EAAKC,EATLJ,EAAA,CAAA,MASAG,EAAK,EAAA,IAALA,CAAK,IAVPL,CAAG,SACDO,EAAAL,EAAA,EAAAM,EAAA,CAES,kBAAmBb,KAAa,YAAY,CAAA,EAAA,eAAA,IAFrDO,EAAA,KAAAO,EAGKX,CAAM,EAAC,EAAE,EAHdY,EAAAR,EAAA,OAIEV,GAAI,EAJNU,EAAA,SAAAO,EAOWX,CAAM,EAAC,SADVa,KAAAA,EAAAF,EAAAX,CAAM,EAAC,SANfI,EAAA,OAAAA,EAAA,QAAAO,EAMQX,CAAM,EAAC,QAAK,MAGpBO,EAAK,MAAAI,EAAMX,CAAM,EAAC,EAAE,EAA2Bc,EAAAC,EAAAJ,EAAAX,CAAM,EAAC,KAAK,WAT3DI,OAMQO,EAAAX,CAAM,EAAC,MADFT,EAAK,GAALA,OANfW,CAAG,MAFPJ,CAAG,EAAHkB,EAAA,IAAAP,EAAAX,EAAG,EAAAY,EAAA,CAAS,oBAAqBd,EAAM,GAAI,2BAA2B,CAAA,EAAA,eAAA,CAAA,MAAtEE,CAAG,MAFI,oOAtCImB"}
@@ -41,8 +41,8 @@ const meta = {
41
41
  name=${ifDefined(args.name)}
42
42
  .options=${ifDefined(args.options)}
43
43
  value=${ifDefined(args.value)}
44
- isinvalid=${ifDefined(args.isinvalid)}
45
- inline=${ifDefined(args.inline)}
44
+ ?isinvalid=${args.isinvalid}
45
+ ?inline=${args.inline}
46
46
  @input=${(event) => {
47
47
  onInput(event);
48
48
  }}
@@ -3,6 +3,8 @@
3
3
  tag: 'm-radio-group',
4
4
  props: {
5
5
  options: { type: 'Array', attribute: 'options' },
6
+ isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
7
+ inline: { reflect: true, type: 'Boolean', attribute: 'inline' },
6
8
  },
7
9
  extend: customElementForwardEvents,
8
10
  }}
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/radiogroup/RadioGroup.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA6BH,QAAA,MAAM,UAAU,gDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"RadioGroup.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/radiogroup/RadioGroup.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA+BH,QAAA,MAAM,UAAU,gDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}