@mozaic-ds/web-components 1.0.0 → 1.2.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 (326) hide show
  1. package/README.md +28 -106
  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 +6 -5
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +6 -5
  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.stories.d.ts.map +1 -1
  14. package/dist/components/avatar/Avatar.stories.js +1 -3
  15. package/dist/components/avatar/Avatar.svelte +7 -7
  16. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  17. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  18. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  19. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  20. package/dist/components/breadcrumb/Breadcrumb.stories.js +1 -4
  21. package/dist/components/breadcrumb/Breadcrumb.svelte +2 -5
  22. package/dist/components/button/Button.js +3 -3
  23. package/dist/components/button/Button.js.map +1 -1
  24. package/dist/components/button/Button.svelte +3 -3
  25. package/dist/components/callout/Callout.js +2 -5
  26. package/dist/components/callout/Callout.js.map +1 -1
  27. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  28. package/dist/components/callout/Callout.svelte +9 -16
  29. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  30. package/dist/components/checkbox/Checkbox.js +2 -2
  31. package/dist/components/checkbox/Checkbox.spec.js +1 -1
  32. package/dist/components/checkbox/Checkbox.svelte +2 -2
  33. package/dist/components/checkboxgroup/CheckboxGroup.js +3 -3
  34. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  35. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +1 -3
  36. package/dist/components/checkboxgroup/CheckboxGroup.svelte +4 -10
  37. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  38. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  39. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  40. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +2 -2
  41. package/dist/components/circularprogressbar/CircularProgressbar.svelte +4 -4
  42. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +1 -0
  43. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  44. package/dist/components/container/Container.js +14 -0
  45. package/dist/components/container/Container.js.map +1 -0
  46. package/dist/components/container/Container.spec.js +26 -0
  47. package/dist/components/container/Container.stories.d.ts +7 -0
  48. package/dist/components/container/Container.stories.d.ts.map +1 -0
  49. package/dist/components/container/Container.stories.js +23 -0
  50. package/dist/components/container/Container.svelte +60 -0
  51. package/dist/components/container/Container.svelte.d.ts +39 -0
  52. package/dist/components/container/Container.svelte.d.ts.map +1 -0
  53. package/dist/components/container/README.md +16 -0
  54. package/dist/components/datepicker/Datepicker.js +3 -3
  55. package/dist/components/datepicker/Datepicker.js.map +1 -1
  56. package/dist/components/datepicker/Datepicker.svelte +13 -22
  57. package/dist/components/datepicker/Datepicker.svelte.d.ts +1 -1
  58. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  59. package/dist/components/datepicker/README.md +1 -1
  60. package/dist/components/divider/Divider.js +4 -0
  61. package/dist/components/divider/Divider.js.map +1 -0
  62. package/dist/components/divider/Divider.spec.js +50 -0
  63. package/dist/components/divider/Divider.stories.d.ts +9 -0
  64. package/dist/components/divider/Divider.stories.d.ts.map +1 -0
  65. package/dist/components/divider/Divider.stories.js +57 -0
  66. package/dist/components/divider/Divider.svelte +90 -0
  67. package/dist/components/divider/Divider.svelte.d.ts +47 -0
  68. package/dist/components/divider/Divider.svelte.d.ts.map +1 -0
  69. package/dist/components/divider/README.md +18 -0
  70. package/dist/components/drawer/Drawer.js +4 -4
  71. package/dist/components/drawer/Drawer.js.map +1 -1
  72. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  73. package/dist/components/drawer/Drawer.stories.js +1 -2
  74. package/dist/components/drawer/Drawer.svelte +20 -7
  75. package/dist/components/drawer/Drawer.svelte.d.ts +8 -0
  76. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  77. package/dist/components/drawer/README.md +2 -0
  78. package/dist/components/field/Field.js +2 -2
  79. package/dist/components/field/Field.js.map +1 -1
  80. package/dist/components/field/Field.spec.js +56 -9
  81. package/dist/components/field/Field.stories.d.ts +1 -0
  82. package/dist/components/field/Field.stories.d.ts.map +1 -1
  83. package/dist/components/field/Field.stories.js +15 -0
  84. package/dist/components/field/Field.svelte +12 -6
  85. package/dist/components/field/Field.svelte.d.ts +4 -0
  86. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  87. package/dist/components/field/README.md +1 -0
  88. package/dist/components/flag/Flag.js +2 -2
  89. package/dist/components/flag/Flag.js.map +1 -1
  90. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  91. package/dist/components/flag/Flag.stories.js +1 -4
  92. package/dist/components/flag/Flag.svelte +1 -1
  93. package/dist/components/iconbutton/IconButton.js +2 -2
  94. package/dist/components/iconbutton/IconButton.js.map +1 -1
  95. package/dist/components/iconbutton/IconButton.svelte +2 -2
  96. package/dist/components/kpiitem/KpiItem.js +5 -0
  97. package/dist/components/kpiitem/KpiItem.js.map +1 -0
  98. package/dist/components/kpiitem/KpiItem.spec.js +60 -0
  99. package/dist/components/kpiitem/KpiItem.stories.d.ts +8 -0
  100. package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -0
  101. package/dist/components/kpiitem/KpiItem.stories.js +56 -0
  102. package/dist/components/kpiitem/KpiItem.svelte +231 -0
  103. package/dist/components/kpiitem/KpiItem.svelte.d.ts +34 -0
  104. package/dist/components/kpiitem/KpiItem.svelte.d.ts.map +1 -0
  105. package/dist/components/kpiitem/README.md +15 -0
  106. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  107. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  108. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +3 -8
  109. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  110. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  111. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  112. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +3 -3
  113. package/dist/components/link/Link.js +1 -1
  114. package/dist/components/link/Link.js.map +1 -1
  115. package/dist/components/link/Link.svelte +1 -1
  116. package/dist/components/loader/Loader.js +1 -1
  117. package/dist/components/loader/Loader.js.map +1 -1
  118. package/dist/components/loader/Loader.spec.js +20 -1
  119. package/dist/components/loader/Loader.stories.js +1 -1
  120. package/dist/components/loader/Loader.svelte +8 -6
  121. package/dist/components/loader/Loader.svelte.d.ts +1 -1
  122. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  123. package/dist/components/loader/README.md +1 -1
  124. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +1 -1
  125. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +1 -1
  126. package/dist/components/modal/Modal.js +3 -3
  127. package/dist/components/modal/Modal.js.map +1 -1
  128. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  129. package/dist/components/modal/Modal.stories.js +2 -4
  130. package/dist/components/modal/Modal.svelte +4 -4
  131. package/dist/components/numberbadge/NumberBadge.js +1 -1
  132. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  133. package/dist/components/numberbadge/NumberBadge.svelte +2 -8
  134. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  135. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  136. package/dist/components/overlay/Overlay.stories.js +1 -4
  137. package/dist/components/pagination/Pagination.js +6 -6
  138. package/dist/components/pagination/Pagination.js.map +1 -1
  139. package/dist/components/pagination/Pagination.spec.js +2 -2
  140. package/dist/components/pagination/Pagination.svelte +10 -28
  141. package/dist/components/passwordinput/PasswordInput.js +3 -3
  142. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  143. package/dist/components/passwordinput/PasswordInput.spec.js +1 -1
  144. package/dist/components/passwordinput/PasswordInput.svelte +10 -14
  145. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +1 -1
  146. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  147. package/dist/components/passwordinput/README.md +1 -1
  148. package/dist/components/pincode/Pincode.js +2 -2
  149. package/dist/components/pincode/Pincode.js.map +1 -1
  150. package/dist/components/pincode/Pincode.svelte +9 -21
  151. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  152. package/dist/components/quantityselector/QuantitySelector.js +3 -3
  153. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  154. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +0 -1
  155. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  156. package/dist/components/quantityselector/QuantitySelector.stories.js +0 -6
  157. package/dist/components/quantityselector/QuantitySelector.svelte +11 -19
  158. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  159. package/dist/components/radio/Radio.js +2 -2
  160. package/dist/components/radio/Radio.js.map +1 -1
  161. package/dist/components/radio/Radio.svelte +3 -10
  162. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  163. package/dist/components/radiogroup/RadioGroup.js +3 -3
  164. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  165. package/dist/components/radiogroup/RadioGroup.svelte +4 -10
  166. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  167. package/dist/components/segmentedcontrol/README.md +19 -0
  168. package/dist/components/segmentedcontrol/SegmentedControl.js +4 -0
  169. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -0
  170. package/dist/components/segmentedcontrol/SegmentedControl.spec.js +52 -0
  171. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +8 -0
  172. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -0
  173. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +54 -0
  174. package/dist/components/segmentedcontrol/SegmentedControl.svelte +125 -0
  175. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts +32 -0
  176. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -0
  177. package/dist/components/select/README.md +1 -1
  178. package/dist/components/select/Select.js +3 -3
  179. package/dist/components/select/Select.js.map +1 -1
  180. package/dist/components/select/Select.svelte +7 -7
  181. package/dist/components/select/Select.svelte.d.ts +1 -1
  182. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  183. package/dist/components/statusbadge/StatusBadge.js +2 -2
  184. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  185. package/dist/components/statusbadge/StatusBadge.svelte +9 -9
  186. package/dist/components/statusdot/StatusDot.js +1 -1
  187. package/dist/components/statusdot/StatusDot.js.map +1 -1
  188. package/dist/components/statusdot/StatusDot.spec.js +1 -7
  189. package/dist/components/statusdot/StatusDot.svelte +3 -9
  190. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  191. package/dist/components/statusmessage/README.md +11 -0
  192. package/dist/components/statusmessage/StatusMessage.js +4 -0
  193. package/dist/components/statusmessage/StatusMessage.js.map +1 -0
  194. package/dist/components/statusmessage/StatusMessage.spec.js +47 -0
  195. package/dist/components/statusmessage/StatusMessage.stories.d.ts +11 -0
  196. package/dist/components/statusmessage/StatusMessage.stories.d.ts.map +1 -0
  197. package/dist/components/statusmessage/StatusMessage.stories.js +37 -0
  198. package/dist/components/statusmessage/StatusMessage.svelte +84 -0
  199. package/dist/components/statusmessage/StatusMessage.svelte.d.ts +17 -0
  200. package/dist/components/statusmessage/StatusMessage.svelte.d.ts.map +1 -0
  201. package/dist/components/statusnotification/StatusNotification.js +2 -6
  202. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  203. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  204. package/dist/components/statusnotification/StatusNotification.svelte +14 -23
  205. package/dist/components/steppercompact/README.md +13 -0
  206. package/dist/components/steppercompact/StepperCompact.js +4 -0
  207. package/dist/components/steppercompact/StepperCompact.js.map +1 -0
  208. package/dist/components/steppercompact/StepperCompact.spec.js +119 -0
  209. package/dist/components/steppercompact/StepperCompact.stories.d.ts +6 -0
  210. package/dist/components/steppercompact/StepperCompact.stories.d.ts.map +1 -0
  211. package/dist/components/steppercompact/StepperCompact.stories.js +28 -0
  212. package/dist/components/steppercompact/StepperCompact.svelte +123 -0
  213. package/dist/components/steppercompact/StepperCompact.svelte.d.ts +25 -0
  214. package/dist/components/steppercompact/StepperCompact.svelte.d.ts.map +1 -0
  215. package/dist/components/tab/Tab.js +2 -2
  216. package/dist/components/tab/Tab.js.map +1 -1
  217. package/dist/components/tab/Tab.svelte +2 -8
  218. package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
  219. package/dist/components/tabs/Tabs.svelte +1 -1
  220. package/dist/components/tag/README.md +30 -0
  221. package/dist/components/tag/Tag.js +4 -0
  222. package/dist/components/tag/Tag.js.map +1 -0
  223. package/dist/components/tag/Tag.stories.d.ts +12 -0
  224. package/dist/components/tag/Tag.stories.d.ts.map +1 -0
  225. package/dist/components/tag/Tag.stories.js +70 -0
  226. package/dist/components/{tags/TagRemovable.svelte → tag/Tag.svelte} +107 -32
  227. package/dist/components/tag/Tag.svelte.d.ts +65 -0
  228. package/dist/components/tag/Tag.svelte.d.ts.map +1 -0
  229. package/dist/components/textarea/Textarea.js +2 -2
  230. package/dist/components/textarea/Textarea.js.map +1 -1
  231. package/dist/components/textarea/Textarea.svelte +6 -8
  232. package/dist/components/textinput/README.md +1 -1
  233. package/dist/components/textinput/Textinput.js +5 -5
  234. package/dist/components/textinput/Textinput.js.map +1 -1
  235. package/dist/components/textinput/Textinput.stories.d.ts +1 -1
  236. package/dist/components/textinput/Textinput.stories.js +1 -1
  237. package/dist/components/textinput/Textinput.svelte +10 -18
  238. package/dist/components/textinput/Textinput.svelte.d.ts +1 -1
  239. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  240. package/dist/components/toaster/README.md +1 -0
  241. package/dist/components/toaster/Toaster.js +3 -7
  242. package/dist/components/toaster/Toaster.js.map +1 -1
  243. package/dist/components/toaster/Toaster.svelte +20 -23
  244. package/dist/components/toaster/Toaster.svelte.d.ts +4 -0
  245. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  246. package/dist/components/toggle/Toggle.js +2 -2
  247. package/dist/components/toggle/Toggle.js.map +1 -1
  248. package/dist/components/toggle/Toggle.svelte +4 -18
  249. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  250. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  251. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  252. package/dist/components/togglegroup/ToggleGroup.spec.js +1 -1
  253. package/dist/components/togglegroup/ToggleGroup.svelte +3 -3
  254. package/dist/components/tooltip/Tooltip.js +1 -1
  255. package/dist/components/tooltip/Tooltip.js.map +1 -1
  256. package/dist/components/tooltip/Tooltip.spec.js +1 -1
  257. package/dist/components/tooltip/Tooltip.svelte +3 -7
  258. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  259. package/dist/custom-element-forward-events.js +1 -1
  260. package/dist/custom-element-forward-events.js.map +1 -1
  261. package/dist/custom-element.js +3 -3
  262. package/dist/custom-element.js.map +1 -1
  263. package/dist/documentation/Introduction.mdx +13 -4
  264. package/dist/documentation/Svelte/Introduction.mdx +1 -1
  265. package/dist/documentation/Svelte/usingPresets.mdx +7 -9
  266. package/dist/documentation/WebComponents/Introduction.mdx +0 -1
  267. package/dist/documentation/WebComponents/usingIcons.mdx +2 -3
  268. package/dist/documentation/WebComponents/usingPresets.mdx +5 -7
  269. package/dist/each.js +1 -1
  270. package/dist/each.js.map +1 -1
  271. package/dist/if.js +1 -1
  272. package/dist/if.js.map +1 -1
  273. package/dist/input.js +1 -1
  274. package/dist/input.js.map +1 -1
  275. package/dist/legacy.js +1 -1
  276. package/dist/main.d.ts +8 -6
  277. package/dist/main.d.ts.map +1 -1
  278. package/dist/main.js +8 -6
  279. package/dist/slot.js +1 -1
  280. package/dist/slot.js.map +1 -1
  281. package/dist/svelte-component.js +2 -0
  282. package/dist/svelte-component.js.map +1 -0
  283. package/dist/this.js +1 -1
  284. package/dist/this.js.map +1 -1
  285. package/dist/utils/custom-element-forward-events.d.ts.map +1 -1
  286. package/package.json +34 -35
  287. package/dist/components/tags/README.md +0 -9
  288. package/dist/components/tags/Tag.js +0 -4
  289. package/dist/components/tags/Tag.js.map +0 -1
  290. package/dist/components/tags/Tag.svelte +0 -218
  291. package/dist/components/tags/Tag.svelte.d.ts +0 -9
  292. package/dist/components/tags/Tag.svelte.d.ts.map +0 -1
  293. package/dist/components/tags/TagContextualised.js +0 -4
  294. package/dist/components/tags/TagContextualised.js.map +0 -1
  295. package/dist/components/tags/TagContextualised.svelte +0 -239
  296. package/dist/components/tags/TagContextualised.svelte.d.ts +0 -11
  297. package/dist/components/tags/TagContextualised.svelte.d.ts.map +0 -1
  298. package/dist/components/tags/TagInteractive.js +0 -4
  299. package/dist/components/tags/TagInteractive.js.map +0 -1
  300. package/dist/components/tags/TagInteractive.svelte +0 -223
  301. package/dist/components/tags/TagInteractive.svelte.d.ts +0 -10
  302. package/dist/components/tags/TagInteractive.svelte.d.ts.map +0 -1
  303. package/dist/components/tags/TagRemovable.js +0 -4
  304. package/dist/components/tags/TagRemovable.js.map +0 -1
  305. package/dist/components/tags/TagRemovable.svelte.d.ts +0 -11
  306. package/dist/components/tags/TagRemovable.svelte.d.ts.map +0 -1
  307. package/dist/components/tags/TagSelectable.js +0 -4
  308. package/dist/components/tags/TagSelectable.js.map +0 -1
  309. package/dist/components/tags/TagSelectable.svelte +0 -247
  310. package/dist/components/tags/TagSelectable.svelte.d.ts +0 -13
  311. package/dist/components/tags/TagSelectable.svelte.d.ts.map +0 -1
  312. package/dist/components/tags/Tags.stories.d.ts +0 -5
  313. package/dist/components/tags/Tags.stories.d.ts.map +0 -1
  314. package/dist/components/tags/Tags.stories.js +0 -41
  315. package/dist/components/tags/TagsContextualised.stories.d.ts +0 -5
  316. package/dist/components/tags/TagsContextualised.stories.d.ts.map +0 -1
  317. package/dist/components/tags/TagsContextualised.stories.js +0 -57
  318. package/dist/components/tags/TagsInteractive.stories.d.ts +0 -5
  319. package/dist/components/tags/TagsInteractive.stories.d.ts.map +0 -1
  320. package/dist/components/tags/TagsInteractive.stories.js +0 -61
  321. package/dist/components/tags/TagsRemovable.stories.d.ts +0 -5
  322. package/dist/components/tags/TagsRemovable.stories.d.ts.map +0 -1
  323. package/dist/components/tags/TagsRemovable.stories.js +0 -62
  324. package/dist/components/tags/TagsSelectable.stories.d.ts +0 -5
  325. package/dist/components/tags/TagsSelectable.stories.d.ts.map +0 -1
  326. package/dist/components/tags/TagsSelectable.stories.js +0 -76
@@ -1,247 +0,0 @@
1
- <svelte:options customElement={{ tag: 'mc-tag-selectable' }} />
2
-
3
- <script lang="ts">
4
- interface Props {
5
- id: string;
6
- name?: string;
7
- label: string;
8
- checked?: boolean;
9
- disabled?: boolean;
10
- size?: 's' | 'm' | 'l';
11
- [key: string]: any;
12
- }
13
-
14
- let {
15
- id,
16
- name,
17
- label,
18
- checked = $bindable(false),
19
- disabled = false,
20
- size = 'm',
21
- ...attrs
22
- }: Props = $props();
23
-
24
- function handleChange(e: Event) {
25
- checked = (e.target as HTMLInputElement).checked;
26
- }
27
- </script>
28
-
29
- <label
30
- class={`mc-tag mc-tag-selectable ${size !== 'm' ? `mc-tag--${size}` : ''}`}
31
- {id}
32
- {...attrs}
33
- >
34
- <input
35
- type="checkbox"
36
- class="mc-tag__input"
37
- {id}
38
- {name}
39
- {checked}
40
- {disabled}
41
- onchange={handleChange}
42
- />
43
- <span class="mc-tag__label">{label}</span>
44
- </label>
45
-
46
- <style>/**
47
- * Do not edit directly, this file was auto-generated.
48
- */
49
- .mc-tag {
50
- font-size: var(--font-size-100, 0.875rem);
51
- border-radius: 2rem;
52
- height: 2rem;
53
- padding-inline: 0.75rem;
54
- box-sizing: border-box;
55
- display: inline-flex;
56
- align-items: center;
57
- background: var(--tag-color-background-standard, #ffffff);
58
- color: var(--tag-color-text-standard, #242938);
59
- border: var(--border-s, 1px) solid var(--tag-color-border, #999999);
60
- }
61
- .mc-tag--s {
62
- font-size: var(--font-size-50, 0.75rem);
63
- border-radius: 1.5rem;
64
- height: 1.5rem;
65
- padding-inline: 0.5rem;
66
- }
67
- .mc-tag--l {
68
- font-size: var(--font-size-100, 0.875rem);
69
- border-radius: 2.5rem;
70
- height: 2.5rem;
71
- padding-inline: 1rem;
72
- }
73
- .mc-tag.is-disabled, .mc-tag:disabled {
74
- cursor: not-allowed;
75
- background: var(--color-background-disabled, #d9d9d9);
76
- color: var(--color-text-disabled, #737373);
77
- border-color: var(--color-background-disabled, #d9d9d9);
78
- box-shadow: none;
79
- }
80
- .mc-tag.is-disabled .mc-badge, .mc-tag:disabled .mc-badge {
81
- color: currentColor;
82
- }
83
-
84
- .mc-tag-interactive {
85
- text-decoration: none;
86
- outline: none;
87
- cursor: pointer;
88
- font-weight: var(--font-weight-semi-bold, 600);
89
- }
90
- .mc-tag-interactive:not(:disabled):hover {
91
- box-shadow: inset 0 0 0 var(--border-s, 1px) var(--tag-color-border, #999999);
92
- }
93
- .mc-tag-interactive:focus-visible {
94
- 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));
95
- outline: 0.125rem solid transparent;
96
- outline-offset: 0.125rem;
97
- }
98
-
99
- .mc-tag-contextualised {
100
- gap: 0.25rem;
101
- text-decoration: none;
102
- outline: none;
103
- color: var(--tag-color-text-inverse, #ffffff);
104
- border: none;
105
- background: var(--tag-color-background-selected, #117f03);
106
- cursor: pointer;
107
- font-weight: var(--font-weight-semi-bold, 600);
108
- padding-inline-end: 1rem;
109
- padding-inline-start: 0.5rem;
110
- }
111
- .mc-tag-contextualised:not(:disabled):hover {
112
- background: var(--tag-color-background-selected-hover, #006902);
113
- }
114
- .mc-tag-contextualised:focus-visible {
115
- 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));
116
- outline: 0.125rem solid transparent;
117
- outline-offset: 0.125rem;
118
- }
119
- .mc-tag-contextualised.mc-tag--s {
120
- padding-inline-end: 0.5rem;
121
- padding-inline-start: 0.25rem;
122
- }
123
-
124
- .mc-tag-removable {
125
- padding: 0 0 0 1rem;
126
- background: var(--tag-color-background-inverse, #242938);
127
- color: var(--tag-color-text-inverse, #ffffff);
128
- border: none;
129
- }
130
- .mc-tag-removable__remove {
131
- width: 2rem;
132
- height: 2rem;
133
- background-size: 1.5rem;
134
- background: transparent;
135
- border: none;
136
- margin: 0 0 0 0.125rem;
137
- padding: 0.25rem;
138
- display: block;
139
- cursor: pointer;
140
- border-radius: var(--radius-full, 100%);
141
- }
142
- .mc-tag-removable__remove:hover {
143
- background: var(--tag-color-background-inverse-hover, #343b4c);
144
- }
145
- .mc-tag-removable__remove:focus-visible {
146
- 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));
147
- outline: 0.125rem solid transparent;
148
- outline-offset: 0.125rem;
149
- }
150
- .mc-tag-removable__icon {
151
- fill: var(--tag-color-delete-icon, #c9d0de);
152
- width: 1.5rem;
153
- height: 1.5rem;
154
- }
155
- .mc-tag-removable__text {
156
- clip-path: inset(100%);
157
- clip: rect(1px, 1px, 1px, 1px);
158
- height: 1px;
159
- overflow: hidden;
160
- position: absolute;
161
- white-space: nowrap;
162
- padding: 0;
163
- width: 1px;
164
- }
165
- .mc-tag-removable.mc-tag--s {
166
- padding: 0 0 0 0.5rem;
167
- }
168
- .mc-tag-removable.mc-tag--s .mc-tag-removable__remove {
169
- width: 1.5rem;
170
- height: 1.5rem;
171
- padding: 0.125rem;
172
- }
173
- .mc-tag-removable.mc-tag--s .mc-tag-removable__icon {
174
- width: 1.25rem;
175
- height: 1.25rem;
176
- }
177
- .mc-tag-removable.mc-tag--l .mc-tag-removable__remove {
178
- width: 2.5rem;
179
- height: 2.5rem;
180
- }
181
- .mc-tag-removable.mc-tag--l .mc-tag-removable__icon {
182
- width: 2rem;
183
- height: 2rem;
184
- }
185
-
186
- .mc-tag-selectable {
187
- gap: 0.25rem;
188
- white-space: nowrap;
189
- cursor: pointer;
190
- padding-inline-start: 0.5rem;
191
- font-weight: var(--font-weight-semi-bold, 600);
192
- }
193
- .mc-tag-selectable:hover {
194
- box-shadow: inset 0 0 0 var(--border-s, 1px) var(--tag-color-border, #999999);
195
- }
196
- .mc-tag-selectable:has(:focus-visible) {
197
- 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));
198
- outline: 0.125rem solid transparent;
199
- outline-offset: 0.125rem;
200
- }
201
- .mc-tag-selectable:has(:checked) {
202
- background: var(--tag-color-background-selected, #117f03);
203
- color: var(--tag-color-text-inverse, #ffffff);
204
- border: none;
205
- }
206
- .mc-tag-selectable:has(:checked)::before {
207
- display: inline-block;
208
- content: "";
209
- height: 1.25rem;
210
- width: 1.25rem;
211
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.25rem' width='1.25rem' fill='var(--tag-color-text-inverse, %23ffffff)' viewBox='0 0 20 20'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill-rule='evenodd' d='M14.697 6.553a.75.75 0 0 1 0 1.06l-5.833 5.834a.75.75 0 0 1-1.06 0l-2.5-2.5a.75.75 0 0 1 1.06-1.06l1.97 1.97 5.303-5.304a.75.75 0 0 1 1.06 0'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h20v20H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
212
- }
213
- .mc-tag-selectable:has(:checked):not(:has(:disabled)):hover {
214
- background: var(--tag-color-background-selected-hover, #006902);
215
- border-color: var(--tag-color-background-selected-hover, #006902);
216
- box-shadow: none;
217
- }
218
- .mc-tag-selectable:has(:disabled) {
219
- cursor: not-allowed;
220
- background: var(--color-background-disabled, #d9d9d9);
221
- color: var(--color-text-disabled, #737373);
222
- border-color: var(--color-background-disabled, #d9d9d9);
223
- box-shadow: none;
224
- }
225
- .mc-tag-selectable:has(:disabled)::before {
226
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.25rem' width='1.25rem' fill='var(--color-text-disabled, %23737373)' viewBox='0 0 20 20'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill-rule='evenodd' d='M14.697 6.553a.75.75 0 0 1 0 1.06l-5.833 5.834a.75.75 0 0 1-1.06 0l-2.5-2.5a.75.75 0 0 1 1.06-1.06l1.97 1.97 5.303-5.304a.75.75 0 0 1 1.06 0'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h20v20H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
227
- }
228
- .mc-tag-selectable .mc-tag__input {
229
- clip-path: inset(100%);
230
- clip: rect(1px, 1px, 1px, 1px);
231
- height: 1px;
232
- overflow: hidden;
233
- position: absolute;
234
- white-space: nowrap;
235
- padding: 0;
236
- width: 1px;
237
- }
238
- .mc-tag-selectable .mc-tag__label {
239
- user-select: none;
240
- }
241
- .mc-tag-selectable.mc-tag--s {
242
- padding-inline-start: 0.25rem;
243
- gap: 0.125rem;
244
- }
245
- .mc-tag-selectable.mc-tag--l {
246
- padding-inline-start: 0.75rem;
247
- }</style>
@@ -1,13 +0,0 @@
1
- interface Props {
2
- id: string;
3
- name?: string;
4
- label: string;
5
- checked?: boolean;
6
- disabled?: boolean;
7
- size?: 's' | 'm' | 'l';
8
- [key: string]: any;
9
- }
10
- declare const TagSelectable: import("svelte").Component<Props, {}, "checked">;
11
- type TagSelectable = ReturnType<typeof TagSelectable>;
12
- export default TagSelectable;
13
- //# sourceMappingURL=TagSelectable.svelte.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagSelectable.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/tags/TagSelectable.svelte.ts"],"names":[],"mappings":"AAGE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AA8BH,QAAA,MAAM,aAAa,kDAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { Meta, StoryFn } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Informative: StoryFn;
5
- //# sourceMappingURL=Tags.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tags.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tags/Tags.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;wBA2BrD,IAAI;AAzBT,wBAyBU;AAYV,eAAO,MAAM,WAAW,EAAE,OAA8C,CAAC"}
@@ -1,41 +0,0 @@
1
- export default {
2
- title: 'Indicators/Tag/Informative',
3
- parameters: {
4
- docs: {
5
- description: {
6
- component: 'A Tag is a UI element used to filter data, categorize, select or deselect an option. It can appear standalone, in a group, or embedded within other components. Depending on its use, a tag can be interactive (clickable, removable, selectable) or static (serving as a visual indicator).',
7
- },
8
- },
9
- },
10
- argTypes: {
11
- label: {
12
- control: 'text',
13
- description: 'Text label displayed inside the tag',
14
- },
15
- id: {
16
- control: 'text',
17
- description: 'ID of the tag (optional)',
18
- },
19
- size: {
20
- control: 'select',
21
- options: ['s', 'm', 'l'],
22
- description: 'Size of the tag',
23
- },
24
- },
25
- };
26
- const createInformativeTag = (args) => {
27
- const tag = document.createElement('mc-tag');
28
- if (args.label)
29
- tag.setAttribute('label', args.label);
30
- if (args.id)
31
- tag.setAttribute('id', args.id);
32
- if (args.size)
33
- tag.setAttribute('size', args.size);
34
- return tag;
35
- };
36
- export const Informative = (args) => createInformativeTag(args);
37
- Informative.args = {
38
- id: 'tag-informative',
39
- label: 'Static Tag',
40
- size: 'm',
41
- };
@@ -1,5 +0,0 @@
1
- import type { Meta, StoryFn } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Contextualised: StoryFn;
5
- //# sourceMappingURL=TagsContextualised.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagsContextualised.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tags/TagsContextualised.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;wBAgCrD,IAAI;AA7BT,wBA6BU;AAiBV,eAAO,MAAM,cAAc,EAAE,OAAiD,CAAC"}
@@ -1,57 +0,0 @@
1
- import { expect, waitFor } from 'storybook/test';
2
- export default {
3
- title: 'Indicators/Tag/Contextualised',
4
- parameters: {
5
- docs: {
6
- description: {
7
- component: 'A Tag is a UI element used to filter data, categorize, select or deselect an option. It can appear standalone, in a group, or embedded within other components. Depending on its use, a tag can be interactive (clickable, removable, selectable) or static (serving as a visual indicator).',
8
- },
9
- },
10
- },
11
- argTypes: {
12
- label: {
13
- control: 'text',
14
- description: 'Text label displayed inside the tag',
15
- },
16
- contextualisedNumber: {
17
- control: 'number',
18
- description: 'Number badge displayed on the tag',
19
- },
20
- size: {
21
- control: 'select',
22
- options: ['s', 'm', 'l'],
23
- description: 'Size of the tag',
24
- },
25
- disabled: {
26
- control: 'boolean',
27
- description: 'Disable the tag',
28
- },
29
- },
30
- };
31
- const createContextualisedTag = (args) => {
32
- const tag = document.createElement('mc-tag-contextualised');
33
- if (args.label)
34
- tag.setAttribute('label', args.label);
35
- if (args.contextualisedNumber)
36
- tag.setAttribute('contextualisednumber', args.contextualisedNumber.toString());
37
- if (args.size)
38
- tag.setAttribute('size', args.size);
39
- if (args.disabled)
40
- tag.setAttribute('disabled', 'true');
41
- return tag;
42
- };
43
- export const Contextualised = (args) => createContextualisedTag(args);
44
- Contextualised.args = {
45
- label: 'Notifications',
46
- contextualisedNumber: 8,
47
- size: 'm',
48
- };
49
- Contextualised.play = async ({ canvasElement }) => {
50
- const tagEl = await waitFor(() => canvasElement.querySelector('mc-tag-contextualised'));
51
- expect(tagEl?.getAttribute('contextualisednumber')).toBe('8');
52
- const shadow = tagEl?.shadowRoot;
53
- const badge = shadow?.querySelector('.mc-number-badge');
54
- const label = shadow?.querySelector('.mc-tag__label');
55
- expect(badge?.textContent?.trim()).toBe('8');
56
- expect(label?.textContent?.trim()).toBe('Notifications');
57
- };
@@ -1,5 +0,0 @@
1
- import type { Meta, StoryFn } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Interactive: StoryFn;
5
- //# sourceMappingURL=TagsInteractive.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagsInteractive.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tags/TagsInteractive.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;wBAqCrD,IAAI;AAjCT,wBAiCU;AAeV,eAAO,MAAM,WAAW,EAAE,OAA8C,CAAC"}
@@ -1,61 +0,0 @@
1
- import { userEvent, expect } from 'storybook/test';
2
- import { action } from 'storybook/actions';
3
- export default {
4
- title: 'Indicators/Tag/Interactive',
5
- parameters: {
6
- docs: {
7
- description: {
8
- component: 'A Tag is a UI element used to filter data, categorize, select or deselect an option. It can appear standalone, in a group, or embedded within other components. Depending on its use, a tag can be interactive (clickable, removable, selectable) or static (serving as a visual indicator).',
9
- },
10
- },
11
- },
12
- argTypes: {
13
- label: {
14
- control: 'text',
15
- description: 'Text label displayed inside the tag',
16
- },
17
- id: {
18
- control: 'text',
19
- description: 'ID of the tag (optional)',
20
- },
21
- size: {
22
- control: 'select',
23
- options: ['s', 'm', 'l'],
24
- description: 'Size of the tag',
25
- },
26
- disabled: {
27
- control: 'boolean',
28
- description: 'Disable the tag',
29
- },
30
- onClick: {
31
- action: 'clicked',
32
- table: { category: 'Events' },
33
- },
34
- },
35
- };
36
- const createInteractiveTag = (args) => {
37
- const tag = document.createElement('mc-tag-interactive');
38
- if (args.label)
39
- tag.setAttribute('label', args.label);
40
- if (args.id)
41
- tag.setAttribute('id', args.id);
42
- if (args.size)
43
- tag.setAttribute('size', args.size);
44
- if (args.disabled)
45
- tag.setAttribute('disabled', 'true');
46
- tag.addEventListener('click', action('clicked'));
47
- return tag;
48
- };
49
- export const Interactive = (args) => createInteractiveTag(args);
50
- Interactive.args = {
51
- id: 'tag-interactive',
52
- label: 'Click me',
53
- size: 'm',
54
- };
55
- Interactive.play = async ({ canvasElement }) => {
56
- const button = canvasElement
57
- .querySelector('mc-tag-interactive')
58
- ?.shadowRoot?.querySelector('button');
59
- expect(button).not.toBeNull();
60
- await userEvent.click(button);
61
- };
@@ -1,5 +0,0 @@
1
- import type { Meta, StoryFn } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Removable: StoryFn;
5
- //# sourceMappingURL=TagsRemovable.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagsRemovable.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tags/TagsRemovable.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;wBAqCrD,IAAI;AAjCT,wBAiCU;AAgBV,eAAO,MAAM,SAAS,EAAE,OAA4C,CAAC"}
@@ -1,62 +0,0 @@
1
- import { userEvent, expect } from 'storybook/test';
2
- import { action } from 'storybook/actions';
3
- export default {
4
- title: 'Indicators/Tag/Removable',
5
- parameters: {
6
- docs: {
7
- description: {
8
- component: 'A Tag is a UI element used to filter data, categorize, select or deselect an option. It can appear standalone, in a group, or embedded within other components. Depending on its use, a tag can be interactive (clickable, removable, selectable) or static (serving as a visual indicator).',
9
- },
10
- },
11
- },
12
- argTypes: {
13
- label: {
14
- control: 'text',
15
- description: 'Text label displayed inside the tag',
16
- },
17
- id: {
18
- control: 'text',
19
- description: 'ID of the tag (required)',
20
- },
21
- removableLabel: {
22
- control: 'text',
23
- description: 'Accessible label for the remove button',
24
- },
25
- size: {
26
- control: 'select',
27
- options: ['s', 'm', 'l'],
28
- description: 'Size of the tag',
29
- },
30
- 'remove-tag': {
31
- action: 'remove-tag',
32
- table: { category: 'Events' },
33
- },
34
- },
35
- };
36
- const createRemovableTag = (args) => {
37
- const tag = document.createElement('mc-tag-removable');
38
- if (args.label)
39
- tag.setAttribute('label', args.label);
40
- if (args.id)
41
- tag.setAttribute('id', args.id);
42
- if (args.size)
43
- tag.setAttribute('size', args.size);
44
- if (args.removableLabel)
45
- tag.setAttribute('removablelabel', args.removableLabel);
46
- tag.addEventListener('remove-tag', action('remove-tag'));
47
- return tag;
48
- };
49
- export const Removable = (args) => createRemovableTag(args);
50
- Removable.args = {
51
- id: 'tag-vue',
52
- label: 'Tag label',
53
- removableLabel: 'Remove Vue tag',
54
- size: 'm',
55
- };
56
- Removable.play = async ({ canvasElement }) => {
57
- const btn = canvasElement
58
- .querySelector('mc-tag-removable')
59
- ?.shadowRoot?.querySelector('button');
60
- expect(btn).not.toBeNull();
61
- await userEvent.click(btn);
62
- };
@@ -1,5 +0,0 @@
1
- import type { Meta, StoryFn } from '@storybook/html-vite';
2
- declare const _default: Meta;
3
- export default _default;
4
- export declare const Default: StoryFn;
5
- //# sourceMappingURL=TagsSelectable.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagsSelectable.stories.d.ts","sourceRoot":"","sources":["../../../src/components/tags/TagsSelectable.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;wBA6CrD,IAAI;AAzCT,wBAyCU;AAiBV,eAAO,MAAM,OAAO,EAAE,OAA6C,CAAC"}
@@ -1,76 +0,0 @@
1
- import { userEvent, expect } from 'storybook/test';
2
- import { action } from 'storybook/actions';
3
- export default {
4
- title: 'Indicators/Tag/Selectable',
5
- parameters: {
6
- docs: {
7
- description: {
8
- component: 'A Tag is a UI element used to filter data, categorize, select or deselect an option. It can appear standalone, in a group, or embedded within other components. Depending on its use, a tag can be interactive (clickable, removable, selectable) or static (serving as a visual indicator).',
9
- },
10
- },
11
- },
12
- argTypes: {
13
- label: {
14
- control: 'text',
15
- description: 'Text label displayed inside the tag',
16
- },
17
- id: {
18
- control: 'text',
19
- description: 'ID of the tag (required)',
20
- },
21
- name: {
22
- control: 'text',
23
- description: 'Form name (used for selectable)',
24
- },
25
- checked: {
26
- control: 'boolean',
27
- description: 'Checked state of the tag',
28
- },
29
- size: {
30
- control: 'select',
31
- options: ['s', 'm', 'l'],
32
- description: 'Size of the tag',
33
- },
34
- disabled: {
35
- control: 'boolean',
36
- description: 'Disable the tag',
37
- },
38
- 'update:checked': {
39
- action: 'update:checked',
40
- table: { category: 'Events' },
41
- },
42
- },
43
- };
44
- const createSelectableTag = (args) => {
45
- const tag = document.createElement('mc-tag-selectable');
46
- if (args.label)
47
- tag.setAttribute('label', args.label);
48
- if (args.id)
49
- tag.setAttribute('id', args.id);
50
- if (args.name)
51
- tag.setAttribute('name', args.name);
52
- if (args.size)
53
- tag.setAttribute('size', args.size);
54
- if (args.disabled)
55
- tag.setAttribute('disabled', 'true');
56
- if (args.checked)
57
- tag.setAttribute('checked', 'true');
58
- tag.addEventListener('update:checked', action('update:checked'));
59
- return tag;
60
- };
61
- export const Default = (args) => createSelectableTag(args);
62
- Default.args = {
63
- id: 'tag1',
64
- name: 'filters',
65
- label: 'Tag label',
66
- checked: true,
67
- size: 'm',
68
- };
69
- Default.play = async ({ canvasElement }) => {
70
- const input = canvasElement
71
- .querySelector('mc-tag-selectable')
72
- ?.shadowRoot?.querySelector('input');
73
- expect(input?.checked).toBe(true);
74
- await userEvent.click(input);
75
- expect(input?.checked).toBe(false);
76
- };