@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,149 +1,93 @@
1
- /**
2
- * > Fields enable the user to input content in a form. It displays a label, useful informations, an input and gives validation feedback.
3
- *
4
- * The `MField` component is the **Svelte / WebComponent** implementation of the **Field** component of Mozaic Design System.<br/>
5
- * The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/components/form/field/).
6
- */
7
- export default {
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
4
+ const meta = {
8
5
  title: 'Form Elements/Field',
9
- tags: ['autodocs', 'beta'],
10
- argTypes: {
11
- id: {
12
- description: 'Specify the id of the label & the form element used inside the field',
13
- control: 'text',
14
- },
15
- label: {
16
- description: 'Specify the field label text',
17
- control: 'text',
18
- },
19
- requirementtext: {
20
- description: 'Specify the requirement text when the field is required',
21
- control: 'text',
22
- },
23
- helpid: {
24
- description: 'Specify the id of the span element containing the help text',
25
- control: 'text',
26
- },
27
- helptext: {
28
- description: 'Specify the help text',
29
- control: 'text',
30
- },
31
- messageid: {
32
- description: 'Specify the id of the span element containing the rerror message when the field is invalid',
33
- control: 'text',
34
- },
35
- message: {
36
- description: 'Specify the error message',
37
- control: 'text',
38
- },
39
- isinvalid: {
40
- description: 'If `true`, applies an invalid state to the form field.',
41
- control: 'boolean',
42
- },
43
- isvalid: {
44
- description: 'If `true`, applies a valid state to the form field',
45
- control: 'boolean',
46
- },
47
- default: {
48
- description: 'Use this slot to insert the form element of your choice',
49
- table: {
50
- category: 'Slots',
51
- },
52
- },
6
+ component: 'm-field',
7
+ args: {
8
+ label: 'Label',
9
+ id: 'ReplaceByInputId',
10
+ default: `
11
+ <!-- All the code below must be replaced by a form element. -->
12
+ <div class="content-slot">
13
+ Insert a form element here to replace this slot.
14
+ </div>
15
+ `,
53
16
  },
17
+ render: (args) => html `
18
+ <m-field
19
+ id=${ifDefined(args.id)}
20
+ label=${ifDefined(args.label)}
21
+ requirementtext=${ifDefined(args.requirementtext)}
22
+ helptext=${ifDefined(args.helptext)}
23
+ helpid=${ifDefined(args.helpid)}
24
+ isvalid=${ifDefined(args.isvalid)}
25
+ isinvalid=${ifDefined(args.isinvalid)}
26
+ messageid=${ifDefined(args.messageid)}
27
+ message=${ifDefined(args.message)}
28
+ >
29
+ ${unsafeHTML(ifDefined(args.default))}
30
+ </m-field>
31
+ `,
54
32
  };
55
- const TemplateDefault = (args) => {
56
- const MField = document.createElement('m-field');
57
- if (args.label)
58
- MField.setAttribute('label', args.label || 'Label');
59
- if (args.requirementtext)
60
- MField.setAttribute('requirementtext', args.requirementtext);
61
- if (args.helpid)
62
- MField.setAttribute('helpid', args.helpid);
63
- if (args.helptext)
64
- MField.setAttribute('helptext', args.helptext);
65
- if (args.messageid)
66
- MField.setAttribute('messageid', args.messageid);
67
- if (args.message)
68
- MField.setAttribute('message', args.message);
69
- const Slot = document.createElement('div');
70
- Slot.classList.add('content-slot');
71
- Slot.innerHTML = 'Insert a form element here to replace this slot.';
72
- MField.appendChild(Slot);
73
- return MField;
74
- };
75
- export const Default = TemplateDefault.bind({});
76
- Default.args = {
77
- id: 'defaultfield',
78
- label: 'Label',
79
- };
80
- const Template = (args) => {
81
- const MField = document.createElement('m-field');
82
- if (args.label)
83
- MField.setAttribute('label', args.label);
84
- if (args.requirementtext)
85
- MField.setAttribute('requirementtext', args.requirementtext);
86
- if (args.helpid)
87
- MField.setAttribute('helpid', args.helpid);
88
- if (args.helptext)
89
- MField.setAttribute('helptext', args.helptext);
90
- if (args.messageid)
91
- MField.setAttribute('messageid', args.messageid);
92
- if (args.message)
93
- MField.setAttribute('message', args.message);
94
- const MTextInput = document.createElement('m-textinput');
95
- MTextInput.classList.add('mc-field__element');
96
- if (args.id) {
97
- MField.setAttribute('id', args.id);
98
- MTextInput.setAttribute('name', args.id);
99
- }
100
- if (args.isinvalid) {
101
- MField.setAttribute('isinvalid', args.isinvalid);
102
- MTextInput.setAttribute('isinvalid', args.isinvalid);
103
- }
104
- if (args.isvalid) {
105
- MField.setAttribute('isvalid', args.isvalid);
106
- MTextInput.setAttribute('isvalid', args.isvalid);
107
- }
108
- MField.appendChild(MTextInput);
109
- return MField;
110
- };
111
- export const Requierement = Template.bind({});
112
- Requierement.args = {
113
- id: 'requiredfield',
114
- label: 'Label',
115
- requirementtext: '(required / optionnal)',
116
- required: true,
117
- };
118
- export const Helper = Template.bind({});
119
- Helper.args = {
120
- id: 'helpfield',
121
- label: 'Label',
122
- helpid: 'helptext',
123
- helptext: 'Help text',
33
+ export default meta;
34
+ export const Default = {};
35
+ export const Input = {
36
+ args: {
37
+ label: 'Label',
38
+ id: 'inputId',
39
+ default: `
40
+ <m-textinput
41
+ id="inputId"
42
+ placeholder="Placeholder"
43
+ ></m-textinput>
44
+ `,
45
+ },
124
46
  };
125
- export const FullExample = Template.bind({});
126
- FullExample.args = {
127
- id: 'helpfield',
128
- label: 'Label',
129
- helpid: 'helptext',
130
- helptext: 'Help text',
131
- requirementtext: '(required / optionnal)',
132
- required: true,
47
+ export const InputFull = {
48
+ args: {
49
+ label: 'Label',
50
+ requirementtext: 'optional',
51
+ helptext: 'Help text',
52
+ id: 'inputFullId',
53
+ default: `
54
+ <m-textinput
55
+ id="inputFullId"
56
+ placeholder="Placeholder"
57
+ ></m-textinput>
58
+ `,
59
+ },
133
60
  };
134
- export const Valid = Template.bind({});
135
- Valid.args = {
136
- id: 'validfield',
137
- label: 'Label',
138
- messageid: 'error1',
139
- message: 'Validation message (Be concise and use comprehensive words).',
140
- isvalid: true,
61
+ export const InputValid = {
62
+ args: {
63
+ label: 'Label',
64
+ requirementtext: 'required',
65
+ helptext: 'Help text',
66
+ id: 'inputvalidId',
67
+ isvalid: true,
68
+ message: 'Validation message (Be concise and use comprehensive words).',
69
+ default: `
70
+ <m-textinput
71
+ id="inputvalidId"
72
+ placeholder="Placeholder"
73
+ ></m-textinput>
74
+ `,
75
+ },
141
76
  };
142
- export const Invalid = Template.bind({});
143
- Invalid.args = {
144
- id: 'invalidfield',
145
- label: 'Label',
146
- messageid: 'error1',
147
- message: 'Error message (Be concise and use comprehensive words)',
148
- isinvalid: true,
77
+ export const InputInvalid = {
78
+ args: {
79
+ label: 'Label',
80
+ requirementtext: 'required',
81
+ helptext: 'Help text',
82
+ id: 'inputInvalidId',
83
+ isinvalid: true,
84
+ message: 'Error message (Be concise and use comprehensive words)',
85
+ default: `
86
+ <m-textinput
87
+ id="inputInvalidId"
88
+ placeholder="Placeholder"
89
+ isInvalid
90
+ ></m-textinput>
91
+ `,
92
+ },
149
93
  };
@@ -5,17 +5,48 @@
5
5
  />
6
6
 
7
7
  <script lang="ts">
8
+ /**
9
+ * A field label is a text element that identifies the purpose of an input field, providing users with clear guidance on what information to enter. It is typically placed above the input field and may include indicators for required or optional fields. Field Labels improve form usability, accessibility, and data entry accuracy by ensuring users understand the expected input.
10
+ *
11
+ * @slot default - Use this slot to insert the form element of your choice
12
+ */
8
13
  interface Props {
14
+ /**
15
+ * A unique identifier for the form field, used to associate the label with the form element.
16
+ */
9
17
  id: string;
18
+ /**
19
+ * The text displayed as the label for the form field.
20
+ */
10
21
  label: string;
11
- requirementtext: string;
12
- helpid: string;
13
- helptext: string;
14
- messageid: string;
15
- message: string;
16
- isinvalid?: boolean;
22
+ /**
23
+ * Additional text displayed alongside the label, typically used to indicate if the form field is required or optional
24
+ */
25
+ requirementtext?: string;
26
+ /**
27
+ * Text shown below the form field to provide additional context or instructions for the user.
28
+ */
29
+ helptext?: string;
30
+ /**
31
+ * The value of the `id` attribute set on the **helpText** element. _This value is mandatory when using a helpText in order to guarantee the accessibility of the component._
32
+ */
33
+ helpid?: string;
34
+ /**
35
+ * If `true`, applies a valid state to the form field.
36
+ */
17
37
  isvalid?: boolean;
18
- [key: string]: any;
38
+ /**
39
+ * If `true`, applies an invalid state to the form field.
40
+ */
41
+ isinvalid?: boolean;
42
+ /**
43
+ * The value of the `id` attribute set on the **validationMessage** element. _This value is mandatory when using a validationMessage in order to guarantee the accessibility of the component._
44
+ */
45
+ messageid?: string;
46
+ /**
47
+ * message displayed when the form field has a valid or invalid state, usually indicating validation or errors.
48
+ */
49
+ message?: string;
19
50
  }
20
51
 
21
52
  let {
@@ -26,8 +57,8 @@
26
57
  helptext,
27
58
  messageid,
28
59
  message,
29
- isinvalid = false,
30
- isvalid = false,
60
+ isinvalid,
61
+ isvalid,
31
62
  }: Props = $props();
32
63
  </script>
33
64
 
@@ -40,20 +71,25 @@
40
71
  </span>
41
72
  {/if}
42
73
  </label>
74
+
43
75
  {#if helpid && helptext}
44
76
  <span id={helpid} class="mc-field__help">
45
77
  {helptext}
46
78
  </span>
47
79
  {/if}
80
+
48
81
  <div class="mc-field__content">
49
82
  <slot />
50
83
  </div>
84
+
51
85
  {#if isinvalid || isvalid}
52
86
  <span
53
87
  id={messageid}
54
- class="mc-field__validation-message"
55
- class:is-valid={isvalid}
56
- class:is-invalid={isinvalid}
88
+ class={[
89
+ 'mc-field__validation-message',
90
+ isvalid && 'is-valid',
91
+ isinvalid && 'is-invalid',
92
+ ]}
57
93
  >
58
94
  {message}
59
95
  </span>
@@ -1,14 +1,45 @@
1
+ /**
2
+ * A field label is a text element that identifies the purpose of an input field, providing users with clear guidance on what information to enter. It is typically placed above the input field and may include indicators for required or optional fields. Field Labels improve form usability, accessibility, and data entry accuracy by ensuring users understand the expected input.
3
+ *
4
+ * @slot default - Use this slot to insert the form element of your choice
5
+ */
1
6
  interface Props {
7
+ /**
8
+ * A unique identifier for the form field, used to associate the label with the form element.
9
+ */
2
10
  id: string;
11
+ /**
12
+ * The text displayed as the label for the form field.
13
+ */
3
14
  label: string;
4
- requirementtext: string;
5
- helpid: string;
6
- helptext: string;
7
- messageid: string;
8
- message: string;
9
- isinvalid?: boolean;
15
+ /**
16
+ * Additional text displayed alongside the label, typically used to indicate if the form field is required or optional
17
+ */
18
+ requirementtext?: string;
19
+ /**
20
+ * Text shown below the form field to provide additional context or instructions for the user.
21
+ */
22
+ helptext?: string;
23
+ /**
24
+ * The value of the `id` attribute set on the **helpText** element. _This value is mandatory when using a helpText in order to guarantee the accessibility of the component._
25
+ */
26
+ helpid?: string;
27
+ /**
28
+ * If `true`, applies a valid state to the form field.
29
+ */
10
30
  isvalid?: boolean;
11
- [key: string]: any;
31
+ /**
32
+ * If `true`, applies an invalid state to the form field.
33
+ */
34
+ isinvalid?: boolean;
35
+ /**
36
+ * The value of the `id` attribute set on the **validationMessage** element. _This value is mandatory when using a validationMessage in order to guarantee the accessibility of the component._
37
+ */
38
+ messageid?: string;
39
+ /**
40
+ * message displayed when the form field has a valid or invalid state, usually indicating validation or errors.
41
+ */
42
+ message?: string;
12
43
  }
13
44
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
14
45
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -1 +1 @@
1
- {"version":3,"file":"Field.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.svelte.ts"],"names":[],"mappings":"AAGE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAiDH,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,KAAK;;;;;;UAAqF,CAAC;AAC/E,KAAK,KAAK,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Field.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwDH,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,KAAK;;;;;;UAAqF,CAAC;AAC/E,KAAK,KAAK,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,eAAe,KAAK,CAAC"}
@@ -0,0 +1,24 @@
1
+ # `m-field`
2
+
3
+ A field label is a text element that identifies the purpose of an input field, providing users with clear guidance on what information to enter. It is typically placed above the input field and may include indicators for required or optional fields. Field Labels improve form usability, accessibility, and data entry accuracy by ensuring users understand the expected input.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `id*` | A unique identifier for the form field, used to associate the label with the form element. | `string` | |
10
+ | `label*` | The text displayed as the label for the form field. | `string` | |
11
+ | `requirementtext` | Additional text displayed alongside the label, typically used to indicate if the form field is required or optional | `string` | |
12
+ | `helptext` | Text shown below the form field to provide additional context or instructions for the user. | `string` | |
13
+ | `helpid` | The value of the `id` attribute set on the **helpText** element. _This value is mandatory when using a helpText in order to guarantee the accessibility of the component._ | `string` | |
14
+ | `isvalid` | If `true`, applies a valid state to the form field. | `boolean` | |
15
+ | `isinvalid` | If `true`, applies an invalid state to the form field. | `boolean` | |
16
+ | `messageid` | The value of the `id` attribute set on the **validationMessage** element. _This value is mandatory when using a validationMessage in order to guarantee the accessibility of the component._ | `string` | |
17
+ | `message` | message displayed when the form field has a valid or invalid state, usually indicating validation or errors. | `string` | |
18
+
19
+ ## Slots
20
+
21
+ | Name | Description |
22
+ |------|-------------|
23
+ | `default` | Use this slot to insert the form element of your choice |
24
+
@@ -1,4 +1,4 @@
1
- import{c as g,p as i,a as v,b as p,f as m,D as u,d as n,h,i as b,j as k,r as s}from"../../custom-element.js";import{s as _}from"../../slot.js";import{b as x}from"../../attributes.js";var $=m('<div><span class="mc-flag__label"><!></span></div>');const w={hash:"svelte-1e4tn4t",code:`/**
1
+ import{c as v,p,a as u,b as c,f as m,t as b,i as h,j as x,k as o,d as f,r as g,e as k,g as _,h as w}from"../../custom-element.js";var y=m('<div><span class="mc-flag__label"> </span></div>');const z={hash:"svelte-1e4tn4t",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-flag.svelte-1e4tn4t {padding:0 0.5rem;border-radius:var(--radius-xs, 0.125rem);white-space:nowrap;font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-s, 1.3);height:1.5rem;display:inline-flex;align-items:center;color:var(--flag-color-text-standard, #ffffff);background-color:var(--flag-color-background-standard, #191919);}.mc-flag--accent.svelte-1e4tn4t {color:var(--flag-color-text-accent, #ffffff);background-color:var(--flag-color-background-accent, #117f03);}.mc-flag--danger.svelte-1e4tn4t {color:var(--flag-color-text-danger, #ffffff);background-color:var(--flag-color-background-danger, #c61112);}.mc-flag--inverse.svelte-1e4tn4t {color:var(--flag-color-text-inverse, #000000);background-color:var(--flag-color-background-inverse, #ffffff);}`};function y(t,a){i(a,!0),v(t,w);let e=p(a,"appearance",7,"standard"),l=u(a,["$$slots","$$events","$$legacy","$$host","appearance"]);var c={get appearance(){return e()},set appearance(d="standard"){e(d),k()}},r=$();x(r,()=>({class:`mc-flag ${e()!=="standard"?`mc-flag--${e()}`:""}`,...l}),void 0,void 0,"svelte-1e4tn4t");var o=n(r),f=n(o);return _(f,a,"default",{}),s(o),s(r),h(t,r),b(c)}customElements.define("m-flag",g(y,{appearance:{}},["default"],[],!0));
3
+ */.mc-flag.svelte-1e4tn4t {padding:0 0.5rem;border-radius:var(--radius-xs, 0.125rem);white-space:nowrap;font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-s, 1.3);height:1.5rem;display:inline-flex;align-items:center;color:var(--flag-color-text-standard, #ffffff);background-color:var(--flag-color-background-standard, #191919);}.mc-flag--accent.svelte-1e4tn4t {color:var(--flag-color-text-accent, #ffffff);background-color:var(--flag-color-background-accent, #117f03);}.mc-flag--danger.svelte-1e4tn4t {color:var(--flag-color-text-danger, #ffffff);background-color:var(--flag-color-background-danger, #c61112);}.mc-flag--inverse.svelte-1e4tn4t {color:var(--flag-color-text-inverse, #000000);background-color:var(--flag-color-background-inverse, #ffffff);}`};function j(n,a){p(a,!0),u(n,z);let r=c(a,"appearance",7,"standard"),t=c(a,"label",7);var d={get appearance(){return r()},set appearance(l="standard"){r(l),o()},get label(){return t()},set label(l){t(l),o()}},e=y(),s=f(e),i=f(s,!0);return g(s),g(e),b(()=>{k(e,1,_(["mc-flag",`mc-flag--${r()}`]),"svelte-1e4tn4t"),w(i,t())}),h(n,e),x(d)}customElements.define("m-flag",v(j,{appearance:{},label:{}},[],[],!0));
4
4
  //# sourceMappingURL=Flag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Flag.js","sources":["../../../src/components/flag/Flag.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-flag' }} />\n\n<script lang=\"ts\">\n interface Props {\n /**\n * Style du Flag\n */\n appearance?: 'danger' | 'accent' | 'inverse' | 'standard';\n\n [key: string]: any;\n }\n\n let { appearance = 'standard', ...events }: Props = $props();\n</script>\n\n<div\n class={`mc-flag ${appearance !== 'standard' ? `mc-flag--${appearance}` : ''}`}\n {...events}\n>\n <span class=\"mc-flag__label\">\n <slot />\n </span>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/flag';\n</style>\n"],"names":["appearance","events","$.rest_props","$$props"],"mappings":";;q0BAAA,gBAYQ,IAAAA,qBAAa,UAAU,EAAKC,EAAMC,EAAAC,EAAA,CAAA,UAAA,WAAA,WAAA,SAAA,YAAA,CAAA,uDAArB,WAAU,4BAIX,MAAA,WAAAH,EAAU,IAAK,WAAU,YAAeA,EAAU,IAAK,EAAE,MACvEC,sGAJN"}
1
+ {"version":3,"file":"Flag.js","sources":["../../../src/components/flag/Flag.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-flag' }} />\n\n<script lang=\"ts\">\n /**\n * A flag is used to display meta-information about a product or service, acting as a visual indicator of the main category of content. It is typically placed at the top of an element to ensure immediate visibility.\n */\n interface Props {\n /**\n * Label of the Flag.\n */\n label: string;\n /**\n * Allows to define the Flag appearance.\n */\n appearance?: 'danger' | 'accent' | 'inverse' | 'standard';\n }\n\n let { appearance = 'standard', label }: Props = $props();\n</script>\n\n<div class={['mc-flag', `mc-flag--${appearance}`]}>\n <span class=\"mc-flag__label\">\n {label}\n </span>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/flag';\n</style>\n"],"names":["appearance","label","$.prop","$$props","$.set_class","div","$.clsx"],"mappings":";;q0BAAA,gBAiBQ,IAAAA,qBAAa,UAAU,EAAEC,EAAKC,EAAAC,EAAA,QAAA,CAAA,uDAAjB,WAAU,0GAGlBC,EAAAC,EAAA,EAAAC,EAAA,CAAA,sBAAuBN,EAAU,CAAA,EAAA,CAAA,EAAA,gBAAA,MAEzCC,GAAK,eAJV"}
@@ -0,0 +1,30 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render } from '@testing-library/svelte';
3
+ import Flag from './Flag.svelte';
4
+ describe('m-flag component', () => {
5
+ it('renders with default appearance', () => {
6
+ const { container, getByText } = render(Flag, {
7
+ props: { label: 'New' },
8
+ });
9
+ const flag = container.querySelector('.mc-flag');
10
+ expect(flag).toBeTruthy();
11
+ expect(flag?.classList.contains('mc-flag--standard')).toBe(true);
12
+ const label = getByText('New');
13
+ expect(label).toBeInTheDocument();
14
+ expect(label.classList.contains('mc-flag__label')).toBe(true);
15
+ });
16
+ it('applies the correct appearance class', () => {
17
+ const { container } = render(Flag, {
18
+ props: { label: 'Sale', appearance: 'danger' },
19
+ });
20
+ const flag = container.querySelector('.mc-flag');
21
+ expect(flag).toBeTruthy();
22
+ expect(flag?.classList.contains('mc-flag--danger')).toBe(true);
23
+ });
24
+ it('renders the correct label text', () => {
25
+ const { getByText } = render(Flag, {
26
+ props: { label: 'Limited Offer' },
27
+ });
28
+ expect(getByText('Limited Offer')).toBeInTheDocument();
29
+ });
30
+ });
@@ -1,19 +1,9 @@
1
- import type { Meta } from '@storybook/html-vite';
2
- /**
3
- * A flag is used to display meta-information about a product or service, acting as a visual indicator of the main category of content.
4
- *
5
- * The `MFlag` component is the **Svelte / WebComponent** implementation of the **Flag** component of Mozaic Design System.
6
- * Full specification available in the Mozaic documentation.
7
- */
8
- declare const _default: Meta;
9
- export default _default;
10
- export declare const Standard: any;
11
- export declare const Accent: any;
12
- export declare const Danger: any;
13
- export declare const Inverse: any;
14
- /**
15
- * Story d’interaction simple (démonstration) :
16
- * un clic sur l’hôte n’affecte pas le visuel mais valide que le composant est focusable/clicable si nécessaire.
17
- */
18
- export declare const ClickableHost: 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 Standard: Story;
6
+ export declare const Accent: Story;
7
+ export declare const Danger: Story;
8
+ export declare const Inverse: Story;
19
9
  //# sourceMappingURL=Flag.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Flag.stories.d.ts","sourceRoot":"","sources":["../../../src/components/flag/Flag.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAG1D;;;;;GAKG;wBAyBE,IAAI;AAvBT,wBAuBU;AAiBV,eAAO,MAAM,QAAQ,KAAoB,CAAC;AAmB1C,eAAO,MAAM,MAAM,KAAoB,CAAC;AAexC,eAAO,MAAM,MAAM,KAAoB,CAAC;AAexC,eAAO,MAAM,OAAO,KAAoB,CAAC;AAoBzC;;;GAGG;AACH,eAAO,MAAM,aAAa,KAAoB,CAAC"}
1
+ {"version":3,"file":"Flag.stories.d.ts","sourceRoot":"","sources":["../../../src/components/flag/Flag.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,QAAA,MAAM,IAAI,EAAE,IAkBX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -1,113 +1,35 @@
1
- import { userEvent, expect } from 'storybook/test';
2
- /**
3
- * A flag is used to display meta-information about a product or service, acting as a visual indicator of the main category of content.
4
- *
5
- * The `MFlag` component is the **Svelte / WebComponent** implementation of the **Flag** component of Mozaic Design System.
6
- * Full specification available in the Mozaic documentation.
7
- */
8
- export default {
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ const meta = {
9
4
  title: 'Indicators/Flag',
10
- tags: ['autodocs', 'beta', 'version:2.0.0'],
11
- context: 'sidebar',
12
- args: {
13
- appearance: 'standard',
14
- label: 'Flag Label',
15
- },
5
+ component: 'm-flag',
16
6
  argTypes: {
17
7
  appearance: {
18
- description: 'Style du flag. Valeurs disponibles : `standard`, `accent`, `danger`, `inverse`',
19
- control: { type: 'radio' },
20
- options: ['standard', 'accent', 'danger', 'inverse'],
21
- },
22
- default: {
23
- description: 'Contenu du flag (slot par défaut)',
24
- table: {
25
- category: 'Slots',
26
- },
27
- control: 'text',
8
+ control: 'radio',
9
+ options: ['danger', 'accent', 'inverse', 'standard'],
28
10
  },
29
11
  },
30
- };
31
- const Template = (args) => {
32
- const flag = document.createElement('m-flag');
33
- flag.setAttribute('data-testid', args.label || 'Flag');
34
- // Attributs
35
- if (args.appearance)
36
- flag.setAttribute('appearance', args.appearance);
37
- // Slot (label)
38
- const label = document.createElement('span');
39
- label.innerText = args.label || 'Flag Label';
40
- flag.appendChild(label);
41
- return flag;
42
- };
43
- export const Standard = Template.bind({});
44
- Standard.args = {
45
- appearance: 'standard',
46
- label: 'Standard',
47
- };
48
- Standard.play = async ({ canvasElement }) => {
49
- const MFlag = canvasElement.querySelector('m-flag');
50
- const inner = MFlag?.shadowRoot?.querySelector('.mc-flag__label');
51
- expect(inner).not.toBeNull();
52
- expect(MFlag).toHaveTextContent('Standard');
53
- // pas de modificateur attendu pour standard
54
- const container = MFlag?.shadowRoot?.querySelector('.mc-flag');
55
- expect(container?.className).not.toContain('mc-flag--');
56
- };
57
- export const Accent = Template.bind({});
58
- Accent.args = {
59
- appearance: 'accent',
60
- label: 'Accent',
61
- };
62
- Accent.play = async ({ canvasElement }) => {
63
- const MFlag = canvasElement.querySelector('m-flag');
64
- const container = MFlag?.shadowRoot?.querySelector('.mc-flag');
65
- expect(container).not.toBeNull();
66
- expect(MFlag).toHaveTextContent('Accent');
67
- expect(container?.className).toContain('mc-flag--accent');
68
- };
69
- export const Danger = Template.bind({});
70
- Danger.args = {
71
- appearance: 'danger',
72
- label: 'Danger',
73
- };
74
- Danger.play = async ({ canvasElement }) => {
75
- const MFlag = canvasElement.querySelector('m-flag');
76
- const container = MFlag?.shadowRoot?.querySelector('.mc-flag');
77
- expect(container).not.toBeNull();
78
- expect(MFlag).toHaveTextContent('Danger');
79
- expect(container?.className).toContain('mc-flag--danger');
80
- };
81
- export const Inverse = Template.bind({});
82
- Inverse.globals = {
83
- backgrounds: {
84
- value: 'inverse',
12
+ args: {
13
+ label: 'Flag label',
85
14
  },
86
- };
87
- Inverse.args = {
88
- appearance: 'inverse',
89
- label: 'Inverse',
90
- };
91
- Inverse.play = async ({ canvasElement }) => {
92
- const MFlag = canvasElement.querySelector('m-flag');
93
- const container = MFlag?.shadowRoot?.querySelector('.mc-flag');
94
- expect(container).not.toBeNull();
95
- expect(MFlag).toHaveTextContent('Inverse');
96
- expect(container?.className).toContain('mc-flag--inverse');
97
- };
98
- /**
99
- * Story d’interaction simple (démonstration) :
100
- * un clic sur l’hôte n’affecte pas le visuel mais valide que le composant est focusable/clicable si nécessaire.
101
- */
102
- export const ClickableHost = Template.bind({});
103
- ClickableHost.args = {
104
- appearance: 'accent',
105
- label: 'Cliquable',
106
- };
107
- ClickableHost.play = async ({ canvasElement }) => {
108
- const MFlag = canvasElement.querySelector('m-flag');
109
- expect(MFlag).not.toBeNull();
110
- await userEvent.click(MFlag);
111
- // Le composant n’a pas d’événement spécifique par défaut, on vérifie juste le contenu.
112
- expect(MFlag).toHaveTextContent('Cliquable');
15
+ render: (args) => html `
16
+ <m-flag
17
+ label=${ifDefined(args.label)}
18
+ appearance=${ifDefined(args.appearance)}
19
+ ></m-flag>
20
+ `,
21
+ };
22
+ export default meta;
23
+ export const Standard = {};
24
+ export const Accent = {
25
+ args: { appearance: 'accent' },
26
+ };
27
+ export const Danger = {
28
+ args: { appearance: 'danger' },
29
+ };
30
+ export const Inverse = {
31
+ globals: {
32
+ backgrounds: { value: 'inverse' },
33
+ },
34
+ args: { appearance: 'inverse' },
113
35
  };