@mozaic-ds/web-components 1.1.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 (406) hide show
  1. package/README.md +26 -104
  2. package/dist/Cross20.js +1 -1
  3. package/dist/Cross20.js.map +1 -1
  4. package/dist/Cross24.js +1 -1
  5. package/dist/CrossCircleFilled24.js +1 -1
  6. package/dist/Less24.js +2 -0
  7. package/dist/Less24.js.map +1 -0
  8. package/dist/attributes.js +1 -1
  9. package/dist/attributes.js.map +1 -1
  10. package/dist/bundle.d.ts +8 -5
  11. package/dist/bundle.d.ts.map +1 -1
  12. package/dist/bundle.js +8 -5
  13. package/dist/components/avatar/Avatar.js +2 -2
  14. package/dist/components/avatar/Avatar.js.map +1 -1
  15. package/dist/components/avatar/Avatar.stories.d.ts +2 -1
  16. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  17. package/dist/components/avatar/Avatar.stories.js +2 -1
  18. package/dist/components/avatar/Avatar.svelte +3 -3
  19. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  20. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  21. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts +1 -0
  22. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  23. package/dist/components/breadcrumb/Breadcrumb.stories.js +1 -0
  24. package/dist/components/breadcrumb/Breadcrumb.svelte +3 -3
  25. package/dist/components/button/Button.js +3 -3
  26. package/dist/components/button/Button.js.map +1 -1
  27. package/dist/components/button/Button.stories.d.ts +2 -0
  28. package/dist/components/button/Button.stories.d.ts.map +1 -1
  29. package/dist/components/button/Button.stories.js +2 -0
  30. package/dist/components/button/Button.svelte +2 -3
  31. package/dist/components/button/Button.svelte.d.ts +0 -1
  32. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  33. package/dist/components/callout/Callout.js +2 -2
  34. package/dist/components/callout/Callout.js.map +1 -1
  35. package/dist/components/callout/Callout.stories.d.ts +5 -2
  36. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  37. package/dist/components/callout/Callout.stories.js +5 -2
  38. package/dist/components/callout/Callout.svelte +3 -3
  39. package/dist/components/carousel/Carousel.js +4 -0
  40. package/dist/components/carousel/Carousel.js.map +1 -0
  41. package/dist/components/carousel/Carousel.spec.js +49 -0
  42. package/dist/components/carousel/Carousel.stories.d.ts +9 -0
  43. package/dist/components/carousel/Carousel.stories.d.ts.map +1 -0
  44. package/dist/components/carousel/Carousel.stories.js +72 -0
  45. package/dist/components/carousel/Carousel.svelte +187 -0
  46. package/dist/components/carousel/Carousel.svelte.d.ts +46 -0
  47. package/dist/components/carousel/Carousel.svelte.d.ts.map +1 -0
  48. package/dist/components/carousel/README.md +18 -0
  49. package/dist/components/checkbox/Checkbox.js +4 -4
  50. package/dist/components/checkbox/Checkbox.js.map +1 -1
  51. package/dist/components/checkbox/Checkbox.stories.d.ts +1 -0
  52. package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
  53. package/dist/components/checkbox/Checkbox.stories.js +1 -0
  54. package/dist/components/checkbox/Checkbox.svelte +4 -2
  55. package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
  56. package/dist/components/checkboxgroup/CheckboxGroup.js +4 -4
  57. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  58. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +1 -0
  59. package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
  60. package/dist/components/checkboxgroup/CheckboxGroup.stories.js +1 -0
  61. package/dist/components/checkboxgroup/CheckboxGroup.svelte +4 -4
  62. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  63. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  64. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +1 -0
  65. package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
  66. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +3 -2
  67. package/dist/components/circularprogressbar/CircularProgressbar.svelte +9 -1
  68. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  69. package/dist/components/container/Container.js +14 -0
  70. package/dist/components/container/Container.js.map +1 -0
  71. package/dist/components/container/Container.spec.js +26 -0
  72. package/dist/components/container/Container.stories.d.ts +8 -0
  73. package/dist/components/container/Container.stories.d.ts.map +1 -0
  74. package/dist/components/container/Container.stories.js +24 -0
  75. package/dist/components/container/Container.svelte +60 -0
  76. package/dist/components/container/Container.svelte.d.ts +39 -0
  77. package/dist/components/container/Container.svelte.d.ts.map +1 -0
  78. package/dist/components/container/README.md +16 -0
  79. package/dist/components/datepicker/Datepicker.js +3 -3
  80. package/dist/components/datepicker/Datepicker.js.map +1 -1
  81. package/dist/components/datepicker/Datepicker.stories.d.ts +1 -0
  82. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  83. package/dist/components/datepicker/Datepicker.stories.js +1 -0
  84. package/dist/components/datepicker/Datepicker.svelte +11 -9
  85. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  86. package/dist/components/divider/Divider.js +4 -0
  87. package/dist/components/divider/Divider.js.map +1 -0
  88. package/dist/components/divider/Divider.spec.js +50 -0
  89. package/dist/components/divider/Divider.stories.d.ts +10 -0
  90. package/dist/components/divider/Divider.stories.d.ts.map +1 -0
  91. package/dist/components/divider/Divider.stories.js +58 -0
  92. package/dist/components/divider/Divider.svelte +90 -0
  93. package/dist/components/divider/Divider.svelte.d.ts +47 -0
  94. package/dist/components/divider/Divider.svelte.d.ts.map +1 -0
  95. package/dist/components/divider/README.md +18 -0
  96. package/dist/components/drawer/Drawer.js +4 -4
  97. package/dist/components/drawer/Drawer.js.map +1 -1
  98. package/dist/components/drawer/Drawer.stories.d.ts +2 -0
  99. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  100. package/dist/components/drawer/Drawer.stories.js +2 -0
  101. package/dist/components/drawer/Drawer.svelte +16 -6
  102. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  103. package/dist/components/field/Field.js +2 -2
  104. package/dist/components/field/Field.stories.d.ts +2 -0
  105. package/dist/components/field/Field.stories.d.ts.map +1 -1
  106. package/dist/components/field/Field.stories.js +2 -0
  107. package/dist/components/flag/Flag.js +2 -2
  108. package/dist/components/flag/Flag.js.map +1 -1
  109. package/dist/components/flag/Flag.stories.d.ts +1 -0
  110. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  111. package/dist/components/flag/Flag.stories.js +1 -0
  112. package/dist/components/flag/Flag.svelte +3 -3
  113. package/dist/components/iconbutton/IconButton.js +2 -2
  114. package/dist/components/iconbutton/IconButton.js.map +1 -1
  115. package/dist/components/iconbutton/IconButton.stories.d.ts +4 -2
  116. package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
  117. package/dist/components/iconbutton/IconButton.stories.js +4 -2
  118. package/dist/components/iconbutton/IconButton.svelte +2 -3
  119. package/dist/components/iconbutton/IconButton.svelte.d.ts +0 -1
  120. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  121. package/dist/components/kpiitem/KpiItem.js +5 -0
  122. package/dist/components/kpiitem/KpiItem.js.map +1 -0
  123. package/dist/components/kpiitem/KpiItem.spec.js +60 -0
  124. package/dist/components/kpiitem/KpiItem.stories.d.ts +9 -0
  125. package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -0
  126. package/dist/components/kpiitem/KpiItem.stories.js +57 -0
  127. package/dist/components/kpiitem/KpiItem.svelte +231 -0
  128. package/dist/components/kpiitem/KpiItem.svelte.d.ts +34 -0
  129. package/dist/components/kpiitem/KpiItem.svelte.d.ts.map +1 -0
  130. package/dist/components/kpiitem/README.md +15 -0
  131. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  132. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  133. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +1 -0
  134. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
  135. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +1 -0
  136. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +4 -3
  137. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  138. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  139. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +1 -0
  140. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
  141. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +1 -0
  142. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +5 -4
  143. package/dist/components/link/Link.js +2 -2
  144. package/dist/components/link/Link.js.map +1 -1
  145. package/dist/components/link/Link.stories.d.ts +3 -0
  146. package/dist/components/link/Link.stories.d.ts.map +1 -1
  147. package/dist/components/link/Link.stories.js +3 -0
  148. package/dist/components/link/Link.svelte +3 -1
  149. package/dist/components/link/Link.svelte.d.ts.map +1 -1
  150. package/dist/components/loader/Loader.js +2 -2
  151. package/dist/components/loader/Loader.js.map +1 -1
  152. package/dist/components/loader/Loader.stories.d.ts +1 -0
  153. package/dist/components/loader/Loader.stories.d.ts.map +1 -1
  154. package/dist/components/loader/Loader.stories.js +1 -0
  155. package/dist/components/loader/Loader.svelte +2 -1
  156. package/dist/components/loadingoverlay/LoadingOverlay.js +2 -2
  157. package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -1
  158. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +1 -0
  159. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -1
  160. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +1 -0
  161. package/dist/components/loadingoverlay/LoadingOverlay.svelte +2 -2
  162. package/dist/components/modal/Modal.js +4 -4
  163. package/dist/components/modal/Modal.js.map +1 -1
  164. package/dist/components/modal/Modal.stories.d.ts +5 -2
  165. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  166. package/dist/components/modal/Modal.stories.js +5 -2
  167. package/dist/components/modal/Modal.svelte +6 -5
  168. package/dist/components/numberbadge/NumberBadge.js +2 -2
  169. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  170. package/dist/components/numberbadge/NumberBadge.stories.d.ts +1 -0
  171. package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
  172. package/dist/components/numberbadge/NumberBadge.stories.js +1 -0
  173. package/dist/components/numberbadge/NumberBadge.svelte +6 -3
  174. package/dist/components/overlay/Overlay.js +2 -2
  175. package/dist/components/overlay/Overlay.stories.d.ts +1 -0
  176. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  177. package/dist/components/overlay/Overlay.stories.js +1 -0
  178. package/dist/components/pagination/Pagination.js +6 -6
  179. package/dist/components/pagination/Pagination.js.map +1 -1
  180. package/dist/components/pagination/Pagination.stories.d.ts +1 -0
  181. package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
  182. package/dist/components/pagination/Pagination.stories.js +1 -0
  183. package/dist/components/pagination/Pagination.svelte +5 -5
  184. package/dist/components/passwordinput/PasswordInput.js +4 -3
  185. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  186. package/dist/components/passwordinput/PasswordInput.stories.d.ts +1 -0
  187. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  188. package/dist/components/passwordinput/PasswordInput.stories.js +1 -0
  189. package/dist/components/passwordinput/PasswordInput.svelte +10 -8
  190. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  191. package/dist/components/phonenumber/PhoneNumber.js +22 -0
  192. package/dist/components/phonenumber/PhoneNumber.js.map +1 -0
  193. package/dist/components/phonenumber/PhoneNumber.spec.js +103 -0
  194. package/dist/components/phonenumber/PhoneNumber.stories.d.ts +14 -0
  195. package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -0
  196. package/dist/components/phonenumber/PhoneNumber.stories.js +116 -0
  197. package/dist/components/phonenumber/PhoneNumber.svelte +896 -0
  198. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts +60 -0
  199. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -0
  200. package/dist/components/phonenumber/README.md +27 -0
  201. package/dist/components/pincode/Pincode.js +2 -2
  202. package/dist/components/pincode/Pincode.js.map +1 -1
  203. package/dist/components/pincode/Pincode.stories.d.ts +1 -0
  204. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  205. package/dist/components/pincode/Pincode.stories.js +1 -0
  206. package/dist/components/pincode/Pincode.svelte +5 -5
  207. package/dist/components/quantityselector/QuantitySelector.js +3 -3
  208. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  209. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +1 -0
  210. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  211. package/dist/components/quantityselector/QuantitySelector.stories.js +1 -0
  212. package/dist/components/quantityselector/QuantitySelector.svelte +11 -9
  213. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  214. package/dist/components/radio/Radio.js +2 -2
  215. package/dist/components/radio/Radio.js.map +1 -1
  216. package/dist/components/radio/Radio.stories.d.ts +1 -0
  217. package/dist/components/radio/Radio.stories.d.ts.map +1 -1
  218. package/dist/components/radio/Radio.stories.js +1 -0
  219. package/dist/components/radio/Radio.svelte +12 -3
  220. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  221. package/dist/components/radiogroup/RadioGroup.js +2 -2
  222. package/dist/components/radiogroup/RadioGroup.stories.d.ts +1 -0
  223. package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
  224. package/dist/components/radiogroup/RadioGroup.stories.js +1 -0
  225. package/dist/components/radiogroup/RadioGroup.svelte +2 -2
  226. package/dist/components/segmentedcontrol/SegmentedControl.js +2 -2
  227. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +1 -0
  228. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -1
  229. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +1 -0
  230. package/dist/components/select/Select.js +3 -3
  231. package/dist/components/select/Select.js.map +1 -1
  232. package/dist/components/select/Select.stories.d.ts +1 -0
  233. package/dist/components/select/Select.stories.d.ts.map +1 -1
  234. package/dist/components/select/Select.stories.js +1 -0
  235. package/dist/components/select/Select.svelte +7 -5
  236. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  237. package/dist/components/starrating/README.md +22 -0
  238. package/dist/components/starrating/StarRating.js +4 -0
  239. package/dist/components/starrating/StarRating.js.map +1 -0
  240. package/dist/components/starrating/StarRating.spec.js +108 -0
  241. package/dist/components/starrating/StarRating.stories.d.ts +13 -0
  242. package/dist/components/starrating/StarRating.stories.d.ts.map +1 -0
  243. package/dist/components/starrating/StarRating.stories.js +82 -0
  244. package/dist/components/starrating/StarRating.svelte +227 -0
  245. package/dist/components/starrating/StarRating.svelte.d.ts +46 -0
  246. package/dist/components/starrating/StarRating.svelte.d.ts.map +1 -0
  247. package/dist/components/statusbadge/StatusBadge.js +2 -2
  248. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  249. package/dist/components/statusbadge/StatusBadge.stories.d.ts +1 -0
  250. package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
  251. package/dist/components/statusbadge/StatusBadge.stories.js +1 -0
  252. package/dist/components/statusbadge/StatusBadge.svelte +11 -11
  253. package/dist/components/statusdot/StatusDot.js +2 -2
  254. package/dist/components/statusdot/StatusDot.js.map +1 -1
  255. package/dist/components/statusdot/StatusDot.stories.d.ts +1 -0
  256. package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
  257. package/dist/components/statusdot/StatusDot.stories.js +1 -0
  258. package/dist/components/statusdot/StatusDot.svelte +7 -4
  259. package/dist/components/statusmessage/README.md +11 -0
  260. package/dist/components/statusmessage/StatusMessage.js +4 -0
  261. package/dist/components/statusmessage/StatusMessage.js.map +1 -0
  262. package/dist/components/statusmessage/StatusMessage.spec.js +47 -0
  263. package/dist/components/statusmessage/StatusMessage.stories.d.ts +12 -0
  264. package/dist/components/statusmessage/StatusMessage.stories.d.ts.map +1 -0
  265. package/dist/components/statusmessage/StatusMessage.stories.js +38 -0
  266. package/dist/components/statusmessage/StatusMessage.svelte +84 -0
  267. package/dist/components/statusmessage/StatusMessage.svelte.d.ts +17 -0
  268. package/dist/components/statusmessage/StatusMessage.svelte.d.ts.map +1 -0
  269. package/dist/components/statusnotification/StatusNotification.js +2 -2
  270. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  271. package/dist/components/statusnotification/StatusNotification.stories.d.ts +4 -0
  272. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  273. package/dist/components/statusnotification/StatusNotification.stories.js +4 -0
  274. package/dist/components/statusnotification/StatusNotification.svelte +14 -13
  275. package/dist/components/steppercompact/README.md +13 -0
  276. package/dist/components/steppercompact/StepperCompact.js +4 -0
  277. package/dist/components/steppercompact/StepperCompact.js.map +1 -0
  278. package/dist/components/steppercompact/StepperCompact.spec.js +119 -0
  279. package/dist/components/steppercompact/StepperCompact.stories.d.ts +7 -0
  280. package/dist/components/steppercompact/StepperCompact.stories.d.ts.map +1 -0
  281. package/dist/components/steppercompact/StepperCompact.stories.js +29 -0
  282. package/dist/components/steppercompact/StepperCompact.svelte +123 -0
  283. package/dist/components/steppercompact/StepperCompact.svelte.d.ts +25 -0
  284. package/dist/components/steppercompact/StepperCompact.svelte.d.ts.map +1 -0
  285. package/dist/components/tab/Tab.js +2 -2
  286. package/dist/components/tab/Tab.js.map +1 -1
  287. package/dist/components/tab/Tab.svelte +1 -2
  288. package/dist/components/tab/Tab.svelte.d.ts +0 -1
  289. package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
  290. package/dist/components/tabs/Tabs.js +2 -2
  291. package/dist/components/tabs/Tabs.stories.d.ts +3 -0
  292. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  293. package/dist/components/tabs/Tabs.stories.js +3 -0
  294. package/dist/components/tabs/Tabs.svelte +1 -1
  295. package/dist/components/tag/README.md +30 -0
  296. package/dist/components/tag/Tag.js +4 -0
  297. package/dist/components/tag/Tag.js.map +1 -0
  298. package/dist/components/tag/Tag.stories.d.ts +13 -0
  299. package/dist/components/tag/Tag.stories.d.ts.map +1 -0
  300. package/dist/components/tag/Tag.stories.js +71 -0
  301. package/dist/components/{tags/TagRemovable.svelte → tag/Tag.svelte} +122 -26
  302. package/dist/components/tag/Tag.svelte.d.ts +65 -0
  303. package/dist/components/tag/Tag.svelte.d.ts.map +1 -0
  304. package/dist/components/textarea/Textarea.js +2 -2
  305. package/dist/components/textarea/Textarea.js.map +1 -1
  306. package/dist/components/textarea/Textarea.stories.d.ts +1 -0
  307. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  308. package/dist/components/textarea/Textarea.stories.js +1 -0
  309. package/dist/components/textarea/Textarea.svelte +7 -5
  310. package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
  311. package/dist/components/textinput/Textinput.js +5 -5
  312. package/dist/components/textinput/Textinput.js.map +1 -1
  313. package/dist/components/textinput/Textinput.stories.d.ts +1 -0
  314. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  315. package/dist/components/textinput/Textinput.stories.js +1 -0
  316. package/dist/components/textinput/Textinput.svelte +8 -6
  317. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  318. package/dist/components/toaster/Toaster.js +3 -3
  319. package/dist/components/toaster/Toaster.js.map +1 -1
  320. package/dist/components/toaster/Toaster.stories.d.ts +3 -0
  321. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  322. package/dist/components/toaster/Toaster.stories.js +3 -0
  323. package/dist/components/toaster/Toaster.svelte +13 -11
  324. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  325. package/dist/components/toggle/Toggle.js +2 -2
  326. package/dist/components/toggle/Toggle.js.map +1 -1
  327. package/dist/components/toggle/Toggle.stories.d.ts +1 -0
  328. package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
  329. package/dist/components/toggle/Toggle.stories.js +1 -0
  330. package/dist/components/toggle/Toggle.svelte +20 -4
  331. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  332. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  333. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  334. package/dist/components/togglegroup/ToggleGroup.stories.d.ts +1 -0
  335. package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
  336. package/dist/components/togglegroup/ToggleGroup.stories.js +1 -0
  337. package/dist/components/togglegroup/ToggleGroup.svelte +2 -2
  338. package/dist/components/tooltip/Tooltip.js +3 -3
  339. package/dist/components/tooltip/Tooltip.js.map +1 -1
  340. package/dist/components/tooltip/Tooltip.stories.d.ts +1 -0
  341. package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
  342. package/dist/components/tooltip/Tooltip.stories.js +1 -0
  343. package/dist/components/tooltip/Tooltip.svelte +4 -3
  344. package/dist/custom-element-forward-events.js +1 -1
  345. package/dist/custom-element-forward-events.js.map +1 -1
  346. package/dist/custom-element.js +3 -3
  347. package/dist/custom-element.js.map +1 -1
  348. package/dist/documentation/Svelte/usingPresets.mdx +2 -3
  349. package/dist/documentation/WebComponents/usingPresets.mdx +2 -3
  350. package/dist/each.js +1 -1
  351. package/dist/each.js.map +1 -1
  352. package/dist/if.js +1 -1
  353. package/dist/if.js.map +1 -1
  354. package/dist/input.js +1 -1
  355. package/dist/input.js.map +1 -1
  356. package/dist/legacy.js +1 -1
  357. package/dist/main.d.ts +10 -6
  358. package/dist/main.d.ts.map +1 -1
  359. package/dist/main.js +10 -6
  360. package/dist/slot.js +1 -1
  361. package/dist/slot.js.map +1 -1
  362. package/dist/svelte-component.js +2 -0
  363. package/dist/svelte-component.js.map +1 -0
  364. package/dist/this.js +1 -1
  365. package/dist/this.js.map +1 -1
  366. package/package.json +16 -18
  367. package/dist/components/tags/README.md +0 -9
  368. package/dist/components/tags/Tag.js +0 -4
  369. package/dist/components/tags/Tag.js.map +0 -1
  370. package/dist/components/tags/Tag.svelte +0 -218
  371. package/dist/components/tags/Tag.svelte.d.ts +0 -9
  372. package/dist/components/tags/Tag.svelte.d.ts.map +0 -1
  373. package/dist/components/tags/TagContextualised.js +0 -4
  374. package/dist/components/tags/TagContextualised.js.map +0 -1
  375. package/dist/components/tags/TagContextualised.svelte +0 -235
  376. package/dist/components/tags/TagContextualised.svelte.d.ts +0 -11
  377. package/dist/components/tags/TagContextualised.svelte.d.ts.map +0 -1
  378. package/dist/components/tags/TagInteractive.js +0 -4
  379. package/dist/components/tags/TagInteractive.js.map +0 -1
  380. package/dist/components/tags/TagInteractive.svelte +0 -223
  381. package/dist/components/tags/TagInteractive.svelte.d.ts +0 -10
  382. package/dist/components/tags/TagInteractive.svelte.d.ts.map +0 -1
  383. package/dist/components/tags/TagRemovable.js +0 -4
  384. package/dist/components/tags/TagRemovable.js.map +0 -1
  385. package/dist/components/tags/TagRemovable.svelte.d.ts +0 -11
  386. package/dist/components/tags/TagRemovable.svelte.d.ts.map +0 -1
  387. package/dist/components/tags/TagSelectable.js +0 -4
  388. package/dist/components/tags/TagSelectable.js.map +0 -1
  389. package/dist/components/tags/TagSelectable.svelte +0 -243
  390. package/dist/components/tags/TagSelectable.svelte.d.ts +0 -13
  391. package/dist/components/tags/TagSelectable.svelte.d.ts.map +0 -1
  392. package/dist/components/tags/Tags.stories.d.ts +0 -5
  393. package/dist/components/tags/Tags.stories.d.ts.map +0 -1
  394. package/dist/components/tags/Tags.stories.js +0 -41
  395. package/dist/components/tags/TagsContextualised.stories.d.ts +0 -5
  396. package/dist/components/tags/TagsContextualised.stories.d.ts.map +0 -1
  397. package/dist/components/tags/TagsContextualised.stories.js +0 -57
  398. package/dist/components/tags/TagsInteractive.stories.d.ts +0 -5
  399. package/dist/components/tags/TagsInteractive.stories.d.ts.map +0 -1
  400. package/dist/components/tags/TagsInteractive.stories.js +0 -61
  401. package/dist/components/tags/TagsRemovable.stories.d.ts +0 -5
  402. package/dist/components/tags/TagsRemovable.stories.d.ts.map +0 -1
  403. package/dist/components/tags/TagsRemovable.stories.js +0 -60
  404. package/dist/components/tags/TagsSelectable.stories.d.ts +0 -5
  405. package/dist/components/tags/TagsSelectable.stories.d.ts.map +0 -1
  406. package/dist/components/tags/TagsSelectable.stories.js +0 -76
@@ -1,5 +1,6 @@
1
1
  import { html } from 'lit';
2
2
  import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import './Flag.svelte';
3
4
  const meta = {
4
5
  title: 'Indicators/Flag',
5
6
  component: 'm-flag',
@@ -15,10 +15,10 @@
15
15
  appearance?: 'danger' | 'accent' | 'inverse' | 'standard';
16
16
  }
17
17
 
18
- let { appearance = 'standard', label }: Props = $props();
18
+ let { appearance = 'standard', label, ...attrs }: Props = $props();
19
19
  </script>
20
20
 
21
- <div class={['mc-flag', `mc-flag--${appearance}`]}>
21
+ <div class={['mc-flag', `mc-flag--${appearance}`]} {...attrs}>
22
22
  <span class="mc-flag__label">
23
23
  {label}
24
24
  </span>
@@ -29,7 +29,7 @@
29
29
  */
30
30
  .mc-flag {
31
31
  padding: 0 0.5rem;
32
- border-radius: var(--radius-xs, 0.125rem);
32
+ border-radius: var(--border-radius-xs, 0.125rem);
33
33
  white-space: nowrap;
34
34
  font-size: var(--font-size-100, 0.875rem);
35
35
  font-weight: var(--font-weight-regular, 400);
@@ -1,4 +1,4 @@
1
- import{c as f,p as h,a as m,b as r,f as k,z as p,d as w,i as y,j as x,k as e,r as z}from"../../custom-element.js";import{s as _}from"../../slot.js";import{b as j}from"../../attributes.js";var I=k("<button><!></button>");const B={hash:"svelte-3c0lhf",code:`/**
1
+ import{c as f,p as h,a as m,b as r,f as k,r as p,d as w,h as y,i as x,j as e,e as _}from"../../custom-element.js";import{s as z}from"../../slot.js";import{a as j}from"../../attributes.js";var I=k("<button><!></button>");const B={hash:"svelte-3c0lhf",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-button.svelte-3c0lhf {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);}.mc-button.svelte-3c0lhf:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-3c0lhf:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-3c0lhf: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-3c0lhf {font-weight:var(--font-weight-semi-bold, 600);padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button.svelte-3c0lhf {display:inline-flex;justify-content:center;vertical-align:middle;text-align:center;border:2px solid transparent;border-radius:var(--button-radius, 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-3c0lhf {font-size:var(--font-size-150, 1rem);}.mc-button__icon.svelte-3c0lhf {flex-shrink:0;width:1.5rem;height:1.5rem;}.mc-button.svelte-3c0lhf: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-3c0lhf: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-3c0lhf {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;}.mc-button--m.svelte-3c0lhf {padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button--l.svelte-3c0lhf {padding:0 calc(1.25rem - 0.125rem);min-height:4rem;min-width:4rem;}.mc-button--icon-only.svelte-3c0lhf {padding:0.25rem;}.mc-button--outlined.svelte-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.svelte-3c0lhf:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-3c0lhf:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-3c0lhf: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-3c0lhf {color:var(--button-color-filled-accent-font, #ffffff);background-color:var(--button-color-filled-accent-background, #117f03);}.mc-button--accent.svelte-3c0lhf:hover {background-color:var(--button-color-filled-accent-hover-background, #006902);}.mc-button--accent.svelte-3c0lhf:active {background-color:var(--button-color-filled-accent-active-background, #035010);}.mc-button--accent.svelte-3c0lhf: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-3c0lhf {color:var(--button-color-filled-danger-font, #ffffff);background-color:var(--button-color-filled-danger-background, #c61112);}.mc-button--danger.svelte-3c0lhf:hover {background-color:var(--button-color-filled-danger-hover-background, #8c0003);}.mc-button--danger.svelte-3c0lhf:active {background-color:var(--button-color-filled-danger-active-background, #530000);}.mc-button--danger.svelte-3c0lhf: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-3c0lhf {--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-3c0lhf:hover {background-color:var(--button-color-filled-inverse-hover-background, #e6e6e6);}.mc-button--inverse.svelte-3c0lhf:active {background-color:var(--button-color-filled-inverse-active-background, #cccccc);}.mc-button--inverse.svelte-3c0lhf: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-3c0lhf {border-radius:var(--radius-full, 100%);padding:0;}.mc-button--outlined.mc-button--standard.svelte-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-3c0lhf:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-3c0lhf:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-3c0lhf:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-3c0lhf:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-3c0lhf:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-3c0lhf:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-3c0lhf:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-3c0lhf:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-3c0lhf:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}`};function D(s,t){h(t,!0),m(s,B);let n=r(t,"appearance",7,"standard"),a=r(t,"size",7,"m"),l=r(t,"type",7,"button"),d=r(t,"ghost",7),b=r(t,"outlined",7),u=r(t,"disabled",7),i=p(t,["$$slots","$$events","$$legacy","$$host","appearance","size","type","ghost","outlined","disabled"]);var v={get appearance(){return n()},set appearance(o="standard"){n(o),e()},get size(){return a()},set size(o="m"){a(o),e()},get type(){return l()},set type(o="button"){l(o),e()},get ghost(){return d()},set ghost(o){d(o),e()},get outlined(){return b()},set outlined(o){b(o),e()},get disabled(){return u()},set disabled(o){u(o),e()}},c=I();j(c,()=>({class:["mc-button","mc-button--icon-button",`mc-button--${a()}`,`mc-button--${n()}`,d()&&"mc-button--ghost",b()&&"mc-button--outlined"],disabled:u(),type:l(),...i}),void 0,void 0,"svelte-3c0lhf");var g=w(c);return _(g,t,"icon",{}),z(c),y(s,c),x(v)}customElements.define("m-icon-button",f(D,{appearance:{},size:{},type:{},ghost:{},outlined:{},disabled:{}},["icon"],[],!0));export{D as I};
3
+ */.mc-button.svelte-3c0lhf {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);}.mc-button.svelte-3c0lhf:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-3c0lhf:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-3c0lhf: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-3c0lhf {font-weight:var(--font-weight-semi-bold, 600);padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button.svelte-3c0lhf {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-3c0lhf {font-size:var(--font-size-150, 1rem);}.mc-button__icon.svelte-3c0lhf {flex-shrink:0;width:1.5rem;height:1.5rem;}.mc-button.svelte-3c0lhf: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-3c0lhf: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-3c0lhf {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;}.mc-button--m.svelte-3c0lhf {padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button--l.svelte-3c0lhf {padding:0 calc(1.25rem - 0.125rem);min-height:4rem;min-width:4rem;}.mc-button--icon-only.svelte-3c0lhf {padding:0.25rem;}.mc-button--outlined.svelte-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.svelte-3c0lhf:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-3c0lhf:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-3c0lhf: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-3c0lhf {color:var(--button-color-filled-accent-font, #ffffff);background-color:var(--button-color-filled-accent-background, #117f03);}.mc-button--accent.svelte-3c0lhf:hover {background-color:var(--button-color-filled-accent-hover-background, #006902);}.mc-button--accent.svelte-3c0lhf:active {background-color:var(--button-color-filled-accent-active-background, #035010);}.mc-button--accent.svelte-3c0lhf: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-3c0lhf {color:var(--button-color-filled-danger-font, #ffffff);background-color:var(--button-color-filled-danger-background, #c61112);}.mc-button--danger.svelte-3c0lhf:hover {background-color:var(--button-color-filled-danger-hover-background, #8c0003);}.mc-button--danger.svelte-3c0lhf:active {background-color:var(--button-color-filled-danger-active-background, #530000);}.mc-button--danger.svelte-3c0lhf: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-3c0lhf {--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-3c0lhf:hover {background-color:var(--button-color-filled-inverse-hover-background, #e6e6e6);}.mc-button--inverse.svelte-3c0lhf:active {background-color:var(--button-color-filled-inverse-active-background, #cccccc);}.mc-button--inverse.svelte-3c0lhf: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-3c0lhf {border-radius:var(--border-radius-full, 100%);padding:0;}.mc-button--outlined.mc-button--standard.svelte-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-3c0lhf:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-3c0lhf:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-3c0lhf:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-3c0lhf:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-3c0lhf:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-3c0lhf:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-3c0lhf:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-3c0lhf: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-3c0lhf {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-3c0lhf:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-3c0lhf:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-3c0lhf:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}`};function D(s,t){h(t,!0),m(s,B);let n=r(t,"appearance",7,"standard"),a=r(t,"size",7,"m"),l=r(t,"type",7,"button"),d=r(t,"ghost",7),b=r(t,"outlined",7),u=r(t,"disabled",7),i=p(t,["$$slots","$$events","$$legacy","$$host","appearance","size","type","ghost","outlined","disabled"]);var v={get appearance(){return n()},set appearance(o="standard"){n(o),e()},get size(){return a()},set size(o="m"){a(o),e()},get type(){return l()},set type(o="button"){l(o),e()},get ghost(){return d()},set ghost(o){d(o),e()},get outlined(){return b()},set outlined(o){b(o),e()},get disabled(){return u()},set disabled(o){u(o),e()}},c=I();j(c,()=>({class:["mc-button","mc-button--icon-button",`mc-button--${a()}`,`mc-button--${n()}`,d()&&"mc-button--ghost",b()&&"mc-button--outlined"],disabled:u(),type:l(),...i}),void 0,void 0,void 0,"svelte-3c0lhf");var g=w(c);return z(g,t,"icon",{}),_(c),y(s,c),x(v)}customElements.define("m-icon-button",f(D,{appearance:{},size:{},type:{},ghost:{},outlined:{},disabled:{}},["icon"],[],!0));export{D as I};
4
4
  //# sourceMappingURL=IconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.js","sources":["../../../src/components/iconbutton/IconButton.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-icon-button' }} />\n\n<script lang=\"ts\">\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 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 icon button.\n */\n appearance?: 'standard' | 'accent' | 'danger' | 'inverse';\n /**\n * Determines the size of the icon button.\n */\n size?: 's' | 'm' | 'l';\n /**\n * If `true`, disables the icon button, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, applies a \"ghost\" style to the icon button.\n */\n ghost?: boolean;\n /**\n * If `true`, the icon button gets an outlined style.\n */\n outlined?: boolean;\n /**\n * Specifies the button's HTML `type` attribute.\n */\n type?: 'button' | 'reset' | 'submit';\n }\n\n let {\n appearance = 'standard',\n size = 'm',\n type = 'button',\n ghost,\n outlined,\n disabled,\n ...attrs\n }: Props = $props();\n</script>\n\n<button\n class={[\n 'mc-button',\n 'mc-button--icon-button',\n `mc-button--${size}`,\n `mc-button--${appearance}`,\n ghost && 'mc-button--ghost',\n outlined && 'mc-button--outlined',\n ]}\n {disabled}\n {type}\n {...attrs}\n>\n <slot name=\"icon\" />\n</button>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/button';\n</style>\n"],"names":["appearance","size","type","ghost","$.prop","$$props","outlined","disabled","attrs","$.rest_props"],"mappings":";;qnWAAA,gBAqCI,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,EACLG,EAAAC,EAAAJ,EAAA,0JANU,WAAU,6CAChB,IAAG,6CACH,SAAQ,4LAUf,YACA,uCACcJ,EAAI,CAAA,iBACJD,EAAU,CAAA,GACxBG,EAAK,GAAI,mBACTG,KAAY,gDAIVE,sFAbN"}
1
+ {"version":3,"file":"IconButton.js","sources":["../../../src/components/iconbutton/IconButton.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-icon-button' }} />\n\n<script lang=\"ts\">\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 icon - Use this slot to insert an icon for the Button.\n */\n interface Props {\n /**\n * Defines the visual style of the icon button.\n */\n appearance?: 'standard' | 'accent' | 'danger' | 'inverse';\n /**\n * Determines the size of the icon button.\n */\n size?: 's' | 'm' | 'l';\n /**\n * If `true`, disables the icon button, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, applies a \"ghost\" style to the icon button.\n */\n ghost?: boolean;\n /**\n * If `true`, the icon button gets an outlined style.\n */\n outlined?: boolean;\n /**\n * Specifies the button's HTML `type` attribute.\n */\n type?: 'button' | 'reset' | 'submit';\n }\n\n let {\n appearance = 'standard',\n size = 'm',\n type = 'button',\n ghost,\n outlined,\n disabled,\n ...attrs\n }: Props = $props();\n</script>\n\n<button\n class={[\n 'mc-button',\n 'mc-button--icon-button',\n `mc-button--${size}`,\n `mc-button--${appearance}`,\n ghost && 'mc-button--ghost',\n outlined && 'mc-button--outlined',\n ]}\n {disabled}\n {type}\n {...attrs}\n>\n <slot name=\"icon\" />\n</button>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/button';\n</style>\n"],"names":["appearance","size","type","ghost","$.prop","$$props","outlined","disabled","attrs","$.rest_props"],"mappings":";;qoWAAA,gBAoCI,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,EACLG,EAAAC,EAAAJ,EAAA,0JANU,WAAU,6CAChB,IAAG,6CACH,SAAQ,4LAUf,YACA,uCACcJ,EAAI,CAAA,iBACJD,EAAU,CAAA,GACxBG,EAAK,GAAI,mBACTG,KAAY,gDAIVE,6FAbN"}
@@ -1,6 +1,8 @@
1
1
  import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
- import '@mozaic-ds/icons-svelte/custom-elements/ChevronRight20/ChevronRight20.js';
3
- import '@mozaic-ds/icons-svelte/custom-elements/ChevronRight32/ChevronRight32.js';
2
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight20/ChevronRight20.svelte';
3
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight24/ChevronRight24.svelte';
4
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight32/ChevronRight32.svelte';
5
+ import './IconButton.svelte';
4
6
  declare const meta: Meta;
5
7
  export default meta;
6
8
  type Story = StoryObj;
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.stories.d.ts","sourceRoot":"","sources":["../../../src/components/iconbutton/IconButton.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,0EAA0E,CAAC;AAClF,OAAO,0EAA0E,CAAC;AAElF,QAAA,MAAM,IAAI,EAAE,IAiCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC"}
1
+ {"version":3,"file":"IconButton.stories.d.ts","sourceRoot":"","sources":["../../../src/components/iconbutton/IconButton.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,qEAAqE,CAAC;AAC7E,OAAO,qEAAqE,CAAC;AAC7E,OAAO,qEAAqE,CAAC;AAC7E,OAAO,qBAAqB,CAAC;AAE7B,QAAA,MAAM,IAAI,EAAE,IAiCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAEnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC"}
@@ -1,8 +1,10 @@
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/ChevronRight20/ChevronRight20.js';
5
- import '@mozaic-ds/icons-svelte/custom-elements/ChevronRight32/ChevronRight32.js';
4
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight20/ChevronRight20.svelte';
5
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight24/ChevronRight24.svelte';
6
+ import '@mozaic-ds/icons-svelte/svelte/ChevronRight32/ChevronRight32.svelte';
7
+ import './IconButton.svelte';
6
8
  const meta = {
7
9
  title: 'Action/Icon Button',
8
10
  component: 'm-icon-button',
@@ -7,7 +7,6 @@
7
7
  * @slot icon - Use this slot to insert an icon for the Button.
8
8
  */
9
9
  interface Props {
10
- [key: string]: any;
11
10
  /**
12
11
  * Defines the visual style of the icon button.
13
12
  */
@@ -95,7 +94,7 @@
95
94
  vertical-align: middle;
96
95
  text-align: center;
97
96
  border: 2px solid transparent;
98
- border-radius: var(--button-radius, 0.25rem);
97
+ border-radius: var(--button-border-radius-s, 0.25rem);
99
98
  transition: all ease 200ms;
100
99
  transition: box-shadow 200ms ease;
101
100
  align-items: center;
@@ -259,7 +258,7 @@
259
258
  cursor: not-allowed;
260
259
  }
261
260
  .mc-button--icon-button {
262
- border-radius: var(--radius-full, 100%);
261
+ border-radius: var(--border-radius-full, 100%);
263
262
  padding: 0;
264
263
  }
265
264
  .mc-button--loading .mc-button__loader {
@@ -4,7 +4,6 @@
4
4
  * @slot icon - Use this slot to insert an icon for the Button.
5
5
  */
6
6
  interface Props {
7
- [key: string]: any;
8
7
  /**
9
8
  * Defines the visual style of the icon button.
10
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IconButton.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/iconbutton/IconButton.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;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,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CACtC;AAgCH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAUD,QAAA,MAAM,UAAU;;;;UAAqF,CAAC;AACpF,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"IconButton.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/iconbutton/IconButton.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;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,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CACtC;AAgCH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAUD,QAAA,MAAM,UAAU;;;;UAAqF,CAAC;AACpF,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;AACpD,eAAe,UAAU,CAAC"}
@@ -0,0 +1,5 @@
1
+ import{c as C,p as E,b as t,A as S,t as _,h as p,i as D,j as l,l as T,m as q,a as ae,f as y,r as se,n as h,D as N,d as f,s as L,e as b,g as j,B as oe,C as ce}from"../../custom-element.js";import{i as x}from"../../if.js";import{c as ne}from"../../svelte-component.js";import{s as B,b as F,a as me}from"../../attributes.js";import"../../legacy.js";import{L as de}from"../../Less24.js";var ve=S('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path fill-rule="evenodd" d="M4.293 4.293a1 1 0 0 1 1.414 0L18 16.586V9a1 1 0 1 1 2 0v10a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h7.586L4.293 5.707a1 1 0 0 1 0-1.414"></path></svg>');function G(u,r){E(r,!1);let c=t(r,"id",12,void 0),a=t(r,"style",12,void 0),s=t(r,"className",12,void 0),n=t(r,"fill",12,void 0),m=t(r,"size",12,"1.5rem");var v={get id(){return c()},set id(i){c(i),l()},get style(){return a()},set style(i){a(i),l()},get className(){return s()},set className(i){s(i),l()},get fill(){return n()},set fill(i){n(i),l()},get size(){return m()},set size(i){m(i),l()}},o=ve();return _(()=>{B(o,"id",c()),F(o,a()),T(o,0,q(s())),B(o,"fill",n())}),p(u,o),D(v)}customElements.define("arrow-bottom-right-24",C(G,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var fe=S('<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24px" height="24px"><path fill-rule="evenodd" d="M8 5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 1 1-2 0V7.414L5.707 19.707a1 1 0 0 1-1.414-1.414L16.586 6H9a1 1 0 0 1-1-1"></path></svg>');function J(u,r){E(r,!1);let c=t(r,"id",12,void 0),a=t(r,"style",12,void 0),s=t(r,"className",12,void 0),n=t(r,"fill",12,void 0),m=t(r,"size",12,"1.5rem");var v={get id(){return c()},set id(i){c(i),l()},get style(){return a()},set style(i){a(i),l()},get className(){return s()},set className(i){s(i),l()},get fill(){return n()},set fill(i){n(i),l()},get size(){return m()},set size(i){m(i),l()}},o=fe();return _(()=>{B(o,"id",c()),F(o,a()),T(o,0,q(s())),B(o,"fill",n())}),p(u,o),D(v)}customElements.define("arrow-top-right-24",C(J,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var be=y('<span class="mc-kpi__label svelte-1fbscw7"> </span>'),pe=y('<span class="mc-kpi__label svelte-1fbscw7"> </span>'),ke=y('<span class="mc-kpi__detail svelte-1fbscw7"> </span>'),ue=y('<div class="mc-kpi__aside svelte-1fbscw7"><!> <!></div>'),ge=y('<div><!> <div class="mc-kpi__content svelte-1fbscw7"><div class="mc-kpi__main svelte-1fbscw7"><!> <span class="mc-kpi__value svelte-1fbscw7"> </span></div> <!></div></div>');const we={hash:"svelte-1fbscw7",code:`/**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */.mc-kpi.svelte-1fbscw7,
4
+ .mc-kpi.svelte-1fbscw7 :where(.svelte-1fbscw7) {box-sizing:border-box;}.mc-kpi.svelte-1fbscw7 {display:inline-block;}.mc-kpi.svelte-1fbscw7:not(.mc-kpi--s) {min-width:10rem;}.mc-kpi__label.svelte-1fbscw7 {font-size:var(--font-body-s, 0.875rem);font-weight:var(--font-weight-semi-bold, 600);display:block;}.mc-kpi__content.svelte-1fbscw7 {line-height:var(--line-height-s, 1.3);display:flex;}.mc-kpi__main.svelte-1fbscw7 {align-items:center;display:flex;justify-content:center;}.mc-kpi__value.svelte-1fbscw7 {font-weight:var(--font-weight-semi-bold, 600);font-size:var(--font-body-s, 0.875rem);color:var(--color-kpi-value, var(--kpi-item-color-value-info, #0074aa));}.mc-kpi__aside.svelte-1fbscw7 {align-items:center;background-color:var(--kpi-item-color-trend-item-background, #ffffff);color:var(--kpi-item-color-trend-item-text, #000000);display:flex;justify-content:center;border-radius:var(--border-radius-xs, 0.125rem);}.mc-kpi__detail.svelte-1fbscw7 {font-size:var(--font-body-s, 0.875rem);}.mc-kpi__icon.svelte-1fbscw7 {display:block;height:1rem;width:1rem;}.mc-kpi--s.svelte-1fbscw7 .mc-kpi__content:where(.svelte-1fbscw7) {gap:0.25rem;}.mc-kpi--s.svelte-1fbscw7 .mc-kpi__main:where(.svelte-1fbscw7) {background-color:var(--color-kpi-background, var(--kpi-item-color-background-info, #e1f3f9));border:1px solid var(--color-kpi-border, var(--kpi-item-color-border-info, #3facd7));border-radius:4px;overflow:hidden;padding:0 0.25rem;height:1.5rem;}.mc-kpi--s.svelte-1fbscw7 .mc-kpi__aside:where(.svelte-1fbscw7) {background-color:transparent;}.mc-kpi--m.svelte-1fbscw7 .mc-kpi__label:where(.svelte-1fbscw7) {color:var(--color-kpi-label-medium, var(--kpi-item-color-label-info-medium, #000000));margin-bottom:0.25rem;}.mc-kpi--m.svelte-1fbscw7 .mc-kpi__content:where(.svelte-1fbscw7) {background-color:var(--color-kpi-background, var(--kpi-item-color-background-info, #e1f3f9));border:1px solid var(--color-kpi-border, var(--kpi-item-color-border-info, #3facd7));border-radius:4px;overflow:hidden;height:3rem;align-items:center;padding:0 0.25rem 0 0.5rem;gap:0.5rem;}.mc-kpi--m.svelte-1fbscw7 .mc-kpi__main:where(.svelte-1fbscw7) {flex-grow:1;height:2.5rem;}.mc-kpi--m.svelte-1fbscw7 .mc-kpi__value:where(.svelte-1fbscw7) {font-size:var(--font-body-l, 1.125rem);}.mc-kpi--m.svelte-1fbscw7 .mc-kpi__aside:where(.svelte-1fbscw7) {padding:0 0.5rem;height:2.5rem;width:2.5rem;}.mc-kpi--l.svelte-1fbscw7 {background-color:var(--color-kpi-background, var(--kpi-item-color-background-info, #e1f3f9));border:1px solid var(--color-kpi-border, var(--kpi-item-color-border-info, #3facd7));border-radius:4px;overflow:hidden;padding:0.5rem;height:9rem;}.mc-kpi--l.svelte-1fbscw7 .mc-kpi__content:where(.svelte-1fbscw7) {flex-direction:column;width:100%;height:100%;justify-content:space-between;}.mc-kpi--l.svelte-1fbscw7 .mc-kpi__main:where(.svelte-1fbscw7) {flex-direction:column;flex-grow:1;}.mc-kpi--l.svelte-1fbscw7 .mc-kpi__label:where(.svelte-1fbscw7) {font-size:var(--font-body-m, 1rem);color:var(--color-kpi-label-large, var(--kpi-item-color-label-info-large, #0074aa));}.mc-kpi--l.svelte-1fbscw7 .mc-kpi__value:where(.svelte-1fbscw7) {font-size:var(--font-heading-l, 2rem);}.mc-kpi--l.svelte-1fbscw7 .mc-kpi__aside:where(.svelte-1fbscw7) {gap:0.5rem;height:2.5rem;padding:0 0.5rem;font-size:var(--font-body-s, 0.875rem);}.mc-kpi--warning.svelte-1fbscw7 {--color-kpi-background: var(--kpi-item-color-background-warning, #fdf1e8);--color-kpi-border: var(--kpi-item-color-border-warning, #ef934a);--color-kpi-label-medium: var(--kpi-item-color-label-warning-medium, #000000);--color-kpi-label-large: var(--kpi-item-color-label-warning-large, #b64f00);--color-kpi-value: var(--kpi-item-color-value-warning, #b64f00);}.mc-kpi--error.svelte-1fbscw7 {--color-kpi-background: var(--kpi-item-color-background-error, #fdeaea);--color-kpi-border: var(--kpi-item-color-border-error, #ef5f5c);--color-kpi-label-medium: var(--kpi-item-color-label-error-medium, #000000);--color-kpi-label-large: var(--kpi-item-color-label-error-large, #c61112);--color-kpi-value: var(--kpi-item-color-value-error, #c61112);}.mc-kpi--success.svelte-1fbscw7 {--color-kpi-background: var(--kpi-item-color-background-success, #ebf5de);--color-kpi-border: var(--kpi-item-color-border-success, #78be20);--color-kpi-label-medium: var(--kpi-item-color-label-success-medium, #000000);--color-kpi-label-large: var(--kpi-item-color-label-success-large, #117f03);--color-kpi-value: var(--kpi-item-color-value-success, #117f03);}.mc-kpi--neutral.svelte-1fbscw7 {--color-kpi-background: var(--kpi-item-color-background-neutral, #f2f2f2);--color-kpi-border: var(--kpi-item-color-border-neutral, #999999);--color-kpi-label-medium: var(--kpi-item-color-label-neutral-medium, #000000);--color-kpi-label-large: var(--kpi-item-color-label-neutral-large, #666666);--color-kpi-value: var(--kpi-item-color-value-neutral, #666666);}`};function _e(u,r){E(r,!0),ae(u,we);let c=t(r,"value",7),a=t(r,"trend",7),s=t(r,"label",7),n=t(r,"status",7,"info"),m=t(r,"information",7),v=t(r,"size",7,"s"),o=se(r,["$$slots","$$events","$$legacy","$$host","value","trend","label","status","information","size"]);const i=N(()=>v()==="m"),H=N(()=>v()==="l"),O={increasing:J,decreasing:G,stable:de},P=N(()=>a()?O[a()]:void 0),Q=N(()=>`mc-kpi mc-kpi--${v()} mc-kpi--${n()}`);var U={get value(){return c()},set value(e){c(e),l()},get trend(){return a()},set trend(e){a(e),l()},get label(){return s()},set label(e){s(e),l()},get status(){return n()},set status(e="info"){n(e),l()},get information(){return m()},set information(e){m(e),l()},get size(){return v()},set size(e="s"){v(e),l()}},z=ge();me(z,()=>({class:h(Q),...o}),void 0,void 0,void 0,"svelte-1fbscw7");var I=f(z);{var W=e=>{var d=be(),g=f(d,!0);b(d),_(()=>j(g,s())),p(e,d)};x(I,e=>{h(i)&&s()&&e(W)})}var R=L(I,2),M=f(R),V=f(M);{var X=e=>{var d=pe(),g=f(d,!0);b(d),_(()=>j(g,s())),p(e,d)};x(V,e=>{h(H)&&s()&&e(X)})}var K=L(V,2),Y=f(K,!0);b(K),b(M);var Z=L(M,2);{var $=e=>{var d=ue(),g=f(d);{var ee=k=>{var w=ke(),A=f(w,!0);b(w),_(()=>j(A,m())),p(k,w)};x(g,k=>{h(H)&&m()&&k(ee)})}var re=L(g,2);{var ie=k=>{var w=oe(),A=ce(w);ne(A,()=>h(P),(te,le)=>{le(te,{className:"mc-kpi__icon",color:"black"})}),p(k,w)};x(re,k=>{a()&&k(ie)})}b(d),p(e,d)};x(Z,e=>{(a()||m())&&e($)})}return b(R),b(z),_(()=>j(Y,c())),p(u,z),D(U)}customElements.define("m-kpi-item",C(_e,{value:{},trend:{},label:{},status:{},information:{},size:{}},[],[],!0));
5
+ //# sourceMappingURL=KpiItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiItem.js","sources":["../../../node_modules/@mozaic-ds/icons-svelte/dist/components/ArrowBottomRight24/ArrowBottomRight24.svelte","../../../node_modules/@mozaic-ds/icons-svelte/dist/components/ArrowTopRight24/ArrowTopRight24.svelte","../../../src/components/kpiitem/KpiItem.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'arrow-bottom-right-24', 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.5rem\";\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 24 24\" width=\"24px\" height=\"24px\"><path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 0 1 1.414 0L18 16.586V9a1 1 0 1 1 2 0v10a1 1 0 0 1-1 1H9a1 1 0 1 1 0-2h7.586L4.293 5.707a1 1 0 0 1 0-1.414\"/></svg>","<svelte:options customElement={{ tag: 'arrow-top-right-24', 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.5rem\";\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 24 24\" width=\"24px\" height=\"24px\"><path fill-rule=\"evenodd\" d=\"M8 5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v10a1 1 0 1 1-2 0V7.414L5.707 19.707a1 1 0 0 1-1.414-1.414L16.586 6H9a1 1 0 0 1-1-1\"/></svg>","<svelte:options customElement={{ tag: 'm-kpi-item' }} />\n\n<script lang=\"ts\">\n import type { Component } from 'svelte';\n import ArrowBottomRight24 from '@mozaic-ds/icons-svelte/svelte/ArrowBottomRight24/ArrowBottomRight24.svelte';\n import ArrowTopRight24 from '@mozaic-ds/icons-svelte/svelte/ArrowTopRight24/ArrowTopRight24.svelte';\n import Less24 from '@mozaic-ds/icons-svelte/svelte/Less24/Less24.svelte';\n /**\n * A KPI Item is used to display Key Performance Indicators (KPIs) within an interface, providing a quick and clear visualization of essential data. It often includes contextual elements such as labels, trends, or status indicators to help users interpret the information at a glance. KPI Items are commonly used in dashboards, reports, and analytics tools to highlight critical metrics and facilitate data-driven decision-making.\n */\n interface Props {\n /**\n * The current value of the kpi item.\n */\n value: string;\n /**\n * Defines the evolution of the kpi.\n */\n trend?: 'increasing' | 'decreasing' | 'stable';\n /**\n * Label of the kpi item.\n */\n label?: string;\n /**\n * Allows to define the kpi item status.\n */\n status?: 'info' | 'warning' | 'error' | 'success' | 'neutral';\n /**\n * The evolution information defining the kpi.\n */\n information?: string;\n /**\n * Allows to define the kpi item size.\n */\n size?: 's' | 'm' | 'l';\n }\n\n let { value, trend, label, status = 'info', information, size = 's', ...attrs }: Props = $props();\n\n const isMedium = $derived(size === 'm');\n const isLarge = $derived(size === 'l');\n\n const iconMap: Record<NonNullable<Props['trend']>, Component> = {\n increasing: ArrowTopRight24,\n decreasing: ArrowBottomRight24,\n stable: Less24,\n };\n\n const IconComponent = $derived(trend ? iconMap[trend] : undefined);\n\n const rootClasses = $derived(`mc-kpi mc-kpi--${size} mc-kpi--${status}`);\n</script>\n\n<div class={rootClasses} {...attrs}>\n {#if isMedium && label}\n <span class=\"mc-kpi__label\">\n {label}\n </span>\n {/if}\n <div class=\"mc-kpi__content\">\n <div class=\"mc-kpi__main\">\n {#if isLarge && label}\n <span class=\"mc-kpi__label\">\n {label}\n </span>\n {/if}\n <span class=\"mc-kpi__value\">{value}</span>\n </div>\n {#if trend || information}\n <div class=\"mc-kpi__aside\">\n {#if isLarge && information}\n <span class=\"mc-kpi__detail\">\n {information}\n </span>\n {/if}\n\n {#if trend}\n <IconComponent className=\"mc-kpi__icon\" color=\"black\" />\n {/if}\n </div>\n {/if}\n </div>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/kpi-item';\n</style>\n"],"names":["id","style","className","fill","size","value","$.prop","$$props","trend","label","status","information","attrs","$.rest_props","isMedium","$.derived","isLarge","iconMap","ArrowTopRight24","ArrowBottomRight24","Less24","IconComponent","rootClasses","$.attribute_effect","div","$.get","$$render","consequent","consequent_1","consequent_2","consequent_3","consequent_4"],"mappings":"8qBAAA,SAEa,IAAAA,cAAK,MAAS,EACdC,iBAAQ,MAAS,EACjBC,qBAAY,MAAS,EACrBC,gBAAO,MAAS,EAChBC,gBAAO,QAAQ,iRAGAJ,GAAE,MAAUC,GAAK,UAASC,EAAS,CAAA,CAAA,aAAQC,GAAI,eAF3E,oZCPA,SAEa,IAAAH,cAAK,MAAS,EACdC,iBAAQ,MAAS,EACjBC,qBAAY,MAAS,EACrBC,gBAAO,MAAS,EAChBC,gBAAO,QAAQ,iRAGAJ,GAAE,MAAUC,GAAK,UAASC,EAAS,CAAA,CAAA,aAAQC,GAAI,eAF3E;;;gyJCPA,sBAqCQE,EAAKC,EAAAC,EAAA,QAAA,CAAA,EAAEC,EAAKF,EAAAC,EAAA,QAAA,CAAA,EAAEE,EAAKH,EAAAC,EAAA,QAAA,CAAA,EAAEG,iBAAS,MAAM,EAAEC,EAAWL,EAAAC,EAAA,cAAA,CAAA,EAAEH,eAAO,GAAG,EAAKQ,EAAKC,GAAAN,EAAA,wGAEvEO,EAAQC,EAAA,IAAYX,EAAI,IAAK,GAAG,EAChCY,EAAOD,EAAA,IAAYX,EAAI,IAAK,GAAG,EAE/Ba,EAAuD,CAC3D,WAAYC,EACZ,WAAYC,EACZ,OAAQC,IAGJC,QAAyBb,EAAK,EAAGS,EAAQT,EAAK,GAAI,MAAS,EAE3Dc,EAAWP,EAAA,IAAA,kBAA8BX,EAAI,CAAA,YAAYM,EAAM,CAAA,EAAA,4LAbjC,OAAM,wGAAsB,IAAG,mBAgBzDa,GAAAC,EAAA,KAAA,CAAA,MAAAC,EAAAH,CAAW,KAAMV,CAAK,GAAA,OAAA,OAAA,OAAA,gBAAA,4DAG3BH,EAAK,CAAA,CAAA,kBAFLgB,EAAAX,CAAQ,GAAIL,EAAK,GAAAiB,EAAAC,CAAA,8EASblB,EAAK,CAAA,CAAA,kBAFLgB,EAAAT,CAAO,GAAIP,EAAK,GAAAiB,EAAAE,CAAA,+HAWdjB,EAAW,CAAA,CAAA,kBAFXc,EAAAT,CAAO,GAAIL,EAAW,GAAAe,EAAAG,EAAA,4IAMtBrB,EAAK,GAAAkB,EAAAI,EAAA,0BARTtB,EAAK,GAAIG,MAAWe,EAAAK,CAAA,+BAFM1B,EAAK,CAAA,CAAA,aAfxC","x_google_ignoreList":[0,1]}
@@ -0,0 +1,60 @@
1
+ import { render } from '@testing-library/svelte';
2
+ import { describe, it, expect } from 'vitest';
3
+ import KpiItem from './KpiItem.svelte';
4
+ describe('MKpiItem component', () => {
5
+ it('renders the large size correctly', () => {
6
+ const { getByText } = render(KpiItem, {
7
+ props: {
8
+ value: '85%',
9
+ label: 'Completion Rate',
10
+ trend: 'increasing',
11
+ information: 'Above target',
12
+ size: 'l',
13
+ },
14
+ });
15
+ expect(getByText('85%')).toBeTruthy();
16
+ expect(getByText('Completion Rate')).toBeTruthy();
17
+ expect(getByText('Above target')).toBeTruthy();
18
+ expect(document.querySelector('.mc-kpi__icon')).toBeTruthy();
19
+ });
20
+ it('renders the medium size component correctly', () => {
21
+ const { getByText, queryByText } = render(KpiItem, {
22
+ props: {
23
+ value: '85%',
24
+ label: 'Completion Rate',
25
+ information: 'Above target',
26
+ trend: 'increasing',
27
+ size: 'm',
28
+ },
29
+ });
30
+ expect(getByText('85%')).toBeTruthy();
31
+ expect(getByText('Completion Rate')).toBeTruthy();
32
+ expect(queryByText('Above target')).toBeNull();
33
+ expect(document.querySelector('.mc-kpi__icon')).toBeTruthy();
34
+ });
35
+ it('renders the small size component correctly', () => {
36
+ const { getByText, queryByText } = render(KpiItem, {
37
+ props: {
38
+ value: '85%',
39
+ label: 'Completion Rate',
40
+ information: 'Above target',
41
+ trend: 'increasing',
42
+ size: 's',
43
+ },
44
+ });
45
+ expect(getByText('85%')).toBeTruthy();
46
+ expect(queryByText('Completion Rate')).toBeNull();
47
+ expect(queryByText('Above target')).toBeNull();
48
+ expect(document.querySelector('.mc-kpi__icon')).toBeTruthy();
49
+ });
50
+ describe('evolution icon', () => {
51
+ it('does not render the icon when trend prop is not provided', () => {
52
+ const { container } = render(KpiItem, { props: { value: '123' } });
53
+ expect(container.querySelector('.mc-kpi__icon')).toBeNull();
54
+ });
55
+ it('renders the icon when trend prop is provided', () => {
56
+ const { container } = render(KpiItem, { props: { value: '123', trend: 'increasing' } });
57
+ expect(container.querySelector('.mc-kpi__icon')).toBeTruthy();
58
+ });
59
+ });
60
+ });
@@ -0,0 +1,9 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import './KpiItem.svelte';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const LargeWithIconAndInformation: Story;
7
+ export declare const MediumWithIconAndLabel: Story;
8
+ export declare const SmallWithIcon: Story;
9
+ //# sourceMappingURL=KpiItem.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiItem.stories.d.ts","sourceRoot":"","sources":["../../../src/components/kpiitem/KpiItem.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAGrE,OAAO,kBAAkB,CAAC;AAE1B,QAAA,MAAM,IAAI,EAAE,IAiCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,2BAA2B,EAAE,KAMzC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAKpC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAK3B,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import './KpiItem.svelte';
4
+ const meta = {
5
+ title: 'Status/Kpi Item',
6
+ component: 'm-kpi-item',
7
+ argTypes: {
8
+ status: {
9
+ control: 'radio',
10
+ options: ['info', 'success', 'warning', 'error', 'neutral'],
11
+ },
12
+ trend: {
13
+ control: { type: 'radio' },
14
+ options: [undefined, 'increasing', 'decreasing', 'stable'],
15
+ },
16
+ size: {
17
+ control: 'inline-radio',
18
+ options: ['s', 'm', 'l'],
19
+ },
20
+ },
21
+ args: {
22
+ value: '99.99%',
23
+ label: 'Label',
24
+ size: 's',
25
+ },
26
+ render: (args) => html `
27
+ <m-kpi-item
28
+ value=${args.value}
29
+ label=${ifDefined(args.label)}
30
+ information=${ifDefined(args.information)}
31
+ status=${ifDefined(args.status)}
32
+ trend=${ifDefined(args.trend)}
33
+ size=${ifDefined(args.size)}
34
+ >
35
+ </m-kpi-item>
36
+ `,
37
+ };
38
+ export default meta;
39
+ export const LargeWithIconAndInformation = {
40
+ args: {
41
+ trend: 'increasing',
42
+ information: '> 10% expected',
43
+ size: 'l',
44
+ },
45
+ };
46
+ export const MediumWithIconAndLabel = {
47
+ args: {
48
+ trend: 'increasing',
49
+ size: 'm',
50
+ },
51
+ };
52
+ export const SmallWithIcon = {
53
+ args: {
54
+ trend: 'increasing',
55
+ size: 's',
56
+ },
57
+ };
@@ -0,0 +1,231 @@
1
+ <svelte:options customElement={{ tag: 'm-kpi-item' }} />
2
+
3
+ <script lang="ts">
4
+ import type { Component } from 'svelte';
5
+ import ArrowBottomRight24 from '@mozaic-ds/icons-svelte/svelte/ArrowBottomRight24/ArrowBottomRight24.svelte';
6
+ import ArrowTopRight24 from '@mozaic-ds/icons-svelte/svelte/ArrowTopRight24/ArrowTopRight24.svelte';
7
+ import Less24 from '@mozaic-ds/icons-svelte/svelte/Less24/Less24.svelte';
8
+ /**
9
+ * A KPI Item is used to display Key Performance Indicators (KPIs) within an interface, providing a quick and clear visualization of essential data. It often includes contextual elements such as labels, trends, or status indicators to help users interpret the information at a glance. KPI Items are commonly used in dashboards, reports, and analytics tools to highlight critical metrics and facilitate data-driven decision-making.
10
+ */
11
+ interface Props {
12
+ /**
13
+ * The current value of the kpi item.
14
+ */
15
+ value: string;
16
+ /**
17
+ * Defines the evolution of the kpi.
18
+ */
19
+ trend?: 'increasing' | 'decreasing' | 'stable';
20
+ /**
21
+ * Label of the kpi item.
22
+ */
23
+ label?: string;
24
+ /**
25
+ * Allows to define the kpi item status.
26
+ */
27
+ status?: 'info' | 'warning' | 'error' | 'success' | 'neutral';
28
+ /**
29
+ * The evolution information defining the kpi.
30
+ */
31
+ information?: string;
32
+ /**
33
+ * Allows to define the kpi item size.
34
+ */
35
+ size?: 's' | 'm' | 'l';
36
+ }
37
+
38
+ let { value, trend, label, status = 'info', information, size = 's', ...attrs }: Props = $props();
39
+
40
+ const isMedium = $derived(size === 'm');
41
+ const isLarge = $derived(size === 'l');
42
+
43
+ const iconMap: Record<NonNullable<Props['trend']>, Component> = {
44
+ increasing: ArrowTopRight24,
45
+ decreasing: ArrowBottomRight24,
46
+ stable: Less24,
47
+ };
48
+
49
+ const IconComponent = $derived(trend ? iconMap[trend] : undefined);
50
+
51
+ const rootClasses = $derived(`mc-kpi mc-kpi--${size} mc-kpi--${status}`);
52
+ </script>
53
+
54
+ <div class={rootClasses} {...attrs}>
55
+ {#if isMedium && label}
56
+ <span class="mc-kpi__label">
57
+ {label}
58
+ </span>
59
+ {/if}
60
+ <div class="mc-kpi__content">
61
+ <div class="mc-kpi__main">
62
+ {#if isLarge && label}
63
+ <span class="mc-kpi__label">
64
+ {label}
65
+ </span>
66
+ {/if}
67
+ <span class="mc-kpi__value">{value}</span>
68
+ </div>
69
+ {#if trend || information}
70
+ <div class="mc-kpi__aside">
71
+ {#if isLarge && information}
72
+ <span class="mc-kpi__detail">
73
+ {information}
74
+ </span>
75
+ {/if}
76
+
77
+ {#if trend}
78
+ <IconComponent className="mc-kpi__icon" color="black" />
79
+ {/if}
80
+ </div>
81
+ {/if}
82
+ </div>
83
+ </div>
84
+
85
+ <style>/**
86
+ * Do not edit directly, this file was auto-generated.
87
+ */
88
+ .mc-kpi,
89
+ .mc-kpi * {
90
+ box-sizing: border-box;
91
+ }
92
+ .mc-kpi {
93
+ display: inline-block;
94
+ }
95
+ .mc-kpi:not(.mc-kpi--s) {
96
+ min-width: 10rem;
97
+ }
98
+ .mc-kpi__label {
99
+ font-size: var(--font-body-s, 0.875rem);
100
+ font-weight: var(--font-weight-semi-bold, 600);
101
+ display: block;
102
+ }
103
+ .mc-kpi__content {
104
+ line-height: var(--line-height-s, 1.3);
105
+ display: flex;
106
+ }
107
+ .mc-kpi__main {
108
+ align-items: center;
109
+ display: flex;
110
+ justify-content: center;
111
+ }
112
+ .mc-kpi__value {
113
+ font-weight: var(--font-weight-semi-bold, 600);
114
+ font-size: var(--font-body-s, 0.875rem);
115
+ color: var(--color-kpi-value, var(--kpi-item-color-value-info, #0074aa));
116
+ }
117
+ .mc-kpi__aside {
118
+ align-items: center;
119
+ background-color: var(--kpi-item-color-trend-item-background, #ffffff);
120
+ color: var(--kpi-item-color-trend-item-text, #000000);
121
+ display: flex;
122
+ justify-content: center;
123
+ border-radius: var(--border-radius-xs, 0.125rem);
124
+ }
125
+ .mc-kpi__detail {
126
+ font-size: var(--font-body-s, 0.875rem);
127
+ }
128
+ .mc-kpi__icon {
129
+ display: block;
130
+ height: 1rem;
131
+ width: 1rem;
132
+ }
133
+ .mc-kpi--s .mc-kpi__content {
134
+ gap: 0.25rem;
135
+ }
136
+ .mc-kpi--s .mc-kpi__main {
137
+ background-color: var(--color-kpi-background, var(--kpi-item-color-background-info, #e1f3f9));
138
+ border: 1px solid var(--color-kpi-border, var(--kpi-item-color-border-info, #3facd7));
139
+ border-radius: 4px;
140
+ overflow: hidden;
141
+ padding: 0 0.25rem;
142
+ height: 1.5rem;
143
+ }
144
+ .mc-kpi--s .mc-kpi__aside {
145
+ background-color: transparent;
146
+ }
147
+ .mc-kpi--m .mc-kpi__label {
148
+ color: var(--color-kpi-label-medium, var(--kpi-item-color-label-info-medium, #000000));
149
+ margin-bottom: 0.25rem;
150
+ }
151
+ .mc-kpi--m .mc-kpi__content {
152
+ background-color: var(--color-kpi-background, var(--kpi-item-color-background-info, #e1f3f9));
153
+ border: 1px solid var(--color-kpi-border, var(--kpi-item-color-border-info, #3facd7));
154
+ border-radius: 4px;
155
+ overflow: hidden;
156
+ height: 3rem;
157
+ align-items: center;
158
+ padding: 0 0.25rem 0 0.5rem;
159
+ gap: 0.5rem;
160
+ }
161
+ .mc-kpi--m .mc-kpi__main {
162
+ flex-grow: 1;
163
+ height: 2.5rem;
164
+ }
165
+ .mc-kpi--m .mc-kpi__value {
166
+ font-size: var(--font-body-l, 1.125rem);
167
+ }
168
+ .mc-kpi--m .mc-kpi__aside {
169
+ padding: 0 0.5rem;
170
+ height: 2.5rem;
171
+ width: 2.5rem;
172
+ }
173
+ .mc-kpi--l {
174
+ background-color: var(--color-kpi-background, var(--kpi-item-color-background-info, #e1f3f9));
175
+ border: 1px solid var(--color-kpi-border, var(--kpi-item-color-border-info, #3facd7));
176
+ border-radius: 4px;
177
+ overflow: hidden;
178
+ padding: 0.5rem;
179
+ height: 9rem;
180
+ }
181
+ .mc-kpi--l .mc-kpi__content {
182
+ flex-direction: column;
183
+ width: 100%;
184
+ height: 100%;
185
+ justify-content: space-between;
186
+ }
187
+ .mc-kpi--l .mc-kpi__main {
188
+ flex-direction: column;
189
+ flex-grow: 1;
190
+ }
191
+ .mc-kpi--l .mc-kpi__label {
192
+ font-size: var(--font-body-m, 1rem);
193
+ color: var(--color-kpi-label-large, var(--kpi-item-color-label-info-large, #0074aa));
194
+ }
195
+ .mc-kpi--l .mc-kpi__value {
196
+ font-size: var(--font-heading-l, 2rem);
197
+ }
198
+ .mc-kpi--l .mc-kpi__aside {
199
+ gap: 0.5rem;
200
+ height: 2.5rem;
201
+ padding: 0 0.5rem;
202
+ font-size: var(--font-body-s, 0.875rem);
203
+ }
204
+ .mc-kpi--warning {
205
+ --color-kpi-background: var(--kpi-item-color-background-warning, #fdf1e8);
206
+ --color-kpi-border: var(--kpi-item-color-border-warning, #ef934a);
207
+ --color-kpi-label-medium: var(--kpi-item-color-label-warning-medium, #000000);
208
+ --color-kpi-label-large: var(--kpi-item-color-label-warning-large, #b64f00);
209
+ --color-kpi-value: var(--kpi-item-color-value-warning, #b64f00);
210
+ }
211
+ .mc-kpi--error {
212
+ --color-kpi-background: var(--kpi-item-color-background-error, #fdeaea);
213
+ --color-kpi-border: var(--kpi-item-color-border-error, #ef5f5c);
214
+ --color-kpi-label-medium: var(--kpi-item-color-label-error-medium, #000000);
215
+ --color-kpi-label-large: var(--kpi-item-color-label-error-large, #c61112);
216
+ --color-kpi-value: var(--kpi-item-color-value-error, #c61112);
217
+ }
218
+ .mc-kpi--success {
219
+ --color-kpi-background: var(--kpi-item-color-background-success, #ebf5de);
220
+ --color-kpi-border: var(--kpi-item-color-border-success, #78be20);
221
+ --color-kpi-label-medium: var(--kpi-item-color-label-success-medium, #000000);
222
+ --color-kpi-label-large: var(--kpi-item-color-label-success-large, #117f03);
223
+ --color-kpi-value: var(--kpi-item-color-value-success, #117f03);
224
+ }
225
+ .mc-kpi--neutral {
226
+ --color-kpi-background: var(--kpi-item-color-background-neutral, #f2f2f2);
227
+ --color-kpi-border: var(--kpi-item-color-border-neutral, #999999);
228
+ --color-kpi-label-medium: var(--kpi-item-color-label-neutral-medium, #000000);
229
+ --color-kpi-label-large: var(--kpi-item-color-label-neutral-large, #666666);
230
+ --color-kpi-value: var(--kpi-item-color-value-neutral, #666666);
231
+ }</style>
@@ -0,0 +1,34 @@
1
+ import type { Component } from 'svelte';
2
+ /**
3
+ * A KPI Item is used to display Key Performance Indicators (KPIs) within an interface, providing a quick and clear visualization of essential data. It often includes contextual elements such as labels, trends, or status indicators to help users interpret the information at a glance. KPI Items are commonly used in dashboards, reports, and analytics tools to highlight critical metrics and facilitate data-driven decision-making.
4
+ */
5
+ interface Props {
6
+ /**
7
+ * The current value of the kpi item.
8
+ */
9
+ value: string;
10
+ /**
11
+ * Defines the evolution of the kpi.
12
+ */
13
+ trend?: 'increasing' | 'decreasing' | 'stable';
14
+ /**
15
+ * Label of the kpi item.
16
+ */
17
+ label?: string;
18
+ /**
19
+ * Allows to define the kpi item status.
20
+ */
21
+ status?: 'info' | 'warning' | 'error' | 'success' | 'neutral';
22
+ /**
23
+ * The evolution information defining the kpi.
24
+ */
25
+ information?: string;
26
+ /**
27
+ * Allows to define the kpi item size.
28
+ */
29
+ size?: 's' | 'm' | 'l';
30
+ }
31
+ declare const KpiItem: Component<Props, {}, "">;
32
+ type KpiItem = ReturnType<typeof KpiItem>;
33
+ export default KpiItem;
34
+ //# sourceMappingURL=KpiItem.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KpiItem.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/kpiitem/KpiItem.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAKtC;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,YAAY,GAAG,QAAQ,CAAC;IAC/C;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;IAC9D;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CACxB;AA6DH,QAAA,MAAM,OAAO,0BAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}