@mozaic-ds/web-components 1.0.0-beta.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +36 -68
  2. package/dist/Cross20.js +1 -1
  3. package/dist/Cross20.js.map +1 -1
  4. package/dist/Cross24.js +1 -1
  5. package/dist/Cross24.js.map +1 -1
  6. package/dist/CrossCircleFilled24.js +1 -1
  7. package/dist/CrossCircleFilled24.js.map +1 -1
  8. package/dist/attributes.js +1 -1
  9. package/dist/attributes.js.map +1 -1
  10. package/dist/bundle.d.ts +24 -23
  11. package/dist/bundle.d.ts.map +1 -1
  12. package/dist/bundle.js +24 -23
  13. package/dist/components/avatar/Avatar.js +2 -5
  14. package/dist/components/avatar/Avatar.js.map +1 -1
  15. package/dist/components/avatar/Avatar.spec.js +17 -0
  16. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  17. package/dist/components/avatar/Avatar.stories.js +3 -29
  18. package/dist/components/avatar/Avatar.svelte +9 -10
  19. package/dist/components/avatar/Avatar.svelte.d.ts +2 -0
  20. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  21. package/dist/components/avatar/README.md +16 -0
  22. package/dist/components/breadcrumb/Breadcrumb.js +6 -9
  23. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  24. package/dist/components/breadcrumb/Breadcrumb.spec.js +42 -0
  25. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  26. package/dist/components/breadcrumb/Breadcrumb.stories.js +6 -35
  27. package/dist/components/breadcrumb/Breadcrumb.svelte +26 -34
  28. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  29. package/dist/components/breadcrumb/README.md +11 -0
  30. package/dist/components/button/Button.js +3 -6
  31. package/dist/components/button/Button.js.map +1 -1
  32. package/dist/components/button/Button.spec.js +74 -0
  33. package/dist/components/button/Button.stories.d.ts +9 -13
  34. package/dist/components/button/Button.stories.d.ts.map +1 -1
  35. package/dist/components/button/Button.stories.js +46 -146
  36. package/dist/components/button/Button.svelte +186 -168
  37. package/dist/components/button/Button.svelte.d.ts +36 -8
  38. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  39. package/dist/components/button/README.md +26 -0
  40. package/dist/components/callout/Callout.js +2 -5
  41. package/dist/components/callout/Callout.js.map +1 -1
  42. package/dist/components/callout/Callout.spec.js +33 -0
  43. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  44. package/dist/components/callout/Callout.stories.js +2 -55
  45. package/dist/components/callout/Callout.svelte +15 -14
  46. package/dist/components/callout/Callout.svelte.d.ts +4 -0
  47. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  48. package/dist/components/callout/README.md +20 -0
  49. package/dist/components/checkbox/Checkbox.js +3 -6
  50. package/dist/components/checkbox/Checkbox.js.map +1 -1
  51. package/dist/components/checkbox/Checkbox.spec.js +70 -0
  52. package/dist/components/checkbox/Checkbox.stories.d.ts +11 -16
  53. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  54. package/dist/components/checkbox/Checkbox.stories.js +67 -124
  55. package/dist/components/checkbox/Checkbox.svelte +75 -58
  56. package/dist/components/checkbox/Checkbox.svelte.d.ts +31 -6
  57. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  58. package/dist/components/checkbox/README.md +17 -0
  59. package/dist/components/checkboxgroup/CheckboxGroup.js +4 -7
  60. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  61. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +113 -0
  62. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +5 -13
  63. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  64. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +56 -140
  65. package/dist/components/checkboxgroup/CheckboxGroup.svelte +89 -81
  66. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +30 -6
  67. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  68. package/dist/components/checkboxgroup/README.md +14 -0
  69. package/dist/components/circularprogressbar/CircularProgressbar.js +4 -7
  70. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  71. package/dist/components/circularprogressbar/CircularProgressbar.spec.js +74 -0
  72. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +6 -6
  73. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  74. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +29 -68
  75. package/dist/components/circularprogressbar/CircularProgressbar.svelte +46 -30
  76. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +18 -0
  77. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  78. package/dist/components/circularprogressbar/README.md +14 -0
  79. package/dist/components/datepicker/Datepicker.js +3 -6
  80. package/dist/components/datepicker/Datepicker.js.map +1 -1
  81. package/dist/components/datepicker/Datepicker.spec.js +95 -0
  82. package/dist/components/datepicker/Datepicker.stories.d.ts +7 -6
  83. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  84. package/dist/components/datepicker/Datepicker.stories.js +58 -75
  85. package/dist/components/datepicker/Datepicker.svelte +103 -79
  86. package/dist/components/datepicker/Datepicker.svelte.d.ts +30 -1
  87. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  88. package/dist/components/datepicker/README.md +18 -0
  89. package/dist/components/drawer/Drawer.js +12 -15
  90. package/dist/components/drawer/Drawer.js.map +1 -1
  91. package/dist/components/drawer/Drawer.spec.js +101 -0
  92. package/dist/components/drawer/Drawer.stories.d.ts +29 -8
  93. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  94. package/dist/components/drawer/Drawer.stories.js +86 -87
  95. package/dist/components/drawer/Drawer.svelte +185 -161
  96. package/dist/components/drawer/Drawer.svelte.d.ts +26 -3
  97. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  98. package/dist/components/drawer/README.md +29 -0
  99. package/dist/components/field/Field.js +3 -6
  100. package/dist/components/field/Field.js.map +1 -1
  101. package/dist/components/field/Field.spec.js +51 -0
  102. package/dist/components/field/Field.stories.d.ts +9 -15
  103. package/dist/components/field/Field.stories.d.ts.map +1 -1
  104. package/dist/components/field/Field.stories.js +86 -142
  105. package/dist/components/field/Field.svelte +63 -30
  106. package/dist/components/field/Field.svelte.d.ts +38 -7
  107. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  108. package/dist/components/field/README.md +24 -0
  109. package/dist/components/flag/Flag.js +2 -5
  110. package/dist/components/flag/Flag.js.map +1 -1
  111. package/dist/components/flag/Flag.spec.js +30 -0
  112. package/dist/components/flag/Flag.stories.d.ts +8 -18
  113. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  114. package/dist/components/flag/Flag.stories.js +28 -106
  115. package/dist/components/flag/Flag.svelte +23 -24
  116. package/dist/components/flag/Flag.svelte.d.ts +10 -28
  117. package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
  118. package/dist/components/flag/README.md +11 -0
  119. package/dist/components/iconbutton/IconButton.js +2 -5
  120. package/dist/components/iconbutton/IconButton.js.map +1 -1
  121. package/dist/components/iconbutton/IconButton.stories.d.ts +11 -11
  122. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  123. package/dist/components/iconbutton/IconButton.stories.js +51 -67
  124. package/dist/components/iconbutton/IconButton.svelte +157 -152
  125. package/dist/components/iconbutton/IconButton.svelte.d.ts +28 -7
  126. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  127. package/dist/components/iconbutton/README.md +21 -0
  128. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -5
  129. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  130. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.spec.js +28 -0
  131. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +5 -7
  132. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  133. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +18 -49
  134. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +19 -12
  135. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +10 -1
  136. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  137. package/dist/components/linearprogressbarbuffer/README.md +11 -0
  138. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -5
  139. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  140. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.spec.js +26 -0
  141. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +4 -5
  142. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  143. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +15 -33
  144. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +19 -16
  145. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +6 -0
  146. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
  147. package/dist/components/linearprogressbarpercentage/README.md +10 -0
  148. package/dist/components/link/Link.js +2 -5
  149. package/dist/components/link/Link.js.map +1 -1
  150. package/dist/components/link/Link.spec.js +51 -0
  151. package/dist/components/link/Link.stories.d.ts +12 -12
  152. package/dist/components/link/Link.stories.d.ts.map +1 -1
  153. package/dist/components/link/Link.stories.js +61 -74
  154. package/dist/components/link/Link.svelte +54 -52
  155. package/dist/components/link/Link.svelte.d.ts +29 -8
  156. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  157. package/dist/components/link/README.md +23 -0
  158. package/dist/components/loader/Loader.js +7 -10
  159. package/dist/components/loader/Loader.js.map +1 -1
  160. package/dist/components/loader/Loader.spec.js +54 -0
  161. package/dist/components/loader/Loader.stories.d.ts +8 -10
  162. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  163. package/dist/components/loader/Loader.stories.js +27 -43
  164. package/dist/components/loader/Loader.svelte +42 -43
  165. package/dist/components/loader/Loader.svelte.d.ts +14 -3
  166. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  167. package/dist/components/loader/README.md +12 -0
  168. package/dist/components/loadingoverlay/LoadingOverlay.js +4 -0
  169. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -0
  170. package/dist/components/loadingoverlay/LoadingOverlay.spec.js +38 -0
  171. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +7 -0
  172. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -0
  173. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +39 -0
  174. package/dist/components/loadingoverlay/LoadingOverlay.svelte +50 -0
  175. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +17 -0
  176. package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -0
  177. package/dist/components/loadingoverlay/README.md +11 -0
  178. package/dist/components/modal/Modal.js +14 -17
  179. package/dist/components/modal/Modal.js.map +1 -1
  180. package/dist/components/modal/Modal.spec.js +50 -0
  181. package/dist/components/modal/Modal.stories.d.ts +36 -9
  182. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  183. package/dist/components/modal/Modal.stories.js +54 -83
  184. package/dist/components/modal/Modal.svelte +167 -166
  185. package/dist/components/modal/Modal.svelte.d.ts +22 -5
  186. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  187. package/dist/components/modal/README.md +28 -0
  188. package/dist/components/numberbadge/NumberBadge.js +2 -5
  189. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  190. package/dist/components/numberbadge/NumberBadge.spec.js +28 -0
  191. package/dist/components/numberbadge/NumberBadge.stories.d.ts +9 -13
  192. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  193. package/dist/components/numberbadge/NumberBadge.stories.js +28 -56
  194. package/dist/components/numberbadge/NumberBadge.svelte +36 -35
  195. package/dist/components/numberbadge/NumberBadge.svelte.d.ts +15 -4
  196. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  197. package/dist/components/numberbadge/README.md +12 -0
  198. package/dist/components/overlay/Overlay.js +2 -5
  199. package/dist/components/overlay/Overlay.js.map +1 -1
  200. package/dist/components/overlay/Overlay.spec.js +29 -0
  201. package/dist/components/overlay/Overlay.stories.d.ts +5 -7
  202. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  203. package/dist/components/overlay/Overlay.stories.js +32 -40
  204. package/dist/components/overlay/Overlay.svelte +21 -12
  205. package/dist/components/overlay/Overlay.svelte.d.ts +11 -0
  206. package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
  207. package/dist/components/overlay/README.md +17 -0
  208. package/dist/components/pagination/Pagination.js +8 -11
  209. package/dist/components/pagination/Pagination.js.map +1 -1
  210. package/dist/components/pagination/Pagination.spec.js +65 -0
  211. package/dist/components/pagination/Pagination.stories.d.ts +8 -11
  212. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  213. package/dist/components/pagination/Pagination.stories.js +37 -91
  214. package/dist/components/pagination/Pagination.svelte +53 -35
  215. package/dist/components/pagination/Pagination.svelte.d.ts +27 -4
  216. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  217. package/dist/components/pagination/README.md +16 -0
  218. package/dist/components/passwordinput/PasswordInput.js +4 -9
  219. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  220. package/dist/components/passwordinput/PasswordInput.spec.js +84 -0
  221. package/dist/components/passwordinput/PasswordInput.stories.d.ts +10 -13
  222. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  223. package/dist/components/passwordinput/PasswordInput.stories.js +67 -124
  224. package/dist/components/passwordinput/PasswordInput.svelte +424 -60
  225. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +34 -2
  226. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  227. package/dist/components/passwordinput/README.md +19 -0
  228. package/dist/components/pincode/Pincode.js +4 -7
  229. package/dist/components/pincode/Pincode.js.map +1 -1
  230. package/dist/components/pincode/Pincode.spec.js +99 -0
  231. package/dist/components/pincode/Pincode.stories.d.ts +9 -13
  232. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  233. package/dist/components/pincode/Pincode.stories.js +62 -127
  234. package/dist/components/pincode/Pincode.svelte +72 -60
  235. package/dist/components/pincode/Pincode.svelte.d.ts +30 -24
  236. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  237. package/dist/components/pincode/README.md +22 -0
  238. package/dist/components/quantityselector/QuantitySelector.js +3 -7
  239. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  240. package/dist/components/quantityselector/QuantitySelector.spec.js +104 -0
  241. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +11 -15
  242. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  243. package/dist/components/quantityselector/QuantitySelector.stories.js +77 -145
  244. package/dist/components/quantityselector/QuantitySelector.svelte +136 -112
  245. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +49 -17
  246. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  247. package/dist/components/quantityselector/README.md +21 -0
  248. package/dist/components/radio/README.md +15 -0
  249. package/dist/components/radio/Radio.js +2 -5
  250. package/dist/components/radio/Radio.js.map +1 -1
  251. package/dist/components/radio/Radio.spec.js +60 -0
  252. package/dist/components/radio/Radio.stories.d.ts +9 -13
  253. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  254. package/dist/components/radio/Radio.stories.js +54 -70
  255. package/dist/components/radio/Radio.svelte +58 -39
  256. package/dist/components/radio/Radio.svelte.d.ts +27 -5
  257. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  258. package/dist/components/radiogroup/README.md +14 -0
  259. package/dist/components/radiogroup/RadioGroup.js +4 -7
  260. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  261. package/dist/components/radiogroup/RadioGroup.spec.js +65 -0
  262. package/dist/components/radiogroup/RadioGroup.stories.d.ts +5 -12
  263. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  264. package/dist/components/radiogroup/RadioGroup.stories.js +56 -151
  265. package/dist/components/radiogroup/RadioGroup.svelte +81 -77
  266. package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
  267. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  268. package/dist/components/select/README.md +18 -0
  269. package/dist/components/select/Select.js +3 -6
  270. package/dist/components/select/Select.js.map +1 -1
  271. package/dist/components/select/Select.spec.js +76 -0
  272. package/dist/components/select/Select.stories.d.ts +10 -14
  273. package/dist/components/select/Select.stories.d.ts.map +1 -1
  274. package/dist/components/select/Select.stories.js +87 -92
  275. package/dist/components/select/Select.svelte +77 -67
  276. package/dist/components/select/Select.svelte.d.ts +41 -10
  277. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  278. package/dist/components/statusbadge/README.md +11 -0
  279. package/dist/components/statusbadge/StatusBadge.js +2 -5
  280. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  281. package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
  282. package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
  283. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  284. package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
  285. package/dist/components/statusbadge/StatusBadge.svelte +34 -29
  286. package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
  287. package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
  288. package/dist/components/statusdot/README.md +11 -0
  289. package/dist/components/statusdot/StatusDot.js +2 -5
  290. package/dist/components/statusdot/StatusDot.js.map +1 -1
  291. package/dist/components/statusdot/StatusDot.spec.js +42 -0
  292. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  293. package/dist/components/statusdot/StatusDot.stories.js +9 -37
  294. package/dist/components/statusdot/StatusDot.svelte +15 -16
  295. package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
  296. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  297. package/dist/components/statusnotification/README.md +25 -0
  298. package/dist/components/statusnotification/StatusNotification.js +3 -6
  299. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  300. package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
  301. package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
  302. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  303. package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
  304. package/dist/components/statusnotification/StatusNotification.svelte +186 -187
  305. package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
  306. package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
  307. package/dist/components/tab/README.md +20 -0
  308. package/dist/components/tab/Tab.js +4 -0
  309. package/dist/components/tab/Tab.js.map +1 -0
  310. package/dist/components/tab/Tab.spec.js +58 -0
  311. package/dist/components/tab/Tab.svelte +154 -0
  312. package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
  313. package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
  314. package/dist/components/tabs/README.md +18 -0
  315. package/dist/components/tabs/Tabs.js +2 -5
  316. package/dist/components/tabs/Tabs.js.map +1 -1
  317. package/dist/components/tabs/Tabs.spec.js +51 -0
  318. package/dist/components/tabs/Tabs.stories.d.ts +9 -6
  319. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  320. package/dist/components/tabs/Tabs.stories.js +59 -115
  321. package/dist/components/tabs/Tabs.svelte +46 -29
  322. package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
  323. package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
  324. package/dist/components/tags/README.md +9 -0
  325. package/dist/components/tags/Tag.js +2 -5
  326. package/dist/components/tags/Tag.js.map +1 -1
  327. package/dist/components/tags/Tag.svelte +35 -38
  328. package/dist/components/tags/TagContextualised.js +2 -5
  329. package/dist/components/tags/TagContextualised.js.map +1 -1
  330. package/dist/components/tags/TagContextualised.svelte +35 -38
  331. package/dist/components/tags/TagInteractive.js +2 -5
  332. package/dist/components/tags/TagInteractive.js.map +1 -1
  333. package/dist/components/tags/TagInteractive.svelte +35 -38
  334. package/dist/components/tags/TagRemovable.js +2 -5
  335. package/dist/components/tags/TagRemovable.js.map +1 -1
  336. package/dist/components/tags/TagRemovable.svelte +35 -38
  337. package/dist/components/tags/TagSelectable.js +2 -5
  338. package/dist/components/tags/TagSelectable.js.map +1 -1
  339. package/dist/components/tags/TagSelectable.svelte +35 -38
  340. package/dist/components/tags/Tags.stories.d.ts.map +1 -1
  341. package/dist/components/tags/Tags.stories.js +7 -1
  342. package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
  343. package/dist/components/tags/TagsContextualised.stories.js +7 -1
  344. package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
  345. package/dist/components/tags/TagsInteractive.stories.js +7 -1
  346. package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
  347. package/dist/components/tags/TagsRemovable.stories.js +7 -1
  348. package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
  349. package/dist/components/tags/TagsSelectable.stories.js +7 -1
  350. package/dist/components/textarea/README.md +19 -0
  351. package/dist/components/textarea/Textarea.js +2 -8
  352. package/dist/components/textarea/Textarea.js.map +1 -1
  353. package/dist/components/textarea/Textarea.spec.js +67 -0
  354. package/dist/components/textarea/Textarea.stories.d.ts +9 -13
  355. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  356. package/dist/components/textarea/Textarea.stories.js +61 -92
  357. package/dist/components/textarea/Textarea.svelte +70 -117
  358. package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
  359. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  360. package/dist/components/textinput/README.md +26 -0
  361. package/dist/components/textinput/Textinput.js +5 -9
  362. package/dist/components/textinput/Textinput.js.map +1 -1
  363. package/dist/components/textinput/Textinput.spec.js +89 -0
  364. package/dist/components/textinput/Textinput.stories.d.ts +11 -12
  365. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  366. package/dist/components/textinput/Textinput.stories.js +78 -137
  367. package/dist/components/textinput/Textinput.svelte +107 -148
  368. package/dist/components/textinput/Textinput.svelte.d.ts +46 -22
  369. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  370. package/dist/components/toaster/README.md +28 -0
  371. package/dist/components/toaster/Toaster.js +5 -8
  372. package/dist/components/toaster/Toaster.js.map +1 -1
  373. package/dist/components/toaster/Toaster.spec.js +100 -0
  374. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  375. package/dist/components/toaster/Toaster.stories.js +5 -73
  376. package/dist/components/toaster/Toaster.svelte +157 -146
  377. package/dist/components/toaster/Toaster.svelte.d.ts +3 -0
  378. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  379. package/dist/components/toggle/README.md +15 -0
  380. package/dist/components/toggle/Toggle.js +2 -5
  381. package/dist/components/toggle/Toggle.js.map +1 -1
  382. package/dist/components/toggle/Toggle.spec.js +69 -0
  383. package/dist/components/toggle/Toggle.stories.d.ts +9 -14
  384. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  385. package/dist/components/toggle/Toggle.stories.js +55 -64
  386. package/dist/components/toggle/Toggle.svelte +59 -48
  387. package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
  388. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  389. package/dist/components/togglegroup/README.md +13 -0
  390. package/dist/components/togglegroup/ToggleGroup.js +3 -6
  391. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  392. package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
  393. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
  394. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  395. package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
  396. package/dist/components/togglegroup/ToggleGroup.svelte +91 -97
  397. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
  398. package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
  399. package/dist/components/tooltip/README.md +19 -0
  400. package/dist/components/tooltip/Tooltip.js +4 -7
  401. package/dist/components/tooltip/Tooltip.js.map +1 -1
  402. package/dist/components/tooltip/Tooltip.spec.js +38 -0
  403. package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
  404. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  405. package/dist/components/tooltip/Tooltip.stories.js +45 -59
  406. package/dist/components/tooltip/Tooltip.svelte +31 -25
  407. package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
  408. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  409. package/dist/custom-element-forward-events.js.map +1 -1
  410. package/dist/custom-element.js +3 -3
  411. package/dist/custom-element.js.map +1 -1
  412. package/dist/documentation/Contributing.mdx +1 -1
  413. package/dist/documentation/Introduction.mdx +45 -11
  414. package/dist/documentation/SupportAndOnboarding.mdx +2 -2
  415. package/dist/each.js +1 -1
  416. package/dist/each.js.map +1 -1
  417. package/dist/if.js +1 -1
  418. package/dist/if.js.map +1 -1
  419. package/dist/input.js +1 -1
  420. package/dist/input.js.map +1 -1
  421. package/dist/legacy.js +1 -1
  422. package/dist/legacy.js.map +1 -1
  423. package/dist/main.d.ts +24 -23
  424. package/dist/main.d.ts.map +1 -1
  425. package/dist/main.js +24 -23
  426. package/dist/slot.js +1 -1
  427. package/dist/slot.js.map +1 -1
  428. package/dist/this.js +2 -0
  429. package/dist/this.js.map +1 -0
  430. package/package.json +12 -4
  431. package/dist/components/button/button.types.d.ts +0 -13
  432. package/dist/components/button/button.types.d.ts.map +0 -1
  433. package/dist/components/button/button.types.js +0 -1
  434. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
  435. package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
  436. package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
  437. package/dist/components/link/link.types.d.ts +0 -4
  438. package/dist/components/link/link.types.d.ts.map +0 -1
  439. package/dist/components/link/link.types.js +0 -1
  440. package/dist/components/loader/loader.types.d.ts +0 -3
  441. package/dist/components/loader/loader.types.d.ts.map +0 -1
  442. package/dist/components/loader/loader.types.js +0 -1
  443. package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
  444. package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
  445. package/dist/components/numberbadge/NumberBadge.types.js +0 -1
  446. package/dist/components/overlayloader/OverlayLoader.js +0 -30
  447. package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
  448. package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
  449. package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
  450. package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
  451. package/dist/components/overlayloader/OverlayLoader.svelte +0 -159
  452. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
  453. package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
  454. package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
  455. package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
  456. package/dist/components/quantityselector/quantitySelector.types.js +0 -1
  457. package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
  458. package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
  459. package/dist/components/radiogroup/radioGroup.types.js +0 -1
  460. package/dist/components/select/select.types.d.ts +0 -9
  461. package/dist/components/select/select.types.d.ts.map +0 -1
  462. package/dist/components/select/select.types.js +0 -1
  463. package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
  464. package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
  465. package/dist/components/statusbadge/StatusBadge.types.js +0 -1
  466. package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
  467. package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
  468. package/dist/components/statusdot/StatusDot.types.js +0 -1
  469. package/dist/components/tabs/Tab.js +0 -7
  470. package/dist/components/tabs/Tab.js.map +0 -1
  471. package/dist/components/tabs/Tab.svelte +0 -137
  472. package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
  473. package/dist/components/textinput/textinput.types.d.ts +0 -3
  474. package/dist/components/textinput/textinput.types.d.ts.map +0 -1
  475. package/dist/components/textinput/textinput.types.js +0 -1
  476. package/dist/components/toggle/toggle.types.d.ts +0 -2
  477. package/dist/components/toggle/toggle.types.d.ts.map +0 -1
  478. package/dist/components/toggle/toggle.types.js +0 -1
  479. package/dist/index-client.js +0 -2
  480. package/dist/index-client.js.map +0 -1
  481. package/dist/snippet.js +0 -2
  482. package/dist/snippet.js.map +0 -1
@@ -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 {\n tag = 'button',\n selected = false,\n href,\n disabled,\n ...attrs\n }: 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,gBA8BI,IAAAA,cAAM,QAAQ,EACdC,mBAAW,EAAK,EAChBC,EAAIC,EAAAC,EAAA,OAAA,CAAA,EACJC,EAAQF,EAAAC,EAAA,WAAA,CAAA,EACLE,EAAAC,EAAAH,EAAA,sHAJG,SAAQ,qDACH,GAAK,mMAYCH,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
+ });
@@ -0,0 +1,154 @@
1
+ <svelte:options customElement={{ tag: 'm-tab' }} />
2
+
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
+ */
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
+ */
19
+ selected?: boolean;
20
+ /**
21
+ * URL for the tab link.
22
+ */
23
+ href?: string;
24
+ /**
25
+ * If `true`, the tab will be disabled.
26
+ */
27
+ disabled?: boolean;
28
+ }
29
+
30
+ let {
31
+ tag = 'button',
32
+ selected = false,
33
+ href,
34
+ disabled,
35
+ ...attrs
36
+ }: Props = $props();
37
+ </script>
38
+
39
+ <li class="mc-tabs__item" role="presentation">
40
+ {#if tag === 'button'}
41
+ <button
42
+ type="button"
43
+ role="tab"
44
+ aria-selected={selected}
45
+ class={[
46
+ 'mc-tabs__tab',
47
+ selected && 'mc-tabs__tab--selected',
48
+ disabled && 'mc-tabs__tab--disabled',
49
+ ]}
50
+ {...attrs}
51
+ >
52
+ <span class="mc-tabs__icon">
53
+ <slot name="icon" />
54
+ </span>
55
+
56
+ <span class="mc-tabs__label">
57
+ <slot />
58
+ </span>
59
+ </button>
60
+ {:else}
61
+ <a
62
+ {href}
63
+ role="tab"
64
+ aria-selected={selected}
65
+ class={[
66
+ 'mc-tabs__tab',
67
+ selected && 'mc-tabs__tab--selected',
68
+ disabled && 'mc-tabs__tab--disabled',
69
+ ]}
70
+ {...attrs}
71
+ >
72
+ <span class="mc-tabs__icon">
73
+ <slot name="icon" />
74
+ </span>
75
+ <span class="mc-tabs__label">
76
+ <slot />
77
+ </span>
78
+ </a>
79
+ {/if}
80
+ </li>
81
+
82
+ <style>/**
83
+ * Do not edit directly, this file was auto-generated.
84
+ */
85
+ .mc-tabs {
86
+ background-color: var(--tabs-color-background-default, #ffffff);
87
+ position: relative;
88
+ width: 100%;
89
+ height: 3.5rem;
90
+ }
91
+ .mc-tabs__list {
92
+ list-style-type: none;
93
+ padding-inline-start: 0;
94
+ margin-block: 0;
95
+ display: flex;
96
+ gap: 0.5rem;
97
+ padding: 0.5rem 0.25rem;
98
+ }
99
+ .mc-tabs__tab {
100
+ font-size: var(--font-size-100, 0.875rem);
101
+ font-weight: var(--font-weight-semi-bold, 600);
102
+ align-items: center;
103
+ background: none;
104
+ border: none;
105
+ border-radius: var(--radius-s, 0.25rem);
106
+ color: var(--tabs-color-text-default, #404040);
107
+ cursor: pointer;
108
+ display: flex;
109
+ gap: 0.25rem;
110
+ height: 2.5rem;
111
+ justify-content: center;
112
+ outline: none;
113
+ padding-left: 0.75rem;
114
+ padding-right: 0.75rem;
115
+ position: relative;
116
+ text-decoration: none;
117
+ }
118
+ .mc-tabs__tab:hover {
119
+ background-color: var(--tabs-color-background-hover, rgba(0, 0, 0, 0.05));
120
+ }
121
+ .mc-tabs__tab:focus-visible {
122
+ 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));
123
+ outline: 0.125rem solid transparent;
124
+ outline-offset: 0.125rem;
125
+ }
126
+ .mc-tabs__tab--selected {
127
+ color: var(--tabs-color-text-selected, #006902);
128
+ background-color: var(--tabs-color-background-selected, #ebf5de);
129
+ }
130
+ .mc-tabs__tab--selected:hover {
131
+ background-color: var(--tabs-color-background-selected-hover, #c5e39e);
132
+ }
133
+ .mc-tabs__tab--disabled {
134
+ color: var(--tabs-color-text-disabled, #b3b3b3);
135
+ cursor: not-allowed;
136
+ }
137
+ .mc-tabs__tab--disabled:hover {
138
+ background: none;
139
+ }
140
+ .mc-tabs__label {
141
+ pointer-events: none;
142
+ }
143
+ .mc-tabs__icon {
144
+ fill: currentcolor;
145
+ height: 1.5rem;
146
+ width: 1.5rem;
147
+ }
148
+ .mc-tabs--centered .mc-tabs__list {
149
+ justify-content: center;
150
+ }
151
+
152
+ .mc-tabs__icon:empty {
153
+ display: none;
154
+ }</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;AAkDH,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
+
@@ -1,7 +1,4 @@
1
- import{c as b,p as u,a as h,b as r,v as g,l as p,f as _,m as y,d as o,t as x,e as w,h as k,i as j,j as d,r as f,E as z}from"../../custom-element.js";import{s as D}from"../../slot.js";var E=_('<nav><ul class="mc-tabs__list svelte-8f33ob" role="tablist" aria-label="Tabs default"><!></ul> <div class="mc-divider-horizontal svelte-8f33ob"></div></nav>');const T={hash:"svelte-8f33ob",code:`/**
1
+ import{c as h,p as q,a as y,b as l,f as p,d as o,s as k,t as w,i as v,j as x,k as d,r as m,e as j,g as z}from"../../custom-element.js";import{i as D}from"../../if.js";import{s as E}from"../../slot.js";import{s as S}from"../../attributes.js";var T=p('<div class="mc-divider-horizontal svelte-qelc5p"></div>'),A=p('<nav><ul class="mc-tabs__list svelte-qelc5p" role="tablist"><!></ul> <!></nav>');const B={hash:"svelte-qelc5p",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */
4
- /**
5
- * Do not edit directly, this file was auto-generated.
6
- */.mc-tabs.svelte-8f33ob {background-color:#ffffff;position:relative;width:100%;height:3.5rem;}.mc-tabs__list.svelte-8f33ob {list-style-type:none;padding-inline-start:0;margin-block:0;display:flex;gap:0.5rem;padding:0.5rem 0.25rem;}.mc-tabs--centered.svelte-8f33ob .mc-tabs__list:where(.svelte-8f33ob) {justify-content:center;}.mc-divider-horizontal.svelte-8f33ob {background:#cccccc;height:0.0625rem;}`};function S(i,t){u(t,!0),h(i,T);let s=r(t,"activeindex",7),n=r(t,"centered",7),v=g(p(s()??0));var a=E();let c;var l=o(a),m=o(l);return D(m,t,"tab",{get active(){return y(v)}}),f(l),z(2),f(a),x(e=>c=w(a,1,"mc-tabs svelte-8f33ob",null,c,e),[()=>({"mc-tabs--centered":n()})]),k(i,a),j({get activeindex(){return s()},set activeindex(e){s(e),d()},get centered(){return n()},set centered(e){n(e),d()}})}customElements.define("mc-tabs",b(S,{activeindex:{},centered:{}},["tab"],[],!0));
3
+ */.mc-tabs.svelte-qelc5p {background-color:var(--tabs-color-background-default, #ffffff);position:relative;width:100%;height:3.5rem;}.mc-tabs__list.svelte-qelc5p {list-style-type:none;padding-inline-start:0;margin-block:0;display:flex;gap:0.5rem;padding:0.5rem 0.25rem;}.mc-tabs--centered.svelte-qelc5p .mc-tabs__list:where(.svelte-qelc5p) {justify-content:center;}.mc-divider-horizontal.svelte-qelc5p {background:var(--divider-color-primary, #cccccc);height:0.0625rem;}`};function C(n,t){q(t,!0),y(n,B);let a=l(t,"description",7),i=l(t,"divider",7,!0),c=l(t,"centered",7);var f={get description(){return a()},set description(e){a(e),d()},get divider(){return i()},set divider(e=!0){i(e),d()},get centered(){return c()},set centered(e){c(e),d()}},r=A(),s=o(r),u=o(s);E(u,t,"tab",{}),m(s);var b=k(s,2);{var _=e=>{var g=T();v(e,g)};D(b,e=>{i()&&e(_)})}return m(r),w(()=>{j(r,1,z(["mc-tabs",c()&&"mc-tabs--centered"]),"svelte-qelc5p"),S(s,"aria-label",a())}),v(n,r),x(f)}customElements.define("m-tabs",h(C,{description:{},divider:{},centered:{}},["tab"],[],!0));
7
4
  //# sourceMappingURL=Tabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../src/components/tabs/Tabs.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'mc-tabs' }} />\n\n<script lang=\"ts\">\n let { activeindex, centered } = $props();\n\n let active = $state(activeindex ?? 0);\n</script>\n\n<nav class=\"mc-tabs\" class:mc-tabs--centered={centered}>\n <ul class=\"mc-tabs__list\" role=\"tablist\" aria-label=\"Tabs default\">\n <slot name=\"tab\" {active} />\n </ul>\n <div class=\"mc-divider-horizontal\"></div>\n</nav>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/tabs';\n @use '@mozaic-ds/styles/components/divider';\n</style>\n"],"names":["activeindex","$.prop","$$props","centered","active","$.state","$.proxy"],"mappings":";;;;;qaAAA,oBAGQA,EAAWC,EAAAC,EAAA,cAAA,CAAA,EAAEC,EAAQF,EAAAC,EAAA,WAAA,CAAA,EAEvBE,EAAMC,EAAAC,EAAUN,EAAW,GAAI,CAAC,CAAA,6KAGQG,EAAQ,CAAA,EAAA,CAAA,6HAFtD"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../src/components/tabs/Tabs.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-tabs' }} />\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 tab - use this slot to insert `m-tab` components.\n */\n interface Props {\n /**\n * A description indicating the purpose of the set of tabs. Useful for improving the accessibility of the component.\n */\n description?: string;\n /**\n * If `true`, the divider will appear.\n */\n divider?: boolean;\n /**\n * If `true`, the tabs of the component will be centered.\n */\n centered?: boolean;\n }\n\n let { description, divider = true, centered }: Props = $props();\n</script>\n\n<nav class={['mc-tabs', centered && 'mc-tabs--centered']}>\n <ul class=\"mc-tabs__list\" role=\"tablist\" aria-label={description}>\n <slot name=\"tab\" />\n </ul>\n {#if divider}\n <div class=\"mc-divider-horizontal\"></div>\n {/if}\n</nav>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/tabs';\n @use '@mozaic-ds/styles/components/divider';\n</style>\n"],"names":["description","$.prop","$$props","divider","centered","$$render","consequent"],"mappings":";;yeAAA,oBAuBQA,EAAWC,EAAAC,EAAA,cAAA,CAAA,EAAEC,kBAAU,EAAI,EAAEC,EAAQH,EAAAC,EAAA,WAAA,CAAA,4GAAd,GAAI,4JAO5BC,EAAO,GAAAE,EAAAC,CAAA,gCAJD,UAAWF,KAAY,mBAAmB,CAAA,EAAA,eAAA,mBACAJ,GAAW,eAHlE"}
@@ -0,0 +1,51 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { render } from '@testing-library/svelte';
3
+ import Tabs from './Tabs.svelte';
4
+ describe('mc-tabs component', () => {
5
+ it('renders <nav> with the base class', () => {
6
+ const { container } = render(Tabs);
7
+ const nav = container.querySelector('nav');
8
+ expect(nav).toBeTruthy();
9
+ expect(nav?.classList.contains('mc-tabs')).toBe(true);
10
+ });
11
+ it('adds the "mc-tabs--centered" class when centered is true', () => {
12
+ const { container } = render(Tabs, {
13
+ props: { centered: true },
14
+ });
15
+ const nav = container.querySelector('nav');
16
+ expect(nav?.classList.contains('mc-tabs--centered')).toBe(true);
17
+ });
18
+ it('renders a <ul> with role="tablist"', () => {
19
+ const { container } = render(Tabs);
20
+ const ul = container.querySelector('ul.mc-tabs__list');
21
+ expect(ul).toBeTruthy();
22
+ expect(ul?.getAttribute('role')).toBe('tablist');
23
+ });
24
+ it('sets aria-label on the tablist when description is provided', () => {
25
+ const description = 'My tab description';
26
+ const { container } = render(Tabs, {
27
+ props: { description },
28
+ });
29
+ const ul = container.querySelector('ul.mc-tabs__list');
30
+ expect(ul?.getAttribute('aria-label')).toBe(description);
31
+ });
32
+ it('renders a divider by default', () => {
33
+ const { container } = render(Tabs);
34
+ const divider = container.querySelector('.mc-divider-horizontal');
35
+ expect(divider).toBeTruthy();
36
+ });
37
+ it('does not render divider when divider is false', () => {
38
+ const { container } = render(Tabs, {
39
+ props: { divider: false },
40
+ });
41
+ const divider = container.querySelector('.mc-divider-horizontal');
42
+ expect(divider).toBeNull();
43
+ });
44
+ it('renders without crashing when value prop is provided', () => {
45
+ const { container } = render(Tabs, {
46
+ props: { value: 2 },
47
+ });
48
+ const nav = container.querySelector('nav');
49
+ expect(nav).toBeTruthy();
50
+ });
51
+ });
@@ -1,7 +1,10 @@
1
- import type { Meta } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Default: any;
5
- export declare const Centered: any;
6
- export declare const WithIcons: any;
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const Default: Story;
6
+ export declare const Icons: Story;
7
+ export declare const Centered: Story;
8
+ export declare const NoDivider: Story;
9
+ export declare const Disabled: Story;
7
10
  //# sourceMappingURL=Tabs.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,sBAAsB,CAAC;wBAyBrD,IAAI;AArBT,wBAqBU;AAsCV,eAAO,MAAM,OAAO,KAAoB,CAAC;AAoBzC,eAAO,MAAM,QAAQ,KAAoB,CAAC;AAoD1C,eAAO,MAAM,SAAS,KAAwB,CAAC"}
1
+ {"version":3,"file":"Tabs.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tabs.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IAsBX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAqBnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAEtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAEvB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAStB,CAAC"}