@mozaic-ds/web-components 1.0.0-beta.6 → 1.0.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/README.md +36 -68
  2. package/dist/Cross20.js +1 -1
  3. package/dist/Cross20.js.map +1 -1
  4. package/dist/Cross24.js +1 -1
  5. package/dist/Cross24.js.map +1 -1
  6. package/dist/CrossCircleFilled24.js +1 -1
  7. package/dist/CrossCircleFilled24.js.map +1 -1
  8. package/dist/attributes.js +1 -1
  9. package/dist/attributes.js.map +1 -1
  10. package/dist/bundle.d.ts +24 -23
  11. package/dist/bundle.d.ts.map +1 -1
  12. package/dist/bundle.js +24 -23
  13. package/dist/components/avatar/Avatar.js +2 -5
  14. package/dist/components/avatar/Avatar.js.map +1 -1
  15. package/dist/components/avatar/Avatar.spec.js +17 -0
  16. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  17. package/dist/components/avatar/Avatar.stories.js +3 -29
  18. package/dist/components/avatar/Avatar.svelte +9 -10
  19. package/dist/components/avatar/Avatar.svelte.d.ts +2 -0
  20. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  21. package/dist/components/avatar/README.md +16 -0
  22. package/dist/components/breadcrumb/Breadcrumb.js +6 -9
  23. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  24. package/dist/components/breadcrumb/Breadcrumb.spec.js +42 -0
  25. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  26. package/dist/components/breadcrumb/Breadcrumb.stories.js +6 -35
  27. package/dist/components/breadcrumb/Breadcrumb.svelte +26 -34
  28. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  29. package/dist/components/breadcrumb/README.md +11 -0
  30. package/dist/components/button/Button.js +3 -6
  31. package/dist/components/button/Button.js.map +1 -1
  32. package/dist/components/button/Button.spec.js +74 -0
  33. package/dist/components/button/Button.stories.d.ts +9 -13
  34. package/dist/components/button/Button.stories.d.ts.map +1 -1
  35. package/dist/components/button/Button.stories.js +46 -146
  36. package/dist/components/button/Button.svelte +186 -168
  37. package/dist/components/button/Button.svelte.d.ts +36 -8
  38. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  39. package/dist/components/button/README.md +26 -0
  40. package/dist/components/callout/Callout.js +2 -5
  41. package/dist/components/callout/Callout.js.map +1 -1
  42. package/dist/components/callout/Callout.spec.js +33 -0
  43. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  44. package/dist/components/callout/Callout.stories.js +2 -55
  45. package/dist/components/callout/Callout.svelte +15 -14
  46. package/dist/components/callout/Callout.svelte.d.ts +4 -0
  47. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  48. package/dist/components/callout/README.md +20 -0
  49. package/dist/components/checkbox/Checkbox.js +3 -6
  50. package/dist/components/checkbox/Checkbox.js.map +1 -1
  51. package/dist/components/checkbox/Checkbox.spec.js +70 -0
  52. package/dist/components/checkbox/Checkbox.stories.d.ts +11 -16
  53. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  54. package/dist/components/checkbox/Checkbox.stories.js +67 -124
  55. package/dist/components/checkbox/Checkbox.svelte +75 -58
  56. package/dist/components/checkbox/Checkbox.svelte.d.ts +31 -6
  57. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  58. package/dist/components/checkbox/README.md +17 -0
  59. package/dist/components/checkboxgroup/CheckboxGroup.js +4 -7
  60. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  61. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +113 -0
  62. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +5 -13
  63. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  64. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +56 -140
  65. package/dist/components/checkboxgroup/CheckboxGroup.svelte +89 -81
  66. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +30 -6
  67. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  68. package/dist/components/checkboxgroup/README.md +14 -0
  69. package/dist/components/circularprogressbar/CircularProgressbar.js +4 -7
  70. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  71. package/dist/components/circularprogressbar/CircularProgressbar.spec.js +74 -0
  72. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +6 -6
  73. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  74. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +29 -68
  75. package/dist/components/circularprogressbar/CircularProgressbar.svelte +46 -30
  76. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +18 -0
  77. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  78. package/dist/components/circularprogressbar/README.md +14 -0
  79. package/dist/components/datepicker/Datepicker.js +3 -6
  80. package/dist/components/datepicker/Datepicker.js.map +1 -1
  81. package/dist/components/datepicker/Datepicker.spec.js +95 -0
  82. package/dist/components/datepicker/Datepicker.stories.d.ts +7 -6
  83. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  84. package/dist/components/datepicker/Datepicker.stories.js +58 -75
  85. package/dist/components/datepicker/Datepicker.svelte +103 -79
  86. package/dist/components/datepicker/Datepicker.svelte.d.ts +30 -1
  87. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  88. package/dist/components/datepicker/README.md +18 -0
  89. package/dist/components/drawer/Drawer.js +12 -15
  90. package/dist/components/drawer/Drawer.js.map +1 -1
  91. package/dist/components/drawer/Drawer.spec.js +101 -0
  92. package/dist/components/drawer/Drawer.stories.d.ts +29 -8
  93. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  94. package/dist/components/drawer/Drawer.stories.js +86 -87
  95. package/dist/components/drawer/Drawer.svelte +185 -161
  96. package/dist/components/drawer/Drawer.svelte.d.ts +26 -3
  97. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  98. package/dist/components/drawer/README.md +29 -0
  99. package/dist/components/field/Field.js +3 -6
  100. package/dist/components/field/Field.js.map +1 -1
  101. package/dist/components/field/Field.spec.js +51 -0
  102. package/dist/components/field/Field.stories.d.ts +9 -15
  103. package/dist/components/field/Field.stories.d.ts.map +1 -1
  104. package/dist/components/field/Field.stories.js +86 -142
  105. package/dist/components/field/Field.svelte +63 -30
  106. package/dist/components/field/Field.svelte.d.ts +38 -7
  107. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  108. package/dist/components/field/README.md +24 -0
  109. package/dist/components/flag/Flag.js +2 -5
  110. package/dist/components/flag/Flag.js.map +1 -1
  111. package/dist/components/flag/Flag.spec.js +30 -0
  112. package/dist/components/flag/Flag.stories.d.ts +8 -18
  113. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  114. package/dist/components/flag/Flag.stories.js +28 -106
  115. package/dist/components/flag/Flag.svelte +23 -24
  116. package/dist/components/flag/Flag.svelte.d.ts +10 -28
  117. package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
  118. package/dist/components/flag/README.md +11 -0
  119. package/dist/components/iconbutton/IconButton.js +2 -5
  120. package/dist/components/iconbutton/IconButton.js.map +1 -1
  121. package/dist/components/iconbutton/IconButton.stories.d.ts +11 -11
  122. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  123. package/dist/components/iconbutton/IconButton.stories.js +51 -67
  124. package/dist/components/iconbutton/IconButton.svelte +157 -152
  125. package/dist/components/iconbutton/IconButton.svelte.d.ts +28 -7
  126. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  127. package/dist/components/iconbutton/README.md +21 -0
  128. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -5
  129. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  130. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.spec.js +28 -0
  131. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +5 -7
  132. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  133. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +18 -49
  134. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +19 -12
  135. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +10 -1
  136. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  137. package/dist/components/linearprogressbarbuffer/README.md +11 -0
  138. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -5
  139. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  140. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.spec.js +26 -0
  141. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +4 -5
  142. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  143. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +15 -33
  144. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +19 -16
  145. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +6 -0
  146. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
  147. package/dist/components/linearprogressbarpercentage/README.md +10 -0
  148. package/dist/components/link/Link.js +2 -5
  149. package/dist/components/link/Link.js.map +1 -1
  150. package/dist/components/link/Link.spec.js +51 -0
  151. package/dist/components/link/Link.stories.d.ts +12 -12
  152. package/dist/components/link/Link.stories.d.ts.map +1 -1
  153. package/dist/components/link/Link.stories.js +61 -74
  154. package/dist/components/link/Link.svelte +54 -52
  155. package/dist/components/link/Link.svelte.d.ts +29 -8
  156. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  157. package/dist/components/link/README.md +23 -0
  158. package/dist/components/loader/Loader.js +7 -10
  159. package/dist/components/loader/Loader.js.map +1 -1
  160. package/dist/components/loader/Loader.spec.js +54 -0
  161. package/dist/components/loader/Loader.stories.d.ts +8 -10
  162. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  163. package/dist/components/loader/Loader.stories.js +27 -43
  164. package/dist/components/loader/Loader.svelte +42 -43
  165. package/dist/components/loader/Loader.svelte.d.ts +14 -3
  166. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  167. package/dist/components/loader/README.md +12 -0
  168. package/dist/components/loadingoverlay/LoadingOverlay.js +4 -0
  169. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -0
  170. package/dist/components/loadingoverlay/LoadingOverlay.spec.js +38 -0
  171. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +7 -0
  172. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -0
  173. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +39 -0
  174. package/dist/components/loadingoverlay/LoadingOverlay.svelte +50 -0
  175. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +17 -0
  176. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -0
  177. package/dist/components/loadingoverlay/README.md +11 -0
  178. package/dist/components/modal/Modal.js +14 -17
  179. package/dist/components/modal/Modal.js.map +1 -1
  180. package/dist/components/modal/Modal.spec.js +50 -0
  181. package/dist/components/modal/Modal.stories.d.ts +36 -9
  182. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  183. package/dist/components/modal/Modal.stories.js +54 -83
  184. package/dist/components/modal/Modal.svelte +167 -166
  185. package/dist/components/modal/Modal.svelte.d.ts +22 -5
  186. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  187. package/dist/components/modal/README.md +28 -0
  188. package/dist/components/numberbadge/NumberBadge.js +2 -5
  189. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  190. package/dist/components/numberbadge/NumberBadge.spec.js +28 -0
  191. package/dist/components/numberbadge/NumberBadge.stories.d.ts +9 -13
  192. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  193. package/dist/components/numberbadge/NumberBadge.stories.js +28 -56
  194. package/dist/components/numberbadge/NumberBadge.svelte +36 -35
  195. package/dist/components/numberbadge/NumberBadge.svelte.d.ts +15 -4
  196. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  197. package/dist/components/numberbadge/README.md +12 -0
  198. package/dist/components/overlay/Overlay.js +2 -5
  199. package/dist/components/overlay/Overlay.js.map +1 -1
  200. package/dist/components/overlay/Overlay.spec.js +29 -0
  201. package/dist/components/overlay/Overlay.stories.d.ts +5 -7
  202. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  203. package/dist/components/overlay/Overlay.stories.js +32 -40
  204. package/dist/components/overlay/Overlay.svelte +21 -12
  205. package/dist/components/overlay/Overlay.svelte.d.ts +11 -0
  206. package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
  207. package/dist/components/overlay/README.md +17 -0
  208. package/dist/components/pagination/Pagination.js +8 -11
  209. package/dist/components/pagination/Pagination.js.map +1 -1
  210. package/dist/components/pagination/Pagination.spec.js +65 -0
  211. package/dist/components/pagination/Pagination.stories.d.ts +8 -11
  212. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  213. package/dist/components/pagination/Pagination.stories.js +37 -91
  214. package/dist/components/pagination/Pagination.svelte +53 -35
  215. package/dist/components/pagination/Pagination.svelte.d.ts +27 -4
  216. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  217. package/dist/components/pagination/README.md +16 -0
  218. package/dist/components/passwordinput/PasswordInput.js +4 -9
  219. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  220. package/dist/components/passwordinput/PasswordInput.spec.js +84 -0
  221. package/dist/components/passwordinput/PasswordInput.stories.d.ts +10 -13
  222. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  223. package/dist/components/passwordinput/PasswordInput.stories.js +67 -124
  224. package/dist/components/passwordinput/PasswordInput.svelte +424 -60
  225. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +34 -2
  226. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  227. package/dist/components/passwordinput/README.md +19 -0
  228. package/dist/components/pincode/Pincode.js +4 -7
  229. package/dist/components/pincode/Pincode.js.map +1 -1
  230. package/dist/components/pincode/Pincode.spec.js +99 -0
  231. package/dist/components/pincode/Pincode.stories.d.ts +9 -13
  232. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  233. package/dist/components/pincode/Pincode.stories.js +62 -127
  234. package/dist/components/pincode/Pincode.svelte +72 -60
  235. package/dist/components/pincode/Pincode.svelte.d.ts +30 -24
  236. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  237. package/dist/components/pincode/README.md +22 -0
  238. package/dist/components/quantityselector/QuantitySelector.js +3 -7
  239. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  240. package/dist/components/quantityselector/QuantitySelector.spec.js +104 -0
  241. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +11 -15
  242. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  243. package/dist/components/quantityselector/QuantitySelector.stories.js +77 -145
  244. package/dist/components/quantityselector/QuantitySelector.svelte +136 -112
  245. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +49 -17
  246. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  247. package/dist/components/quantityselector/README.md +21 -0
  248. package/dist/components/radio/README.md +15 -0
  249. package/dist/components/radio/Radio.js +2 -5
  250. package/dist/components/radio/Radio.js.map +1 -1
  251. package/dist/components/radio/Radio.spec.js +60 -0
  252. package/dist/components/radio/Radio.stories.d.ts +9 -13
  253. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  254. package/dist/components/radio/Radio.stories.js +54 -70
  255. package/dist/components/radio/Radio.svelte +58 -39
  256. package/dist/components/radio/Radio.svelte.d.ts +27 -5
  257. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  258. package/dist/components/radiogroup/README.md +14 -0
  259. package/dist/components/radiogroup/RadioGroup.js +4 -7
  260. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  261. package/dist/components/radiogroup/RadioGroup.spec.js +65 -0
  262. package/dist/components/radiogroup/RadioGroup.stories.d.ts +5 -12
  263. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  264. package/dist/components/radiogroup/RadioGroup.stories.js +56 -151
  265. package/dist/components/radiogroup/RadioGroup.svelte +81 -77
  266. package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
  267. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  268. package/dist/components/select/README.md +18 -0
  269. package/dist/components/select/Select.js +3 -6
  270. package/dist/components/select/Select.js.map +1 -1
  271. package/dist/components/select/Select.spec.js +76 -0
  272. package/dist/components/select/Select.stories.d.ts +10 -14
  273. package/dist/components/select/Select.stories.d.ts.map +1 -1
  274. package/dist/components/select/Select.stories.js +87 -92
  275. package/dist/components/select/Select.svelte +77 -67
  276. package/dist/components/select/Select.svelte.d.ts +41 -10
  277. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  278. package/dist/components/statusbadge/README.md +11 -0
  279. package/dist/components/statusbadge/StatusBadge.js +2 -5
  280. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  281. package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
  282. package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
  283. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  284. package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
  285. package/dist/components/statusbadge/StatusBadge.svelte +34 -29
  286. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
  287. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  288. package/dist/components/statusdot/README.md +11 -0
  289. package/dist/components/statusdot/StatusDot.js +2 -5
  290. package/dist/components/statusdot/StatusDot.js.map +1 -1
  291. package/dist/components/statusdot/StatusDot.spec.js +42 -0
  292. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  293. package/dist/components/statusdot/StatusDot.stories.js +9 -37
  294. package/dist/components/statusdot/StatusDot.svelte +15 -16
  295. package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
  296. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  297. package/dist/components/statusnotification/README.md +25 -0
  298. package/dist/components/statusnotification/StatusNotification.js +3 -6
  299. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  300. package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
  301. package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
  302. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  303. package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
  304. package/dist/components/statusnotification/StatusNotification.svelte +186 -187
  305. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
  306. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  307. package/dist/components/tab/README.md +20 -0
  308. package/dist/components/tab/Tab.js +4 -0
  309. package/dist/components/tab/Tab.js.map +1 -0
  310. package/dist/components/tab/Tab.spec.js +58 -0
  311. package/dist/components/tab/Tab.svelte +154 -0
  312. package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
  313. package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
  314. package/dist/components/tabs/README.md +18 -0
  315. package/dist/components/tabs/Tabs.js +2 -5
  316. package/dist/components/tabs/Tabs.js.map +1 -1
  317. package/dist/components/tabs/Tabs.spec.js +51 -0
  318. package/dist/components/tabs/Tabs.stories.d.ts +9 -6
  319. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  320. package/dist/components/tabs/Tabs.stories.js +59 -115
  321. package/dist/components/tabs/Tabs.svelte +46 -29
  322. package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
  323. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  324. package/dist/components/tags/README.md +9 -0
  325. package/dist/components/tags/Tag.js +2 -5
  326. package/dist/components/tags/Tag.js.map +1 -1
  327. package/dist/components/tags/Tag.svelte +35 -38
  328. package/dist/components/tags/TagContextualised.js +2 -5
  329. package/dist/components/tags/TagContextualised.js.map +1 -1
  330. package/dist/components/tags/TagContextualised.svelte +35 -38
  331. package/dist/components/tags/TagInteractive.js +2 -5
  332. package/dist/components/tags/TagInteractive.js.map +1 -1
  333. package/dist/components/tags/TagInteractive.svelte +35 -38
  334. package/dist/components/tags/TagRemovable.js +2 -5
  335. package/dist/components/tags/TagRemovable.js.map +1 -1
  336. package/dist/components/tags/TagRemovable.svelte +35 -38
  337. package/dist/components/tags/TagSelectable.js +2 -5
  338. package/dist/components/tags/TagSelectable.js.map +1 -1
  339. package/dist/components/tags/TagSelectable.svelte +35 -38
  340. package/dist/components/tags/Tags.stories.d.ts.map +1 -1
  341. package/dist/components/tags/Tags.stories.js +7 -1
  342. package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
  343. package/dist/components/tags/TagsContextualised.stories.js +7 -1
  344. package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
  345. package/dist/components/tags/TagsInteractive.stories.js +7 -1
  346. package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
  347. package/dist/components/tags/TagsRemovable.stories.js +7 -1
  348. package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
  349. package/dist/components/tags/TagsSelectable.stories.js +7 -1
  350. package/dist/components/textarea/README.md +19 -0
  351. package/dist/components/textarea/Textarea.js +2 -8
  352. package/dist/components/textarea/Textarea.js.map +1 -1
  353. package/dist/components/textarea/Textarea.spec.js +67 -0
  354. package/dist/components/textarea/Textarea.stories.d.ts +9 -13
  355. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  356. package/dist/components/textarea/Textarea.stories.js +61 -92
  357. package/dist/components/textarea/Textarea.svelte +70 -117
  358. package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
  359. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  360. package/dist/components/textinput/README.md +26 -0
  361. package/dist/components/textinput/Textinput.js +5 -9
  362. package/dist/components/textinput/Textinput.js.map +1 -1
  363. package/dist/components/textinput/Textinput.spec.js +89 -0
  364. package/dist/components/textinput/Textinput.stories.d.ts +11 -12
  365. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  366. package/dist/components/textinput/Textinput.stories.js +78 -137
  367. package/dist/components/textinput/Textinput.svelte +107 -148
  368. package/dist/components/textinput/Textinput.svelte.d.ts +46 -22
  369. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  370. package/dist/components/toaster/README.md +28 -0
  371. package/dist/components/toaster/Toaster.js +5 -8
  372. package/dist/components/toaster/Toaster.js.map +1 -1
  373. package/dist/components/toaster/Toaster.spec.js +100 -0
  374. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  375. package/dist/components/toaster/Toaster.stories.js +5 -73
  376. package/dist/components/toaster/Toaster.svelte +157 -146
  377. package/dist/components/toaster/Toaster.svelte.d.ts +3 -0
  378. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  379. package/dist/components/toggle/README.md +15 -0
  380. package/dist/components/toggle/Toggle.js +2 -5
  381. package/dist/components/toggle/Toggle.js.map +1 -1
  382. package/dist/components/toggle/Toggle.spec.js +69 -0
  383. package/dist/components/toggle/Toggle.stories.d.ts +9 -14
  384. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  385. package/dist/components/toggle/Toggle.stories.js +55 -64
  386. package/dist/components/toggle/Toggle.svelte +59 -48
  387. package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
  388. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  389. package/dist/components/togglegroup/README.md +13 -0
  390. package/dist/components/togglegroup/ToggleGroup.js +3 -6
  391. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  392. package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
  393. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
  394. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  395. package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
  396. package/dist/components/togglegroup/ToggleGroup.svelte +91 -97
  397. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
  398. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  399. package/dist/components/tooltip/README.md +19 -0
  400. package/dist/components/tooltip/Tooltip.js +4 -7
  401. package/dist/components/tooltip/Tooltip.js.map +1 -1
  402. package/dist/components/tooltip/Tooltip.spec.js +38 -0
  403. package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
  404. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  405. package/dist/components/tooltip/Tooltip.stories.js +45 -59
  406. package/dist/components/tooltip/Tooltip.svelte +31 -25
  407. package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
  408. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  409. package/dist/custom-element-forward-events.js.map +1 -1
  410. package/dist/custom-element.js +3 -3
  411. package/dist/custom-element.js.map +1 -1
  412. package/dist/documentation/Contributing.mdx +1 -1
  413. package/dist/documentation/Introduction.mdx +45 -11
  414. package/dist/documentation/SupportAndOnboarding.mdx +2 -2
  415. package/dist/each.js +1 -1
  416. package/dist/each.js.map +1 -1
  417. package/dist/if.js +1 -1
  418. package/dist/if.js.map +1 -1
  419. package/dist/input.js +1 -1
  420. package/dist/input.js.map +1 -1
  421. package/dist/legacy.js +1 -1
  422. package/dist/legacy.js.map +1 -1
  423. package/dist/main.d.ts +24 -23
  424. package/dist/main.d.ts.map +1 -1
  425. package/dist/main.js +24 -23
  426. package/dist/slot.js +1 -1
  427. package/dist/slot.js.map +1 -1
  428. package/dist/this.js +2 -0
  429. package/dist/this.js.map +1 -0
  430. package/package.json +12 -4
  431. package/dist/components/button/button.types.d.ts +0 -13
  432. package/dist/components/button/button.types.d.ts.map +0 -1
  433. package/dist/components/button/button.types.js +0 -1
  434. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
  435. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
  436. package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
  437. package/dist/components/link/link.types.d.ts +0 -4
  438. package/dist/components/link/link.types.d.ts.map +0 -1
  439. package/dist/components/link/link.types.js +0 -1
  440. package/dist/components/loader/loader.types.d.ts +0 -3
  441. package/dist/components/loader/loader.types.d.ts.map +0 -1
  442. package/dist/components/loader/loader.types.js +0 -1
  443. package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
  444. package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
  445. package/dist/components/numberbadge/NumberBadge.types.js +0 -1
  446. package/dist/components/overlayloader/OverlayLoader.js +0 -30
  447. package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
  448. package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
  449. package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
  450. package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
  451. package/dist/components/overlayloader/OverlayLoader.svelte +0 -159
  452. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
  453. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
  454. package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
  455. package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
  456. package/dist/components/quantityselector/quantitySelector.types.js +0 -1
  457. package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
  458. package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
  459. package/dist/components/radiogroup/radioGroup.types.js +0 -1
  460. package/dist/components/select/select.types.d.ts +0 -9
  461. package/dist/components/select/select.types.d.ts.map +0 -1
  462. package/dist/components/select/select.types.js +0 -1
  463. package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
  464. package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
  465. package/dist/components/statusbadge/StatusBadge.types.js +0 -1
  466. package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
  467. package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
  468. package/dist/components/statusdot/StatusDot.types.js +0 -1
  469. package/dist/components/tabs/Tab.js +0 -7
  470. package/dist/components/tabs/Tab.js.map +0 -1
  471. package/dist/components/tabs/Tab.svelte +0 -137
  472. package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
  473. package/dist/components/textinput/textinput.types.d.ts +0 -3
  474. package/dist/components/textinput/textinput.types.d.ts.map +0 -1
  475. package/dist/components/textinput/textinput.types.js +0 -1
  476. package/dist/components/toggle/toggle.types.d.ts +0 -2
  477. package/dist/components/toggle/toggle.types.d.ts.map +0 -1
  478. package/dist/components/toggle/toggle.types.js +0 -1
  479. package/dist/index-client.js +0 -2
  480. package/dist/index-client.js.map +0 -1
  481. package/dist/snippet.js +0 -2
  482. package/dist/snippet.js.map +0 -1
@@ -1,159 +1,91 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
1
3
  import { action } from 'storybook/actions';
2
- import { userEvent, expect } from 'storybook/test';
3
- /**
4
- * The quantity selector is a form element used to enter or select a number.
5
- * This type of input is best used when the user needs to choose the quantity of a selected item, like a product before adding to cart.
6
- *
7
- * The `MQuantitySelector` component is the **Svelte / WebComponent** implementation of the **Quantity Selector** component of Mozaic Design System.
8
- * The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/components/form/quantity-selector/).
9
- */
10
- export default {
4
+ const meta = {
11
5
  title: 'Form Elements/Quantity Selector',
12
- tags: ['autodocs', 'beta'],
6
+ component: 'm-quantityselector',
7
+ args: {
8
+ id: 'quantitySelectorId',
9
+ value: 10,
10
+ min: 5,
11
+ max: 20,
12
+ },
13
13
  argTypes: {
14
- id: {
15
- description: 'Specify id for qty selector',
16
- control: 'text',
17
- },
18
- name: {
19
- description: 'Specify name attr for qty selector',
20
- control: 'text',
21
- },
22
14
  size: {
23
- description: 'Specify the text qty selector size',
24
- control: { type: 'radio' },
15
+ control: 'radio',
25
16
  options: ['s', 'm'],
26
17
  },
27
- disabled: {
28
- description: 'Specify whether the qty selector is disabled',
29
- control: { type: 'boolean' },
30
- },
31
- isinvalid: {
32
- description: 'Determine whether the qty selector is invalid',
33
- control: 'boolean',
34
- },
35
- required: {
36
- description: 'Determine whether the qty selector is required',
37
- control: 'boolean',
38
- },
39
- quantity: {
40
- description: 'Specify the quantity. Default is 1',
41
- control: 'number',
42
- },
43
- step: {
44
- description: 'Determines how much the value will change per click when the quantity is increased or decreased. Default is 1',
45
- control: 'number',
46
- },
47
- valuemin: {
48
- description: 'Specify the minimum quantity. Default is 1',
49
- control: 'number',
50
- },
51
- valuemax: {
52
- description: 'Specify the maximum quantity. Default is 100',
53
- control: 'number',
54
- },
55
- decrementlabel: {
56
- description: 'Specify the decrement label for a11y',
57
- control: 'number',
58
- },
59
- inputarialabel: {
60
- description: 'Specify the input aria label for a11y.',
61
- control: 'number',
62
- },
63
- incrementlabel: {
64
- description: 'Specify the increment label for a11y',
65
- control: 'number',
66
- },
67
- increment: {
68
- description: 'Event that occurs when the increment button is clicked',
69
- action: 'on:increment',
70
- table: {
71
- category: 'Events',
72
- },
73
- },
74
- decrement: {
75
- description: 'Event that occurs when the decrement button is clicked',
76
- action: 'on:decrement',
77
- table: {
78
- category: 'Events',
79
- },
80
- },
81
- inputQty: {
82
- description: 'Event that occurs when a quantity is entered in the input field',
83
- action: 'oninputqty',
84
- table: {
85
- category: 'Events',
86
- },
87
- },
18
+ },
19
+ render: (args) => {
20
+ const onInput = action('input');
21
+ const onChange = action('change');
22
+ const onFocus = action('focus');
23
+ const onBlur = action('blur');
24
+ return html `
25
+ <m-quantityselector
26
+ id=${ifDefined(args.id)}
27
+ name=${ifDefined(args.name)}
28
+ value=${ifDefined(args.value)}
29
+ isinvalid=${ifDefined(args.isinvalid)}
30
+ disabled=${ifDefined(args.disabled)}
31
+ size=${ifDefined(args.size)}
32
+ min=${ifDefined(args.min)}
33
+ max=${ifDefined(args.max)}
34
+ step=${ifDefined(args.step)}
35
+ readonly=${ifDefined(args.readonly)}
36
+ incrementlabel=${ifDefined(args.incrementlabel)}
37
+ decrementlabel=${ifDefined(args.decrementlabel)}
38
+ @input=${(event) => {
39
+ onInput(event);
40
+ }}
41
+ @change=${(event) => {
42
+ onChange(event);
43
+ }}
44
+ @focus=${(event) => {
45
+ onFocus(event);
46
+ }}
47
+ @blur=${(event) => {
48
+ onBlur(event);
49
+ }}
50
+ ></m-quantityselector>
51
+ `;
88
52
  },
89
53
  };
90
- const Template = (args) => {
91
- const MQuantitySelector = document.createElement('m-quantityselector');
92
- MQuantitySelector.setAttribute('id', args.id || 'quantityID');
93
- MQuantitySelector.setAttribute('quantity', args.quantity || '1');
94
- if (args.size)
95
- MQuantitySelector.setAttribute('size', args.size);
96
- if (args.disabled)
97
- MQuantitySelector.setAttribute('disabled', 'true');
98
- if (args.isinvalid)
99
- MQuantitySelector.setAttribute('isinvalid', 'true');
100
- if (args.required)
101
- MQuantitySelector.setAttribute('required', 'true');
102
- if (args.step)
103
- MQuantitySelector.setAttribute('step', args.step);
104
- if (args.valuemax)
105
- MQuantitySelector.setAttribute('valuemax', args.valuemax.toString());
106
- if (args.valuemin)
107
- MQuantitySelector.setAttribute('valuemin', args.valuemin.toString());
108
- MQuantitySelector.increment = action('increment');
109
- MQuantitySelector.decrement = action('decrement');
110
- MQuantitySelector.inputqty = action('inputqty');
111
- return MQuantitySelector;
112
- };
113
- export const Default = Template.bind({});
114
- Default.args = {};
115
- Default.play = async ({ canvasElement }) => {
116
- const qtySelector = canvasElement.querySelector('m-quantityselector');
117
- const input = qtySelector?.shadowRoot?.querySelector('input');
118
- const button = qtySelector?.shadowRoot?.querySelector('button');
119
- expect(qtySelector).not.toBeNull();
120
- await userEvent.type(input, '5');
121
- expect(input).toHaveValue(15);
122
- await userEvent.click(button);
123
- expect(input).toHaveValue(16);
124
- };
125
- export const Small = Template.bind({});
126
- Small.args = {
127
- size: 's',
128
- };
129
- Small.play = async ({ canvasElement }) => {
130
- const qtySelector = canvasElement.querySelector('m-quantityselector');
131
- expect(qtySelector).toHaveAttribute('size', 's');
132
- };
133
- export const Disabled = Template.bind({});
134
- Disabled.args = {
135
- disabled: true,
54
+ export default meta;
55
+ export const Default = {};
56
+ export const Step = {
57
+ args: {
58
+ id: 'stepId',
59
+ step: 5,
60
+ },
136
61
  };
137
- Disabled.play = async ({ canvasElement }) => {
138
- const qtySelector = canvasElement.querySelector('m-quantityselector');
139
- const input = qtySelector?.shadowRoot?.querySelector('input');
140
- expect(input).toBeDisabled();
62
+ export const Small = {
63
+ args: {
64
+ id: 'smallId',
65
+ size: 's',
66
+ },
141
67
  };
142
- export const Invalid = Template.bind({});
143
- Invalid.args = {
144
- isinvalid: true,
68
+ export const Disabled = {
69
+ args: {
70
+ id: 'disableId',
71
+ disabled: true,
72
+ },
145
73
  };
146
- Invalid.play = async ({ canvasElement }) => {
147
- const qtySelector = canvasElement.querySelector('m-quantityselector');
148
- const input = qtySelector?.shadowRoot?.querySelector('input');
149
- expect(input).toHaveAttribute('aria-invalid', 'true');
74
+ export const ReadOnly = {
75
+ args: {
76
+ id: 'readonlyId',
77
+ readonly: true,
78
+ },
150
79
  };
151
- export const Required = Template.bind({});
152
- Required.args = {
153
- required: true,
80
+ export const Invalid = {
81
+ args: {
82
+ id: 'invalidId',
83
+ isinvalid: true,
84
+ },
154
85
  };
155
- Required.play = async ({ canvasElement }) => {
156
- const qtySelector = canvasElement.querySelector('m-quantityselector');
157
- const input = qtySelector?.shadowRoot?.querySelector('input');
158
- expect(input).toHaveAttribute('required');
86
+ export const readOnly = {
87
+ args: {
88
+ id: 'readonlyId',
89
+ readonly: true,
90
+ },
159
91
  };
@@ -1,159 +1,179 @@
1
1
  <svelte:options
2
2
  customElement={{
3
3
  tag: 'm-quantityselector',
4
+ extend: customElementForwardEvents,
4
5
  }}
5
6
  />
6
7
 
7
8
  <script lang="ts">
9
+ import { customElementForwardEvents } from '../../utils';
8
10
  import Less24 from '@mozaic-ds/icons-svelte/svelte/Less24/Less24.svelte';
9
11
  import More24 from '@mozaic-ds/icons-svelte/svelte/More24/More24.svelte';
10
- import type { QuantitySelectorSize } from './quantitySelector.types';
12
+ /**
13
+ * 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
+ */
11
15
  interface Props {
12
- id?: string | undefined;
13
- quantity?: number;
16
+ /**
17
+ * A unique identifier for the quantity selector element, used to associate the label with the form element.
18
+ */
19
+ id: string;
20
+ /**
21
+ * The name attribute for the quantity selector element, typically used for form submission.
22
+ */
23
+ name?: string;
24
+ /**
25
+ * The current value of the quantity selector field.
26
+ */
27
+ value?: number;
28
+ /**
29
+ * If `true`, applies an invalid state to the quantity selector.
30
+ */
31
+ isinvalid?: boolean;
32
+ /**
33
+ * If `true`, disables the quantity selector, making it non-interactive.
34
+ */
35
+ disabled?: boolean;
36
+ /**
37
+ * Determines the size of the quantity selector.
38
+ */
39
+ size?: 's' | 'm';
40
+ /**
41
+ * Minimum acceptable value for the quantity selector.
42
+ */
14
43
  min?: number;
44
+ /**
45
+ * Maximum acceptable value for the quantity selector.
46
+ */
15
47
  max?: number;
16
- size?: QuantitySelectorSize;
17
- decrementlabel?: string;
18
- inputarialabel?: string;
19
- incrementlabel?: string;
20
- disabled?: boolean;
21
- isinvalid?: boolean;
22
- required?: boolean;
23
- name?: string;
48
+ /**
49
+ * Determines how much the value will change per click when the quantity is increased or decreased.
50
+ */
24
51
  step?: number;
25
- increment?: (qty: number) => void;
26
- decrement?: (qty: number) => void;
27
- inputqty?: (qty: number) => void;
28
- oninput?: (event: Event) => void;
29
- onblur?: (event: FocusEvent) => void;
52
+ /**
53
+ * If `true`, the quantity selector is read-only (cannot be edited).
54
+ */
55
+ readonly?: boolean;
56
+ /**
57
+ * The label text for the increment button.
58
+ */
59
+ incrementlabel?: string;
60
+ /**
61
+ * The label text for the decrement button.
62
+ */
63
+ decrementlabel?: string;
30
64
  }
31
65
 
32
66
  let {
33
- id = undefined,
34
- quantity = $bindable(1),
67
+ id,
68
+ value = $bindable(1),
35
69
  min = 1,
36
70
  max = 100,
71
+ step = 1,
37
72
  size = 'm',
38
- decrementlabel = 'Decrement',
39
- inputarialabel = 'Quantity Selector',
40
- incrementlabel = 'Increment',
41
- disabled = false,
73
+ disabled,
42
74
  isinvalid = false,
43
- required = false,
44
75
  name = 'quantity-selector-input',
45
- step = 1,
46
- increment,
47
- decrement,
48
- inputqty,
49
- oninput,
50
- onblur,
76
+ readonly,
77
+ decrementlabel = 'Decrement',
78
+ incrementlabel = 'Increment',
51
79
  }: Props = $props();
52
80
 
53
- function handleValue(event: Event): void {
54
- if (quantity > max) {
55
- quantity = max;
56
- }
57
- if (quantity < min) {
58
- quantity = min;
81
+ const onValue = (): void => {
82
+ const numericValue = Number(value);
83
+ if (numericValue > max) {
84
+ value = max;
85
+ } else if (numericValue < min) {
86
+ value = min;
87
+ } else {
88
+ value = numericValue;
59
89
  }
60
- inputqty?.(quantity);
61
- oninput?.(event);
62
- }
90
+ };
63
91
 
64
- function handleDecrement(): void {
65
- if (quantity - Number(step) > min) {
66
- quantity = quantity - Number(step);
67
- }
68
- decrement?.(quantity);
69
- }
92
+ const onIncrement = (): void => {
93
+ const numericValue = Number(value);
94
+ const numericStep = Number(step);
70
95
 
71
- function handleIncrement(): void {
72
- if (quantity + Number(step) < max) {
73
- quantity = quantity + Number(step);
96
+ if (numericValue + numericStep <= max) {
97
+ value = numericValue + numericStep;
98
+ } else {
99
+ value = max;
74
100
  }
75
- increment?.(quantity);
76
- }
101
+ };
77
102
 
78
- function getClasses(
79
- isInvalid: boolean,
80
- size: QuantitySelectorSize,
81
- ): string {
82
- const classes = ['mc-quantity-selector'];
83
- if (isInvalid) {
84
- classes.push('is-invalid');
85
- }
103
+ const onDecrement = (): void => {
104
+ const numericValue = Number(value);
105
+ const numericStep = Number(step);
86
106
 
87
- if (size === 's') {
88
- classes.push('mc-quantity-selector--s');
107
+ if (numericValue - numericStep >= min) {
108
+ value = numericValue - numericStep;
109
+ } else {
110
+ value = min;
89
111
  }
90
-
91
- return classes.join(' ');
92
- }
112
+ };
93
113
  </script>
94
114
 
95
- <div class="{getClasses(isinvalid, size)}">
115
+ <div
116
+ class={[
117
+ 'mc-quantity-selector',
118
+ `mc-quantity-selector--${size}`,
119
+ isinvalid && 'is-invalid',
120
+ ]}
121
+ >
96
122
  <input
97
123
  type="number"
98
124
  {id}
99
125
  {name}
100
- bind:value={quantity}
101
- oninput={handleValue}
102
- {onblur}
126
+ bind:value
127
+ oninput={onValue}
103
128
  class="mc-quantity-selector__control"
104
- aria-label={inputarialabel}
105
129
  aria-valuemin={min}
106
130
  aria-valuemax={max}
107
- aria-valuenow={quantity}
108
- aria-invalid={isinvalid}
109
- spellcheck="false"
131
+ aria-valuenow={value}
132
+ aria-invalid={`${isinvalid}`}
133
+ {readonly}
110
134
  {disabled}
111
- {required}
112
135
  />
113
136
  <button
114
137
  type="button"
115
138
  aria-controls={id}
116
139
  class="mc-quantity-selector__button mc-quantity-selector__button--increase"
117
140
  tabindex="-1"
118
- onclick={handleIncrement}
119
- disabled={quantity === max || disabled}
141
+ disabled={value === max || disabled}
142
+ onclick={onIncrement}
120
143
  >
121
144
  <span class="mc-quantity-selector__icon">
122
145
  <More24 />
123
146
  </span>
124
- <span class="mc-quantity-selector__label">{decrementlabel}</span>
147
+ <span class="mc-quantity-selector__label">{incrementlabel}</span>
125
148
  </button>
126
149
  <button
127
150
  type="button"
128
151
  aria-controls={id}
129
152
  class="mc-quantity-selector__button mc-quantity-selector__button--decrease"
130
153
  tabindex="-1"
131
- onclick={handleDecrement}
132
- disabled={quantity === min || disabled}
154
+ disabled={value === min || disabled}
155
+ onclick={onDecrement}
133
156
  >
134
157
  <span class="mc-quantity-selector__icon">
135
158
  <Less24 />
136
159
  </span>
137
- <span class="mc-quantity-selector__label">{incrementlabel}</span>
160
+ <span class="mc-quantity-selector__label">{decrementlabel}</span>
138
161
  </button>
139
162
  </div>
140
163
 
141
164
  <style>/**
142
165
  * Do not edit directly, this file was auto-generated.
143
166
  */
144
- /**
145
- * Do not edit directly, this file was auto-generated.
146
- */
147
167
  .mc-quantity-selector {
148
- background-color: #ffffff;
149
- border: 1px solid #666666;
150
- border-radius: 0.25rem;
168
+ background-color: var(--forms-color-background-default, #ffffff);
169
+ border: var(--border-s, 1px) solid var(--forms-color-border-default, #666666);
170
+ border-radius: var(--forms-radius-border, 0.25rem);
151
171
  transition: all ease 200ms;
152
- color: #000000;
172
+ color: var(--forms-color-text-default, #000000);
153
173
  display: block;
154
174
  width: 100%;
155
175
  height: 3rem;
156
- border-radius: 0.25rem;
176
+ border-radius: var(--radius-s, 0.25rem);
157
177
  box-sizing: border-box;
158
178
  display: flex;
159
179
  gap: 0.25rem;
@@ -166,29 +186,33 @@
166
186
  color: inherit;
167
187
  font-family: inherit;
168
188
  outline: none;
169
- padding: 0;
170
- font-size: inherit;
171
- font-size: 1rem;
172
- line-height: 1.5;
173
- font-weight: 600;
174
- cursor: inherit;
175
- text-align: center;
176
- flex-grow: 1;
177
189
  }
178
190
  .mc-quantity-selector__control[type=number] {
179
191
  /* For Blink & WebKit rendering engines */
180
- /* For Gecko rendering engine */
181
- appearance: textfield;
182
192
  }
183
193
  .mc-quantity-selector__control[type=number]::-webkit-inner-spin-button, .mc-quantity-selector__control[type=number]::-webkit-outer-spin-button {
184
194
  appearance: none;
185
195
  margin: 0;
186
196
  }
197
+ .mc-quantity-selector__control[type=number] {
198
+ /* For Gecko rendering engine */
199
+ appearance: textfield;
200
+ }
187
201
  .mc-quantity-selector__control[type=search]::-webkit-search-decoration, .mc-quantity-selector__control[type=search]::-webkit-search-cancel-button {
188
202
  appearance: none;
189
203
  }
204
+ .mc-quantity-selector__control {
205
+ padding: 0;
206
+ font-size: inherit;
207
+ font-size: var(--font-size-150, 1rem);
208
+ line-height: var(--line-height-m, 1.5);
209
+ font-weight: var(--font-weight-semi-bold, 600);
210
+ cursor: inherit;
211
+ text-align: center;
212
+ flex-grow: 1;
213
+ }
190
214
  .mc-quantity-selector__control::placeholder {
191
- color: #666666;
215
+ color: var(--forms-color-placeholder, #666666);
192
216
  }
193
217
  .mc-quantity-selector__button {
194
218
  background-color: transparent;
@@ -201,19 +225,19 @@
201
225
  padding: 0;
202
226
  height: 2.5rem;
203
227
  width: 2.5rem;
204
- border-radius: 100%;
205
- color: #242938;
228
+ border-radius: var(--radius-full, 100%);
229
+ color: var(--quantity-selector-color-button-text-default, #242938);
206
230
  display: inline-flex;
207
231
  align-items: center;
208
232
  justify-content: center;
209
233
  flex-shrink: 0;
210
234
  }
211
235
  .mc-quantity-selector__button:disabled {
212
- color: #d9d9d9;
236
+ color: var(--quantity-selector-color-button-text-disabled, #d9d9d9);
213
237
  cursor: not-allowed;
214
238
  }
215
239
  .mc-quantity-selector__button:hover:not(:disabled) {
216
- background-color: rgba(255, 255, 255, 0.1);
240
+ background-color: var(--quantity-selector-color-button-background-hover, rgba(255, 255, 255, 0.1));
217
241
  }
218
242
  .mc-quantity-selector__button--decrease {
219
243
  order: -1;
@@ -235,7 +259,7 @@
235
259
  }
236
260
  .mc-quantity-selector::after {
237
261
  transition: box-shadow 200ms ease;
238
- border-radius: 0.25rem;
262
+ border-radius: var(--radius-s, 0.25rem);
239
263
  content: "";
240
264
  position: absolute;
241
265
  inset: -0.125rem var(--inset-x, 3rem);
@@ -243,22 +267,22 @@
243
267
  display: block;
244
268
  }
245
269
  .mc-quantity-selector:hover:not(:focus-within) {
246
- border-color: #4d4d4d;
247
- box-shadow: 0 0 0 1px #4d4d4d;
270
+ border-color: var(--forms-color-border-hover, #4d4d4d);
271
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-hover, #4d4d4d);
248
272
  }
249
273
  .mc-quantity-selector:has(input:disabled) {
250
- background-color: #d9d9d9;
274
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
251
275
  cursor: not-allowed;
252
276
  border-color: transparent;
253
277
  box-shadow: none;
254
- color: #737373;
278
+ color: var(--forms-color-text-disabled, #737373);
255
279
  pointer-events: none;
256
280
  }
257
281
  .mc-quantity-selector:has(input:disabled) .mc-quantity-selector__button:disabled {
258
- color: #737373;
282
+ color: var(--forms-color-icon-disabled, #737373);
259
283
  }
260
284
  .mc-quantity-selector:has(input[readonly]) {
261
- border-color: #cccccc;
285
+ border-color: var(--forms-color-border-read-only, #cccccc);
262
286
  pointer-events: none;
263
287
  }
264
288
  .mc-quantity-selector:has(input[readonly]) .mc-quantity-selector__control[readonly] {
@@ -266,7 +290,7 @@
266
290
  padding-left: 0.5rem;
267
291
  }
268
292
  .mc-quantity-selector:has(input:focus)::after {
269
- box-shadow: 0 0 0 0.125rem var(--focus-color-mid, #ffffff), 0 0 0 0.25rem var(--focus-color-outer, #000000);
293
+ 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));
270
294
  outline: 0.125rem solid transparent;
271
295
  outline-offset: 0.125rem;
272
296
  }
@@ -283,12 +307,12 @@
283
307
  width: 1.25rem;
284
308
  }
285
309
  .mc-quantity-selector.is-invalid {
286
- border-color: #ea302d;
287
- box-shadow: 0 0 0 1px #ea302d;
310
+ border-color: var(--forms-color-border-invalid, #ea302d);
311
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);
288
312
  }
289
313
  .mc-quantity-selector.is-invalid:hover:not(:focus-within) {
290
- border-color: #c61112;
291
- box-shadow: 0 0 0 1px #c61112;
314
+ border-color: var(--forms-color-border-invalid-hover, #c61112);
315
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);
292
316
  }
293
317
  .mc-quantity-selector * {
294
318
  box-sizing: border-box;