@mozaic-ds/web-components 1.2.0 → 1.3.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 (324) hide show
  1. package/dist/Cross20.js +1 -1
  2. package/dist/Cross24.js +1 -1
  3. package/dist/CrossCircleFilled24.js +1 -1
  4. package/dist/Less24.js +2 -0
  5. package/dist/Less24.js.map +1 -0
  6. package/dist/attributes.js +1 -1
  7. package/dist/attributes.js.map +1 -1
  8. package/dist/bundle.d.ts +3 -0
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +3 -0
  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 +2 -1
  14. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  15. package/dist/components/avatar/Avatar.stories.js +2 -1
  16. package/dist/components/avatar/Avatar.svelte +2 -2
  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 +1 -0
  20. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  21. package/dist/components/breadcrumb/Breadcrumb.stories.js +1 -0
  22. package/dist/components/breadcrumb/Breadcrumb.svelte +2 -2
  23. package/dist/components/button/Button.js +2 -2
  24. package/dist/components/button/Button.js.map +1 -1
  25. package/dist/components/button/Button.stories.d.ts +2 -0
  26. package/dist/components/button/Button.stories.d.ts.map +1 -1
  27. package/dist/components/button/Button.stories.js +2 -0
  28. package/dist/components/button/Button.svelte +0 -1
  29. package/dist/components/button/Button.svelte.d.ts +0 -1
  30. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  31. package/dist/components/callout/Callout.js +2 -2
  32. package/dist/components/callout/Callout.js.map +1 -1
  33. package/dist/components/callout/Callout.stories.d.ts +5 -2
  34. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  35. package/dist/components/callout/Callout.stories.js +5 -2
  36. package/dist/components/callout/Callout.svelte +2 -2
  37. package/dist/components/carousel/Carousel.js +4 -0
  38. package/dist/components/carousel/Carousel.js.map +1 -0
  39. package/dist/components/carousel/Carousel.spec.js +49 -0
  40. package/dist/components/carousel/Carousel.stories.d.ts +9 -0
  41. package/dist/components/carousel/Carousel.stories.d.ts.map +1 -0
  42. package/dist/components/carousel/Carousel.stories.js +72 -0
  43. package/dist/components/carousel/Carousel.svelte +187 -0
  44. package/dist/components/carousel/Carousel.svelte.d.ts +46 -0
  45. package/dist/components/carousel/Carousel.svelte.d.ts.map +1 -0
  46. package/dist/components/carousel/README.md +18 -0
  47. package/dist/components/checkbox/Checkbox.js +3 -3
  48. package/dist/components/checkbox/Checkbox.js.map +1 -1
  49. package/dist/components/checkbox/Checkbox.stories.d.ts +1 -0
  50. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  51. package/dist/components/checkbox/Checkbox.stories.js +1 -0
  52. package/dist/components/checkbox/Checkbox.svelte +2 -0
  53. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  54. package/dist/components/checkboxgroup/CheckboxGroup.js +4 -4
  55. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  56. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +1 -0
  57. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  58. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +1 -0
  59. package/dist/components/checkboxgroup/CheckboxGroup.svelte +2 -2
  60. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  61. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  62. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +1 -0
  63. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  64. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +1 -0
  65. package/dist/components/circularprogressbar/CircularProgressbar.svelte +0 -1
  66. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +0 -1
  67. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  68. package/dist/components/container/Container.js +2 -2
  69. package/dist/components/container/Container.stories.d.ts +1 -0
  70. package/dist/components/container/Container.stories.d.ts.map +1 -1
  71. package/dist/components/container/Container.stories.js +1 -0
  72. package/dist/components/datepicker/Datepicker.js +3 -3
  73. package/dist/components/datepicker/Datepicker.js.map +1 -1
  74. package/dist/components/datepicker/Datepicker.stories.d.ts +1 -0
  75. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  76. package/dist/components/datepicker/Datepicker.stories.js +1 -0
  77. package/dist/components/datepicker/Datepicker.svelte +2 -0
  78. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  79. package/dist/components/divider/Divider.js +1 -1
  80. package/dist/components/divider/Divider.stories.d.ts +1 -0
  81. package/dist/components/divider/Divider.stories.d.ts.map +1 -1
  82. package/dist/components/divider/Divider.stories.js +1 -0
  83. package/dist/components/drawer/Drawer.js +2 -2
  84. package/dist/components/drawer/Drawer.js.map +1 -1
  85. package/dist/components/drawer/Drawer.stories.d.ts +2 -0
  86. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  87. package/dist/components/drawer/Drawer.stories.js +2 -0
  88. package/dist/components/drawer/Drawer.svelte +12 -2
  89. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  90. package/dist/components/field/Field.js +2 -2
  91. package/dist/components/field/Field.stories.d.ts +2 -0
  92. package/dist/components/field/Field.stories.d.ts.map +1 -1
  93. package/dist/components/field/Field.stories.js +2 -0
  94. package/dist/components/flag/Flag.js +2 -2
  95. package/dist/components/flag/Flag.js.map +1 -1
  96. package/dist/components/flag/Flag.stories.d.ts +1 -0
  97. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  98. package/dist/components/flag/Flag.stories.js +1 -0
  99. package/dist/components/flag/Flag.svelte +2 -2
  100. package/dist/components/iconbutton/IconButton.js +2 -2
  101. package/dist/components/iconbutton/IconButton.js.map +1 -1
  102. package/dist/components/iconbutton/IconButton.stories.d.ts +4 -2
  103. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  104. package/dist/components/iconbutton/IconButton.stories.js +4 -2
  105. package/dist/components/iconbutton/IconButton.svelte +0 -1
  106. package/dist/components/iconbutton/IconButton.svelte.d.ts +0 -1
  107. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  108. package/dist/components/kpiitem/KpiItem.js +2 -2
  109. package/dist/components/kpiitem/KpiItem.js.map +1 -1
  110. package/dist/components/kpiitem/KpiItem.stories.d.ts +1 -0
  111. package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -1
  112. package/dist/components/kpiitem/KpiItem.stories.js +1 -0
  113. package/dist/components/kpiitem/KpiItem.svelte +2 -2
  114. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  115. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  116. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +1 -0
  117. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  118. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +1 -0
  119. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +2 -1
  120. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  121. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  122. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +1 -0
  123. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  124. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +1 -0
  125. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +2 -1
  126. package/dist/components/link/Link.js +2 -2
  127. package/dist/components/link/Link.js.map +1 -1
  128. package/dist/components/link/Link.stories.d.ts +3 -0
  129. package/dist/components/link/Link.stories.d.ts.map +1 -1
  130. package/dist/components/link/Link.stories.js +3 -0
  131. package/dist/components/link/Link.svelte +2 -0
  132. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  133. package/dist/components/loader/Loader.js +2 -2
  134. package/dist/components/loader/Loader.js.map +1 -1
  135. package/dist/components/loader/Loader.stories.d.ts +1 -0
  136. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  137. package/dist/components/loader/Loader.stories.js +1 -0
  138. package/dist/components/loader/Loader.svelte +2 -1
  139. package/dist/components/loadingoverlay/LoadingOverlay.js +2 -2
  140. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -1
  141. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +1 -0
  142. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -1
  143. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +1 -0
  144. package/dist/components/loadingoverlay/LoadingOverlay.svelte +2 -2
  145. package/dist/components/modal/Modal.js +2 -2
  146. package/dist/components/modal/Modal.js.map +1 -1
  147. package/dist/components/modal/Modal.stories.d.ts +5 -2
  148. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  149. package/dist/components/modal/Modal.stories.js +5 -2
  150. package/dist/components/modal/Modal.svelte +2 -1
  151. package/dist/components/numberbadge/NumberBadge.js +2 -2
  152. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  153. package/dist/components/numberbadge/NumberBadge.stories.d.ts +1 -0
  154. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  155. package/dist/components/numberbadge/NumberBadge.stories.js +1 -0
  156. package/dist/components/numberbadge/NumberBadge.svelte +5 -2
  157. package/dist/components/overlay/Overlay.js +2 -2
  158. package/dist/components/overlay/Overlay.stories.d.ts +1 -0
  159. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  160. package/dist/components/overlay/Overlay.stories.js +1 -0
  161. package/dist/components/pagination/Pagination.js +3 -3
  162. package/dist/components/pagination/Pagination.js.map +1 -1
  163. package/dist/components/pagination/Pagination.stories.d.ts +1 -0
  164. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  165. package/dist/components/pagination/Pagination.stories.js +1 -0
  166. package/dist/components/passwordinput/PasswordInput.js +4 -3
  167. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  168. package/dist/components/passwordinput/PasswordInput.stories.d.ts +1 -0
  169. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  170. package/dist/components/passwordinput/PasswordInput.stories.js +1 -0
  171. package/dist/components/passwordinput/PasswordInput.svelte +2 -0
  172. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  173. package/dist/components/phonenumber/PhoneNumber.js +22 -0
  174. package/dist/components/phonenumber/PhoneNumber.js.map +1 -0
  175. package/dist/components/phonenumber/PhoneNumber.spec.js +103 -0
  176. package/dist/components/phonenumber/PhoneNumber.stories.d.ts +14 -0
  177. package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -0
  178. package/dist/components/phonenumber/PhoneNumber.stories.js +116 -0
  179. package/dist/components/phonenumber/PhoneNumber.svelte +896 -0
  180. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts +60 -0
  181. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -0
  182. package/dist/components/phonenumber/README.md +27 -0
  183. package/dist/components/pincode/Pincode.js +2 -2
  184. package/dist/components/pincode/Pincode.stories.d.ts +1 -0
  185. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  186. package/dist/components/pincode/Pincode.stories.js +1 -0
  187. package/dist/components/quantityselector/QuantitySelector.js +2 -2
  188. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  189. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +1 -0
  190. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  191. package/dist/components/quantityselector/QuantitySelector.stories.js +1 -0
  192. package/dist/components/quantityselector/QuantitySelector.svelte +6 -2
  193. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  194. package/dist/components/radio/Radio.js +2 -2
  195. package/dist/components/radio/Radio.js.map +1 -1
  196. package/dist/components/radio/Radio.stories.d.ts +1 -0
  197. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  198. package/dist/components/radio/Radio.stories.js +1 -0
  199. package/dist/components/radio/Radio.svelte +10 -1
  200. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  201. package/dist/components/radiogroup/RadioGroup.js +1 -1
  202. package/dist/components/radiogroup/RadioGroup.stories.d.ts +1 -0
  203. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  204. package/dist/components/radiogroup/RadioGroup.stories.js +1 -0
  205. package/dist/components/segmentedcontrol/SegmentedControl.js +2 -2
  206. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +1 -0
  207. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -1
  208. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +1 -0
  209. package/dist/components/select/Select.js +2 -2
  210. package/dist/components/select/Select.js.map +1 -1
  211. package/dist/components/select/Select.stories.d.ts +1 -0
  212. package/dist/components/select/Select.stories.d.ts.map +1 -1
  213. package/dist/components/select/Select.stories.js +1 -0
  214. package/dist/components/select/Select.svelte +2 -0
  215. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  216. package/dist/components/starrating/README.md +22 -0
  217. package/dist/components/starrating/StarRating.js +4 -0
  218. package/dist/components/starrating/StarRating.js.map +1 -0
  219. package/dist/components/starrating/StarRating.spec.js +108 -0
  220. package/dist/components/starrating/StarRating.stories.d.ts +13 -0
  221. package/dist/components/starrating/StarRating.stories.d.ts.map +1 -0
  222. package/dist/components/starrating/StarRating.stories.js +82 -0
  223. package/dist/components/starrating/StarRating.svelte +227 -0
  224. package/dist/components/starrating/StarRating.svelte.d.ts +46 -0
  225. package/dist/components/starrating/StarRating.svelte.d.ts.map +1 -0
  226. package/dist/components/statusbadge/StatusBadge.js +2 -2
  227. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  228. package/dist/components/statusbadge/StatusBadge.stories.d.ts +1 -0
  229. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  230. package/dist/components/statusbadge/StatusBadge.stories.js +1 -0
  231. package/dist/components/statusbadge/StatusBadge.svelte +2 -2
  232. package/dist/components/statusdot/StatusDot.js +2 -2
  233. package/dist/components/statusdot/StatusDot.js.map +1 -1
  234. package/dist/components/statusdot/StatusDot.stories.d.ts +1 -0
  235. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  236. package/dist/components/statusdot/StatusDot.stories.js +1 -0
  237. package/dist/components/statusdot/StatusDot.svelte +5 -2
  238. package/dist/components/statusmessage/StatusMessage.js +2 -2
  239. package/dist/components/statusmessage/StatusMessage.js.map +1 -1
  240. package/dist/components/statusmessage/StatusMessage.stories.d.ts +1 -0
  241. package/dist/components/statusmessage/StatusMessage.stories.d.ts.map +1 -1
  242. package/dist/components/statusmessage/StatusMessage.stories.js +1 -0
  243. package/dist/components/statusmessage/StatusMessage.svelte +2 -2
  244. package/dist/components/statusnotification/StatusNotification.js +2 -2
  245. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  246. package/dist/components/statusnotification/StatusNotification.stories.d.ts +4 -0
  247. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  248. package/dist/components/statusnotification/StatusNotification.stories.js +4 -0
  249. package/dist/components/statusnotification/StatusNotification.svelte +2 -1
  250. package/dist/components/steppercompact/StepperCompact.js +2 -2
  251. package/dist/components/steppercompact/StepperCompact.stories.d.ts +1 -0
  252. package/dist/components/steppercompact/StepperCompact.stories.d.ts.map +1 -1
  253. package/dist/components/steppercompact/StepperCompact.stories.js +1 -0
  254. package/dist/components/tab/Tab.js +1 -1
  255. package/dist/components/tab/Tab.js.map +1 -1
  256. package/dist/components/tab/Tab.svelte +0 -1
  257. package/dist/components/tab/Tab.svelte.d.ts +0 -1
  258. package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
  259. package/dist/components/tabs/Tabs.js +2 -2
  260. package/dist/components/tabs/Tabs.stories.d.ts +3 -0
  261. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  262. package/dist/components/tabs/Tabs.stories.js +3 -0
  263. package/dist/components/tag/Tag.js +2 -2
  264. package/dist/components/tag/Tag.js.map +1 -1
  265. package/dist/components/tag/Tag.stories.d.ts +1 -0
  266. package/dist/components/tag/Tag.stories.d.ts.map +1 -1
  267. package/dist/components/tag/Tag.stories.js +1 -0
  268. package/dist/components/tag/Tag.svelte +15 -4
  269. package/dist/components/tag/Tag.svelte.d.ts.map +1 -1
  270. package/dist/components/textarea/Textarea.js +2 -2
  271. package/dist/components/textarea/Textarea.js.map +1 -1
  272. package/dist/components/textarea/Textarea.stories.d.ts +1 -0
  273. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  274. package/dist/components/textarea/Textarea.stories.js +1 -0
  275. package/dist/components/textarea/Textarea.svelte +2 -0
  276. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  277. package/dist/components/textinput/Textinput.js +2 -2
  278. package/dist/components/textinput/Textinput.js.map +1 -1
  279. package/dist/components/textinput/Textinput.stories.d.ts +1 -0
  280. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  281. package/dist/components/textinput/Textinput.stories.js +1 -0
  282. package/dist/components/textinput/Textinput.svelte +2 -0
  283. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  284. package/dist/components/toaster/Toaster.js +2 -2
  285. package/dist/components/toaster/Toaster.js.map +1 -1
  286. package/dist/components/toaster/Toaster.stories.d.ts +3 -0
  287. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  288. package/dist/components/toaster/Toaster.stories.js +3 -0
  289. package/dist/components/toaster/Toaster.svelte +2 -0
  290. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  291. package/dist/components/toggle/Toggle.js +2 -2
  292. package/dist/components/toggle/Toggle.js.map +1 -1
  293. package/dist/components/toggle/Toggle.stories.d.ts +1 -0
  294. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  295. package/dist/components/toggle/Toggle.stories.js +1 -0
  296. package/dist/components/toggle/Toggle.svelte +18 -2
  297. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  298. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  299. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +1 -0
  300. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  301. package/dist/components/togglegroup/ToggleGroup.stories.js +1 -0
  302. package/dist/components/tooltip/Tooltip.js +2 -2
  303. package/dist/components/tooltip/Tooltip.js.map +1 -1
  304. package/dist/components/tooltip/Tooltip.stories.d.ts +1 -0
  305. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  306. package/dist/components/tooltip/Tooltip.stories.js +1 -0
  307. package/dist/components/tooltip/Tooltip.svelte +2 -1
  308. package/dist/custom-element.js +3 -3
  309. package/dist/custom-element.js.map +1 -1
  310. package/dist/each.js +1 -1
  311. package/dist/each.js.map +1 -1
  312. package/dist/if.js +1 -1
  313. package/dist/if.js.map +1 -1
  314. package/dist/input.js +1 -1
  315. package/dist/input.js.map +1 -1
  316. package/dist/legacy.js +1 -1
  317. package/dist/main.d.ts +4 -1
  318. package/dist/main.d.ts.map +1 -1
  319. package/dist/main.js +4 -1
  320. package/dist/slot.js +1 -1
  321. package/dist/svelte-component.js +1 -1
  322. package/dist/this.js +1 -1
  323. package/dist/this.js.map +1 -1
  324. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
- import{c as G,p as H,a as I,b as n,f as s,D as J,d,s as v,i as b,j as K,k as a,r as u,t as M,e as N,g as O}from"../../custom-element.js";import{i}from"../../if.js";import{s as h}from"../../slot.js";import{b as P}from"../../attributes.js";import{L as Q}from"../loader/Loader.js";var R=s('<span class="mc-button__icon svelte-ozghz9"><!></span>'),T=s('<span class="mc-button__icon svelte-ozghz9" style="color: currentColor;position: absolute; visibility: visible;"><!></span>'),U=s('<span class="mc-button__icon svelte-ozghz9"><!></span>'),V=s("<span><!></span>"),W=s('<span class="mc-button__icon svelte-ozghz9"><!></span>'),X=s("<button><!> <!> <!> <!> <!></button>");const Y={hash:"svelte-ozghz9",code:`/**
1
+ import{c as G,p as H,a as I,b as n,f as s,r as J,d,s as v,h as b,i as K,j as a,e as u,t as M,l as N,m as O}from"../../custom-element.js";import{i}from"../../if.js";import{s as h}from"../../slot.js";import{a as P}from"../../attributes.js";import{L as Q}from"../loader/Loader.js";var R=s('<span class="mc-button__icon svelte-ozghz9"><!></span>'),T=s('<span class="mc-button__icon svelte-ozghz9" style="color: currentColor;position: absolute; visibility: visible;"><!></span>'),U=s('<span class="mc-button__icon svelte-ozghz9"><!></span>'),V=s("<span><!></span>"),W=s('<span class="mc-button__icon svelte-ozghz9"><!></span>'),X=s("<button><!> <!> <!> <!> <!></button>");const Y={hash:"svelte-ozghz9",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-button.svelte-ozghz9 {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);}.mc-button.svelte-ozghz9:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-ozghz9:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button.svelte-ozghz9 {font-weight:var(--font-weight-semi-bold, 600);padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button.svelte-ozghz9 .mc-button__label:where(.svelte-ozghz9) {font-size:var(--font-size-150, 1rem);}.mc-button.svelte-ozghz9 {display:inline-flex;justify-content:center;vertical-align:middle;text-align:center;border:2px solid transparent;border-radius:var(--button-border-radius-s, 0.25rem);transition:all ease 200ms;transition:box-shadow 200ms ease;align-items:center;box-sizing:border-box;font-family:inherit;fill:currentcolor;gap:0.25rem;cursor:pointer;}.mc-button__label.svelte-ozghz9 {font-size:var(--font-size-150, 1rem);}.mc-button__icon.svelte-ozghz9 {flex-shrink:0;width:1.5rem;height:1.5rem;}.mc-button.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button.svelte-ozghz9: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-button--s.svelte-ozghz9 {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;}.mc-button--s.svelte-ozghz9 .mc-button__label:where(.svelte-ozghz9) {font-size:var(--font-size-100, 0.875rem);}.mc-button--s.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9) {width:1.25rem;height:1.25rem;}.mc-button--s.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9):only-child {width:1.25rem;height:1.25rem;}.mc-button--m.svelte-ozghz9 {padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button--m.svelte-ozghz9 .mc-button__label:where(.svelte-ozghz9) {font-size:var(--font-size-150, 1rem);}.mc-button--m.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9) {width:1.5rem;height:1.5rem;}.mc-button--m.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9):only-child {width:1.5rem;height:1.5rem;}.mc-button--l.svelte-ozghz9 {padding:0 calc(1.25rem - 0.125rem);min-height:4rem;min-width:4rem;}.mc-button--l.svelte-ozghz9 .mc-button__label:where(.svelte-ozghz9) {font-size:var(--font-size-200, 1.125rem);}.mc-button--l.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9) {width:2rem;height:2rem;}.mc-button--l.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9):only-child {width:2rem;height:2rem;}.mc-button--icon-only.svelte-ozghz9 {padding:0.25rem;}.mc-button--outlined.svelte-ozghz9 {color:var(--button-color-outlined-standard-font, #242938);border-color:var(--button-color-outlined-standard-border, #8891aa);background-color:var(--button-color-outlined-standard-background, #ffffff);}.mc-button--outlined.svelte-ozghz9:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.svelte-ozghz9:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.svelte-ozghz9 {color:var(--button-color-ghost-standard-font, #242938);background-color:var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.svelte-ozghz9:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-ozghz9:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--accent.svelte-ozghz9 {color:var(--button-color-filled-accent-font, #ffffff);background-color:var(--button-color-filled-accent-background, #117f03);}.mc-button--accent.svelte-ozghz9:hover {background-color:var(--button-color-filled-accent-hover-background, #006902);}.mc-button--accent.svelte-ozghz9:active {background-color:var(--button-color-filled-accent-active-background, #035010);}.mc-button--accent.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--danger.svelte-ozghz9 {color:var(--button-color-filled-danger-font, #ffffff);background-color:var(--button-color-filled-danger-background, #c61112);}.mc-button--danger.svelte-ozghz9:hover {background-color:var(--button-color-filled-danger-hover-background, #8c0003);}.mc-button--danger.svelte-ozghz9:active {background-color:var(--button-color-filled-danger-active-background, #530000);}.mc-button--danger.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--inverse.svelte-ozghz9 {--focus-color-mid: var(--focus-color-outline-outer, #000000);--focus-color-outer: var(--focus-color-outline-mid, #ffffff);color:var(--button-color-filled-inverse-font, #242938);background-color:var(--button-color-filled-inverse-background, #ffffff);}.mc-button--inverse.svelte-ozghz9:hover {background-color:var(--button-color-filled-inverse-hover-background, #e6e6e6);}.mc-button--inverse.svelte-ozghz9:active {background-color:var(--button-color-filled-inverse-active-background, #cccccc);}.mc-button--inverse.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--icon-button.svelte-ozghz9 {border-radius:var(--border-radius-full, 100%);padding:0;}.mc-button--loading.svelte-ozghz9 .mc-button__label:where(.svelte-ozghz9),
4
- .mc-button--loading.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9) {visibility:hidden;}.mc-button--outlined.mc-button--standard.svelte-ozghz9 {color:var(--button-color-outlined-standard-font, #242938);border-color:var(--button-color-outlined-standard-border, #8891aa);background-color:var(--button-color-outlined-standard-background, #ffffff);}.mc-button--outlined.mc-button--standard.svelte-ozghz9:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-ozghz9:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--accent.svelte-ozghz9 {color:var(--button-color-outlined-accent-font, #117f03);border-color:var(--button-color-outlined-accent-border, #78be20);background-color:var(--button-color-outlined-accent-background, #ffffff);}.mc-button--outlined.mc-button--accent.svelte-ozghz9:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-ozghz9:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--danger.svelte-ozghz9 {color:var(--button-color-outlined-danger-font, #c61112);border-color:var(--button-color-outlined-danger-border, #ef5f5c);background-color:var(--button-color-outlined-danger-background, #ffffff);}.mc-button--outlined.mc-button--danger.svelte-ozghz9:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-ozghz9:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--inverse.svelte-ozghz9 {color:var(--button-color-outlined-inverse-font, #ffffff);border-color:var(--button-color-outlined-inverse-border, #ffffff);background-color:var(--button-color-outlined-inverse-background, rgba(255, 255, 255, 0.01));}.mc-button--outlined.mc-button--inverse.svelte-ozghz9:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-ozghz9:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--standard.svelte-ozghz9 {color:var(--button-color-ghost-standard-font, #242938);background-color:var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--standard.svelte-ozghz9:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-ozghz9:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--accent.svelte-ozghz9 {color:var(--button-color-ghost-accent-font, #117f03);background-color:var(--button-color-ghost-accent-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--accent.svelte-ozghz9:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-ozghz9:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--danger.svelte-ozghz9 {color:var(--button-color-ghost-danger-font, #c61112);background-color:var(--button-color-ghost-danger-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--danger.svelte-ozghz9:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-ozghz9:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--inverse.svelte-ozghz9 {color:var(--button-color-ghost-inverse-font, #ffffff);background-color:var(--button-color-ghost-inverse-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--inverse.svelte-ozghz9:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-ozghz9:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.hidden.svelte-ozghz9 {visibility:hidden;}`};function Z(w,e){H(e,!0),I(w,Y);let m=n(e,"appearance",7,"standard"),z=n(e,"size",7,"m"),f=n(e,"type",7,"button"),k=n(e,"ghost",7),_=n(e,"outlined",7),p=n(e,"disabled",7),l=n(e,"isloading",7),c=n(e,"iconposition",7),D=J(e,["$$slots","$$events","$$legacy","$$host","appearance","size","type","ghost","outlined","disabled","isloading","iconposition"]);var L={get appearance(){return m()},set appearance(o="standard"){m(o),a()},get size(){return z()},set size(o="m"){z(o),a()},get type(){return f()},set type(o="button"){f(o),a()},get ghost(){return k()},set ghost(o){k(o),a()},get outlined(){return _()},set outlined(o){_(o),a()},get disabled(){return p()},set disabled(o){p(o),a()},get isloading(){return l()},set isloading(o){l(o),a()},get iconposition(){return c()},set iconposition(o){c(o),a()}},g=X();P(g,()=>({class:["mc-button",`mc-button--${z()}`,`mc-button--${m()}`,k()&&"mc-button--ghost",_()&&"mc-button--outlined",l()&&"mc-button--loading",c()==="only"&&"mc-button--icon-only"],disabled:p(),type:f(),...D}),void 0,void 0,void 0,"svelte-ozghz9");var y=d(g);{var C=o=>{var t=R(),r=d(t);h(r,e,"icon",{}),u(t),b(o,t)};i(y,o=>{c()==="left"&&!l()&&o(C)})}var x=v(y,2);{var E=o=>{var t=T(),r=d(t);Q(r,{appearance:"inverse",size:"s"}),u(t),b(o,t)};i(x,o=>{l()&&o(E)})}var j=v(x,2);{var S=o=>{var t=U(),r=d(t);h(r,e,"icon",{}),u(t),b(o,t)};i(j,o=>{c()==="only"&&o(S)})}var B=v(j,2);{var q=o=>{var t=V(),r=d(t);h(r,e,"default",{}),u(t),M(()=>N(t,1,O(["mc-button__label",l()&&"hidden"]),"svelte-ozghz9")),b(o,t)};i(B,o=>{c()!=="only"&&o(q)})}var A=v(B,2);{var F=o=>{var t=W(),r=d(t);h(r,e,"icon",{}),u(t),b(o,t)};i(A,o=>{c()==="right"&&o(F)})}return u(g),b(w,g),K(L)}customElements.define("m-button",G(Z,{appearance:{},size:{},type:{},ghost:{},outlined:{},disabled:{},isloading:{},iconposition:{}},["icon","default"],[],!0));export{Z as B};
4
+ .mc-button--loading.svelte-ozghz9 .mc-button__icon:where(.svelte-ozghz9) {visibility:hidden;}.mc-button--outlined.mc-button--standard.svelte-ozghz9 {color:var(--button-color-outlined-standard-font, #242938);border-color:var(--button-color-outlined-standard-border, #8891aa);background-color:var(--button-color-outlined-standard-background, #ffffff);}.mc-button--outlined.mc-button--standard.svelte-ozghz9:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-ozghz9:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--accent.svelte-ozghz9 {color:var(--button-color-outlined-accent-font, #117f03);border-color:var(--button-color-outlined-accent-border, #78be20);background-color:var(--button-color-outlined-accent-background, #ffffff);}.mc-button--outlined.mc-button--accent.svelte-ozghz9:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-ozghz9:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--danger.svelte-ozghz9 {color:var(--button-color-outlined-danger-font, #c61112);border-color:var(--button-color-outlined-danger-border, #ef5f5c);background-color:var(--button-color-outlined-danger-background, #ffffff);}.mc-button--outlined.mc-button--danger.svelte-ozghz9:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-ozghz9:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--outlined.mc-button--inverse.svelte-ozghz9 {color:var(--button-color-outlined-inverse-font, #ffffff);border-color:var(--button-color-outlined-inverse-border, #ffffff);background-color:var(--button-color-outlined-inverse-background, rgba(255, 255, 255, 0.01));}.mc-button--outlined.mc-button--inverse.svelte-ozghz9:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-ozghz9:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--standard.svelte-ozghz9 {color:var(--button-color-ghost-standard-font, #242938);background-color:var(--button-color-ghost-standard-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--standard.svelte-ozghz9:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-ozghz9:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--accent.svelte-ozghz9 {color:var(--button-color-ghost-accent-font, #117f03);background-color:var(--button-color-ghost-accent-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--accent.svelte-ozghz9:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-ozghz9:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--danger.svelte-ozghz9 {color:var(--button-color-ghost-danger-font, #c61112);background-color:var(--button-color-ghost-danger-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--danger.svelte-ozghz9:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-ozghz9:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-button--ghost.mc-button--inverse.svelte-ozghz9 {color:var(--button-color-ghost-inverse-font, #ffffff);background-color:var(--button-color-ghost-inverse-background, rgba(255, 255, 255, 0.01));}.mc-button--ghost.mc-button--inverse.svelte-ozghz9:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-ozghz9:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-ozghz9:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.hidden.svelte-ozghz9 {visibility:hidden;}`};function Z(w,e){H(e,!0),I(w,Y);let m=n(e,"appearance",7,"standard"),z=n(e,"size",7,"m"),f=n(e,"type",7,"button"),k=n(e,"ghost",7),_=n(e,"outlined",7),p=n(e,"disabled",7),l=n(e,"isloading",7),c=n(e,"iconposition",7),L=J(e,["$$slots","$$events","$$legacy","$$host","appearance","size","type","ghost","outlined","disabled","isloading","iconposition"]);var C={get appearance(){return m()},set appearance(o="standard"){m(o),a()},get size(){return z()},set size(o="m"){z(o),a()},get type(){return f()},set type(o="button"){f(o),a()},get ghost(){return k()},set ghost(o){k(o),a()},get outlined(){return _()},set outlined(o){_(o),a()},get disabled(){return p()},set disabled(o){p(o),a()},get isloading(){return l()},set isloading(o){l(o),a()},get iconposition(){return c()},set iconposition(o){c(o),a()}},g=X();P(g,()=>({class:["mc-button",`mc-button--${z()}`,`mc-button--${m()}`,k()&&"mc-button--ghost",_()&&"mc-button--outlined",l()&&"mc-button--loading",c()==="only"&&"mc-button--icon-only"],disabled:p(),type:f(),...L}),void 0,void 0,void 0,"svelte-ozghz9");var y=d(g);{var D=o=>{var t=R(),r=d(t);h(r,e,"icon",{}),u(t),b(o,t)};i(y,o=>{c()==="left"&&!l()&&o(D)})}var x=v(y,2);{var E=o=>{var t=T(),r=d(t);Q(r,{appearance:"inverse",size:"s"}),u(t),b(o,t)};i(x,o=>{l()&&o(E)})}var j=v(x,2);{var S=o=>{var t=U(),r=d(t);h(r,e,"icon",{}),u(t),b(o,t)};i(j,o=>{c()==="only"&&o(S)})}var B=v(j,2);{var q=o=>{var t=V(),r=d(t);h(r,e,"default",{}),u(t),M(()=>N(t,1,O(["mc-button__label",l()&&"hidden"]),"svelte-ozghz9")),b(o,t)};i(B,o=>{c()!=="only"&&o(q)})}var A=v(B,2);{var F=o=>{var t=W(),r=d(t);h(r,e,"icon",{}),u(t),b(o,t)};i(A,o=>{c()==="right"&&o(F)})}return u(g),b(w,g),K(C)}customElements.define("m-button",G(Z,{appearance:{},size:{},type:{},ghost:{},outlined:{},disabled:{},isloading:{},iconposition:{}},["icon","default"],[],!0));export{Z as B};
5
5
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../src/components/button/Button.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-button' }} />\n\n<script lang=\"ts\">\n import Loader from '../loader/Loader.svelte';\n /**\n * Buttons are key interactive elements used to perform actions and can be used as standalone element, or as part of another component. Their appearance depends on the type of action required from the user and the context in which they are used.\n *\n * @slot default - The content displayed in the button.\n * @slot icon - Use this slot to insert an icon for the Button.\n */\n interface Props {\n [key: string]: any;\n /**\n * Defines the visual style of the button.\n */\n appearance?: 'standard' | 'accent' | 'danger' | 'inverse';\n /**\n * Determines the size of the button.\n */\n size?: 's' | 'm' | 'l';\n /**\n * If `true`, disables the button, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, applies a \"ghost\" style to the button, typically a transparent background with a border.\n */\n ghost?: boolean;\n /**\n * If `true`, the button gets an outlined style, usually with just the border and no solid background.\n */\n outlined?: boolean;\n /**\n * Controls the positioning of an icon in the button.\n */\n iconposition?: 'left' | 'right' | 'only';\n /**\n * Specifies the button's HTML `type` attribute.\n */\n type?: 'button' | 'reset' | 'submit';\n /**\n * If `true`, a loading state is displayed.\n */\n isloading?: boolean;\n }\n\n let {\n appearance = 'standard',\n size = 'm',\n type = 'button',\n ghost,\n outlined,\n disabled,\n isloading,\n iconposition,\n ...attrs\n }: Props = $props();\n</script>\n\n<button\n class={[\n 'mc-button',\n `mc-button--${size}`,\n `mc-button--${appearance}`,\n ghost && 'mc-button--ghost',\n outlined && 'mc-button--outlined',\n isloading && 'mc-button--loading',\n iconposition === 'only' && 'mc-button--icon-only',\n ]}\n {disabled}\n {type}\n {...attrs}\n>\n {#if iconposition === 'left' && !isloading}\n <span class=\"mc-button__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n\n {#if isloading}\n <span\n class=\"mc-button__icon\"\n style=\"color: currentColor;position: absolute; visibility: visible;\"\n >\n <Loader appearance=\"inverse\" size=\"s\" />\n </span>\n {/if}\n\n {#if iconposition === 'only'}\n <span class=\"mc-button__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n\n {#if iconposition !== 'only'}\n <span class={['mc-button__label', isloading && 'hidden']}>\n <slot />\n </span>\n {/if}\n\n {#if iconposition === 'right'}\n <span class=\"mc-button__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n</button>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/button';\n\n .hidden {\n visibility: hidden;\n }\n</style>\n"],"names":["appearance","size","type","ghost","$.prop","$$props","outlined","disabled","isloading","iconposition","attrs","$.rest_props","$$render","consequent","consequent_1","consequent_2","consequent_3","consequent_4"],"mappings":";;;o/LAAA,gBA+CI,IAAAA,qBAAa,UAAU,EACvBC,eAAO,GAAG,EACVC,eAAO,QAAQ,EACfC,EAAKC,EAAAC,EAAA,QAAA,CAAA,EACLC,EAAQF,EAAAC,EAAA,WAAA,CAAA,EACRE,EAAQH,EAAAC,EAAA,WAAA,CAAA,EACRG,EAASJ,EAAAC,EAAA,YAAA,CAAA,EACTI,EAAYL,EAAAC,EAAA,eAAA,CAAA,EACTK,EAAAC,EAAAN,EAAA,qLARU,WAAU,6CAChB,IAAG,6CACH,SAAQ,gTAYf,0BACcJ,EAAI,CAAA,iBACJD,EAAU,CAAA,GACxBG,EAAK,GAAI,mBACTG,EAAQ,GAAI,sBACZE,EAAS,GAAI,qBACbC,EAAY,IAAK,QAAU,iDAIzBC,uHAECD,EAAY,IAAK,QAAM,CAAKD,EAAS,GAAAI,EAAAC,CAAA,uGAMrCL,EAAS,GAAAI,EAAAE,CAAA,mFASTL,EAAY,IAAK,QAAMG,EAAAG,CAAA,qFAOZ,mBAAoBP,EAAS,GAAI,QAAQ,CAAA,EAAA,eAAA,CAAA,kBADpDC,EAAY,IAAK,QAAMG,EAAAI,CAAA,mFAMvBP,EAAY,IAAK,SAAOG,EAAAK,CAAA,2BA3C/B"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/components/button/Button.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-button' }} />\n\n<script lang=\"ts\">\n import Loader from '../loader/Loader.svelte';\n /**\n * Buttons are key interactive elements used to perform actions and can be used as standalone element, or as part of another component. Their appearance depends on the type of action required from the user and the context in which they are used.\n *\n * @slot default - The content displayed in the button.\n * @slot icon - Use this slot to insert an icon for the Button.\n */\n interface Props {\n /**\n * Defines the visual style of the button.\n */\n appearance?: 'standard' | 'accent' | 'danger' | 'inverse';\n /**\n * Determines the size of the button.\n */\n size?: 's' | 'm' | 'l';\n /**\n * If `true`, disables the button, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, applies a \"ghost\" style to the button, typically a transparent background with a border.\n */\n ghost?: boolean;\n /**\n * If `true`, the button gets an outlined style, usually with just the border and no solid background.\n */\n outlined?: boolean;\n /**\n * Controls the positioning of an icon in the button.\n */\n iconposition?: 'left' | 'right' | 'only';\n /**\n * Specifies the button's HTML `type` attribute.\n */\n type?: 'button' | 'reset' | 'submit';\n /**\n * If `true`, a loading state is displayed.\n */\n isloading?: boolean;\n }\n\n let {\n appearance = 'standard',\n size = 'm',\n type = 'button',\n ghost,\n outlined,\n disabled,\n isloading,\n iconposition,\n ...attrs\n }: Props = $props();\n</script>\n\n<button\n class={[\n 'mc-button',\n `mc-button--${size}`,\n `mc-button--${appearance}`,\n ghost && 'mc-button--ghost',\n outlined && 'mc-button--outlined',\n isloading && 'mc-button--loading',\n iconposition === 'only' && 'mc-button--icon-only',\n ]}\n {disabled}\n {type}\n {...attrs}\n>\n {#if iconposition === 'left' && !isloading}\n <span class=\"mc-button__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n\n {#if isloading}\n <span\n class=\"mc-button__icon\"\n style=\"color: currentColor;position: absolute; visibility: visible;\"\n >\n <Loader appearance=\"inverse\" size=\"s\" />\n </span>\n {/if}\n\n {#if iconposition === 'only'}\n <span class=\"mc-button__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n\n {#if iconposition !== 'only'}\n <span class={['mc-button__label', isloading && 'hidden']}>\n <slot />\n </span>\n {/if}\n\n {#if iconposition === 'right'}\n <span class=\"mc-button__icon\">\n <slot name=\"icon\" />\n </span>\n {/if}\n</button>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/button';\n\n .hidden {\n visibility: hidden;\n }\n</style>\n"],"names":["appearance","size","type","ghost","$.prop","$$props","outlined","disabled","isloading","iconposition","attrs","$.rest_props","$$render","consequent","consequent_1","consequent_2","consequent_3","consequent_4"],"mappings":";;;o/LAAA,gBA8CI,IAAAA,qBAAa,UAAU,EACvBC,eAAO,GAAG,EACVC,eAAO,QAAQ,EACfC,EAAKC,EAAAC,EAAA,QAAA,CAAA,EACLC,EAAQF,EAAAC,EAAA,WAAA,CAAA,EACRE,EAAQH,EAAAC,EAAA,WAAA,CAAA,EACRG,EAASJ,EAAAC,EAAA,YAAA,CAAA,EACTI,EAAYL,EAAAC,EAAA,eAAA,CAAA,EACTK,EAAAC,EAAAN,EAAA,qLARU,WAAU,6CAChB,IAAG,6CACH,SAAQ,gTAYf,0BACcJ,EAAI,CAAA,iBACJD,EAAU,CAAA,GACxBG,EAAK,GAAI,mBACTG,EAAQ,GAAI,sBACZE,EAAS,GAAI,qBACbC,EAAY,IAAK,QAAU,iDAIzBC,uHAECD,EAAY,IAAK,QAAM,CAAKD,EAAS,GAAAI,EAAAC,CAAA,uGAMrCL,EAAS,GAAAI,EAAAE,CAAA,mFASTL,EAAY,IAAK,QAAMG,EAAAG,CAAA,qFAOZ,mBAAoBP,EAAS,GAAI,QAAQ,CAAA,EAAA,eAAA,CAAA,kBADpDC,EAAY,IAAK,QAAMG,EAAAI,CAAA,mFAMvBP,EAAY,IAAK,SAAOG,EAAAK,CAAA,2BA3C/B"}
@@ -1,4 +1,6 @@
1
1
  import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import './Button.svelte';
3
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight24/ChevronRight24.svelte';
2
4
  declare const meta: Meta;
3
5
  export default meta;
4
6
  type Story = StoryObj;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IAoCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,MAAM,EAAE,KAAU,CAAC;AAEhC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAKlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
1
+ {"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,iBAAiB,CAAC;AACzB,OAAO,qEAAqE,CAAC;AAE7E,QAAA,MAAM,IAAI,EAAE,IAoCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,MAAM,EAAE,KAAU,CAAC;AAEhC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAKlB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { html } from 'lit';
2
2
  import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  import { unsafeHTML } from 'lit/directives/unsafe-html.js';
4
+ import './Button.svelte';
5
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight24/ChevronRight24.svelte';
4
6
  const meta = {
5
7
  title: 'Action/Button',
6
8
  component: 'm-button',
@@ -9,7 +9,6 @@
9
9
  * @slot icon - Use this slot to insert an icon for the Button.
10
10
  */
11
11
  interface Props {
12
- [key: string]: any;
13
12
  /**
14
13
  * Defines the visual style of the button.
15
14
  */
@@ -5,7 +5,6 @@
5
5
  * @slot icon - Use this slot to insert an icon for the Button.
6
6
  */
7
7
  interface Props {
8
- [key: string]: any;
9
8
  /**
10
9
  * Defines the visual style of the button.
11
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.svelte.ts"],"names":[],"mappings":"AAKE;;;;;GAKG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgEH,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,MAAM;;;;;;;;UAAqF,CAAC;AAChF,KAAK,MAAM,GAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.svelte.ts"],"names":[],"mappings":"AAKE;;;;;GAKG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACzC;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IACrC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAgEH,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,MAAM;;;;;;;;UAAqF,CAAC;AAChF,KAAK,MAAM,GAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,eAAe,MAAM,CAAC"}
@@ -1,4 +1,4 @@
1
- import{c as j,p as C,a as D,b as d,f as E,d as t,s as r,t as S,i as q,j as A,k as m,r as l,e as B,g as F,h}from"../../custom-element.js";import{s as u}from"../../slot.js";var G=E('<section role="status"><div class="mc-callout__icon svelte-1pnlv3f"><!></div> <div class="mc-callout__content svelte-1pnlv3f"><h2 class="mc-callout__title svelte-1pnlv3f"> </h2> <p class="mc-callout__message svelte-1pnlv3f"> </p> <!> <div class="mc-callout__footer svelte-1pnlv3f"><!></div></div></section>');const H={hash:"svelte-1pnlv3f",code:`/**
1
+ import{c as C,p as D,a as E,b as d,f as S,r as q,d as t,s as r,t as A,h as B,i as F,j as m,e as l,g as h}from"../../custom-element.js";import{s as u}from"../../slot.js";import{a as G}from"../../attributes.js";var H=S('<section><div class="mc-callout__icon svelte-1pnlv3f"><!></div> <div class="mc-callout__content svelte-1pnlv3f"><h2 class="mc-callout__title svelte-1pnlv3f"> </h2> <p class="mc-callout__message svelte-1pnlv3f"> </p> <!> <div class="mc-callout__footer svelte-1pnlv3f"><!></div></div></section>');const I={hash:"svelte-1pnlv3f",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-callout.svelte-1pnlv3f {border-radius:var(--border-radius-m, 0.5rem);background:var(--callout-color-background-standard, #eff1f6);display:flex;flex-flow:row wrap;align-items:flex-start;position:relative;box-sizing:border-box;color:var(--callout-color-text, #000000);}.mc-callout__icon.svelte-1pnlv3f {width:2rem;height:2rem;margin:0.75rem;color:currentcolor;}.mc-callout__content.svelte-1pnlv3f {flex:1 1 0;padding:0.75rem 1rem 0.75rem 0;}.mc-callout__title.svelte-1pnlv3f, .mc-callout__message.svelte-1pnlv3f {line-height:var(--line-height-s, 1.3);margin-block:0;}.mc-callout__title.svelte-1pnlv3f {font-weight:var(--font-weight-semi-bold, 600);font-size:var(--font-size-150, 1rem);margin-block-end:0.25rem;}.mc-callout__message.svelte-1pnlv3f {font-size:var(--font-size-100, 0.875rem);}.mc-callout__footer.svelte-1pnlv3f {align-items:flex-start;display:flex;flex-flow:row wrap;gap:0.5rem;margin-top:0.75rem;margin-bottom:0.5rem;}.mc-callout--standard.svelte-1pnlv3f {background:var(--callout-color-background-standard, #eff1f6);}.mc-callout--accent.svelte-1pnlv3f {background:var(--callout-color-background-accent, #ebf5de);}.mc-callout--tips.svelte-1pnlv3f {background:var(--callout-color-background-tips, #ffebaf);}.mc-callout--inverse.svelte-1pnlv3f {background:var(--callout-color-background-inverse, #ffffff);}.mc-callout__footer.svelte-1pnlv3f:empty {display:none;}`};function I(p,e){C(e,!0),D(p,H);let c=d(e,"title",7),s=d(e,"description",7),n=d(e,"appearance",7,"standard");var x={get title(){return c()},set title(a){c(a),m()},get description(){return s()},set description(a){s(a),m()},get appearance(){return n()},set appearance(a="standard"){n(a),m()}},o=G(),i=t(o),k=t(i);u(k,e,"icon",{}),l(i);var _=r(i,2),v=t(_),w=t(v,!0);l(v);var f=r(v,2),y=t(f,!0);l(f);var g=r(f,2);u(g,e,"default",{});var b=r(g,2),z=t(b);return u(z,e,"footer",{}),l(b),l(_),l(o),S(()=>{B(o,1,F(["mc-callout",`mc-callout--${n()}`]),"svelte-1pnlv3f"),h(w,c()),h(y,s())}),q(p,o),A(x)}customElements.define("m-callout",j(I,{title:{},description:{},appearance:{}},["icon","default","footer"],[],!0));
3
+ */.mc-callout.svelte-1pnlv3f {border-radius:var(--border-radius-m, 0.5rem);background:var(--callout-color-background-standard, #eff1f6);display:flex;flex-flow:row wrap;align-items:flex-start;position:relative;box-sizing:border-box;color:var(--callout-color-text, #000000);}.mc-callout__icon.svelte-1pnlv3f {width:2rem;height:2rem;margin:0.75rem;color:currentcolor;}.mc-callout__content.svelte-1pnlv3f {flex:1 1 0;padding:0.75rem 1rem 0.75rem 0;}.mc-callout__title.svelte-1pnlv3f, .mc-callout__message.svelte-1pnlv3f {line-height:var(--line-height-s, 1.3);margin-block:0;}.mc-callout__title.svelte-1pnlv3f {font-weight:var(--font-weight-semi-bold, 600);font-size:var(--font-size-150, 1rem);margin-block-end:0.25rem;}.mc-callout__message.svelte-1pnlv3f {font-size:var(--font-size-100, 0.875rem);}.mc-callout__footer.svelte-1pnlv3f {align-items:flex-start;display:flex;flex-flow:row wrap;gap:0.5rem;margin-top:0.75rem;margin-bottom:0.5rem;}.mc-callout--standard.svelte-1pnlv3f {background:var(--callout-color-background-standard, #eff1f6);}.mc-callout--accent.svelte-1pnlv3f {background:var(--callout-color-background-accent, #ebf5de);}.mc-callout--tips.svelte-1pnlv3f {background:var(--callout-color-background-tips, #ffebaf);}.mc-callout--inverse.svelte-1pnlv3f {background:var(--callout-color-background-inverse, #ffffff);}.mc-callout__footer.svelte-1pnlv3f:empty {display:none;}`};function J(p,e){D(e,!0),E(p,I);let s=d(e,"title",7),c=d(e,"description",7),n=d(e,"appearance",7,"standard"),x=q(e,["$$slots","$$events","$$legacy","$$host","title","description","appearance"]);var k={get title(){return s()},set title(a){s(a),m()},get description(){return c()},set description(a){c(a),m()},get appearance(){return n()},set appearance(a="standard"){n(a),m()}},o=H();G(o,()=>({class:["mc-callout",`mc-callout--${n()}`],role:"status",...x}),void 0,void 0,void 0,"svelte-1pnlv3f");var i=t(o),w=t(i);u(w,e,"icon",{}),l(i);var _=r(i,2),v=t(_),y=t(v,!0);l(v);var f=r(v,2),z=t(f,!0);l(f);var g=r(f,2);u(g,e,"default",{});var b=r(g,2),j=t(b);return u(j,e,"footer",{}),l(b),l(_),l(o),A(()=>{h(y,s()),h(z,c())}),B(p,o),F(k)}customElements.define("m-callout",C(J,{title:{},description:{},appearance:{}},["icon","default","footer"],[],!0));
4
4
  //# sourceMappingURL=Callout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.js","sources":["../../../src/components/callout/Callout.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-callout' }} />\n\n<script lang=\"ts\">\n /**\n * A callout is used to highlight additional information that can assist users with tips, extra details, or helpful guidance, without signaling a critical status or alert. Unlike notifications, callouts are not triggered by user actions and do not correspond to specific system states. They are designed to enhance the user experience by providing contextually relevant information that supports comprehension and usability.\n *\n * @slot icon - Use this slot to insert an icon.\n * @slot default - Use this slot to insert custom content.\n * @slot footer - Use this slot to insert a button or a link in the footer of the callout.\n */\n interface Props {\n /**\n * Title of the callout.\n */\n title: string;\n /**\n * Description of the callout.\n */\n description: string;\n /**\n * Allows to define the callout appearance.\n */\n appearance?: 'standard' | 'accent' | 'tips' | 'inverse';\n }\n\n let { title, description, appearance = 'standard' }: Props = $props();\n</script>\n\n<section class={['mc-callout', `mc-callout--${appearance}`]} role=\"status\">\n <div class=\"mc-callout__icon\">\n <slot name=\"icon\" />\n </div>\n <div class=\"mc-callout__content\">\n <h2 class=\"mc-callout__title\">{title}</h2>\n\n <p class=\"mc-callout__message\">\n {description}\n </p>\n\n <slot />\n\n <div class=\"mc-callout__footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n</section>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/callout';\n\n .mc-callout__footer:empty {\n display: none;\n }\n</style>\n"],"names":["title","$.prop","$$props","description","appearance","$.set_class","section","$.clsx"],"mappings":";;s3CAAA,oBAyBQA,EAAKC,EAAAC,EAAA,QAAA,CAAA,EAAEC,EAAWF,EAAAC,EAAA,cAAA,CAAA,EAAEE,qBAAa,UAAU,iKAAV,WAAU,0NAGlCC,EAAAC,EAAA,EAAAC,EAAA,CAAA,4BAA6BH,EAAU,CAAA,EAAA,CAAA,EAAA,gBAAA,MAKrBJ,GAAK,MAGjCG,GAAW,eAVlB"}
1
+ {"version":3,"file":"Callout.js","sources":["../../../src/components/callout/Callout.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-callout' }} />\n\n<script lang=\"ts\">\n /**\n * A callout is used to highlight additional information that can assist users with tips, extra details, or helpful guidance, without signaling a critical status or alert. Unlike notifications, callouts are not triggered by user actions and do not correspond to specific system states. They are designed to enhance the user experience by providing contextually relevant information that supports comprehension and usability.\n *\n * @slot icon - Use this slot to insert an icon.\n * @slot default - Use this slot to insert custom content.\n * @slot footer - Use this slot to insert a button or a link in the footer of the callout.\n */\n interface Props {\n /**\n * Title of the callout.\n */\n title: string;\n /**\n * Description of the callout.\n */\n description: string;\n /**\n * Allows to define the callout appearance.\n */\n appearance?: 'standard' | 'accent' | 'tips' | 'inverse';\n }\n\n let { title, description, appearance = 'standard', ...attrs }: Props = $props();\n</script>\n\n<section class={['mc-callout', `mc-callout--${appearance}`]} role=\"status\" {...attrs}>\n <div class=\"mc-callout__icon\">\n <slot name=\"icon\" />\n </div>\n <div class=\"mc-callout__content\">\n <h2 class=\"mc-callout__title\">{title}</h2>\n\n <p class=\"mc-callout__message\">\n {description}\n </p>\n\n <slot />\n\n <div class=\"mc-callout__footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n</section>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/callout';\n\n .mc-callout__footer:empty {\n display: none;\n }\n</style>\n"],"names":["title","$.prop","$$props","description","appearance","attrs","$.rest_props"],"mappings":";;s3CAAA,oBAyBQA,EAAKC,EAAAC,EAAA,QAAA,CAAA,EAAEC,EAAWF,EAAAC,EAAA,cAAA,CAAA,EAAEE,qBAAa,UAAU,EAAKC,EAAKC,EAAAJ,EAAA,8OAApB,WAAU,4BAGlC,MAAA,CAAA,4BAA6BE,EAAU,CAAA,EAAA,mBAAuBC,2PAK5CL,GAAK,MAGjCG,GAAW,eAVlB"}
@@ -1,6 +1,9 @@
1
1
  import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
- import '@mozaic-ds/icons-svelte/custom-elements/ImageAlt32/ImageAlt32.js';
3
- import '@mozaic-ds/icons-svelte/custom-elements/ArrowNext20/ArrowNext20.js';
2
+ import '@mozaic-ds/icons-svelte/svelte/ImageAlt32/ImageAlt32.svelte';
3
+ import '@mozaic-ds/icons-svelte/svelte/ArrowNext20/ArrowNext20.svelte';
4
+ import './Callout.svelte';
5
+ import '../button/Button.svelte';
6
+ import '../link/Link.svelte';
4
7
  declare const meta: Meta;
5
8
  export default meta;
6
9
  type Story = StoryObj;
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.stories.d.ts","sourceRoot":"","sources":["../../../src/components/callout/Callout.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,kEAAkE,CAAC;AAC1E,OAAO,oEAAoE,CAAC;AAE5E,QAAA,MAAM,IAAI,EAAE,IAyBX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAElB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAUpB,CAAC"}
1
+ {"version":3,"file":"Callout.stories.d.ts","sourceRoot":"","sources":["../../../src/components/callout/Callout.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,6DAA6D,CAAC;AACrE,OAAO,+DAA+D,CAAC;AACvE,OAAO,kBAAkB,CAAC;AAC1B,OAAO,yBAAyB,CAAC;AACjC,OAAO,qBAAqB,CAAC;AAE7B,QAAA,MAAM,IAAI,EAAE,IAyBX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAElB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAIxB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;CAUpB,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { html } from 'lit';
2
2
  import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  import { unsafeHTML } from 'lit/directives/unsafe-html.js';
4
- import '@mozaic-ds/icons-svelte/custom-elements/ImageAlt32/ImageAlt32.js';
5
- import '@mozaic-ds/icons-svelte/custom-elements/ArrowNext20/ArrowNext20.js';
4
+ import '@mozaic-ds/icons-svelte/svelte/ImageAlt32/ImageAlt32.svelte';
5
+ import '@mozaic-ds/icons-svelte/svelte/ArrowNext20/ArrowNext20.svelte';
6
+ import './Callout.svelte';
7
+ import '../button/Button.svelte';
8
+ import '../link/Link.svelte';
6
9
  const meta = {
7
10
  title: 'Content/Callout',
8
11
  component: 'm-callout',
@@ -23,10 +23,10 @@
23
23
  appearance?: 'standard' | 'accent' | 'tips' | 'inverse';
24
24
  }
25
25
 
26
- let { title, description, appearance = 'standard' }: Props = $props();
26
+ let { title, description, appearance = 'standard', ...attrs }: Props = $props();
27
27
  </script>
28
28
 
29
- <section class={['mc-callout', `mc-callout--${appearance}`]} role="status">
29
+ <section class={['mc-callout', `mc-callout--${appearance}`]} role="status" {...attrs}>
30
30
  <div class="mc-callout__icon">
31
31
  <slot name="icon" />
32
32
  </div>
@@ -0,0 +1,4 @@
1
+ import{c as w,p as j,b as a,A as P,t as D,h as L,i as A,j as n,l as M,m as O,a as X,u as Y,f as Z,r as $,d as h,s as y,n as u,D as I,x as ee,e as g,y as te}from"../../custom-element.js";import{s as E}from"../../slot.js";import{s as x,b as S,a as se}from"../../attributes.js";import{b as le}from"../../this.js";import{I as k}from"../iconbutton/IconButton.js";import"../../legacy.js";var ie=P('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20px" height="20px"><path fill-rule="evenodd" d="M11.78 5.303a.75.75 0 0 1 0 1.06L8.144 10l3.636 3.637a.75.75 0 0 1-1.06 1.06l-4.167-4.166a.75.75 0 0 1 0-1.061l4.166-4.167a.75.75 0 0 1 1.061 0"></path></svg>');function F(f,t){j(t,!1);let o=a(t,"id",12,void 0),d=a(t,"style",12,void 0),c=a(t,"className",12,void 0),l=a(t,"fill",12,void 0),r=a(t,"size",12,"1.25rem");var v={get id(){return o()},set id(e){o(e),n()},get style(){return d()},set style(e){d(e),n()},get className(){return c()},set className(e){c(e),n()},get fill(){return l()},set fill(e){l(e),n()},get size(){return r()},set size(e){r(e),n()}},i=ie();return D(()=>{x(i,"id",o()),S(i,d()),M(i,0,O(c())),x(i,"fill",l())}),L(f,i),A(v)}customElements.define("chevron-left-20",w(F,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var re=P('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20px" height="20px"><path fill-rule="evenodd" d="M8.22 5.303a.75.75 0 0 1 1.06 0l4.167 4.167a.75.75 0 0 1 0 1.06L9.28 14.698a.75.75 0 1 1-1.06-1.06L11.856 10 8.22 6.364a.75.75 0 0 1 0-1.06"></path></svg>');function R(f,t){j(t,!1);let o=a(t,"id",12,void 0),d=a(t,"style",12,void 0),c=a(t,"className",12,void 0),l=a(t,"fill",12,void 0),r=a(t,"size",12,"1.25rem");var v={get id(){return o()},set id(e){o(e),n()},get style(){return d()},set style(e){d(e),n()},get className(){return c()},set className(e){c(e),n()},get fill(){return l()},set fill(e){l(e),n()},get size(){return r()},set size(e){r(e),n()}},i=re();return D(()=>{x(i,"id",o()),S(i,d()),M(i,0,O(c())),x(i,"fill",l())}),L(f,i),A(v)}customElements.define("chevron-right-20",w(R,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var ae=Z('<div><div class="mc-carousel__header svelte-10qqjzd"><div class="mc-carousel__headings svelte-10qqjzd"><!></div> <div class="mc-carousel__controls svelte-10qqjzd"><!> <!></div></div> <div class="mc-carousel__content svelte-10qqjzd"><!></div></div>');const ne={hash:"svelte-10qqjzd",code:`/**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */.mt-title.svelte-10qqjzd {font-weight:var(--font-accent, 600);}.mt-title--l.svelte-10qqjzd {font-size:var(--font-title-l, 1.75rem);line-height:calc(var(--font-title-l, 1.75rem) * var(--line-height-s, 1.3));}.mt-title--m.svelte-10qqjzd {font-size:var(--font-title-m, 1.5rem);line-height:calc(var(--font-title-m, 1.5rem) * var(--line-height-s, 1.3));}.mt-title--s.svelte-10qqjzd {font-size:var(--font-title-s, 1.125rem);line-height:calc(var(--font-title-s, 1.125rem) * var(--line-height-s, 1.3));}.mc-carousel.svelte-10qqjzd {display:flex;flex-direction:column;row-gap:1rem;}.mc-carousel__header.svelte-10qqjzd {display:flex;align-items:flex-start;}.mc-carousel__headings.svelte-10qqjzd {display:flex;flex-direction:column;row-gap:0.25rem;flex:1;align-items:flex-start;}.mc-carousel__controls.svelte-10qqjzd {display:flex;column-gap:0.5rem;}.mc-carousel__content.svelte-10qqjzd {display:flex;overflow-x:auto;scroll-snap-type:x mandatory;}.mc-carousel__content.svelte-10qqjzd > :where(.svelte-10qqjzd) {scroll-snap-align:start;}::slotted(*) {scroll-snap-align:start;}::slotted(.mc-carousel__title) {margin:0;}::slotted(.mc-carousel__sub-title) {margin:0;}`};function oe(f,t){j(t,!0),X(f,ne);let o=a(t,"previousButtonAriaLabel",7,"previous"),d=a(t,"nextButtonAriaLabel",7,"next"),c=$(t,["$$slots","$$events","$$legacy","$$host","previousButtonAriaLabel","nextButtonAriaLabel"]),l=ee(0),r=null,v=null;const i={behavior:"smooth",block:"nearest",inline:"center"};function e(){if(!r)return[];const s=r.querySelector("slot");return s?s.assignedElements({flatten:!0}):[]}function B(s){e()[s]?.scrollIntoView(i)}function T(){u(l)>0&&B(u(l)-1)}function V(){const s=e();u(l)<s.length-1&&B(u(l)+1)}Y(()=>{if(r)return v=new IntersectionObserver(s=>{const m=s.find(p=>p.isIntersecting);if(m){const p=e();te(l,p.findIndex(W=>W===m.target),!0)}},{root:r,threshold:.9}),e().forEach(s=>v.observe(s)),()=>v?.disconnect()});const G=I(()=>u(l)===0),H=I(()=>u(l)===e().length-1);var J={get previousButtonAriaLabel(){return o()},set previousButtonAriaLabel(s="previous"){o(s),n()},get nextButtonAriaLabel(){return d()},set nextButtonAriaLabel(s="next"){d(s),n()}},_=ae();se(_,()=>({class:"mc-carousel",role:"group","aria-roledescription":"carousel","aria-labelledby":"mc-carousel__title",...c}),void 0,void 0,void 0,"svelte-10qqjzd");var q=h(_),z=h(q),K=h(z);E(K,t,"header",{}),g(z);var N=y(z,2),C=h(N);k(C,{size:"s",outlined:!0,onclick:T,get disabled(){return u(G)},get"aria-label"(){return o()},$$slots:{icon:(s,m)=>{F(s,{slot:"icon"})}}});var Q=y(C,2);k(Q,{size:"s",outlined:!0,onclick:V,get disabled(){return u(H)},get"aria-label"(){return d()},$$slots:{icon:(s,m)=>{R(s,{slot:"icon"})}}}),g(N),g(q);var b=y(q,2),U=h(b);return E(U,t,"default",{}),g(b),le(b,s=>r=s,()=>r),g(_),L(f,_),A(J)}customElements.define("m-carousel",w(oe,{previousButtonAriaLabel:{},nextButtonAriaLabel:{}},["header","default"],[],!0));
4
+ //# sourceMappingURL=Carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.js","sources":["../../../node_modules/@mozaic-ds/icons-svelte/dist/components/ChevronLeft20/ChevronLeft20.svelte","../../../node_modules/@mozaic-ds/icons-svelte/dist/components/ChevronRight20/ChevronRight20.svelte","../../../src/components/carousel/Carousel.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'chevron-left-20', shadow: 'none' }} />\n<script>\n export let id = undefined;\n export let style = undefined;\n export let className = undefined;\n export let fill = undefined;\n export let size = \"1.25rem\";\n</script>\n\n<svg aria-hidden=\"true\" id={id} style={style} class={className} fill={fill} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" width=\"20px\" height=\"20px\"><path fill-rule=\"evenodd\" d=\"M11.78 5.303a.75.75 0 0 1 0 1.06L8.144 10l3.636 3.637a.75.75 0 0 1-1.06 1.06l-4.167-4.166a.75.75 0 0 1 0-1.061l4.166-4.167a.75.75 0 0 1 1.061 0\"/></svg>","<svelte:options customElement={{ tag: 'chevron-right-20', shadow: 'none' }} />\n<script>\n export let id = undefined;\n export let style = undefined;\n export let className = undefined;\n export let fill = undefined;\n export let size = \"1.25rem\";\n</script>\n\n<svg aria-hidden=\"true\" id={id} style={style} class={className} fill={fill} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" width=\"20px\" height=\"20px\"><path fill-rule=\"evenodd\" d=\"M8.22 5.303a.75.75 0 0 1 1.06 0l4.167 4.167a.75.75 0 0 1 0 1.06L9.28 14.698a.75.75 0 1 1-1.06-1.06L11.856 10 8.22 6.364a.75.75 0 0 1 0-1.06\"/></svg>","<svelte:options customElement={{ tag: 'm-carousel' }} />\n\n<script lang=\"ts\">\n import IconButton from '../iconbutton/IconButton.svelte';\n import ChevronLeft20 from '@mozaic-ds/icons-svelte/svelte/ChevronLeft20/ChevronLeft20.svelte';\n import ChevronRight20 from '@mozaic-ds/icons-svelte/svelte/ChevronRight20/ChevronRight20.svelte';\n /**\n * A Carousel allows users to browse through multiple items within a horizontal container, using swipe gestures on mobile or navigation controls on desktop. It is primarily used to showcase products, promotions, or visual content, offering an engaging way to explore information in a condensed and interactive format. Carousels help optimize space while keeping content visually appealing and easily accessible.\n *\n * @slot default - Use this slot to insert a list of components to be displayed in the carousel.\n * @slot header - Use this slot to insert the title, subtitle or link of the carousel.\n */\n interface Props {\n /**\n * Aria label for the previous button.\n */\n previousButtonAriaLabel?: string;\n /**\n * Aria label for the next button.\n */\n nextButtonAriaLabel?: string;\n }\n\n let {\n previousButtonAriaLabel = 'previous',\n nextButtonAriaLabel = 'next',\n ...attrs\n }: Props = $props();\n\n // State\n let activeIndex = $state(0);\n let contentContainer: HTMLElement | null = null;\n\n let observer: IntersectionObserver | null = null;\n\n const scrollOptions: ScrollIntoViewOptions = {\n behavior: 'smooth',\n block: 'nearest',\n inline: 'center',\n };\n\n function getCarouselChildren(): HTMLElement[] {\n if (!contentContainer) return [];\n\n const slot = contentContainer.querySelector('slot') as HTMLSlotElement;\n return slot ? (slot.assignedElements({ flatten: true }) as HTMLElement[]) : [];\n }\n\n function scrollToChild(index: number) {\n const children = getCarouselChildren();\n children[index]?.scrollIntoView(scrollOptions);\n }\n\n function goPrevious() {\n if (activeIndex > 0) scrollToChild(activeIndex - 1);\n }\n\n function goNext() {\n const children = getCarouselChildren();\n if (activeIndex < children.length - 1) scrollToChild(activeIndex + 1);\n }\n\n $effect(() => {\n if (!contentContainer) return;\n\n observer = new IntersectionObserver(\n (entries) => {\n const entry = entries.find((e) => e.isIntersecting);\n if (entry) {\n const children = getCarouselChildren();\n activeIndex = children.findIndex((el) => el === entry.target);\n }\n },\n {\n root: contentContainer,\n threshold: 0.9,\n },\n );\n\n getCarouselChildren().forEach((el) => observer!.observe(el));\n\n return () => observer?.disconnect();\n });\n\n const isFirstChildActive = $derived(activeIndex === 0);\n const isLastChildActive = $derived(activeIndex === getCarouselChildren().length - 1);\n</script>\n\n<div\n class=\"mc-carousel\"\n role=\"group\"\n aria-roledescription=\"carousel\"\n aria-labelledby=\"mc-carousel__title\"\n {...attrs}\n>\n <div class=\"mc-carousel__header\">\n <div class=\"mc-carousel__headings\">\n <slot name=\"header\" />\n </div>\n\n <div class=\"mc-carousel__controls\">\n <IconButton\n size=\"s\"\n outlined\n onclick={goPrevious}\n disabled={isFirstChildActive}\n aria-label={previousButtonAriaLabel}\n >\n <ChevronLeft20 slot=\"icon\" />\n </IconButton>\n\n <IconButton\n size=\"s\"\n outlined\n onclick={goNext}\n disabled={isLastChildActive}\n aria-label={nextButtonAriaLabel}\n >\n <ChevronRight20 slot=\"icon\" />\n </IconButton>\n </div>\n </div>\n\n <div class=\"mc-carousel__content\" bind:this={contentContainer}>\n <slot />\n </div>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/carousel';\n\n :global(::slotted(*)) {\n scroll-snap-align: start;\n }\n\n :global(::slotted(.mc-carousel__title)) {\n margin: 0;\n }\n\n :global(::slotted(.mc-carousel__sub-title)) {\n margin: 0;\n }\n</style>\n"],"names":["id","style","className","fill","size","previousButtonAriaLabel","nextButtonAriaLabel","attrs","$.rest_props","$$props","activeIndex","contentContainer","observer","scrollOptions","getCarouselChildren","slot","scrollToChild","index","goPrevious","$.get","goNext","children","$.user_effect","entries","entry","e","el","isFirstChildActive","$.derived","isLastChildActive","$.bind_this","div_4","$$value"],"mappings":"+rBAAA,SAEa,IAAAA,cAAK,MAAS,EACdC,iBAAQ,MAAS,EACjBC,qBAAY,MAAS,EACrBC,gBAAO,MAAS,EAChBC,gBAAO,SAAS,iRAGDJ,GAAE,MAAUC,GAAK,UAASC,EAAS,CAAA,CAAA,aAAQC,GAAI,eAF3E,maCPA,SAEa,IAAAH,cAAK,MAAS,EACdC,iBAAQ,MAAS,EACjBC,qBAAY,MAAS,EACrBC,gBAAO,MAAS,EAChBC,gBAAO,SAAS,iRAGDJ,GAAE,MAAUC,GAAK,UAASC,EAAS,CAAA,CAAA,aAAQC,GAAI,eAF3E;;spCCPA,iBAwBI,IAAAE,kCAA0B,UAAU,EACpCC,8BAAsB,MAAM,EACzBC,EAAAC,EAAAC,EAAA,4FAIDC,KAAqB,CAAC,EACtBC,EAAuC,KAEvCC,EAAwC,WAEtCC,EAAoC,CACxC,SAAU,SACV,MAAO,UACP,OAAQ,QAAQ,EAGT,SAAAC,GAAqC,KACvCH,EAAgB,MAAA,CAAA,EAEf,MAAAI,EAAOJ,EAAiB,cAAc,MAAM,EAC3C,OAAAI,EAAQA,EAAK,iBAAgB,CAAG,QAAS,EAAI,CAAA,EAAA,CAAA,CACtD,UAESC,EAAcC,EAAe,CACnBH,EAAmB,EAC3BG,CAAK,GAAG,eAAeJ,CAAa,CAC/C,CAES,SAAAK,GAAa,CAChBC,EAAAT,CAAW,EAAG,GAAGM,EAAaG,EAACT,CAAW,EAAG,CAAC,CACpD,CAES,SAAAU,GAAS,CACV,MAAAC,EAAWP,EAAmB,IAChCJ,CAAW,EAAGW,EAAS,OAAS,GAAGL,EAAaG,EAACT,CAAW,EAAG,CAAC,CACtE,CAEAY,EAAO,IAAO,IACPX,EAEL,OAAAC,MAAe,qBACZW,GAAY,OACLC,EAAQD,EAAQ,KAAME,GAAMA,EAAE,cAAc,EAC9C,GAAAD,EAAO,CACH,MAAAH,EAAWP,EAAmB,KACpCJ,EAAcW,EAAS,UAAWK,GAAOA,IAAOF,EAAM,MAAM,EAAA,EAAA,CAC9D,CACF,EAEE,CAAA,KAAMb,EACN,UAAW,EAAG,GAIlBG,EAAmB,EAAG,QAASY,GAAOd,EAAU,QAAQc,CAAE,CAAA,EAE7C,IAAAd,GAAU,WAAU,CACnC,CAAC,QAEKe,EAAkBC,EAAA,IAAAT,EAAYT,CAAW,IAAK,CAAC,EAC/CmB,UAA6BnB,CAAW,IAAKI,EAAmB,EAAG,OAAS,CAAC,iFA7DvD,WAAU,2EACd,OAAM,2IAoE1BP,kJAWWW,0BACCS,CAAkB,4BAChBtB,EAAuB,+FAQ1Be,0BACCS,CAAiB,4BACfvB,EAAmB,8GAOQwB,GAAAC,EAAAC,GAAArB,QAAAA,CAAgB,kBArC/D","x_google_ignoreList":[0,1]}
@@ -0,0 +1,49 @@
1
+ import { describe, it, expect, vi, beforeEach } from 'vitest';
2
+ import { render } from '@testing-library/svelte';
3
+ import Carousel from './Carousel.svelte';
4
+ HTMLElement.prototype.scrollIntoView = vi.fn();
5
+ class MockIntersectionObserver {
6
+ cb;
7
+ constructor(cb) {
8
+ this.cb = cb;
9
+ }
10
+ observe() { }
11
+ disconnect() { }
12
+ }
13
+ vi.stubGlobal('IntersectionObserver', MockIntersectionObserver);
14
+ describe('m-carousel component', () => {
15
+ beforeEach(() => {
16
+ vi.clearAllMocks();
17
+ });
18
+ it('sets accessibility attributes on root container', () => {
19
+ const { container } = render(Carousel);
20
+ const root = container.querySelector('.mc-carousel');
21
+ expect(root.getAttribute('role')).toBe('group');
22
+ expect(root.getAttribute('aria-roledescription')).toBe('carousel');
23
+ expect(root.getAttribute('aria-labelledby')).toBe('mc-carousel__title');
24
+ });
25
+ it('disables previous button when first item is active', () => {
26
+ const { getByLabelText } = render(Carousel, {
27
+ slots: {
28
+ default: `
29
+ <div>Item 1</div>
30
+ <div>Item 2</div>
31
+ `,
32
+ },
33
+ });
34
+ const prevButton = getByLabelText('previous');
35
+ expect(prevButton.disabled).toBe(true);
36
+ });
37
+ it('enables next button when not at last item', () => {
38
+ const { getByLabelText } = render(Carousel, {
39
+ slots: {
40
+ default: `
41
+ <div>Item 1</div>
42
+ <div>Item 2</div>
43
+ `,
44
+ },
45
+ });
46
+ const nextButton = getByLabelText('next');
47
+ expect(nextButton.disabled).toBe(false);
48
+ });
49
+ });
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import './Carousel.svelte';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const Default: Story;
7
+ export declare const Subtitle: Story;
8
+ export declare const Link: Story;
9
+ //# sourceMappingURL=Carousel.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Carousel.stories.d.ts","sourceRoot":"","sources":["../../../src/components/carousel/Carousel.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,mBAAmB,CAAC;AAE3B,QAAA,MAAM,IAAI,EAAE,IA6CX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAQtB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAWlB,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
4
+ import './Carousel.svelte';
5
+ const meta = {
6
+ title: 'Content/Carousel',
7
+ component: 'm-carousel',
8
+ argTypes: {
9
+ 'aria-labelledby': {
10
+ table: {
11
+ disable: true,
12
+ },
13
+ },
14
+ },
15
+ args: {
16
+ 'aria-labelledby': 'defaultCarousel',
17
+ header: '<h2 class="mc-carousel__title mt-title--m" id="defaultCarousel" slot="header">Title of the carousel</h2>',
18
+ default: `
19
+ <div class="free-content" style="padding: 16px;" aria-labelledby="free-content__1">
20
+ <img class="free-content__image"
21
+ src="https://picsum.photos/id/1/600/300" alt="card 1">
22
+ <div id="free-content__1" class="free-content__title">my card1</div>
23
+ </div>
24
+ <div class="free-content" style="padding: 16px;" aria-labelledby="free-content__2">
25
+ <img class="free-content__image"
26
+ src="https://picsum.photos/id/12/600/300" alt="card 2">
27
+ <div id="free-content__2" class="free-content__title">my card2</div>
28
+ </div>
29
+ <div class="free-content" style="padding: 16px;" aria-labelledby="free-content__3">
30
+ <img class="free-content__image"
31
+ src="https://picsum.photos/id/23/600/300" alt="card 3">
32
+ <div id="free-content__3" class="free-content__title">my card3</div>
33
+ </div>
34
+ <div class="free-content" style="padding: 16px;" aria-labelledby="free-content__4">
35
+ <img class="free-content__image"
36
+ src="https://picsum.photos/id/34/600/300" alt="card 4">
37
+ <div id="free-content__4" class="free-content__title">my card4</div>
38
+ </div>
39
+ `,
40
+ },
41
+ render: (args) => html `
42
+ <m-carousel
43
+ previousButtonAriaLabel=${ifDefined(args.previousButtonAriaLabel)}
44
+ nextButtonAriaLabel=${ifDefined(args.nextButtonAriaLabel)}
45
+ >
46
+ ${unsafeHTML(ifDefined(args.header))} ${unsafeHTML(ifDefined(args.default))}
47
+ </m-carousel>
48
+ `,
49
+ };
50
+ export default meta;
51
+ export const Default = {};
52
+ export const Subtitle = {
53
+ args: {
54
+ 'aria-labelledby': 'subtitleCarousel',
55
+ header: `
56
+ <h2 class="mc-carousel__title mt-title--m" id="subtitleCarousel" slot="header">Title of the carousel</h2>
57
+ <p class="mc-carousel__sub-title mt-body-m" slot="header">Longer description of the carousel</p>
58
+ `,
59
+ },
60
+ };
61
+ export const Link = {
62
+ args: {
63
+ 'aria-labelledby': 'linkCarousel',
64
+ header: `
65
+ <h2 class="mc-carousel__title mt-title--m" id="linkCarousel" slot="header">Title of the carousel</h2>
66
+ <m-link href="#" iconposition="right" slot="header">
67
+ Stand-alone link
68
+ <ArrowNext24 slot="icon"/>
69
+ </m-link>
70
+ `,
71
+ },
72
+ };
@@ -0,0 +1,187 @@
1
+ <svelte:options customElement={{ tag: 'm-carousel' }} />
2
+
3
+ <script lang="ts">
4
+ import IconButton from '../iconbutton/IconButton.svelte';
5
+ import ChevronLeft20 from '@mozaic-ds/icons-svelte/svelte/ChevronLeft20/ChevronLeft20.svelte';
6
+ import ChevronRight20 from '@mozaic-ds/icons-svelte/svelte/ChevronRight20/ChevronRight20.svelte';
7
+ /**
8
+ * A Carousel allows users to browse through multiple items within a horizontal container, using swipe gestures on mobile or navigation controls on desktop. It is primarily used to showcase products, promotions, or visual content, offering an engaging way to explore information in a condensed and interactive format. Carousels help optimize space while keeping content visually appealing and easily accessible.
9
+ *
10
+ * @slot default - Use this slot to insert a list of components to be displayed in the carousel.
11
+ * @slot header - Use this slot to insert the title, subtitle or link of the carousel.
12
+ */
13
+ interface Props {
14
+ /**
15
+ * Aria label for the previous button.
16
+ */
17
+ previousButtonAriaLabel?: string;
18
+ /**
19
+ * Aria label for the next button.
20
+ */
21
+ nextButtonAriaLabel?: string;
22
+ }
23
+
24
+ let {
25
+ previousButtonAriaLabel = 'previous',
26
+ nextButtonAriaLabel = 'next',
27
+ ...attrs
28
+ }: Props = $props();
29
+
30
+ // State
31
+ let activeIndex = $state(0);
32
+ let contentContainer: HTMLElement | null = null;
33
+
34
+ let observer: IntersectionObserver | null = null;
35
+
36
+ const scrollOptions: ScrollIntoViewOptions = {
37
+ behavior: 'smooth',
38
+ block: 'nearest',
39
+ inline: 'center',
40
+ };
41
+
42
+ function getCarouselChildren(): HTMLElement[] {
43
+ if (!contentContainer) return [];
44
+
45
+ const slot = contentContainer.querySelector('slot') as HTMLSlotElement;
46
+ return slot ? (slot.assignedElements({ flatten: true }) as HTMLElement[]) : [];
47
+ }
48
+
49
+ function scrollToChild(index: number) {
50
+ const children = getCarouselChildren();
51
+ children[index]?.scrollIntoView(scrollOptions);
52
+ }
53
+
54
+ function goPrevious() {
55
+ if (activeIndex > 0) scrollToChild(activeIndex - 1);
56
+ }
57
+
58
+ function goNext() {
59
+ const children = getCarouselChildren();
60
+ if (activeIndex < children.length - 1) scrollToChild(activeIndex + 1);
61
+ }
62
+
63
+ $effect(() => {
64
+ if (!contentContainer) return;
65
+
66
+ observer = new IntersectionObserver(
67
+ (entries) => {
68
+ const entry = entries.find((e) => e.isIntersecting);
69
+ if (entry) {
70
+ const children = getCarouselChildren();
71
+ activeIndex = children.findIndex((el) => el === entry.target);
72
+ }
73
+ },
74
+ {
75
+ root: contentContainer,
76
+ threshold: 0.9,
77
+ },
78
+ );
79
+
80
+ getCarouselChildren().forEach((el) => observer!.observe(el));
81
+
82
+ return () => observer?.disconnect();
83
+ });
84
+
85
+ const isFirstChildActive = $derived(activeIndex === 0);
86
+ const isLastChildActive = $derived(activeIndex === getCarouselChildren().length - 1);
87
+ </script>
88
+
89
+ <div
90
+ class="mc-carousel"
91
+ role="group"
92
+ aria-roledescription="carousel"
93
+ aria-labelledby="mc-carousel__title"
94
+ {...attrs}
95
+ >
96
+ <div class="mc-carousel__header">
97
+ <div class="mc-carousel__headings">
98
+ <slot name="header" />
99
+ </div>
100
+
101
+ <div class="mc-carousel__controls">
102
+ <IconButton
103
+ size="s"
104
+ outlined
105
+ onclick={goPrevious}
106
+ disabled={isFirstChildActive}
107
+ aria-label={previousButtonAriaLabel}
108
+ >
109
+ <ChevronLeft20 slot="icon" />
110
+ </IconButton>
111
+
112
+ <IconButton
113
+ size="s"
114
+ outlined
115
+ onclick={goNext}
116
+ disabled={isLastChildActive}
117
+ aria-label={nextButtonAriaLabel}
118
+ >
119
+ <ChevronRight20 slot="icon" />
120
+ </IconButton>
121
+ </div>
122
+ </div>
123
+
124
+ <div class="mc-carousel__content" bind:this={contentContainer}>
125
+ <slot />
126
+ </div>
127
+ </div>
128
+
129
+ <style>/**
130
+ * Do not edit directly, this file was auto-generated.
131
+ */
132
+ .mt-title {
133
+ font-weight: var(--font-accent, 600);
134
+ }
135
+ .mt-title--l {
136
+ font-size: var(--font-title-l, 1.75rem);
137
+ line-height: calc(var(--font-title-l, 1.75rem) * var(--line-height-s, 1.3));
138
+ }
139
+ .mt-title--m {
140
+ font-size: var(--font-title-m, 1.5rem);
141
+ line-height: calc(var(--font-title-m, 1.5rem) * var(--line-height-s, 1.3));
142
+ }
143
+ .mt-title--s {
144
+ font-size: var(--font-title-s, 1.125rem);
145
+ line-height: calc(var(--font-title-s, 1.125rem) * var(--line-height-s, 1.3));
146
+ }
147
+
148
+ .mc-carousel {
149
+ display: flex;
150
+ flex-direction: column;
151
+ row-gap: 1rem;
152
+ }
153
+ .mc-carousel__header {
154
+ display: flex;
155
+ align-items: flex-start;
156
+ }
157
+ .mc-carousel__headings {
158
+ display: flex;
159
+ flex-direction: column;
160
+ row-gap: 0.25rem;
161
+ flex: 1;
162
+ align-items: flex-start;
163
+ }
164
+ .mc-carousel__controls {
165
+ display: flex;
166
+ column-gap: 0.5rem;
167
+ }
168
+ .mc-carousel__content {
169
+ display: flex;
170
+ overflow-x: auto;
171
+ scroll-snap-type: x mandatory;
172
+ }
173
+ .mc-carousel__content > * {
174
+ scroll-snap-align: start;
175
+ }
176
+
177
+ :global(::slotted(*)) {
178
+ scroll-snap-align: start;
179
+ }
180
+
181
+ :global(::slotted(.mc-carousel__title)) {
182
+ margin: 0;
183
+ }
184
+
185
+ :global(::slotted(.mc-carousel__sub-title)) {
186
+ margin: 0;
187
+ }</style>