@mozaic-ds/web-components 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (326) hide show
  1. package/README.md +28 -106
  2. package/dist/Cross20.js +1 -1
  3. package/dist/Cross20.js.map +1 -1
  4. package/dist/Cross24.js +1 -1
  5. package/dist/CrossCircleFilled24.js +1 -1
  6. package/dist/attributes.js +1 -1
  7. package/dist/attributes.js.map +1 -1
  8. package/dist/bundle.d.ts +6 -5
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +6 -5
  11. package/dist/components/avatar/Avatar.js +2 -2
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
  14. package/dist/components/avatar/Avatar.stories.js +1 -3
  15. package/dist/components/avatar/Avatar.svelte +7 -7
  16. package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
  17. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  18. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  19. package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
  20. package/dist/components/breadcrumb/Breadcrumb.stories.js +1 -4
  21. package/dist/components/breadcrumb/Breadcrumb.svelte +2 -5
  22. package/dist/components/button/Button.js +3 -3
  23. package/dist/components/button/Button.js.map +1 -1
  24. package/dist/components/button/Button.svelte +3 -3
  25. package/dist/components/callout/Callout.js +2 -5
  26. package/dist/components/callout/Callout.js.map +1 -1
  27. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  28. package/dist/components/callout/Callout.svelte +9 -16
  29. package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
  30. package/dist/components/checkbox/Checkbox.js +2 -2
  31. package/dist/components/checkbox/Checkbox.spec.js +1 -1
  32. package/dist/components/checkbox/Checkbox.svelte +2 -2
  33. package/dist/components/checkboxgroup/CheckboxGroup.js +3 -3
  34. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  35. package/dist/components/checkboxgroup/CheckboxGroup.spec.js +1 -3
  36. package/dist/components/checkboxgroup/CheckboxGroup.svelte +4 -10
  37. package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
  38. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  39. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  40. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +2 -2
  41. package/dist/components/circularprogressbar/CircularProgressbar.svelte +4 -4
  42. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +1 -0
  43. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  44. package/dist/components/container/Container.js +14 -0
  45. package/dist/components/container/Container.js.map +1 -0
  46. package/dist/components/container/Container.spec.js +26 -0
  47. package/dist/components/container/Container.stories.d.ts +7 -0
  48. package/dist/components/container/Container.stories.d.ts.map +1 -0
  49. package/dist/components/container/Container.stories.js +23 -0
  50. package/dist/components/container/Container.svelte +60 -0
  51. package/dist/components/container/Container.svelte.d.ts +39 -0
  52. package/dist/components/container/Container.svelte.d.ts.map +1 -0
  53. package/dist/components/container/README.md +16 -0
  54. package/dist/components/datepicker/Datepicker.js +3 -3
  55. package/dist/components/datepicker/Datepicker.js.map +1 -1
  56. package/dist/components/datepicker/Datepicker.svelte +13 -22
  57. package/dist/components/datepicker/Datepicker.svelte.d.ts +1 -1
  58. package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
  59. package/dist/components/datepicker/README.md +1 -1
  60. package/dist/components/divider/Divider.js +4 -0
  61. package/dist/components/divider/Divider.js.map +1 -0
  62. package/dist/components/divider/Divider.spec.js +50 -0
  63. package/dist/components/divider/Divider.stories.d.ts +9 -0
  64. package/dist/components/divider/Divider.stories.d.ts.map +1 -0
  65. package/dist/components/divider/Divider.stories.js +57 -0
  66. package/dist/components/divider/Divider.svelte +90 -0
  67. package/dist/components/divider/Divider.svelte.d.ts +47 -0
  68. package/dist/components/divider/Divider.svelte.d.ts.map +1 -0
  69. package/dist/components/divider/README.md +18 -0
  70. package/dist/components/drawer/Drawer.js +4 -4
  71. package/dist/components/drawer/Drawer.js.map +1 -1
  72. package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
  73. package/dist/components/drawer/Drawer.stories.js +1 -2
  74. package/dist/components/drawer/Drawer.svelte +20 -7
  75. package/dist/components/drawer/Drawer.svelte.d.ts +8 -0
  76. package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
  77. package/dist/components/drawer/README.md +2 -0
  78. package/dist/components/field/Field.js +2 -2
  79. package/dist/components/field/Field.js.map +1 -1
  80. package/dist/components/field/Field.spec.js +56 -9
  81. package/dist/components/field/Field.stories.d.ts +1 -0
  82. package/dist/components/field/Field.stories.d.ts.map +1 -1
  83. package/dist/components/field/Field.stories.js +15 -0
  84. package/dist/components/field/Field.svelte +12 -6
  85. package/dist/components/field/Field.svelte.d.ts +4 -0
  86. package/dist/components/field/Field.svelte.d.ts.map +1 -1
  87. package/dist/components/field/README.md +1 -0
  88. package/dist/components/flag/Flag.js +2 -2
  89. package/dist/components/flag/Flag.js.map +1 -1
  90. package/dist/components/flag/Flag.stories.d.ts.map +1 -1
  91. package/dist/components/flag/Flag.stories.js +1 -4
  92. package/dist/components/flag/Flag.svelte +1 -1
  93. package/dist/components/iconbutton/IconButton.js +2 -2
  94. package/dist/components/iconbutton/IconButton.js.map +1 -1
  95. package/dist/components/iconbutton/IconButton.svelte +2 -2
  96. package/dist/components/kpiitem/KpiItem.js +5 -0
  97. package/dist/components/kpiitem/KpiItem.js.map +1 -0
  98. package/dist/components/kpiitem/KpiItem.spec.js +60 -0
  99. package/dist/components/kpiitem/KpiItem.stories.d.ts +8 -0
  100. package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -0
  101. package/dist/components/kpiitem/KpiItem.stories.js +56 -0
  102. package/dist/components/kpiitem/KpiItem.svelte +231 -0
  103. package/dist/components/kpiitem/KpiItem.svelte.d.ts +34 -0
  104. package/dist/components/kpiitem/KpiItem.svelte.d.ts.map +1 -0
  105. package/dist/components/kpiitem/README.md +15 -0
  106. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  107. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  108. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +3 -8
  109. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
  110. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  111. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  112. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +3 -3
  113. package/dist/components/link/Link.js +1 -1
  114. package/dist/components/link/Link.js.map +1 -1
  115. package/dist/components/link/Link.svelte +1 -1
  116. package/dist/components/loader/Loader.js +1 -1
  117. package/dist/components/loader/Loader.js.map +1 -1
  118. package/dist/components/loader/Loader.spec.js +20 -1
  119. package/dist/components/loader/Loader.stories.js +1 -1
  120. package/dist/components/loader/Loader.svelte +8 -6
  121. package/dist/components/loader/Loader.svelte.d.ts +1 -1
  122. package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
  123. package/dist/components/loader/README.md +1 -1
  124. package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +1 -1
  125. package/dist/components/loadingoverlay/LoadingOverlay.stories.js +1 -1
  126. package/dist/components/modal/Modal.js +3 -3
  127. package/dist/components/modal/Modal.js.map +1 -1
  128. package/dist/components/modal/Modal.stories.d.ts.map +1 -1
  129. package/dist/components/modal/Modal.stories.js +2 -4
  130. package/dist/components/modal/Modal.svelte +4 -4
  131. package/dist/components/numberbadge/NumberBadge.js +1 -1
  132. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  133. package/dist/components/numberbadge/NumberBadge.svelte +2 -8
  134. package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
  135. package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
  136. package/dist/components/overlay/Overlay.stories.js +1 -4
  137. package/dist/components/pagination/Pagination.js +6 -6
  138. package/dist/components/pagination/Pagination.js.map +1 -1
  139. package/dist/components/pagination/Pagination.spec.js +2 -2
  140. package/dist/components/pagination/Pagination.svelte +10 -28
  141. package/dist/components/passwordinput/PasswordInput.js +3 -3
  142. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  143. package/dist/components/passwordinput/PasswordInput.spec.js +1 -1
  144. package/dist/components/passwordinput/PasswordInput.svelte +10 -14
  145. package/dist/components/passwordinput/PasswordInput.svelte.d.ts +1 -1
  146. package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
  147. package/dist/components/passwordinput/README.md +1 -1
  148. package/dist/components/pincode/Pincode.js +2 -2
  149. package/dist/components/pincode/Pincode.js.map +1 -1
  150. package/dist/components/pincode/Pincode.svelte +9 -21
  151. package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
  152. package/dist/components/quantityselector/QuantitySelector.js +3 -3
  153. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  154. package/dist/components/quantityselector/QuantitySelector.stories.d.ts +0 -1
  155. package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
  156. package/dist/components/quantityselector/QuantitySelector.stories.js +0 -6
  157. package/dist/components/quantityselector/QuantitySelector.svelte +11 -19
  158. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  159. package/dist/components/radio/Radio.js +2 -2
  160. package/dist/components/radio/Radio.js.map +1 -1
  161. package/dist/components/radio/Radio.svelte +3 -10
  162. package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
  163. package/dist/components/radiogroup/RadioGroup.js +3 -3
  164. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  165. package/dist/components/radiogroup/RadioGroup.svelte +4 -10
  166. package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
  167. package/dist/components/segmentedcontrol/README.md +19 -0
  168. package/dist/components/segmentedcontrol/SegmentedControl.js +4 -0
  169. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -0
  170. package/dist/components/segmentedcontrol/SegmentedControl.spec.js +52 -0
  171. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +8 -0
  172. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -0
  173. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +54 -0
  174. package/dist/components/segmentedcontrol/SegmentedControl.svelte +125 -0
  175. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts +32 -0
  176. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -0
  177. package/dist/components/select/README.md +1 -1
  178. package/dist/components/select/Select.js +3 -3
  179. package/dist/components/select/Select.js.map +1 -1
  180. package/dist/components/select/Select.svelte +7 -7
  181. package/dist/components/select/Select.svelte.d.ts +1 -1
  182. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  183. package/dist/components/statusbadge/StatusBadge.js +2 -2
  184. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  185. package/dist/components/statusbadge/StatusBadge.svelte +9 -9
  186. package/dist/components/statusdot/StatusDot.js +1 -1
  187. package/dist/components/statusdot/StatusDot.js.map +1 -1
  188. package/dist/components/statusdot/StatusDot.spec.js +1 -7
  189. package/dist/components/statusdot/StatusDot.svelte +3 -9
  190. package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
  191. package/dist/components/statusmessage/README.md +11 -0
  192. package/dist/components/statusmessage/StatusMessage.js +4 -0
  193. package/dist/components/statusmessage/StatusMessage.js.map +1 -0
  194. package/dist/components/statusmessage/StatusMessage.spec.js +47 -0
  195. package/dist/components/statusmessage/StatusMessage.stories.d.ts +11 -0
  196. package/dist/components/statusmessage/StatusMessage.stories.d.ts.map +1 -0
  197. package/dist/components/statusmessage/StatusMessage.stories.js +37 -0
  198. package/dist/components/statusmessage/StatusMessage.svelte +84 -0
  199. package/dist/components/statusmessage/StatusMessage.svelte.d.ts +17 -0
  200. package/dist/components/statusmessage/StatusMessage.svelte.d.ts.map +1 -0
  201. package/dist/components/statusnotification/StatusNotification.js +2 -6
  202. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  203. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  204. package/dist/components/statusnotification/StatusNotification.svelte +14 -23
  205. package/dist/components/steppercompact/README.md +13 -0
  206. package/dist/components/steppercompact/StepperCompact.js +4 -0
  207. package/dist/components/steppercompact/StepperCompact.js.map +1 -0
  208. package/dist/components/steppercompact/StepperCompact.spec.js +119 -0
  209. package/dist/components/steppercompact/StepperCompact.stories.d.ts +6 -0
  210. package/dist/components/steppercompact/StepperCompact.stories.d.ts.map +1 -0
  211. package/dist/components/steppercompact/StepperCompact.stories.js +28 -0
  212. package/dist/components/steppercompact/StepperCompact.svelte +123 -0
  213. package/dist/components/steppercompact/StepperCompact.svelte.d.ts +25 -0
  214. package/dist/components/steppercompact/StepperCompact.svelte.d.ts.map +1 -0
  215. package/dist/components/tab/Tab.js +2 -2
  216. package/dist/components/tab/Tab.js.map +1 -1
  217. package/dist/components/tab/Tab.svelte +2 -8
  218. package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
  219. package/dist/components/tabs/Tabs.svelte +1 -1
  220. package/dist/components/tag/README.md +30 -0
  221. package/dist/components/tag/Tag.js +4 -0
  222. package/dist/components/tag/Tag.js.map +1 -0
  223. package/dist/components/tag/Tag.stories.d.ts +12 -0
  224. package/dist/components/tag/Tag.stories.d.ts.map +1 -0
  225. package/dist/components/tag/Tag.stories.js +70 -0
  226. package/dist/components/{tags/TagRemovable.svelte → tag/Tag.svelte} +107 -32
  227. package/dist/components/tag/Tag.svelte.d.ts +65 -0
  228. package/dist/components/tag/Tag.svelte.d.ts.map +1 -0
  229. package/dist/components/textarea/Textarea.js +2 -2
  230. package/dist/components/textarea/Textarea.js.map +1 -1
  231. package/dist/components/textarea/Textarea.svelte +6 -8
  232. package/dist/components/textinput/README.md +1 -1
  233. package/dist/components/textinput/Textinput.js +5 -5
  234. package/dist/components/textinput/Textinput.js.map +1 -1
  235. package/dist/components/textinput/Textinput.stories.d.ts +1 -1
  236. package/dist/components/textinput/Textinput.stories.js +1 -1
  237. package/dist/components/textinput/Textinput.svelte +10 -18
  238. package/dist/components/textinput/Textinput.svelte.d.ts +1 -1
  239. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  240. package/dist/components/toaster/README.md +1 -0
  241. package/dist/components/toaster/Toaster.js +3 -7
  242. package/dist/components/toaster/Toaster.js.map +1 -1
  243. package/dist/components/toaster/Toaster.svelte +20 -23
  244. package/dist/components/toaster/Toaster.svelte.d.ts +4 -0
  245. package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
  246. package/dist/components/toggle/Toggle.js +2 -2
  247. package/dist/components/toggle/Toggle.js.map +1 -1
  248. package/dist/components/toggle/Toggle.svelte +4 -18
  249. package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
  250. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  251. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  252. package/dist/components/togglegroup/ToggleGroup.spec.js +1 -1
  253. package/dist/components/togglegroup/ToggleGroup.svelte +3 -3
  254. package/dist/components/tooltip/Tooltip.js +1 -1
  255. package/dist/components/tooltip/Tooltip.js.map +1 -1
  256. package/dist/components/tooltip/Tooltip.spec.js +1 -1
  257. package/dist/components/tooltip/Tooltip.svelte +3 -7
  258. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  259. package/dist/custom-element-forward-events.js +1 -1
  260. package/dist/custom-element-forward-events.js.map +1 -1
  261. package/dist/custom-element.js +3 -3
  262. package/dist/custom-element.js.map +1 -1
  263. package/dist/documentation/Introduction.mdx +13 -4
  264. package/dist/documentation/Svelte/Introduction.mdx +1 -1
  265. package/dist/documentation/Svelte/usingPresets.mdx +7 -9
  266. package/dist/documentation/WebComponents/Introduction.mdx +0 -1
  267. package/dist/documentation/WebComponents/usingIcons.mdx +2 -3
  268. package/dist/documentation/WebComponents/usingPresets.mdx +5 -7
  269. package/dist/each.js +1 -1
  270. package/dist/each.js.map +1 -1
  271. package/dist/if.js +1 -1
  272. package/dist/if.js.map +1 -1
  273. package/dist/input.js +1 -1
  274. package/dist/input.js.map +1 -1
  275. package/dist/legacy.js +1 -1
  276. package/dist/main.d.ts +8 -6
  277. package/dist/main.d.ts.map +1 -1
  278. package/dist/main.js +8 -6
  279. package/dist/slot.js +1 -1
  280. package/dist/slot.js.map +1 -1
  281. package/dist/svelte-component.js +2 -0
  282. package/dist/svelte-component.js.map +1 -0
  283. package/dist/this.js +1 -1
  284. package/dist/this.js.map +1 -1
  285. package/dist/utils/custom-element-forward-events.d.ts.map +1 -1
  286. package/package.json +34 -35
  287. package/dist/components/tags/README.md +0 -9
  288. package/dist/components/tags/Tag.js +0 -4
  289. package/dist/components/tags/Tag.js.map +0 -1
  290. package/dist/components/tags/Tag.svelte +0 -218
  291. package/dist/components/tags/Tag.svelte.d.ts +0 -9
  292. package/dist/components/tags/Tag.svelte.d.ts.map +0 -1
  293. package/dist/components/tags/TagContextualised.js +0 -4
  294. package/dist/components/tags/TagContextualised.js.map +0 -1
  295. package/dist/components/tags/TagContextualised.svelte +0 -239
  296. package/dist/components/tags/TagContextualised.svelte.d.ts +0 -11
  297. package/dist/components/tags/TagContextualised.svelte.d.ts.map +0 -1
  298. package/dist/components/tags/TagInteractive.js +0 -4
  299. package/dist/components/tags/TagInteractive.js.map +0 -1
  300. package/dist/components/tags/TagInteractive.svelte +0 -223
  301. package/dist/components/tags/TagInteractive.svelte.d.ts +0 -10
  302. package/dist/components/tags/TagInteractive.svelte.d.ts.map +0 -1
  303. package/dist/components/tags/TagRemovable.js +0 -4
  304. package/dist/components/tags/TagRemovable.js.map +0 -1
  305. package/dist/components/tags/TagRemovable.svelte.d.ts +0 -11
  306. package/dist/components/tags/TagRemovable.svelte.d.ts.map +0 -1
  307. package/dist/components/tags/TagSelectable.js +0 -4
  308. package/dist/components/tags/TagSelectable.js.map +0 -1
  309. package/dist/components/tags/TagSelectable.svelte +0 -247
  310. package/dist/components/tags/TagSelectable.svelte.d.ts +0 -13
  311. package/dist/components/tags/TagSelectable.svelte.d.ts.map +0 -1
  312. package/dist/components/tags/Tags.stories.d.ts +0 -5
  313. package/dist/components/tags/Tags.stories.d.ts.map +0 -1
  314. package/dist/components/tags/Tags.stories.js +0 -41
  315. package/dist/components/tags/TagsContextualised.stories.d.ts +0 -5
  316. package/dist/components/tags/TagsContextualised.stories.d.ts.map +0 -1
  317. package/dist/components/tags/TagsContextualised.stories.js +0 -57
  318. package/dist/components/tags/TagsInteractive.stories.d.ts +0 -5
  319. package/dist/components/tags/TagsInteractive.stories.d.ts.map +0 -1
  320. package/dist/components/tags/TagsInteractive.stories.js +0 -61
  321. package/dist/components/tags/TagsRemovable.stories.d.ts +0 -5
  322. package/dist/components/tags/TagsRemovable.stories.d.ts.map +0 -1
  323. package/dist/components/tags/TagsRemovable.stories.js +0 -62
  324. package/dist/components/tags/TagsSelectable.stories.d.ts +0 -5
  325. package/dist/components/tags/TagsSelectable.stories.d.ts.map +0 -1
  326. package/dist/components/tags/TagsSelectable.stories.js +0 -76
@@ -7,20 +7,18 @@ describe('m-field component', () => {
7
7
  label: 'Email Address',
8
8
  };
9
9
  it('renders label with for attribute', () => {
10
- const { getByText } = render(Field, {
11
- props: baseProps,
12
- });
10
+ const { getByText } = render(Field, { props: baseProps });
13
11
  const label = getByText('Email Address');
14
12
  expect(label).toBeInTheDocument();
13
+ expect(label.getAttribute('for')).toBe('email');
15
14
  });
16
15
  it('renders requirement text when provided', () => {
17
16
  const { getByText } = render(Field, {
18
- props: {
19
- ...baseProps,
20
- requirementtext: '(required)',
21
- },
17
+ props: { ...baseProps, requirementtext: '(required)' },
22
18
  });
23
- expect(getByText('(required)')).toBeInTheDocument();
19
+ const req = getByText('(required)');
20
+ expect(req).toBeInTheDocument();
21
+ expect(req.classList.contains('mc-field__requirement')).toBe(true);
24
22
  });
25
23
  it('renders help text when helpid and helptext are provided', () => {
26
24
  const { getByText } = render(Field, {
@@ -33,8 +31,9 @@ describe('m-field component', () => {
33
31
  const helpText = getByText('We will not share your email.');
34
32
  expect(helpText).toBeInTheDocument();
35
33
  expect(helpText.id).toBe('email-help');
34
+ expect(helpText.classList.contains('mc-field__help')).toBe(true);
36
35
  });
37
- it('shows validation message with correct state', () => {
36
+ it('shows validation message with invalid state', () => {
38
37
  const { getByText } = render(Field, {
39
38
  props: {
40
39
  ...baseProps,
@@ -47,5 +46,53 @@ describe('m-field component', () => {
47
46
  expect(validation).toBeInTheDocument();
48
47
  expect(validation.id).toBe('validation-msg');
49
48
  expect(validation.classList.contains('is-invalid')).toBe(true);
49
+ expect(validation.classList.contains('is-valid')).toBe(false);
50
+ });
51
+ it('shows validation message with valid state', () => {
52
+ const { getByText } = render(Field, {
53
+ props: {
54
+ ...baseProps,
55
+ message: 'Looks good!',
56
+ messageid: 'validation-msg-valid',
57
+ isvalid: true,
58
+ },
59
+ });
60
+ const validation = getByText('Looks good!');
61
+ expect(validation).toBeInTheDocument();
62
+ expect(validation.id).toBe('validation-msg-valid');
63
+ expect(validation.classList.contains('is-valid')).toBe(true);
64
+ expect(validation.classList.contains('is-invalid')).toBe(false);
65
+ });
66
+ it('renders loader when isloading is true', () => {
67
+ const { container, getByText } = render(Field, {
68
+ props: {
69
+ ...baseProps,
70
+ message: 'Loading...',
71
+ messageid: 'loading-msg',
72
+ isloading: true,
73
+ },
74
+ });
75
+ const validation = getByText('Loading...');
76
+ expect(validation).toBeInTheDocument();
77
+ const loader = container.querySelector('m-loader, .mc-loader');
78
+ expect(loader).toBeTruthy();
79
+ });
80
+ it('does not render validation message if not valid, invalid, or loading', () => {
81
+ const { container } = render(Field, {
82
+ props: {
83
+ ...baseProps,
84
+ message: 'Should not appear',
85
+ messageid: 'msg-id',
86
+ },
87
+ });
88
+ const validation = container.querySelector('.mc-field__validation-message');
89
+ expect(validation).toBeNull();
90
+ });
91
+ it('does not render help text when helpid is missing', () => {
92
+ const { container } = render(Field, {
93
+ props: { ...baseProps, helptext: 'Missing ID!' },
94
+ });
95
+ const help = container.querySelector('.mc-field__help');
96
+ expect(help).toBeNull();
50
97
  });
51
98
  });
@@ -7,4 +7,5 @@ export declare const Input: Story;
7
7
  export declare const InputFull: Story;
8
8
  export declare const InputValid: Story;
9
9
  export declare const InputInvalid: Story;
10
+ export declare const InputLoading: Story;
10
11
  //# sourceMappingURL=Field.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Field.stories.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IA4BX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAavB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAexB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAC"}
1
+ {"version":3,"file":"Field.stories.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IA6BX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAWnB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAavB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAexB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAgB1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC"}
@@ -23,6 +23,7 @@ const meta = {
23
23
  helpid=${ifDefined(args.helpid)}
24
24
  isvalid=${ifDefined(args.isvalid)}
25
25
  isinvalid=${ifDefined(args.isinvalid)}
26
+ isloading=${ifDefined(args.isloading)}
26
27
  messageid=${ifDefined(args.messageid)}
27
28
  message=${ifDefined(args.message)}
28
29
  >
@@ -91,3 +92,17 @@ export const InputInvalid = {
91
92
  `,
92
93
  },
93
94
  };
95
+ export const InputLoading = {
96
+ args: {
97
+ label: 'Label',
98
+ id: 'inputLoadingId',
99
+ isloading: true,
100
+ message: 'Loading message (Be concise and use comprehensive words).',
101
+ default: `
102
+ <m-textinput
103
+ id="inputInvalidId"
104
+ placeholder="Placeholder"
105
+ ></m-textinput>
106
+ `,
107
+ },
108
+ };
@@ -5,6 +5,8 @@
5
5
  />
6
6
 
7
7
  <script lang="ts">
8
+ import Loader from '../loader/Loader.svelte';
9
+
8
10
  /**
9
11
  * A field label is a text element that identifies the purpose of an input field, providing users with clear guidance on what information to enter. It is typically placed above the input field and may include indicators for required or optional fields. Field Labels improve form usability, accessibility, and data entry accuracy by ensuring users understand the expected input.
10
12
  *
@@ -39,6 +41,10 @@
39
41
  * If `true`, applies an invalid state to the form field.
40
42
  */
41
43
  isinvalid?: boolean;
44
+ /**
45
+ * If `true`, applies a loading state to the form field.
46
+ */
47
+ isloading?: boolean;
42
48
  /**
43
49
  * The value of the `id` attribute set on the **validationMessage** element. _This value is mandatory when using a validationMessage in order to guarantee the accessibility of the component._
44
50
  */
@@ -59,6 +65,7 @@
59
65
  message,
60
66
  isinvalid,
61
67
  isvalid,
68
+ isloading,
62
69
  }: Props = $props();
63
70
  </script>
64
71
 
@@ -82,15 +89,14 @@
82
89
  <slot />
83
90
  </div>
84
91
 
85
- {#if isinvalid || isvalid}
92
+ {#if isinvalid || isvalid || isloading}
86
93
  <span
87
94
  id={messageid}
88
- class={[
89
- 'mc-field__validation-message',
90
- isvalid && 'is-valid',
91
- isinvalid && 'is-invalid',
92
- ]}
95
+ class={['mc-field__validation-message', isvalid && 'is-valid', isinvalid && 'is-invalid']}
93
96
  >
97
+ {#if isloading}
98
+ <Loader size="xs" />
99
+ {/if}
94
100
  {message}
95
101
  </span>
96
102
  {/if}
@@ -32,6 +32,10 @@ interface Props {
32
32
  * If `true`, applies an invalid state to the form field.
33
33
  */
34
34
  isinvalid?: boolean;
35
+ /**
36
+ * If `true`, applies a loading state to the form field.
37
+ */
38
+ isloading?: boolean;
35
39
  /**
36
40
  * The value of the `id` attribute set on the **validationMessage** element. _This value is mandatory when using a validationMessage in order to guarantee the accessibility of the component._
37
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Field.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwDH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,KAAK;;;;;;UAAqF,CAAC;AAC/E,KAAK,KAAK,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"Field.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/field/Field.svelte.ts"],"names":[],"mappings":"AAME;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAyDH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,KAAK;;;;;;UAAqF,CAAC;AAC/E,KAAK,KAAK,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,eAAe,KAAK,CAAC"}
@@ -13,6 +13,7 @@ A field label is a text element that identifies the purpose of an input field, p
13
13
  | `helpid` | The value of the `id` attribute set on the **helpText** element. _This value is mandatory when using a helpText in order to guarantee the accessibility of the component._ | `string` | |
14
14
  | `isvalid` | If `true`, applies a valid state to the form field. | `boolean` | |
15
15
  | `isinvalid` | If `true`, applies an invalid state to the form field. | `boolean` | |
16
+ | `isloading` | If `true`, applies a loading state to the form field. | `boolean` | |
16
17
  | `messageid` | The value of the `id` attribute set on the **validationMessage** element. _This value is mandatory when using a validationMessage in order to guarantee the accessibility of the component._ | `string` | |
17
18
  | `message` | message displayed when the form field has a valid or invalid state, usually indicating validation or errors. | `string` | |
18
19
 
@@ -1,4 +1,4 @@
1
- import{c as v,p,a as u,b as c,f as m,t as b,i as h,j as x,k as o,d as f,r as g,e as k,g as _,h as w}from"../../custom-element.js";var y=m('<div><span class="mc-flag__label"> </span></div>');const z={hash:"svelte-1e4tn4t",code:`/**
1
+ import{c as v,p,a as u,b as o,f as m,t as b,i as h,j as x,k as c,d as f,r as g,e as k,g as _,h as w}from"../../custom-element.js";var y=m('<div><span class="mc-flag__label"> </span></div>');const z={hash:"svelte-1e4tn4t",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-flag.svelte-1e4tn4t {padding:0 0.5rem;border-radius:var(--radius-xs, 0.125rem);white-space:nowrap;font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-s, 1.3);height:1.5rem;display:inline-flex;align-items:center;color:var(--flag-color-text-standard, #ffffff);background-color:var(--flag-color-background-standard, #191919);}.mc-flag--accent.svelte-1e4tn4t {color:var(--flag-color-text-accent, #ffffff);background-color:var(--flag-color-background-accent, #117f03);}.mc-flag--danger.svelte-1e4tn4t {color:var(--flag-color-text-danger, #ffffff);background-color:var(--flag-color-background-danger, #c61112);}.mc-flag--inverse.svelte-1e4tn4t {color:var(--flag-color-text-inverse, #000000);background-color:var(--flag-color-background-inverse, #ffffff);}`};function j(n,a){p(a,!0),u(n,z);let r=c(a,"appearance",7,"standard"),t=c(a,"label",7);var d={get appearance(){return r()},set appearance(l="standard"){r(l),o()},get label(){return t()},set label(l){t(l),o()}},e=y(),s=f(e),i=f(s,!0);return g(s),g(e),b(()=>{k(e,1,_(["mc-flag",`mc-flag--${r()}`]),"svelte-1e4tn4t"),w(i,t())}),h(n,e),x(d)}customElements.define("m-flag",v(j,{appearance:{},label:{}},[],[],!0));
3
+ */.mc-flag.svelte-1e4tn4t {padding:0 0.5rem;border-radius:var(--border-radius-xs, 0.125rem);white-space:nowrap;font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-s, 1.3);height:1.5rem;display:inline-flex;align-items:center;color:var(--flag-color-text-standard, #ffffff);background-color:var(--flag-color-background-standard, #191919);}.mc-flag--accent.svelte-1e4tn4t {color:var(--flag-color-text-accent, #ffffff);background-color:var(--flag-color-background-accent, #117f03);}.mc-flag--danger.svelte-1e4tn4t {color:var(--flag-color-text-danger, #ffffff);background-color:var(--flag-color-background-danger, #c61112);}.mc-flag--inverse.svelte-1e4tn4t {color:var(--flag-color-text-inverse, #000000);background-color:var(--flag-color-background-inverse, #ffffff);}`};function j(n,a){p(a,!0),u(n,z);let r=o(a,"appearance",7,"standard"),t=o(a,"label",7);var d={get appearance(){return r()},set appearance(l="standard"){r(l),c()},get label(){return t()},set label(l){t(l),c()}},e=y(),s=f(e),i=f(s,!0);return g(s),g(e),b(()=>{k(e,1,_(["mc-flag",`mc-flag--${r()}`]),"svelte-1e4tn4t"),w(i,t())}),h(n,e),x(d)}customElements.define("m-flag",v(j,{appearance:{},label:{}},[],[],!0));
4
4
  //# sourceMappingURL=Flag.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Flag.js","sources":["../../../src/components/flag/Flag.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-flag' }} />\n\n<script lang=\"ts\">\n /**\n * A flag is used to display meta-information about a product or service, acting as a visual indicator of the main category of content. It is typically placed at the top of an element to ensure immediate visibility.\n */\n interface Props {\n /**\n * Label of the Flag.\n */\n label: string;\n /**\n * Allows to define the Flag appearance.\n */\n appearance?: 'danger' | 'accent' | 'inverse' | 'standard';\n }\n\n let { appearance = 'standard', label }: Props = $props();\n</script>\n\n<div class={['mc-flag', `mc-flag--${appearance}`]}>\n <span class=\"mc-flag__label\">\n {label}\n </span>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/flag';\n</style>\n"],"names":["appearance","label","$.prop","$$props","$.set_class","div","$.clsx"],"mappings":";;q0BAAA,gBAiBQ,IAAAA,qBAAa,UAAU,EAAEC,EAAKC,EAAAC,EAAA,QAAA,CAAA,uDAAjB,WAAU,0GAGlBC,EAAAC,EAAA,EAAAC,EAAA,CAAA,sBAAuBN,EAAU,CAAA,EAAA,CAAA,EAAA,gBAAA,MAEzCC,GAAK,eAJV"}
1
+ {"version":3,"file":"Flag.js","sources":["../../../src/components/flag/Flag.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-flag' }} />\n\n<script lang=\"ts\">\n /**\n * A flag is used to display meta-information about a product or service, acting as a visual indicator of the main category of content. It is typically placed at the top of an element to ensure immediate visibility.\n */\n interface Props {\n /**\n * Label of the Flag.\n */\n label: string;\n /**\n * Allows to define the Flag appearance.\n */\n appearance?: 'danger' | 'accent' | 'inverse' | 'standard';\n }\n\n let { appearance = 'standard', label }: Props = $props();\n</script>\n\n<div class={['mc-flag', `mc-flag--${appearance}`]}>\n <span class=\"mc-flag__label\">\n {label}\n </span>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/flag';\n</style>\n"],"names":["appearance","label","$.prop","$$props","$.set_class","div","$.clsx"],"mappings":";;40BAAA,gBAiBQ,IAAAA,qBAAa,UAAU,EAAEC,EAAKC,EAAAC,EAAA,QAAA,CAAA,uDAAjB,WAAU,0GAGlBC,EAAAC,EAAA,EAAAC,EAAA,CAAA,sBAAuBN,EAAU,CAAA,EAAA,CAAA,EAAA,gBAAA,MAEzCC,GAAK,eAJV"}
@@ -1 +1 @@
1
- {"version":3,"file":"Flag.stories.d.ts","sourceRoot":"","sources":["../../../src/components/flag/Flag.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,QAAA,MAAM,IAAI,EAAE,IAkBX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
1
+ {"version":3,"file":"Flag.stories.d.ts","sourceRoot":"","sources":["../../../src/components/flag/Flag.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,QAAA,MAAM,IAAI,EAAE,IAeX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,QAAQ,EAAE,KAAU,CAAC;AAElC,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAEpB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
@@ -13,10 +13,7 @@ const meta = {
13
13
  label: 'Flag label',
14
14
  },
15
15
  render: (args) => html `
16
- <m-flag
17
- label=${ifDefined(args.label)}
18
- appearance=${ifDefined(args.appearance)}
19
- ></m-flag>
16
+ <m-flag label=${ifDefined(args.label)} appearance=${ifDefined(args.appearance)}></m-flag>
20
17
  `,
21
18
  };
22
19
  export default meta;
@@ -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,D as p,d as w,i as y,j as x,k as e,r as _}from"../../custom-element.js";import{s as z}from"../../slot.js";import{b as j}from"../../attributes.js";var D=k("<button><!></button>");const I={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 B(s,t){h(t,!0),m(s,I);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=D();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(B,{appearance:{},size:{},type:{},ghost:{},outlined:{},disabled:{}},["icon"],[],!0));export{B 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 [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":";;qoWAAA,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,6FAbN"}
@@ -95,7 +95,7 @@
95
95
  vertical-align: middle;
96
96
  text-align: center;
97
97
  border: 2px solid transparent;
98
- border-radius: var(--button-radius, 0.25rem);
98
+ border-radius: var(--button-border-radius-s, 0.25rem);
99
99
  transition: all ease 200ms;
100
100
  transition: box-shadow 200ms ease;
101
101
  align-items: center;
@@ -259,7 +259,7 @@
259
259
  cursor: not-allowed;
260
260
  }
261
261
  .mc-button--icon-button {
262
- border-radius: var(--radius-full, 100%);
262
+ border-radius: var(--border-radius-full, 100%);
263
263
  padding: 0;
264
264
  }
265
265
  .mc-button--loading .mc-button__loader {
@@ -0,0 +1,5 @@
1
+ import{c as j,p as E,b as t,z as V,t as g,i as f,j as A,k as l,e as C,g as H,a as se,f as z,m as x,C as L,d as p,s as B,r as k,h as M,A as ae,B as oe}from"../../custom-element.js";import{i as y}from"../../if.js";import{c as ce}from"../../svelte-component.js";import"../../legacy.js";import{s as h,a as D}from"../../attributes.js";var ne=V('<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 F(b,r){E(r,!1);let c=t(r,"id",12,void 0),a=t(r,"style",12,void 0),o=t(r,"className",12,void 0),n=t(r,"fill",12,void 0),m=t(r,"size",12,"1.5rem");var d={get id(){return c()},set id(e){c(e),l()},get style(){return a()},set style(e){a(e),l()},get className(){return o()},set className(e){o(e),l()},get fill(){return n()},set fill(e){n(e),l()},get size(){return m()},set size(e){m(e),l()}},s=ne();return g(()=>{h(s,"id",c()),D(s,a()),C(s,0,H(o())),h(s,"fill",n())}),f(b,s),A(d)}customElements.define("arrow-bottom-right-24",j(F,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var me=V('<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 G(b,r){E(r,!1);let c=t(r,"id",12,void 0),a=t(r,"style",12,void 0),o=t(r,"className",12,void 0),n=t(r,"fill",12,void 0),m=t(r,"size",12,"1.5rem");var d={get id(){return c()},set id(e){c(e),l()},get style(){return a()},set style(e){a(e),l()},get className(){return o()},set className(e){o(e),l()},get fill(){return n()},set fill(e){n(e),l()},get size(){return m()},set size(e){m(e),l()}},s=me();return g(()=>{h(s,"id",c()),D(s,a()),C(s,0,H(o())),h(s,"fill",n())}),f(b,s),A(d)}customElements.define("arrow-top-right-24",j(G,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var de=V('<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="M6 12a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 1 0 0 1-1-1"></path></svg>');function J(b,r){E(r,!1);let c=t(r,"id",12,void 0),a=t(r,"style",12,void 0),o=t(r,"className",12,void 0),n=t(r,"fill",12,void 0),m=t(r,"size",12,"1.5rem");var d={get id(){return c()},set id(e){c(e),l()},get style(){return a()},set style(e){a(e),l()},get className(){return o()},set className(e){o(e),l()},get fill(){return n()},set fill(e){n(e),l()},get size(){return m()},set size(e){m(e),l()}},s=de();return g(()=>{h(s,"id",c()),D(s,a()),C(s,0,H(o())),h(s,"fill",n())}),f(b,s),A(d)}customElements.define("less-24",j(J,{id:{},style:{},className:{},fill:{},size:{}},[],[],!1));var ve=z('<span class="mc-kpi__label svelte-1fbscw7"> </span>'),fe=z('<span class="mc-kpi__label svelte-1fbscw7"> </span>'),be=z('<span class="mc-kpi__detail svelte-1fbscw7"> </span>'),pe=z('<div class="mc-kpi__aside svelte-1fbscw7"><!> <!></div>'),ke=z('<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 ue={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 ge(b,r){E(r,!0),se(b,ue);let c=t(r,"value",7),a=t(r,"trend",7),o=t(r,"label",7),n=t(r,"status",7,"info"),m=t(r,"information",7),d=t(r,"size",7,"s");const s=L(()=>d()==="m"),e=L(()=>d()==="l"),O={increasing:G,decreasing:F,stable:J},P=L(()=>a()?O[a()]:void 0),Q=L(()=>`mc-kpi mc-kpi--${d()} mc-kpi--${n()}`);var U={get value(){return c()},set value(i){c(i),l()},get trend(){return a()},set trend(i){a(i),l()},get label(){return o()},set label(i){o(i),l()},get status(){return n()},set status(i="info"){n(i),l()},get information(){return m()},set information(i){m(i),l()},get size(){return d()},set size(i="s"){d(i),l()}},N=ke(),K=p(N);{var W=i=>{var v=ve(),w=p(v,!0);k(v),g(()=>M(w,o())),f(i,v)};y(K,i=>{x(s)&&o()&&i(W)})}var S=B(K,2),I=p(S),T=p(I);{var X=i=>{var v=fe(),w=p(v,!0);k(v),g(()=>M(w,o())),f(i,v)};y(T,i=>{x(e)&&o()&&i(X)})}var q=B(T,2),Y=p(q,!0);k(q),k(I);var Z=B(I,2);{var $=i=>{var v=pe(),w=p(v);{var ee=u=>{var _=be(),R=p(_,!0);k(_),g(()=>M(R,m())),f(u,_)};y(w,u=>{x(e)&&m()&&u(ee)})}var re=B(w,2);{var ie=u=>{var _=ae(),R=oe(_);ce(R,()=>x(P),(te,le)=>{le(te,{className:"mc-kpi__icon",color:"black"})}),f(u,_)};y(re,u=>{a()&&u(ie)})}k(v),f(i,v)};y(Z,i=>{(a()||m())&&i($)})}return k(S),k(N),g(()=>{C(N,1,H(x(Q)),"svelte-1fbscw7"),M(Y,c())}),f(b,N),A(U)}customElements.define("m-kpi-item",j(ge,{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","../../../node_modules/@mozaic-ds/icons-svelte/dist/components/Less24/Less24.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: 'less-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=\"M6 12a1 1 0 0 1 1-1h10a1 1 0 1 1 0 2H7a1 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' }: 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}>\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","isMedium","$.derived","isLarge","iconMap","ArrowTopRight24","ArrowBottomRight24","Less24","IconComponent","rootClasses","$.get","$$render","consequent","consequent_1","consequent_2","consequent_3","consequent_4"],"mappings":"ynBAAA,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,+UCPA,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,QAE7DQ,EAAQC,EAAA,IAAYT,EAAI,IAAK,GAAG,EAChCU,EAAOD,EAAA,IAAYT,EAAI,IAAK,GAAG,EAE/BW,EAAuD,CAC3D,WAAYC,EACZ,WAAYC,EACZ,OAAQC,GAGJC,QAAyBX,EAAK,EAAGO,EAAQP,EAAK,GAAI,MAAS,EAE3DY,EAAWP,EAAA,IAAA,kBAA8BT,EAAI,CAAA,YAAYM,EAAM,CAAA,EAAA,4LAbjC,OAAM,wGAAsB,IAAG,yEAmB9DD,EAAK,CAAA,CAAA,kBAFLY,EAAAT,CAAQ,GAAIH,EAAK,GAAAa,EAAAC,CAAA,8EASbd,EAAK,CAAA,CAAA,kBAFLY,EAAAP,CAAO,GAAIL,EAAK,GAAAa,EAAAE,CAAA,+HAWdb,EAAW,CAAA,CAAA,kBAFXU,EAAAP,CAAO,GAAIH,EAAW,GAAAW,EAAAG,EAAA,4IAMtBjB,EAAK,GAAAc,EAAAI,EAAA,0BARTlB,EAAK,GAAIG,MAAWW,EAAAK,CAAA,sCAfjBP,CAAW,CAAA,EAAA,gBAAA,MAaYf,GAAK,eAfxC","x_google_ignoreList":[0,1,2]}
@@ -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,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ declare const meta: Meta;
3
+ export default meta;
4
+ type Story = StoryObj;
5
+ export declare const LargeWithIconAndInformation: Story;
6
+ export declare const MediumWithIconAndLabel: Story;
7
+ export declare const SmallWithIcon: Story;
8
+ //# 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;AAIrE,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,56 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ const meta = {
4
+ title: 'Status/Kpi Item',
5
+ component: 'm-kpi-item',
6
+ argTypes: {
7
+ status: {
8
+ control: 'radio',
9
+ options: ['info', 'success', 'warning', 'error', 'neutral'],
10
+ },
11
+ trend: {
12
+ control: { type: 'radio' },
13
+ options: [undefined, 'increasing', 'decreasing', 'stable'],
14
+ },
15
+ size: {
16
+ control: 'inline-radio',
17
+ options: ['s', 'm', 'l'],
18
+ },
19
+ },
20
+ args: {
21
+ value: '99.99%',
22
+ label: 'Label',
23
+ size: 's',
24
+ },
25
+ render: (args) => html `
26
+ <m-kpi-item
27
+ value=${args.value}
28
+ label=${ifDefined(args.label)}
29
+ information=${ifDefined(args.information)}
30
+ status=${ifDefined(args.status)}
31
+ trend=${ifDefined(args.trend)}
32
+ size=${ifDefined(args.size)}
33
+ >
34
+ </m-kpi-item>
35
+ `,
36
+ };
37
+ export default meta;
38
+ export const LargeWithIconAndInformation = {
39
+ args: {
40
+ trend: 'increasing',
41
+ information: '> 10% expected',
42
+ size: 'l',
43
+ },
44
+ };
45
+ export const MediumWithIconAndLabel = {
46
+ args: {
47
+ trend: 'increasing',
48
+ size: 'm',
49
+ },
50
+ };
51
+ export const SmallWithIcon = {
52
+ args: {
53
+ trend: 'increasing',
54
+ size: 's',
55
+ },
56
+ };