@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
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.svelte.ts"],"names":[],"mappings":"AAME,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACtC;AAoCH,QAAA,MAAM,QAAQ,kDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Checkbox.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/checkbox/Checkbox.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoCH,QAAA,MAAM,QAAQ,kDAAwC,CAAC;AACvD,KAAK,QAAQ,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC;AAC5C,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,17 @@
1
+ # `m-checkbox`
2
+
3
+ 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.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `id*` | A unique identifier for the checkbox, used to associate the label with the form element. | `string` | |
10
+ | `name` | The name attribute for the checkbox element, typically used for form submission. | `string` | |
11
+ | `label` | The text label displayed next to the checkbox. | `string` | |
12
+ | `checked` | The checkbox's checked state. | `boolean` | `$bindable(false)` |
13
+ | `indeterminate` | Sets the checkbox to an indeterminate state (partially selected). | `boolean` | |
14
+ | `isinvalid` | If `true`, applies an invalid state to the checkbox. | `boolean` | |
15
+ | `disabled` | If `true`, disables the checkbox, making it non-interactive. | `boolean` | |
16
+ | `indented` | If `true`, indent the checkbox. | `boolean` | |
17
+
@@ -1,10 +1,10 @@
1
- import{$ as K,a9 as N,c as P,k as Q,p as R,a as T,b as m,l as U,f as E,s as A,d as b,t as x,h as w,i as V,j as u,r as d,g as D,m as r,e as W}from"../../custom-element.js";import{i as F}from"../../if.js";import{e as X}from"../../each.js";import{s as f,r as Y}from"../../attributes.js";import{b as Z}from"../../input.js";import{c as $}from"../../custom-element-forward-events.js";function ee(v,t,i,y,n){var s=()=>{y(i[v])};i.addEventListener(t,s),n?K(()=>{i[v]=n()}):s(),(i===document.body||i===window||i===document)&&N(()=>{i.removeEventListener(t,s)})}var ae=E('<legend class="mc-field__legend svelte-11asba7"> </legend>'),re=E('<label class="mc-checkbox__label svelte-11asba7"> </label>'),oe=E('<div class="mc-checkbox mc-field__item svelte-11asba7"><input type="checkbox"/> <!></div>'),ie=E('<div class="checkbox-group-container"><fieldset class="mc-field mc-field--group svelte-11asba7"><!> <div class="mc-field__container"></div></fieldset></div>');const te={hash:"svelte-11asba7",code:`/**
1
+ import{c as A,p as D,a as F,b as o,l as G,f as k,t as _,i as g,j as S,k as s,r as p,e as E,g as y,d as C,s as q,m as t,h as I}from"../../custom-element.js";import{i as J}from"../../if.js";import{e as K,i as L}from"../../each.js";import{r as N,s as m}from"../../attributes.js";import{b as O}from"../../input.js";import{c as P}from"../../custom-element-forward-events.js";var Q=k('<label class="mc-checkbox__label svelte-11asba7"> </label>'),R=k('<div class="mc-checkbox mc-field__item svelte-11asba7"><input type="checkbox"/> <!></div>'),T=k("<div></div>");const U={hash:"svelte-11asba7",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */
4
4
  /* stylelint-disable string-no-newline */.mc-checkbox.svelte-11asba7 {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-checkbox__label.svelte-11asba7 {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-11asba7 {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-11asba7:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-checkbox__input.svelte-11asba7: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-11asba7: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-11asba7: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-11asba7:checked, .mc-checkbox__input.svelte-11asba7:indeterminate {background-color:var(--forms-color-background-checked, #117f03);background-size:1rem 1rem;background-position:center;}.mc-checkbox__input.svelte-11asba7:checked, .mc-checkbox__input.svelte-11asba7:indeterminate, .mc-checkbox__input.svelte-11asba7:disabled {border-color:transparent;}.mc-checkbox__input.svelte-11asba7:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-checkbox__input.svelte-11asba7: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-11asba7: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-11asba7:disabled + .mc-checkbox__label:where(.svelte-11asba7) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-checkbox__input.svelte-11asba7:not(:disabled):checked:hover, .mc-checkbox__input.svelte-11asba7:not(:disabled):indeterminate:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-checkbox__input.is-invalid.svelte-11asba7:not(:checked, :indeterminate) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-checkbox__input.is-invalid.svelte-11asba7:not(:checked, :indeterminate):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}
5
5
 
6
6
  /* stylelint-enable string-no-newline */
7
- /* stylelint-disable string-no-newline */ .mc-field__legend.svelte-11asba7 {font-size:var(--font-size-100, 0.875rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-regular, 400);color:var(--field-color-label, #000000);}.mc-field__legend.svelte-11asba7 {padding-inline:0;}.mc-field--group.svelte-11asba7 {border-width:0;margin-inline:0;padding:0;}
7
+ /* stylelint-disable string-no-newline */.mc-field__content.svelte-11asba7 {margin-top:0.5rem;}
8
8
 
9
- /* stylelint-enable string-no-newline */`};function se(v,t){const i=Q();R(t,!0),T(v,te);const y=[];let n=m(t,"name",7),s=m(t,"id",7,i),h=m(t,"options",7),g=m(t,"legend",7),_=m(t,"values",31,()=>U([]));function C(e){var a;return((a=h()[e])==null?void 0:a.id)??`${s()}-${e}`}var G={get name(){return n()},set name(e){n(e),u()},get id(){return s()},set id(e=i){s(e),u()},get options(){return h()},set options(e){h(e),u()},get legend(){return g()},set legend(e){g(e),u()},get values(){return _()},set values(e=[]){_(e),u()}},p=ie(),B=b(p),M=b(B);{var I=e=>{var a=ae(),k=b(a,!0);d(a),x(()=>D(k,g())),w(e,a)};F(M,e=>{g()&&e(I)})}var H=A(M,2);return X(H,23,h,(e,a)=>C(a),(e,a,k)=>{var z=oe(),o=b(z);Y(o);let L;var j,O=A(o,2);{var S=l=>{var c=re(),q=b(c,!0);d(c),x(J=>{f(c,"for",J),D(q,r(a).label)},[()=>C(r(k))]),w(l,c)};F(O,l=>{r(a).label&&l(S)})}d(z),x((l,c)=>{L=W(o,1,"mc-checkbox__input svelte-11asba7",null,L,l),f(o,"id",c),f(o,"name",n()),o.disabled=r(a).disabled,f(o,"aria-invalid",r(a).isinvalid),j!==(j=r(a).value)&&(o.value=(o.__value=r(a).value)??"")},[()=>({"is-invalid":r(a).isinvalid}),()=>C(r(k))]),ee("indeterminate","change",o,l=>r(a).indeterminate=l,()=>r(a).indeterminate),Z(y,[],o,()=>(r(a).value,_()),_),w(e,z)}),d(H),d(B),d(p),x(()=>f(p,"id",s())),w(v,p),V(G)}customElements.define("m-checkbox-group",P(se,{options:{attribute:"options",reflect:!0,type:"Array"},name:{},id:{},legend:{},values:{}},[],[],!0,$));
9
+ /* stylelint-enable string-no-newline */.mc-field__content.svelte-11asba7:where(.mc-field__content--inline:where(.svelte-11asba7)) {display:flex;flex-flow:row wrap;gap:0.25rem 1rem;}`};function V(x,i){D(i,!0),F(x,U);const z=[];let v=o(i,"name",7),b=o(i,"options",7),l=o(i,"value",31,()=>G([])),u=o(i,"inline",7),n=o(i,"isinvalid",7);var B={get name(){return v()},set name(e){v(e),s()},get options(){return b()},set options(e){b(e),s()},get value(){return l()},set value(e=[]){l(e),s()},get inline(){return u()},set inline(e){u(e),s()},get isinvalid(){return n()},set isinvalid(e){n(e),s()}},c=T();return K(c,21,b,L,(e,r)=>{var h=R(),a=C(h);N(a);var w,M=q(a,2);{var H=f=>{var d=Q(),j=C(d,!0);p(d),_(()=>{m(d,"for",t(r).id),I(j,t(r).label)}),g(f,d)};J(M,f=>{t(r).label&&f(H)})}p(h),_(()=>{E(a,1,y(["mc-checkbox__input",n()&&"is-invalid"]),"svelte-11asba7"),m(a,"id",t(r).id),m(a,"name",v()),a.disabled=t(r).disabled,a.indeterminate=t(r).indeterminate,m(a,"aria-invalid",n()),w!==(w=t(r).value)&&(a.value=(a.__value=t(r).value)??"")}),O(z,[],a,()=>(t(r).value,l()),l),g(e,h)}),p(c),_(()=>E(c,1,y(["mc-field__content",u()&&"mc-field__content--inline"]),"svelte-11asba7")),g(x,c),S(B)}customElements.define("m-checkbox-group",A(V,{options:{attribute:"options",reflect:!0,type:"Array"},name:{},value:{},inline:{},isinvalid:{}},[],[],!0,P));
10
10
  //# sourceMappingURL=CheckboxGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.js","sources":["../../../node_modules/svelte/src/internal/client/dom/elements/bindings/universal.js","../../../src/components/checkboxgroup/CheckboxGroup.svelte"],"sourcesContent":["import { render_effect, teardown } from '../../../reactivity/effects.js';\nimport { listen } from './shared.js';\n\n/**\n * @param {'innerHTML' | 'textContent' | 'innerText'} property\n * @param {HTMLElement} element\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_content_editable(property, element, get, set = get) {\n\telement.addEventListener('input', () => {\n\t\t// @ts-ignore\n\t\tset(element[property]);\n\t});\n\n\trender_effect(() => {\n\t\tvar value = get();\n\n\t\tif (element[property] !== value) {\n\t\t\tif (value == null) {\n\t\t\t\t// @ts-ignore\n\t\t\t\tvar non_null_value = element[property];\n\t\t\t\tset(non_null_value);\n\t\t\t} else {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[property] = value + '';\n\t\t\t}\n\t\t}\n\t});\n}\n\n/**\n * @param {string} property\n * @param {string} event_name\n * @param {Element} element\n * @param {(value: unknown) => void} set\n * @param {() => unknown} [get]\n * @returns {void}\n */\nexport function bind_property(property, event_name, element, set, get) {\n\tvar handler = () => {\n\t\t// @ts-ignore\n\t\tset(element[property]);\n\t};\n\n\telement.addEventListener(event_name, handler);\n\n\tif (get) {\n\t\trender_effect(() => {\n\t\t\t// @ts-ignore\n\t\t\telement[property] = get();\n\t\t});\n\t} else {\n\t\thandler();\n\t}\n\n\t// @ts-ignore\n\tif (element === document.body || element === window || element === document) {\n\t\tteardown(() => {\n\t\t\telement.removeEventListener(event_name, handler);\n\t\t});\n\t}\n}\n\n/**\n * @param {HTMLElement} element\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_focused(element, set) {\n\tlisten(element, ['focus', 'blur'], () => {\n\t\tset(element === document.activeElement);\n\t});\n}\n","<svelte:options\n customElement={{\n tag: 'm-checkbox-group',\n props: {\n options: { reflect: true, type: 'Array', attribute: 'options' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import type { CheckboxGroupOption } from './checkboxgroup.types';\n import { customElementForwardEvents } from '../../utils';\n\n interface Props {\n options: Array<CheckboxGroupOption>;\n name: string;\n id?: string;\n legend?: string;\n values?: Array<string | number>;\n }\n\n const uid = $props.id();\n let {\n name,\n id = uid,\n options,\n legend,\n values = $bindable([]),\n }: Props = $props();\n\n function getOptionId(index: number): string {\n return options[index]?.id ?? `${id}-${index}`;\n }\n</script>\n\n<div class=\"checkbox-group-container\" {id}>\n <fieldset class=\"mc-field mc-field--group\">\n {#if legend}\n <legend class=\"mc-field__legend\">\n {legend}\n </legend>\n {/if}\n <div class=\"mc-field__container\">\n {#each options as opt, index (getOptionId(index))}\n <div class=\"mc-checkbox mc-field__item\">\n <input\n type=\"checkbox\"\n class=\"mc-checkbox__input\"\n class:is-invalid={opt.isinvalid}\n id={getOptionId(index)}\n {name}\n disabled={opt.disabled}\n bind:indeterminate={opt.indeterminate}\n aria-invalid={opt.isinvalid}\n bind:group={values}\n value={opt.value}\n />\n {#if opt.label}\n <label for={getOptionId(index)} class=\"mc-checkbox__label\"\n >{opt.label}</label\n >\n {/if}\n </div>\n {/each}\n </div>\n </fieldset>\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":["bind_property","property","event_name","element","set","get","handler","render_effect","teardown","uid","$.props_id","name","$.prop","$$props","id","options","legend","values","$.proxy","getOptionId","index","_a","$$render","consequent","$.each","div_1","opt","$.set_text","text_1","$.get","consequent_1","input","$.set_attribute","input_value","$.bind_property","$$value","customElementForwardEvents"],"mappings":"0XAwCO,SAASA,GAAcC,EAAUC,EAAYC,EAASC,EAAKC,EAAK,CACtE,IAAIC,EAAU,IAAM,CAEnBF,EAAID,EAAQF,CAAQ,CAAC,CACtB,EAEAE,EAAQ,iBAAiBD,EAAYI,CAAO,EAExCD,EACHE,EAAc,IAAM,CAEnBJ,EAAQF,CAAQ,EAAII,EAAG,CACxB,CAAC,EAEDC,EAAO,GAIJH,IAAY,SAAS,MAAQA,IAAY,QAAUA,IAAY,WAClEK,EAAS,IAAM,CACdL,EAAQ,oBAAoBD,EAAYI,CAAO,CAChD,CAAC,CAEH;;;;;;;;2DC/DA,OAsBQG,EAAGC,EAAA,iCAEPC,EAAIC,EAAAC,EAAA,OAAA,CAAA,EACJC,aAAKL,CAAG,EACRM,EAAOH,EAAAC,EAAA,UAAA,CAAA,EACPG,EAAMJ,EAAAC,EAAA,SAAA,CAAA,EACNI,EAAML,EAAAC,EAAA,SAAA,GAAA,IAAAK,EAAA,CAAA,CAAA,CAAA,WAGCC,EAAYC,EAAuB,OACnC,QAAAC,EAAAN,EAAO,EAACK,CAAK,IAAb,YAAAC,EAAgB,KAAE,GAAOP,EAAE,KAAIM,CAAK,EAC7C,mFAROX,EAAG,wOAeHO,EAAM,CAAA,CAAA,kBAFNA,EAAM,GAAAM,EAAAC,CAAA,iBAMFC,OAAAA,EAAAC,EAAA,GAAAV,GAAWW,EAAGN,IAASD,EAAYC,CAAK,KAA7BM,EAAGN,IAAA,qGAgBXO,EAAAC,EAAAC,EAAAH,CAAG,EAAC,KAAK,GADD,CAAA,IAAAP,IAAYC,CAAK,CAAA,CAAA,mBAD1BS,EAAAH,CAAG,EAAC,OAAKJ,EAAAQ,CAAA,qGANFC,EAAA,SAAAF,EAAAH,CAAG,EAAC,SAEAM,EAAAD,EAAA,eAAAF,EAAAH,CAAG,EAAC,SAAS,EAEpBO,KAAAA,EAAAJ,EAAAH,CAAG,EAAC,SAAJK,EAAA,OAAAA,EAAA,QAAAF,EAAAH,CAAG,EAAC,QAAK,MAPE,KAAA,CAAA,aAAAG,EAAAH,CAAG,EAAC,SAAS,GAC3B,IAAAP,IAAYC,CAAK,CAAA,IAGDc,GAAA,gBAAA,SAAAH,EAAAI,GAAAN,EAAAH,CAAG,EAAC,cAAaS,EAAA,IAAAN,EAAjBH,CAAG,EAAC,aAAa,gBAG9BG,EAAAH,CAAG,EAAC,MADCT,EAAM,GAANA,2DArBxB,kJA5BYmB","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"CheckboxGroup.js","sources":["../../../src/components/checkboxgroup/CheckboxGroup.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-checkbox-group',\n props: {\n options: { reflect: true, type: 'Array', attribute: 'options' },\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. <br><br> To put a label, requierement text, help text or to apply a valid or invalid message, the examples are available in the [Field section](/docs/form-elements-field--docs#input).\n */\n interface Props {\n /**\n * The name attribute for the checkbox element, typically used for form submission.\n */\n name: string;\n /**\n * The current value of the checkbox group.\n */\n value?: Array<string>;\n /**\n * list of properties of each checkbox button of the checkbox group\n */\n options: Array<{\n id: string;\n label: string;\n value: string;\n disabled?: boolean;\n indeterminate?: boolean;\n indented?: boolean;\n }>;\n /**\n * If `true`, applies an invalid state to the checkbox group.\n */\n isinvalid?: boolean;\n /**\n * If `true`, make the form element of the group inline.\n */\n inline?: boolean;\n }\n\n let {\n name,\n options,\n value = $bindable([]),\n inline,\n isinvalid,\n }: Props = $props();\n</script>\n\n<div class={['mc-field__content', inline && 'mc-field__content--inline']}>\n {#each options as option}\n <div class=\"mc-checkbox mc-field__item\">\n <input\n type=\"checkbox\"\n class={['mc-checkbox__input', isinvalid && 'is-invalid']}\n id={option.id}\n {name}\n disabled={option.disabled}\n indeterminate={option.indeterminate}\n aria-invalid={isinvalid}\n bind:group={value}\n value={option.value}\n />\n {#if option.label}\n <label for={option.id} class=\"mc-checkbox__label\">{option.label}</label>\n {/if}\n </div>\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/checkbox';\n @use '@mozaic-ds/styles/components/field';\n\n .mc-field__content:where(.mc-field__content--inline) {\n display: flex;\n flex-flow: row wrap;\n gap: 0.25rem 1rem;\n }\n</style>\n"],"names":["name","$.prop","$$props","options","value","$.proxy","inline","isinvalid","$.each","div","option","$.set_attribute","label","$.get","$.set_text","text","$$render","consequent","input","input_value","customElementForwardEvents"],"mappings":";;;;;;;;wMAAA,+BA8CIA,EAAIC,EAAAC,EAAA,OAAA,CAAA,EACJC,EAAOF,EAAAC,EAAA,UAAA,CAAA,EACPE,EAAKH,EAAAC,EAAA,QAAA,GAAA,IAAAG,EAAA,CAAA,CAAA,CAAA,EACLC,EAAML,EAAAC,EAAA,SAAA,CAAA,EACNK,EAASN,EAAAC,EAAA,YAAA,CAAA,0QAKJM,OAAAA,EAAAC,EAAA,GAAAN,OAAWO,IAAM,iFAcNC,EAAAC,EAAA,MAAAC,EAAAH,CAAM,EAAC,EAAE,EAA8BI,EAAAC,EAAAF,EAAAH,CAAM,EAAC,KAAK,oBAD5DG,EAAAH,CAAM,EAAC,OAAKM,EAAAC,CAAA,yBATP,qBAAsBV,KAAa,YAAY,CAAA,EAAA,gBAAA,EACnDI,EAAAO,EAAA,KAAAL,EAAAH,CAAM,EAAC,EAAE,kBAEHQ,EAAA,SAAAL,EAAAH,CAAM,EAAC,SACFQ,EAAA,cAAAL,EAAAH,CAAM,EAAC,iCACRH,GAAS,EAEhBY,KAAAA,EAAAN,EAAAH,CAAM,EAAC,SAAPQ,EAAA,OAAAA,EAAA,QAAAL,EAAAH,CAAM,EAAC,QAAK,oBAAZG,EAAAH,CAAM,EAAC,MADFN,EAAK,GAALA,gCAXP,oBAAqBE,EAAM,GAAI,2BAA2B,CAAA,EAAA,gBAAA,CAAA,aAFvE,uJA9CYc"}
@@ -0,0 +1,113 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render, fireEvent } from '@testing-library/svelte';
3
+ import CheckboxGroup from './CheckboxGroup.svelte';
4
+ const baseOptions = [
5
+ { id: 'cb1', label: 'Option 1', value: 'opt1' },
6
+ { id: 'cb2', label: 'Option 2', value: 'opt2' },
7
+ { id: 'cb3', label: 'Option 3', value: 'opt3' },
8
+ ];
9
+ describe('m-checkbox-group component', () => {
10
+ it('renders all checkbox options', () => {
11
+ const { getByLabelText } = render(CheckboxGroup, {
12
+ props: {
13
+ name: 'choices',
14
+ options: baseOptions,
15
+ value: [],
16
+ },
17
+ });
18
+ baseOptions.forEach((opt) => {
19
+ const checkbox = getByLabelText(opt.label);
20
+ expect(checkbox).toBeTruthy();
21
+ expect(checkbox.name).toBe('choices');
22
+ expect(checkbox.value).toBe(opt.value);
23
+ expect(checkbox.checked).toBe(false);
24
+ });
25
+ });
26
+ it('pre-selects values from the value prop', () => {
27
+ const { getByLabelText } = render(CheckboxGroup, {
28
+ props: {
29
+ name: 'choices',
30
+ options: baseOptions,
31
+ value: ['opt2'],
32
+ },
33
+ });
34
+ const cb1 = getByLabelText('Option 1');
35
+ const cb2 = getByLabelText('Option 2');
36
+ const cb3 = getByLabelText('Option 3');
37
+ expect(cb1.checked).toBe(false);
38
+ expect(cb2.checked).toBe(true);
39
+ expect(cb3.checked).toBe(false);
40
+ });
41
+ it('updates value when user toggles checkboxes', async () => {
42
+ const { getByLabelText } = render(CheckboxGroup, {
43
+ props: {
44
+ name: 'choices',
45
+ options: baseOptions,
46
+ value: [],
47
+ },
48
+ });
49
+ const cb1 = getByLabelText('Option 1');
50
+ const cb2 = getByLabelText('Option 2');
51
+ await fireEvent.click(cb1);
52
+ expect(cb1.checked).toBe(true);
53
+ await fireEvent.click(cb2);
54
+ expect(cb2.checked).toBe(true);
55
+ await fireEvent.click(cb1);
56
+ expect(cb1.checked).toBe(false);
57
+ });
58
+ it('applies invalid class and aria-invalid when isinvalid=true', () => {
59
+ const { container, getByLabelText } = render(CheckboxGroup, {
60
+ props: {
61
+ name: 'choices',
62
+ options: baseOptions,
63
+ isinvalid: true,
64
+ },
65
+ });
66
+ const inputs = container.querySelectorAll('input[type="checkbox"]');
67
+ inputs.forEach((input) => {
68
+ expect(input).toHaveClass('is-invalid');
69
+ expect(input).toHaveAttribute('aria-invalid', 'true');
70
+ });
71
+ const cb1 = getByLabelText('Option 1');
72
+ expect(cb1).toHaveClass('is-invalid');
73
+ });
74
+ it('applies inline layout when inline=true', () => {
75
+ const { container } = render(CheckboxGroup, {
76
+ props: {
77
+ name: 'choices',
78
+ options: baseOptions,
79
+ inline: true,
80
+ },
81
+ });
82
+ const wrapper = container.querySelector('.mc-field__content');
83
+ expect(wrapper).toHaveClass('mc-field__content--inline');
84
+ });
85
+ it('renders disabled checkboxes properly', () => {
86
+ const disabledOptions = [
87
+ { id: 'cb1', label: 'Option 1', value: 'opt1', disabled: true },
88
+ { id: 'cb2', label: 'Option 2', value: 'opt2' },
89
+ ];
90
+ const { getByLabelText } = render(CheckboxGroup, {
91
+ props: {
92
+ name: 'choices',
93
+ options: disabledOptions,
94
+ },
95
+ });
96
+ const cb1 = getByLabelText('Option 1');
97
+ const cb2 = getByLabelText('Option 2');
98
+ expect(cb1.disabled).toBe(true);
99
+ expect(cb2.disabled).toBe(false);
100
+ });
101
+ it('sets indeterminate checkboxes', () => {
102
+ const { container } = render(CheckboxGroup, {
103
+ props: {
104
+ name: 'choices',
105
+ options: [
106
+ { id: 'cb1', label: 'Option 1', value: 'opt1', indeterminate: true },
107
+ ],
108
+ },
109
+ });
110
+ const input = container.querySelector('input[type="checkbox"]');
111
+ expect(input.indeterminate).toBe(true);
112
+ });
113
+ });
@@ -1,14 +1,6 @@
1
- import type { Meta } from '@storybook/html-vite';
2
- /**
3
- * Checkbox Groups are used to manage multiple checkbox selections within a group.
4
- * They usually find their place in forms and allow users to choose multiple options.
5
- *
6
- * The `MCheckboxGroup` component is the **Svelte / WebComponent** implementation of the **Checkbox group** 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/#checkbox-group).
8
- */
9
- declare const _default: Meta;
10
- export default _default;
11
- export declare const Default: any;
12
- export declare const AllChecked: any;
13
- export declare const SomeDisabled: 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;
14
6
  //# sourceMappingURL=CheckboxGroup.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/components/checkboxgroup/CheckboxGroup.stories.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;;GAMG;wBAuCE,IAAI;AArCT,wBAqCU;AAaV,eAAO,MAAM,OAAO,KAAoB,CAAC;AAiCzC,eAAO,MAAM,UAAU,KAAoB,CAAC;AA+B5C,eAAO,MAAM,YAAY,KAAoB,CAAC"}
1
+ {"version":3,"file":"CheckboxGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/components/checkboxgroup/CheckboxGroup.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IAyDX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,146 +1,62 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
1
3
  import { action } from 'storybook/actions';
2
- import { userEvent, expect } from 'storybook/test';
3
- /**
4
- * Checkbox Groups are used to manage multiple checkbox selections within a group.
5
- * They usually find their place in forms and allow users to choose multiple options.
6
- *
7
- * The `MCheckboxGroup` component is the **Svelte / WebComponent** implementation of the **Checkbox group** 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/#checkbox-group).
9
- */
10
- export default {
4
+ const meta = {
11
5
  title: 'Form Elements/Checkbox Group',
12
- tags: ['autodocs', 'beta'],
13
- argTypes: {
14
- legend: {
15
- description: 'Specify the legend of the group.',
16
- control: { type: 'text' },
17
- },
18
- id: {
19
- description: 'Specify the checkbox group id',
20
- control: { type: 'text' },
21
- },
22
- options: {
23
- description: 'Specify the checkbox options in JSON format. ```{ value: string; id?: string; label?: string; disabled?: boolean; indeterminate?: boolean; isinvalid?: boolean; }[]```',
24
- control: { type: 'object' },
25
- },
26
- values: {
27
- description: 'Specify the select items selected values in checkbox options',
28
- control: { type: 'object' },
29
- },
30
- onChange: {
31
- description: 'Event that occurs when the checkbox state changes',
32
- action: 'change',
33
- table: {
34
- category: 'Events',
6
+ component: 'm-checkbox-group',
7
+ args: {
8
+ name: 'checkboxGroupName',
9
+ value: ['checkbox2'],
10
+ options: [
11
+ {
12
+ id: 'checkbox-01',
13
+ label: 'checkbox Label',
14
+ value: 'checkbox1',
35
15
  },
36
- },
37
- onBlur: {
38
- description: 'Event that occurs when the checkbox group is blurred',
39
- action: 'blur',
40
- table: {
41
- category: 'Events',
16
+ {
17
+ id: 'checkbox-02',
18
+ label: 'checkbox Label',
19
+ value: 'checkbox2',
42
20
  },
43
- },
21
+ {
22
+ id: 'checkbox-03',
23
+ label: 'checkbox Label',
24
+ value: 'checkbox3',
25
+ },
26
+ {
27
+ id: 'checkbox-04',
28
+ label: 'checkbox Label',
29
+ value: 'checkbox4',
30
+ },
31
+ ],
32
+ },
33
+ render: (args) => {
34
+ const onInput = action('input');
35
+ const onChange = action('change');
36
+ const onFocus = action('focus');
37
+ const onBlur = action('blur');
38
+ return html `
39
+ <m-checkbox-group
40
+ name=${ifDefined(args.name)}
41
+ .options=${ifDefined(args.options)}
42
+ value=${ifDefined(args.value)}
43
+ isinvalid=${ifDefined(args.isinvalid)}
44
+ inline=${ifDefined(args.inline)}
45
+ @input=${(event) => {
46
+ onInput(event);
47
+ }}
48
+ @change=${(event) => {
49
+ onChange(event);
50
+ }}
51
+ @focus=${(event) => {
52
+ onFocus(event);
53
+ }}
54
+ @blur=${(event) => {
55
+ onBlur(event);
56
+ }}
57
+ ></m-checkbox-group>
58
+ `;
44
59
  },
45
60
  };
46
- const Template = (args) => {
47
- const checkboxGroup = document.createElement('m-checkbox-group');
48
- checkboxGroup.setAttribute('id', args.id || 'checkbox-group-id');
49
- checkboxGroup.setAttribute('legend', args.legend || 'Checkbox Group Title');
50
- checkboxGroup.setAttribute('options', JSON.stringify(args.options || []));
51
- checkboxGroup.setAttribute('values', JSON.stringify(args.values || []));
52
- checkboxGroup.onchange = action('onChange');
53
- checkboxGroup.onblur = action('onBlur');
54
- return checkboxGroup;
55
- };
56
- export const Default = Template.bind({});
57
- Default.args = {
58
- options: [
59
- {
60
- id: 'option1',
61
- name: 'option1',
62
- label: 'Option 1',
63
- value: 'option1',
64
- },
65
- {
66
- id: 'option2',
67
- name: 'option2',
68
- label: 'Option 2',
69
- value: 'option2',
70
- },
71
- {
72
- id: 'option3',
73
- name: 'option3',
74
- label: 'Option 3',
75
- value: 'option3',
76
- },
77
- ],
78
- values: ['option2'],
79
- };
80
- Default.play = async ({ canvasElement }) => {
81
- const group = canvasElement.querySelector('m-checkbox-group');
82
- const checkboxGroup = group?.shadowRoot?.querySelectorAll('input');
83
- expect(group).not.toBeNull();
84
- expect(checkboxGroup?.length).toBe(3);
85
- await userEvent.click(checkboxGroup[0]);
86
- expect(checkboxGroup?.[0]).toBeChecked();
87
- };
88
- export const AllChecked = Template.bind({});
89
- AllChecked.args = {
90
- options: [
91
- {
92
- id: 'option1',
93
- name: 'option1',
94
- label: 'Option 1',
95
- value: 'option1',
96
- },
97
- {
98
- id: 'option2',
99
- name: 'option2',
100
- label: 'Option 2',
101
- value: 'option2',
102
- },
103
- {
104
- id: 'option3',
105
- name: 'option3',
106
- label: 'Option 3',
107
- value: 'option3',
108
- },
109
- ],
110
- values: ['option1', 'option2', 'option3'],
111
- };
112
- AllChecked.play = async ({ canvasElement }) => {
113
- const group = canvasElement.querySelector('m-checkbox-group');
114
- const checkboxGroup = group?.shadowRoot?.querySelectorAll('input');
115
- expect(checkboxGroup?.length).toBe(3);
116
- checkboxGroup?.forEach((checkbox) => expect(checkbox).toBeChecked());
117
- };
118
- export const SomeDisabled = Template.bind({});
119
- SomeDisabled.args = {
120
- options: [
121
- {
122
- id: 'option1',
123
- name: 'option1',
124
- label: 'Option 1',
125
- value: 'option1',
126
- disabled: true,
127
- },
128
- {
129
- id: 'option2',
130
- name: 'option2',
131
- label: 'Option 2',
132
- checked: true,
133
- },
134
- {
135
- id: 'option3',
136
- name: 'option3',
137
- label: 'Option 3',
138
- checked: false,
139
- },
140
- ],
141
- };
142
- SomeDisabled.play = async ({ canvasElement }) => {
143
- const group = canvasElement.querySelector('m-checkbox-group');
144
- const checkboxGroup = group?.shadowRoot?.querySelectorAll('input');
145
- expect(checkboxGroup?.[0]).toBeDisabled();
146
- };
61
+ export default meta;
62
+ export const Default = {};
@@ -9,62 +9,68 @@
9
9
  />
10
10
 
11
11
  <script lang="ts">
12
- import type { CheckboxGroupOption } from './checkboxgroup.types';
13
12
  import { customElementForwardEvents } from '../../utils';
14
-
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. <br><br> To put a label, requierement text, help text or to apply a valid or invalid message, the examples are available in the [Field section](/docs/form-elements-field--docs#input).
15
+ */
15
16
  interface Props {
16
- options: Array<CheckboxGroupOption>;
17
+ /**
18
+ * The name attribute for the checkbox element, typically used for form submission.
19
+ */
17
20
  name: string;
18
- id?: string;
19
- legend?: string;
20
- values?: Array<string | number>;
21
+ /**
22
+ * The current value of the checkbox group.
23
+ */
24
+ value?: Array<string>;
25
+ /**
26
+ * list of properties of each checkbox button of the checkbox group
27
+ */
28
+ options: Array<{
29
+ id: string;
30
+ label: string;
31
+ value: string;
32
+ disabled?: boolean;
33
+ indeterminate?: boolean;
34
+ indented?: boolean;
35
+ }>;
36
+ /**
37
+ * If `true`, applies an invalid state to the checkbox group.
38
+ */
39
+ isinvalid?: boolean;
40
+ /**
41
+ * If `true`, make the form element of the group inline.
42
+ */
43
+ inline?: boolean;
21
44
  }
22
45
 
23
- const uid = $props.id();
24
46
  let {
25
47
  name,
26
- id = uid,
27
48
  options,
28
- legend,
29
- values = $bindable([]),
49
+ value = $bindable([]),
50
+ inline,
51
+ isinvalid,
30
52
  }: Props = $props();
31
-
32
- function getOptionId(index: number): string {
33
- return options[index]?.id ?? `${id}-${index}`;
34
- }
35
53
  </script>
36
54
 
37
- <div class="checkbox-group-container" {id}>
38
- <fieldset class="mc-field mc-field--group">
39
- {#if legend}
40
- <legend class="mc-field__legend">
41
- {legend}
42
- </legend>
43
- {/if}
44
- <div class="mc-field__container">
45
- {#each options as opt, index (getOptionId(index))}
46
- <div class="mc-checkbox mc-field__item">
47
- <input
48
- type="checkbox"
49
- class="mc-checkbox__input"
50
- class:is-invalid={opt.isinvalid}
51
- id={getOptionId(index)}
52
- {name}
53
- disabled={opt.disabled}
54
- bind:indeterminate={opt.indeterminate}
55
- aria-invalid={opt.isinvalid}
56
- bind:group={values}
57
- value={opt.value}
58
- />
59
- {#if opt.label}
60
- <label for={getOptionId(index)} class="mc-checkbox__label"
61
- >{opt.label}</label
62
- >
63
- {/if}
64
- </div>
65
- {/each}
55
+ <div class={['mc-field__content', inline && 'mc-field__content--inline']}>
56
+ {#each options as option}
57
+ <div class="mc-checkbox mc-field__item">
58
+ <input
59
+ type="checkbox"
60
+ class={['mc-checkbox__input', isinvalid && 'is-invalid']}
61
+ id={option.id}
62
+ {name}
63
+ disabled={option.disabled}
64
+ indeterminate={option.indeterminate}
65
+ aria-invalid={isinvalid}
66
+ bind:group={value}
67
+ value={option.value}
68
+ />
69
+ {#if option.label}
70
+ <label for={option.id} class="mc-checkbox__label">{option.label}</label>
71
+ {/if}
66
72
  </div>
67
- </fieldset>
73
+ {/each}
68
74
  </div>
69
75
 
70
76
  <style>/**
@@ -213,4 +219,9 @@
213
219
  gap: 0.25rem 1rem;
214
220
  }
215
221
 
216
- /* stylelint-enable string-no-newline */</style>
222
+ /* stylelint-enable string-no-newline */
223
+ .mc-field__content:where(.mc-field__content--inline) {
224
+ display: flex;
225
+ flex-flow: row wrap;
226
+ gap: 0.25rem 1rem;
227
+ }</style>
@@ -1,12 +1,36 @@
1
- import type { CheckboxGroupOption } from './checkboxgroup.types';
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. <br><br> To put a label, requierement text, help text or to apply a valid or invalid message, the examples are available in the [Field section](/docs/form-elements-field--docs#input).
3
+ */
2
4
  interface Props {
3
- options: Array<CheckboxGroupOption>;
5
+ /**
6
+ * The name attribute for the checkbox element, typically used for form submission.
7
+ */
4
8
  name: string;
5
- id?: string;
6
- legend?: string;
7
- values?: Array<string | number>;
9
+ /**
10
+ * The current value of the checkbox group.
11
+ */
12
+ value?: Array<string>;
13
+ /**
14
+ * list of properties of each checkbox button of the checkbox group
15
+ */
16
+ options: Array<{
17
+ id: string;
18
+ label: string;
19
+ value: string;
20
+ disabled?: boolean;
21
+ indeterminate?: boolean;
22
+ indented?: boolean;
23
+ }>;
24
+ /**
25
+ * If `true`, applies an invalid state to the checkbox group.
26
+ */
27
+ isinvalid?: boolean;
28
+ /**
29
+ * If `true`, make the form element of the group inline.
30
+ */
31
+ inline?: boolean;
8
32
  }
9
- declare const CheckboxGroup: import("svelte").Component<Props, {}, "values">;
33
+ declare const CheckboxGroup: import("svelte").Component<Props, {}, "value">;
10
34
  type CheckboxGroup = ReturnType<typeof CheckboxGroup>;
11
35
  export default CheckboxGroup;
12
36
  //# sourceMappingURL=CheckboxGroup.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/checkboxgroup/CheckboxGroup.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI/D,UAAU,KAAK;IACb,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;CACjC;AAoDH,QAAA,MAAM,aAAa,iDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"CheckboxGroup.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/checkboxgroup/CheckboxGroup.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAqCH,QAAA,MAAM,aAAa,gDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -0,0 +1,14 @@
1
+ # `m-checkbox-group`
2
+
3
+ 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. <br><br> To put a label, requierement text, help text or to apply a valid or invalid message, the examples are available in the [Field section](/docs/form-elements-field--docs#input).
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `name*` | The name attribute for the checkbox element, typically used for form submission. | `string` | |
10
+ | `value` | The current value of the checkbox group. | `Array<string>` | `$bindable([])` |
11
+ | `options*` | list of properties of each checkbox button of the checkbox group | `Array<{ id: string; label: string; value: string; disabled?: boolean; indeterminate?: boolean; indented?: boolean; }>` | |
12
+ | `isinvalid` | If `true`, applies an invalid state to the checkbox group. | `boolean` | |
13
+ | `inline` | If `true`, make the form element of the group inline. | `boolean` | |
14
+