@mozaic-ds/web-components 1.0.0-beta.7 → 1.1.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 (491) hide show
  1. package/README.md +38 -70
  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 +25 -23
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +25 -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 +4 -32
  16. package/dist/components/avatar/Avatar.svelte +7 -5
  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 +7 -39
  25. package/dist/components/breadcrumb/Breadcrumb.svelte +12 -20
  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 +2 -5
  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 +12 -15
  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 +111 -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 +54 -49
  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 +20 -10
  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 +47 -33
  84. package/dist/components/datepicker/Datepicker.svelte.d.ts +31 -2
  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 +85 -87
  93. package/dist/components/drawer/Drawer.svelte +74 -38
  94. package/dist/components/drawer/Drawer.svelte.d.ts +34 -3
  95. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  96. package/dist/components/drawer/README.md +31 -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 +98 -0
  100. package/dist/components/field/Field.stories.d.ts +10 -15
  101. package/dist/components/field/Field.stories.d.ts.map +1 -1
  102. package/dist/components/field/Field.stories.js +100 -141
  103. package/dist/components/field/Field.svelte +55 -13
  104. package/dist/components/field/Field.svelte.d.ts +42 -7
  105. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  106. package/dist/components/field/README.md +25 -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 +22 -103
  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 +12 -7
  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 +73 -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 +26 -42
  162. package/dist/components/loader/Loader.svelte +37 -35
  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 +52 -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 +18 -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 +29 -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 +37 -34
  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 -28
  223. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +33 -1
  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 -53
  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 +10 -15
  240. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  241. package/dist/components/quantityselector/QuantitySelector.stories.js +72 -146
  242. package/dist/components/quantityselector/QuantitySelector.svelte +94 -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 +35 -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 +48 -47
  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/segmentedcontrol/README.md +19 -0
  267. package/dist/components/segmentedcontrol/SegmentedControl.js +4 -0
  268. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -0
  269. package/dist/components/segmentedcontrol/SegmentedControl.spec.js +52 -0
  270. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +8 -0
  271. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -0
  272. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +54 -0
  273. package/dist/components/segmentedcontrol/SegmentedControl.svelte +125 -0
  274. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts +32 -0
  275. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -0
  276. package/dist/components/select/README.md +18 -0
  277. package/dist/components/select/Select.js +2 -2
  278. package/dist/components/select/Select.js.map +1 -1
  279. package/dist/components/select/Select.spec.js +76 -0
  280. package/dist/components/select/Select.stories.d.ts +10 -14
  281. package/dist/components/select/Select.stories.d.ts.map +1 -1
  282. package/dist/components/select/Select.stories.js +87 -92
  283. package/dist/components/select/Select.svelte +57 -44
  284. package/dist/components/select/Select.svelte.d.ts +42 -11
  285. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  286. package/dist/components/statusbadge/README.md +11 -0
  287. package/dist/components/statusbadge/StatusBadge.js +2 -2
  288. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  289. package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
  290. package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
  291. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  292. package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
  293. package/dist/components/statusbadge/StatusBadge.svelte +14 -6
  294. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
  295. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  296. package/dist/components/statusdot/README.md +11 -0
  297. package/dist/components/statusdot/StatusDot.js +2 -2
  298. package/dist/components/statusdot/StatusDot.js.map +1 -1
  299. package/dist/components/statusdot/StatusDot.spec.js +36 -0
  300. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  301. package/dist/components/statusdot/StatusDot.stories.js +9 -37
  302. package/dist/components/statusdot/StatusDot.svelte +5 -9
  303. package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
  304. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  305. package/dist/components/statusnotification/README.md +25 -0
  306. package/dist/components/statusnotification/StatusNotification.js +2 -6
  307. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  308. package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
  309. package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
  310. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  311. package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
  312. package/dist/components/statusnotification/StatusNotification.svelte +53 -64
  313. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
  314. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  315. package/dist/components/tab/README.md +20 -0
  316. package/dist/components/tab/Tab.js +4 -0
  317. package/dist/components/tab/Tab.js.map +1 -0
  318. package/dist/components/tab/Tab.spec.js +58 -0
  319. package/dist/components/{tabs → tab}/Tab.svelte +44 -30
  320. package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
  321. package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
  322. package/dist/components/tabs/README.md +18 -0
  323. package/dist/components/tabs/Tabs.js +2 -2
  324. package/dist/components/tabs/Tabs.js.map +1 -1
  325. package/dist/components/tabs/Tabs.spec.js +51 -0
  326. package/dist/components/tabs/Tabs.stories.d.ts +9 -6
  327. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  328. package/dist/components/tabs/Tabs.stories.js +59 -115
  329. package/dist/components/tabs/Tabs.svelte +27 -7
  330. package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
  331. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  332. package/dist/components/tags/README.md +9 -0
  333. package/dist/components/tags/Tag.js +1 -1
  334. package/dist/components/tags/TagContextualised.js +2 -2
  335. package/dist/components/tags/TagContextualised.js.map +1 -1
  336. package/dist/components/tags/TagContextualised.svelte +1 -5
  337. package/dist/components/tags/TagInteractive.js +1 -1
  338. package/dist/components/tags/TagRemovable.js +2 -2
  339. package/dist/components/tags/TagRemovable.js.map +1 -1
  340. package/dist/components/tags/TagRemovable.svelte +2 -12
  341. package/dist/components/tags/TagRemovable.svelte.d.ts.map +1 -1
  342. package/dist/components/tags/TagSelectable.js +2 -2
  343. package/dist/components/tags/TagSelectable.js.map +1 -1
  344. package/dist/components/tags/TagSelectable.svelte +1 -5
  345. package/dist/components/tags/Tags.stories.d.ts.map +1 -1
  346. package/dist/components/tags/Tags.stories.js +7 -1
  347. package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
  348. package/dist/components/tags/TagsContextualised.stories.js +7 -1
  349. package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
  350. package/dist/components/tags/TagsInteractive.stories.js +7 -1
  351. package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
  352. package/dist/components/tags/TagsRemovable.stories.js +8 -4
  353. package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
  354. package/dist/components/tags/TagsSelectable.stories.js +7 -1
  355. package/dist/components/textarea/README.md +19 -0
  356. package/dist/components/textarea/Textarea.js +2 -5
  357. package/dist/components/textarea/Textarea.js.map +1 -1
  358. package/dist/components/textarea/Textarea.spec.js +67 -0
  359. package/dist/components/textarea/Textarea.stories.d.ts +9 -13
  360. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  361. package/dist/components/textarea/Textarea.stories.js +61 -92
  362. package/dist/components/textarea/Textarea.svelte +51 -97
  363. package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
  364. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  365. package/dist/components/textinput/README.md +26 -0
  366. package/dist/components/textinput/Textinput.js +2 -2
  367. package/dist/components/textinput/Textinput.js.map +1 -1
  368. package/dist/components/textinput/Textinput.spec.js +89 -0
  369. package/dist/components/textinput/Textinput.stories.d.ts +11 -12
  370. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  371. package/dist/components/textinput/Textinput.stories.js +78 -137
  372. package/dist/components/textinput/Textinput.svelte +68 -118
  373. package/dist/components/textinput/Textinput.svelte.d.ts +47 -23
  374. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  375. package/dist/components/toaster/README.md +29 -0
  376. package/dist/components/toaster/Toaster.js +3 -7
  377. package/dist/components/toaster/Toaster.js.map +1 -1
  378. package/dist/components/toaster/Toaster.spec.js +100 -0
  379. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  380. package/dist/components/toaster/Toaster.stories.js +5 -73
  381. package/dist/components/toaster/Toaster.svelte +21 -14
  382. package/dist/components/toaster/Toaster.svelte.d.ts +7 -0
  383. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  384. package/dist/components/toggle/README.md +15 -0
  385. package/dist/components/toggle/Toggle.js +2 -2
  386. package/dist/components/toggle/Toggle.js.map +1 -1
  387. package/dist/components/toggle/Toggle.spec.js +69 -0
  388. package/dist/components/toggle/Toggle.stories.d.ts +9 -14
  389. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  390. package/dist/components/toggle/Toggle.stories.js +55 -64
  391. package/dist/components/toggle/Toggle.svelte +33 -33
  392. package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
  393. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  394. package/dist/components/togglegroup/README.md +13 -0
  395. package/dist/components/togglegroup/ToggleGroup.js +3 -3
  396. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  397. package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
  398. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
  399. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  400. package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
  401. package/dist/components/togglegroup/ToggleGroup.svelte +55 -58
  402. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
  403. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  404. package/dist/components/tooltip/README.md +19 -0
  405. package/dist/components/tooltip/Tooltip.js +2 -2
  406. package/dist/components/tooltip/Tooltip.js.map +1 -1
  407. package/dist/components/tooltip/Tooltip.spec.js +38 -0
  408. package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
  409. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  410. package/dist/components/tooltip/Tooltip.stories.js +45 -59
  411. package/dist/components/tooltip/Tooltip.svelte +19 -14
  412. package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
  413. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  414. package/dist/custom-element-forward-events.js.map +1 -1
  415. package/dist/custom-element.js +3 -3
  416. package/dist/custom-element.js.map +1 -1
  417. package/dist/documentation/Contributing.mdx +1 -1
  418. package/dist/documentation/Introduction.mdx +54 -11
  419. package/dist/documentation/SupportAndOnboarding.mdx +2 -2
  420. package/dist/documentation/Svelte/Introduction.mdx +1 -1
  421. package/dist/documentation/Svelte/usingPresets.mdx +5 -6
  422. package/dist/documentation/WebComponents/Introduction.mdx +0 -1
  423. package/dist/documentation/WebComponents/usingIcons.mdx +2 -3
  424. package/dist/documentation/WebComponents/usingPresets.mdx +3 -4
  425. package/dist/each.js +1 -1
  426. package/dist/each.js.map +1 -1
  427. package/dist/if.js +1 -1
  428. package/dist/if.js.map +1 -1
  429. package/dist/input.js +1 -1
  430. package/dist/input.js.map +1 -1
  431. package/dist/legacy.js +1 -1
  432. package/dist/main.d.ts +25 -23
  433. package/dist/main.d.ts.map +1 -1
  434. package/dist/main.js +25 -23
  435. package/dist/slot.js +1 -1
  436. package/dist/slot.js.map +1 -1
  437. package/dist/this.js +2 -0
  438. package/dist/this.js.map +1 -0
  439. package/dist/utils/custom-element-forward-events.d.ts.map +1 -1
  440. package/package.json +32 -22
  441. package/dist/components/button/button.types.d.ts +0 -13
  442. package/dist/components/button/button.types.d.ts.map +0 -1
  443. package/dist/components/button/button.types.js +0 -1
  444. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
  445. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
  446. package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
  447. package/dist/components/link/link.types.d.ts +0 -4
  448. package/dist/components/link/link.types.d.ts.map +0 -1
  449. package/dist/components/link/link.types.js +0 -1
  450. package/dist/components/loader/loader.types.d.ts +0 -3
  451. package/dist/components/loader/loader.types.d.ts.map +0 -1
  452. package/dist/components/loader/loader.types.js +0 -1
  453. package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
  454. package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
  455. package/dist/components/numberbadge/NumberBadge.types.js +0 -1
  456. package/dist/components/overlayloader/OverlayLoader.js +0 -27
  457. package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
  458. package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
  459. package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
  460. package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
  461. package/dist/components/overlayloader/OverlayLoader.svelte +0 -160
  462. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
  463. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
  464. package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
  465. package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
  466. package/dist/components/quantityselector/quantitySelector.types.js +0 -1
  467. package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
  468. package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
  469. package/dist/components/radiogroup/radioGroup.types.js +0 -1
  470. package/dist/components/select/select.types.d.ts +0 -9
  471. package/dist/components/select/select.types.d.ts.map +0 -1
  472. package/dist/components/select/select.types.js +0 -1
  473. package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
  474. package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
  475. package/dist/components/statusbadge/StatusBadge.types.js +0 -1
  476. package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
  477. package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
  478. package/dist/components/statusdot/StatusDot.types.js +0 -1
  479. package/dist/components/tabs/Tab.js +0 -4
  480. package/dist/components/tabs/Tab.js.map +0 -1
  481. package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
  482. package/dist/components/textinput/textinput.types.d.ts +0 -3
  483. package/dist/components/textinput/textinput.types.d.ts.map +0 -1
  484. package/dist/components/textinput/textinput.types.js +0 -1
  485. package/dist/components/toggle/toggle.types.d.ts +0 -2
  486. package/dist/components/toggle/toggle.types.d.ts.map +0 -1
  487. package/dist/components/toggle/toggle.types.js +0 -1
  488. package/dist/index-client.js +0 -2
  489. package/dist/index-client.js.map +0 -1
  490. package/dist/snippet.js +0 -2
  491. package/dist/snippet.js.map +0 -1
@@ -1,101 +1,68 @@
1
- import { within, expect } from 'storybook/test';
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
2
4
  import { action } from 'storybook/actions';
3
- /**
4
- * A Status Notification is used to draw the user’s attention to important information that needs to be acknowledged.
5
- * It often provides feedback on a process, highlights a status update, or alerts users about an issue.
6
- * Notifications are typically triggered by user actions or system events and are designed to be easily noticeable while maintaining a non-intrusive experience.
7
- * The `StatusNotification` component is the **Svelte / WebComponent** implementation of the **Status Notification** component of Mozaic Design System.
8
- */
9
- export default {
5
+ const meta = {
10
6
  title: 'Status/Status Notification',
11
- tags: ['autodocs', 'new'],
7
+ component: 'm-status-notification',
12
8
  argTypes: {
13
- title: {
14
- description: 'Specify the notification title',
15
- control: 'text',
16
- },
17
- closable: {
18
- description: 'Specify if the notification is closable',
19
- control: 'boolean',
20
- },
21
- hasfooter: {
22
- description: 'Specify if the notification has a footer',
23
- control: 'boolean',
24
- },
25
9
  status: {
26
- description: 'Specify the notification type',
27
- control: { type: 'radio' },
28
- options: ['warning', 'error', 'success', 'info'],
10
+ control: 'radio',
11
+ options: ['info', 'success', 'warning', 'error'],
29
12
  },
30
- onclose: {
31
- name: 'onclose',
32
- description: 'On close button clicked',
33
- action: 'click',
34
- table: {
35
- category: 'Events',
36
- },
13
+ close: {
14
+ control: false,
37
15
  },
38
16
  },
17
+ args: {
18
+ title: 'This is a title, be concise and use the description message to give details.',
19
+ description: 'Description message.',
20
+ },
21
+ render: (args) => html ` <m-status-notification
22
+ title=${ifDefined(args.title)}
23
+ description=${ifDefined(args.description)}
24
+ status=${ifDefined(args.status)}
25
+ closable=${ifDefined(args.closable)}
26
+ @close=${action('close')}
27
+ >
28
+ ${unsafeHTML(ifDefined(args.footer))}
29
+ </m-status-notification>`,
39
30
  };
40
- const Template = (args) => {
41
- const notification = document.createElement('m-status-notification');
42
- notification.setAttribute('title', 'This is a title');
43
- if (args.closable)
44
- notification.setAttribute('closable', args.closable);
45
- if (args.hasfooter)
46
- notification.setAttribute('hasfooter', args.hasfooter);
47
- notification.innerText = 'This is a description, be concise and use the description message to give details.';
48
- const Slot = document.createElement('div');
49
- Slot.setAttribute('slot', 'footer');
50
- Slot.classList.add('content-slot');
51
- Slot.innerHTML = 'Insert footer slot (Action element)';
52
- notification.appendChild(Slot);
53
- if (args.title)
54
- notification.setAttribute('title', args.title);
55
- if (args.description)
56
- notification.setAttribute('description', args.description);
57
- if (args.status)
58
- notification.setAttribute('status', args.status);
59
- notification.onclose = action('onclose');
60
- return notification;
31
+ export default meta;
32
+ export const Info = {};
33
+ export const Success = {
34
+ args: { status: 'success' },
61
35
  };
62
- export const Default = Template.bind({});
63
- Default.args = {};
64
- Default.play = async ({ canvasElement }) => {
65
- const notification = canvasElement.querySelector('m-status-notification');
66
- expect(notification?.getAttribute('title')).toBe('This is a title');
36
+ export const Warning = {
37
+ args: { status: 'warning' },
67
38
  };
68
- export const Warning = Template.bind({});
69
- Warning.args = { title: 'Warning Notification', status: 'warning' };
70
- Warning.play = async ({ canvasElement }) => {
71
- const notification = canvasElement.querySelector('m-status-notification');
72
- expect(notification).toHaveAttribute('status', 'warning');
73
- expect(notification?.getAttribute('title')).toBe('Warning Notification');
39
+ export const Error = {
40
+ args: { status: 'error' },
74
41
  };
75
- export const Danger = Template.bind({});
76
- Danger.args = { title: 'Danger Notification', status: 'error' };
77
- Danger.play = async ({ canvasElement }) => {
78
- const notification = canvasElement.querySelector('m-status-notification');
79
- expect(notification).toHaveAttribute('status', 'error');
80
- expect(notification?.getAttribute('title')).toBe('Danger Notification');
42
+ export const Closable = {
43
+ args: { closable: true },
81
44
  };
82
- export const Success = Template.bind({});
83
- Success.args = { title: 'Success Notification', status: 'success' };
84
- Success.play = async ({ canvasElement }) => {
85
- const notification = canvasElement.querySelector('m-status-notification');
86
- expect(notification).toHaveAttribute('status', 'success');
87
- expect(notification?.getAttribute('title')).toBe('Success Notification');
45
+ export const WithButton = {
46
+ args: {
47
+ footer: `<m-button outlined slot="footer">Button Label</m-button>`,
48
+ },
88
49
  };
89
- export const WithFooter = Template.bind({});
90
- WithFooter.args = {
91
- title: 'Success Notification',
92
- status: 'success',
93
- hasfooter: 'true',
50
+ export const WithButtons = {
51
+ args: {
52
+ footer: `
53
+ <m-button slot="footer">Button Label</m-button>
54
+ <m-button slot="footer" outlined="true">Button Label</m-button>
55
+ `,
56
+ },
94
57
  };
95
- WithFooter.play = async ({ canvasElement }) => {
96
- const notification = canvasElement.querySelector('m-status-notification');
97
- const footerSlot = notification?.querySelector('[slot="footer"]');
98
- expect(notification).toHaveAttribute('hasfooter', 'true');
99
- expect(footerSlot).toBeTruthy();
100
- expect(footerSlot?.textContent).toContain('Insert footer slot');
58
+ export const WithLink = {
59
+ args: {
60
+ footer: `
61
+ <m-link href="#" iconPosition="right" slot="footer">
62
+ Stand-alone link
63
+
64
+ <arrow-next-20 slot="icon"></arrow-next-20>
65
+ </m-link>
66
+ `,
67
+ },
101
68
  };
@@ -1,39 +1,41 @@
1
1
  <svelte:options customElement={{ tag: 'm-status-notification' }} />
2
2
 
3
3
  <script lang="ts">
4
- import type { Snippet } from 'svelte';
5
4
  import Cross20 from '@mozaic-ds/icons-svelte/svelte/Cross20/Cross20.svelte';
6
- import InfoCircle32 from '@mozaic-ds/icons-svelte/svelte/InfoCircle32/InfoCircle32.svelte';
7
- import WarningCircle32 from '@mozaic-ds/icons-svelte/svelte/WarningCircle32/WarningCircle32.svelte';
8
- import CrossCircle32 from '@mozaic-ds/icons-svelte/svelte/CrossCircle32/CrossCircle32.svelte';
9
- import CheckCircle32 from '@mozaic-ds/icons-svelte/svelte/CheckCircle32/CheckCircle32.svelte';
10
-
5
+ import InfoCircle32 from '@mozaic-ds/icons-svelte/svelte/InfoCircleFilled32/InfoCircleFilled32.svelte';
6
+ import WarningCircle32 from '@mozaic-ds/icons-svelte/svelte/WarningCircleFilled32/WarningCircleFilled32.svelte';
7
+ import CrossCircle32 from '@mozaic-ds/icons-svelte/svelte/CrossCircleFilled32/CrossCircleFilled32.svelte';
8
+ import CheckCircle32 from '@mozaic-ds/icons-svelte/svelte/CheckCircleFilled32/CheckCircleFilled32.svelte';
9
+ /**
10
+ * A Status Notification is used to draw the user’s attention to important information that needs to be acknowledged. It often provides feedback on a process, highlights a status update, or alerts users about an issue. Notifications are typically triggered by user actions or system events and are designed to be easily noticeable while maintaining a non-intrusive experience.
11
+ *
12
+ * @slot footer - Use this slot to insert a button or a link in the footer
13
+ * @event close {CustomEvent<void>} - Emits when closing the notification.
14
+ */
11
15
  interface Props {
16
+ /**
17
+ * Title of the status notification.
18
+ */
12
19
  title: string;
13
- children?: Snippet;
14
- status?: 'information' | 'success' | 'warning' | 'error';
20
+ /**
21
+ * Description of the status notification.
22
+ */
23
+ description: string;
24
+ /**
25
+ * Allows to define the status notification type.
26
+ */
27
+ status?: 'info' | 'success' | 'warning' | 'error';
28
+ /**
29
+ * if `true`, display the close button.
30
+ */
15
31
  closable?: boolean;
16
- hasfooter?: boolean;
17
- footer?: Snippet;
18
- closelabel?: string;
19
- titletag?: string;
20
- onclose?: (event: MouseEvent) => void;
21
32
  }
22
33
 
23
- let {
24
- title,
25
- children,
26
- status = 'information',
27
- closable = false,
28
- hasfooter = false,
29
- footer,
30
- closelabel = 'Close',
31
- titletag = 'h2',
32
- onclose,
33
- }: Props = $props();
34
+ let { title, description, status = 'info', closable }: Props = $props();
35
+ let element: HTMLElement;
34
36
 
35
37
  const iconMap = [
36
- { status: 'information', component: InfoCircle32 },
38
+ { status: 'info', component: InfoCircle32 },
37
39
  { status: 'success', component: CheckCircle32 },
38
40
  { status: 'warning', component: WarningCircle32 },
39
41
  { status: 'error', component: CrossCircle32 },
@@ -44,57 +46,43 @@
44
46
  }
45
47
 
46
48
  let selected = $state(getSelected(status));
49
+
50
+ const onClose = () => {
51
+ const event = new CustomEvent('close', {
52
+ bubbles: true,
53
+ composed: true,
54
+ });
55
+ element.dispatchEvent(event);
56
+ };
47
57
  </script>
48
58
 
49
59
  <section
50
- class="mc-status-notification"
60
+ class={['mc-status-notification', `mc-status-notification--${status}`]}
51
61
  role="status"
52
- class:mc-status-notification--success={status === 'success'}
53
- class:mc-status-notification--warning={status === 'warning'}
54
- class:mc-status-notification--error={status === 'error'}
62
+ bind:this={element}
55
63
  >
56
64
  <span class="mc-status-notification__icon" aria-hidden="true">
57
- <selected.component
58
- class="mc-status-notification__icon"
59
- aria-hidden="true"
60
- />
65
+ <selected.component class="mc-status-notification__icon" aria-hidden="true" />
61
66
  </span>
62
67
 
63
68
  <div class="mc-status-notification__content">
64
- {#if title}
65
- <svelte:element this={titletag} class="mc-status-notification__title"
66
- >{title}</svelte:element
67
- >
68
- {/if}
69
+ <h2 class="mc-status-notification__title">{title}</h2>
69
70
  <p class="mc-status-notification__message">
70
- {#if children}
71
- {@render children()}
72
- {:else}
73
- <slot />
74
- {/if}
71
+ {description}
75
72
  </p>
76
73
 
77
- {#if hasfooter}
78
- <div class="mc-status-notification__footer">
79
- {#if footer}
80
- {@render footer()}
81
- {:else}
82
- <slot name="footer" />
83
- {/if}
84
- </div>
85
- {/if}
74
+ <div class="mc-status-notification__footer">
75
+ <slot name="footer" />
76
+ </div>
86
77
  </div>
87
78
 
88
79
  {#if closable}
89
- <button
90
- class="mc-status-notification-closable__close mc-button mc-button--s mc-button--icon-button mc-button--ghost"
80
+ <button
81
+ class="mc-status-notification-closable__close mc-button mc-button--s mc-button--icon-button mc-button--ghost"
91
82
  aria-label="Close"
92
- onclick={onclose}
83
+ onclick={onClose}
93
84
  >
94
- <Cross20
95
- class="mc-status-notification-closable__icon"
96
- aria-hidden="true"
97
- />
85
+ <Cross20 class="mc-status-notification-closable__icon" aria-hidden="true" />
98
86
  </button>
99
87
  {/if}
100
88
  </section>
@@ -441,16 +429,13 @@
441
429
  cursor: not-allowed;
442
430
  }
443
431
 
444
- /* create columns */
445
- /* create columns */
446
- /* create custom named columns with custom content */
447
432
  .mc-status-notification {
448
433
  border-radius: var(--radius-m, 0.5rem);
434
+ background: var(--status-notification-color-background-information, #e1f3f9);
435
+ box-shadow: inset 0 0 0 var(--border-s, 1px) var(--status-notification-color-border-information, #3facd7);
449
436
  display: flex;
450
437
  flex-flow: row wrap;
451
438
  align-items: flex-start;
452
- background: var(--status-notification-color-background-information, #e1f3f9);
453
- box-shadow: inset 0 0 0 var(--border-s, 1px) var(--status-notification-color-border-information, #3facd7);
454
439
  position: relative;
455
440
  box-sizing: border-box;
456
441
  color: var(--status-notification-color-text, #000000);
@@ -515,4 +500,8 @@
515
500
  }
516
501
  .mc-status-notification-closable__close {
517
502
  margin: 0.25rem;
503
+ }
504
+
505
+ .mc-status-notification__footer:empty {
506
+ display: none;
518
507
  }</style>
@@ -1,14 +1,26 @@
1
- import type { Snippet } from 'svelte';
1
+ /**
2
+ * A Status Notification is used to draw the user’s attention to important information that needs to be acknowledged. It often provides feedback on a process, highlights a status update, or alerts users about an issue. Notifications are typically triggered by user actions or system events and are designed to be easily noticeable while maintaining a non-intrusive experience.
3
+ *
4
+ * @slot footer - Use this slot to insert a button or a link in the footer
5
+ * @event close {CustomEvent<void>} - Emits when closing the notification.
6
+ */
2
7
  interface Props {
8
+ /**
9
+ * Title of the status notification.
10
+ */
3
11
  title: string;
4
- children?: Snippet;
5
- status?: 'information' | 'success' | 'warning' | 'error';
12
+ /**
13
+ * Description of the status notification.
14
+ */
15
+ description: string;
16
+ /**
17
+ * Allows to define the status notification type.
18
+ */
19
+ status?: 'info' | 'success' | 'warning' | 'error';
20
+ /**
21
+ * if `true`, display the close button.
22
+ */
6
23
  closable?: boolean;
7
- hasfooter?: boolean;
8
- footer?: Snippet;
9
- closelabel?: string;
10
- titletag?: string;
11
- onclose?: (event: MouseEvent) => void;
12
24
  }
13
25
  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
26
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -23,18 +35,9 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
23
35
  };
24
36
  z_$$bindings?: Bindings;
25
37
  }
26
- type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
27
- default: any;
28
- } ? Props extends Record<string, never> ? any : {
29
- children?: any;
30
- } : {});
31
- declare const StatusNotification: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<Props, {
32
- default: {};
33
- footer: {};
34
- }>, {
38
+ declare const StatusNotification: $$__sveltets_2_IsomorphicComponent<Props, {
35
39
  [evt: string]: CustomEvent<any>;
36
40
  }, {
37
- default: {};
38
41
  footer: {};
39
42
  }, {}, "">;
40
43
  type StatusNotification = InstanceType<typeof StatusNotification>;
@@ -1 +1 @@
1
- {"version":3,"file":"StatusNotification.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/statusnotification/StatusNotification.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAQpC,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CACvC;AA6EH,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,kBAAkB;;;;;;;;UAAqF,CAAC;AAC5F,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"StatusNotification.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/statusnotification/StatusNotification.svelte.ts"],"names":[],"mappings":"AASE;;;;;GAKG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA+DH,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;AAUD,QAAA,MAAM,kBAAkB;;;;UAAqF,CAAC;AAC5F,KAAK,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,20 @@
1
+ # `m-tab`
2
+
3
+ Tabs are a navigation component that allows users to switch between different sections within the same context. They help organize content efficiently by displaying only one section at a time, reducing clutter and improving accessibility. Tabs can include icons, labels, and notification badges to provide additional context. They are commonly used in dashboards, product management, and settings interfaces.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `tag` | The HTML tag used for the tab. | `'a'` `'button'` | `button` |
10
+ | `selected` | If `true`, the tab will be selected. | `boolean` | `false` |
11
+ | `href` | URL for the tab link. | `string` | |
12
+ | `disabled` | If `true`, the tab will be disabled. | `boolean` | |
13
+
14
+ ## Slots
15
+
16
+ | Name | Description |
17
+ |------|-------------|
18
+ | `icon` | Use this slot to insert an icon for the tab. |
19
+ | `default` | The content displayed in the tab. |
20
+
@@ -0,0 +1,4 @@
1
+ import{c as E,p as S,a as T,b as f,f as h,d as o,i as u,j as q,k as i,z as A,r,s as y}from"../../custom-element.js";import{i as B}from"../../if.js";import{s as b}from"../../slot.js";import{b as x}from"../../attributes.js";var C=h('<button><span class="mc-tabs__icon svelte-g14hff"><!></span> <span class="mc-tabs__label svelte-g14hff"><!></span></button>'),F=h('<a><span class="mc-tabs__icon svelte-g14hff"><!></span> <span class="mc-tabs__label svelte-g14hff"><!></span></a>'),G=h('<li class="mc-tabs__item" role="presentation"><!></li>');const H={hash:"svelte-g14hff",code:`/**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */.mc-tabs.svelte-g14hff {background-color:var(--tabs-color-background-default, #ffffff);position:relative;width:100%;height:3.5rem;}.mc-tabs__list.svelte-g14hff {list-style-type:none;padding-inline-start:0;margin-block:0;display:flex;gap:0.5rem;padding:0.5rem 0.25rem;}.mc-tabs__tab.svelte-g14hff {font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-semi-bold, 600);align-items:center;background:none;border:none;border-radius:var(--radius-s, 0.25rem);color:var(--tabs-color-text-default, #404040);cursor:pointer;display:flex;gap:0.25rem;height:2.5rem;justify-content:center;outline:none;padding-left:0.75rem;padding-right:0.75rem;position:relative;text-decoration:none;}.mc-tabs__tab.svelte-g14hff:hover {background-color:var(--tabs-color-background-hover, rgba(0, 0, 0, 0.05));}.mc-tabs__tab.svelte-g14hff: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-tabs__tab--selected.svelte-g14hff {color:var(--tabs-color-text-selected, #006902);background-color:var(--tabs-color-background-selected, #ebf5de);}.mc-tabs__tab--selected.svelte-g14hff:hover {background-color:var(--tabs-color-background-selected-hover, #c5e39e);}.mc-tabs__tab--disabled.svelte-g14hff {color:var(--tabs-color-text-disabled, #b3b3b3);cursor:not-allowed;}.mc-tabs__tab--disabled.svelte-g14hff:hover {background:none;}.mc-tabs__label.svelte-g14hff {pointer-events:none;}.mc-tabs__icon.svelte-g14hff {fill:currentcolor;height:1.5rem;width:1.5rem;}.mc-tabs__icon.svelte-g14hff:empty {display:none;}`};function I(p,t){S(t,!0),T(p,H);let d=f(t,"tag",7,"button"),l=f(t,"selected",7,!1),v=f(t,"href",7),n=f(t,"disabled",7),k=A(t,["$$slots","$$events","$$legacy","$$host","tag","selected","href","disabled"]);var w={get tag(){return d()},set tag(e="button"){d(e),i()},get selected(){return l()},set selected(e=!1){l(e),i()},get href(){return v()},set href(e){v(e),i()},get disabled(){return n()},set disabled(e){n(e),i()}},m=G(),z=o(m);{var j=e=>{var a=C();x(a,()=>({type:"button",role:"tab","aria-selected":l(),class:["mc-tabs__tab",l()&&"mc-tabs__tab--selected",n()&&"mc-tabs__tab--disabled"],...k}),void 0,void 0,"svelte-g14hff");var s=o(a),_=o(s);b(_,t,"icon",{}),r(s);var c=y(s,2),g=o(c);b(g,t,"default",{}),r(c),r(a),u(e,a)},D=e=>{var a=F();x(a,()=>({href:v(),role:"tab","aria-selected":l(),class:["mc-tabs__tab",l()&&"mc-tabs__tab--selected",n()&&"mc-tabs__tab--disabled"],...k}),void 0,void 0,"svelte-g14hff");var s=o(a),_=o(s);b(_,t,"icon",{}),r(s);var c=y(s,2),g=o(c);b(g,t,"default",{}),r(c),r(a),u(e,a)};B(z,e=>{d()==="button"?e(j):e(D,!1)})}return r(m),u(p,m),q(w)}customElements.define("m-tab",E(I,{tag:{},selected:{},href:{},disabled:{}},["icon","default"],[],!0));
4
+ //# sourceMappingURL=Tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.js","sources":["../../../src/components/tab/Tab.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-tab' }} />\n\n<script lang=\"ts\">\n /**\n * Tabs are a navigation component that allows users to switch between different sections within the same context. They help organize content efficiently by displaying only one section at a time, reducing clutter and improving accessibility. Tabs can include icons, labels, and notification badges to provide additional context. They are commonly used in dashboards, product management, and settings interfaces.\n *\n * @slot default - The content displayed in the tab.\n * @slot icon - Use this slot to insert an icon for the tab.\n */\n interface Props {\n [key: string]: any;\n /**\n * The HTML tag used for the tab.\n */\n tag?: 'a' | 'button';\n /**\n * If `true`, the tab will be selected.\n */\n selected?: boolean;\n /**\n * URL for the tab link.\n */\n href?: string;\n /**\n * If `true`, the tab will be disabled.\n */\n disabled?: boolean;\n }\n\n let { tag = 'button', selected = false, href, disabled, ...attrs }: Props = $props();\n</script>\n\n<li class=\"mc-tabs__item\" role=\"presentation\">\n {#if tag === 'button'}\n <button\n type=\"button\"\n role=\"tab\"\n aria-selected={selected}\n class={[\n 'mc-tabs__tab',\n selected && 'mc-tabs__tab--selected',\n disabled && 'mc-tabs__tab--disabled',\n ]}\n {...attrs}\n >\n <span class=\"mc-tabs__icon\">\n <slot name=\"icon\" />\n </span>\n\n <span class=\"mc-tabs__label\">\n <slot />\n </span>\n </button>\n {:else}\n <a\n {href}\n role=\"tab\"\n aria-selected={selected}\n class={[\n 'mc-tabs__tab',\n selected && 'mc-tabs__tab--selected',\n disabled && 'mc-tabs__tab--disabled',\n ]}\n {...attrs}\n >\n <span class=\"mc-tabs__icon\">\n <slot name=\"icon\" />\n </span>\n <span class=\"mc-tabs__label\">\n <slot />\n </span>\n </a>\n {/if}\n</li>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/tabs';\n\n .mc-tabs__icon:empty {\n display: none;\n }\n</style>\n"],"names":["tag","selected","href","$.prop","$$props","disabled","attrs","$.rest_props","$$render","consequent","alternate"],"mappings":";;4qDAAA,gBA6BQ,IAAAA,cAAM,QAAQ,EAAEC,mBAAW,EAAK,EAAEC,EAAIC,EAAAC,EAAA,OAAA,CAAA,EAAEC,EAAQF,EAAAC,EAAA,WAAA,CAAA,EAAKE,EAAKC,EAAAH,EAAA,sHAApD,SAAQ,qDAAa,GAAK,mMAQnBH,EAAQ,SAErB,eACAA,EAAQ,GAAI,yBACZI,KAAY,6BAEVC,mMAcWL,EAAQ,SAErB,eACAA,EAAQ,GAAI,yBACZI,KAAY,6BAEVC,6IA9BHN,EAAG,IAAK,SAAQQ,EAAAC,CAAA,EAAAD,EAAAE,EAAA,EAAA,2BAHvB"}
@@ -0,0 +1,58 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { render, fireEvent } from '@testing-library/svelte';
3
+ import Tab from './Tab.svelte';
4
+ describe('mc-tab component', () => {
5
+ it('renders as a <button> by default', () => {
6
+ const { container } = render(Tab);
7
+ const button = container.querySelector('button');
8
+ expect(button).toBeTruthy();
9
+ expect(button?.getAttribute('role')).toBe('tab');
10
+ expect(button?.classList.contains('mc-tabs__tab')).toBe(true);
11
+ });
12
+ it('renders as an <a> when tag="a" is passed', () => {
13
+ const { container } = render(Tab, {
14
+ props: { tag: 'a', href: '/example' },
15
+ });
16
+ const anchor = container.querySelector('a');
17
+ expect(anchor).toBeTruthy();
18
+ expect(anchor?.getAttribute('role')).toBe('tab');
19
+ expect(anchor?.getAttribute('href')).toBe('/example');
20
+ expect(anchor?.classList.contains('mc-tabs__tab')).toBe(true);
21
+ });
22
+ it('applies selected class when selected=true', () => {
23
+ const { container } = render(Tab, {
24
+ props: { selected: true },
25
+ });
26
+ const button = container.querySelector('button');
27
+ expect(button?.getAttribute('aria-selected')).toBe('true');
28
+ expect(button?.classList.contains('mc-tabs__tab--selected')).toBe(true);
29
+ });
30
+ it('applies disabled class when disabled=true', () => {
31
+ const { container } = render(Tab, {
32
+ props: { disabled: true },
33
+ });
34
+ const button = container.querySelector('button');
35
+ expect(button?.classList.contains('mc-tabs__tab--disabled')).toBe(true);
36
+ });
37
+ it('fires click event when clicked', async () => {
38
+ const { container } = render(Tab);
39
+ const button = container.querySelector('button');
40
+ const clickHandler = vi.fn();
41
+ button.addEventListener('click', clickHandler);
42
+ await fireEvent.click(button);
43
+ expect(clickHandler).toHaveBeenCalledOnce();
44
+ });
45
+ it('passes arbitrary attributes to the button element', () => {
46
+ const { container } = render(Tab, {
47
+ props: {
48
+ 'aria-label': 'My tab',
49
+ name: 'custom-tab',
50
+ id: 'tab-1',
51
+ },
52
+ });
53
+ const button = container.querySelector('button');
54
+ expect(button.getAttribute('aria-label')).toBe('My tab');
55
+ expect(button.getAttribute('name')).toBe('custom-tab');
56
+ expect(button.getAttribute('id')).toBe('tab-1');
57
+ });
58
+ });
@@ -1,23 +1,33 @@
1
- <svelte:options customElement={{ tag: 'mc-tab' }} />
1
+ <svelte:options customElement={{ tag: 'm-tab' }} />
2
2
 
3
3
  <script lang="ts">
4
+ /**
5
+ * Tabs are a navigation component that allows users to switch between different sections within the same context. They help organize content efficiently by displaying only one section at a time, reducing clutter and improving accessibility. Tabs can include icons, labels, and notification badges to provide additional context. They are commonly used in dashboards, product management, and settings interfaces.
6
+ *
7
+ * @slot default - The content displayed in the tab.
8
+ * @slot icon - Use this slot to insert an icon for the tab.
9
+ */
4
10
  interface Props {
11
+ [key: string]: any;
12
+ /**
13
+ * The HTML tag used for the tab.
14
+ */
15
+ tag?: 'a' | 'button';
16
+ /**
17
+ * If `true`, the tab will be selected.
18
+ */
5
19
  selected?: boolean;
20
+ /**
21
+ * URL for the tab link.
22
+ */
6
23
  href?: string;
7
- tag?: 'a' | 'button';
24
+ /**
25
+ * If `true`, the tab will be disabled.
26
+ */
8
27
  disabled?: boolean;
9
- hasiconslot?: boolean;
10
- [key: string]: any; // pour on:click etc.
11
28
  }
12
29
 
13
- let {
14
- selected = false,
15
- href,
16
- tag = 'button',
17
- disabled = false,
18
- hasiconslot = false,
19
- ...events
20
- }: Props = $props();
30
+ let { tag = 'button', selected = false, href, disabled, ...attrs }: Props = $props();
21
31
  </script>
22
32
 
23
33
  <li class="mc-tabs__item" role="presentation">
@@ -26,16 +36,16 @@
26
36
  type="button"
27
37
  role="tab"
28
38
  aria-selected={selected}
29
- class="mc-tabs__tab"
30
- class:mc-tabs__tab--selected={selected}
31
- class:mc-tabs__tab--disabled={disabled}
32
- {...events}
39
+ class={[
40
+ 'mc-tabs__tab',
41
+ selected && 'mc-tabs__tab--selected',
42
+ disabled && 'mc-tabs__tab--disabled',
43
+ ]}
44
+ {...attrs}
33
45
  >
34
- {#if hasiconslot}
35
- <span class="mc-tabs__icon">
36
- <slot name="icon" />
37
- </span>
38
- {/if}
46
+ <span class="mc-tabs__icon">
47
+ <slot name="icon" />
48
+ </span>
39
49
 
40
50
  <span class="mc-tabs__label">
41
51
  <slot />
@@ -46,16 +56,16 @@
46
56
  {href}
47
57
  role="tab"
48
58
  aria-selected={selected}
49
- class="mc-tabs__tab"
50
- class:mc-tabs__tab--selected={selected}
51
- class:mc-tabs__tab--disabled={disabled}
52
- {...events}
59
+ class={[
60
+ 'mc-tabs__tab',
61
+ selected && 'mc-tabs__tab--selected',
62
+ disabled && 'mc-tabs__tab--disabled',
63
+ ]}
64
+ {...attrs}
53
65
  >
54
- {#if hasiconslot}
55
- <span class="mc-tabs__icon">
56
- <slot name="icon" />
57
- </span>
58
- {/if}
66
+ <span class="mc-tabs__icon">
67
+ <slot name="icon" />
68
+ </span>
59
69
  <span class="mc-tabs__label">
60
70
  <slot />
61
71
  </span>
@@ -131,4 +141,8 @@
131
141
  }
132
142
  .mc-tabs--centered .mc-tabs__list {
133
143
  justify-content: center;
144
+ }
145
+
146
+ .mc-tabs__icon:empty {
147
+ display: none;
134
148
  }</style>
@@ -1,10 +1,27 @@
1
+ /**
2
+ * Tabs are a navigation component that allows users to switch between different sections within the same context. They help organize content efficiently by displaying only one section at a time, reducing clutter and improving accessibility. Tabs can include icons, labels, and notification badges to provide additional context. They are commonly used in dashboards, product management, and settings interfaces.
3
+ *
4
+ * @slot default - The content displayed in the tab.
5
+ * @slot icon - Use this slot to insert an icon for the tab.
6
+ */
1
7
  interface Props {
8
+ [key: string]: any;
9
+ /**
10
+ * The HTML tag used for the tab.
11
+ */
12
+ tag?: 'a' | 'button';
13
+ /**
14
+ * If `true`, the tab will be selected.
15
+ */
2
16
  selected?: boolean;
17
+ /**
18
+ * URL for the tab link.
19
+ */
3
20
  href?: string;
4
- tag?: 'a' | 'button';
21
+ /**
22
+ * If `true`, the tab will be disabled.
23
+ */
5
24
  disabled?: boolean;
6
- hasiconslot?: boolean;
7
- [key: string]: any;
8
25
  }
9
26
  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> {
10
27
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/tab/Tab.svelte.ts"],"names":[],"mappings":"AAGE;;;;;GAKG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA4CH,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,GAAG;;;;;;;;UAAqF,CAAC;AAC7E,KAAK,GAAG,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AACtC,eAAe,GAAG,CAAC"}
@@ -0,0 +1,18 @@
1
+ # `m-tabs`
2
+
3
+ Tabs are a navigation component that allows users to switch between different sections within the same context. They help organize content efficiently by displaying only one section at a time, reducing clutter and improving accessibility. Tabs can include icons, labels, and notification badges to provide additional context. They are commonly used in dashboards, product management, and settings interfaces.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `description` | A description indicating the purpose of the set of tabs. Useful for improving the accessibility of the component. | `string` | |
10
+ | `divider` | If `true`, the divider will appear. | `boolean` | `true` |
11
+ | `centered` | If `true`, the tabs of the component will be centered. | `boolean` | |
12
+
13
+ ## Slots
14
+
15
+ | Name | Description |
16
+ |------|-------------|
17
+ | `tab` | use this slot to insert `m-tab` components. |
18
+