@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
@@ -0,0 +1,95 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render, fireEvent } from '@testing-library/svelte';
3
+ import Datepicker from './Datepicker.svelte';
4
+ describe('m-datepicker component', () => {
5
+ const id = 'my-datepicker';
6
+ it('renders input with default size "m"', () => {
7
+ const { container } = render(Datepicker, {
8
+ props: { id },
9
+ });
10
+ const wrapper = container.querySelector('.mc-datepicker');
11
+ expect(wrapper).toBeTruthy();
12
+ expect(wrapper?.classList.contains('mc-text-input--m')).toBe(true);
13
+ const input = container.querySelector('input[type="date"]');
14
+ expect(input).toBeTruthy();
15
+ expect(input.id).toBe(id);
16
+ });
17
+ it('renders with custom size "s"', () => {
18
+ const { container } = render(Datepicker, {
19
+ props: { id, size: 's' },
20
+ });
21
+ const wrapper = container.querySelector('.mc-datepicker');
22
+ expect(wrapper?.classList.contains('mc-text-input--s')).toBe(true);
23
+ expect(wrapper?.classList.contains('mc-datepicker--s')).toBe(true);
24
+ });
25
+ it('renders with pre-filled value', () => {
26
+ const { container } = render(Datepicker, {
27
+ props: { id, value: '2025-10-15' },
28
+ });
29
+ const input = container.querySelector('input[type="date"]');
30
+ expect(input.value).toBe('2025-10-15');
31
+ });
32
+ it('updates the bound value on user input', async () => {
33
+ const { container } = render(Datepicker, {
34
+ props: { id, value: '2025-10-15' },
35
+ });
36
+ const input = container.querySelector('input[type="date"]');
37
+ await fireEvent.input(input, { target: { value: '2025-12-01' } });
38
+ expect(input.value).toBe('2025-12-01');
39
+ });
40
+ it('renders disabled and readonly states correctly', () => {
41
+ const { container } = render(Datepicker, {
42
+ props: { id, disabled: true, readonly: true },
43
+ });
44
+ const input = container.querySelector('input');
45
+ expect(input.disabled).toBe(true);
46
+ expect(input.readOnly).toBe(true);
47
+ });
48
+ it('applies invalid state with aria-invalid', () => {
49
+ const { container } = render(Datepicker, {
50
+ props: { id, isinvalid: true },
51
+ });
52
+ const input = container.querySelector('input');
53
+ expect(input).toHaveAttribute('aria-invalid', 'true');
54
+ const wrapper = container.querySelector('.mc-datepicker');
55
+ expect(wrapper.classList.contains('is-invalid')).toBe(true);
56
+ });
57
+ it('shows clear button when isclearable is true and value is set', () => {
58
+ const { getByRole, getByText } = render(Datepicker, {
59
+ props: {
60
+ id,
61
+ value: '2025-10-10',
62
+ isclearable: true,
63
+ clearlabel: 'Clear date',
64
+ },
65
+ });
66
+ const clearButton = getByRole('button');
67
+ expect(clearButton).toBeTruthy();
68
+ expect(getByText('Clear date')).toBeTruthy();
69
+ });
70
+ it('clears value when clear button is clicked', async () => {
71
+ const { container, getByRole } = render(Datepicker, {
72
+ props: {
73
+ id,
74
+ value: '2025-10-10',
75
+ isclearable: true,
76
+ },
77
+ });
78
+ const input = container.querySelector('input');
79
+ expect(input.value).toBe('2025-10-10');
80
+ const button = getByRole('button');
81
+ await fireEvent.click(button);
82
+ expect(input.value).toBe('');
83
+ });
84
+ it('does not render clear button if value is not set', () => {
85
+ const { container } = render(Datepicker, {
86
+ props: {
87
+ id,
88
+ isclearable: true,
89
+ value: '',
90
+ },
91
+ });
92
+ const button = container.querySelector('button');
93
+ expect(button).toBeNull();
94
+ });
95
+ });
@@ -1,10 +1,11 @@
1
- import type { Meta, StoryObj } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
4
  type Story = StoryObj;
5
+ export declare const WithValue: Story;
5
6
  export declare const Default: Story;
6
- export declare const Clearable: Story;
7
- export declare const Invalid: Story;
8
- export declare const Readonly: Story;
9
7
  export declare const Small: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const ReadOnly: Story;
10
+ export declare const Invalid: Story;
10
11
  //# sourceMappingURL=Datepicker.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Datepicker.stories.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/Datepicker.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;wBAuBtD,IAAI;AAnBT,wBAmBU;AAEV,KAAK,KAAK,GAAG,QAAQ,CAAC;AAmBtB,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAgBvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KASrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAWtB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KASnB,CAAC"}
1
+ {"version":3,"file":"Datepicker.stories.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/Datepicker.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IA4CX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -1,97 +1,80 @@
1
- import { userEvent, expect } from 'storybook/test';
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
2
3
  import { action } from 'storybook/actions';
3
- export default {
4
+ const meta = {
4
5
  title: 'Form Elements/Datepicker',
5
- tags: ['autodocs', 'beta'],
6
- args: {
7
- id: 'datepicker-id',
8
- name: 'my-datepicker',
9
- value: '2025-08-19',
10
- isinvalid: false,
11
- readonly: false,
12
- isclearable: true,
13
- clearlabel: 'Clear date',
14
- size: 'm',
15
- },
6
+ component: 'm-datepicker',
16
7
  argTypes: {
17
- onblur: {
18
- action: 'onblur',
19
- table: { category: 'Events' },
8
+ size: {
9
+ control: 'radio',
10
+ options: ['s', 'm'],
20
11
  },
21
12
  },
22
- };
23
- const Template = (args) => {
24
- const datepicker = document.createElement('m-datepicker');
25
- datepicker.setAttribute('id', args.id);
26
- datepicker.setAttribute('name', args.name);
27
- datepicker.setAttribute('value', args.value);
28
- if (args.isinvalid)
29
- datepicker.setAttribute('isinvalid', 'true');
30
- if (args.readonly)
31
- datepicker.setAttribute('readonly', 'true');
32
- if (args.disabled)
33
- datepicker.setAttribute('disabled', 'true');
34
- if (args.size === 's')
35
- datepicker.setAttribute('size', 's');
36
- if (args.isclearable)
37
- datepicker.setAttribute('isclearable', 'true');
38
- if (args.clearlabel)
39
- datepicker.setAttribute('clearlabel', args.clearlabel);
40
- datepicker.onblur = action('onblur');
41
- return datepicker;
42
- };
43
- export const Default = {
44
- render: Template,
45
- play: async ({ canvasElement }) => {
46
- const datepicker = canvasElement.querySelector('m-datepicker');
47
- const datepickerInput = datepicker?.shadowRoot?.querySelector('input');
48
- expect(datepicker).not.toBeNull();
13
+ args: {
14
+ id: 'datepickerId',
15
+ },
16
+ render: (args) => {
17
+ const onInput = action('input');
18
+ const onChange = action('change');
19
+ const onFocus = action('focus');
20
+ const onBlur = action('blur');
21
+ return html `
22
+ <m-datepicker
23
+ id=${ifDefined(args.id)}
24
+ name=${ifDefined(args.name)}
25
+ value=${ifDefined(args.value)}
26
+ isinvalid=${ifDefined(args.isinvalid)}
27
+ disabled=${ifDefined(args.disabled)}
28
+ size=${ifDefined(args.size)}
29
+ readonly=${ifDefined(args.readonly)}
30
+ isclearable=${ifDefined(args.isclearable)}
31
+ clearlabel=${ifDefined(args.clearlabel)}
32
+ @input=${(event) => {
33
+ onInput(event);
34
+ }}
35
+ @change=${(event) => {
36
+ onChange(event);
37
+ }}
38
+ @focus=${(event) => {
39
+ onFocus(event);
40
+ }}
41
+ @blur=${(event) => {
42
+ onBlur(event);
43
+ }}
44
+ ></m-datepicker>
45
+ `;
49
46
  },
50
47
  };
51
- export const Clearable = {
48
+ export default meta;
49
+ export const WithValue = {
52
50
  args: {
53
- value: '2025-08-19',
51
+ id: 'withValueId',
52
+ value: '2025-07-22',
54
53
  isclearable: true,
55
54
  },
56
- render: Template,
57
- play: async ({ canvasElement }) => {
58
- const el = canvasElement.querySelector('m-datepicker');
59
- const button = el?.shadowRoot?.querySelector('button');
60
- expect(button).toBeVisible();
61
- await userEvent.click(button);
62
- const input = el?.shadowRoot?.querySelector('input');
63
- expect(input).toHaveValue('');
64
- },
65
55
  };
66
- export const Invalid = {
56
+ export const Default = {};
57
+ export const Small = {
67
58
  args: {
68
- isinvalid: true,
59
+ id: 'smallId',
60
+ size: 's',
69
61
  },
70
- render: Template,
71
- play: async ({ canvasElement }) => {
72
- const el = canvasElement.querySelector('m-datepicker');
73
- expect(el).toHaveAttribute('isinvalid', 'true');
62
+ };
63
+ export const Disabled = {
64
+ args: {
65
+ id: 'disableId',
66
+ disabled: true,
74
67
  },
75
68
  };
76
- export const Readonly = {
69
+ export const ReadOnly = {
77
70
  args: {
71
+ id: 'readonlyId',
78
72
  readonly: true,
79
73
  },
80
- render: Template,
81
- play: async ({ canvasElement }) => {
82
- const input = canvasElement
83
- .querySelector('m-datepicker')
84
- ?.shadowRoot?.querySelector('input');
85
- expect(input).toHaveAttribute('readonly');
86
- },
87
74
  };
88
- export const Small = {
75
+ export const Invalid = {
89
76
  args: {
90
- size: 's',
91
- },
92
- render: Template,
93
- play: async ({ canvasElement }) => {
94
- const el = canvasElement.querySelector('m-datepicker');
95
- expect(el).toHaveAttribute('size', 's');
77
+ id: 'invalidId',
78
+ isinvalid: true,
96
79
  },
97
80
  };
@@ -1,49 +1,74 @@
1
- <svelte:options customElement={{ tag: 'm-datepicker' }} />
1
+ <svelte:options
2
+ customElement={{ tag: 'm-datepicker', extend: customElementForwardEvents }}
3
+ />
2
4
 
3
5
  <script lang="ts">
6
+ import { customElementForwardEvents } from '../../utils';
4
7
  import CrossCircleFilled24 from '@mozaic-ds/icons-svelte/svelte/CrossCircleFilled24/CrossCircleFilled24.svelte';
5
-
8
+ /**
9
+ * A date picker is an input component that allows users to select a date from a calendar interface or manually enter a date value. It enhances usability by providing structured date selection, reducing input errors, and ensuring format consistency. Date Pickers are commonly used in forms, booking systems, scheduling tools, and data filtering interfaces to facilitate accurate date entry.
10
+ */
6
11
  interface Props {
12
+ /**
13
+ * A unique identifier for the datepicker element, used to associate the label with the form element.
14
+ */
7
15
  id: string;
16
+ /**
17
+ * The name attribute for the datepicker element, typically used for form submission.
18
+ */
8
19
  name?: string;
20
+ /**
21
+ * The current value of the datepicker field.
22
+ */
9
23
  value?: string | number;
24
+ /**
25
+ * If `true`, applies an invalid state to the datepicker.
26
+ */
10
27
  isinvalid?: boolean;
28
+ /**
29
+ * If `true`, disables the datepicker, making it non-interactive.
30
+ */
11
31
  disabled?: boolean;
32
+ /**
33
+ * Determines the size of the datepicker.
34
+ */
12
35
  size?: 's' | 'm';
36
+ /**
37
+ * If `true`, the datepicker is read-only (cannot be edited).
38
+ */
13
39
  readonly?: boolean;
40
+ /**
41
+ * If `true`, a clear button will appear when the datepicker has a value.
42
+ */
14
43
  isclearable?: boolean;
44
+ /**
45
+ * The label text for the clear button.
46
+ */
15
47
  clearlabel?: string;
16
- [events: string]: string;
17
48
  }
18
49
 
19
50
  let {
20
51
  id,
21
- name = '',
22
- value = '',
23
- isinvalid = false,
24
- disabled = false,
52
+ name,
53
+ value,
54
+ isinvalid,
55
+ disabled,
25
56
  size = 'm',
26
- readonly = false,
27
- isclearable = false,
57
+ readonly,
58
+ isclearable,
28
59
  clearlabel = 'clear content',
29
- ...events
30
60
  }: Props = $props();
31
61
 
32
- function onInput(event: Event) {
33
- const target = event.target as HTMLInputElement;
34
- value = target.value;
35
- }
36
-
37
- function clearValue() {
38
- value = '';
39
- }
62
+ const resetValue = () => (value = '');
40
63
  </script>
41
64
 
42
65
  <div
43
- class="mc-datepicker mc-text-input"
44
- class:is-invalid={isinvalid}
45
- class:mc-text-input--s={size === 's'}
46
- class:mc-datepicker--s={size === 's'}
66
+ class={[
67
+ 'mc-datepicker mc-text-input',
68
+ `mc-text-input--${size}`,
69
+ `mc-datepicker--${size}`,
70
+ isinvalid && 'is-invalid',
71
+ ]}
47
72
  >
48
73
  <input
49
74
  class="mc-datepicker__control mc-text-input__control"
@@ -54,8 +79,6 @@
54
79
  {disabled}
55
80
  {readonly}
56
81
  aria-invalid={isinvalid}
57
- oninput={onInput}
58
- {...events}
59
82
  />
60
83
 
61
84
  {#if isclearable && value}
@@ -63,7 +86,7 @@
63
86
  <button
64
87
  type="button"
65
88
  class="mc-controls-options__button"
66
- onclick={clearValue}
89
+ onclick={resetValue}
67
90
  >
68
91
  <CrossCircleFilled24
69
92
  class="mc-controls-options__icon"
@@ -78,17 +101,14 @@
78
101
  <style>/**
79
102
  * Do not edit directly, this file was auto-generated.
80
103
  */
81
- /**
82
- * Do not edit directly, this file was auto-generated.
83
- */
84
104
  /* stylelint-disable string-no-newline */
85
105
  .mc-text-input {
86
106
  transition: box-shadow 200ms ease;
87
- background-color: #ffffff;
88
- border: 1px solid #666666;
89
- border-radius: 0.25rem;
107
+ background-color: var(--forms-color-background-default, #ffffff);
108
+ border: var(--border-s, 1px) solid var(--forms-color-border-default, #666666);
109
+ border-radius: var(--forms-radius-border, 0.25rem);
90
110
  transition: all ease 200ms;
91
- color: #000000;
111
+ color: var(--forms-color-text-default, #000000);
92
112
  display: block;
93
113
  width: 100%;
94
114
  height: 3rem;
@@ -102,52 +122,56 @@
102
122
  border-width: 0;
103
123
  font-family: inherit;
104
124
  outline: none;
105
- padding: 0.75rem 0.6875rem;
106
- font-size: 1rem;
107
- line-height: 1.3;
108
- font-weight: 400;
109
- flex-grow: 1;
110
125
  }
111
126
  .mc-text-input__control[type=number] {
112
127
  /* For Blink & WebKit rendering engines */
113
- /* For Gecko rendering engine */
114
- appearance: textfield;
115
128
  }
116
129
  .mc-text-input__control[type=number]::-webkit-inner-spin-button, .mc-text-input__control[type=number]::-webkit-outer-spin-button {
117
130
  appearance: none;
118
131
  margin: 0;
119
132
  }
133
+ .mc-text-input__control[type=number] {
134
+ /* For Gecko rendering engine */
135
+ appearance: textfield;
136
+ }
120
137
  .mc-text-input__control[type=search]::-webkit-search-decoration, .mc-text-input__control[type=search]::-webkit-search-cancel-button {
121
138
  appearance: none;
122
139
  }
140
+ .mc-text-input__control {
141
+ padding: 0.75rem 0.6875rem;
142
+ font-size: var(--font-size-150, 1rem);
143
+ line-height: var(--line-height-s, 1.3);
144
+ font-weight: var(--font-weight-regular, 400);
145
+ flex-grow: 1;
146
+ }
123
147
  .mc-text-input__control::placeholder {
124
- color: #666666;
148
+ color: var(--forms-color-placeholder, #666666);
125
149
  }
126
150
  .mc-text-input__icon {
127
- fill: #666666;
151
+ fill: var(--forms-color-icon-default, #666666);
128
152
  height: 1.5rem;
129
153
  width: 1.5rem;
130
154
  flex-shrink: 0;
131
155
  }
132
156
  .mc-text-input:focus-within {
133
- box-shadow: 0 0 0 0.125rem var(--focus-color-mid, #ffffff), 0 0 0 0.25rem var(--focus-color-outer, #000000);
157
+ 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));
134
158
  outline: 0.125rem solid transparent;
135
159
  outline-offset: 0.125rem;
136
160
  }
137
161
  .mc-text-input:hover:not(:focus-within) {
138
- border-color: #4d4d4d;
139
- box-shadow: 0 0 0 1px #4d4d4d;
162
+ border-color: var(--forms-color-border-hover, #4d4d4d);
163
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-hover, #4d4d4d);
140
164
  }
141
165
  .mc-text-input:has(input:disabled) {
142
- background-color: #d9d9d9;
166
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
143
167
  cursor: not-allowed;
144
168
  border-color: transparent;
145
169
  box-shadow: none;
146
- color: #737373;
170
+ color: var(--forms-color-text-disabled, #737373);
147
171
  pointer-events: none;
148
172
  }
149
173
  .mc-text-input:has(input[readonly]) {
150
- border-color: #cccccc;
174
+ border-color: var(--forms-color-border-read-only, #cccccc);
151
175
  pointer-events: none;
152
176
  }
153
177
  .mc-text-input:has(.mc-text-input__icon) {
@@ -167,8 +191,8 @@
167
191
  }
168
192
  .mc-text-input--s .mc-text-input__control {
169
193
  padding: 0.375rem 0.6875rem;
170
- font-size: 0.875rem;
171
- line-height: 1.3;
194
+ font-size: var(--font-size-100, 0.875rem);
195
+ line-height: var(--line-height-s, 1.3);
172
196
  }
173
197
  .mc-text-input--s:has(.mc-text-input__icon) {
174
198
  padding-inline-start: 0.4375rem;
@@ -177,12 +201,12 @@
177
201
  padding-inline-end: 0.4375rem;
178
202
  }
179
203
  .mc-text-input.is-invalid {
180
- border-color: #ea302d;
181
- box-shadow: 0 0 0 1px #ea302d;
204
+ border-color: var(--forms-color-border-invalid, #ea302d);
205
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);
182
206
  }
183
207
  .mc-text-input.is-invalid:hover:not(:focus-within) {
184
- border-color: #c61112;
185
- box-shadow: 0 0 0 1px #c61112;
208
+ border-color: var(--forms-color-border-invalid-hover, #c61112);
209
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);
186
210
  }
187
211
  .mc-text-input * {
188
212
  box-sizing: border-box;
@@ -190,12 +214,12 @@
190
214
 
191
215
  /* stylelint-enable string-no-newline */
192
216
  .mc-datepicker {
193
- border-radius: 0.25rem;
217
+ border-radius: var(--radius-s, 0.25rem);
194
218
  position: relative;
195
219
  }
196
220
  .mc-datepicker__control {
197
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='%23000000' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");
198
- font-family: LeroyMerlin, sans-serif;
221
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='var(--forms-color-icon-interactive, %23000000)' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");
222
+ font-family: var(--font-family, LeroyMerlin), sans-serif;
199
223
  background-repeat: no-repeat;
200
224
  background-position: right 0.75rem center;
201
225
  display: block;
@@ -212,52 +236,52 @@
212
236
  transform: scale(2);
213
237
  }
214
238
  .mc-datepicker__control.is-invalid {
215
- border-color: #ea302d;
216
- box-shadow: 0 0 0 1px #ea302d;
239
+ border-color: var(--forms-color-border-invalid, #ea302d);
240
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);
217
241
  }
218
242
  .mc-datepicker__control.is-invalid:hover:not(:focus-within) {
219
- border-color: #c61112;
220
- box-shadow: 0 0 0 1px #c61112;
243
+ border-color: var(--forms-color-border-invalid-hover, #c61112);
244
+ box-shadow: 0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);
221
245
  }
222
246
  .mc-datepicker__control:disabled {
223
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='%23737373' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");
224
- background-color: #d9d9d9;
247
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");
248
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
225
249
  cursor: not-allowed;
226
250
  border-color: transparent;
227
251
  box-shadow: none;
228
- color: #737373;
252
+ color: var(--forms-color-text-disabled, #737373);
229
253
  }
230
254
  .mc-datepicker__control:disabled:hover:not(:focus-within) {
231
- background-color: #d9d9d9;
255
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
232
256
  cursor: not-allowed;
233
257
  border-color: transparent;
234
258
  box-shadow: none;
235
- color: #737373;
259
+ color: var(--forms-color-text-disabled, #737373);
236
260
  }
237
261
  .mc-datepicker:has(.mc-controls-options) {
238
262
  padding-inline-end: 0;
239
263
  }
240
264
  .mc-datepicker:has(input:disabled) {
241
- background-color: #d9d9d9;
265
+ background-color: var(--forms-color-background-disabled, #d9d9d9);
242
266
  cursor: not-allowed;
243
267
  border-color: transparent;
244
268
  box-shadow: none;
245
- color: #737373;
269
+ color: var(--forms-color-text-disabled, #737373);
246
270
  pointer-events: all;
247
271
  cursor: not-allowed;
248
272
  }
249
273
  .mc-datepicker:has(input:disabled):hover {
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
  }
256
280
  .mc-datepicker--s .mc-datepicker__control {
257
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='%23000000' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");
281
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='var(--forms-color-icon-interactive, %23000000)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");
258
282
  }
259
283
  .mc-datepicker--s .mc-datepicker__control:disabled {
260
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='%23737373' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");
284
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");
261
285
  }
262
286
  .mc-datepicker__controls-options {
263
287
  position: absolute;
@@ -280,18 +304,18 @@
280
304
  appearance: none;
281
305
  cursor: pointer;
282
306
  padding: 0;
283
- border-radius: 100%;
307
+ border-radius: var(--radius-full, 100%);
284
308
  }
285
309
  .mc-controls-options__button:hover .mc-controls-options__icon {
286
- fill: #4d4d4d;
310
+ fill: var(--forms-color-icon-clear-hover, #4d4d4d);
287
311
  }
288
312
  .mc-controls-options__button:focus-visible {
289
- box-shadow: 0 0 0 0.125rem var(--focus-color-mid, #ffffff), 0 0 0 0.25rem var(--focus-color-outer, #000000);
313
+ 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));
290
314
  outline: 0.125rem solid transparent;
291
315
  outline-offset: 0.125rem;
292
316
  }
293
317
  .mc-controls-options__icon {
294
- fill: #666666;
318
+ fill: var(--forms-color-icon-clear, #666666);
295
319
  }
296
320
  .mc-controls-options__button, .mc-controls-options__icon {
297
321
  height: 1.5rem;
@@ -308,8 +332,8 @@
308
332
  width: 1px;
309
333
  }
310
334
  .mc-controls-options__unit {
311
- font-size: 1rem;
312
- line-height: 1.3;
313
- font-weight: 600;
314
- color: #000000;
335
+ font-size: var(--font-size-150, 1rem);
336
+ line-height: var(--line-height-s, 1.3);
337
+ font-weight: var(--font-weight-semi-bold, 600);
338
+ color: var(--forms-color-text-default, #000000);
315
339
  }</style>