@mozaic-ds/web-components 1.0.0-beta.7 → 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 (467) 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/CrossCircleFilled24.js +1 -1
  6. package/dist/attributes.js +1 -1
  7. package/dist/attributes.js.map +1 -1
  8. package/dist/bundle.d.ts +24 -23
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +24 -23
  11. package/dist/components/avatar/Avatar.js +2 -2
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/avatar/Avatar.spec.js +17 -0
  14. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  15. package/dist/components/avatar/Avatar.stories.js +3 -29
  16. package/dist/components/avatar/Avatar.svelte +2 -0
  17. package/dist/components/avatar/Avatar.svelte.d.ts +2 -0
  18. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  19. package/dist/components/avatar/README.md +16 -0
  20. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  21. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  22. package/dist/components/breadcrumb/Breadcrumb.spec.js +42 -0
  23. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  24. package/dist/components/breadcrumb/Breadcrumb.stories.js +6 -35
  25. package/dist/components/breadcrumb/Breadcrumb.svelte +11 -16
  26. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  27. package/dist/components/breadcrumb/README.md +11 -0
  28. package/dist/components/button/Button.js +2 -2
  29. package/dist/components/button/Button.js.map +1 -1
  30. package/dist/components/button/Button.spec.js +74 -0
  31. package/dist/components/button/Button.stories.d.ts +9 -13
  32. package/dist/components/button/Button.stories.d.ts.map +1 -1
  33. package/dist/components/button/Button.stories.js +46 -146
  34. package/dist/components/button/Button.svelte +70 -53
  35. package/dist/components/button/Button.svelte.d.ts +36 -8
  36. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  37. package/dist/components/button/README.md +26 -0
  38. package/dist/components/callout/Callout.js +1 -1
  39. package/dist/components/callout/Callout.js.map +1 -1
  40. package/dist/components/callout/Callout.spec.js +33 -0
  41. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  42. package/dist/components/callout/Callout.stories.js +2 -55
  43. package/dist/components/callout/Callout.svelte +4 -0
  44. package/dist/components/callout/Callout.svelte.d.ts +4 -0
  45. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  46. package/dist/components/callout/README.md +20 -0
  47. package/dist/components/checkbox/Checkbox.js +3 -3
  48. package/dist/components/checkbox/Checkbox.js.map +1 -1
  49. package/dist/components/checkbox/Checkbox.spec.js +70 -0
  50. package/dist/components/checkbox/Checkbox.stories.d.ts +11 -16
  51. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  52. package/dist/components/checkbox/Checkbox.stories.js +67 -124
  53. package/dist/components/checkbox/Checkbox.svelte +42 -22
  54. package/dist/components/checkbox/Checkbox.svelte.d.ts +31 -6
  55. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  56. package/dist/components/checkbox/README.md +17 -0
  57. package/dist/components/checkboxgroup/CheckboxGroup.js +3 -3
  58. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  59. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +113 -0
  60. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +5 -13
  61. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  62. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +56 -140
  63. package/dist/components/checkboxgroup/CheckboxGroup.svelte +56 -45
  64. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +30 -6
  65. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  66. package/dist/components/checkboxgroup/README.md +14 -0
  67. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  68. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  69. package/dist/components/circularprogressbar/CircularProgressbar.spec.js +74 -0
  70. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +6 -6
  71. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  72. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +29 -68
  73. package/dist/components/circularprogressbar/CircularProgressbar.svelte +25 -6
  74. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +18 -0
  75. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  76. package/dist/components/circularprogressbar/README.md +14 -0
  77. package/dist/components/datepicker/Datepicker.js +3 -3
  78. package/dist/components/datepicker/Datepicker.js.map +1 -1
  79. package/dist/components/datepicker/Datepicker.spec.js +95 -0
  80. package/dist/components/datepicker/Datepicker.stories.d.ts +7 -6
  81. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  82. package/dist/components/datepicker/Datepicker.stories.js +58 -75
  83. package/dist/components/datepicker/Datepicker.svelte +48 -25
  84. package/dist/components/datepicker/Datepicker.svelte.d.ts +30 -1
  85. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  86. package/dist/components/datepicker/README.md +18 -0
  87. package/dist/components/drawer/Drawer.js +2 -2
  88. package/dist/components/drawer/Drawer.js.map +1 -1
  89. package/dist/components/drawer/Drawer.spec.js +101 -0
  90. package/dist/components/drawer/Drawer.stories.d.ts +29 -8
  91. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  92. package/dist/components/drawer/Drawer.stories.js +86 -87
  93. package/dist/components/drawer/Drawer.svelte +61 -38
  94. package/dist/components/drawer/Drawer.svelte.d.ts +26 -3
  95. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  96. package/dist/components/drawer/README.md +29 -0
  97. package/dist/components/field/Field.js +2 -2
  98. package/dist/components/field/Field.js.map +1 -1
  99. package/dist/components/field/Field.spec.js +51 -0
  100. package/dist/components/field/Field.stories.d.ts +9 -15
  101. package/dist/components/field/Field.stories.d.ts.map +1 -1
  102. package/dist/components/field/Field.stories.js +86 -142
  103. package/dist/components/field/Field.svelte +48 -12
  104. package/dist/components/field/Field.svelte.d.ts +38 -7
  105. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  106. package/dist/components/field/README.md +24 -0
  107. package/dist/components/flag/Flag.js +2 -2
  108. package/dist/components/flag/Flag.js.map +1 -1
  109. package/dist/components/flag/Flag.spec.js +30 -0
  110. package/dist/components/flag/Flag.stories.d.ts +8 -18
  111. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  112. package/dist/components/flag/Flag.stories.js +28 -106
  113. package/dist/components/flag/Flag.svelte +11 -9
  114. package/dist/components/flag/Flag.svelte.d.ts +10 -28
  115. package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
  116. package/dist/components/flag/README.md +11 -0
  117. package/dist/components/iconbutton/IconButton.js +2 -2
  118. package/dist/components/iconbutton/IconButton.js.map +1 -1
  119. package/dist/components/iconbutton/IconButton.stories.d.ts +11 -11
  120. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  121. package/dist/components/iconbutton/IconButton.stories.js +51 -67
  122. package/dist/components/iconbutton/IconButton.svelte +41 -37
  123. package/dist/components/iconbutton/IconButton.svelte.d.ts +28 -7
  124. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  125. package/dist/components/iconbutton/README.md +21 -0
  126. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  127. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  128. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.spec.js +28 -0
  129. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +5 -7
  130. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  131. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +18 -49
  132. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +15 -5
  133. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +10 -1
  134. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  135. package/dist/components/linearprogressbarbuffer/README.md +11 -0
  136. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  137. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  138. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.spec.js +26 -0
  139. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +4 -5
  140. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  141. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +15 -33
  142. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +6 -0
  143. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +6 -0
  144. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
  145. package/dist/components/linearprogressbarpercentage/README.md +10 -0
  146. package/dist/components/link/Link.js +2 -2
  147. package/dist/components/link/Link.js.map +1 -1
  148. package/dist/components/link/Link.spec.js +51 -0
  149. package/dist/components/link/Link.stories.d.ts +12 -12
  150. package/dist/components/link/Link.stories.d.ts.map +1 -1
  151. package/dist/components/link/Link.stories.js +61 -74
  152. package/dist/components/link/Link.svelte +45 -40
  153. package/dist/components/link/Link.svelte.d.ts +29 -8
  154. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  155. package/dist/components/link/README.md +23 -0
  156. package/dist/components/loader/Loader.js +2 -2
  157. package/dist/components/loader/Loader.js.map +1 -1
  158. package/dist/components/loader/Loader.spec.js +54 -0
  159. package/dist/components/loader/Loader.stories.d.ts +8 -10
  160. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  161. package/dist/components/loader/Loader.stories.js +27 -43
  162. package/dist/components/loader/Loader.svelte +31 -31
  163. package/dist/components/loader/Loader.svelte.d.ts +14 -3
  164. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  165. package/dist/components/loader/README.md +12 -0
  166. package/dist/components/loadingoverlay/LoadingOverlay.js +4 -0
  167. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -0
  168. package/dist/components/loadingoverlay/LoadingOverlay.spec.js +38 -0
  169. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +7 -0
  170. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -0
  171. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +39 -0
  172. package/dist/components/loadingoverlay/LoadingOverlay.svelte +50 -0
  173. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +17 -0
  174. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -0
  175. package/dist/components/loadingoverlay/README.md +11 -0
  176. package/dist/components/modal/Modal.js +2 -2
  177. package/dist/components/modal/Modal.js.map +1 -1
  178. package/dist/components/modal/Modal.spec.js +50 -0
  179. package/dist/components/modal/Modal.stories.d.ts +36 -9
  180. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  181. package/dist/components/modal/Modal.stories.js +54 -83
  182. package/dist/components/modal/Modal.svelte +42 -41
  183. package/dist/components/modal/Modal.svelte.d.ts +22 -5
  184. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  185. package/dist/components/modal/README.md +28 -0
  186. package/dist/components/numberbadge/NumberBadge.js +2 -2
  187. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  188. package/dist/components/numberbadge/NumberBadge.spec.js +28 -0
  189. package/dist/components/numberbadge/NumberBadge.stories.d.ts +9 -13
  190. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  191. package/dist/components/numberbadge/NumberBadge.stories.js +28 -56
  192. package/dist/components/numberbadge/NumberBadge.svelte +24 -20
  193. package/dist/components/numberbadge/NumberBadge.svelte.d.ts +15 -4
  194. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  195. package/dist/components/numberbadge/README.md +12 -0
  196. package/dist/components/overlay/Overlay.js +2 -2
  197. package/dist/components/overlay/Overlay.js.map +1 -1
  198. package/dist/components/overlay/Overlay.spec.js +29 -0
  199. package/dist/components/overlay/Overlay.stories.d.ts +5 -7
  200. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  201. package/dist/components/overlay/Overlay.stories.js +32 -40
  202. package/dist/components/overlay/Overlay.svelte +14 -4
  203. package/dist/components/overlay/Overlay.svelte.d.ts +11 -0
  204. package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
  205. package/dist/components/overlay/README.md +17 -0
  206. package/dist/components/pagination/Pagination.js +6 -6
  207. package/dist/components/pagination/Pagination.js.map +1 -1
  208. package/dist/components/pagination/Pagination.spec.js +65 -0
  209. package/dist/components/pagination/Pagination.stories.d.ts +8 -11
  210. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  211. package/dist/components/pagination/Pagination.stories.js +37 -91
  212. package/dist/components/pagination/Pagination.svelte +33 -12
  213. package/dist/components/pagination/Pagination.svelte.d.ts +27 -4
  214. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  215. package/dist/components/pagination/README.md +16 -0
  216. package/dist/components/passwordinput/PasswordInput.js +3 -4
  217. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  218. package/dist/components/passwordinput/PasswordInput.spec.js +84 -0
  219. package/dist/components/passwordinput/PasswordInput.stories.d.ts +10 -13
  220. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  221. package/dist/components/passwordinput/PasswordInput.stories.js +67 -124
  222. package/dist/components/passwordinput/PasswordInput.svelte +387 -24
  223. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +34 -2
  224. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  225. package/dist/components/passwordinput/README.md +19 -0
  226. package/dist/components/pincode/Pincode.js +2 -2
  227. package/dist/components/pincode/Pincode.js.map +1 -1
  228. package/dist/components/pincode/Pincode.spec.js +99 -0
  229. package/dist/components/pincode/Pincode.stories.d.ts +9 -13
  230. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  231. package/dist/components/pincode/Pincode.stories.js +62 -127
  232. package/dist/components/pincode/Pincode.svelte +56 -41
  233. package/dist/components/pincode/Pincode.svelte.d.ts +30 -24
  234. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  235. package/dist/components/pincode/README.md +22 -0
  236. package/dist/components/quantityselector/QuantitySelector.js +2 -2
  237. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  238. package/dist/components/quantityselector/QuantitySelector.spec.js +104 -0
  239. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +11 -15
  240. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  241. package/dist/components/quantityselector/QuantitySelector.stories.js +77 -145
  242. package/dist/components/quantityselector/QuantitySelector.svelte +100 -77
  243. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +49 -17
  244. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  245. package/dist/components/quantityselector/README.md +21 -0
  246. package/dist/components/radio/README.md +15 -0
  247. package/dist/components/radio/Radio.js +2 -2
  248. package/dist/components/radio/Radio.js.map +1 -1
  249. package/dist/components/radio/Radio.spec.js +60 -0
  250. package/dist/components/radio/Radio.stories.d.ts +9 -13
  251. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  252. package/dist/components/radio/Radio.stories.js +54 -70
  253. package/dist/components/radio/Radio.svelte +42 -20
  254. package/dist/components/radio/Radio.svelte.d.ts +27 -5
  255. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  256. package/dist/components/radiogroup/README.md +14 -0
  257. package/dist/components/radiogroup/RadioGroup.js +3 -3
  258. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  259. package/dist/components/radiogroup/RadioGroup.spec.js +65 -0
  260. package/dist/components/radiogroup/RadioGroup.stories.d.ts +5 -12
  261. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  262. package/dist/components/radiogroup/RadioGroup.stories.js +56 -151
  263. package/dist/components/radiogroup/RadioGroup.svelte +50 -43
  264. package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
  265. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  266. package/dist/components/select/README.md +18 -0
  267. package/dist/components/select/Select.js +2 -2
  268. package/dist/components/select/Select.js.map +1 -1
  269. package/dist/components/select/Select.spec.js +76 -0
  270. package/dist/components/select/Select.stories.d.ts +10 -14
  271. package/dist/components/select/Select.stories.d.ts.map +1 -1
  272. package/dist/components/select/Select.stories.js +87 -92
  273. package/dist/components/select/Select.svelte +57 -44
  274. package/dist/components/select/Select.svelte.d.ts +41 -10
  275. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  276. package/dist/components/statusbadge/README.md +11 -0
  277. package/dist/components/statusbadge/StatusBadge.js +2 -2
  278. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  279. package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
  280. package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
  281. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  282. package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
  283. package/dist/components/statusbadge/StatusBadge.svelte +14 -6
  284. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
  285. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  286. package/dist/components/statusdot/README.md +11 -0
  287. package/dist/components/statusdot/StatusDot.js +2 -2
  288. package/dist/components/statusdot/StatusDot.js.map +1 -1
  289. package/dist/components/statusdot/StatusDot.spec.js +42 -0
  290. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  291. package/dist/components/statusdot/StatusDot.stories.js +9 -37
  292. package/dist/components/statusdot/StatusDot.svelte +9 -7
  293. package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
  294. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  295. package/dist/components/statusnotification/README.md +25 -0
  296. package/dist/components/statusnotification/StatusNotification.js +3 -3
  297. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  298. package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
  299. package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
  300. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  301. package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
  302. package/dist/components/statusnotification/StatusNotification.svelte +49 -51
  303. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
  304. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  305. package/dist/components/tab/README.md +20 -0
  306. package/dist/components/tab/Tab.js +4 -0
  307. package/dist/components/tab/Tab.js.map +1 -0
  308. package/dist/components/tab/Tab.spec.js +58 -0
  309. package/dist/components/{tabs → tab}/Tab.svelte +46 -26
  310. package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
  311. package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
  312. package/dist/components/tabs/README.md +18 -0
  313. package/dist/components/tabs/Tabs.js +2 -2
  314. package/dist/components/tabs/Tabs.js.map +1 -1
  315. package/dist/components/tabs/Tabs.spec.js +51 -0
  316. package/dist/components/tabs/Tabs.stories.d.ts +9 -6
  317. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  318. package/dist/components/tabs/Tabs.stories.js +59 -115
  319. package/dist/components/tabs/Tabs.svelte +27 -7
  320. package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
  321. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  322. package/dist/components/tags/README.md +9 -0
  323. package/dist/components/tags/Tag.js +1 -1
  324. package/dist/components/tags/TagContextualised.js +2 -2
  325. package/dist/components/tags/TagInteractive.js +1 -1
  326. package/dist/components/tags/TagRemovable.js +2 -2
  327. package/dist/components/tags/TagSelectable.js +2 -2
  328. package/dist/components/tags/Tags.stories.d.ts.map +1 -1
  329. package/dist/components/tags/Tags.stories.js +7 -1
  330. package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
  331. package/dist/components/tags/TagsContextualised.stories.js +7 -1
  332. package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
  333. package/dist/components/tags/TagsInteractive.stories.js +7 -1
  334. package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
  335. package/dist/components/tags/TagsRemovable.stories.js +7 -1
  336. package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
  337. package/dist/components/tags/TagsSelectable.stories.js +7 -1
  338. package/dist/components/textarea/README.md +19 -0
  339. package/dist/components/textarea/Textarea.js +2 -5
  340. package/dist/components/textarea/Textarea.js.map +1 -1
  341. package/dist/components/textarea/Textarea.spec.js +67 -0
  342. package/dist/components/textarea/Textarea.stories.d.ts +9 -13
  343. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  344. package/dist/components/textarea/Textarea.stories.js +61 -92
  345. package/dist/components/textarea/Textarea.svelte +53 -97
  346. package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
  347. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  348. package/dist/components/textinput/README.md +26 -0
  349. package/dist/components/textinput/Textinput.js +2 -2
  350. package/dist/components/textinput/Textinput.js.map +1 -1
  351. package/dist/components/textinput/Textinput.spec.js +89 -0
  352. package/dist/components/textinput/Textinput.stories.d.ts +11 -12
  353. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  354. package/dist/components/textinput/Textinput.stories.js +78 -137
  355. package/dist/components/textinput/Textinput.svelte +70 -112
  356. package/dist/components/textinput/Textinput.svelte.d.ts +46 -22
  357. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  358. package/dist/components/toaster/README.md +28 -0
  359. package/dist/components/toaster/Toaster.js +2 -2
  360. package/dist/components/toaster/Toaster.js.map +1 -1
  361. package/dist/components/toaster/Toaster.spec.js +100 -0
  362. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  363. package/dist/components/toaster/Toaster.stories.js +5 -73
  364. package/dist/components/toaster/Toaster.svelte +17 -7
  365. package/dist/components/toaster/Toaster.svelte.d.ts +3 -0
  366. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  367. package/dist/components/toggle/README.md +15 -0
  368. package/dist/components/toggle/Toggle.js +2 -2
  369. package/dist/components/toggle/Toggle.js.map +1 -1
  370. package/dist/components/toggle/Toggle.spec.js +69 -0
  371. package/dist/components/toggle/Toggle.stories.d.ts +9 -14
  372. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  373. package/dist/components/toggle/Toggle.stories.js +55 -64
  374. package/dist/components/toggle/Toggle.svelte +38 -24
  375. package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
  376. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  377. package/dist/components/togglegroup/README.md +13 -0
  378. package/dist/components/togglegroup/ToggleGroup.js +3 -3
  379. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  380. package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
  381. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
  382. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  383. package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
  384. package/dist/components/togglegroup/ToggleGroup.svelte +55 -58
  385. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
  386. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  387. package/dist/components/tooltip/README.md +19 -0
  388. package/dist/components/tooltip/Tooltip.js +2 -2
  389. package/dist/components/tooltip/Tooltip.js.map +1 -1
  390. package/dist/components/tooltip/Tooltip.spec.js +38 -0
  391. package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
  392. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  393. package/dist/components/tooltip/Tooltip.stories.js +45 -59
  394. package/dist/components/tooltip/Tooltip.svelte +23 -14
  395. package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
  396. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  397. package/dist/custom-element.js +3 -3
  398. package/dist/custom-element.js.map +1 -1
  399. package/dist/documentation/Contributing.mdx +1 -1
  400. package/dist/documentation/Introduction.mdx +45 -11
  401. package/dist/documentation/SupportAndOnboarding.mdx +2 -2
  402. package/dist/each.js +1 -1
  403. package/dist/each.js.map +1 -1
  404. package/dist/if.js +1 -1
  405. package/dist/if.js.map +1 -1
  406. package/dist/input.js +1 -1
  407. package/dist/input.js.map +1 -1
  408. package/dist/legacy.js +1 -1
  409. package/dist/main.d.ts +24 -23
  410. package/dist/main.d.ts.map +1 -1
  411. package/dist/main.js +24 -23
  412. package/dist/slot.js +1 -1
  413. package/dist/slot.js.map +1 -1
  414. package/dist/this.js +2 -0
  415. package/dist/this.js.map +1 -0
  416. package/package.json +11 -3
  417. package/dist/components/button/button.types.d.ts +0 -13
  418. package/dist/components/button/button.types.d.ts.map +0 -1
  419. package/dist/components/button/button.types.js +0 -1
  420. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
  421. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
  422. package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
  423. package/dist/components/link/link.types.d.ts +0 -4
  424. package/dist/components/link/link.types.d.ts.map +0 -1
  425. package/dist/components/link/link.types.js +0 -1
  426. package/dist/components/loader/loader.types.d.ts +0 -3
  427. package/dist/components/loader/loader.types.d.ts.map +0 -1
  428. package/dist/components/loader/loader.types.js +0 -1
  429. package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
  430. package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
  431. package/dist/components/numberbadge/NumberBadge.types.js +0 -1
  432. package/dist/components/overlayloader/OverlayLoader.js +0 -27
  433. package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
  434. package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
  435. package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
  436. package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
  437. package/dist/components/overlayloader/OverlayLoader.svelte +0 -160
  438. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
  439. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
  440. package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
  441. package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
  442. package/dist/components/quantityselector/quantitySelector.types.js +0 -1
  443. package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
  444. package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
  445. package/dist/components/radiogroup/radioGroup.types.js +0 -1
  446. package/dist/components/select/select.types.d.ts +0 -9
  447. package/dist/components/select/select.types.d.ts.map +0 -1
  448. package/dist/components/select/select.types.js +0 -1
  449. package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
  450. package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
  451. package/dist/components/statusbadge/StatusBadge.types.js +0 -1
  452. package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
  453. package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
  454. package/dist/components/statusdot/StatusDot.types.js +0 -1
  455. package/dist/components/tabs/Tab.js +0 -4
  456. package/dist/components/tabs/Tab.js.map +0 -1
  457. package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
  458. package/dist/components/textinput/textinput.types.d.ts +0 -3
  459. package/dist/components/textinput/textinput.types.d.ts.map +0 -1
  460. package/dist/components/textinput/textinput.types.js +0 -1
  461. package/dist/components/toggle/toggle.types.d.ts +0 -2
  462. package/dist/components/toggle/toggle.types.d.ts.map +0 -1
  463. package/dist/components/toggle/toggle.types.js +0 -1
  464. package/dist/index-client.js +0 -2
  465. package/dist/index-client.js.map +0 -1
  466. package/dist/snippet.js +0 -2
  467. package/dist/snippet.js.map +0 -1
@@ -6,64 +6,11 @@ import '@mozaic-ds/icons-svelte/custom-elements/ArrowNext20/ArrowNext20.js';
6
6
  const meta = {
7
7
  title: 'Content/Callout',
8
8
  component: 'm-callout',
9
- parameters: {
10
- docs: {
11
- description: {
12
- component: 'A callout is used to highlight additional information that can assist users with tips, extra details, or helpful guidance, without signaling a critical status or alert. Unlike notifications, callouts are not triggered by user actions and do not correspond to specific system states. They are designed to enhance the user experience by providing contextually relevant information that supports comprehension and usability.',
13
- },
14
- },
15
- },
9
+ tags: ['v2'],
16
10
  argTypes: {
17
- title: {
18
- control: 'text',
19
- description: 'Title of the callout.',
20
- type: { name: 'string', required: true },
21
- table: {
22
- category: 'attributes',
23
- },
24
- },
25
- description: {
26
- control: 'text',
27
- description: 'Description of the callout.',
28
- type: { name: 'string', required: true },
29
- table: {
30
- category: 'attributes',
31
- },
32
- },
33
11
  appearance: {
34
- control: { type: 'radio' },
12
+ control: 'radio',
35
13
  options: ['standard', 'accent', 'tips', 'inverse'],
36
- description: 'Allows to define the callout appearance.',
37
- defaultValue: 'standard',
38
- table: {
39
- type: { summary: "'standard' | 'accent' | 'tips' | 'inverse'" },
40
- defaultValue: { summary: 'standard' },
41
- category: 'attributes',
42
- },
43
- },
44
- icon: {
45
- description: 'Use this slot to insert an icon.',
46
- control: { type: 'text' },
47
- table: {
48
- type: { summary: 'any' },
49
- category: 'slots',
50
- },
51
- },
52
- default: {
53
- description: 'Use this slot to display custom content in the callout.',
54
- control: { type: 'text' },
55
- table: {
56
- type: { summary: 'any' },
57
- category: 'slots',
58
- },
59
- },
60
- footer: {
61
- description: 'Use this slot to insert a button or a link in the footer of the callout.',
62
- control: { type: 'text' },
63
- table: {
64
- type: { summary: 'any' },
65
- category: 'slots',
66
- },
67
14
  },
68
15
  },
69
16
  args: {
@@ -3,6 +3,10 @@
3
3
  <script lang="ts">
4
4
  /**
5
5
  * A callout is used to highlight additional information that can assist users with tips, extra details, or helpful guidance, without signaling a critical status or alert. Unlike notifications, callouts are not triggered by user actions and do not correspond to specific system states. They are designed to enhance the user experience by providing contextually relevant information that supports comprehension and usability.
6
+ *
7
+ * @slot icon - Use this slot to insert an icon.
8
+ * @slot default - Use this slot to insert custom content.
9
+ * @slot footer - Use this slot to insert a button or a link in the footer of the callout.
6
10
  */
7
11
  interface Props {
8
12
  /**
@@ -1,5 +1,9 @@
1
1
  /**
2
2
  * A callout is used to highlight additional information that can assist users with tips, extra details, or helpful guidance, without signaling a critical status or alert. Unlike notifications, callouts are not triggered by user actions and do not correspond to specific system states. They are designed to enhance the user experience by providing contextually relevant information that supports comprehension and usability.
3
+ *
4
+ * @slot icon - Use this slot to insert an icon.
5
+ * @slot default - Use this slot to insert custom content.
6
+ * @slot footer - Use this slot to insert a button or a link in the footer of the callout.
3
7
  */
4
8
  interface Props {
5
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/callout/Callout.svelte.ts"],"names":[],"mappings":"AAGE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACzD;AAoCH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,OAAO;;;;;;;;;;UAAqF,CAAC;AACjF,KAAK,OAAO,GAAG,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Callout.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/callout/Callout.svelte.ts"],"names":[],"mappings":"AAGE;;;;;;GAMG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CACzD;AAoCH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,OAAO;;;;;;;;;;UAAqF,CAAC;AACjF,KAAK,OAAO,GAAG,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC;AAC9C,eAAe,OAAO,CAAC"}
@@ -0,0 +1,20 @@
1
+ # `m-callout`
2
+
3
+ A callout is used to highlight additional information that can assist users with tips, extra details, or helpful guidance, without signaling a critical status or alert. Unlike notifications, callouts are not triggered by user actions and do not correspond to specific system states. They are designed to enhance the user experience by providing contextually relevant information that supports comprehension and usability.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `title*` | Title of the callout. | `string` | |
10
+ | `description*` | Description of the callout. | `string` | |
11
+ | `appearance` | Allows to define the callout appearance. | `'standard'` `'accent'` `'tips'` `'inverse'` | `standard` |
12
+
13
+ ## Slots
14
+
15
+ | Name | Description |
16
+ |------|-------------|
17
+ | `icon` | Use this slot to insert an icon. |
18
+ | `default` | Use this slot to insert custom content. |
19
+ | `footer` | Use this slot to insert a button or a link in the footer of the callout. |
20
+
@@ -1,10 +1,10 @@
1
- import{n as H,c as j,k as D,p as F,a as S,b as a,f as C,d as p,s as A,t as w,e as G,o as I,h as z,i as J,j as i,r as E,g as K}from"../../custom-element.js";import{i as L}from"../../if.js";import{s as c,r as N}from"../../attributes.js";import{a as O}from"../../input.js";import{c as P}from"../../custom-element-forward-events.js";var Q=C('<label class="mc-checkbox__label svelte-zknfk3"> </label>'),R=C('<div class="mc-checkbox svelte-zknfk3"><input type="checkbox"/> <!></div>');const T={hash:"svelte-zknfk3",code:`/**
1
+ import{c as M,p as H,a as j,b as n,f as z,s as D,d as u,t as g,i as _,j as F,k as i,r as x,h as S,e as p,g as w}from"../../custom-element.js";import{i as q}from"../../if.js";import{r as A,s}from"../../attributes.js";import{a as G}from"../../input.js";import{c as I}from"../../custom-element-forward-events.js";var J=z('<label class="mc-checkbox__label svelte-zknfk3"> </label>'),K=z('<div><input type="checkbox"/> <!></div>');const L={hash:"svelte-zknfk3",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
- /* stylelint-disable string-no-newline */.mc-checkbox.svelte-zknfk3 {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-checkbox__label.svelte-zknfk3 {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-checkbox__input.svelte-zknfk3 {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-radius-border, 0.25rem);transition:all ease 200ms;height:1.25rem;width:1.25rem;}.mc-checkbox__input.svelte-zknfk3:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-checkbox__input.svelte-zknfk3:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-checkbox__input.svelte-zknfk3:checked {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-inverse, %23ffffff)' viewBox='0 0 16 16'%3E%3Cpath d='M7.63 11.21a1 1 0 0 1-1.38 0l-2.92-2.6a1 1 0 1 1 1.34-1.48l2.22 2 4.41-4.34a1 1 0 1 1 1.4 1.42z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:indeterminate {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-inverse, %23ffffff)' viewBox='0 0 16 16'%3E%3Cpath d='M12 9H4a1 1 0 010-2h8a1 1 0 010 2z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:checked, .mc-checkbox__input.svelte-zknfk3:indeterminate {background-color:var(--forms-color-background-checked, #117f03);background-size:1rem 1rem;background-position:center;}.mc-checkbox__input.svelte-zknfk3:checked, .mc-checkbox__input.svelte-zknfk3:indeterminate, .mc-checkbox__input.svelte-zknfk3:disabled {border-color:transparent;}.mc-checkbox__input.svelte-zknfk3:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-checkbox__input.svelte-zknfk3:disabled:checked {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 16 16'%3E%3Cpath d='M7.63 11.21a1 1 0 0 1-1.38 0l-2.92-2.6a1 1 0 1 1 1.34-1.48l2.22 2 4.41-4.34a1 1 0 1 1 1.4 1.42z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:disabled:indeterminate {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 16 16'%3E%3Cpath d='M12 9H4a1 1 0 010-2h8a1 1 0 010 2z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:disabled + .mc-checkbox__label:where(.svelte-zknfk3) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-checkbox__input.svelte-zknfk3:not(:disabled):checked:hover, .mc-checkbox__input.svelte-zknfk3:not(:disabled):indeterminate:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-checkbox__input.is-invalid.svelte-zknfk3:not(:checked, :indeterminate) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-checkbox__input.is-invalid.svelte-zknfk3:not(:checked, :indeterminate):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}
4
+ /* stylelint-disable string-no-newline */.mc-checkbox.svelte-zknfk3 {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-checkbox--indented.svelte-zknfk3 {margin-left:1.75rem;}.mc-checkbox__label.svelte-zknfk3 {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-checkbox__input.svelte-zknfk3 {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-radius-border, 0.25rem);transition:all ease 200ms;height:1.25rem;width:1.25rem;}.mc-checkbox__input.svelte-zknfk3:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-checkbox__input.svelte-zknfk3:focus-visible {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-checkbox__input.svelte-zknfk3:checked {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-inverse, %23ffffff)' viewBox='0 0 16 16'%3E%3Cpath d='M7.63 11.21a1 1 0 0 1-1.38 0l-2.92-2.6a1 1 0 1 1 1.34-1.48l2.22 2 4.41-4.34a1 1 0 1 1 1.4 1.42z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:indeterminate {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-inverse, %23ffffff)' viewBox='0 0 16 16'%3E%3Cpath d='M12 9H4a1 1 0 010-2h8a1 1 0 010 2z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:checked, .mc-checkbox__input.svelte-zknfk3:indeterminate {background-color:var(--forms-color-background-checked, #117f03);background-size:1rem 1rem;background-position:center;}.mc-checkbox__input.svelte-zknfk3:checked, .mc-checkbox__input.svelte-zknfk3:indeterminate, .mc-checkbox__input.svelte-zknfk3:disabled {border-color:transparent;}.mc-checkbox__input.svelte-zknfk3:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-checkbox__input.svelte-zknfk3:disabled:checked {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 16 16'%3E%3Cpath d='M7.63 11.21a1 1 0 0 1-1.38 0l-2.92-2.6a1 1 0 1 1 1.34-1.48l2.22 2 4.41-4.34a1 1 0 1 1 1.4 1.42z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:disabled:indeterminate {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 16 16'%3E%3Cpath d='M12 9H4a1 1 0 010-2h8a1 1 0 010 2z'/%3E%3C/svg%3E");}.mc-checkbox__input.svelte-zknfk3:disabled + .mc-checkbox__label:where(.svelte-zknfk3) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-checkbox__input.svelte-zknfk3:not(:disabled):checked:hover, .mc-checkbox__input.svelte-zknfk3:not(:disabled):indeterminate:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-checkbox__input.is-invalid.svelte-zknfk3:not(:checked, :indeterminate) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-checkbox__input.is-invalid.svelte-zknfk3:not(:checked, :indeterminate):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}
5
5
 
6
6
  /* stylelint-enable string-no-newline */
7
7
  /* stylelint-disable string-no-newline */
8
8
 
9
- /* stylelint-enable string-no-newline */`};function U(g,t){const _=D();F(t,!0),S(g,T);let d=a(t,"name",7,"checkbox"),o=a(t,"id",7,_),l=a(t,"label",7),m=a(t,"indeterminate",7,!1),f=a(t,"disabled",7,!1),s=a(t,"isinvalid",7,!1),k=a(t,"required",7,!1),h=a(t,"checked",15,!1),u=a(t,"onchange",7),v=a(t,"onblur",7);var y={get name(){return d()},set name(e="checkbox"){d(e),i()},get id(){return o()},set id(e=_){o(e),i()},get label(){return l()},set label(e){l(e),i()},get indeterminate(){return m()},set indeterminate(e=!1){m(e),i()},get disabled(){return f()},set disabled(e=!1){f(e),i()},get isinvalid(){return s()},set isinvalid(e=!1){s(e),i()},get required(){return k()},set required(e=!1){k(e),i()},get checked(){return h()},set checked(e=!1){h(e),i()},get onchange(){return u()},set onchange(e){u(e),i()},get onblur(){return v()},set onblur(e){v(e),i()}},b=R(),r=p(b);N(r);let x;r.__change=function(...e){var n;(n=u())==null||n.apply(this,e)};var q=A(r,2);{var B=e=>{var n=Q(),M=p(n,!0);E(n),w(()=>{c(n,"for",o()),K(M,l())}),z(e,n)};L(q,e=>{l()&&e(B)})}return E(b),w(e=>{c(r,"id",o()),x=G(r,1,"mc-checkbox__input svelte-zknfk3",null,x,e),c(r,"aria-invalid",s()),c(r,"name",d()),r.disabled=f(),r.indeterminate=m(),r.required=k()},[()=>({"is-invalid":s()})]),I("blur",r,function(...e){var n;(n=v())==null||n.apply(this,e)}),O(r,h),z(g,b),J(y)}H(["change"]);customElements.define("m-checkbox",j(U,{name:{},id:{},label:{},indeterminate:{},disabled:{},isinvalid:{},required:{},checked:{},onchange:{},onblur:{}},[],[],!0,P));
9
+ /* stylelint-enable string-no-newline */`};function N(h,r){H(r,!0),j(h,L);let a=n(r,"id",7),m=n(r,"name",7),o=n(r,"label",7),k=n(r,"checked",15,!1),f=n(r,"indeterminate",7),v=n(r,"disabled",7),c=n(r,"isinvalid",7),b=n(r,"indented",7);var E={get id(){return a()},set id(e){a(e),i()},get name(){return m()},set name(e){m(e),i()},get label(){return o()},set label(e){o(e),i()},get checked(){return k()},set checked(e=!1){k(e),i()},get indeterminate(){return f()},set indeterminate(e){f(e),i()},get disabled(){return v()},set disabled(e){v(e),i()},get isinvalid(){return c()},set isinvalid(e){c(e),i()},get indented(){return b()},set indented(e){b(e),i()}},l=K(),t=u(l);A(t);var C=D(t,2);{var y=e=>{var d=J(),B=u(d,!0);x(d),g(()=>{s(d,"for",a()),S(B,o())}),_(e,d)};q(C,e=>{o()&&e(y)})}return x(l),g(()=>{p(l,1,w(["mc-checkbox",b()&&"mc-checkbox--indented"]),"svelte-zknfk3"),s(t,"id",a()),p(t,1,w(["mc-checkbox__input",c()&&"is-invalid"]),"svelte-zknfk3"),s(t,"aria-invalid",c()),s(t,"name",m()),t.disabled=v(),t.indeterminate=f()}),G(t,k),_(h,l),F(E)}customElements.define("m-checkbox",M(N,{checked:{attribute:"checked",reflect:!0,type:"Boolean"},id:{},name:{},label:{},indeterminate:{},disabled:{},isinvalid:{},indented:{}},[],[],!0,I));
10
10
  //# sourceMappingURL=Checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../src/components/checkbox/Checkbox.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-checkbox',\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n\n interface Props {\n name: string;\n label?: string;\n id?: string;\n checked?: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n isinvalid?: boolean;\n required?: boolean;\n onchange?: (event: Event) => void;\n onblur?: (event: FocusEvent) => void;\n }\n\n const uid = $props.id();\n let {\n name = 'checkbox',\n id = uid,\n label,\n indeterminate = false,\n disabled = false,\n isinvalid = false,\n required = false,\n checked = $bindable(false),\n onchange,\n onblur,\n }: Props = $props();\n</script>\n\n<div class=\"mc-checkbox\">\n <input\n {id}\n type=\"checkbox\"\n class=\"mc-checkbox__input\"\n class:is-invalid={isinvalid}\n aria-invalid={isinvalid}\n {name}\n {disabled}\n {indeterminate}\n {required}\n bind:checked\n {onchange}\n {onblur}\n />\n {#if label}\n <label for={id} class=\"mc-checkbox__label\">{label}</label>\n {/if}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/checkbox';\n @use '@mozaic-ds/styles/components/field';\n</style>\n"],"names":["uid","$.props_id","name","id","label","$.prop","$$props","indeterminate","disabled","isinvalid","required","checked","onchange","onblur","$$render","consequent","customElementForwardEvents"],"mappings":";;;;;;;;0DAAA,OAuBQA,EAAGC,EAAA,iBAEP,IAAAC,eAAO,UAAU,EACjBC,aAAKH,CAAG,EACRI,EAAKC,EAAAC,EAAA,QAAA,CAAA,EACLC,wBAAgB,EAAK,EACrBC,mBAAW,EAAK,EAChBC,oBAAY,EAAK,EACjBC,mBAAW,EAAK,EAChBC,mBAAoB,EAAK,EACzBC,EAAQP,EAAAC,EAAA,WAAA,CAAA,EACRO,EAAMR,EAAAC,EAAA,SAAA,CAAA,2CATC,WAAU,yCACZN,EAAG,8GAEQ,GAAK,qDACV,GAAK,uDACJ,GAAK,qDACN,GAAK,mDACI,GAAK,4QAsBbG,GAAE,MAA8BC,GAAK,oBAD9CA,EAAK,GAAAU,EAAAC,CAAA,4GATMN,GAAS,yFADLA,EAAS,GAAA,sFAP/B,+KAjCYO"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../src/components/checkbox/Checkbox.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-checkbox',\n props: {\n checked: { reflect: true, type: 'Boolean', attribute: 'checked' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A checkbox is an interactive component used to select or deselect an option, typically within a list of choices. It allows users to make multiple selections independently and is often accompanied by a label for clarity. Checkboxes are commonly used in forms, filters, settings, and preference selections to provide a simple and intuitive way to enable or disable specific options.\n */\n interface Props {\n /**\n * A unique identifier for the checkbox, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the checkbox element, typically used for form submission.\n */\n name?: string;\n /**\n * The text label displayed next to the checkbox.\n */\n label?: string;\n /**\n * The checkbox's checked state.\n */\n checked?: boolean;\n /**\n * Sets the checkbox to an indeterminate state (partially selected).\n */\n indeterminate?: boolean;\n /**\n * If `true`, applies an invalid state to the checkbox.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the checkbox, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, indent the checkbox.\n */\n indented?: boolean;\n }\n\n let {\n id,\n name,\n label,\n checked = $bindable(false),\n indeterminate,\n disabled,\n isinvalid,\n indented,\n }: Props = $props();\n</script>\n\n<div class={['mc-checkbox', indented && 'mc-checkbox--indented']}>\n <input\n {id}\n type=\"checkbox\"\n class={['mc-checkbox__input', isinvalid && 'is-invalid']}\n aria-invalid={isinvalid}\n {name}\n {disabled}\n {indeterminate}\n bind:checked\n />\n {#if label}\n <label for={id} class=\"mc-checkbox__label\">{label}</label>\n {/if}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/checkbox';\n @use '@mozaic-ds/styles/components/field';\n</style>\n"],"names":["id","$.prop","$$props","name","label","checked","indeterminate","disabled","isinvalid","indented","$$render","consequent","customElementForwardEvents"],"mappings":";;;;;;;;0DAAA,oBAmDIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJE,EAAKH,EAAAC,EAAA,QAAA,CAAA,EACLG,mBAAoB,EAAK,EACzBC,EAAaL,EAAAC,EAAA,gBAAA,CAAA,EACbK,EAAQN,EAAAC,EAAA,WAAA,CAAA,EACRM,EAASP,EAAAC,EAAA,YAAA,CAAA,EACTO,EAAQR,EAAAC,EAAA,WAAA,CAAA,sLAJY,GAAK,gUAoBbF,GAAE,MAA8BI,GAAK,oBAD9CA,EAAK,GAAAM,EAAAC,CAAA,gCAXC,cAAeF,KAAY,uBAAuB,CAAA,EAAA,eAAA,yBAInD,qBAAsBD,KAAa,YAAY,CAAA,EAAA,eAAA,qBACzCA,GAAS,yEAP3B,wLAtDYI"}
@@ -0,0 +1,70 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render, fireEvent } from '@testing-library/svelte';
3
+ import Checkbox from './Checkbox.svelte';
4
+ describe('m-checkbox component', () => {
5
+ const id = 'test-checkbox';
6
+ const label = 'Accept Terms';
7
+ it('renders with label and unchecked by default', () => {
8
+ const { container, getByLabelText } = render(Checkbox, {
9
+ props: { id, label },
10
+ });
11
+ const checkbox = getByLabelText(label);
12
+ expect(checkbox).toBeTruthy();
13
+ expect(checkbox.type).toBe('checkbox');
14
+ expect(checkbox.checked).toBe(false);
15
+ const labelEl = container.querySelector('label.mc-checkbox__label');
16
+ expect(labelEl).toBeTruthy();
17
+ expect(labelEl?.getAttribute('for')).toBe(id);
18
+ expect(labelEl?.textContent).toBe(label);
19
+ });
20
+ it('renders checked when prop is true', () => {
21
+ const { getByLabelText } = render(Checkbox, {
22
+ props: { id, label, checked: true },
23
+ });
24
+ const checkbox = getByLabelText(label);
25
+ expect(checkbox.checked).toBe(true);
26
+ });
27
+ it('binds checked state and updates on user click', async () => {
28
+ const { getByLabelText } = render(Checkbox, {
29
+ props: { id, label, checked: false },
30
+ });
31
+ const checkbox = getByLabelText(label);
32
+ expect(checkbox.checked).toBe(false);
33
+ await fireEvent.click(checkbox);
34
+ expect(checkbox.checked).toBe(true);
35
+ });
36
+ it('applies "is-invalid" class and aria-invalid when isinvalid=true', () => {
37
+ const { container, getByLabelText } = render(Checkbox, {
38
+ props: { id, label, isinvalid: true },
39
+ });
40
+ const checkbox = getByLabelText(label);
41
+ expect(checkbox).toHaveClass('is-invalid');
42
+ expect(checkbox).toHaveAttribute('aria-invalid', 'true');
43
+ });
44
+ it('renders disabled checkbox when disabled=true', () => {
45
+ const { getByLabelText } = render(Checkbox, {
46
+ props: { id, label, disabled: true },
47
+ });
48
+ const checkbox = getByLabelText(label);
49
+ expect(checkbox.disabled).toBe(true);
50
+ });
51
+ it('renders indeterminate state when indeterminate=true', () => {
52
+ const { getByLabelText } = render(Checkbox, {
53
+ props: { id, label, indeterminate: true },
54
+ });
55
+ const checkbox = getByLabelText(label);
56
+ expect(checkbox.indeterminate).toBe(true);
57
+ });
58
+ it('applies indented class when indented=true', () => {
59
+ const { container } = render(Checkbox, {
60
+ props: { id, indented: true },
61
+ });
62
+ const wrapper = container.querySelector('div.mc-checkbox');
63
+ expect(wrapper).toHaveClass('mc-checkbox--indented');
64
+ });
65
+ it('does not render label element if label prop is missing', () => {
66
+ const { container } = render(Checkbox, { props: { id } });
67
+ const labelEl = container.querySelector('label.mc-checkbox__label');
68
+ expect(labelEl).toBeNull();
69
+ });
70
+ });
@@ -1,17 +1,12 @@
1
- import type { Meta } from '@storybook/html-vite';
2
- /**
3
- * Checkboxes are used to select one or multiple options in a list.
4
- * They usually find their place in forms and are also used to accept terms.
5
- *
6
- * The `MCheckbox` component is the **Svelte / WebComponent** implementation of the **Checkbox** component of Mozaic Design System.
7
- * The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/components/form/checkbox/).
8
- */
9
- declare const _default: Meta;
10
- export default _default;
11
- export declare const Default: any;
12
- export declare const Checked: any;
13
- export declare const Indeterminate: any;
14
- export declare const Disabled: any;
15
- export declare const Invalid: any;
16
- export declare const Required: any;
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const Default: Story;
6
+ export declare const Checked: Story;
7
+ export declare const Indeterminate: Story;
8
+ export declare const Disabled: Story;
9
+ export declare const Invalid: Story;
10
+ export declare const IndeterminateDisabled: Story;
11
+ export declare const CheckedDisabled: Story;
17
12
  //# sourceMappingURL=Checkbox.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,sBAAsB,CAAC;AAG1D;;;;;;GAMG;wBAqDE,IAAI;AAnDT,wBAmDU;AAmBV,eAAO,MAAM,OAAO,KAAoB,CAAC;AASzC,eAAO,MAAM,OAAO,KAAoB,CAAC;AAUzC,eAAO,MAAM,aAAa,KAAoB,CAAC;AAU/C,eAAO,MAAM,QAAQ,KAAoB,CAAC;AAU1C,eAAO,MAAM,OAAO,KAAoB,CAAC;AAUzC,eAAO,MAAM,QAAQ,KAAoB,CAAC"}
1
+ {"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IAkCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAMnC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC"}
@@ -1,134 +1,77 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
1
3
  import { action } from 'storybook/actions';
2
- import { expect, userEvent } from 'storybook/test';
3
- /**
4
- * Checkboxes are used to select one or multiple options in a list.
5
- * They usually find their place in forms and are also used to accept terms.
6
- *
7
- * The `MCheckbox` component is the **Svelte / WebComponent** implementation of the **Checkbox** component of Mozaic Design System.
8
- * The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/components/form/checkbox/).
9
- */
10
- export default {
4
+ const meta = {
11
5
  title: 'Form Elements/Checkbox',
12
- tags: ['autodocs', 'beta'],
13
- argTypes: {
14
- label: {
15
- description: 'Specify the label of the checkbox',
16
- control: 'text',
17
- },
18
- name: {
19
- description: 'Specify the name of the checkbox',
20
- control: 'text',
21
- },
22
- id: {
23
- description: 'Specify the id of the checkbox',
24
- control: 'text',
25
- },
26
- checked: {
27
- description: 'Determine whether the checkbox is checked',
28
- control: 'boolean',
29
- },
30
- indeterminate: {
31
- description: 'Determine whether the checkbox is indeterminate',
32
- control: 'boolean',
33
- },
34
- disabled: {
35
- description: 'Determine whether the checkbox is disabled',
36
- control: 'boolean',
37
- },
38
- isinvalid: {
39
- description: 'Determine whether the checkbox is invalid',
40
- control: 'boolean',
41
- },
42
- required: {
43
- description: 'Determine whether the checkbox is required',
44
- control: 'boolean',
45
- },
46
- onChange: {
47
- description: 'Event that occurs when the checkbox state changes',
48
- action: 'change',
49
- table: {
50
- category: 'Events',
51
- },
52
- },
53
- onBlur: {
54
- description: 'Event that occurs when the checkbox state is blurred',
55
- action: 'blur',
56
- table: {
57
- category: 'Events',
58
- },
59
- },
6
+ component: 'm-checkbox',
7
+ args: {
8
+ label: 'Label',
9
+ id: 'checkboxId',
10
+ },
11
+ render: (args) => {
12
+ const onChange = action('change');
13
+ const onFocus = action('focus');
14
+ const onBlur = action('blur');
15
+ return html `
16
+ <m-checkbox
17
+ id=${ifDefined(args.id)}
18
+ name=${ifDefined(args.name)}
19
+ label=${ifDefined(args.label)}
20
+ checked=${ifDefined(args.checked)}
21
+ indeterminate=${ifDefined(args.indeterminate)}
22
+ isinvalid=${ifDefined(args.isinvalid)}
23
+ disabled=${ifDefined(args.disabled)}
24
+ indented=${ifDefined(args.indented)}
25
+ @change=${(event) => {
26
+ onChange(event);
27
+ }}
28
+ @focus=${(event) => {
29
+ onFocus(event);
30
+ }}
31
+ @blur=${(event) => {
32
+ onBlur(event);
33
+ }}
34
+ ></m-checkbox>
35
+ `;
60
36
  },
61
37
  };
62
- const Template = (args) => {
63
- const checkbox = document.createElement('m-checkbox');
64
- checkbox.setAttribute('name', args.name || 'checkbox');
65
- checkbox.setAttribute('label', args.label || 'Checkbox label');
66
- if (args.id)
67
- checkbox.setAttribute('id', args.id);
68
- if (args.checked)
69
- checkbox.setAttribute('checked', 'true');
70
- if (args.indeterminate)
71
- checkbox.setAttribute('indeterminate', 'true');
72
- if (args.disabled)
73
- checkbox.setAttribute('disabled', 'true');
74
- if (args.isinvalid)
75
- checkbox.setAttribute('isinvalid', 'true');
76
- if (args.required)
77
- checkbox.setAttribute('required', 'true');
78
- checkbox.addEventListener('change', action('onChange'));
79
- checkbox.addEventListener('blur', action('onBlur'));
80
- return checkbox;
81
- };
82
- export const Default = Template.bind({});
83
- Default.play = async ({ canvasElement }) => {
84
- const checkbox = canvasElement.querySelector('m-checkbox');
85
- const input = checkbox?.shadowRoot?.querySelector('input');
86
- expect(checkbox).not.toBeNull();
87
- await userEvent.click(input);
88
- expect(input).toBeChecked();
89
- };
90
- export const Checked = Template.bind({});
91
- Checked.args = {
92
- checked: true,
93
- };
94
- Checked.play = async ({ canvasElement }) => {
95
- const checkbox = canvasElement.querySelector('m-checkbox');
96
- const input = checkbox?.shadowRoot?.querySelector('input');
97
- expect(input).toBeChecked();
98
- };
99
- export const Indeterminate = Template.bind({});
100
- Indeterminate.args = {
101
- indeterminate: true,
102
- };
103
- Indeterminate.play = async ({ canvasElement }) => {
104
- const checkbox = canvasElement.querySelector('m-checkbox');
105
- const input = checkbox?.shadowRoot?.querySelector('input');
106
- expect(input?.indeterminate).toBeTruthy();
107
- };
108
- export const Disabled = Template.bind({});
109
- Disabled.args = {
110
- disabled: true,
38
+ export default meta;
39
+ export const Default = {};
40
+ export const Checked = {
41
+ args: {
42
+ checked: true,
43
+ id: 'checkedId',
44
+ },
111
45
  };
112
- Disabled.play = async ({ canvasElement }) => {
113
- const checkbox = canvasElement.querySelector('m-checkbox');
114
- const input = checkbox?.shadowRoot?.querySelector('input');
115
- expect(input).toBeDisabled();
46
+ export const Indeterminate = {
47
+ args: {
48
+ indeterminate: true,
49
+ id: 'IndeterminateId',
50
+ },
116
51
  };
117
- export const Invalid = Template.bind({});
118
- Invalid.args = {
119
- isinvalid: true,
52
+ export const Disabled = {
53
+ args: {
54
+ disabled: true,
55
+ id: 'disabledId',
56
+ },
120
57
  };
121
- Invalid.play = async ({ canvasElement }) => {
122
- const checkbox = canvasElement.querySelector('m-checkbox');
123
- const input = checkbox?.shadowRoot?.querySelector('input');
124
- expect(input).toHaveAttribute('aria-invalid', 'true');
58
+ export const Invalid = {
59
+ args: {
60
+ isinvalid: true,
61
+ id: 'invalidId',
62
+ },
125
63
  };
126
- export const Required = Template.bind({});
127
- Required.args = {
128
- required: true,
64
+ export const IndeterminateDisabled = {
65
+ args: {
66
+ indeterminate: true,
67
+ disabled: true,
68
+ id: 'checkedIndeterminateId',
69
+ },
129
70
  };
130
- Required.play = async ({ canvasElement }) => {
131
- const checkbox = canvasElement.querySelector('m-checkbox');
132
- const input = checkbox?.shadowRoot?.querySelector('input');
133
- expect(input).toHaveAttribute('required');
71
+ export const CheckedDisabled = {
72
+ args: {
73
+ checked: true,
74
+ disabled: true,
75
+ id: 'checkedDisabledId',
76
+ },
134
77
  };
@@ -1,55 +1,75 @@
1
1
  <svelte:options
2
2
  customElement={{
3
3
  tag: 'm-checkbox',
4
+ props: {
5
+ checked: { reflect: true, type: 'Boolean', attribute: 'checked' },
6
+ },
4
7
  extend: customElementForwardEvents,
5
8
  }}
6
9
  />
7
10
 
8
11
  <script lang="ts">
9
12
  import { customElementForwardEvents } from '../../utils';
10
-
13
+ /**
14
+ * A checkbox is an interactive component used to select or deselect an option, typically within a list of choices. It allows users to make multiple selections independently and is often accompanied by a label for clarity. Checkboxes are commonly used in forms, filters, settings, and preference selections to provide a simple and intuitive way to enable or disable specific options.
15
+ */
11
16
  interface Props {
12
- name: string;
17
+ /**
18
+ * A unique identifier for the checkbox, used to associate the label with the form element.
19
+ */
20
+ id: string;
21
+ /**
22
+ * The name attribute for the checkbox element, typically used for form submission.
23
+ */
24
+ name?: string;
25
+ /**
26
+ * The text label displayed next to the checkbox.
27
+ */
13
28
  label?: string;
14
- id?: string;
29
+ /**
30
+ * The checkbox's checked state.
31
+ */
15
32
  checked?: boolean;
33
+ /**
34
+ * Sets the checkbox to an indeterminate state (partially selected).
35
+ */
16
36
  indeterminate?: boolean;
17
- disabled?: boolean;
37
+ /**
38
+ * If `true`, applies an invalid state to the checkbox.
39
+ */
18
40
  isinvalid?: boolean;
19
- required?: boolean;
20
- onchange?: (event: Event) => void;
21
- onblur?: (event: FocusEvent) => void;
41
+ /**
42
+ * If `true`, disables the checkbox, making it non-interactive.
43
+ */
44
+ disabled?: boolean;
45
+ /**
46
+ * If `true`, indent the checkbox.
47
+ */
48
+ indented?: boolean;
22
49
  }
23
50
 
24
- const uid = $props.id();
25
51
  let {
26
- name = 'checkbox',
27
- id = uid,
52
+ id,
53
+ name,
28
54
  label,
29
- indeterminate = false,
30
- disabled = false,
31
- isinvalid = false,
32
- required = false,
33
55
  checked = $bindable(false),
34
- onchange,
35
- onblur,
56
+ indeterminate,
57
+ disabled,
58
+ isinvalid,
59
+ indented,
36
60
  }: Props = $props();
37
61
  </script>
38
62
 
39
- <div class="mc-checkbox">
63
+ <div class={['mc-checkbox', indented && 'mc-checkbox--indented']}>
40
64
  <input
41
65
  {id}
42
66
  type="checkbox"
43
- class="mc-checkbox__input"
44
- class:is-invalid={isinvalid}
67
+ class={['mc-checkbox__input', isinvalid && 'is-invalid']}
45
68
  aria-invalid={isinvalid}
46
69
  {name}
47
70
  {disabled}
48
71
  {indeterminate}
49
- {required}
50
72
  bind:checked
51
- {onchange}
52
- {onblur}
53
73
  />
54
74
  {#if label}
55
75
  <label for={id} class="mc-checkbox__label">{label}</label>
@@ -1,14 +1,39 @@
1
+ /**
2
+ * A checkbox is an interactive component used to select or deselect an option, typically within a list of choices. It allows users to make multiple selections independently and is often accompanied by a label for clarity. Checkboxes are commonly used in forms, filters, settings, and preference selections to provide a simple and intuitive way to enable or disable specific options.
3
+ */
1
4
  interface Props {
2
- name: string;
5
+ /**
6
+ * A unique identifier for the checkbox, used to associate the label with the form element.
7
+ */
8
+ id: string;
9
+ /**
10
+ * The name attribute for the checkbox element, typically used for form submission.
11
+ */
12
+ name?: string;
13
+ /**
14
+ * The text label displayed next to the checkbox.
15
+ */
3
16
  label?: string;
4
- id?: string;
17
+ /**
18
+ * The checkbox's checked state.
19
+ */
5
20
  checked?: boolean;
21
+ /**
22
+ * Sets the checkbox to an indeterminate state (partially selected).
23
+ */
6
24
  indeterminate?: boolean;
7
- disabled?: boolean;
25
+ /**
26
+ * If `true`, applies an invalid state to the checkbox.
27
+ */
8
28
  isinvalid?: boolean;
9
- required?: boolean;
10
- onchange?: (event: Event) => void;
11
- onblur?: (event: FocusEvent) => void;
29
+ /**
30
+ * If `true`, disables the checkbox, making it non-interactive.
31
+ */
32
+ disabled?: boolean;
33
+ /**
34
+ * If `true`, indent the checkbox.
35
+ */
36
+ indented?: boolean;
12
37
  }
13
38
  declare const Checkbox: import("svelte").Component<Props, {}, "checked">;
14
39
  type Checkbox = ReturnType<typeof Checkbox>;