@mozaic-ds/web-components 1.5.1 → 1.6.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 (367) hide show
  1. package/dist/Condition20.js +1 -1
  2. package/dist/Condition20.js.map +1 -1
  3. package/dist/accordion-list.state.svelte.js +1 -1
  4. package/dist/attributes.js +1 -1
  5. package/dist/attributes.js.map +1 -1
  6. package/dist/branches.js +1 -1
  7. package/dist/branches.js.map +1 -1
  8. package/dist/bundle.d.ts +14 -0
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +14 -0
  11. package/dist/components/accordionlist/AccordionList.js +4 -4
  12. package/dist/components/accordionlist/AccordionList.js.map +1 -1
  13. package/dist/components/accordionlist/AccordionList.stories.js +2 -2
  14. package/dist/components/accordionlist/AccordionList.svelte +19 -17
  15. package/dist/components/accordionlistItem/AccordionListItem.js +4 -4
  16. package/dist/components/accordionlistItem/AccordionListItem.js.map +1 -1
  17. package/dist/components/accordionlistItem/AccordionListItem.svelte +19 -17
  18. package/dist/components/actionbottombar/ActionBottomBar.js +2 -2
  19. package/dist/components/actionlistbox/ActionListbox.js +6 -4
  20. package/dist/components/actionlistbox/ActionListbox.js.map +1 -1
  21. package/dist/components/actionlistbox/ActionListbox.spec.js +73 -16
  22. package/dist/components/actionlistbox/ActionListbox.stories.d.ts +2 -0
  23. package/dist/components/actionlistbox/ActionListbox.stories.d.ts.map +1 -1
  24. package/dist/components/actionlistbox/ActionListbox.stories.js +73 -2
  25. package/dist/components/actionlistbox/ActionListbox.svelte +157 -11
  26. package/dist/components/actionlistbox/ActionListbox.svelte.d.ts +11 -1
  27. package/dist/components/actionlistbox/ActionListbox.svelte.d.ts.map +1 -1
  28. package/dist/components/actionlistbox/README.md +3 -0
  29. package/dist/components/actionlistboxitem/ActionListboxItem.js +2 -2
  30. package/dist/components/actionlistboxitem/ActionListboxItem.js.map +1 -1
  31. package/dist/components/actionlistboxitem/ActionListboxItem.svelte +21 -5
  32. package/dist/components/actionlistboxitem/ActionListboxItem.svelte.d.ts +6 -1
  33. package/dist/components/actionlistboxitem/ActionListboxItem.svelte.d.ts.map +1 -1
  34. package/dist/components/avatar/Avatar.js +2 -2
  35. package/dist/components/breadcrumb/Breadcrumb.js +4 -6
  36. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  37. package/dist/components/breadcrumb/Breadcrumb.svelte +7 -14
  38. package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  39. package/dist/components/builtinmenu/BuiltInMenu.js +2 -2
  40. package/dist/components/builtinmenu/BuiltInMenu.stories.d.ts +1 -1
  41. package/dist/components/builtinmenu/BuiltInMenu.stories.d.ts.map +1 -1
  42. package/dist/components/builtinmenu/BuiltInMenu.stories.js +2 -2
  43. package/dist/components/builtinmenu/BuiltInMenu.svelte +1 -1
  44. package/dist/components/builtinmenuitem/BuiltInMenuItem.js +3 -3
  45. package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte +1 -1
  46. package/dist/components/button/Button.js +3 -3
  47. package/dist/components/button/Button.js.map +1 -1
  48. package/dist/components/button/Button.svelte +16 -1
  49. package/dist/components/button/Button.svelte.d.ts +6 -1
  50. package/dist/components/button/Button.svelte.d.ts.map +1 -1
  51. package/dist/components/callout/Callout.js +2 -2
  52. package/dist/components/callout/Callout.stories.d.ts +3 -3
  53. package/dist/components/callout/Callout.stories.d.ts.map +1 -1
  54. package/dist/components/callout/Callout.stories.js +3 -3
  55. package/dist/components/carousel/Carousel.js +2 -2
  56. package/dist/components/carousel/Carousel.js.map +1 -1
  57. package/dist/components/carousel/Carousel.svelte +1 -0
  58. package/dist/components/checkbox/Checkbox.js +4 -4
  59. package/dist/components/checkbox/Checkbox.js.map +1 -1
  60. package/dist/components/checkbox/Checkbox.svelte +30 -10
  61. package/dist/components/checkboxgroup/CheckboxGroup.js +4 -4
  62. package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
  63. package/dist/components/checkboxgroup/CheckboxGroup.svelte +30 -10
  64. package/dist/components/checklistmenu/CheckListMenu.js +2 -2
  65. package/dist/components/checklistmenu/CheckListMenu.js.map +1 -1
  66. package/dist/components/checklistmenu/CheckListMenu.stories.js +1 -1
  67. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  68. package/dist/components/container/Container.js +2 -2
  69. package/dist/components/datepicker/Datepicker.js +3 -3
  70. package/dist/components/datepicker/Datepicker.js.map +1 -1
  71. package/dist/components/datepicker/Datepicker.stories.d.ts +1 -1
  72. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  73. package/dist/components/datepicker/Datepicker.stories.js +2 -2
  74. package/dist/components/datepicker/Datepicker.svelte +32 -8
  75. package/dist/components/divider/Divider.js +2 -2
  76. package/dist/components/divider/Divider.js.map +1 -1
  77. package/dist/components/divider/Divider.svelte +6 -1
  78. package/dist/components/divider/Divider.svelte.d.ts.map +1 -1
  79. package/dist/components/drawer/Drawer.js +2 -2
  80. package/dist/components/drawer/Drawer.js.map +1 -1
  81. package/dist/components/drawer/Drawer.svelte +4 -1
  82. package/dist/components/field/Field.js +3 -3
  83. package/dist/components/field/Field.js.map +1 -1
  84. package/dist/components/field/Field.spec.js +1 -1
  85. package/dist/components/field/Field.svelte +7 -3
  86. package/dist/components/fileuploader/FileUploader.js +2 -2
  87. package/dist/components/fileuploader/FileUploader.js.map +1 -1
  88. package/dist/components/fileuploader/FileUploader.stories.js +3 -3
  89. package/dist/components/fileuploader/FileUploader.svelte +4 -1
  90. package/dist/components/fileuploaderitem/FileUploaderItem.js +2 -2
  91. package/dist/components/flag/Flag.js +2 -2
  92. package/dist/components/iconbutton/IconButton.js +2 -2
  93. package/dist/components/iconbutton/IconButton.js.map +1 -1
  94. package/dist/components/iconbutton/IconButton.svelte +11 -1
  95. package/dist/components/iconbutton/IconButton.svelte.d.ts +3 -1
  96. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  97. package/dist/components/kpiitem/KpiItem.js +2 -2
  98. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  99. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  100. package/dist/components/link/Link.js +2 -2
  101. package/dist/components/link/Link.stories.js +2 -2
  102. package/dist/components/loader/Loader.js +2 -2
  103. package/dist/components/loadingoverlay/LoadingOverlay.js +2 -2
  104. package/dist/components/modal/Modal.js +3 -3
  105. package/dist/components/modal/Modal.js.map +1 -1
  106. package/dist/components/modal/Modal.svelte +5 -1
  107. package/dist/components/navigationindicator/NavigationIndicator.js +4 -0
  108. package/dist/components/navigationindicator/NavigationIndicator.js.map +1 -0
  109. package/dist/components/navigationindicator/NavigationIndicator.spec.js +130 -0
  110. package/dist/components/navigationindicator/NavigationIndicator.stories.d.ts +8 -0
  111. package/dist/components/navigationindicator/NavigationIndicator.stories.d.ts.map +1 -0
  112. package/dist/components/navigationindicator/NavigationIndicator.stories.js +40 -0
  113. package/dist/components/navigationindicator/NavigationIndicator.svelte +156 -0
  114. package/dist/components/navigationindicator/NavigationIndicator.svelte.d.ts +34 -0
  115. package/dist/components/navigationindicator/NavigationIndicator.svelte.d.ts.map +1 -0
  116. package/dist/components/navigationindicator/README.md +21 -0
  117. package/dist/components/numberbadge/NumberBadge.js +2 -2
  118. package/dist/components/overlay/Overlay.js +2 -2
  119. package/dist/components/pageheader/PageHeader.js +24 -0
  120. package/dist/components/pageheader/PageHeader.js.map +1 -0
  121. package/dist/components/pageheader/PageHeader.spec.js +75 -0
  122. package/dist/components/pageheader/PageHeader.stories.d.ts +12 -0
  123. package/dist/components/pageheader/PageHeader.stories.d.ts.map +1 -0
  124. package/dist/components/pageheader/PageHeader.stories.js +82 -0
  125. package/dist/components/pageheader/PageHeader.svelte +268 -0
  126. package/dist/components/pageheader/PageHeader.svelte.d.ts +66 -0
  127. package/dist/components/pageheader/PageHeader.svelte.d.ts.map +1 -0
  128. package/dist/components/pageheader/README.md +32 -0
  129. package/dist/components/pagination/Pagination.js +8 -8
  130. package/dist/components/pagination/Pagination.js.map +1 -1
  131. package/dist/components/pagination/Pagination.svelte +44 -28
  132. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  133. package/dist/components/passwordinput/PasswordInput.js +3 -3
  134. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  135. package/dist/components/passwordinput/PasswordInput.stories.d.ts +1 -1
  136. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  137. package/dist/components/passwordinput/PasswordInput.stories.js +2 -2
  138. package/dist/components/passwordinput/PasswordInput.svelte +14 -5
  139. package/dist/components/phonenumber/PhoneNumber.js +13 -11
  140. package/dist/components/phonenumber/PhoneNumber.js.map +1 -1
  141. package/dist/components/phonenumber/PhoneNumber.stories.d.ts +1 -1
  142. package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -1
  143. package/dist/components/phonenumber/PhoneNumber.stories.js +2 -2
  144. package/dist/components/phonenumber/PhoneNumber.svelte +84 -37
  145. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -1
  146. package/dist/components/pincode/Pincode.js +2 -2
  147. package/dist/components/pincode/Pincode.js.map +1 -1
  148. package/dist/components/pincode/Pincode.stories.d.ts +1 -1
  149. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  150. package/dist/components/pincode/Pincode.stories.js +2 -2
  151. package/dist/components/popover/Popover.js +6 -0
  152. package/dist/components/popover/Popover.js.map +1 -0
  153. package/dist/components/popover/Popover.spec.js +69 -0
  154. package/dist/components/popover/Popover.stories.d.ts +36 -0
  155. package/dist/components/popover/Popover.stories.d.ts.map +1 -0
  156. package/dist/components/popover/Popover.stories.js +124 -0
  157. package/dist/components/popover/Popover.svelte +348 -0
  158. package/dist/components/popover/Popover.svelte.d.ts +79 -0
  159. package/dist/components/popover/Popover.svelte.d.ts.map +1 -0
  160. package/dist/components/popover/README.md +25 -0
  161. package/dist/components/quantityselector/QuantitySelector.js +2 -2
  162. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  163. package/dist/components/quantityselector/QuantitySelector.stories.js +1 -1
  164. package/dist/components/quantityselector/QuantitySelector.svelte +3 -3
  165. package/dist/components/radio/Radio.js +2 -2
  166. package/dist/components/radio/Radio.js.map +1 -1
  167. package/dist/components/radiogroup/RadioGroup.js +2 -2
  168. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  169. package/dist/components/radiogroup/RadioGroup.svelte +6 -2
  170. package/dist/components/segmentedcontrol/SegmentedControl.js +2 -2
  171. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -1
  172. package/dist/components/select/Select.js +3 -3
  173. package/dist/components/select/Select.js.map +1 -1
  174. package/dist/components/select/Select.spec.js +2 -2
  175. package/dist/components/select/Select.stories.d.ts +1 -1
  176. package/dist/components/select/Select.stories.d.ts.map +1 -1
  177. package/dist/components/select/Select.stories.js +2 -2
  178. package/dist/components/select/Select.svelte +50 -31
  179. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  180. package/dist/components/sidebar/README.md +28 -0
  181. package/dist/components/sidebar/Sidebar.js +18 -0
  182. package/dist/components/sidebar/Sidebar.js.map +1 -0
  183. package/dist/components/sidebar/Sidebar.spec.js +74 -0
  184. package/dist/components/sidebar/Sidebar.stories.d.ts +23 -0
  185. package/dist/components/sidebar/Sidebar.stories.d.ts.map +1 -0
  186. package/dist/components/sidebar/Sidebar.stories.js +333 -0
  187. package/dist/components/sidebar/Sidebar.svelte +570 -0
  188. package/dist/components/sidebar/Sidebar.svelte.d.ts +47 -0
  189. package/dist/components/sidebar/Sidebar.svelte.d.ts.map +1 -0
  190. package/dist/components/sidebar/floating-item.spec.js +96 -0
  191. package/dist/components/sidebar/floating-item.svelte.d.ts +13 -0
  192. package/dist/components/sidebar/floating-item.svelte.d.ts.map +1 -0
  193. package/dist/components/sidebar/floating-item.svelte.js +95 -0
  194. package/dist/components/sidebar/sidebar-state.spec.js +112 -0
  195. package/dist/components/sidebar/sidebar-state.svelte.d.ts +9 -0
  196. package/dist/components/sidebar/sidebar-state.svelte.d.ts.map +1 -0
  197. package/dist/components/sidebar/sidebar-state.svelte.js +36 -0
  198. package/dist/components/sidebarexpandableitem/README.md +19 -0
  199. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.js +18 -0
  200. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.js.map +1 -0
  201. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.spec.js +85 -0
  202. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.svelte +578 -0
  203. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.svelte.d.ts +49 -0
  204. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.svelte.d.ts.map +1 -0
  205. package/dist/components/sidebarfooter/README.md +29 -0
  206. package/dist/components/sidebarfooter/SidebarFooter.js +18 -0
  207. package/dist/components/sidebarfooter/SidebarFooter.js.map +1 -0
  208. package/dist/components/sidebarfooter/SidebarFooter.spec.js +132 -0
  209. package/dist/components/sidebarfooter/SidebarFooter.svelte +1018 -0
  210. package/dist/components/sidebarfooter/SidebarFooter.svelte.d.ts +60 -0
  211. package/dist/components/sidebarfooter/SidebarFooter.svelte.d.ts.map +1 -0
  212. package/dist/components/sidebarfooter/_SidebarFooterMenu.js +18 -0
  213. package/dist/components/sidebarfooter/_SidebarFooterMenu.js.map +1 -0
  214. package/dist/components/sidebarfooter/_SidebarFooterMenu.svelte +517 -0
  215. package/dist/components/sidebarfooter/_SidebarFooterMenu.svelte.d.ts +36 -0
  216. package/dist/components/sidebarfooter/_SidebarFooterMenu.svelte.d.ts.map +1 -0
  217. package/dist/components/sidebarheader/README.md +11 -0
  218. package/dist/components/sidebarheader/SidebarHeader.js +18 -0
  219. package/dist/components/sidebarheader/SidebarHeader.js.map +1 -0
  220. package/dist/components/sidebarheader/SidebarHeader.spec.js +37 -0
  221. package/dist/components/sidebarheader/SidebarHeader.svelte +499 -0
  222. package/dist/components/sidebarheader/SidebarHeader.svelte.d.ts +17 -0
  223. package/dist/components/sidebarheader/SidebarHeader.svelte.d.ts.map +1 -0
  224. package/dist/components/sidebarnavitem/README.md +30 -0
  225. package/dist/components/sidebarnavitem/SidebarNavItem.js +18 -0
  226. package/dist/components/sidebarnavitem/SidebarNavItem.js.map +1 -0
  227. package/dist/components/sidebarnavitem/SidebarNavItem.spec.js +95 -0
  228. package/dist/components/sidebarnavitem/SidebarNavItem.svelte +617 -0
  229. package/dist/components/sidebarnavitem/SidebarNavItem.svelte.d.ts +58 -0
  230. package/dist/components/sidebarnavitem/SidebarNavItem.svelte.d.ts.map +1 -0
  231. package/dist/components/sidebarshortcutitem/README.md +17 -0
  232. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.js +18 -0
  233. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.js.map +1 -0
  234. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.spec.js +34 -0
  235. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.svelte +509 -0
  236. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.svelte.d.ts +35 -0
  237. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.svelte.d.ts.map +1 -0
  238. package/dist/components/sidebarshortcuts/README.md +23 -0
  239. package/dist/components/sidebarshortcuts/SidebarShortcuts.js +18 -0
  240. package/dist/components/sidebarshortcuts/SidebarShortcuts.js.map +1 -0
  241. package/dist/components/sidebarshortcuts/SidebarShortcuts.spec.js +82 -0
  242. package/dist/components/sidebarshortcuts/SidebarShortcuts.svelte +583 -0
  243. package/dist/components/sidebarshortcuts/SidebarShortcuts.svelte.d.ts +42 -0
  244. package/dist/components/sidebarshortcuts/SidebarShortcuts.svelte.d.ts.map +1 -0
  245. package/dist/components/starrating/StarRating.js +2 -2
  246. package/dist/components/starrating/StarRating.js.map +1 -1
  247. package/dist/components/starrating/StarRating.stories.d.ts +5 -5
  248. package/dist/components/starrating/StarRating.stories.d.ts.map +1 -1
  249. package/dist/components/starrating/StarRating.stories.js +5 -5
  250. package/dist/components/statusbadge/StatusBadge.js +2 -2
  251. package/dist/components/statusdot/StatusDot.js +2 -2
  252. package/dist/components/statusmessage/StatusMessage.js +2 -2
  253. package/dist/components/statusnotification/StatusNotification.js +2 -2
  254. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  255. package/dist/components/statusnotification/StatusNotification.stories.d.ts +3 -3
  256. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  257. package/dist/components/statusnotification/StatusNotification.stories.js +3 -3
  258. package/dist/components/statusnotification/StatusNotification.svelte +4 -1
  259. package/dist/components/stepperbottombar/StepperBottomBar.js +3 -3
  260. package/dist/components/stepperbottombar/StepperBottomBar.svelte +5 -1
  261. package/dist/components/stepperbottombar/StepperBottomBar.svelte.d.ts +1 -1
  262. package/dist/components/steppercompact/StepperCompact.js +2 -2
  263. package/dist/components/stepperinline/StepperInline.js +3 -3
  264. package/dist/components/stepperinline/StepperInline.svelte +1 -1
  265. package/dist/components/stepperinline/StepperInline.svelte.d.ts +1 -1
  266. package/dist/components/tab/Tab.js +2 -2
  267. package/dist/components/tabs/Tabs.js +2 -2
  268. package/dist/components/tabs/Tabs.stories.js +1 -1
  269. package/dist/components/tag/Tag.js +2 -2
  270. package/dist/components/tag/Tag.js.map +1 -1
  271. package/dist/components/tag/Tag.svelte +8 -5
  272. package/dist/components/textarea/Textarea.js +2 -2
  273. package/dist/components/textarea/Textarea.js.map +1 -1
  274. package/dist/components/textarea/Textarea.stories.d.ts +1 -1
  275. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  276. package/dist/components/textarea/Textarea.stories.js +2 -2
  277. package/dist/components/textinput/README.md +2 -0
  278. package/dist/components/textinput/Textinput.js +3 -3
  279. package/dist/components/textinput/Textinput.js.map +1 -1
  280. package/dist/components/textinput/Textinput.stories.d.ts +11 -1
  281. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  282. package/dist/components/textinput/Textinput.stories.js +20 -29
  283. package/dist/components/textinput/Textinput.svelte +28 -4
  284. package/dist/components/textinput/Textinput.svelte.d.ts +8 -0
  285. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  286. package/dist/components/tile/README.md +19 -0
  287. package/dist/components/tile/Tile.js +111 -0
  288. package/dist/components/tile/Tile.js.map +1 -0
  289. package/dist/components/tile/Tile.spec.js +21 -0
  290. package/dist/components/tile/Tile.stories.d.ts +10 -0
  291. package/dist/components/tile/Tile.stories.d.ts.map +1 -0
  292. package/dist/components/tile/Tile.stories.js +37 -0
  293. package/dist/components/tile/Tile.svelte +894 -0
  294. package/dist/components/tile/Tile.svelte.d.ts +48 -0
  295. package/dist/components/tile/Tile.svelte.d.ts.map +1 -0
  296. package/dist/components/tileclickable/README.md +31 -0
  297. package/dist/components/tileclickable/TileClickable.js +114 -0
  298. package/dist/components/tileclickable/TileClickable.js.map +1 -0
  299. package/dist/components/tileclickable/TileClickable.spec.js +62 -0
  300. package/dist/components/tileclickable/TileClickable.stories.d.ts +10 -0
  301. package/dist/components/tileclickable/TileClickable.stories.d.ts.map +1 -0
  302. package/dist/components/tileclickable/TileClickable.stories.js +52 -0
  303. package/dist/components/tileclickable/TileClickable.svelte +954 -0
  304. package/dist/components/tileclickable/TileClickable.svelte.d.ts +65 -0
  305. package/dist/components/tileclickable/TileClickable.svelte.d.ts.map +1 -0
  306. package/dist/components/tileexpandable/README.md +20 -0
  307. package/dist/components/tileexpandable/TileExpandable.js +114 -0
  308. package/dist/components/tileexpandable/TileExpandable.js.map +1 -0
  309. package/dist/components/tileexpandable/TileExpandable.spec.js +65 -0
  310. package/dist/components/tileexpandable/TileExpandable.stories.d.ts +7 -0
  311. package/dist/components/tileexpandable/TileExpandable.stories.d.ts.map +1 -0
  312. package/dist/components/tileexpandable/TileExpandable.stories.js +38 -0
  313. package/dist/components/tileexpandable/TileExpandable.svelte +956 -0
  314. package/dist/components/tileexpandable/TileExpandable.svelte.d.ts +53 -0
  315. package/dist/components/tileexpandable/TileExpandable.svelte.d.ts.map +1 -0
  316. package/dist/components/tileselectable/README.md +21 -0
  317. package/dist/components/tileselectable/TileSelectable.js +108 -0
  318. package/dist/components/tileselectable/TileSelectable.js.map +1 -0
  319. package/dist/components/tileselectable/TileSelectable.spec.js +57 -0
  320. package/dist/components/tileselectable/TileSelectable.stories.d.ts +9 -0
  321. package/dist/components/tileselectable/TileSelectable.stories.d.ts.map +1 -0
  322. package/dist/components/tileselectable/TileSelectable.stories.js +44 -0
  323. package/dist/components/tileselectable/TileSelectable.svelte +939 -0
  324. package/dist/components/tileselectable/TileSelectable.svelte.d.ts +57 -0
  325. package/dist/components/tileselectable/TileSelectable.svelte.d.ts.map +1 -0
  326. package/dist/components/toaster/Toaster.js +3 -3
  327. package/dist/components/toaster/Toaster.js.map +1 -1
  328. package/dist/components/toaster/Toaster.stories.d.ts +2 -2
  329. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  330. package/dist/components/toaster/Toaster.stories.js +2 -2
  331. package/dist/components/toaster/Toaster.svelte +5 -2
  332. package/dist/components/toggle/Toggle.js +2 -2
  333. package/dist/components/toggle/Toggle.js.map +1 -1
  334. package/dist/components/toggle/Toggle.svelte +0 -14
  335. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  336. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  337. package/dist/components/togglegroup/ToggleGroup.svelte +6 -16
  338. package/dist/components/tooltip/README.md +1 -0
  339. package/dist/components/tooltip/Tooltip.js +2 -2
  340. package/dist/components/tooltip/Tooltip.js.map +1 -1
  341. package/dist/components/tooltip/Tooltip.svelte +18 -10
  342. package/dist/components/tooltip/Tooltip.svelte.d.ts +4 -0
  343. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  344. package/dist/custom-element.js +3 -3
  345. package/dist/custom-element.js.map +1 -1
  346. package/dist/each.js +1 -1
  347. package/dist/each.js.map +1 -1
  348. package/dist/floating-item.svelte.js +2 -0
  349. package/dist/floating-item.svelte.js.map +1 -0
  350. package/dist/if.js +1 -1
  351. package/dist/if.js.map +1 -1
  352. package/dist/index-client.js +1 -1
  353. package/dist/index-client.js.map +1 -1
  354. package/dist/input.js +1 -1
  355. package/dist/main.d.ts +15 -1
  356. package/dist/main.d.ts.map +1 -1
  357. package/dist/main.js +15 -1
  358. package/dist/media-query.js +2 -0
  359. package/dist/media-query.js.map +1 -0
  360. package/dist/sidebar-state.svelte.js +2 -0
  361. package/dist/sidebar-state.svelte.js.map +1 -0
  362. package/dist/slot.js +1 -1
  363. package/dist/svelte-component.js +1 -1
  364. package/dist/svelte-element.js +1 -1
  365. package/dist/svelte-element.js.map +1 -1
  366. package/dist/this.js +1 -1
  367. package/package.json +2 -2
@@ -1,4 +1,4 @@
1
- import{o as J,c as K,p as L,a as P,b,s as d,t as E,f as x,g as Q,h as y,i as R,d as e,j as u,r,e as B}from"../../custom-element.js";import{i as O}from"../../if.js";import{s}from"../../slot.js";import{a as U}from"../../attributes.js";import{b as V}from"../../this.js";import{n as W}from"../../Condition20.js";import{O as X}from"../overlay/Overlay.js";import"../../branches.js";var Z=y('<button type="button" class="mc-modal__close mc-button mc-button--icon-button mc-button--ghost svelte-1tduk3b" aria-label="Close"><!></button>'),$=y('<p class="svelte-1tduk3b"> </p>'),oo=y('<section><div class="mc-modal__dialog svelte-1tduk3b" role="document"><header class="mc-modal__header svelte-1tduk3b"><span class="mc-modal__icon svelte-1tduk3b"><!></span> <h2 class="mc-modal__title svelte-1tduk3b" id="modalTitle"> </h2> <!></header> <main class="mc-modal__body svelte-1tduk3b"><!> <!></main> <footer class="mc-modal__footer svelte-1tduk3b"><span class="mc-modal__link svelte-1tduk3b"><!></span> <!></footer></div> <!></section>');const to={hash:"svelte-1tduk3b",code:`/**
1
+ import{o as J,c as K,e as L,a as P,p as b,k as n,t as E,b as x,d as Q,f as y,n as R,j as e,i as u,r,u as U,m as B}from"../../custom-element.js";import{i as O}from"../../if.js";import{s}from"../../slot.js";import{a as V}from"../../attributes.js";import{b as W}from"../../this.js";import{q as X}from"../../Condition20.js";import{O as Z}from"../overlay/Overlay.js";import"../../branches.js";var $=y('<button type="button" class="mc-modal__close mc-button mc-button--icon-button mc-button--ghost svelte-1tduk3b" aria-label="Close"><!></button>'),oo=y('<p class="svelte-1tduk3b"> </p>'),to=y('<section><div class="mc-modal__dialog svelte-1tduk3b" role="document"><header class="mc-modal__header svelte-1tduk3b"><span class="mc-modal__icon svelte-1tduk3b"><!></span> <h2 class="mc-modal__title svelte-1tduk3b" id="modalTitle"> </h2> <!></header> <main class="mc-modal__body svelte-1tduk3b"><!> <!></main> <footer class="mc-modal__footer svelte-1tduk3b"><span class="mc-modal__link svelte-1tduk3b"><!></span> <!></footer></div> <!></section>');const eo={hash:"svelte-1tduk3b",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
3
  */.mc-modal.svelte-1tduk3b {box-sizing:border-box;inset:0;outline:0;pointer-events:none;position:fixed;z-index:var(--modal-z-index, 3);display:flex;justify-content:center;align-items:flex-end;overflow:hidden auto;}
4
4
  @media (width >= 680px) {.mc-modal.svelte-1tduk3b {align-items:center;}
@@ -6,11 +6,11 @@ import{o as J,c as K,p as L,a as P,b,s as d,t as E,f as x,g as Q,h as y,i as R,d
6
6
  @media (width >= 680px) {.mc-modal__dialog.svelte-1tduk3b {width:38rem;border-radius:var(--border-radius-l, 1rem);}
7
7
  }.mc-modal.is-open.svelte-1tduk3b .mc-modal__dialog:where(.svelte-1tduk3b) {opacity:1;pointer-events:all;transform:translateY(0);transition:visibility 0s linear 0s, transform 0.4s ease, opacity 0.4s ease;visibility:visible;}.mc-modal__header.svelte-1tduk3b {align-items:center;display:flex;gap:0.5rem;min-height:3rem;padding:1rem;position:relative;}
8
8
  @media (width >= 680px) {.mc-modal__header.svelte-1tduk3b {padding:1.5rem 1.5rem 1rem 1.5rem;}
9
- }.mc-modal__icon.svelte-1tduk3b {width:2rem;height:2rem;}.mc-modal__title.svelte-1tduk3b {font-size:var(--font-title-m, 1.5rem);font-weight:var(--font-weight-semi-bold, 600);color:var(--modal-color-title, #000000);margin-bottom:0.5rem;margin-top:0.5rem;padding-right:3rem;}.mc-modal__close.svelte-1tduk3b {position:absolute;top:0.75rem;right:0.75rem;}.mc-modal__body.svelte-1tduk3b {font-size:var(--font-size-150, 1rem);color:var(--modal-color-paragraph, #404040);padding:0 1rem;margin-bottom:1rem;}
9
+ }.mc-modal__icon.svelte-1tduk3b {width:2rem;height:2rem;color:var(--modal-color-title, #000000);}.mc-modal__title.svelte-1tduk3b {font-size:var(--font-title-m, 1.5rem);font-weight:var(--font-weight-semi-bold, 600);color:var(--modal-color-title, #000000);margin-bottom:0.5rem;margin-top:0.5rem;padding-right:3rem;}.mc-modal__close.svelte-1tduk3b {position:absolute;top:0.75rem;right:0.75rem;}.mc-modal__body.svelte-1tduk3b {font-size:var(--font-size-150, 1rem);color:var(--modal-color-paragraph, #404040);padding:0 1rem;margin-bottom:1rem;}
10
10
  @media (width >= 680px) {.mc-modal__body.svelte-1tduk3b {padding:0 1.5rem;}
11
11
  }.mc-modal__body.svelte-1tduk3b p:where(.svelte-1tduk3b) {margin:0;line-height:var(--line-height-s, 1.3);}.mc-modal__footer.svelte-1tduk3b {align-items:stretch;display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:1rem;padding:0.5rem 1rem 1rem 1rem;}
12
12
  @media (width >= 680px) {.mc-modal__footer.svelte-1tduk3b {flex-direction:row;padding:0.5rem 1.5rem 1.5rem 1.5rem;}
13
13
  }.mc-modal__link.svelte-1tduk3b {order:1;}
14
14
  @media (width >= 680px) {.mc-modal__link.svelte-1tduk3b {margin-right:auto;order:0;}
15
- }.mc-modal-open.svelte-1tduk3b {overflow:hidden;}.mc-button.svelte-1tduk3b {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);}.mc-button.svelte-1tduk3b:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-1tduk3b:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-1tduk3b: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-1tduk3b {font-weight:var(--font-weight-semi-bold, 600);padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button.svelte-1tduk3b {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-1tduk3b {font-size:var(--font-size-150, 1rem);}.mc-button__icon.svelte-1tduk3b {flex-shrink:0;width:1.5rem;height:1.5rem;}.mc-button.svelte-1tduk3b: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-1tduk3b: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-1tduk3b {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;}.mc-button--m.svelte-1tduk3b {padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;}.mc-button--l.svelte-1tduk3b {padding:0 calc(1.25rem - 0.125rem);min-height:4rem;min-width:4rem;}.mc-button--icon-only.svelte-1tduk3b {padding:0.25rem;}.mc-button--outlined.svelte-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.svelte-1tduk3b:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-1tduk3b:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-1tduk3b: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-1tduk3b {color:var(--button-color-filled-accent-font, #ffffff);background-color:var(--button-color-filled-accent-background, #117f03);}.mc-button--accent.svelte-1tduk3b:hover {background-color:var(--button-color-filled-accent-hover-background, #006902);}.mc-button--accent.svelte-1tduk3b:active {background-color:var(--button-color-filled-accent-active-background, #035010);}.mc-button--accent.svelte-1tduk3b: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-1tduk3b {color:var(--button-color-filled-danger-font, #ffffff);background-color:var(--button-color-filled-danger-background, #c61112);}.mc-button--danger.svelte-1tduk3b:hover {background-color:var(--button-color-filled-danger-hover-background, #8c0003);}.mc-button--danger.svelte-1tduk3b:active {background-color:var(--button-color-filled-danger-active-background, #530000);}.mc-button--danger.svelte-1tduk3b: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-1tduk3b {--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-1tduk3b:hover {background-color:var(--button-color-filled-inverse-hover-background, #e6e6e6);}.mc-button--inverse.svelte-1tduk3b:active {background-color:var(--button-color-filled-inverse-active-background, #cccccc);}.mc-button--inverse.svelte-1tduk3b: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-1tduk3b {border-radius:var(--border-radius-full, 100%);padding:0;}.mc-button--loading.svelte-1tduk3b {pointer-events:none;}.mc-button--outlined.mc-button--standard.svelte-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-1tduk3b:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-1tduk3b:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-1tduk3b:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-1tduk3b:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-1tduk3b:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-1tduk3b:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-1tduk3b:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-1tduk3b:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-1tduk3b:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-modal__icon.svelte-1tduk3b:empty {display:none;}`};function eo(z,t){L(t,!0),P(z,to);let n=b(t,"open",7),i=b(t,"title",7),c=b(t,"description",7),v=b(t,"closable",7,!0),T=R(t,["$$slots","$$events","$$legacy","$$host","open","title","description","closable"]),m;function Y(){n(!1);const o=new CustomEvent("update:open",{detail:n(),bubbles:!0,composed:!0});m.dispatchEvent(o)}var D={get open(){return n()},set open(o){n(o),u()},get title(){return i()},set title(o){i(o),u()},get description(){return c()},set description(o){c(o),u()},get closable(){return v()},set closable(o=!0){v(o),u()}},l=oo();U(l,()=>({class:["mc-modal",n()&&"is-open"],tabindex:"-1","aria-labelledby":"modalTitle","aria-hidden":!n(),...T}),void 0,void 0,void 0,"svelte-1tduk3b");var g=e(l),k=e(g),f=e(k),M=e(f);s(M,t,"icon",{},null),r(f);var h=d(f,2),N=e(h,!0);r(h);var S=d(h,2);{var q=o=>{var a=Z();a.__click=Y;var w=e(a);W(w,{className:"mc-modal__close"}),r(a),x(o,a)};O(S,o=>{v()&&o(q)})}r(k);var p=d(k,2),j=e(p);{var A=o=>{var a=$(),w=e(a,!0);r(a),E(()=>B(w,c())),x(o,a)};O(j,o=>{c()&&o(A)})}var F=d(j,2);s(F,t,"default",{},null),r(p);var C=d(p,2),_=e(C),G=e(_);s(G,t,"link",{},null),r(_);var H=d(_,2);s(H,t,"footer",{},null),r(C),r(g);var I=d(g,2);return X(I,{get isvisible(){return n()},dialoglabel:"modal"}),r(l),V(l,o=>m=o,()=>m),E(()=>B(N,i())),x(z,l),Q(D)}J(["click"]);customElements.define("m-modal",K(eo,{open:{attribute:"open",reflect:!0,type:"Boolean"},closable:{attribute:"closable",reflect:!0,type:"Boolean"},title:{},description:{}},["icon","default","link","footer"],[],!0));
15
+ }.mc-modal-open.svelte-1tduk3b {overflow:hidden;}.mc-button.svelte-1tduk3b {color:var(--button-color-filled-standard-font, #ffffff);background-color:var(--button-color-filled-standard-background, #464e63);}.mc-button.svelte-1tduk3b:hover {background-color:var(--button-color-filled-standard-hover-background, #343b4c);}.mc-button.svelte-1tduk3b:active {background-color:var(--button-color-filled-standard-active-background, #242938);}.mc-button.svelte-1tduk3b: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-1tduk3b {font-weight:var(--font-weight-semi-bold, 600);padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;border-radius:var(--button-border-radius-m, 0.25rem);}.mc-button.svelte-1tduk3b {display:inline-flex;justify-content:center;vertical-align:middle;text-align:center;border:2px solid transparent;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-1tduk3b {font-size:var(--font-size-150, 1rem);}.mc-button__icon.svelte-1tduk3b {flex-shrink:0;width:1.5rem;height:1.5rem;}.mc-button.svelte-1tduk3b: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-1tduk3b: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-1tduk3b {padding:0 calc(0.75rem - 0.125rem);min-height:2rem;min-width:2rem;border-radius:var(--button-border-radius-s, 0.25rem);}.mc-button--m.svelte-1tduk3b {padding:0 calc(1rem - 0.125rem);min-height:3rem;min-width:3rem;border-radius:var(--button-border-radius-m, 0.25rem);}.mc-button--l.svelte-1tduk3b {padding:0 calc(1.25rem - 0.125rem);min-height:4rem;min-width:4rem;border-radius:var(--button-border-radius-l, 0.25rem);}.mc-button--icon-only.svelte-1tduk3b {padding:0.25rem;}.mc-button--outlined.svelte-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.svelte-1tduk3b:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.svelte-1tduk3b:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.svelte-1tduk3b: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-1tduk3b {color:var(--button-color-filled-accent-font, #ffffff);background-color:var(--button-color-filled-accent-background, #117f03);}.mc-button--accent.svelte-1tduk3b:hover {background-color:var(--button-color-filled-accent-hover-background, #006902);}.mc-button--accent.svelte-1tduk3b:active {background-color:var(--button-color-filled-accent-active-background, #035010);}.mc-button--accent.svelte-1tduk3b: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-1tduk3b {color:var(--button-color-filled-danger-font, #ffffff);background-color:var(--button-color-filled-danger-background, #c61112);}.mc-button--danger.svelte-1tduk3b:hover {background-color:var(--button-color-filled-danger-hover-background, #8c0003);}.mc-button--danger.svelte-1tduk3b:active {background-color:var(--button-color-filled-danger-active-background, #530000);}.mc-button--danger.svelte-1tduk3b: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-1tduk3b {--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-1tduk3b:hover {background-color:var(--button-color-filled-inverse-hover-background, #e6e6e6);}.mc-button--inverse.svelte-1tduk3b:active {background-color:var(--button-color-filled-inverse-active-background, #cccccc);}.mc-button--inverse.svelte-1tduk3b: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-1tduk3b {border-radius:var(--border-radius-full, 100%);padding:0;}.mc-button--loading.svelte-1tduk3b {pointer-events:none;}.mc-button--outlined.mc-button--standard.svelte-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-standard-hover-background, #eff1f6);}.mc-button--outlined.mc-button--standard.svelte-1tduk3b:active {background-color:var(--button-color-outlined-standard-active-background, #c9d0de);}.mc-button--outlined.mc-button--standard.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-accent-hover-background, #ebf5de);}.mc-button--outlined.mc-button--accent.svelte-1tduk3b:active {background-color:var(--button-color-outlined-accent-active-background, #c5e39e);}.mc-button--outlined.mc-button--accent.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-danger-hover-background, #fdeaea);}.mc-button--outlined.mc-button--danger.svelte-1tduk3b:active {background-color:var(--button-color-outlined-danger-active-background, #f8bcbb);}.mc-button--outlined.mc-button--danger.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-outlined-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--outlined.mc-button--inverse.svelte-1tduk3b:active {background-color:var(--button-color-outlined-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--outlined.mc-button--inverse.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-standard-hover-background, rgba(70, 78, 99, 0.1));}.mc-button--ghost.mc-button--standard.svelte-1tduk3b:active {background-color:var(--button-color-ghost-standard-active-background, rgba(70, 78, 99, 0.2));}.mc-button--ghost.mc-button--standard.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-accent-hover-background, rgba(17, 127, 3, 0.1));}.mc-button--ghost.mc-button--accent.svelte-1tduk3b:active {background-color:var(--button-color-ghost-accent-active-background, rgba(17, 127, 3, 0.2));}.mc-button--ghost.mc-button--accent.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-danger-hover-background, rgba(198, 17, 18, 0.1));}.mc-button--ghost.mc-button--danger.svelte-1tduk3b:active {background-color:var(--button-color-ghost-danger-active-background, rgba(198, 17, 18, 0.2));}.mc-button--ghost.mc-button--danger.svelte-1tduk3b: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-1tduk3b {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-1tduk3b:hover {background-color:var(--button-color-ghost-inverse-hover-background, rgba(255, 255, 255, 0.1));}.mc-button--ghost.mc-button--inverse.svelte-1tduk3b:active {background-color:var(--button-color-ghost-inverse-active-background, rgba(255, 255, 255, 0.2));}.mc-button--ghost.mc-button--inverse.svelte-1tduk3b:disabled {background-color:var(--button-state-disabled-background, #d9d9d9);border-color:transparent;color:var(--button-state-disabled-color, #737373);cursor:not-allowed;}.mc-modal__icon.svelte-1tduk3b:empty {display:none;}`};function ro(z,t){L(t,!0),P(z,eo);let d=b(t,"open",7),i=b(t,"title",7),c=b(t,"description",7),v=b(t,"closable",7,!0),T=R(t,["$$slots","$$events","$$legacy","$$host","open","title","description","closable"]),m;function Y(){d(!1);const o=new CustomEvent("update:open",{detail:d(),bubbles:!0,composed:!0});m.dispatchEvent(o)}var q={get open(){return d()},set open(o){d(o),u()},get title(){return i()},set title(o){i(o),u()},get description(){return c()},set description(o){c(o),u()},get closable(){return v()},set closable(o=!0){v(o),u()}},l=to();V(l,()=>({class:["mc-modal",d()&&"is-open"],tabindex:"-1","aria-labelledby":"modalTitle","aria-hidden":!d(),...T}),void 0,void 0,void 0,"svelte-1tduk3b");var g=e(l),k=e(g),f=e(k),D=e(f);s(D,t,"icon",{},null),r(f);var h=n(f,2),M=e(h,!0);r(h);var N=n(h,2);{var S=o=>{var a=$(),w=e(a);X(w,{className:"mc-modal__close"}),r(a),U("click",a,Y),x(o,a)};O(N,o=>{v()&&o(S)})}r(k);var p=n(k,2),j=e(p);{var A=o=>{var a=oo(),w=e(a,!0);r(a),E(()=>B(w,c())),x(o,a)};O(j,o=>{c()&&o(A)})}var F=n(j,2);s(F,t,"default",{},null),r(p);var C=n(p,2),_=e(C),G=e(_);s(G,t,"link",{},null),r(_);var H=n(_,2);s(H,t,"footer",{},null),r(C),r(g);var I=n(g,2);return Z(I,{get isvisible(){return d()},dialoglabel:"modal"}),r(l),W(l,o=>m=o,()=>m),E(()=>B(M,i())),x(z,l),Q(q)}J(["click"]);customElements.define("m-modal",K(ro,{open:{attribute:"open",reflect:!0,type:"Boolean"},closable:{attribute:"closable",reflect:!0,type:"Boolean"},title:{},description:{}},["icon","default","link","footer"],[],{mode:"open"}));
16
16
  //# sourceMappingURL=Modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-modal',\n props: {\n open: { reflect: true, type: 'Boolean', attribute: 'open' },\n closable: { reflect: true, type: 'Boolean', attribute: 'closable' },\n },\n }}\n/>\n\n<script lang=\"ts\">\n import { Cross24 } from '@mozaic-ds/icons-svelte';\n import MOverlay from '../overlay/Overlay.svelte';\n /**\n * A modal is a dialog window that appears on top of the main content, requiring user interaction before returning to the main interface. It is used to focus attention on a specific task, provide important information, or request confirmation for an action. Modals typically include a title, description, and primary/secondary actions and should be used for single, focused tasks to avoid disrupting the user experience.\n *\n * @slot icon - Use this slot to insert an icon next to the title of the modal.\n * @slot default - Use this slot to insert the content of the modal.\n * @slot link - Use this slot to insert a link in the footer.\n * @slot footer - Use this slot to insert buttons in the footer.\n * @event update:open {CustomEvent<boolean>} - Fired when the open state changes.\n */\n interface Props {\n [key: string]: any;\n /**\n * if `true`, display the modal.\n */\n open?: boolean;\n /**\n * Title of the modal.\n */\n title: string;\n /**\n * Description of the modal.\n */\n description?: string;\n /**\n * if `true`, display the close button.\n */\n closable?: boolean;\n }\n\n let { open, title, description, closable = true, ...attrs }: Props = $props();\n let element: HTMLElement;\n\n function onClose() {\n open = false;\n\n const event = new CustomEvent('update:open', {\n detail: open,\n bubbles: true,\n composed: true,\n });\n element.dispatchEvent(event);\n }\n</script>\n\n<section\n class={['mc-modal', open && 'is-open']}\n tabindex=\"-1\"\n aria-labelledby=\"modalTitle\"\n aria-hidden={!open}\n bind:this={element}\n {...attrs}\n>\n <div class=\"mc-modal__dialog\" role=\"document\">\n <header class=\"mc-modal__header\">\n <span class=\"mc-modal__icon\">\n <slot name=\"icon\" />\n </span>\n <h2 class=\"mc-modal__title\" id=\"modalTitle\">{title}</h2>\n {#if closable}\n <button\n type=\"button\"\n class=\"mc-modal__close mc-button mc-button--icon-button mc-button--ghost\"\n aria-label=\"Close\"\n onclick={onClose}\n >\n <Cross24 className=\"mc-modal__close\" />\n </button>\n {/if}\n </header>\n\n <main class=\"mc-modal__body\">\n {#if description}\n <p>{description}</p>\n {/if}\n <slot />\n </main>\n\n <footer class=\"mc-modal__footer\">\n <span class=\"mc-modal__link\">\n <slot name=\"link\" />\n </span>\n <slot name=\"footer\" />\n </footer>\n </div>\n\n <MOverlay isvisible={open} dialoglabel=\"modal\" />\n</section>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/modal';\n @use '@mozaic-ds/styles/components/button';\n\n .mc-modal__icon:empty {\n display: none;\n }\n</style>\n"],"names":["open","$.prop","$$props","title","description","closable","attrs","$.rest_props","element","onClose","event","section","root","div","$.child","header","span","h2","button","root_1","node_2","Cross24","$.reset","$.append","$$anchor","$$render","consequent","main","p","root_2","consequent_1","footer","span_1","MOverlay","node_7","$$value"],"mappings":";;;;;;;;;;;;;;o2WAUA,qBAgCQA,EAAIC,EAAAC,EAAA,OAAA,CAAA,EAAEC,EAAKF,EAAAC,EAAA,QAAA,CAAA,EAAEE,EAAWH,EAAAC,EAAA,cAAA,CAAA,EAAEG,mBAAW,EAAI,EAAKC,EAAKC,EAAAL,EAAA,oFACrDM,EAEK,SAAAC,GAAU,CACjBT,EAAO,EAAK,EAEN,MAAAU,EAAK,IAAO,YAAY,eAC5B,OAAQV,EAAI,EACZ,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBQ,EAAQ,cAAcE,CAAK,CAC7B,yMAZ2C,GAAI,YAehDC,EAAAC,GAAA,IAAAD,eACS,WAAYX,EAAI,GAAI,SAAS,8DAGvBA,EAAI,KAEdM,2CAEH,IAAAO,EAAGC,EARLH,CAAA,EASII,IADFF,CAAG,EAECG,IADFD,CAAM,MACJC,CAAI,0BAAJA,CAAI,EAGJ,IAAAC,IAHAD,EAAI,CAAA,MAGJC,EAAE,EAAA,IAAFA,CAAE,UAAFA,EAAE,CAAA,aAEA,IAAAC,EAAAC,EAAA,EAAAD,EAIC,QAAST,EAJV,IAAAW,EAAAN,EAAAI,CAAA,EAMEG,EAAOD,EAAA,CAAA,UAAA,iBAAA,CAAA,EANTE,EAAAJ,CAAA,EAAAK,EAAAC,EAAAN,CAAA,WADEb,EAAQ,GAAAoB,EAAAC,CAAA,MALdX,CAAM,EAiBN,IAAAY,IAjBAZ,EAAM,CAAA,MAiBNY,CAAI,iBAEAC,EAACC,EAAA,MAADD,EAAC,EAAA,IAADA,CAAC,YAAExB,EAAW,CAAA,CAAA,MAAdwB,CAAC,WADCxB,EAAW,GAAAqB,EAAAK,CAAA,4CADjBH,CAAI,EAOJ,IAAAI,IAPAJ,EAAI,CAAA,EAQFK,IADFD,CAAM,MACJC,CAAI,0BAAJA,CAAI,UAAJA,EAAI,CAAA,4BADND,CAAM,IAzBRlB,CAAG,UAAHA,EAAG,CAAA,EAiCHoB,OAAAA,EAAQC,EAAA,wBAAYlC,EAAI,yBAzC1BsB,EAAAX,CAAA,IAAAA,EAAAwB,GAKY3B,QAAAA,CAAO,YAQ+BL,EAAK,CAAA,CAAA,EAbvDoB,EAAAC,EAAAb,CAAA,MAFO"}
1
+ {"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-modal',\n props: {\n open: { reflect: true, type: 'Boolean', attribute: 'open' },\n closable: { reflect: true, type: 'Boolean', attribute: 'closable' },\n },\n }}\n/>\n\n<script lang=\"ts\">\n import { Cross24 } from '@mozaic-ds/icons-svelte';\n import MOverlay from '../overlay/Overlay.svelte';\n /**\n * A modal is a dialog window that appears on top of the main content, requiring user interaction before returning to the main interface. It is used to focus attention on a specific task, provide important information, or request confirmation for an action. Modals typically include a title, description, and primary/secondary actions and should be used for single, focused tasks to avoid disrupting the user experience.\n *\n * @slot icon - Use this slot to insert an icon next to the title of the modal.\n * @slot default - Use this slot to insert the content of the modal.\n * @slot link - Use this slot to insert a link in the footer.\n * @slot footer - Use this slot to insert buttons in the footer.\n * @event update:open {CustomEvent<boolean>} - Fired when the open state changes.\n */\n interface Props {\n [key: string]: any;\n /**\n * if `true`, display the modal.\n */\n open?: boolean;\n /**\n * Title of the modal.\n */\n title: string;\n /**\n * Description of the modal.\n */\n description?: string;\n /**\n * if `true`, display the close button.\n */\n closable?: boolean;\n }\n\n let { open, title, description, closable = true, ...attrs }: Props = $props();\n let element: HTMLElement;\n\n function onClose() {\n open = false;\n\n const event = new CustomEvent('update:open', {\n detail: open,\n bubbles: true,\n composed: true,\n });\n element.dispatchEvent(event);\n }\n</script>\n\n<section\n class={['mc-modal', open && 'is-open']}\n tabindex=\"-1\"\n aria-labelledby=\"modalTitle\"\n aria-hidden={!open}\n bind:this={element}\n {...attrs}\n>\n <div class=\"mc-modal__dialog\" role=\"document\">\n <header class=\"mc-modal__header\">\n <span class=\"mc-modal__icon\">\n <slot name=\"icon\" />\n </span>\n <h2 class=\"mc-modal__title\" id=\"modalTitle\">{title}</h2>\n {#if closable}\n <button\n type=\"button\"\n class=\"mc-modal__close mc-button mc-button--icon-button mc-button--ghost\"\n aria-label=\"Close\"\n onclick={onClose}\n >\n <Cross24 className=\"mc-modal__close\" />\n </button>\n {/if}\n </header>\n\n <main class=\"mc-modal__body\">\n {#if description}\n <p>{description}</p>\n {/if}\n <slot />\n </main>\n\n <footer class=\"mc-modal__footer\">\n <span class=\"mc-modal__link\">\n <slot name=\"link\" />\n </span>\n <slot name=\"footer\" />\n </footer>\n </div>\n\n <MOverlay isvisible={open} dialoglabel=\"modal\" />\n</section>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/modal';\n @use '@mozaic-ds/styles/components/button';\n\n .mc-modal__icon:empty {\n display: none;\n }\n</style>\n"],"names":["open","$.prop","$$props","title","description","closable","attrs","$.rest_props","element","onClose","event","section","root","div","$.child","header","span","h2","button","root_1","node_2","Cross24","$.reset","$.delegated","$.append","$$anchor","$$render","consequent","main","p","root_2","consequent_1","footer","span_1","MOverlay","node_7","$$value"],"mappings":";;;;;;;;;;;;;;mgXAUA,qBAgCQA,EAAIC,EAAAC,EAAA,OAAA,CAAA,EAAEC,EAAKF,EAAAC,EAAA,QAAA,CAAA,EAAEE,EAAWH,EAAAC,EAAA,cAAA,CAAA,EAAEG,mBAAW,EAAI,EAAKC,EAAKC,EAAAL,EAAA,oFACrDM,EAEK,SAAAC,GAAU,CACjBT,EAAO,EAAK,EAEN,MAAAU,EAAK,IAAO,YAAY,eAC5B,OAAQV,EAAI,EACZ,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBQ,EAAQ,cAAcE,CAAK,CAC7B,yMAZ2C,GAAI,YAehDC,EAAAC,GAAA,IAAAD,eACS,WAAYX,EAAI,GAAI,SAAS,8DAGvBA,EAAI,KAEdM,2CAEH,IAAAO,EAAGC,EARLH,CAAA,EASII,IADFF,CAAG,EAECG,IADFD,CAAM,MACJC,CAAI,0BAAJA,CAAI,EAGJ,IAAAC,IAHAD,EAAI,CAAA,MAGJC,EAAE,EAAA,IAAFA,CAAE,UAAFA,EAAE,CAAA,aAEA,IAAAC,EAAAC,EAAA,EAAAC,EAAAN,EAAAI,CAAA,EAMEG,EAAOD,EAAA,CAAA,UAAA,iBAAA,CAAA,EANTE,EAAAJ,CAAA,EAAAK,EAAA,QAAAL,EAIUT,CAAO,EAJjBe,EAAAC,EAAAP,CAAA,WADEb,EAAQ,GAAAqB,EAAAC,CAAA,MALdZ,CAAM,EAiBN,IAAAa,IAjBAb,EAAM,CAAA,MAiBNa,CAAI,iBAEAC,EAACC,GAAA,MAADD,EAAC,EAAA,IAADA,CAAC,YAAEzB,EAAW,CAAA,CAAA,MAAdyB,CAAC,WADCzB,EAAW,GAAAsB,EAAAK,CAAA,4CADjBH,CAAI,EAOJ,IAAAI,IAPAJ,EAAI,CAAA,EAQFK,IADFD,CAAM,MACJC,CAAI,0BAAJA,CAAI,UAAJA,EAAI,CAAA,4BADND,CAAM,IAzBRnB,CAAG,UAAHA,EAAG,CAAA,EAiCHqB,OAAAA,EAAQC,EAAA,wBAAYnC,EAAI,yBAzC1BsB,EAAAX,CAAA,IAAAA,EAAAyB,GAKY5B,QAAAA,CAAO,YAQ+BL,EAAK,CAAA,CAAA,EAbvDqB,EAAAC,EAAAd,CAAA,MAFO"}
@@ -161,6 +161,7 @@
161
161
  .mc-modal__icon {
162
162
  width: 2rem;
163
163
  height: 2rem;
164
+ color: var(--modal-color-title, #000000);
164
165
  }
165
166
  .mc-modal__title {
166
167
  font-size: var(--font-title-m, 1.5rem);
@@ -238,6 +239,7 @@
238
239
  padding: 0 calc(1rem - 0.125rem);
239
240
  min-height: 3rem;
240
241
  min-width: 3rem;
242
+ border-radius: var(--button-border-radius-m, 0.25rem);
241
243
  }
242
244
  .mc-button .mc-button__label {
243
245
  font-size: var(--font-size-150, 1rem);
@@ -248,7 +250,6 @@
248
250
  vertical-align: middle;
249
251
  text-align: center;
250
252
  border: 2px solid transparent;
251
- border-radius: var(--button-border-radius-s, 0.25rem);
252
253
  transition: all ease 200ms;
253
254
  transition: box-shadow 200ms ease;
254
255
  align-items: center;
@@ -281,6 +282,7 @@
281
282
  padding: 0 calc(0.75rem - 0.125rem);
282
283
  min-height: 2rem;
283
284
  min-width: 2rem;
285
+ border-radius: var(--button-border-radius-s, 0.25rem);
284
286
  }
285
287
  .mc-button--s .mc-button__label {
286
288
  font-size: var(--font-size-100, 0.875rem);
@@ -297,6 +299,7 @@
297
299
  padding: 0 calc(1rem - 0.125rem);
298
300
  min-height: 3rem;
299
301
  min-width: 3rem;
302
+ border-radius: var(--button-border-radius-m, 0.25rem);
300
303
  }
301
304
  .mc-button--m .mc-button__label {
302
305
  font-size: var(--font-size-150, 1rem);
@@ -313,6 +316,7 @@
313
316
  padding: 0 calc(1.25rem - 0.125rem);
314
317
  min-height: 4rem;
315
318
  min-width: 4rem;
319
+ border-radius: var(--button-border-radius-l, 0.25rem);
316
320
  }
317
321
  .mc-button--l .mc-button__label {
318
322
  font-size: var(--font-size-200, 1.125rem);
@@ -0,0 +1,4 @@
1
+ import{c as G,e as H,a as J,p as r,k as L,b as s,d as M,f as V,j as z,i as c,r as P,y as B,x as E,l as S,aV as O,aW as Q,t as R,m as T,w as U}from"../../custom-element.js";import{i as D}from"../../if.js";import{e as X,i as Y}from"../../each.js";import{c as K}from"../../svelte-component.js";import{a as Z}from"../../attributes.js";import{b as tt}from"../../this.js";import{B as et}from"../button/Button.js";import{I as ot}from"../iconbutton/IconButton.js";import{P as at,u as it}from"../../Condition20.js";import"../../branches.js";import"../../slot.js";import"../loader/Loader.js";var nt=V('<li class="mc-navigation-indicator__item svelte-1u324yb"><button></button></li>'),rt=V('<div class="mc-navigation-indicator svelte-1u324yb" role="navigation" aria-label="Navigations steps"><ul class="mc-navigation-indicator__list svelte-1u324yb"></ul> <!></div>');const st={hash:"svelte-1u324yb",code:`/**
2
+ * Do not edit directly, this file was auto-generated.
3
+ */.mc-navigation-indicator.svelte-1u324yb {display:flex;align-items:center;gap:0.5rem;max-width:42rem;overflow:scroll;}.mc-navigation-indicator__list.svelte-1u324yb {display:flex;align-items:center;gap:0.25rem;list-style:none;margin:0;padding:0;}.mc-navigation-indicator__item.svelte-1u324yb {display:flex;align-items:center;justify-content:center;}.mc-navigation-indicator__button.svelte-1u324yb {transition:box-shadow 200ms ease;width:1.5rem;height:0.5rem;border:none;border-radius:var(--border-radius-l, 1rem);background-color:var(--navigation-indicator-color-background-default, #c9d0de);cursor:pointer;transition:height 0.2s ease, height 0.2s ease, background-color 0.2s ease;}.mc-navigation-indicator__button.svelte-1u324yb: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-navigation-indicator__button--active.svelte-1u324yb {width:3rem;height:0.75rem;background-color:var(--navigation-indicator-color-background-active, #464e63);}`};function ct(I,a){H(a,!0),J(I,st);let g=r(a,"steps",7),l=r(a,"selected",15),b=r(a,"action",7,"resume"),d=r(a,"label",7),p=r(a,"player",7,!0),_=r(a,"onAction",7),y;const C=U(()=>b()==="pause"?at:it);function N(t){l(t)}function W(t,u){t.key==="Enter"&&N(u)}function j(){_()?.(),y.dispatchEvent(new CustomEvent("action",{bubbles:!0,composed:!0}))}var $={get steps(){return g()},set steps(t){g(t),c()},get selected(){return l()},set selected(t){l(t),c()},get action(){return b()},set action(t="resume"){b(t),c()},get label(){return d()},set label(t){d(t),c()},get player(){return p()},set player(t=!0){p(t),c()},get onAction(){return _()},set onAction(t){_(t),c()}},v=rt(),h=z(v);X(h,21,()=>Array.from({length:g()}),Y,(t,u,n)=>{var m=nt(),k=z(m),e=()=>N(n),i=f=>W(f,n);Z(k,()=>({class:{"mc-navigation-indicator__button":!0,"mc-navigation-indicator__button--active":l()==n},"aria-label":"Navigation step button",...l()==n?{"aria-current":"step"}:{},onclick:e,onkeydown:i}),void 0,void 0,void 0,"svelte-1u324yb"),P(m),s(t,m)}),P(h);var q=L(h,2);{var F=t=>{var u=B(),n=E(u);{var m=e=>{et(e,{size:"s",iconposition:"left",ghost:!0,onclick:j,children:(i,f)=>{O();var o=Q();R(()=>T(o,d())),s(i,o)},$$slots:{default:!0,icon:(i,f)=>{var o=B(),w=E(o);K(w,()=>S(C),(x,A)=>{A(x,{slot:"icon"})}),s(i,o)}}})},k=e=>{ot(e,{size:"s",ghost:!0,onclick:j,$$slots:{icon:(i,f)=>{var o=B(),w=E(o);K(w,()=>S(C),(x,A)=>{A(x,{slot:"icon"})}),s(i,o)}}})};D(n,e=>{d()?e(m):e(k,!1)})}s(t,u)};D(q,t=>{p()&&t(F)})}return P(v),tt(v,t=>y=t,()=>y),s(I,v),M($)}customElements.define("m-navigation-indicator",G(ct,{player:{attribute:"player",reflect:!0,type:"Boolean"},steps:{},selected:{},action:{},label:{},onAction:{}},[],[],{mode:"open"}));
4
+ //# sourceMappingURL=NavigationIndicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationIndicator.js","sources":["../../../src/components/navigationindicator/NavigationIndicator.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-navigation-indicator',\n props: {\n player: { reflect: true, type: 'Boolean', attribute: 'player' },\n },\n }}\n/>\n\n<script lang=\"ts\">\n import Button from '../button/Button.svelte';\n import IconButton from '../iconbutton/IconButton.svelte';\n import { PauseCircle24, PlayCircle24 } from '@mozaic-ds/icons-svelte';\n\n /**\n * A navigation indicator visually represents the current position within a sequence or step-based process, helping users track progress or navigate through a series of items. It is commonly used in carousels, onboarding flows, or media players. Navigation indicators can be interactive, allowing users to jump between steps, or passive, simply showing progress.\n * @event action {CustomEvent<void} - Emits when the action button is clicked.\n */\n\n interface Props {\n /**\n * The total number of steps to display.\n */\n steps: number;\n /**\n * The index of the currently active step (zero-based).\n */\n selected: number;\n /**\n * The current action state of the button. Can be \"pause\" to show the pause icon or \"resume\" to show the play icon.\n */\n action?: 'pause' | 'resume';\n /**\n * The text label displayed in the Resume or Pause button.\n */\n label?: string;\n /**\n * If `true`, hides the Resume or Pause button next to the steps.\n */\n player?: boolean;\n /**\n * Callback triggered on action button click.\n */\n onAction?: () => void;\n }\n\n let {\n steps,\n selected = $bindable(),\n action = 'resume',\n label,\n player = true,\n onAction,\n }: Props = $props();\n\n let element: HTMLElement;\n\n const ActionIcon = $derived(action === 'pause' ? PauseCircle24 : PlayCircle24);\n\n function setActiveStep(step: number) {\n selected = step;\n }\n\n function onKeydown(event: KeyboardEvent, step: number) {\n if (event.key === 'Enter') {\n setActiveStep(step);\n }\n }\n\n function handleAction() {\n onAction?.();\n element.dispatchEvent(new CustomEvent('action', { bubbles: true, composed: true }));\n }\n</script>\n\n<div\n bind:this={element}\n class=\"mc-navigation-indicator\"\n role=\"navigation\"\n aria-label=\"Navigations steps\"\n>\n <ul class=\"mc-navigation-indicator__list\">\n {#each Array.from({ length: steps }), index (index)}\n <li class=\"mc-navigation-indicator__item\">\n <button\n class={{\n 'mc-navigation-indicator__button': true,\n 'mc-navigation-indicator__button--active': selected == index,\n }}\n aria-label=\"Navigation step button\"\n {...selected == index ? { 'aria-current': 'step' } : {}}\n onclick={() => setActiveStep(index)}\n onkeydown={(event) => onKeydown(event, index)}\n ></button>\n </li>\n {/each}\n </ul>\n\n {#if player}\n {#if label}\n <Button size=\"s\" iconposition=\"left\" ghost onclick={handleAction}>\n {label}\n\n <ActionIcon slot=\"icon\" />\n </Button>\n {:else}\n <IconButton size=\"s\" ghost onclick={handleAction}>\n <ActionIcon slot=\"icon\" />\n </IconButton>\n {/if}\n {/if}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/navigation-indicator';\n</style>\n"],"names":["steps","$.prop","$$props","selected","action","label","player","onAction","element","ActionIcon","PauseCircle24","PlayCircle24","setActiveStep","step","onKeydown","event","handleAction","div","root","ul","$.child","$.each","$.index","$$anchor","$$item","index","li","root_1","button","event_handler","event_handler_1","Button","ActionIcon_1","IconButton","ActionIcon_2","$$render","consequent","alternate","consequent_1","$.reset","$$value","$.append"],"mappings":";;woCASA,qBAsCIA,EAAKC,EAAAC,EAAA,QAAA,CAAA,EACLC,EAAQF,EAAAC,EAAA,WAAA,EAAA,EACRE,iBAAS,QAAQ,EACjBC,EAAKJ,EAAAC,EAAA,QAAA,CAAA,EACLI,iBAAS,EAAI,EACbC,EAAQN,EAAAC,EAAA,WAAA,CAAA,EAGNM,EAEE,MAAAC,QAAsBL,EAAM,IAAK,QAAUM,GAAgBC,EAAY,WAEpEC,EAAcC,EAAc,CACnCV,EAAWU,CAAI,CACjB,CAES,SAAAC,EAAUC,EAAsBF,EAAc,CACjDE,EAAM,MAAQ,SAChBH,EAAcC,CAAI,CAEtB,CAES,SAAAG,GAAe,CACtBT,MAAQ,EACRC,EAAQ,cAAa,IAAK,YAAY,SAAQ,CAAI,QAAS,GAAM,SAAU,EAAI,CAAA,CAAA,CACjF,kJAvBW,SAAQ,gGAER,GAAI,iEAwBhBS,EAAAC,GAAA,EAMEC,EAAEC,EANJH,CAAA,EAMEI,EAAAF,SACQ,MAAM,KAAI,CAAG,OAAQnB,EAAK,CAAA,CAAA,EAAAsB,EAAA,CAAAC,EAAAC,EAAAC,IAAA,KAC9BC,EAAEC,GAAA,EACAC,EAAAR,EADFM,CAAE,EAQgBG,EAAA,IAAAjB,EAAca,CAAK,EACtBK,EAAAf,GAAUD,EAAUC,EAAOU,CAAK,IAR7CG,eAEG,kCAAmC,GACnC,0CAA2CzB,EAAQ,GAAIsB,yCAGrD,GAAAtB,EAAQ,GAAIsB,EAAK,CAAK,eAAgB,MAAM,EAAA,CAAA,mEAPnDC,CAAE,MAAFA,CAAE,MAFNP,CAAE,UAAFA,EAAE,CAAA,yCAmBEY,GAAMR,EAAA,+CAA6CP,2CACjDX,EAAK,CAAA,CAAA,iFAEL2B,EAAUT,EAAA,CAAA,KAAA,MAAA,CAAA,sBAGZU,GAAUV,EAAA,2BAAyBP,8DACjCkB,EAAUX,EAAA,CAAA,KAAA,MAAA,CAAA,wBARVlB,EAAK,EAAA8B,EAAAC,CAAA,EAAAD,EAAAE,EAAA,EAAA,oBADP/B,EAAM,GAAA6B,EAAAG,CAAA,IAvBZC,OAAAA,EAAAtB,CAAA,KAAAA,EAAAuB,GACYhC,QAAAA,CAAO,EADnBiC,EAAAlB,EAAAN,CAAA,MAFO"}
@@ -0,0 +1,130 @@
1
+ import { render, fireEvent } from '@testing-library/svelte';
2
+ import { describe, it, expect, vi } from 'vitest';
3
+ import NavigationIndicator from './NavigationIndicator.svelte';
4
+ import { tick } from 'svelte';
5
+ describe('NavigationIndicator (Svelte 5)', () => {
6
+ it('renders the correct number of steps', () => {
7
+ const { getAllByRole } = render(NavigationIndicator, {
8
+ props: {
9
+ steps: 5,
10
+ selected: 0,
11
+ },
12
+ });
13
+ const buttons = getAllByRole('button', {
14
+ name: 'Navigation step button',
15
+ });
16
+ expect(buttons).toHaveLength(5);
17
+ });
18
+ it('sets aria-current on the selected step', () => {
19
+ const { getAllByRole } = render(NavigationIndicator, {
20
+ props: {
21
+ steps: 3,
22
+ selected: 1,
23
+ },
24
+ });
25
+ const buttons = getAllByRole('button', {
26
+ name: 'Navigation step button',
27
+ });
28
+ expect(buttons[1].getAttribute('aria-current')).toBe('step');
29
+ expect(buttons[0].getAttribute('aria-current')).toBeNull();
30
+ });
31
+ it('updates selected step on click', async () => {
32
+ const { getAllByRole, component } = render(NavigationIndicator, {
33
+ props: {
34
+ steps: 3,
35
+ selected: 0,
36
+ },
37
+ });
38
+ const buttons = getAllByRole('button', {
39
+ name: 'Navigation step button',
40
+ });
41
+ await fireEvent.click(buttons[2]);
42
+ expect(component.selected).toBe(2);
43
+ });
44
+ it('updates selected step when pressing Enter', async () => {
45
+ const { getAllByRole, component } = render(NavigationIndicator, {
46
+ props: {
47
+ steps: 3,
48
+ selected: 0,
49
+ },
50
+ });
51
+ const buttons = getAllByRole('button', {
52
+ name: 'Navigation step button',
53
+ });
54
+ await fireEvent.keyDown(buttons[1], {
55
+ key: 'Enter',
56
+ code: 'Enter',
57
+ charCode: 13,
58
+ });
59
+ expect(component.selected).toBe(1);
60
+ });
61
+ it('renders action button with label when label is provided', () => {
62
+ const { getByRole } = render(NavigationIndicator, {
63
+ props: {
64
+ steps: 3,
65
+ selected: 0,
66
+ label: 'Play',
67
+ action: 'resume',
68
+ },
69
+ });
70
+ expect(getByRole('button', { name: 'Play' })).not.toBeNull();
71
+ });
72
+ it('renders icon-only action button when no label is provided', () => {
73
+ const { container } = render(NavigationIndicator, {
74
+ props: {
75
+ steps: 3,
76
+ selected: 0,
77
+ action: 'pause',
78
+ },
79
+ });
80
+ // On vérifie simplement qu’un bouton d’action existe
81
+ const buttons = container.querySelectorAll('button');
82
+ expect(buttons.length).toBeGreaterThan(0);
83
+ });
84
+ it('does not render action button when player is false', () => {
85
+ const { container } = render(NavigationIndicator, {
86
+ props: {
87
+ steps: 3,
88
+ selected: 0,
89
+ player: false,
90
+ },
91
+ });
92
+ const buttons = container.querySelectorAll('button');
93
+ // uniquement les boutons de navigation
94
+ expect(buttons).toHaveLength(3);
95
+ });
96
+ it('calls onAction callback when action button is clicked', async () => {
97
+ const onAction = vi.fn();
98
+ const { getByRole } = render(NavigationIndicator, {
99
+ props: {
100
+ steps: 3,
101
+ selected: 0,
102
+ label: 'Play',
103
+ onAction,
104
+ },
105
+ });
106
+ await fireEvent.click(getByRole('button', { name: 'Play' }));
107
+ expect(onAction).toHaveBeenCalledOnce();
108
+ });
109
+ it('dispatches "action" event when action button is clicked', async () => {
110
+ const { container, getByRole } = render(NavigationIndicator, {
111
+ props: { steps: 3, selected: 0, label: 'Play' },
112
+ });
113
+ const button = getByRole('button', { name: 'Play' });
114
+ const handler = vi.fn();
115
+ container.addEventListener('action', handler);
116
+ if (button)
117
+ await fireEvent.click(button);
118
+ await tick();
119
+ expect(handler).toHaveBeenCalledTimes(1);
120
+ });
121
+ it('has correct navigation role and aria-label', () => {
122
+ const { getByRole } = render(NavigationIndicator, {
123
+ props: {
124
+ steps: 2,
125
+ selected: 0,
126
+ },
127
+ });
128
+ expect(getByRole('navigation', { name: 'Navigations steps' })).not.toBeNull();
129
+ });
130
+ });
@@ -0,0 +1,8 @@
1
+ import type { Meta, StoryObj } from '@storybook/web-components-vite';
2
+ import './NavigationIndicator.svelte';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ type Story = StoryObj;
6
+ export declare const Default: Story;
7
+ export declare const Standalone: Story;
8
+ //# sourceMappingURL=NavigationIndicator.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationIndicator.stories.d.ts","sourceRoot":"","sources":["../../../src/components/navigationindicator/NavigationIndicator.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,8BAA8B,CAAC;AAEtC,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,UAAU,EAAE,KAIxB,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { action } from 'storybook/actions';
4
+ import './NavigationIndicator.svelte';
5
+ const meta = {
6
+ title: 'Indicators/Navigation indicator',
7
+ component: 'm-navigation-indicator',
8
+ argTypes: {
9
+ action: {
10
+ control: 'radio',
11
+ options: ['pause', 'resume'],
12
+ table: {
13
+ defaultValue: {
14
+ summary: 'resume',
15
+ },
16
+ },
17
+ },
18
+ },
19
+ args: {
20
+ steps: 6,
21
+ selected: 1,
22
+ },
23
+ render: (args) => html `
24
+ <m-navigation-indicator
25
+ steps="${args.steps}"
26
+ selected="${args.selected}"
27
+ action="${ifDefined(args.action)}"
28
+ label="${ifDefined(args.label)}"
29
+ ?player="${args.player}"
30
+ @action="${action('action')}"
31
+ ></m-navigation-indicator>
32
+ `,
33
+ };
34
+ export default meta;
35
+ export const Default = {};
36
+ export const Standalone = {
37
+ args: {
38
+ player: false,
39
+ },
40
+ };
@@ -0,0 +1,156 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: 'm-navigation-indicator',
4
+ props: {
5
+ player: { reflect: true, type: 'Boolean', attribute: 'player' },
6
+ },
7
+ }}
8
+ />
9
+
10
+ <script lang="ts">
11
+ import Button from '../button/Button.svelte';
12
+ import IconButton from '../iconbutton/IconButton.svelte';
13
+ import { PauseCircle24, PlayCircle24 } from '@mozaic-ds/icons-svelte';
14
+
15
+ /**
16
+ * A navigation indicator visually represents the current position within a sequence or step-based process, helping users track progress or navigate through a series of items. It is commonly used in carousels, onboarding flows, or media players. Navigation indicators can be interactive, allowing users to jump between steps, or passive, simply showing progress.
17
+ * @event action {CustomEvent<void} - Emits when the action button is clicked.
18
+ */
19
+
20
+ interface Props {
21
+ /**
22
+ * The total number of steps to display.
23
+ */
24
+ steps: number;
25
+ /**
26
+ * The index of the currently active step (zero-based).
27
+ */
28
+ selected: number;
29
+ /**
30
+ * The current action state of the button. Can be "pause" to show the pause icon or "resume" to show the play icon.
31
+ */
32
+ action?: 'pause' | 'resume';
33
+ /**
34
+ * The text label displayed in the Resume or Pause button.
35
+ */
36
+ label?: string;
37
+ /**
38
+ * If `true`, hides the Resume or Pause button next to the steps.
39
+ */
40
+ player?: boolean;
41
+ /**
42
+ * Callback triggered on action button click.
43
+ */
44
+ onAction?: () => void;
45
+ }
46
+
47
+ let {
48
+ steps,
49
+ selected = $bindable(),
50
+ action = 'resume',
51
+ label,
52
+ player = true,
53
+ onAction,
54
+ }: Props = $props();
55
+
56
+ let element: HTMLElement;
57
+
58
+ const ActionIcon = $derived(action === 'pause' ? PauseCircle24 : PlayCircle24);
59
+
60
+ function setActiveStep(step: number) {
61
+ selected = step;
62
+ }
63
+
64
+ function onKeydown(event: KeyboardEvent, step: number) {
65
+ if (event.key === 'Enter') {
66
+ setActiveStep(step);
67
+ }
68
+ }
69
+
70
+ function handleAction() {
71
+ onAction?.();
72
+ element.dispatchEvent(new CustomEvent('action', { bubbles: true, composed: true }));
73
+ }
74
+ </script>
75
+
76
+ <div
77
+ bind:this={element}
78
+ class="mc-navigation-indicator"
79
+ role="navigation"
80
+ aria-label="Navigations steps"
81
+ >
82
+ <ul class="mc-navigation-indicator__list">
83
+ {#each Array.from({ length: steps }), index (index)}
84
+ <li class="mc-navigation-indicator__item">
85
+ <button
86
+ class={{
87
+ 'mc-navigation-indicator__button': true,
88
+ 'mc-navigation-indicator__button--active': selected == index,
89
+ }}
90
+ aria-label="Navigation step button"
91
+ {...selected == index ? { 'aria-current': 'step' } : {}}
92
+ onclick={() => setActiveStep(index)}
93
+ onkeydown={(event) => onKeydown(event, index)}
94
+ ></button>
95
+ </li>
96
+ {/each}
97
+ </ul>
98
+
99
+ {#if player}
100
+ {#if label}
101
+ <Button size="s" iconposition="left" ghost onclick={handleAction}>
102
+ {label}
103
+
104
+ <ActionIcon slot="icon" />
105
+ </Button>
106
+ {:else}
107
+ <IconButton size="s" ghost onclick={handleAction}>
108
+ <ActionIcon slot="icon" />
109
+ </IconButton>
110
+ {/if}
111
+ {/if}
112
+ </div>
113
+
114
+ <style>/**
115
+ * Do not edit directly, this file was auto-generated.
116
+ */
117
+ .mc-navigation-indicator {
118
+ display: flex;
119
+ align-items: center;
120
+ gap: 0.5rem;
121
+ max-width: 42rem;
122
+ overflow: scroll;
123
+ }
124
+ .mc-navigation-indicator__list {
125
+ display: flex;
126
+ align-items: center;
127
+ gap: 0.25rem;
128
+ list-style: none;
129
+ margin: 0;
130
+ padding: 0;
131
+ }
132
+ .mc-navigation-indicator__item {
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ }
137
+ .mc-navigation-indicator__button {
138
+ transition: box-shadow 200ms ease;
139
+ width: 1.5rem;
140
+ height: 0.5rem;
141
+ border: none;
142
+ border-radius: var(--border-radius-l, 1rem);
143
+ background-color: var(--navigation-indicator-color-background-default, #c9d0de);
144
+ cursor: pointer;
145
+ transition: height 0.2s ease, height 0.2s ease, background-color 0.2s ease;
146
+ }
147
+ .mc-navigation-indicator__button:focus-visible {
148
+ 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));
149
+ outline: 0.125rem solid transparent;
150
+ outline-offset: 0.125rem;
151
+ }
152
+ .mc-navigation-indicator__button--active {
153
+ width: 3rem;
154
+ height: 0.75rem;
155
+ background-color: var(--navigation-indicator-color-background-active, #464e63);
156
+ }</style>
@@ -0,0 +1,34 @@
1
+ /**
2
+ * A navigation indicator visually represents the current position within a sequence or step-based process, helping users track progress or navigate through a series of items. It is commonly used in carousels, onboarding flows, or media players. Navigation indicators can be interactive, allowing users to jump between steps, or passive, simply showing progress.
3
+ * @event action {CustomEvent<void} - Emits when the action button is clicked.
4
+ */
5
+ interface Props {
6
+ /**
7
+ * The total number of steps to display.
8
+ */
9
+ steps: number;
10
+ /**
11
+ * The index of the currently active step (zero-based).
12
+ */
13
+ selected: number;
14
+ /**
15
+ * The current action state of the button. Can be "pause" to show the pause icon or "resume" to show the play icon.
16
+ */
17
+ action?: 'pause' | 'resume';
18
+ /**
19
+ * The text label displayed in the Resume or Pause button.
20
+ */
21
+ label?: string;
22
+ /**
23
+ * If `true`, hides the Resume or Pause button next to the steps.
24
+ */
25
+ player?: boolean;
26
+ /**
27
+ * Callback triggered on action button click.
28
+ */
29
+ onAction?: () => void;
30
+ }
31
+ declare const NavigationIndicator: import("svelte").Component<Props, {}, "selected">;
32
+ type NavigationIndicator = ReturnType<typeof NavigationIndicator>;
33
+ export default NavigationIndicator;
34
+ //# sourceMappingURL=NavigationIndicator.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationIndicator.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/navigationindicator/NavigationIndicator.svelte.ts"],"names":[],"mappings":"AAQE;;;GAGG;AAEH,UAAU,KAAK;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AA0EH,QAAA,MAAM,mBAAmB,mDAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,21 @@
1
+ # `m-navigation-indicator`
2
+
3
+ A navigation indicator visually represents the current position within a sequence or step-based process, helping users track progress or navigate through a series of items. It is commonly used in carousels, onboarding flows, or media players. Navigation indicators can be interactive, allowing users to jump between steps, or passive, simply showing progress.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `steps*` | The total number of steps to display. | `number` | |
10
+ | `selected*` | The index of the currently active step (zero-based). | `number` | `$bindable()` |
11
+ | `action` | The current action state of the button. Can be "pause" to show the pause icon or "resume" to show the play icon. | `'pause'` `'resume'` | `resume` |
12
+ | `label` | The text label displayed in the Resume or Pause button. | `string` | |
13
+ | `player` | If `true`, hides the Resume or Pause button next to the steps. | `boolean` | `true` |
14
+ | `onAction` | Callback triggered on action button click. | `() => void` | |
15
+
16
+ ## Events
17
+
18
+ | Name | Description | Type |
19
+ |------|------|-------------|
20
+ | `action` | Emits when the action button is clicked. | `CustomEvent<void` |
21
+
@@ -1,4 +1,4 @@
1
- import{c as m,p as f,a as g,b as o,t as u,f as v,g as p,h,i as x,j as d,d as z,r as k,e as _}from"../../custom-element.js";import{a as y}from"../../attributes.js";var w=h("<div> </div>");const $={hash:"svelte-sb883",code:`/**
1
+ import{c as m,e as f,a as g,p as o,t as u,b as v,d as p,f as h,n as x,i as d,j as z,r as k,m as _}from"../../custom-element.js";import{a as y}from"../../attributes.js";var w=h("<div> </div>");const $={hash:"svelte-sb883",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-number-badge.svelte-sb883 {color:var(--number-badge-color-text-standard, #ffffff);background-color:var(--number-badge-color-background-standard, #464e63);height:1rem;min-width:1rem;padding-inline:0.125rem;font-size:var(--font-size-25, 0.625rem);border-radius:var(--border-radius-l, 1rem);font-weight:var(--font-weight-semi-bold, 600);display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;line-height:1;}.mc-number-badge--m.svelte-sb883 {height:1.5rem;min-width:1.5rem;padding-inline:0.25rem;font-size:var(--font-size-50, 0.75rem);}.mc-number-badge--accent.svelte-sb883 {color:var(--number-badge-color-text-accent, #ffffff);background-color:var(--number-badge-color-background-accent, #117f03);}.mc-number-badge--danger.svelte-sb883 {color:var(--number-badge-color-text-danger, #ffffff);background-color:var(--number-badge-color-background-danger, #c61112);}.mc-number-badge--inverse.svelte-sb883 {color:var(--number-badge-color-text-inverse, #464e63);background-color:var(--number-badge-color-background-inverse, #ffffff);}`};function j(b,e){f(e,!0),g(b,$);let t=o(e,"label",7),n=o(e,"appearance",7,"standard"),s=o(e,"size",7,"s"),c=x(e,["$$slots","$$events","$$legacy","$$host","label","appearance","size"]);var i={get label(){return t()},set label(r){t(r),d()},get appearance(){return n()},set appearance(r="standard"){n(r),d()},get size(){return s()},set size(r="s"){s(r),d()}},a=w();y(a,()=>({class:["mc-number-badge",`mc-number-badge--${n()}`,`mc-number-badge--${s()}`],...c}),void 0,void 0,void 0,"svelte-sb883");var l=z(a,!0);return k(a),u(()=>_(l,t())),v(b,a),p(i)}customElements.define("m-number-badge",m(j,{label:{},appearance:{},size:{}},[],[],!0));export{j as N};
3
+ */.mc-number-badge.svelte-sb883 {color:var(--number-badge-color-text-standard, #ffffff);background-color:var(--number-badge-color-background-standard, #464e63);height:1rem;min-width:1rem;padding-inline:0.125rem;font-size:var(--font-size-25, 0.625rem);border-radius:var(--border-radius-l, 1rem);font-weight:var(--font-weight-semi-bold, 600);display:inline-flex;align-items:center;box-sizing:border-box;justify-content:center;line-height:1;}.mc-number-badge--m.svelte-sb883 {height:1.5rem;min-width:1.5rem;padding-inline:0.25rem;font-size:var(--font-size-50, 0.75rem);}.mc-number-badge--accent.svelte-sb883 {color:var(--number-badge-color-text-accent, #ffffff);background-color:var(--number-badge-color-background-accent, #117f03);}.mc-number-badge--danger.svelte-sb883 {color:var(--number-badge-color-text-danger, #ffffff);background-color:var(--number-badge-color-background-danger, #c61112);}.mc-number-badge--inverse.svelte-sb883 {color:var(--number-badge-color-text-inverse, #464e63);background-color:var(--number-badge-color-background-inverse, #ffffff);}`};function j(b,e){f(e,!0),g(b,$);let t=o(e,"label",7),n=o(e,"appearance",7,"standard"),s=o(e,"size",7,"s"),c=x(e,["$$slots","$$events","$$legacy","$$host","label","appearance","size"]);var i={get label(){return t()},set label(r){t(r),d()},get appearance(){return n()},set appearance(r="standard"){n(r),d()},get size(){return s()},set size(r="s"){s(r),d()}},a=w();y(a,()=>({class:["mc-number-badge",`mc-number-badge--${n()}`,`mc-number-badge--${s()}`],...c}),void 0,void 0,void 0,"svelte-sb883");var l=z(a,!0);return k(a),u(()=>_(l,t())),v(b,a),p(i)}customElements.define("m-number-badge",m(j,{label:{},appearance:{},size:{}},[],[],{mode:"open"}));export{j as N};
4
4
  //# sourceMappingURL=NumberBadge.js.map
@@ -1,4 +1,4 @@
1
- import{c as m,p,a as u,b as r,t as y,f,g,h as _,d as v,j as n,r as d,l as h,m as x}from"../../custom-element.js";import{s as k}from"../../slot.js";import{s as z}from"../../attributes.js";var O=_('<div><div role="dialog" tabindex="-1"><!></div></div>');const j={hash:"svelte-smp867",code:`/**
1
+ import{c as m,e as p,a as y,p as r,t as u,b as f,d as g,f as _,j as v,i as n,r as d,s as h,h as x}from"../../custom-element.js";import{s as k}from"../../slot.js";import{s as z}from"../../attributes.js";var O=_('<div><div role="dialog" tabindex="-1"><!></div></div>');const j={hash:"svelte-smp867",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-overlay.svelte-smp867 {background-color:var(--overlay-color-background, rgba(0, 0, 0, 0.5));inset:0;opacity:0;position:fixed;pointer-events:none;transition:opacity 0.4s ease, visibility 0ms 0.4s;z-index:var(--overlay-z-index, 2);}.mc-overlay.is-visible.svelte-smp867 {opacity:1;pointer-events:all;transition:opacity 0.4s ease, visibility 0ms;visibility:visible;}`};function w(o,e){p(e,!0),u(o,j);let s=r(e,"isvisible",7),t=r(e,"dialoglabel",7);var b={get isvisible(){return s()},set isvisible(l){s(l),n()},get dialoglabel(){return t()},set dialoglabel(l){t(l),n()}},i=O(),a=v(i),c=v(a);return k(c,e,"default",{},null),d(a),d(i),y(()=>{h(i,1,x(["mc-overlay",s()&&"is-visible"]),"svelte-smp867"),z(a,"aria-labelledby",t())}),f(o,i),g(b)}customElements.define("m-overlay",m(w,{isvisible:{attribute:"isvisible",reflect:!0,type:"Boolean"},dialoglabel:{}},["default"],[],!0));export{w as O};
3
+ */.mc-overlay.svelte-smp867 {background-color:var(--overlay-color-background, rgba(0, 0, 0, 0.5));inset:0;opacity:0;position:fixed;pointer-events:none;transition:opacity 0.4s ease, visibility 0ms 0.4s;z-index:var(--overlay-z-index, 2);}.mc-overlay.is-visible.svelte-smp867 {opacity:1;pointer-events:all;transition:opacity 0.4s ease, visibility 0ms;visibility:visible;}`};function w(o,e){p(e,!0),y(o,j);let s=r(e,"isvisible",7),a=r(e,"dialoglabel",7);var b={get isvisible(){return s()},set isvisible(l){s(l),n()},get dialoglabel(){return a()},set dialoglabel(l){a(l),n()}},i=O(),t=v(i),c=v(t);return k(c,e,"default",{},null),d(t),d(i),u(()=>{h(i,1,x(["mc-overlay",s()&&"is-visible"]),"svelte-smp867"),z(t,"aria-labelledby",a())}),f(o,i),g(b)}customElements.define("m-overlay",m(w,{isvisible:{attribute:"isvisible",reflect:!0,type:"Boolean"},dialoglabel:{}},["default"],[],{mode:"open"}));export{w as O};
4
4
  //# sourceMappingURL=Overlay.js.map