@mozaic-ds/web-components 1.5.1 → 1.7.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 (429) 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 +16 -0
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +16 -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 +158 -12
  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/combobox/Combobox.js +4 -0
  69. package/dist/components/combobox/Combobox.js.map +1 -0
  70. package/dist/components/combobox/Combobox.spec.js +186 -0
  71. package/dist/components/combobox/Combobox.stories.d.ts +17 -0
  72. package/dist/components/combobox/Combobox.stories.d.ts.map +1 -0
  73. package/dist/components/combobox/Combobox.stories.js +126 -0
  74. package/dist/components/combobox/Combobox.svelte +415 -0
  75. package/dist/components/combobox/Combobox.svelte.d.ts +99 -0
  76. package/dist/components/combobox/Combobox.svelte.d.ts.map +1 -0
  77. package/dist/components/combobox/README.md +38 -0
  78. package/dist/components/container/Container.js +2 -2
  79. package/dist/components/datepicker/Datepicker.js +3 -3
  80. package/dist/components/datepicker/Datepicker.js.map +1 -1
  81. package/dist/components/datepicker/Datepicker.stories.d.ts +1 -1
  82. package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
  83. package/dist/components/datepicker/Datepicker.stories.js +2 -2
  84. package/dist/components/datepicker/Datepicker.svelte +34 -9
  85. package/dist/components/divider/Divider.js +2 -2
  86. package/dist/components/divider/Divider.js.map +1 -1
  87. package/dist/components/divider/Divider.svelte +6 -1
  88. package/dist/components/divider/Divider.svelte.d.ts.map +1 -1
  89. package/dist/components/drawer/Drawer.js +4 -4
  90. package/dist/components/drawer/Drawer.js.map +1 -1
  91. package/dist/components/drawer/Drawer.svelte +6 -2
  92. package/dist/components/field/Field.js +3 -3
  93. package/dist/components/field/Field.js.map +1 -1
  94. package/dist/components/field/Field.spec.js +1 -1
  95. package/dist/components/field/Field.svelte +7 -3
  96. package/dist/components/fileuploader/FileUploader.js +2 -2
  97. package/dist/components/fileuploader/FileUploader.js.map +1 -1
  98. package/dist/components/fileuploader/FileUploader.stories.js +3 -3
  99. package/dist/components/fileuploader/FileUploader.svelte +5 -5
  100. package/dist/components/fileuploaderitem/FileUploaderItem.js +3 -3
  101. package/dist/components/fileuploaderitem/FileUploaderItem.svelte +1 -4
  102. package/dist/components/flag/Flag.js +2 -2
  103. package/dist/components/iconbutton/IconButton.js +2 -2
  104. package/dist/components/iconbutton/IconButton.js.map +1 -1
  105. package/dist/components/iconbutton/IconButton.svelte +11 -1
  106. package/dist/components/iconbutton/IconButton.svelte.d.ts +3 -1
  107. package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
  108. package/dist/components/kpiitem/KpiItem.js +2 -2
  109. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  110. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  111. package/dist/components/link/Link.js +2 -2
  112. package/dist/components/link/Link.stories.js +2 -2
  113. package/dist/components/loader/Loader.js +2 -2
  114. package/dist/components/loadingoverlay/LoadingOverlay.js +2 -2
  115. package/dist/components/loadingoverlay/LoadingOverlay.svelte +1 -1
  116. package/dist/components/modal/Modal.js +5 -5
  117. package/dist/components/modal/Modal.js.map +1 -1
  118. package/dist/components/modal/Modal.spec.js +3 -1
  119. package/dist/components/modal/Modal.svelte +14 -4
  120. package/dist/components/modal/Modal.svelte.d.ts +4 -0
  121. package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
  122. package/dist/components/modal/README.md +1 -0
  123. package/dist/components/navigationindicator/NavigationIndicator.js +4 -0
  124. package/dist/components/navigationindicator/NavigationIndicator.js.map +1 -0
  125. package/dist/components/navigationindicator/NavigationIndicator.spec.js +130 -0
  126. package/dist/components/navigationindicator/NavigationIndicator.stories.d.ts +8 -0
  127. package/dist/components/navigationindicator/NavigationIndicator.stories.d.ts.map +1 -0
  128. package/dist/components/navigationindicator/NavigationIndicator.stories.js +40 -0
  129. package/dist/components/navigationindicator/NavigationIndicator.svelte +156 -0
  130. package/dist/components/navigationindicator/NavigationIndicator.svelte.d.ts +34 -0
  131. package/dist/components/navigationindicator/NavigationIndicator.svelte.d.ts.map +1 -0
  132. package/dist/components/navigationindicator/README.md +21 -0
  133. package/dist/components/numberbadge/NumberBadge.js +2 -2
  134. package/dist/components/optionlistbox/OptionListbox.js +23 -0
  135. package/dist/components/optionlistbox/OptionListbox.js.map +1 -0
  136. package/dist/components/optionlistbox/OptionListbox.spec.js +350 -0
  137. package/dist/components/optionlistbox/OptionListbox.svelte +566 -0
  138. package/dist/components/optionlistbox/OptionListbox.svelte.d.ts +92 -0
  139. package/dist/components/optionlistbox/OptionListbox.svelte.d.ts.map +1 -0
  140. package/dist/components/optionlistbox/README.md +38 -0
  141. package/dist/components/overlay/Overlay.js +2 -2
  142. package/dist/components/overlay/Overlay.svelte +2 -2
  143. package/dist/components/pageheader/PageHeader.js +24 -0
  144. package/dist/components/pageheader/PageHeader.js.map +1 -0
  145. package/dist/components/pageheader/PageHeader.spec.js +75 -0
  146. package/dist/components/pageheader/PageHeader.stories.d.ts +12 -0
  147. package/dist/components/pageheader/PageHeader.stories.d.ts.map +1 -0
  148. package/dist/components/pageheader/PageHeader.stories.js +82 -0
  149. package/dist/components/pageheader/PageHeader.svelte +268 -0
  150. package/dist/components/pageheader/PageHeader.svelte.d.ts +66 -0
  151. package/dist/components/pageheader/PageHeader.svelte.d.ts.map +1 -0
  152. package/dist/components/pageheader/README.md +32 -0
  153. package/dist/components/pagination/Pagination.js +8 -8
  154. package/dist/components/pagination/Pagination.js.map +1 -1
  155. package/dist/components/pagination/Pagination.svelte +44 -28
  156. package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
  157. package/dist/components/passwordinput/PasswordInput.js +4 -4
  158. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  159. package/dist/components/passwordinput/PasswordInput.stories.d.ts +1 -1
  160. package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
  161. package/dist/components/passwordinput/PasswordInput.stories.js +2 -2
  162. package/dist/components/passwordinput/PasswordInput.svelte +16 -6
  163. package/dist/components/phonenumber/PhoneNumber.js +13 -11
  164. package/dist/components/phonenumber/PhoneNumber.js.map +1 -1
  165. package/dist/components/phonenumber/PhoneNumber.stories.d.ts +1 -1
  166. package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -1
  167. package/dist/components/phonenumber/PhoneNumber.stories.js +2 -2
  168. package/dist/components/phonenumber/PhoneNumber.svelte +87 -39
  169. package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -1
  170. package/dist/components/pincode/Pincode.js +2 -2
  171. package/dist/components/pincode/Pincode.js.map +1 -1
  172. package/dist/components/pincode/Pincode.stories.d.ts +1 -1
  173. package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
  174. package/dist/components/pincode/Pincode.stories.js +2 -2
  175. package/dist/components/popover/Popover.js +6 -0
  176. package/dist/components/popover/Popover.js.map +1 -0
  177. package/dist/components/popover/Popover.spec.js +69 -0
  178. package/dist/components/popover/Popover.stories.d.ts +36 -0
  179. package/dist/components/popover/Popover.stories.d.ts.map +1 -0
  180. package/dist/components/popover/Popover.stories.js +124 -0
  181. package/dist/components/popover/Popover.svelte +348 -0
  182. package/dist/components/popover/Popover.svelte.d.ts +79 -0
  183. package/dist/components/popover/Popover.svelte.d.ts.map +1 -0
  184. package/dist/components/popover/README.md +25 -0
  185. package/dist/components/quantityselector/QuantitySelector.js +3 -3
  186. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  187. package/dist/components/quantityselector/QuantitySelector.stories.js +1 -1
  188. package/dist/components/quantityselector/QuantitySelector.svelte +4 -4
  189. package/dist/components/radio/Radio.js +2 -2
  190. package/dist/components/radio/Radio.js.map +1 -1
  191. package/dist/components/radiogroup/RadioGroup.js +2 -2
  192. package/dist/components/radiogroup/RadioGroup.js.map +1 -1
  193. package/dist/components/radiogroup/RadioGroup.svelte +6 -2
  194. package/dist/components/segmentedcontrol/README.md +6 -3
  195. package/dist/components/segmentedcontrol/SegmentedControl.js +2 -2
  196. package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -1
  197. package/dist/components/segmentedcontrol/SegmentedControl.spec.js +60 -23
  198. package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -1
  199. package/dist/components/segmentedcontrol/SegmentedControl.stories.js +6 -1
  200. package/dist/components/segmentedcontrol/SegmentedControl.svelte +23 -10
  201. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts +10 -3
  202. package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -1
  203. package/dist/components/select/Select.js +3 -3
  204. package/dist/components/select/Select.js.map +1 -1
  205. package/dist/components/select/Select.spec.js +2 -2
  206. package/dist/components/select/Select.stories.d.ts +1 -1
  207. package/dist/components/select/Select.stories.d.ts.map +1 -1
  208. package/dist/components/select/Select.stories.js +2 -2
  209. package/dist/components/select/Select.svelte +50 -31
  210. package/dist/components/select/Select.svelte.d.ts.map +1 -1
  211. package/dist/components/sidebar/README.md +28 -0
  212. package/dist/components/sidebar/Sidebar.js +18 -0
  213. package/dist/components/sidebar/Sidebar.js.map +1 -0
  214. package/dist/components/sidebar/Sidebar.spec.js +74 -0
  215. package/dist/components/sidebar/Sidebar.stories.d.ts +23 -0
  216. package/dist/components/sidebar/Sidebar.stories.d.ts.map +1 -0
  217. package/dist/components/sidebar/Sidebar.stories.js +333 -0
  218. package/dist/components/sidebar/Sidebar.svelte +570 -0
  219. package/dist/components/sidebar/Sidebar.svelte.d.ts +47 -0
  220. package/dist/components/sidebar/Sidebar.svelte.d.ts.map +1 -0
  221. package/dist/components/sidebar/floating-item.spec.js +96 -0
  222. package/dist/components/sidebar/floating-item.svelte.d.ts +13 -0
  223. package/dist/components/sidebar/floating-item.svelte.d.ts.map +1 -0
  224. package/dist/components/sidebar/floating-item.svelte.js +95 -0
  225. package/dist/components/sidebar/sidebar-state.spec.js +112 -0
  226. package/dist/components/sidebar/sidebar-state.svelte.d.ts +9 -0
  227. package/dist/components/sidebar/sidebar-state.svelte.d.ts.map +1 -0
  228. package/dist/components/sidebar/sidebar-state.svelte.js +36 -0
  229. package/dist/components/sidebarexpandableitem/README.md +19 -0
  230. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.js +18 -0
  231. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.js.map +1 -0
  232. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.spec.js +85 -0
  233. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.svelte +578 -0
  234. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.svelte.d.ts +49 -0
  235. package/dist/components/sidebarexpandableitem/SidebarExpandableItem.svelte.d.ts.map +1 -0
  236. package/dist/components/sidebarfooter/README.md +29 -0
  237. package/dist/components/sidebarfooter/SidebarFooter.js +18 -0
  238. package/dist/components/sidebarfooter/SidebarFooter.js.map +1 -0
  239. package/dist/components/sidebarfooter/SidebarFooter.spec.js +132 -0
  240. package/dist/components/sidebarfooter/SidebarFooter.svelte +1018 -0
  241. package/dist/components/sidebarfooter/SidebarFooter.svelte.d.ts +60 -0
  242. package/dist/components/sidebarfooter/SidebarFooter.svelte.d.ts.map +1 -0
  243. package/dist/components/sidebarfooter/_SidebarFooterMenu.js +18 -0
  244. package/dist/components/sidebarfooter/_SidebarFooterMenu.js.map +1 -0
  245. package/dist/components/sidebarfooter/_SidebarFooterMenu.svelte +517 -0
  246. package/dist/components/sidebarfooter/_SidebarFooterMenu.svelte.d.ts +36 -0
  247. package/dist/components/sidebarfooter/_SidebarFooterMenu.svelte.d.ts.map +1 -0
  248. package/dist/components/sidebarheader/README.md +11 -0
  249. package/dist/components/sidebarheader/SidebarHeader.js +18 -0
  250. package/dist/components/sidebarheader/SidebarHeader.js.map +1 -0
  251. package/dist/components/sidebarheader/SidebarHeader.spec.js +37 -0
  252. package/dist/components/sidebarheader/SidebarHeader.svelte +499 -0
  253. package/dist/components/sidebarheader/SidebarHeader.svelte.d.ts +17 -0
  254. package/dist/components/sidebarheader/SidebarHeader.svelte.d.ts.map +1 -0
  255. package/dist/components/sidebarnavitem/README.md +30 -0
  256. package/dist/components/sidebarnavitem/SidebarNavItem.js +18 -0
  257. package/dist/components/sidebarnavitem/SidebarNavItem.js.map +1 -0
  258. package/dist/components/sidebarnavitem/SidebarNavItem.spec.js +95 -0
  259. package/dist/components/sidebarnavitem/SidebarNavItem.svelte +617 -0
  260. package/dist/components/sidebarnavitem/SidebarNavItem.svelte.d.ts +58 -0
  261. package/dist/components/sidebarnavitem/SidebarNavItem.svelte.d.ts.map +1 -0
  262. package/dist/components/sidebarshortcutitem/README.md +17 -0
  263. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.js +18 -0
  264. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.js.map +1 -0
  265. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.spec.js +34 -0
  266. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.svelte +509 -0
  267. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.svelte.d.ts +35 -0
  268. package/dist/components/sidebarshortcutitem/SidebarShortcutItem.svelte.d.ts.map +1 -0
  269. package/dist/components/sidebarshortcuts/README.md +23 -0
  270. package/dist/components/sidebarshortcuts/SidebarShortcuts.js +18 -0
  271. package/dist/components/sidebarshortcuts/SidebarShortcuts.js.map +1 -0
  272. package/dist/components/sidebarshortcuts/SidebarShortcuts.spec.js +82 -0
  273. package/dist/components/sidebarshortcuts/SidebarShortcuts.svelte +583 -0
  274. package/dist/components/sidebarshortcuts/SidebarShortcuts.svelte.d.ts +42 -0
  275. package/dist/components/sidebarshortcuts/SidebarShortcuts.svelte.d.ts.map +1 -0
  276. package/dist/components/starrating/StarRating.js +2 -2
  277. package/dist/components/starrating/StarRating.js.map +1 -1
  278. package/dist/components/starrating/StarRating.stories.d.ts +5 -5
  279. package/dist/components/starrating/StarRating.stories.d.ts.map +1 -1
  280. package/dist/components/starrating/StarRating.stories.js +5 -5
  281. package/dist/components/statusbadge/StatusBadge.js +2 -2
  282. package/dist/components/statusdot/StatusDot.js +2 -2
  283. package/dist/components/statusmessage/StatusMessage.js +2 -2
  284. package/dist/components/statusmessage/StatusMessage.js.map +1 -1
  285. package/dist/components/statusmessage/StatusMessage.svelte +5 -0
  286. package/dist/components/statusnotification/StatusNotification.js +2 -2
  287. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  288. package/dist/components/statusnotification/StatusNotification.stories.d.ts +3 -3
  289. package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
  290. package/dist/components/statusnotification/StatusNotification.stories.js +3 -3
  291. package/dist/components/statusnotification/StatusNotification.svelte +9 -1
  292. package/dist/components/stepperbottombar/StepperBottomBar.js +3 -3
  293. package/dist/components/stepperbottombar/StepperBottomBar.svelte +5 -1
  294. package/dist/components/stepperbottombar/StepperBottomBar.svelte.d.ts +1 -1
  295. package/dist/components/steppercompact/StepperCompact.js +2 -2
  296. package/dist/components/stepperinline/README.md +6 -2
  297. package/dist/components/stepperinline/StepperInline.js +3 -3
  298. package/dist/components/stepperinline/StepperInline.js.map +1 -1
  299. package/dist/components/stepperinline/StepperInline.spec.js +57 -23
  300. package/dist/components/stepperinline/StepperInline.stories.d.ts.map +1 -1
  301. package/dist/components/stepperinline/StepperInline.stories.js +6 -11
  302. package/dist/components/stepperinline/StepperInline.svelte +24 -11
  303. package/dist/components/stepperinline/StepperInline.svelte.d.ts +11 -3
  304. package/dist/components/stepperinline/StepperInline.svelte.d.ts.map +1 -1
  305. package/dist/components/stepperstacked/README.md +15 -0
  306. package/dist/components/stepperstacked/StepperStacked.js +18 -0
  307. package/dist/components/stepperstacked/StepperStacked.js.map +1 -0
  308. package/dist/components/stepperstacked/StepperStacked.spec.js +138 -0
  309. package/dist/components/stepperstacked/StepperStacked.stories.d.ts +8 -0
  310. package/dist/components/stepperstacked/StepperStacked.stories.d.ts.map +1 -0
  311. package/dist/components/stepperstacked/StepperStacked.stories.js +33 -0
  312. package/dist/components/stepperstacked/StepperStacked.svelte +214 -0
  313. package/dist/components/stepperstacked/StepperStacked.svelte.d.ts +35 -0
  314. package/dist/components/stepperstacked/StepperStacked.svelte.d.ts.map +1 -0
  315. package/dist/components/tab/README.md +1 -0
  316. package/dist/components/tab/Tab.js +2 -2
  317. package/dist/components/tab/Tab.js.map +1 -1
  318. package/dist/components/tab/Tab.svelte +17 -1
  319. package/dist/components/tab/Tab.svelte.d.ts +4 -0
  320. package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
  321. package/dist/components/tabs/Tabs.js +2 -2
  322. package/dist/components/tabs/Tabs.stories.d.ts +1 -0
  323. package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
  324. package/dist/components/tabs/Tabs.stories.js +11 -1
  325. package/dist/components/tag/README.md +1 -0
  326. package/dist/components/tag/Tag.js +2 -2
  327. package/dist/components/tag/Tag.js.map +1 -1
  328. package/dist/components/tag/Tag.svelte +15 -5
  329. package/dist/components/tag/Tag.svelte.d.ts +4 -0
  330. package/dist/components/tag/Tag.svelte.d.ts.map +1 -1
  331. package/dist/components/textarea/Textarea.js +2 -2
  332. package/dist/components/textarea/Textarea.js.map +1 -1
  333. package/dist/components/textarea/Textarea.stories.d.ts +1 -1
  334. package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
  335. package/dist/components/textarea/Textarea.stories.js +2 -2
  336. package/dist/components/textarea/Textarea.svelte +1 -0
  337. package/dist/components/textinput/README.md +3 -0
  338. package/dist/components/textinput/Textinput.js +5 -5
  339. package/dist/components/textinput/Textinput.js.map +1 -1
  340. package/dist/components/textinput/Textinput.stories.d.ts +11 -1
  341. package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
  342. package/dist/components/textinput/Textinput.stories.js +21 -29
  343. package/dist/components/textinput/Textinput.svelte +33 -5
  344. package/dist/components/textinput/Textinput.svelte.d.ts +10 -1
  345. package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
  346. package/dist/components/tile/README.md +19 -0
  347. package/dist/components/tile/Tile.js +111 -0
  348. package/dist/components/tile/Tile.js.map +1 -0
  349. package/dist/components/tile/Tile.spec.js +21 -0
  350. package/dist/components/tile/Tile.stories.d.ts +10 -0
  351. package/dist/components/tile/Tile.stories.d.ts.map +1 -0
  352. package/dist/components/tile/Tile.stories.js +37 -0
  353. package/dist/components/tile/Tile.svelte +894 -0
  354. package/dist/components/tile/Tile.svelte.d.ts +48 -0
  355. package/dist/components/tile/Tile.svelte.d.ts.map +1 -0
  356. package/dist/components/tileclickable/README.md +31 -0
  357. package/dist/components/tileclickable/TileClickable.js +114 -0
  358. package/dist/components/tileclickable/TileClickable.js.map +1 -0
  359. package/dist/components/tileclickable/TileClickable.spec.js +62 -0
  360. package/dist/components/tileclickable/TileClickable.stories.d.ts +10 -0
  361. package/dist/components/tileclickable/TileClickable.stories.d.ts.map +1 -0
  362. package/dist/components/tileclickable/TileClickable.stories.js +52 -0
  363. package/dist/components/tileclickable/TileClickable.svelte +954 -0
  364. package/dist/components/tileclickable/TileClickable.svelte.d.ts +65 -0
  365. package/dist/components/tileclickable/TileClickable.svelte.d.ts.map +1 -0
  366. package/dist/components/tileexpandable/README.md +20 -0
  367. package/dist/components/tileexpandable/TileExpandable.js +114 -0
  368. package/dist/components/tileexpandable/TileExpandable.js.map +1 -0
  369. package/dist/components/tileexpandable/TileExpandable.spec.js +65 -0
  370. package/dist/components/tileexpandable/TileExpandable.stories.d.ts +7 -0
  371. package/dist/components/tileexpandable/TileExpandable.stories.d.ts.map +1 -0
  372. package/dist/components/tileexpandable/TileExpandable.stories.js +38 -0
  373. package/dist/components/tileexpandable/TileExpandable.svelte +956 -0
  374. package/dist/components/tileexpandable/TileExpandable.svelte.d.ts +53 -0
  375. package/dist/components/tileexpandable/TileExpandable.svelte.d.ts.map +1 -0
  376. package/dist/components/tileselectable/README.md +21 -0
  377. package/dist/components/tileselectable/TileSelectable.js +108 -0
  378. package/dist/components/tileselectable/TileSelectable.js.map +1 -0
  379. package/dist/components/tileselectable/TileSelectable.spec.js +57 -0
  380. package/dist/components/tileselectable/TileSelectable.stories.d.ts +9 -0
  381. package/dist/components/tileselectable/TileSelectable.stories.d.ts.map +1 -0
  382. package/dist/components/tileselectable/TileSelectable.stories.js +44 -0
  383. package/dist/components/tileselectable/TileSelectable.svelte +939 -0
  384. package/dist/components/tileselectable/TileSelectable.svelte.d.ts +57 -0
  385. package/dist/components/tileselectable/TileSelectable.svelte.d.ts.map +1 -0
  386. package/dist/components/toaster/Toaster.js +3 -3
  387. package/dist/components/toaster/Toaster.js.map +1 -1
  388. package/dist/components/toaster/Toaster.stories.d.ts +2 -2
  389. package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
  390. package/dist/components/toaster/Toaster.stories.js +2 -2
  391. package/dist/components/toaster/Toaster.svelte +11 -3
  392. package/dist/components/toggle/Toggle.js +2 -2
  393. package/dist/components/toggle/Toggle.js.map +1 -1
  394. package/dist/components/toggle/Toggle.svelte +0 -14
  395. package/dist/components/togglegroup/ToggleGroup.js +2 -2
  396. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  397. package/dist/components/togglegroup/ToggleGroup.svelte +6 -16
  398. package/dist/components/tooltip/README.md +1 -0
  399. package/dist/components/tooltip/Tooltip.js +2 -2
  400. package/dist/components/tooltip/Tooltip.js.map +1 -1
  401. package/dist/components/tooltip/Tooltip.svelte +18 -10
  402. package/dist/components/tooltip/Tooltip.svelte.d.ts +4 -0
  403. package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
  404. package/dist/custom-element.js +3 -3
  405. package/dist/custom-element.js.map +1 -1
  406. package/dist/documentation/DarkMode.mdx +115 -0
  407. package/dist/each.js +1 -1
  408. package/dist/each.js.map +1 -1
  409. package/dist/floating-item.svelte.js +2 -0
  410. package/dist/floating-item.svelte.js.map +1 -0
  411. package/dist/if.js +1 -1
  412. package/dist/if.js.map +1 -1
  413. package/dist/index-client.js +1 -1
  414. package/dist/index-client.js.map +1 -1
  415. package/dist/input.js +1 -1
  416. package/dist/main.d.ts +17 -1
  417. package/dist/main.d.ts.map +1 -1
  418. package/dist/main.js +17 -1
  419. package/dist/media-query.js +2 -0
  420. package/dist/media-query.js.map +1 -0
  421. package/dist/sidebar-state.svelte.js +2 -0
  422. package/dist/sidebar-state.svelte.js.map +1 -0
  423. package/dist/slot.js +1 -1
  424. package/dist/svelte-component.js +1 -1
  425. package/dist/svelte-component.js.map +1 -1
  426. package/dist/svelte-element.js +1 -1
  427. package/dist/svelte-element.js.map +1 -1
  428. package/dist/this.js +1 -1
  429. package/package.json +3 -2
@@ -0,0 +1,124 @@
1
+ import { html } from 'lit';
2
+ import { ifDefined } from 'lit-html/directives/if-defined.js';
3
+ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
4
+ import './Popover.svelte';
5
+ import '../button/Button.svelte';
6
+ import '../link/Link.svelte';
7
+ import '@mozaic-ds/icons-svelte/components/ExternalLink24/ExternalLink24.svelte';
8
+ const meta = {
9
+ title: 'Overlay/Popover',
10
+ component: 'm-popover',
11
+ tags: ['v2'],
12
+ parameters: {
13
+ layout: 'centered',
14
+ },
15
+ argTypes: {
16
+ position: {
17
+ control: 'radio',
18
+ options: ['top', 'left', 'right', 'bottom'],
19
+ },
20
+ appearance: {
21
+ control: 'radio',
22
+ options: ['standard', 'inverse'],
23
+ },
24
+ size: {
25
+ control: 'radio',
26
+ options: ['s', 'm', 'l'],
27
+ },
28
+ },
29
+ args: {
30
+ open: true,
31
+ title: 'Title',
32
+ description: 'Description',
33
+ footer: `
34
+ <m-button slot="footer" size="s" aria-label="Popover action button">
35
+ Button label
36
+ </m-button>
37
+ `,
38
+ },
39
+ render: (args) => {
40
+ return html `
41
+ <m-popover
42
+ ?open="${args.open}"
43
+ appearance="${ifDefined(args.appearance)}"
44
+ position="${ifDefined(args.position)}"
45
+ ?pointer="${args.pointer}"
46
+ ?closable="${args.closable}"
47
+ size="${ifDefined(args.size)}"
48
+ title="${ifDefined(args.title)}"
49
+ description="${ifDefined(args.description)}"
50
+ >
51
+ <m-button
52
+ slot="activator"
53
+ @click="${() => {
54
+ const popover = document.querySelector('m-popover');
55
+ popover.open = !popover.open;
56
+ }}"
57
+ >
58
+ Activator
59
+ </m-button>
60
+ ${unsafeHTML(ifDefined(args.default))} ${unsafeHTML(ifDefined(args.footer))}
61
+ </m-popover>
62
+ `;
63
+ },
64
+ };
65
+ export default meta;
66
+ export const Default = {};
67
+ export const Inverse = {
68
+ args: {
69
+ appearance: 'inverse',
70
+ footer: `
71
+ <m-link slot="footer" appearance="inverse" href="#" size="s" icon-position="right">
72
+ Stand-alone link
73
+ <template #icon><ExternalLink24 /></template>
74
+ </m-link>
75
+ <m-button slot="footer" appearance="inverse" size="s" aria-label="Popover action button">
76
+ Button label
77
+ </m-button>
78
+ `,
79
+ },
80
+ };
81
+ export const ValidationOnly = {
82
+ args: {
83
+ footer: `
84
+ <m-button slot="footer" size="s" aria-label="Popover action button">
85
+ Button label
86
+ </m-button>
87
+ `,
88
+ },
89
+ };
90
+ export const TwoOptions = {
91
+ args: {
92
+ footer: `
93
+ <m-button slot="footer" size="s" outlined aria-label="Popover action button">
94
+ Button label
95
+ </m-button>
96
+ <m-button slot="footer" size="s" aria-label="Popover action button">
97
+ Button label
98
+ </m-button>
99
+ `,
100
+ },
101
+ };
102
+ export const Link = {
103
+ args: {
104
+ footer: `
105
+ <m-link slot="footer" href="#" size="s" iconposition="right">
106
+ Stand-alone link
107
+ <external-link-24 slot="icon"></external-link-24>
108
+ </m-link>
109
+ <m-button slot="footer" size="s" aria-label="Popover action button">
110
+ Button label
111
+ </m-button>
112
+ `,
113
+ },
114
+ };
115
+ export const Navigation = {
116
+ args: {
117
+ footer: `
118
+ <m-link slot="footer" href="#" size="s" iconposition="right">
119
+ Stand-alone link
120
+ <external-link-24 slot="icon"></external-link-24>
121
+ </m-link>
122
+ `,
123
+ },
124
+ };
@@ -0,0 +1,348 @@
1
+ <svelte:options
2
+ customElement={{
3
+ tag: 'm-popover',
4
+ props: {
5
+ open: { reflect: true, type: 'Boolean', attribute: 'open' },
6
+ pointer: { reflect: true, type: 'Boolean', attribute: 'pointer' },
7
+ closable: { reflect: true, type: 'Boolean', attribute: 'closable' },
8
+ },
9
+ }}
10
+ />
11
+
12
+ <script lang="ts">
13
+ import { onMount } from 'svelte';
14
+ import IconButton from '../iconbutton/IconButton.svelte';
15
+ import { Cross20 } from '@mozaic-ds/icons-svelte';
16
+
17
+ /**
18
+ * A popover is a small overlay that appears above other content, typically triggered by a user interaction such as clicking or hovering over an element. It is used to display contextual information, additional actions, or interactive content without navigating away from the main interface. Popovers often include a title, description, and action buttons, and they automatically close when clicking outside or selecting an action.
19
+ *
20
+ * @slot default - Main content of the popover.
21
+ * @slot footer - Use this slot to insert buttons or link in the footer.
22
+ * @slot activator - Activator element that triggers the popover.
23
+ */
24
+
25
+ interface Props {
26
+ /**
27
+ * If `true`, display the popover.
28
+ */
29
+ open: boolean;
30
+ /**
31
+ * Allows to define the popover appearance.
32
+ */
33
+ appearance?: 'standard' | 'inverse';
34
+ /**
35
+ * Defines the preferred position of the popover relative to its activator.
36
+ */
37
+ position?: 'top' | 'right' | 'bottom' | 'left';
38
+ /**
39
+ * Controls the visibility of the popover pointer (arrow).
40
+ */
41
+ pointer?: boolean;
42
+ /**
43
+ * Determines the size of the popover.
44
+ */
45
+ size?: 's' | 'm' | 'l';
46
+ /**
47
+ * if `true`, display the close button.
48
+ */
49
+ closable?: boolean;
50
+ /**
51
+ * Title displayed at the top of the popover.
52
+ */
53
+ title?: string;
54
+ /**
55
+ * Supplementary text displayed below the title.
56
+ */
57
+ description?: string;
58
+ }
59
+
60
+ let {
61
+ open = $bindable(),
62
+ appearance = 'standard',
63
+ position = 'top',
64
+ pointer = true,
65
+ size = 's',
66
+ closable = true,
67
+ title,
68
+ description,
69
+ }: Props = $props();
70
+
71
+ // TODO: Remove when typescript is up to date
72
+ type PopoverOptions = {
73
+ source: HTMLElement;
74
+ };
75
+
76
+ type Popover = {
77
+ showPopover: (options?: PopoverOptions) => void;
78
+ hidePopover: (options?: PopoverOptions) => void;
79
+ };
80
+
81
+ const id = crypto.randomUUID();
82
+
83
+ let element: HTMLElement;
84
+ let popover: HTMLElement;
85
+ let activator: HTMLElement;
86
+
87
+ function togglePopover() {
88
+ if (!popover || !activator) return;
89
+
90
+ if (open) {
91
+ (popover as Popover).showPopover({ source: activator });
92
+ popover.focus();
93
+ } else {
94
+ (popover as Popover).hidePopover({ source: activator });
95
+ }
96
+ }
97
+
98
+ function handleClickOutside(event: MouseEvent) {
99
+ const path = event.composedPath ? event.composedPath() : [];
100
+ if (!path.includes(element) && !path.includes(activator)) {
101
+ open = false;
102
+ }
103
+ }
104
+
105
+ function onKeydown(event: KeyboardEvent) {
106
+ if (event.key === 'Escape') {
107
+ open = false;
108
+ }
109
+ }
110
+
111
+ $effect(togglePopover);
112
+
113
+ onMount(() => {
114
+ document.addEventListener('mousedown', handleClickOutside);
115
+
116
+ return () => {
117
+ document.removeEventListener('mousedown', handleClickOutside);
118
+ };
119
+ });
120
+ </script>
121
+
122
+ <div
123
+ bind:this={element}
124
+ class={{
125
+ 'mc-popover': true,
126
+ [`mc-popover--${appearance}`]: true,
127
+ [`mc-popover--${position}`]: true,
128
+ 'mc-popover--no-pointer': !pointer,
129
+ [`mc-popover--${size}`]: true,
130
+ }}
131
+ >
132
+ <div bind:this={activator}>
133
+ <slot name="activator" />
134
+ </div>
135
+
136
+ <div
137
+ bind:this={popover}
138
+ id={`popover-${id}`}
139
+ role="dialog"
140
+ tabindex="0"
141
+ class="mc-popover__wrapper"
142
+ popover="manual"
143
+ aria-labelledby={title ? `${id}-title` : undefined}
144
+ aria-describedby={description ? `${id}-description` : undefined}
145
+ onkeydown={onKeydown}
146
+ >
147
+ <div class="mc-popover__content">
148
+ {#if title || description}
149
+ <div class="mc-popover__headings">
150
+ {#if title}
151
+ <p id={`${id}-title`} class="mc-popover__title">
152
+ {title}
153
+ </p>
154
+ {/if}
155
+
156
+ {#if description}
157
+ <p id={`${id}-description`} class="mc-popover__description">
158
+ {description}
159
+ </p>
160
+ {/if}
161
+ </div>
162
+ {/if}
163
+
164
+ <div>
165
+ <slot />
166
+ </div>
167
+
168
+ {#if closable}
169
+ {#snippet icon()}
170
+ <Cross20 />
171
+ {/snippet}
172
+ <div class="mc-popover__close">
173
+ <IconButton
174
+ ghost
175
+ {icon}
176
+ appearance={appearance}
177
+ iconposition="only"
178
+ aria-label="Close button"
179
+ onclick={() => (open = false)}
180
+ />
181
+ </div>
182
+ {/if}
183
+
184
+ <footer class="mc-popover__footer">
185
+ <slot name="footer" />
186
+ </footer>
187
+ </div>
188
+ </div>
189
+ </div>
190
+
191
+ <style>/**
192
+ * Do not edit directly, this file was auto-generated.
193
+ */
194
+ .mc-popover__wrapper {
195
+ border-radius: var(--border-radius-m, 0.5rem);
196
+ }
197
+ .mc-popover__wrapper:focus-visible {
198
+ 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));
199
+ outline: 0.125rem solid transparent;
200
+ outline-offset: 0.125rem;
201
+ }
202
+ .mc-popover__wrapper {
203
+ position: relative;
204
+ padding: 1rem;
205
+ background-color: var(--popover-color-background-standard, #ffffff);
206
+ box-sizing: border-box;
207
+ overflow: visible;
208
+ border: var(--border-width-s, 0.0625rem) solid var(--popover-color-border-standard, #cccccc);
209
+ box-shadow: var(--shadow-bottom-s-x, 0px) var(--shadow-bottom-s-y, 5px) var(--shadow-bottom-s-blur, 10px) var(--shadow-bottom-s-spread, -2px) rgba(0, 0, 0, var(--shadow-bottom-s-opacity, 20%));
210
+ }
211
+ @supports (width: max-content) {
212
+ .mc-popover__wrapper {
213
+ width: max-content;
214
+ }
215
+ }
216
+ .mc-popover__wrapper::before {
217
+ background-color: var(--popover-color-border-standard, #cccccc);
218
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
219
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
220
+ content: "";
221
+ height: 0.625rem;
222
+ position: absolute;
223
+ width: 0.625rem;
224
+ }
225
+ .mc-popover__wrapper::after {
226
+ background-color: var(--popover-color-background-standard, #ffffff);
227
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
228
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
229
+ content: "";
230
+ height: 0.5rem;
231
+ position: absolute;
232
+ width: 0.5rem;
233
+ }
234
+ .mc-popover__content {
235
+ display: flex;
236
+ flex-direction: column;
237
+ gap: 1rem;
238
+ }
239
+ .mc-popover__headings {
240
+ display: flex;
241
+ flex-direction: column;
242
+ gap: 0.5rem;
243
+ }
244
+ .mc-popover__close {
245
+ position: absolute;
246
+ top: 4px;
247
+ right: 4px;
248
+ }
249
+ .mc-popover__title {
250
+ font-size: var(--font-body-s, 0.875rem);
251
+ line-height: var(--line-height-s, 1.3);
252
+ font-weight: var(--font-weight-semi-bold, 600);
253
+ color: var(--popover-color-text-standard, #000000);
254
+ margin: 0;
255
+ }
256
+ .mc-popover__description {
257
+ font-size: var(--font-body-s, 0.875rem);
258
+ line-height: var(--line-height-s, 1.3);
259
+ font-weight: var(--font-weight-regular, 400);
260
+ color: var(--popover-color-text-standard, #000000);
261
+ margin: 0;
262
+ }
263
+ .mc-popover__footer {
264
+ display: flex;
265
+ justify-content: end;
266
+ gap: 1rem;
267
+ }
268
+ .mc-popover--inverse .mc-popover__wrapper {
269
+ background-color: var(--popover-color-background-inverse, #242938);
270
+ border-color: var(--popover-color-border-inverse, #636d88);
271
+ }
272
+ .mc-popover--inverse .mc-popover__wrapper::before {
273
+ background-color: var(--popover-color-border-inverse, #636d88);
274
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
275
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
276
+ }
277
+ .mc-popover--inverse .mc-popover__wrapper::after {
278
+ background-color: var(--popover-color-background-inverse, #242938);
279
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
280
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='0.5rem' width='0.5rem' viewBox='0 0 8 8'%3E%3Cpath d='M1.79 3.11l6.21-3.11v8l-6.21-3.11a1 1 0 0 1-.45-1.34 1 1 0 0 1 .45-.44z'/%3E%3C/svg%3E") no-repeat center/contain;
281
+ }
282
+ .mc-popover--inverse .mc-popover__title, .mc-popover--inverse .mc-popover__description {
283
+ color: var(--popover-color-text-inverse, #ffffff);
284
+ }
285
+ .mc-popover--s .mc-popover__wrapper {
286
+ width: 18rem;
287
+ }
288
+ .mc-popover--m .mc-popover__wrapper {
289
+ width: 27.75rem;
290
+ }
291
+ .mc-popover--l .mc-popover__wrapper {
292
+ width: 37.5rem;
293
+ }
294
+ .mc-popover--top .mc-popover__wrapper {
295
+ margin: 0 0 10px;
296
+ inset: auto;
297
+ position-area: top;
298
+ }
299
+ .mc-popover--top .mc-popover__wrapper::after, .mc-popover--top .mc-popover__wrapper::before {
300
+ bottom: 0;
301
+ left: 50%;
302
+ transform: translate(-50%, 100%) rotate(-90deg);
303
+ }
304
+ .mc-popover--top .mc-popover__wrapper::before {
305
+ bottom: -1px;
306
+ }
307
+ .mc-popover--right .mc-popover__wrapper {
308
+ margin: 0 0 0 10px;
309
+ inset: auto;
310
+ position-area: right;
311
+ }
312
+ .mc-popover--right .mc-popover__wrapper::after, .mc-popover--right .mc-popover__wrapper::before {
313
+ top: 50%;
314
+ left: 0;
315
+ transform: translate(-99%, -50%);
316
+ }
317
+ .mc-popover--right .mc-popover__wrapper::before {
318
+ left: -1px;
319
+ }
320
+ .mc-popover--left .mc-popover__wrapper {
321
+ margin: 0 10px 0 0;
322
+ inset: auto;
323
+ position-area: left;
324
+ }
325
+ .mc-popover--left .mc-popover__wrapper::after, .mc-popover--left .mc-popover__wrapper::before {
326
+ top: 50%;
327
+ right: 0;
328
+ transform: translate(99%, -50%) rotate(180deg);
329
+ }
330
+ .mc-popover--left .mc-popover__wrapper::before {
331
+ right: -1px;
332
+ }
333
+ .mc-popover--bottom .mc-popover__wrapper {
334
+ margin: 10px 0 0;
335
+ inset: auto;
336
+ position-area: bottom;
337
+ }
338
+ .mc-popover--bottom .mc-popover__wrapper::after, .mc-popover--bottom .mc-popover__wrapper::before {
339
+ top: 0;
340
+ left: 50%;
341
+ transform: translate(-50%, -100%) rotate(90deg);
342
+ }
343
+ .mc-popover--bottom .mc-popover__wrapper::before {
344
+ top: -1px;
345
+ }
346
+ .mc-popover--no-pointer .mc-popover__wrapper::after, .mc-popover--no-pointer .mc-popover__wrapper::before {
347
+ background: none;
348
+ }</style>
@@ -0,0 +1,79 @@
1
+ /**
2
+ * A popover is a small overlay that appears above other content, typically triggered by a user interaction such as clicking or hovering over an element. It is used to display contextual information, additional actions, or interactive content without navigating away from the main interface. Popovers often include a title, description, and action buttons, and they automatically close when clicking outside or selecting an action.
3
+ *
4
+ * @slot default - Main content of the popover.
5
+ * @slot footer - Use this slot to insert buttons or link in the footer.
6
+ * @slot activator - Activator element that triggers the popover.
7
+ */
8
+ interface Props {
9
+ /**
10
+ * If `true`, display the popover.
11
+ */
12
+ open: boolean;
13
+ /**
14
+ * Allows to define the popover appearance.
15
+ */
16
+ appearance?: 'standard' | 'inverse';
17
+ /**
18
+ * Defines the preferred position of the popover relative to its activator.
19
+ */
20
+ position?: 'top' | 'right' | 'bottom' | 'left';
21
+ /**
22
+ * Controls the visibility of the popover pointer (arrow).
23
+ */
24
+ pointer?: boolean;
25
+ /**
26
+ * Determines the size of the popover.
27
+ */
28
+ size?: 's' | 'm' | 'l';
29
+ /**
30
+ * if `true`, display the close button.
31
+ */
32
+ closable?: boolean;
33
+ /**
34
+ * Title displayed at the top of the popover.
35
+ */
36
+ title?: string;
37
+ /**
38
+ * Supplementary text displayed below the title.
39
+ */
40
+ description?: string;
41
+ }
42
+ type PopoverOptions = {
43
+ source: HTMLElement;
44
+ };
45
+ type Popover = {
46
+ showPopover: (options?: PopoverOptions) => void;
47
+ hidePopover: (options?: PopoverOptions) => void;
48
+ };
49
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
50
+ new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
51
+ $$bindings?: Bindings;
52
+ } & Exports;
53
+ (internal: unknown, props: Props & {
54
+ $$events?: Events;
55
+ $$slots?: Slots;
56
+ }): Exports & {
57
+ $set?: any;
58
+ $on?: any;
59
+ };
60
+ z_$$bindings?: Bindings;
61
+ }
62
+ type $$__sveltets_2_PropsWithChildren<Props, Slots> = Props & (Slots extends {
63
+ default: any;
64
+ } ? Props extends Record<string, never> ? any : {
65
+ children?: any;
66
+ } : {});
67
+ declare const Popover: $$__sveltets_2_IsomorphicComponent<$$__sveltets_2_PropsWithChildren<Props, {
68
+ activator: {};
69
+ default: {};
70
+ footer: {};
71
+ }>, {
72
+ [evt: string]: CustomEvent<any>;
73
+ }, {
74
+ activator: {};
75
+ default: {};
76
+ footer: {};
77
+ }, {}, "open">;
78
+ export default Popover;
79
+ //# sourceMappingURL=Popover.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Popover.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/popover/Popover.svelte.ts"],"names":[],"mappings":"AAQE;;;;;;GAMG;AAEH,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,KAAK,cAAc,GAAG;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IAChD,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;CACjD,CAAC;AA2HJ,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,OAAO;;;;;;;;;;cAAqF,CAAC;AAEnF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,25 @@
1
+ # `m-popover`
2
+
3
+ A popover is a small overlay that appears above other content, typically triggered by a user interaction such as clicking or hovering over an element. It is used to display contextual information, additional actions, or interactive content without navigating away from the main interface. Popovers often include a title, description, and action buttons, and they automatically close when clicking outside or selecting an action.
4
+
5
+ ## Props
6
+
7
+ | Name | Description | Type | Default |
8
+ |------|-------------|------|---------|
9
+ | `open*` | If `true`, display the popover. | `boolean` | `$bindable()` |
10
+ | `appearance` | Allows to define the popover appearance. | `'standard'` `'inverse'` | `standard` |
11
+ | `position` | Defines the preferred position of the popover relative to its activator. | `'top'` `'right'` `'bottom'` `'left'` | `top` |
12
+ | `pointer` | Controls the visibility of the popover pointer (arrow). | `boolean` | `true` |
13
+ | `size` | Determines the size of the popover. | `'s'` `'m'` `'l'` | `s` |
14
+ | `closable` | if `true`, display the close button. | `boolean` | `true` |
15
+ | `title` | Title displayed at the top of the popover. | `string` | |
16
+ | `description` | Supplementary text displayed below the title. | `string` | |
17
+
18
+ ## Slots
19
+
20
+ | Name | Description |
21
+ |------|-------------|
22
+ | `activator` | Activator element that triggers the popover. |
23
+ | `default` | Main content of the popover. |
24
+ | `footer` | Use this slot to insert buttons or link in the footer. |
25
+
@@ -1,5 +1,5 @@
1
- import{o as C,c as H,p as J,a as K,b as o,s as h,t as O,f as P,g as R,h as T,i as U,d as n,j as s,r as i,l as W,m as X,e as V}from"../../custom-element.js";import{a as Y,s as B}from"../../attributes.js";import{c as Z}from"../../input.js";import{c as $}from"../../custom-element-forward-events.js";import{M as ee,L as te}from"../../Condition20.js";var re=T('<div><input/> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--increase svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--decrease svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button></div>');const oe={hash:"svelte-ptlds1",code:`/**
1
+ import{o as H,c as J,e as K,a as O,p as o,s as h,t as P,u as V,b as R,d as T,f as U,n as W,h as n,m as s,r as i,j as X,l as Y,k as B}from"../../custom-element.js";import{a as Z,s as E}from"../../attributes.js";import{c as $}from"../../input.js";import{c as ee}from"../../custom-element-forward-events.js";import{M as te,r as re}from"../../Condition20.js";var oe=U('<div><input/> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--increase svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--decrease svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button></div>');const se={hash:"svelte-ptlds1",code:`/**
2
2
  * Do not edit directly, this file was auto-generated.
3
- */.mc-quantity-selector.svelte-ptlds1 {background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:100%;height:3rem;box-sizing:border-box;display:flex;gap:0.25rem;padding:0.1875rem;position:relative;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector__control.svelte-ptlds1 {background-color:transparent;border-width:0;color:inherit;font-family:inherit;outline:none;}.mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-inner-spin-button, .mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-outer-spin-button {appearance:none;margin:0;}.mc-quantity-selector__control[type=number].svelte-ptlds1 {
4
- /* For Gecko rendering engine */appearance:textfield;}.mc-quantity-selector__control.svelte-ptlds1 {padding:0;font-size:inherit;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-m, 1.5);font-weight:var(--font-weight-semi-bold, 600);cursor:inherit;text-align:center;flex-grow:1;}.mc-quantity-selector__control.svelte-ptlds1::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-quantity-selector__button.svelte-ptlds1 {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;height:2.5rem;width:2.5rem;border-radius:var(--border-radius-full, 100%);color:var(--quantity-selector-color-button-text-default, #242938);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.mc-quantity-selector__button.svelte-ptlds1:disabled {color:var(--quantity-selector-color-button-text-disabled, #d9d9d9);cursor:not-allowed;}.mc-quantity-selector__button.svelte-ptlds1:hover:not(:disabled) {background-color:var(--quantity-selector-color-button-background-hover, rgba(255, 255, 255, 0.1));}.mc-quantity-selector__button--decrease.svelte-ptlds1 {order:-1;}.mc-quantity-selector__icon.svelte-ptlds1 {height:1.5rem;width:1.5rem;fill:currentcolor;}.mc-quantity-selector__label.svelte-ptlds1 {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-quantity-selector.svelte-ptlds1::after {transition:box-shadow 200ms ease;content:"";position:absolute;inset:-0.125rem var(--inset-x, 3rem);pointer-events:none;display:block;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) .mc-quantity-selector__button:where(.svelte-ptlds1):disabled {color:var(--forms-color-icon-disabled, #737373);}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) .mc-quantity-selector__control[readonly]:where(.svelte-ptlds1) {text-align:left;padding-left:0.5rem;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):focus)::after {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-quantity-selector--s.svelte-ptlds1 {--inset-x: 2rem;height:2rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__button:where(.svelte-ptlds1) {height:1.5rem;width:1.5rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__icon:where(.svelte-ptlds1) {height:1.25rem;width:1.25rem;}.mc-quantity-selector.is-invalid.svelte-ptlds1 {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-quantity-selector.is-invalid.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}.mc-quantity-selector.svelte-ptlds1 :where(.svelte-ptlds1) {box-sizing:border-box;}`};function se(N,r){J(r,!0),K(N,oe);let d=o(r,"id",7),t=o(r,"value",15,1),l=o(r,"min",7,1),a=o(r,"max",7,100),b=o(r,"step",7,1),y=o(r,"size",7,"m"),u=o(r,"disabled",7),p=o(r,"isinvalid",7,!1),_=o(r,"name",7,"quantity-selector-input"),g=o(r,"readonly",7),q=o(r,"decrementlabel",7,"Decrement"),w=o(r,"incrementlabel",7,"Increment"),E=U(r,["$$slots","$$events","$$legacy","$$host","id","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel"]);const I=()=>{const e=Number(t());e>a()?t(a()):e<l()?t(l()):t(e)},j=()=>{const e=Number(t()),v=Number(b());e+v<=a()?t(e+v):t(a())},F=()=>{const e=Number(t()),v=Number(b());e-v>=l()?t(e-v):t(l())};var L={get id(){return d()},set id(e){d(e),s()},get value(){return t()},set value(e=1){t(e),s()},get min(){return l()},set min(e=1){l(e),s()},get max(){return a()},set max(e=100){a(e),s()},get step(){return b()},set step(e=1){b(e),s()},get size(){return y()},set size(e="m"){y(e),s()},get disabled(){return u()},set disabled(e){u(e),s()},get isinvalid(){return p()},set isinvalid(e=!1){p(e),s()},get name(){return _()},set name(e="quantity-selector-input"){_(e),s()},get readonly(){return g()},set readonly(e){g(e),s()},get decrementlabel(){return q()},set decrementlabel(e="Decrement"){q(e),s()},get incrementlabel(){return w()},set incrementlabel(e="Increment"){w(e),s()}},f=re(),x=n(f);Y(x,()=>({type:"number",id:d(),name:_(),oninput:I,class:"mc-quantity-selector__control","aria-valuemin":l(),"aria-valuemax":a(),"aria-valuenow":t(),"aria-invalid":`${p()}`,readonly:g(),disabled:u(),...E}),void 0,void 0,void 0,"svelte-ptlds1",!0);var c=h(x,2);c.__click=j;var k=n(c),M=n(k);ee(M,{}),i(k);var D=h(k,2),G=n(D,!0);i(D),i(c);var m=h(c,2);m.__click=F;var z=n(m),Q=n(z);te(Q,{}),i(z);var S=h(z,2),A=n(S,!0);return i(S),i(m),i(f),O(()=>{W(f,1,X(["mc-quantity-selector",`mc-quantity-selector--${y()}`,p()&&"is-invalid"]),"svelte-ptlds1"),B(c,"aria-controls",d()),c.disabled=t()===a()||u(),V(G,w()),B(m,"aria-controls",d()),m.disabled=t()===l()||u(),V(A,q())}),Z(x,t),P(N,f),R(L)}C(["click"]);customElements.define("m-quantityselector",H(se,{isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},readonly:{attribute:"readonly",reflect:!0,type:"Boolean"},id:{},value:{},min:{},max:{},step:{},size:{},name:{},decrementlabel:{},incrementlabel:{}},[],[],!0,$));
3
+ */.mc-quantity-selector.svelte-ptlds1 {background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:100%;height:3rem;display:flex;gap:0.25rem;padding:0.1875rem;position:relative;border-radius:var(--border-radius-s, 0.25rem);box-sizing:border-box;}.mc-quantity-selector__control.svelte-ptlds1 {background-color:transparent;border-width:0;color:inherit;font-family:inherit;outline:none;}.mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-inner-spin-button, .mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-outer-spin-button {appearance:none;margin:0;}.mc-quantity-selector__control[type=number].svelte-ptlds1 {
4
+ /* For Gecko rendering engine */appearance:textfield;}.mc-quantity-selector__control.svelte-ptlds1 {padding:0;font-size:inherit;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-m, 1.5);font-weight:var(--font-weight-semi-bold, 600);cursor:inherit;text-align:center;flex-grow:1;}.mc-quantity-selector__control.svelte-ptlds1::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-quantity-selector__button.svelte-ptlds1 {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;height:2.5rem;width:2.5rem;border-radius:var(--border-radius-full, 100%);color:var(--quantity-selector-color-button-text-default, #000000);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.mc-quantity-selector__button.svelte-ptlds1:disabled {color:var(--quantity-selector-color-button-text-disabled, #b3b3b3);cursor:not-allowed;}.mc-quantity-selector__button.svelte-ptlds1:hover:not(:disabled) {background-color:var(--quantity-selector-color-button-background-hover, rgba(0, 0, 0, 0.05));}.mc-quantity-selector__button--decrease.svelte-ptlds1 {order:-1;}.mc-quantity-selector__icon.svelte-ptlds1 {height:1.5rem;width:1.5rem;fill:currentcolor;}.mc-quantity-selector__label.svelte-ptlds1 {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-quantity-selector.svelte-ptlds1::after {transition:box-shadow 200ms ease;content:"";position:absolute;inset:-0.125rem var(--inset-x, 3rem);pointer-events:none;display:block;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) .mc-quantity-selector__button:where(.svelte-ptlds1):disabled {color:var(--forms-color-icon-disabled, #737373);}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) .mc-quantity-selector__control[readonly]:where(.svelte-ptlds1) {text-align:left;padding-left:0.5rem;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):focus)::after {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-quantity-selector--s.svelte-ptlds1 {--inset-x: 2rem;height:2rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__button:where(.svelte-ptlds1) {height:1.5rem;width:1.5rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__icon:where(.svelte-ptlds1) {height:1.25rem;width:1.25rem;}.mc-quantity-selector.is-invalid.svelte-ptlds1 {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-quantity-selector.is-invalid.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}.mc-quantity-selector.svelte-ptlds1 :where(.svelte-ptlds1) {box-sizing:border-box;}`};function le(N,r){K(r,!0),O(N,se);let d=o(r,"id",7),t=o(r,"value",15,1),l=o(r,"min",7,1),a=o(r,"max",7,100),b=o(r,"step",7,1),y=o(r,"size",7,"m"),u=o(r,"disabled",7),p=o(r,"isinvalid",7,!1),_=o(r,"name",7,"quantity-selector-input"),g=o(r,"readonly",7),q=o(r,"decrementlabel",7,"Decrement"),w=o(r,"incrementlabel",7,"Increment"),I=W(r,["$$slots","$$events","$$legacy","$$host","id","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel"]);const j=()=>{const e=Number(t());e>a()?t(a()):e<l()?t(l()):t(e)},F=()=>{const e=Number(t()),v=Number(b());e+v<=a()?t(e+v):t(a())},M=()=>{const e=Number(t()),v=Number(b());e-v>=l()?t(e-v):t(l())};var G={get id(){return d()},set id(e){d(e),s()},get value(){return t()},set value(e=1){t(e),s()},get min(){return l()},set min(e=1){l(e),s()},get max(){return a()},set max(e=100){a(e),s()},get step(){return b()},set step(e=1){b(e),s()},get size(){return y()},set size(e="m"){y(e),s()},get disabled(){return u()},set disabled(e){u(e),s()},get isinvalid(){return p()},set isinvalid(e=!1){p(e),s()},get name(){return _()},set name(e="quantity-selector-input"){_(e),s()},get readonly(){return g()},set readonly(e){g(e),s()},get decrementlabel(){return q()},set decrementlabel(e="Decrement"){q(e),s()},get incrementlabel(){return w()},set incrementlabel(e="Increment"){w(e),s()}},f=oe(),x=n(f);Z(x,()=>({type:"number",id:d(),name:_(),oninput:j,class:"mc-quantity-selector__control","aria-valuemin":l(),"aria-valuemax":a(),"aria-valuenow":t(),"aria-invalid":`${p()}`,readonly:g(),disabled:u(),...I}),void 0,void 0,void 0,"svelte-ptlds1",!0);var c=h(x,2),k=n(c),L=n(k);te(L,{}),i(k);var D=h(k,2),Q=n(D,!0);i(D),i(c);var m=h(c,2),z=n(m),A=n(z);re(A,{}),i(z);var S=h(z,2),C=n(S,!0);return i(S),i(m),i(f),P(()=>{X(f,1,Y(["mc-quantity-selector",`mc-quantity-selector--${y()}`,p()&&"is-invalid"]),"svelte-ptlds1"),E(c,"aria-controls",d()),c.disabled=t()===a()||u(),B(Q,w()),E(m,"aria-controls",d()),m.disabled=t()===l()||u(),B(C,q())}),$(x,t),V("click",c,F),V("click",m,M),R(N,f),T(G)}H(["click"]);customElements.define("m-quantityselector",J(le,{isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},readonly:{attribute:"readonly",reflect:!0,type:"Boolean"},id:{},value:{},min:{},max:{},step:{},size:{},name:{},decrementlabel:{},incrementlabel:{}},[],[],{mode:"open"},ee));
5
5
  //# sourceMappingURL=QuantitySelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuantitySelector.js","sources":["../../../src/components/quantityselector/QuantitySelector.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-quantityselector',\n props: {\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n import { More24, Less24 } from '@mozaic-ds/icons-svelte';\n /**\n * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.\n */\n interface Props {\n [key: string]: any;\n /**\n * A unique identifier for the quantity selector element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the quantity selector element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the quantity selector field.\n */\n value?: number;\n /**\n * If `true`, applies an invalid state to the quantity selector.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the quantity selector, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the quantity selector.\n */\n size?: 's' | 'm';\n /**\n * Minimum acceptable value for the quantity selector.\n */\n min?: number;\n /**\n * Maximum acceptable value for the quantity selector.\n */\n max?: number;\n /**\n * Determines how much the value will change per click when the quantity is increased or decreased.\n */\n step?: number;\n /**\n * If `true`, the quantity selector is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * The label text for the increment button.\n */\n incrementlabel?: string;\n /**\n * The label text for the decrement button.\n */\n decrementlabel?: string;\n }\n\n let {\n id,\n value = $bindable(1),\n min = 1,\n max = 100,\n step = 1,\n size = 'm',\n disabled,\n isinvalid = false,\n name = 'quantity-selector-input',\n readonly,\n decrementlabel = 'Decrement',\n incrementlabel = 'Increment',\n ...attrs\n }: Props = $props();\n\n const onValue = (): void => {\n const numericValue = Number(value);\n if (numericValue > max) {\n value = max;\n } else if (numericValue < min) {\n value = min;\n } else {\n value = numericValue;\n }\n };\n\n const onIncrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue + numericStep <= max) {\n value = numericValue + numericStep;\n } else {\n value = max;\n }\n };\n\n const onDecrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue - numericStep >= min) {\n value = numericValue - numericStep;\n } else {\n value = min;\n }\n };\n</script>\n\n<div class={['mc-quantity-selector', `mc-quantity-selector--${size}`, isinvalid && 'is-invalid']}>\n <input\n type=\"number\"\n {id}\n {name}\n bind:value\n oninput={onValue}\n class=\"mc-quantity-selector__control\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-invalid={`${isinvalid}`}\n {readonly}\n {disabled}\n {...attrs}\n />\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--increase\"\n tabindex=\"-1\"\n disabled={value === max || disabled}\n onclick={onIncrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <More24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{incrementlabel}</span>\n </button>\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--decrease\"\n tabindex=\"-1\"\n disabled={value === min || disabled}\n onclick={onDecrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <Less24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{decrementlabel}</span>\n </button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/quantity-selector';\n</style>\n"],"names":["id","$.prop","$$props","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel","attrs","$.rest_props","onValue","numericValue","onIncrement","numericStep","onDecrement","div","root","input","$.child","button","$.sibling","span","More24","node","span_1","$.reset","button_1","span_2","Less24","node_1","span_3","$.set_attribute","$.bind_value","customElementForwardEvents"],"mappings":";;;svHAYA,qBA2DIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,iBAAkB,CAAC,EACnBC,cAAM,CAAC,EACPC,cAAM,GAAG,EACTC,eAAO,CAAC,EACRC,eAAO,GAAG,EACVC,EAAQP,EAAAC,EAAA,WAAA,CAAA,EACRO,oBAAY,EAAK,EACjBC,eAAO,yBAAyB,EAChCC,EAAQV,EAAAC,EAAA,WAAA,CAAA,EACRU,yBAAiB,WAAW,EAC5BC,yBAAiB,WAAW,EACzBC,EAAAC,EAAAb,EAAA,8JAGC,MAAAc,EAAO,IAAe,OACpBC,EAAe,OAAOd,GAAK,EAC7Bc,EAAeZ,IACjBF,EAAQE,EAAG,CAAA,EACFY,EAAeb,IACxBD,EAAQC,EAAG,CAAA,EAEXD,EAAQc,CAAY,CAExB,EAEMC,EAAW,IAAe,OACxBD,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAed,IAChCF,EAAQc,EAAeE,CAAW,EAElChB,EAAQE,EAAG,CAAA,CAEf,EAEMe,EAAW,IAAe,OACxBH,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAef,IAChCD,EAAQc,EAAeE,CAAW,EAElChB,EAAQC,EAAG,CAAA,CAEf,sFA7CoB,EAAC,2CACb,EAAC,2CACD,IAAG,6CACF,EAAC,6CACD,IAAG,4GAEE,GAAK,6CACV,0BAAyB,sHAEf,YAAW,iEACX,YAAW,YAsC/BiB,EAAGC,GAAA,EACDC,EAAAC,EADFH,CAAG,IACDE,yBAEEvB,EAAE,OACFU,EAAI,UAEIM,wDAEMZ,EAAG,kBACHC,EAAG,kBACHF,EAAK,oBACHM,EAAS,CAAA,YACzBE,EAAQ,WACRH,EAAQ,KACLM,iDAELW,EAAAC,EAfAH,EAAA,CAAA,EAeAE,EAMC,QAASP,EAER,IAAAS,EAAIH,EARNC,CAAA,MAQEE,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,IAAJA,CAAI,EAXNC,EAAAN,CAAA,MAaAO,EAAAN,EAbAD,EAAA,CAAA,EAaAO,EAMC,QAASZ,EAER,IAAAa,EAAIT,EARNQ,CAAA,MAQEC,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,WAAJA,CAAI,EAXNL,EAAAC,CAAA,IA7BFX,CAAG,WAAHA,OAAY,gDAAiDd,EAAI,CAAA,GAAIE,KAAa,gCAgBhF4B,EAAAZ,EAAA,gBAEgBzB,GAAE,EAFlByB,EAAA,SAKWtB,EAAK,IAAKE,EAAG,GAAIG,EAAQ,MAMQK,GAAc,EAE1DwB,EAAAL,EAAA,gBAEgBhC,GAAE,EAFlBgC,EAAA,SAKW7B,EAAK,IAAKC,EAAG,GAAII,EAAQ,MAMQI,GAAc,IAvC1D0B,EAAAf,EAAApB,CAAA,MADFkB,CAAG,MAFI,kVA9GIkB"}
1
+ {"version":3,"file":"QuantitySelector.js","sources":["../../../src/components/quantityselector/QuantitySelector.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-quantityselector',\n props: {\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n import { More24, Less24 } from '@mozaic-ds/icons-svelte';\n /**\n * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.\n */\n interface Props {\n [key: string]: any;\n /**\n * A unique identifier for the quantity selector element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the quantity selector element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the quantity selector field.\n */\n value?: number;\n /**\n * If `true`, applies an invalid state to the quantity selector.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the quantity selector, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the quantity selector.\n */\n size?: 's' | 'm';\n /**\n * Minimum acceptable value for the quantity selector.\n */\n min?: number;\n /**\n * Maximum acceptable value for the quantity selector.\n */\n max?: number;\n /**\n * Determines how much the value will change per click when the quantity is increased or decreased.\n */\n step?: number;\n /**\n * If `true`, the quantity selector is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * The label text for the increment button.\n */\n incrementlabel?: string;\n /**\n * The label text for the decrement button.\n */\n decrementlabel?: string;\n }\n\n let {\n id,\n value = $bindable(1),\n min = 1,\n max = 100,\n step = 1,\n size = 'm',\n disabled,\n isinvalid = false,\n name = 'quantity-selector-input',\n readonly,\n decrementlabel = 'Decrement',\n incrementlabel = 'Increment',\n ...attrs\n }: Props = $props();\n\n const onValue = (): void => {\n const numericValue = Number(value);\n if (numericValue > max) {\n value = max;\n } else if (numericValue < min) {\n value = min;\n } else {\n value = numericValue;\n }\n };\n\n const onIncrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue + numericStep <= max) {\n value = numericValue + numericStep;\n } else {\n value = max;\n }\n };\n\n const onDecrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue - numericStep >= min) {\n value = numericValue - numericStep;\n } else {\n value = min;\n }\n };\n</script>\n\n<div class={['mc-quantity-selector', `mc-quantity-selector--${size}`, isinvalid && 'is-invalid']}>\n <input\n type=\"number\"\n {id}\n {name}\n bind:value\n oninput={onValue}\n class=\"mc-quantity-selector__control\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-invalid={`${isinvalid}`}\n {readonly}\n {disabled}\n {...attrs}\n />\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--increase\"\n tabindex=\"-1\"\n disabled={value === max || disabled}\n onclick={onIncrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <More24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{incrementlabel}</span>\n </button>\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--decrease\"\n tabindex=\"-1\"\n disabled={value === min || disabled}\n onclick={onDecrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <Less24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{decrementlabel}</span>\n </button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/quantity-selector';\n</style>\n"],"names":["id","$.prop","$$props","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel","attrs","$.rest_props","onValue","numericValue","onIncrement","numericStep","onDecrement","div","root","input","$.child","button","$.sibling","span","More24","node","span_1","$.reset","button_1","span_2","Less24","node_1","span_3","$.set_attribute","$.bind_value","$.delegated","customElementForwardEvents"],"mappings":";;;ivHAYA,qBA2DIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,iBAAkB,CAAC,EACnBC,cAAM,CAAC,EACPC,cAAM,GAAG,EACTC,eAAO,CAAC,EACRC,eAAO,GAAG,EACVC,EAAQP,EAAAC,EAAA,WAAA,CAAA,EACRO,oBAAY,EAAK,EACjBC,eAAO,yBAAyB,EAChCC,EAAQV,EAAAC,EAAA,WAAA,CAAA,EACRU,yBAAiB,WAAW,EAC5BC,yBAAiB,WAAW,EACzBC,EAAAC,EAAAb,EAAA,8JAGC,MAAAc,EAAO,IAAe,OACpBC,EAAe,OAAOd,GAAK,EAC7Bc,EAAeZ,IACjBF,EAAQE,EAAG,CAAA,EACFY,EAAeb,IACxBD,EAAQC,EAAG,CAAA,EAEXD,EAAQc,CAAY,CAExB,EAEMC,EAAW,IAAe,OACxBD,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAed,IAChCF,EAAQc,EAAeE,CAAW,EAElChB,EAAQE,EAAG,CAAA,CAEf,EAEMe,EAAW,IAAe,OACxBH,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAef,IAChCD,EAAQc,EAAeE,CAAW,EAElChB,EAAQC,EAAG,CAAA,CAEf,sFA7CoB,EAAC,2CACb,EAAC,2CACD,IAAG,6CACF,EAAC,6CACD,IAAG,4GAEE,GAAK,6CACV,0BAAyB,sHAEf,YAAW,iEACX,YAAW,YAsC/BiB,EAAGC,GAAA,EACDC,EAAAC,EADFH,CAAG,IACDE,yBAEEvB,EAAE,OACFU,EAAI,UAEIM,wDAEMZ,EAAG,kBACHC,EAAG,kBACHF,EAAK,oBACHM,EAAS,CAAA,YACzBE,EAAQ,WACRH,EAAQ,KACLM,iDAELW,EAAAC,EAfAH,EAAA,CAAA,EAuBEI,EAAIH,EARNC,CAAA,MAQEE,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,IAAJA,CAAI,EAXNC,EAAAN,CAAA,MAaAO,EAAAN,EAbAD,EAAA,CAAA,EAqBEQ,EAAIT,EARNQ,CAAA,MAQEC,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,WAAJA,CAAI,EAXNL,EAAAC,CAAA,IA7BFX,CAAG,WAAHA,OAAY,gDAAiDd,EAAI,CAAA,GAAIE,KAAa,gCAgBhF4B,EAAAZ,EAAA,gBAEgBzB,GAAE,EAFlByB,EAAA,SAKWtB,EAAK,IAAKE,EAAG,GAAIG,EAAQ,MAMQK,GAAc,EAE1DwB,EAAAL,EAAA,gBAEgBhC,GAAE,EAFlBgC,EAAA,SAKW7B,EAAK,IAAKC,EAAG,GAAII,EAAQ,MAMQI,GAAc,IAvC1D0B,EAAAf,EAAApB,CAAA,EAeAoC,EAAA,QAAAd,EAMUP,CAAW,EAOrBqB,EAAA,QAAAP,EAMUZ,CAAW,MAnCvBC,CAAG,MAFI,6VA9GImB"}