@mozaic-ds/web-components 1.0.0-beta.7 → 1.0.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.
- package/README.md +36 -68
- package/dist/Cross20.js +1 -1
- package/dist/Cross20.js.map +1 -1
- package/dist/Cross24.js +1 -1
- package/dist/CrossCircleFilled24.js +1 -1
- package/dist/attributes.js +1 -1
- package/dist/attributes.js.map +1 -1
- package/dist/bundle.d.ts +24 -23
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +24 -23
- package/dist/components/avatar/Avatar.js +2 -2
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/Avatar.spec.js +17 -0
- package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.stories.js +3 -29
- package/dist/components/avatar/Avatar.svelte +2 -0
- package/dist/components/avatar/Avatar.svelte.d.ts +2 -0
- package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
- package/dist/components/avatar/README.md +16 -0
- package/dist/components/breadcrumb/Breadcrumb.js +2 -2
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.spec.js +42 -0
- package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.stories.js +6 -35
- package/dist/components/breadcrumb/Breadcrumb.svelte +11 -16
- package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
- package/dist/components/breadcrumb/README.md +11 -0
- package/dist/components/button/Button.js +2 -2
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/Button.spec.js +74 -0
- package/dist/components/button/Button.stories.d.ts +9 -13
- package/dist/components/button/Button.stories.d.ts.map +1 -1
- package/dist/components/button/Button.stories.js +46 -146
- package/dist/components/button/Button.svelte +70 -53
- package/dist/components/button/Button.svelte.d.ts +36 -8
- package/dist/components/button/Button.svelte.d.ts.map +1 -1
- package/dist/components/button/README.md +26 -0
- package/dist/components/callout/Callout.js +1 -1
- package/dist/components/callout/Callout.js.map +1 -1
- package/dist/components/callout/Callout.spec.js +33 -0
- package/dist/components/callout/Callout.stories.d.ts.map +1 -1
- package/dist/components/callout/Callout.stories.js +2 -55
- package/dist/components/callout/Callout.svelte +4 -0
- package/dist/components/callout/Callout.svelte.d.ts +4 -0
- package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
- package/dist/components/callout/README.md +20 -0
- package/dist/components/checkbox/Checkbox.js +3 -3
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox/Checkbox.spec.js +70 -0
- package/dist/components/checkbox/Checkbox.stories.d.ts +11 -16
- package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.stories.js +67 -124
- package/dist/components/checkbox/Checkbox.svelte +42 -22
- package/dist/components/checkbox/Checkbox.svelte.d.ts +31 -6
- package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
- package/dist/components/checkbox/README.md +17 -0
- package/dist/components/checkboxgroup/CheckboxGroup.js +3 -3
- package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
- package/dist/components/checkboxgroup/CheckboxGroup.spec.js +113 -0
- package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +5 -13
- package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
- package/dist/components/checkboxgroup/CheckboxGroup.stories.js +56 -140
- package/dist/components/checkboxgroup/CheckboxGroup.svelte +56 -45
- package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +30 -6
- package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
- package/dist/components/checkboxgroup/README.md +14 -0
- package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
- package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
- package/dist/components/circularprogressbar/CircularProgressbar.spec.js +74 -0
- package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +6 -6
- package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
- package/dist/components/circularprogressbar/CircularProgressbar.stories.js +29 -68
- package/dist/components/circularprogressbar/CircularProgressbar.svelte +25 -6
- package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +18 -0
- package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
- package/dist/components/circularprogressbar/README.md +14 -0
- package/dist/components/datepicker/Datepicker.js +3 -3
- package/dist/components/datepicker/Datepicker.js.map +1 -1
- package/dist/components/datepicker/Datepicker.spec.js +95 -0
- package/dist/components/datepicker/Datepicker.stories.d.ts +7 -6
- package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
- package/dist/components/datepicker/Datepicker.stories.js +58 -75
- package/dist/components/datepicker/Datepicker.svelte +48 -25
- package/dist/components/datepicker/Datepicker.svelte.d.ts +30 -1
- package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
- package/dist/components/datepicker/README.md +18 -0
- package/dist/components/drawer/Drawer.js +2 -2
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/Drawer.spec.js +101 -0
- package/dist/components/drawer/Drawer.stories.d.ts +29 -8
- package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.stories.js +86 -87
- package/dist/components/drawer/Drawer.svelte +61 -38
- package/dist/components/drawer/Drawer.svelte.d.ts +26 -3
- package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
- package/dist/components/drawer/README.md +29 -0
- package/dist/components/field/Field.js +2 -2
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/field/Field.spec.js +51 -0
- package/dist/components/field/Field.stories.d.ts +9 -15
- package/dist/components/field/Field.stories.d.ts.map +1 -1
- package/dist/components/field/Field.stories.js +86 -142
- package/dist/components/field/Field.svelte +48 -12
- package/dist/components/field/Field.svelte.d.ts +38 -7
- package/dist/components/field/Field.svelte.d.ts.map +1 -1
- package/dist/components/field/README.md +24 -0
- package/dist/components/flag/Flag.js +2 -2
- package/dist/components/flag/Flag.js.map +1 -1
- package/dist/components/flag/Flag.spec.js +30 -0
- package/dist/components/flag/Flag.stories.d.ts +8 -18
- package/dist/components/flag/Flag.stories.d.ts.map +1 -1
- package/dist/components/flag/Flag.stories.js +28 -106
- package/dist/components/flag/Flag.svelte +11 -9
- package/dist/components/flag/Flag.svelte.d.ts +10 -28
- package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
- package/dist/components/flag/README.md +11 -0
- package/dist/components/iconbutton/IconButton.js +2 -2
- package/dist/components/iconbutton/IconButton.js.map +1 -1
- package/dist/components/iconbutton/IconButton.stories.d.ts +11 -11
- package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
- package/dist/components/iconbutton/IconButton.stories.js +51 -67
- package/dist/components/iconbutton/IconButton.svelte +41 -37
- package/dist/components/iconbutton/IconButton.svelte.d.ts +28 -7
- package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
- package/dist/components/iconbutton/README.md +21 -0
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.spec.js +28 -0
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +5 -7
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +18 -49
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +15 -5
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +10 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
- package/dist/components/linearprogressbarbuffer/README.md +11 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.spec.js +26 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +4 -5
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +15 -33
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +6 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +6 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
- package/dist/components/linearprogressbarpercentage/README.md +10 -0
- package/dist/components/link/Link.js +2 -2
- package/dist/components/link/Link.js.map +1 -1
- package/dist/components/link/Link.spec.js +51 -0
- package/dist/components/link/Link.stories.d.ts +12 -12
- package/dist/components/link/Link.stories.d.ts.map +1 -1
- package/dist/components/link/Link.stories.js +61 -74
- package/dist/components/link/Link.svelte +45 -40
- package/dist/components/link/Link.svelte.d.ts +29 -8
- package/dist/components/link/Link.svelte.d.ts.map +1 -1
- package/dist/components/link/README.md +23 -0
- package/dist/components/loader/Loader.js +2 -2
- package/dist/components/loader/Loader.js.map +1 -1
- package/dist/components/loader/Loader.spec.js +54 -0
- package/dist/components/loader/Loader.stories.d.ts +8 -10
- package/dist/components/loader/Loader.stories.d.ts.map +1 -1
- package/dist/components/loader/Loader.stories.js +27 -43
- package/dist/components/loader/Loader.svelte +31 -31
- package/dist/components/loader/Loader.svelte.d.ts +14 -3
- package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
- package/dist/components/loader/README.md +12 -0
- package/dist/components/loadingoverlay/LoadingOverlay.js +4 -0
- package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -0
- package/dist/components/loadingoverlay/LoadingOverlay.spec.js +38 -0
- package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +7 -0
- package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -0
- package/dist/components/loadingoverlay/LoadingOverlay.stories.js +39 -0
- package/dist/components/loadingoverlay/LoadingOverlay.svelte +50 -0
- package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +17 -0
- package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -0
- package/dist/components/loadingoverlay/README.md +11 -0
- package/dist/components/modal/Modal.js +2 -2
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/Modal.spec.js +50 -0
- package/dist/components/modal/Modal.stories.d.ts +36 -9
- package/dist/components/modal/Modal.stories.d.ts.map +1 -1
- package/dist/components/modal/Modal.stories.js +54 -83
- package/dist/components/modal/Modal.svelte +42 -41
- package/dist/components/modal/Modal.svelte.d.ts +22 -5
- package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
- package/dist/components/modal/README.md +28 -0
- package/dist/components/numberbadge/NumberBadge.js +2 -2
- package/dist/components/numberbadge/NumberBadge.js.map +1 -1
- package/dist/components/numberbadge/NumberBadge.spec.js +28 -0
- package/dist/components/numberbadge/NumberBadge.stories.d.ts +9 -13
- package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
- package/dist/components/numberbadge/NumberBadge.stories.js +28 -56
- package/dist/components/numberbadge/NumberBadge.svelte +24 -20
- package/dist/components/numberbadge/NumberBadge.svelte.d.ts +15 -4
- package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
- package/dist/components/numberbadge/README.md +12 -0
- package/dist/components/overlay/Overlay.js +2 -2
- package/dist/components/overlay/Overlay.js.map +1 -1
- package/dist/components/overlay/Overlay.spec.js +29 -0
- package/dist/components/overlay/Overlay.stories.d.ts +5 -7
- package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
- package/dist/components/overlay/Overlay.stories.js +32 -40
- package/dist/components/overlay/Overlay.svelte +14 -4
- package/dist/components/overlay/Overlay.svelte.d.ts +11 -0
- package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
- package/dist/components/overlay/README.md +17 -0
- package/dist/components/pagination/Pagination.js +6 -6
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/Pagination.spec.js +65 -0
- package/dist/components/pagination/Pagination.stories.d.ts +8 -11
- package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.stories.js +37 -91
- package/dist/components/pagination/Pagination.svelte +33 -12
- package/dist/components/pagination/Pagination.svelte.d.ts +27 -4
- package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/components/pagination/README.md +16 -0
- package/dist/components/passwordinput/PasswordInput.js +3 -4
- package/dist/components/passwordinput/PasswordInput.js.map +1 -1
- package/dist/components/passwordinput/PasswordInput.spec.js +84 -0
- package/dist/components/passwordinput/PasswordInput.stories.d.ts +10 -13
- package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
- package/dist/components/passwordinput/PasswordInput.stories.js +67 -124
- package/dist/components/passwordinput/PasswordInput.svelte +387 -24
- package/dist/components/passwordinput/PasswordInput.svelte.d.ts +34 -2
- package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
- package/dist/components/passwordinput/README.md +19 -0
- package/dist/components/pincode/Pincode.js +2 -2
- package/dist/components/pincode/Pincode.js.map +1 -1
- package/dist/components/pincode/Pincode.spec.js +99 -0
- package/dist/components/pincode/Pincode.stories.d.ts +9 -13
- package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
- package/dist/components/pincode/Pincode.stories.js +62 -127
- package/dist/components/pincode/Pincode.svelte +56 -41
- package/dist/components/pincode/Pincode.svelte.d.ts +30 -24
- package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
- package/dist/components/pincode/README.md +22 -0
- package/dist/components/quantityselector/QuantitySelector.js +2 -2
- package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
- package/dist/components/quantityselector/QuantitySelector.spec.js +104 -0
- package/dist/components/quantityselector/QuantitySelector.stories.d.ts +11 -15
- package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
- package/dist/components/quantityselector/QuantitySelector.stories.js +77 -145
- package/dist/components/quantityselector/QuantitySelector.svelte +100 -77
- package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +49 -17
- package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
- package/dist/components/quantityselector/README.md +21 -0
- package/dist/components/radio/README.md +15 -0
- package/dist/components/radio/Radio.js +2 -2
- package/dist/components/radio/Radio.js.map +1 -1
- package/dist/components/radio/Radio.spec.js +60 -0
- package/dist/components/radio/Radio.stories.d.ts +9 -13
- package/dist/components/radio/Radio.stories.d.ts.map +1 -1
- package/dist/components/radio/Radio.stories.js +54 -70
- package/dist/components/radio/Radio.svelte +42 -20
- package/dist/components/radio/Radio.svelte.d.ts +27 -5
- package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
- package/dist/components/radiogroup/README.md +14 -0
- package/dist/components/radiogroup/RadioGroup.js +3 -3
- package/dist/components/radiogroup/RadioGroup.js.map +1 -1
- package/dist/components/radiogroup/RadioGroup.spec.js +65 -0
- package/dist/components/radiogroup/RadioGroup.stories.d.ts +5 -12
- package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
- package/dist/components/radiogroup/RadioGroup.stories.js +56 -151
- package/dist/components/radiogroup/RadioGroup.svelte +50 -43
- package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
- package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
- package/dist/components/select/README.md +18 -0
- package/dist/components/select/Select.js +2 -2
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select/Select.spec.js +76 -0
- package/dist/components/select/Select.stories.d.ts +10 -14
- package/dist/components/select/Select.stories.d.ts.map +1 -1
- package/dist/components/select/Select.stories.js +87 -92
- package/dist/components/select/Select.svelte +57 -44
- package/dist/components/select/Select.svelte.d.ts +41 -10
- package/dist/components/select/Select.svelte.d.ts.map +1 -1
- package/dist/components/statusbadge/README.md +11 -0
- package/dist/components/statusbadge/StatusBadge.js +2 -2
- package/dist/components/statusbadge/StatusBadge.js.map +1 -1
- package/dist/components/statusbadge/StatusBadge.spec.js +31 -0
- package/dist/components/statusbadge/StatusBadge.stories.d.ts +9 -12
- package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
- package/dist/components/statusbadge/StatusBadge.stories.js +21 -44
- package/dist/components/statusbadge/StatusBadge.svelte +14 -6
- package/dist/components/statusbadge/StatusBadge.svelte.d.ts +13 -28
- package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
- package/dist/components/statusdot/README.md +11 -0
- package/dist/components/statusdot/StatusDot.js +2 -2
- package/dist/components/statusdot/StatusDot.js.map +1 -1
- package/dist/components/statusdot/StatusDot.spec.js +42 -0
- package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
- package/dist/components/statusdot/StatusDot.stories.js +9 -37
- package/dist/components/statusdot/StatusDot.svelte +9 -7
- package/dist/components/statusdot/StatusDot.svelte.d.ts +2 -2
- package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
- package/dist/components/statusnotification/README.md +25 -0
- package/dist/components/statusnotification/StatusNotification.js +3 -3
- package/dist/components/statusnotification/StatusNotification.js.map +1 -1
- package/dist/components/statusnotification/StatusNotification.spec.js +54 -0
- package/dist/components/statusnotification/StatusNotification.stories.d.ts +16 -14
- package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
- package/dist/components/statusnotification/StatusNotification.stories.js +53 -86
- package/dist/components/statusnotification/StatusNotification.svelte +49 -51
- package/dist/components/statusnotification/StatusNotification.svelte.d.ts +21 -18
- package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
- package/dist/components/tab/README.md +20 -0
- package/dist/components/tab/Tab.js +4 -0
- package/dist/components/tab/Tab.js.map +1 -0
- package/dist/components/tab/Tab.spec.js +58 -0
- package/dist/components/{tabs → tab}/Tab.svelte +46 -26
- package/dist/components/{tabs → tab}/Tab.svelte.d.ts +20 -3
- package/dist/components/tab/Tab.svelte.d.ts.map +1 -0
- package/dist/components/tabs/README.md +18 -0
- package/dist/components/tabs/Tabs.js +2 -2
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/Tabs.spec.js +51 -0
- package/dist/components/tabs/Tabs.stories.d.ts +9 -6
- package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.stories.js +59 -115
- package/dist/components/tabs/Tabs.svelte +27 -7
- package/dist/components/tabs/Tabs.svelte.d.ts +21 -7
- package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
- package/dist/components/tags/README.md +9 -0
- package/dist/components/tags/Tag.js +1 -1
- package/dist/components/tags/TagContextualised.js +2 -2
- package/dist/components/tags/TagInteractive.js +1 -1
- package/dist/components/tags/TagRemovable.js +2 -2
- package/dist/components/tags/TagSelectable.js +2 -2
- package/dist/components/tags/Tags.stories.d.ts.map +1 -1
- package/dist/components/tags/Tags.stories.js +7 -1
- package/dist/components/tags/TagsContextualised.stories.d.ts.map +1 -1
- package/dist/components/tags/TagsContextualised.stories.js +7 -1
- package/dist/components/tags/TagsInteractive.stories.d.ts.map +1 -1
- package/dist/components/tags/TagsInteractive.stories.js +7 -1
- package/dist/components/tags/TagsRemovable.stories.d.ts.map +1 -1
- package/dist/components/tags/TagsRemovable.stories.js +7 -1
- package/dist/components/tags/TagsSelectable.stories.d.ts.map +1 -1
- package/dist/components/tags/TagsSelectable.stories.js +7 -1
- package/dist/components/textarea/README.md +19 -0
- package/dist/components/textarea/Textarea.js +2 -5
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/textarea/Textarea.spec.js +67 -0
- package/dist/components/textarea/Textarea.stories.d.ts +9 -13
- package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.stories.js +61 -92
- package/dist/components/textarea/Textarea.svelte +53 -97
- package/dist/components/textarea/Textarea.svelte.d.ts +43 -13
- package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
- package/dist/components/textinput/README.md +26 -0
- package/dist/components/textinput/Textinput.js +2 -2
- package/dist/components/textinput/Textinput.js.map +1 -1
- package/dist/components/textinput/Textinput.spec.js +89 -0
- package/dist/components/textinput/Textinput.stories.d.ts +11 -12
- package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
- package/dist/components/textinput/Textinput.stories.js +78 -137
- package/dist/components/textinput/Textinput.svelte +70 -112
- package/dist/components/textinput/Textinput.svelte.d.ts +46 -22
- package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
- package/dist/components/toaster/README.md +28 -0
- package/dist/components/toaster/Toaster.js +2 -2
- package/dist/components/toaster/Toaster.js.map +1 -1
- package/dist/components/toaster/Toaster.spec.js +100 -0
- package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
- package/dist/components/toaster/Toaster.stories.js +5 -73
- package/dist/components/toaster/Toaster.svelte +17 -7
- package/dist/components/toaster/Toaster.svelte.d.ts +3 -0
- package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
- package/dist/components/toggle/README.md +15 -0
- package/dist/components/toggle/Toggle.js +2 -2
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toggle/Toggle.spec.js +69 -0
- package/dist/components/toggle/Toggle.stories.d.ts +9 -14
- package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.stories.js +55 -64
- package/dist/components/toggle/Toggle.svelte +38 -24
- package/dist/components/toggle/Toggle.svelte.d.ts +26 -7
- package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
- package/dist/components/togglegroup/README.md +13 -0
- package/dist/components/togglegroup/ToggleGroup.js +3 -3
- package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
- package/dist/components/togglegroup/ToggleGroup.spec.js +50 -0
- package/dist/components/togglegroup/ToggleGroup.stories.d.ts +5 -13
- package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
- package/dist/components/togglegroup/ToggleGroup.stories.js +56 -104
- package/dist/components/togglegroup/ToggleGroup.svelte +55 -58
- package/dist/components/togglegroup/ToggleGroup.svelte.d.ts +25 -14
- package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
- package/dist/components/tooltip/README.md +19 -0
- package/dist/components/tooltip/Tooltip.js +2 -2
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/Tooltip.spec.js +38 -0
- package/dist/components/tooltip/Tooltip.stories.d.ts +6 -7
- package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.stories.js +45 -59
- package/dist/components/tooltip/Tooltip.svelte +23 -14
- package/dist/components/tooltip/Tooltip.svelte.d.ts +17 -0
- package/dist/components/tooltip/Tooltip.svelte.d.ts.map +1 -1
- package/dist/custom-element.js +3 -3
- package/dist/custom-element.js.map +1 -1
- package/dist/documentation/Contributing.mdx +1 -1
- package/dist/documentation/Introduction.mdx +45 -11
- package/dist/documentation/SupportAndOnboarding.mdx +2 -2
- package/dist/each.js +1 -1
- package/dist/each.js.map +1 -1
- package/dist/if.js +1 -1
- package/dist/if.js.map +1 -1
- package/dist/input.js +1 -1
- package/dist/input.js.map +1 -1
- package/dist/legacy.js +1 -1
- package/dist/main.d.ts +24 -23
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +24 -23
- package/dist/slot.js +1 -1
- package/dist/slot.js.map +1 -1
- package/dist/this.js +2 -0
- package/dist/this.js.map +1 -0
- package/package.json +11 -3
- package/dist/components/button/button.types.d.ts +0 -13
- package/dist/components/button/button.types.d.ts.map +0 -1
- package/dist/components/button/button.types.js +0 -1
- package/dist/components/checkboxgroup/checkboxgroup.types.d.ts +0 -9
- package/dist/components/checkboxgroup/checkboxgroup.types.d.ts.map +0 -1
- package/dist/components/checkboxgroup/checkboxgroup.types.js +0 -1
- package/dist/components/link/link.types.d.ts +0 -4
- package/dist/components/link/link.types.d.ts.map +0 -1
- package/dist/components/link/link.types.js +0 -1
- package/dist/components/loader/loader.types.d.ts +0 -3
- package/dist/components/loader/loader.types.d.ts.map +0 -1
- package/dist/components/loader/loader.types.js +0 -1
- package/dist/components/numberbadge/NumberBadge.types.d.ts +0 -3
- package/dist/components/numberbadge/NumberBadge.types.d.ts.map +0 -1
- package/dist/components/numberbadge/NumberBadge.types.js +0 -1
- package/dist/components/overlayloader/OverlayLoader.js +0 -27
- package/dist/components/overlayloader/OverlayLoader.js.map +0 -1
- package/dist/components/overlayloader/OverlayLoader.stories.d.ts +0 -8
- package/dist/components/overlayloader/OverlayLoader.stories.d.ts.map +0 -1
- package/dist/components/overlayloader/OverlayLoader.stories.js +0 -50
- package/dist/components/overlayloader/OverlayLoader.svelte +0 -160
- package/dist/components/overlayloader/OverlayLoader.svelte.d.ts +0 -9
- package/dist/components/overlayloader/OverlayLoader.svelte.d.ts.map +0 -1
- package/dist/components/quantityselector/quantitySelector.types.d.ts +0 -2
- package/dist/components/quantityselector/quantitySelector.types.d.ts.map +0 -1
- package/dist/components/quantityselector/quantitySelector.types.js +0 -1
- package/dist/components/radiogroup/radioGroup.types.d.ts +0 -9
- package/dist/components/radiogroup/radioGroup.types.d.ts.map +0 -1
- package/dist/components/radiogroup/radioGroup.types.js +0 -1
- package/dist/components/select/select.types.d.ts +0 -9
- package/dist/components/select/select.types.d.ts.map +0 -1
- package/dist/components/select/select.types.js +0 -1
- package/dist/components/statusbadge/StatusBadge.types.d.ts +0 -2
- package/dist/components/statusbadge/StatusBadge.types.d.ts.map +0 -1
- package/dist/components/statusbadge/StatusBadge.types.js +0 -1
- package/dist/components/statusdot/StatusDot.types.d.ts +0 -3
- package/dist/components/statusdot/StatusDot.types.d.ts.map +0 -1
- package/dist/components/statusdot/StatusDot.types.js +0 -1
- package/dist/components/tabs/Tab.js +0 -4
- package/dist/components/tabs/Tab.js.map +0 -1
- package/dist/components/tabs/Tab.svelte.d.ts.map +0 -1
- package/dist/components/textinput/textinput.types.d.ts +0 -3
- package/dist/components/textinput/textinput.types.d.ts.map +0 -1
- package/dist/components/textinput/textinput.types.js +0 -1
- package/dist/components/toggle/toggle.types.d.ts +0 -2
- package/dist/components/toggle/toggle.types.d.ts.map +0 -1
- package/dist/components/toggle/toggle.types.js +0 -1
- package/dist/index-client.js +0 -2
- package/dist/index-client.js.map +0 -1
- package/dist/snippet.js +0 -2
- package/dist/snippet.js.map +0 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
<svelte:options customElement={{ tag: 'm-loading-overlay' }} />
|
|
2
|
+
|
|
3
|
+
<script lang="ts">
|
|
4
|
+
import Loader from '../loader/Loader.svelte';
|
|
5
|
+
/**
|
|
6
|
+
* A loading overlay is a full-screen or container-level layer that indicates a process is in progress, preventing user interaction until the task is completed. It includes a progress indicator, and a message to inform users about the loading state. Loading Overlays are commonly used in data-heavy applications, form submissions, and page transitions to enhance user experience by managing wait times effectively.
|
|
7
|
+
*/
|
|
8
|
+
interface Props {
|
|
9
|
+
/**
|
|
10
|
+
* Controls the visibility of the loading overlay.
|
|
11
|
+
*/
|
|
12
|
+
isvisible?: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Text of the loading overlay.
|
|
15
|
+
*/
|
|
16
|
+
text?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
let { isvisible, text }: Props = $props();
|
|
20
|
+
</script>
|
|
21
|
+
|
|
22
|
+
<div class={['mc-loading-loader', isvisible && 'is-visible']}>
|
|
23
|
+
<div role="dialog" tabindex="-1" aria-label={text}>
|
|
24
|
+
<Loader size="l" appearance="inverse" {text} />
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<style>/**
|
|
29
|
+
* Do not edit directly, this file was auto-generated.
|
|
30
|
+
*/
|
|
31
|
+
.mc-loading-loader {
|
|
32
|
+
background-color: var(--overlay-color-background, rgba(0, 0, 0, 0.5));
|
|
33
|
+
inset: 0;
|
|
34
|
+
opacity: 0;
|
|
35
|
+
position: fixed;
|
|
36
|
+
pointer-events: none;
|
|
37
|
+
transition: opacity 0.4s ease, visibility 0ms 0.4s;
|
|
38
|
+
z-index: var(--overlay-z-index, 2);
|
|
39
|
+
}
|
|
40
|
+
.mc-loading-loader.is-visible {
|
|
41
|
+
opacity: 1;
|
|
42
|
+
pointer-events: all;
|
|
43
|
+
transition: opacity 0.4s ease, visibility 0ms;
|
|
44
|
+
visibility: visible;
|
|
45
|
+
}
|
|
46
|
+
.mc-loading-loader {
|
|
47
|
+
align-items: center;
|
|
48
|
+
display: flex;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
}</style>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A loading overlay is a full-screen or container-level layer that indicates a process is in progress, preventing user interaction until the task is completed. It includes a progress indicator, and a message to inform users about the loading state. Loading Overlays are commonly used in data-heavy applications, form submissions, and page transitions to enhance user experience by managing wait times effectively.
|
|
3
|
+
*/
|
|
4
|
+
interface Props {
|
|
5
|
+
/**
|
|
6
|
+
* Controls the visibility of the loading overlay.
|
|
7
|
+
*/
|
|
8
|
+
isvisible?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Text of the loading overlay.
|
|
11
|
+
*/
|
|
12
|
+
text?: string;
|
|
13
|
+
}
|
|
14
|
+
declare const LoadingOverlay: import("svelte").Component<Props, {}, "">;
|
|
15
|
+
type LoadingOverlay = ReturnType<typeof LoadingOverlay>;
|
|
16
|
+
export default LoadingOverlay;
|
|
17
|
+
//# sourceMappingURL=LoadingOverlay.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LoadingOverlay.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/loadingoverlay/LoadingOverlay.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAoBH,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# `m-loading-overlay`
|
|
2
|
+
|
|
3
|
+
A loading overlay is a full-screen or container-level layer that indicates a process is in progress, preventing user interaction until the task is completed. It includes a progress indicator, and a message to inform users about the loading state. Loading Overlays are commonly used in data-heavy applications, form submissions, and page transitions to enhance user experience by managing wait times effectively.
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| Name | Description | Type | Default |
|
|
8
|
+
|------|-------------|------|---------|
|
|
9
|
+
| `isvisible` | Controls the visibility of the loading overlay. | `boolean` | |
|
|
10
|
+
| `text` | Text of the loading overlay. | `string` | |
|
|
11
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{v as J,c as K,p as L,a as N,b as s,f as w,d as t,s as l,t as E,i as y,j as P,k as c,r as o,h as O,e as Q,g as R}from"../../custom-element.js";import{i as T}from"../../if.js";import{s as m}from"../../slot.js";import{s as U}from"../../attributes.js";import{b as V}from"../../this.js";import{C as W}from"../../Cross24.js";import{O as X}from"../overlay/Overlay.js";import"../../legacy.js";var Z=w('<button type="button" class="mc-modal__close mc-button mc-button--icon-button mc-button--ghost svelte-1tduk3b" aria-label="Close"><!></button>'),$=w('<p class="svelte-1tduk3b"> </p>'),ee=w('<section tabindex="-1" aria-labelledby="modalTitle"><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 te={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;}
|
|
@@ -12,5 +12,5 @@ import{n as Q,c as R,p as U,a as V,b as l,f as m,s as i,d as r,t as M,e as W,g a
|
|
|
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-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-radius, 0.25rem);transition:all ease 200ms;transition:box-shadow 200ms ease;align-items:center;box-sizing:border-box;font-family:inherit;fill:currentcolor;gap:0.25rem;cursor:pointer;}.mc-button.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--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--icon-button.svelte-1tduk3b {border-radius:var(--radius-full, 100%);padding:0;}`};function
|
|
15
|
+
}.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-radius, 0.25rem);transition:all ease 200ms;transition:box-shadow 200ms ease;align-items:center;box-sizing:border-box;font-family:inherit;fill:currentcolor;gap:0.25rem;cursor:pointer;}.mc-button.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--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--icon-button.svelte-1tduk3b {border-radius:var(--radius-full, 100%);padding:0;}.mc-modal__icon.svelte-1tduk3b:empty {display:none;}`};function oe(z,r){L(r,!0),N(z,te);let d=s(r,"open",7),b=s(r,"title",7),n=s(r,"description",7),u=s(r,"closable",7,!0),v;function Y(){d(!1);const e=new CustomEvent("update:open",{detail:d(),bubbles:!0,composed:!0});v.dispatchEvent(e)}var D={get open(){return d()},set open(e){d(e),c()},get title(){return b()},set title(e){b(e),c()},get description(){return n()},set description(e){n(e),c()},get closable(){return u()},set closable(e=!0){u(e),c()}},i=ee(),f=t(i),g=t(f),p=t(g),M=t(p);m(M,r,"icon",{}),o(p);var k=l(p,2),S=t(k,!0);o(k);var q=l(k,2);{var A=e=>{var a=Z();a.__click=Y;var x=t(a);W(x,{class:"mc-modal__close","aria-hidden":"true"}),o(a),y(e,a)};T(q,e=>{u()&&e(A)})}o(g);var _=l(g,2),C=t(_);{var B=e=>{var a=$(),x=t(a,!0);o(a),E(()=>O(x,n())),y(e,a)};T(C,e=>{n()&&e(B)})}var F=l(C,2);m(F,r,"default",{}),o(_);var j=l(_,2),h=t(j),G=t(h);m(G,r,"link",{}),o(h);var H=l(h,2);m(H,r,"footer",{}),o(j),o(f);var I=l(f,2);return X(I,{get isvisible(){return d()},dialoglabel:"modal"}),o(i),V(i,e=>v=e,()=>v),E(()=>{Q(i,1,R(["mc-modal",d()&&"is-open"]),"svelte-1tduk3b"),U(i,"aria-hidden",!d()),O(S,b())}),y(z,i),P(D)}J(["click"]);customElements.define("m-modal",K(oe,{open:{},title:{},description:{},closable:{}},["icon","default","link","footer"],[],!0));
|
|
16
16
|
//# sourceMappingURL=Modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-modal' }} />\n\n<script lang=\"ts\">\n import Cross24 from '@mozaic-ds/icons-svelte/svelte/Cross24/Cross24.svelte';\n import MOverlay from '../overlay/Overlay.svelte';\n
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../src/components/modal/Modal.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-modal' }} />\n\n<script lang=\"ts\">\n import Cross24 from '@mozaic-ds/icons-svelte/svelte/Cross24/Cross24.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 /**\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 }: 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>\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 class=\"mc-modal__close\" aria-hidden=\"true\" />\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","element","onClose","event","$$render","consequent","consequent_1","$.bind_this","section","$$value"],"mappings":";;;;;;;;;;;;;;izEAAA,qBAiCQA,EAAIC,EAAAC,EAAA,OAAA,CAAA,EAAEC,EAAKF,EAAAC,EAAA,QAAA,CAAA,EAAEE,EAAWH,EAAAC,EAAA,cAAA,CAAA,EAAEG,mBAAW,EAAI,EAC3CC,EAEK,SAAAC,GAAU,CACjBP,EAAO,EAAK,EAEN,MAAAQ,EAAK,IAAO,YAAY,eAC5B,OAAQR,EAAI,EACZ,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBM,EAAQ,cAAcE,CAAK,CAC7B,yMAZ2C,GAAI,6IAiC9BD,sFALRF,EAAQ,GAAAI,EAAAC,CAAA,2EAcPN,EAAW,CAAA,CAAA,kBADZA,EAAW,GAAAK,EAAAE,CAAA,qLAcCX,EAAI,8BAnCdY,EAAAC,EAAAC,GAAAR,QAAAA,CAAO,kBAJV,WAAYN,KAAQ,SAAS,CAAA,EAAA,gBAAA,qBAGvBA,EAAI,CAAA,MAQ+BG,GAAK,eAdxD"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
2
|
+
import { render, fireEvent } from '@testing-library/svelte';
|
|
3
|
+
import Modal from './Modal.svelte';
|
|
4
|
+
describe('m-modal component', () => {
|
|
5
|
+
const title = 'Test Modal';
|
|
6
|
+
const description = 'Modal description';
|
|
7
|
+
it('renders the title and description', () => {
|
|
8
|
+
const { getByText } = render(Modal, {
|
|
9
|
+
props: {
|
|
10
|
+
open: true,
|
|
11
|
+
title,
|
|
12
|
+
description,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
expect(getByText(title)).toBeTruthy();
|
|
16
|
+
expect(getByText(description)).toBeTruthy();
|
|
17
|
+
});
|
|
18
|
+
it('applies is-open class when open is true', () => {
|
|
19
|
+
const { container } = render(Modal, {
|
|
20
|
+
props: { open: true, title },
|
|
21
|
+
});
|
|
22
|
+
expect(container.querySelector('.mc-modal')).toHaveClass('is-open');
|
|
23
|
+
});
|
|
24
|
+
it('does not show close button if closable is false', () => {
|
|
25
|
+
const { queryByRole } = render(Modal, {
|
|
26
|
+
props: { open: true, title, closable: false },
|
|
27
|
+
});
|
|
28
|
+
expect(queryByRole('button', { name: 'Close' })).toBeNull();
|
|
29
|
+
});
|
|
30
|
+
it('emits update:open event with false when close button is clicked', async () => {
|
|
31
|
+
const { container } = render(Modal, {
|
|
32
|
+
props: { open: true, title },
|
|
33
|
+
});
|
|
34
|
+
const closeButton = container.querySelector('button[aria-label="Close"]');
|
|
35
|
+
const handler = vi.fn();
|
|
36
|
+
container.addEventListener('update:open', handler);
|
|
37
|
+
await fireEvent.click(closeButton);
|
|
38
|
+
expect(handler).toHaveBeenCalledTimes(1);
|
|
39
|
+
expect(handler.mock.calls[0][0].detail).toBe(false);
|
|
40
|
+
});
|
|
41
|
+
it('sets aria-hidden to false when open and true when closed', async () => {
|
|
42
|
+
const { container, rerender } = render(Modal, {
|
|
43
|
+
props: { open: false, title },
|
|
44
|
+
});
|
|
45
|
+
const modal = container.querySelector('.mc-modal');
|
|
46
|
+
expect(modal.getAttribute('aria-hidden')).toBe('true');
|
|
47
|
+
await rerender({ open: true, title });
|
|
48
|
+
expect(modal.getAttribute('aria-hidden')).toBe('false');
|
|
49
|
+
});
|
|
50
|
+
});
|
|
@@ -1,12 +1,39 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
import '@mozaic-ds/icons-svelte/custom-elements/InfoCircle32/InfoCircle32.js';
|
|
3
|
+
import '@mozaic-ds/icons-svelte/custom-elements/ExternalLink24/ExternalLink24.js';
|
|
4
|
+
declare const meta: Meta;
|
|
5
|
+
export default meta;
|
|
4
6
|
type Story = StoryObj;
|
|
5
7
|
export declare const Default: Story;
|
|
6
|
-
export declare const Icon:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export declare const
|
|
8
|
+
export declare const Icon: {
|
|
9
|
+
args: {
|
|
10
|
+
icon: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare const ValidationOnly: {
|
|
14
|
+
args: {
|
|
15
|
+
footer: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export declare const TwoOptions: {
|
|
19
|
+
args: {
|
|
20
|
+
footer: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export declare const Cancel: {
|
|
24
|
+
args: {
|
|
25
|
+
footer: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare const Link: {
|
|
29
|
+
args: {
|
|
30
|
+
link: string;
|
|
31
|
+
footer: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
export declare const Danger: {
|
|
35
|
+
args: {
|
|
36
|
+
footer: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
12
39
|
//# sourceMappingURL=Modal.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Modal.stories.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,OAAO,sEAAsE,CAAC;AAC9E,OAAO,0EAA0E,CAAC;AAElF,QAAA,MAAM,IAAI,EAAE,IAkDX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,IAAI;;;;CAIhB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAM1B,CAAC;AAEF,eAAO,MAAM,UAAU;;;;CAOtB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;CAQlB,CAAC;AAEF,eAAO,MAAM,IAAI;;;;;CAahB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;CAOlB,CAAC"}
|
|
@@ -1,138 +1,109 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
3
|
+
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
1
4
|
import { action } from 'storybook/actions';
|
|
2
|
-
import
|
|
3
|
-
|
|
5
|
+
import '@mozaic-ds/icons-svelte/custom-elements/InfoCircle32/InfoCircle32.js';
|
|
6
|
+
import '@mozaic-ds/icons-svelte/custom-elements/ExternalLink24/ExternalLink24.js';
|
|
7
|
+
const meta = {
|
|
4
8
|
title: 'Overlay/Modal',
|
|
5
|
-
|
|
9
|
+
component: 'm-modal',
|
|
6
10
|
parameters: {
|
|
7
11
|
layout: 'fullscreen',
|
|
8
12
|
docs: {
|
|
9
13
|
story: { height: '400px' },
|
|
10
|
-
description: {
|
|
11
|
-
component: '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.',
|
|
12
|
-
},
|
|
13
14
|
},
|
|
14
15
|
},
|
|
15
16
|
args: {
|
|
16
17
|
open: true,
|
|
17
18
|
title: 'Modal title',
|
|
18
|
-
description:
|
|
19
|
+
description: `A modal is a dialog window allowing you to focus the user's attention on a specific task, a piece of information or a mandatory action. It must be used for single action only and must have a call to action button in the bottom.`,
|
|
19
20
|
footer: `
|
|
20
|
-
<m-button ghost="true">Cancel</m-button>
|
|
21
|
-
<m-button>Primary action</m-button>
|
|
21
|
+
<m-button ghost="true" slot="footer">Cancel</m-button>
|
|
22
|
+
<m-button slot="footer">Primary action</m-button>
|
|
22
23
|
`,
|
|
23
24
|
},
|
|
24
25
|
argTypes: {
|
|
25
|
-
|
|
26
|
+
'update:open': {
|
|
27
|
+
control: false,
|
|
28
|
+
},
|
|
29
|
+
'--modal-z-index': {
|
|
30
|
+
description: 'Customise the z-index of the modal',
|
|
31
|
+
control: false,
|
|
32
|
+
table: {
|
|
33
|
+
category: 'Custom Properties',
|
|
34
|
+
type: { summary: 'number' },
|
|
35
|
+
defaultValue: { summary: '3' },
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
render: (args) => {
|
|
40
|
+
const handleUpdateOpen = action('update:open');
|
|
41
|
+
return html `
|
|
42
|
+
<m-modal
|
|
43
|
+
open=${ifDefined(args.open)}
|
|
44
|
+
title=${ifDefined(args.title)}
|
|
45
|
+
description=${ifDefined(args.description)}
|
|
46
|
+
closable=${ifDefined(args.closable)}
|
|
47
|
+
@update:open=${handleUpdateOpen}
|
|
48
|
+
>
|
|
49
|
+
${unsafeHTML(ifDefined(args.icon))}
|
|
50
|
+
${unsafeHTML(ifDefined(args.default))}
|
|
51
|
+
${unsafeHTML(ifDefined(args.link))}
|
|
52
|
+
${unsafeHTML(ifDefined(args.footer))}
|
|
53
|
+
</m-modal>
|
|
54
|
+
`;
|
|
26
55
|
},
|
|
27
56
|
};
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const button = document.createElement('m-button');
|
|
31
|
-
button.textContent = 'Open Modal';
|
|
32
|
-
const modal = document.createElement('m-modal');
|
|
33
|
-
modal.setAttribute('title', args.title);
|
|
34
|
-
modal.setAttribute('description', args.description);
|
|
35
|
-
modal.setAttribute('open', 'true');
|
|
36
|
-
modal.addEventListener('update:open', (e) => {
|
|
37
|
-
if (!e.detail)
|
|
38
|
-
modal.removeAttribute('open');
|
|
39
|
-
action('update:open')(e.detail);
|
|
40
|
-
});
|
|
41
|
-
// Inject default slot content
|
|
42
|
-
const contentSlot = document.createElement('div');
|
|
43
|
-
contentSlot.innerHTML =
|
|
44
|
-
args.default ??
|
|
45
|
-
'<p>A modal is a dialog window allowing you to focus the users attention on a specific task, a piece of information or a mandatory action. It must be used for single action only and must have a call to action button in the bottom.</p>';
|
|
46
|
-
modal.appendChild(contentSlot);
|
|
47
|
-
// Inject icon
|
|
48
|
-
if (args.icon) {
|
|
49
|
-
const iconSlot = document.createElement('div');
|
|
50
|
-
iconSlot.slot = 'icon';
|
|
51
|
-
iconSlot.innerHTML = args.icon;
|
|
52
|
-
modal.appendChild(iconSlot);
|
|
53
|
-
}
|
|
54
|
-
// Inject footer
|
|
55
|
-
if (args.footer) {
|
|
56
|
-
modal.setAttribute('footer', 'true');
|
|
57
|
-
const footerSlot = document.createElement('div');
|
|
58
|
-
footerSlot.setAttribute('slot', 'footer');
|
|
59
|
-
footerSlot.innerHTML = args.footer;
|
|
60
|
-
modal.appendChild(footerSlot);
|
|
61
|
-
}
|
|
62
|
-
// Inject link
|
|
63
|
-
if (args.link) {
|
|
64
|
-
const linkSlot = document.createElement('div');
|
|
65
|
-
modal.setAttribute('link', 'true');
|
|
66
|
-
linkSlot.setAttribute('slot', 'link');
|
|
67
|
-
linkSlot.innerHTML = args.link;
|
|
68
|
-
modal.appendChild(linkSlot);
|
|
69
|
-
}
|
|
70
|
-
// Inject icon
|
|
71
|
-
if (args.icon) {
|
|
72
|
-
modal.setAttribute('icon', 'true');
|
|
73
|
-
}
|
|
74
|
-
// Open modal on button click
|
|
75
|
-
button.onclick = () => modal.setAttribute('open', 'true');
|
|
76
|
-
wrapper.appendChild(button);
|
|
77
|
-
wrapper.appendChild(modal);
|
|
78
|
-
return wrapper;
|
|
79
|
-
};
|
|
80
|
-
export const Default = {
|
|
81
|
-
render: (args) => createModalTemplate(args),
|
|
82
|
-
};
|
|
57
|
+
export default meta;
|
|
58
|
+
export const Default = {};
|
|
83
59
|
export const Icon = {
|
|
84
60
|
args: {
|
|
85
|
-
icon: '<
|
|
61
|
+
icon: '<info-circle-32 slot="icon"/>',
|
|
86
62
|
},
|
|
87
|
-
render: (args) => createModalTemplate(args),
|
|
88
63
|
};
|
|
89
64
|
export const ValidationOnly = {
|
|
90
65
|
args: {
|
|
91
66
|
footer: `
|
|
92
|
-
<m-button>Primary action</m-button>
|
|
67
|
+
<m-button slot="footer">Primary action</m-button>
|
|
93
68
|
`,
|
|
94
69
|
},
|
|
95
|
-
render: (args) => createModalTemplate(args),
|
|
96
70
|
};
|
|
97
71
|
export const TwoOptions = {
|
|
98
72
|
args: {
|
|
99
73
|
footer: `
|
|
100
|
-
<m-button outlined="true">Secondary action</m-button>
|
|
101
|
-
<m-button>Primary action</m-button>
|
|
74
|
+
<m-button outlined="true" slot="footer">Secondary action</m-button>
|
|
75
|
+
<m-button slot="footer">Primary action</m-button>
|
|
102
76
|
`,
|
|
103
77
|
},
|
|
104
|
-
render: (args) => createModalTemplate(args),
|
|
105
78
|
};
|
|
106
79
|
export const Cancel = {
|
|
107
80
|
args: {
|
|
108
81
|
footer: `
|
|
109
|
-
<m-button ghost="true">Cancel</m-button>
|
|
110
|
-
<m-button outlined="true">Secondary action</m-button>
|
|
111
|
-
<m-button>Primary action</m-button>
|
|
82
|
+
<m-button ghost="true" slot="footer">Cancel</m-button>
|
|
83
|
+
<m-button outlined="true" slot="footer">Secondary action</m-button>
|
|
84
|
+
<m-button slot="footer">Primary action</m-button>
|
|
112
85
|
`,
|
|
113
86
|
},
|
|
114
|
-
render: (args) => createModalTemplate(args),
|
|
115
87
|
};
|
|
116
88
|
export const Link = {
|
|
117
89
|
args: {
|
|
118
90
|
link: `
|
|
119
|
-
<m-link href="#" size="m">
|
|
91
|
+
<m-link href="#" size="m" iconPosition="right" slot="link">
|
|
120
92
|
Learn more
|
|
93
|
+
<external-link-24 slot="icon"></external-link-24>
|
|
121
94
|
</m-link>
|
|
122
95
|
`,
|
|
123
96
|
footer: `
|
|
124
|
-
<m-button ghost="true">Cancel</m-button>
|
|
125
|
-
<m-button>Primary action</m-button>
|
|
97
|
+
<m-button ghost="true" slot="footer">Cancel</m-button>
|
|
98
|
+
<m-button slot="footer">Primary action</m-button>
|
|
126
99
|
`,
|
|
127
100
|
},
|
|
128
|
-
render: (args) => createModalTemplate(args),
|
|
129
101
|
};
|
|
130
102
|
export const Danger = {
|
|
131
103
|
args: {
|
|
132
104
|
footer: `
|
|
133
|
-
<m-button ghost="true">Cancel</m-button>
|
|
134
|
-
<m-button appearance="danger">Primary action</m-button>
|
|
105
|
+
<m-button ghost="true" slot="footer">Cancel</m-button>
|
|
106
|
+
<m-button appearance="danger" slot="footer">Primary action</m-button>
|
|
135
107
|
`,
|
|
136
108
|
},
|
|
137
|
-
render: (args) => createModalTemplate(args),
|
|
138
109
|
};
|
|
@@ -3,58 +3,61 @@
|
|
|
3
3
|
<script lang="ts">
|
|
4
4
|
import Cross24 from '@mozaic-ds/icons-svelte/svelte/Cross24/Cross24.svelte';
|
|
5
5
|
import MOverlay from '../overlay/Overlay.svelte';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* 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.
|
|
8
|
+
*
|
|
9
|
+
* @slot icon - Use this slot to insert an icon next to the title of the modal.
|
|
10
|
+
* @slot default - Use this slot to insert the content of the modal.
|
|
11
|
+
* @slot link - Use this slot to insert a link in the footer.
|
|
12
|
+
* @slot footer - Use this slot to insert buttons in the footer.
|
|
13
|
+
* @event update:open {CustomEvent<boolean>} - Fired when the open state changes.
|
|
14
|
+
*/
|
|
7
15
|
interface Props {
|
|
16
|
+
/**
|
|
17
|
+
* if `true`, display the modal.
|
|
18
|
+
*/
|
|
8
19
|
open?: boolean;
|
|
9
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Title of the modal.
|
|
22
|
+
*/
|
|
23
|
+
title: string;
|
|
24
|
+
/**
|
|
25
|
+
* Description of the modal.
|
|
26
|
+
*/
|
|
10
27
|
description?: string;
|
|
28
|
+
/**
|
|
29
|
+
* if `true`, display the close button.
|
|
30
|
+
*/
|
|
11
31
|
closable?: boolean;
|
|
12
|
-
icon?: any;
|
|
13
|
-
footer?: any;
|
|
14
|
-
link?: any;
|
|
15
|
-
[key: string]: any;
|
|
16
32
|
}
|
|
17
33
|
|
|
18
|
-
let {
|
|
19
|
-
|
|
20
|
-
title = '',
|
|
21
|
-
description = '',
|
|
22
|
-
closable = true,
|
|
23
|
-
icon = undefined,
|
|
24
|
-
footer = undefined,
|
|
25
|
-
link = undefined,
|
|
26
|
-
}: Props = $props();
|
|
34
|
+
let { open, title, description, closable = true }: Props = $props();
|
|
35
|
+
let element: HTMLElement;
|
|
27
36
|
|
|
28
37
|
function onClose() {
|
|
29
38
|
open = false;
|
|
30
|
-
|
|
39
|
+
|
|
31
40
|
const event = new CustomEvent('update:open', {
|
|
32
41
|
detail: open,
|
|
33
42
|
bubbles: true,
|
|
34
43
|
composed: true,
|
|
35
44
|
});
|
|
36
|
-
|
|
37
|
-
this.dispatchEvent(event);
|
|
45
|
+
element.dispatchEvent(event);
|
|
38
46
|
}
|
|
39
|
-
// afterUpdate(() => {
|
|
40
|
-
// dispatch('update:open', open);
|
|
41
|
-
// });
|
|
42
47
|
</script>
|
|
43
48
|
|
|
44
49
|
<section
|
|
45
|
-
class=
|
|
46
|
-
class:is-open={open}
|
|
50
|
+
class={['mc-modal', open && 'is-open']}
|
|
47
51
|
tabindex="-1"
|
|
48
52
|
aria-labelledby="modalTitle"
|
|
49
53
|
aria-hidden={!open}
|
|
54
|
+
bind:this={element}
|
|
50
55
|
>
|
|
51
56
|
<div class="mc-modal__dialog" role="document">
|
|
52
57
|
<header class="mc-modal__header">
|
|
53
|
-
|
|
54
|
-
<
|
|
55
|
-
|
|
56
|
-
</span>
|
|
57
|
-
{/if}
|
|
58
|
+
<span class="mc-modal__icon">
|
|
59
|
+
<slot name="icon" />
|
|
60
|
+
</span>
|
|
58
61
|
<h2 class="mc-modal__title" id="modalTitle">{title}</h2>
|
|
59
62
|
{#if closable}
|
|
60
63
|
<button
|
|
@@ -63,9 +66,7 @@
|
|
|
63
66
|
aria-label="Close"
|
|
64
67
|
onclick={onClose}
|
|
65
68
|
>
|
|
66
|
-
<
|
|
67
|
-
<Cross24 aria-hidden="true" />
|
|
68
|
-
</span>
|
|
69
|
+
<Cross24 class="mc-modal__close" aria-hidden="true" />
|
|
69
70
|
</button>
|
|
70
71
|
{/if}
|
|
71
72
|
</header>
|
|
@@ -77,16 +78,12 @@
|
|
|
77
78
|
<slot />
|
|
78
79
|
</main>
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
{/if}
|
|
87
|
-
<slot name="footer" />
|
|
88
|
-
</footer>
|
|
89
|
-
{/if}
|
|
81
|
+
<footer class="mc-modal__footer">
|
|
82
|
+
<span class="mc-modal__link">
|
|
83
|
+
<slot name="link" />
|
|
84
|
+
</span>
|
|
85
|
+
<slot name="footer" />
|
|
86
|
+
</footer>
|
|
90
87
|
</div>
|
|
91
88
|
|
|
92
89
|
<MOverlay isvisible={open} dialoglabel="modal" />
|
|
@@ -547,4 +544,8 @@
|
|
|
547
544
|
border-color: transparent;
|
|
548
545
|
color: var(--button-state-disabled-color, #737373);
|
|
549
546
|
cursor: not-allowed;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
.mc-modal__icon:empty {
|
|
550
|
+
display: none;
|
|
550
551
|
}</style>
|
|
@@ -1,12 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 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.
|
|
3
|
+
*
|
|
4
|
+
* @slot icon - Use this slot to insert an icon next to the title of the modal.
|
|
5
|
+
* @slot default - Use this slot to insert the content of the modal.
|
|
6
|
+
* @slot link - Use this slot to insert a link in the footer.
|
|
7
|
+
* @slot footer - Use this slot to insert buttons in the footer.
|
|
8
|
+
* @event update:open {CustomEvent<boolean>} - Fired when the open state changes.
|
|
9
|
+
*/
|
|
1
10
|
interface Props {
|
|
11
|
+
/**
|
|
12
|
+
* if `true`, display the modal.
|
|
13
|
+
*/
|
|
2
14
|
open?: boolean;
|
|
3
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Title of the modal.
|
|
17
|
+
*/
|
|
18
|
+
title: string;
|
|
19
|
+
/**
|
|
20
|
+
* Description of the modal.
|
|
21
|
+
*/
|
|
4
22
|
description?: string;
|
|
23
|
+
/**
|
|
24
|
+
* if `true`, display the close button.
|
|
25
|
+
*/
|
|
5
26
|
closable?: boolean;
|
|
6
|
-
icon?: any;
|
|
7
|
-
footer?: any;
|
|
8
|
-
link?: any;
|
|
9
|
-
[key: string]: any;
|
|
10
27
|
}
|
|
11
28
|
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> {
|
|
12
29
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Modal.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/modal/Modal.svelte.ts"],"names":[],"mappings":"AAME;;;;;;;;GAQG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA2DH,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AACD,KAAK,gCAAgC,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,GACvD,CAAC,KAAK,SAAS;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,GACzB,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GACnC,GAAG,GACH;IAAE,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE,GAClB,EAAE,CAAC,CAAC;AAId,QAAA,MAAM,KAAK;;;;;;;;;;;;UAAqF,CAAC;AAC/E,KAAK,KAAK,GAAG,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC;AAC1C,eAAe,KAAK,CAAC"}
|