@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
|
@@ -1,159 +1,91 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
1
3
|
import { action } from 'storybook/actions';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* The quantity selector is a form element used to enter or select a number.
|
|
5
|
-
* This type of input is best used when the user needs to choose the quantity of a selected item, like a product before adding to cart.
|
|
6
|
-
*
|
|
7
|
-
* The `MQuantitySelector` component is the **Svelte / WebComponent** implementation of the **Quantity Selector** component of Mozaic Design System.
|
|
8
|
-
* The full specification of this component is available in [the associated documentation](https://mozaic.adeo.cloud/components/form/quantity-selector/).
|
|
9
|
-
*/
|
|
10
|
-
export default {
|
|
4
|
+
const meta = {
|
|
11
5
|
title: 'Form Elements/Quantity Selector',
|
|
12
|
-
|
|
6
|
+
component: 'm-quantityselector',
|
|
7
|
+
args: {
|
|
8
|
+
id: 'quantitySelectorId',
|
|
9
|
+
value: 10,
|
|
10
|
+
min: 5,
|
|
11
|
+
max: 20,
|
|
12
|
+
},
|
|
13
13
|
argTypes: {
|
|
14
|
-
id: {
|
|
15
|
-
description: 'Specify id for qty selector',
|
|
16
|
-
control: 'text',
|
|
17
|
-
},
|
|
18
|
-
name: {
|
|
19
|
-
description: 'Specify name attr for qty selector',
|
|
20
|
-
control: 'text',
|
|
21
|
-
},
|
|
22
14
|
size: {
|
|
23
|
-
|
|
24
|
-
control: { type: 'radio' },
|
|
15
|
+
control: 'radio',
|
|
25
16
|
options: ['s', 'm'],
|
|
26
17
|
},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
step
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
control: 'number',
|
|
62
|
-
},
|
|
63
|
-
incrementlabel: {
|
|
64
|
-
description: 'Specify the increment label for a11y',
|
|
65
|
-
control: 'number',
|
|
66
|
-
},
|
|
67
|
-
increment: {
|
|
68
|
-
description: 'Event that occurs when the increment button is clicked',
|
|
69
|
-
action: 'on:increment',
|
|
70
|
-
table: {
|
|
71
|
-
category: 'Events',
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
decrement: {
|
|
75
|
-
description: 'Event that occurs when the decrement button is clicked',
|
|
76
|
-
action: 'on:decrement',
|
|
77
|
-
table: {
|
|
78
|
-
category: 'Events',
|
|
79
|
-
},
|
|
80
|
-
},
|
|
81
|
-
inputQty: {
|
|
82
|
-
description: 'Event that occurs when a quantity is entered in the input field',
|
|
83
|
-
action: 'oninputqty',
|
|
84
|
-
table: {
|
|
85
|
-
category: 'Events',
|
|
86
|
-
},
|
|
87
|
-
},
|
|
18
|
+
},
|
|
19
|
+
render: (args) => {
|
|
20
|
+
const onInput = action('input');
|
|
21
|
+
const onChange = action('change');
|
|
22
|
+
const onFocus = action('focus');
|
|
23
|
+
const onBlur = action('blur');
|
|
24
|
+
return html `
|
|
25
|
+
<m-quantityselector
|
|
26
|
+
id=${ifDefined(args.id)}
|
|
27
|
+
name=${ifDefined(args.name)}
|
|
28
|
+
value=${ifDefined(args.value)}
|
|
29
|
+
isinvalid=${ifDefined(args.isinvalid)}
|
|
30
|
+
disabled=${ifDefined(args.disabled)}
|
|
31
|
+
size=${ifDefined(args.size)}
|
|
32
|
+
min=${ifDefined(args.min)}
|
|
33
|
+
max=${ifDefined(args.max)}
|
|
34
|
+
step=${ifDefined(args.step)}
|
|
35
|
+
readonly=${ifDefined(args.readonly)}
|
|
36
|
+
incrementlabel=${ifDefined(args.incrementlabel)}
|
|
37
|
+
decrementlabel=${ifDefined(args.decrementlabel)}
|
|
38
|
+
@input=${(event) => {
|
|
39
|
+
onInput(event);
|
|
40
|
+
}}
|
|
41
|
+
@change=${(event) => {
|
|
42
|
+
onChange(event);
|
|
43
|
+
}}
|
|
44
|
+
@focus=${(event) => {
|
|
45
|
+
onFocus(event);
|
|
46
|
+
}}
|
|
47
|
+
@blur=${(event) => {
|
|
48
|
+
onBlur(event);
|
|
49
|
+
}}
|
|
50
|
+
></m-quantityselector>
|
|
51
|
+
`;
|
|
88
52
|
},
|
|
89
53
|
};
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
MQuantitySelector.setAttribute('disabled', 'true');
|
|
98
|
-
if (args.isinvalid)
|
|
99
|
-
MQuantitySelector.setAttribute('isinvalid', 'true');
|
|
100
|
-
if (args.required)
|
|
101
|
-
MQuantitySelector.setAttribute('required', 'true');
|
|
102
|
-
if (args.step)
|
|
103
|
-
MQuantitySelector.setAttribute('step', args.step);
|
|
104
|
-
if (args.valuemax)
|
|
105
|
-
MQuantitySelector.setAttribute('valuemax', args.valuemax.toString());
|
|
106
|
-
if (args.valuemin)
|
|
107
|
-
MQuantitySelector.setAttribute('valuemin', args.valuemin.toString());
|
|
108
|
-
MQuantitySelector.increment = action('increment');
|
|
109
|
-
MQuantitySelector.decrement = action('decrement');
|
|
110
|
-
MQuantitySelector.inputqty = action('inputqty');
|
|
111
|
-
return MQuantitySelector;
|
|
112
|
-
};
|
|
113
|
-
export const Default = Template.bind({});
|
|
114
|
-
Default.args = {};
|
|
115
|
-
Default.play = async ({ canvasElement }) => {
|
|
116
|
-
const qtySelector = canvasElement.querySelector('m-quantityselector');
|
|
117
|
-
const input = qtySelector?.shadowRoot?.querySelector('input');
|
|
118
|
-
const button = qtySelector?.shadowRoot?.querySelector('button');
|
|
119
|
-
expect(qtySelector).not.toBeNull();
|
|
120
|
-
await userEvent.type(input, '5');
|
|
121
|
-
expect(input).toHaveValue(15);
|
|
122
|
-
await userEvent.click(button);
|
|
123
|
-
expect(input).toHaveValue(16);
|
|
124
|
-
};
|
|
125
|
-
export const Small = Template.bind({});
|
|
126
|
-
Small.args = {
|
|
127
|
-
size: 's',
|
|
128
|
-
};
|
|
129
|
-
Small.play = async ({ canvasElement }) => {
|
|
130
|
-
const qtySelector = canvasElement.querySelector('m-quantityselector');
|
|
131
|
-
expect(qtySelector).toHaveAttribute('size', 's');
|
|
132
|
-
};
|
|
133
|
-
export const Disabled = Template.bind({});
|
|
134
|
-
Disabled.args = {
|
|
135
|
-
disabled: true,
|
|
54
|
+
export default meta;
|
|
55
|
+
export const Default = {};
|
|
56
|
+
export const Step = {
|
|
57
|
+
args: {
|
|
58
|
+
id: 'stepId',
|
|
59
|
+
step: 5,
|
|
60
|
+
},
|
|
136
61
|
};
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
62
|
+
export const Small = {
|
|
63
|
+
args: {
|
|
64
|
+
id: 'smallId',
|
|
65
|
+
size: 's',
|
|
66
|
+
},
|
|
141
67
|
};
|
|
142
|
-
export const
|
|
143
|
-
|
|
144
|
-
|
|
68
|
+
export const Disabled = {
|
|
69
|
+
args: {
|
|
70
|
+
id: 'disableId',
|
|
71
|
+
disabled: true,
|
|
72
|
+
},
|
|
145
73
|
};
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
74
|
+
export const ReadOnly = {
|
|
75
|
+
args: {
|
|
76
|
+
id: 'readonlyId',
|
|
77
|
+
readonly: true,
|
|
78
|
+
},
|
|
150
79
|
};
|
|
151
|
-
export const
|
|
152
|
-
|
|
153
|
-
|
|
80
|
+
export const Invalid = {
|
|
81
|
+
args: {
|
|
82
|
+
id: 'invalidId',
|
|
83
|
+
isinvalid: true,
|
|
84
|
+
},
|
|
154
85
|
};
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
86
|
+
export const readOnly = {
|
|
87
|
+
args: {
|
|
88
|
+
id: 'readonlyId',
|
|
89
|
+
readonly: true,
|
|
90
|
+
},
|
|
159
91
|
};
|
|
@@ -1,140 +1,163 @@
|
|
|
1
1
|
<svelte:options
|
|
2
2
|
customElement={{
|
|
3
3
|
tag: 'm-quantityselector',
|
|
4
|
+
extend: customElementForwardEvents,
|
|
4
5
|
}}
|
|
5
6
|
/>
|
|
6
7
|
|
|
7
8
|
<script lang="ts">
|
|
9
|
+
import { customElementForwardEvents } from '../../utils';
|
|
8
10
|
import Less24 from '@mozaic-ds/icons-svelte/svelte/Less24/Less24.svelte';
|
|
9
11
|
import More24 from '@mozaic-ds/icons-svelte/svelte/More24/More24.svelte';
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* 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.
|
|
14
|
+
*/
|
|
11
15
|
interface Props {
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
/**
|
|
17
|
+
* A unique identifier for the quantity selector element, used to associate the label with the form element.
|
|
18
|
+
*/
|
|
19
|
+
id: string;
|
|
20
|
+
/**
|
|
21
|
+
* The name attribute for the quantity selector element, typically used for form submission.
|
|
22
|
+
*/
|
|
23
|
+
name?: string;
|
|
24
|
+
/**
|
|
25
|
+
* The current value of the quantity selector field.
|
|
26
|
+
*/
|
|
27
|
+
value?: number;
|
|
28
|
+
/**
|
|
29
|
+
* If `true`, applies an invalid state to the quantity selector.
|
|
30
|
+
*/
|
|
31
|
+
isinvalid?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* If `true`, disables the quantity selector, making it non-interactive.
|
|
34
|
+
*/
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Determines the size of the quantity selector.
|
|
38
|
+
*/
|
|
39
|
+
size?: 's' | 'm';
|
|
40
|
+
/**
|
|
41
|
+
* Minimum acceptable value for the quantity selector.
|
|
42
|
+
*/
|
|
14
43
|
min?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Maximum acceptable value for the quantity selector.
|
|
46
|
+
*/
|
|
15
47
|
max?: number;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
incrementlabel?: string;
|
|
20
|
-
disabled?: boolean;
|
|
21
|
-
isinvalid?: boolean;
|
|
22
|
-
required?: boolean;
|
|
23
|
-
name?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Determines how much the value will change per click when the quantity is increased or decreased.
|
|
50
|
+
*/
|
|
24
51
|
step?: number;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
52
|
+
/**
|
|
53
|
+
* If `true`, the quantity selector is read-only (cannot be edited).
|
|
54
|
+
*/
|
|
55
|
+
readonly?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* The label text for the increment button.
|
|
58
|
+
*/
|
|
59
|
+
incrementlabel?: string;
|
|
60
|
+
/**
|
|
61
|
+
* The label text for the decrement button.
|
|
62
|
+
*/
|
|
63
|
+
decrementlabel?: string;
|
|
30
64
|
}
|
|
31
65
|
|
|
32
66
|
let {
|
|
33
|
-
id
|
|
34
|
-
|
|
67
|
+
id,
|
|
68
|
+
value = $bindable(1),
|
|
35
69
|
min = 1,
|
|
36
70
|
max = 100,
|
|
71
|
+
step = 1,
|
|
37
72
|
size = 'm',
|
|
38
|
-
|
|
39
|
-
inputarialabel = 'Quantity Selector',
|
|
40
|
-
incrementlabel = 'Increment',
|
|
41
|
-
disabled = false,
|
|
73
|
+
disabled,
|
|
42
74
|
isinvalid = false,
|
|
43
|
-
required = false,
|
|
44
75
|
name = 'quantity-selector-input',
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
inputqty,
|
|
49
|
-
oninput,
|
|
50
|
-
onblur,
|
|
76
|
+
readonly,
|
|
77
|
+
decrementlabel = 'Decrement',
|
|
78
|
+
incrementlabel = 'Increment',
|
|
51
79
|
}: Props = $props();
|
|
52
80
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
81
|
+
const onValue = (): void => {
|
|
82
|
+
const numericValue = Number(value);
|
|
83
|
+
if (numericValue > max) {
|
|
84
|
+
value = max;
|
|
85
|
+
} else if (numericValue < min) {
|
|
86
|
+
value = min;
|
|
87
|
+
} else {
|
|
88
|
+
value = numericValue;
|
|
56
89
|
}
|
|
57
|
-
|
|
58
|
-
quantity = min;
|
|
59
|
-
}
|
|
60
|
-
inputqty?.(quantity);
|
|
61
|
-
oninput?.(event);
|
|
62
|
-
}
|
|
90
|
+
};
|
|
63
91
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
decrement?.(quantity);
|
|
69
|
-
}
|
|
92
|
+
const onIncrement = (): void => {
|
|
93
|
+
const numericValue = Number(value);
|
|
94
|
+
const numericStep = Number(step);
|
|
70
95
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
96
|
+
if (numericValue + numericStep <= max) {
|
|
97
|
+
value = numericValue + numericStep;
|
|
98
|
+
} else {
|
|
99
|
+
value = max;
|
|
74
100
|
}
|
|
75
|
-
|
|
76
|
-
}
|
|
101
|
+
};
|
|
77
102
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
): string {
|
|
82
|
-
const classes = ['mc-quantity-selector'];
|
|
83
|
-
if (isInvalid) {
|
|
84
|
-
classes.push('is-invalid');
|
|
85
|
-
}
|
|
103
|
+
const onDecrement = (): void => {
|
|
104
|
+
const numericValue = Number(value);
|
|
105
|
+
const numericStep = Number(step);
|
|
86
106
|
|
|
87
|
-
if (
|
|
88
|
-
|
|
107
|
+
if (numericValue - numericStep >= min) {
|
|
108
|
+
value = numericValue - numericStep;
|
|
109
|
+
} else {
|
|
110
|
+
value = min;
|
|
89
111
|
}
|
|
90
|
-
|
|
91
|
-
return classes.join(' ');
|
|
92
|
-
}
|
|
112
|
+
};
|
|
93
113
|
</script>
|
|
94
114
|
|
|
95
|
-
<div
|
|
115
|
+
<div
|
|
116
|
+
class={[
|
|
117
|
+
'mc-quantity-selector',
|
|
118
|
+
`mc-quantity-selector--${size}`,
|
|
119
|
+
isinvalid && 'is-invalid',
|
|
120
|
+
]}
|
|
121
|
+
>
|
|
96
122
|
<input
|
|
97
123
|
type="number"
|
|
98
124
|
{id}
|
|
99
125
|
{name}
|
|
100
|
-
bind:value
|
|
101
|
-
oninput={
|
|
102
|
-
{onblur}
|
|
126
|
+
bind:value
|
|
127
|
+
oninput={onValue}
|
|
103
128
|
class="mc-quantity-selector__control"
|
|
104
|
-
aria-label={inputarialabel}
|
|
105
129
|
aria-valuemin={min}
|
|
106
130
|
aria-valuemax={max}
|
|
107
|
-
aria-valuenow={
|
|
108
|
-
aria-invalid={isinvalid}
|
|
109
|
-
|
|
131
|
+
aria-valuenow={value}
|
|
132
|
+
aria-invalid={`${isinvalid}`}
|
|
133
|
+
{readonly}
|
|
110
134
|
{disabled}
|
|
111
|
-
{required}
|
|
112
135
|
/>
|
|
113
136
|
<button
|
|
114
137
|
type="button"
|
|
115
138
|
aria-controls={id}
|
|
116
139
|
class="mc-quantity-selector__button mc-quantity-selector__button--increase"
|
|
117
140
|
tabindex="-1"
|
|
118
|
-
|
|
119
|
-
|
|
141
|
+
disabled={value === max || disabled}
|
|
142
|
+
onclick={onIncrement}
|
|
120
143
|
>
|
|
121
144
|
<span class="mc-quantity-selector__icon">
|
|
122
145
|
<More24 />
|
|
123
146
|
</span>
|
|
124
|
-
<span class="mc-quantity-selector__label">{
|
|
147
|
+
<span class="mc-quantity-selector__label">{incrementlabel}</span>
|
|
125
148
|
</button>
|
|
126
149
|
<button
|
|
127
150
|
type="button"
|
|
128
151
|
aria-controls={id}
|
|
129
152
|
class="mc-quantity-selector__button mc-quantity-selector__button--decrease"
|
|
130
153
|
tabindex="-1"
|
|
131
|
-
|
|
132
|
-
|
|
154
|
+
disabled={value === min || disabled}
|
|
155
|
+
onclick={onDecrement}
|
|
133
156
|
>
|
|
134
157
|
<span class="mc-quantity-selector__icon">
|
|
135
158
|
<Less24 />
|
|
136
159
|
</span>
|
|
137
|
-
<span class="mc-quantity-selector__label">{
|
|
160
|
+
<span class="mc-quantity-selector__label">{decrementlabel}</span>
|
|
138
161
|
</button>
|
|
139
162
|
</div>
|
|
140
163
|
|
|
@@ -1,25 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* 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.
|
|
3
|
+
*/
|
|
2
4
|
interface Props {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
+
/**
|
|
6
|
+
* A unique identifier for the quantity selector element, used to associate the label with the form element.
|
|
7
|
+
*/
|
|
8
|
+
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* The name attribute for the quantity selector element, typically used for form submission.
|
|
11
|
+
*/
|
|
12
|
+
name?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The current value of the quantity selector field.
|
|
15
|
+
*/
|
|
16
|
+
value?: number;
|
|
17
|
+
/**
|
|
18
|
+
* If `true`, applies an invalid state to the quantity selector.
|
|
19
|
+
*/
|
|
20
|
+
isinvalid?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* If `true`, disables the quantity selector, making it non-interactive.
|
|
23
|
+
*/
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Determines the size of the quantity selector.
|
|
27
|
+
*/
|
|
28
|
+
size?: 's' | 'm';
|
|
29
|
+
/**
|
|
30
|
+
* Minimum acceptable value for the quantity selector.
|
|
31
|
+
*/
|
|
5
32
|
min?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Maximum acceptable value for the quantity selector.
|
|
35
|
+
*/
|
|
6
36
|
max?: number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
incrementlabel?: string;
|
|
11
|
-
disabled?: boolean;
|
|
12
|
-
isinvalid?: boolean;
|
|
13
|
-
required?: boolean;
|
|
14
|
-
name?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Determines how much the value will change per click when the quantity is increased or decreased.
|
|
39
|
+
*/
|
|
15
40
|
step?: number;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, the quantity selector is read-only (cannot be edited).
|
|
43
|
+
*/
|
|
44
|
+
readonly?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* The label text for the increment button.
|
|
47
|
+
*/
|
|
48
|
+
incrementlabel?: string;
|
|
49
|
+
/**
|
|
50
|
+
* The label text for the decrement button.
|
|
51
|
+
*/
|
|
52
|
+
decrementlabel?: string;
|
|
21
53
|
}
|
|
22
|
-
declare const QuantitySelector: import("svelte").Component<Props, {}, "
|
|
54
|
+
declare const QuantitySelector: import("svelte").Component<Props, {}, "value">;
|
|
23
55
|
type QuantitySelector = ReturnType<typeof QuantitySelector>;
|
|
24
56
|
export default QuantitySelector;
|
|
25
57
|
//# sourceMappingURL=QuantitySelector.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantitySelector.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/quantityselector/QuantitySelector.svelte.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"QuantitySelector.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/quantityselector/QuantitySelector.svelte.ts"],"names":[],"mappings":"AAOE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAqFH,QAAA,MAAM,gBAAgB,gDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# `m-quantityselector`
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| Name | Description | Type | Default |
|
|
8
|
+
|------|-------------|------|---------|
|
|
9
|
+
| `id*` | A unique identifier for the quantity selector element, used to associate the label with the form element. | `string` | |
|
|
10
|
+
| `name` | The name attribute for the quantity selector element, typically used for form submission. | `string` | `quantity-selector-input` |
|
|
11
|
+
| `value` | The current value of the quantity selector field. | `number` | `$bindable(1)` |
|
|
12
|
+
| `isinvalid` | If `true`, applies an invalid state to the quantity selector. | `boolean` | `false` |
|
|
13
|
+
| `disabled` | If `true`, disables the quantity selector, making it non-interactive. | `boolean` | |
|
|
14
|
+
| `size` | Determines the size of the quantity selector. | `'s'` `'m'` | `m` |
|
|
15
|
+
| `min` | Minimum acceptable value for the quantity selector. | `number` | `1` |
|
|
16
|
+
| `max` | Maximum acceptable value for the quantity selector. | `number` | `100` |
|
|
17
|
+
| `step` | Determines how much the value will change per click when the quantity is increased or decreased. | `number` | `1` |
|
|
18
|
+
| `readonly` | If `true`, the quantity selector is read-only (cannot be edited). | `boolean` | |
|
|
19
|
+
| `incrementlabel` | The label text for the increment button. | `string` | `Increment` |
|
|
20
|
+
| `decrementlabel` | The label text for the decrement button. | `string` | `Decrement` |
|
|
21
|
+
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# `m-radio`
|
|
2
|
+
|
|
3
|
+
A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| Name | Description | Type | Default |
|
|
8
|
+
|------|-------------|------|---------|
|
|
9
|
+
| `id*` | A unique identifier for the radio, used to associate the label with the form element. | `string` | |
|
|
10
|
+
| `name` | The name attribute for the radio element, typically used for form submission. | `string` | |
|
|
11
|
+
| `label` | The text label displayed next to the radio. | `string` | |
|
|
12
|
+
| `checked` | The radio's checked state. | `boolean` | `$bindable(false)` |
|
|
13
|
+
| `isinvalid` | If `true`, applies an invalid state to the radio. | `boolean` | |
|
|
14
|
+
| `disabled` | If `true`, disables the radio, making it non-interactive. | `boolean` | |
|
|
15
|
+
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as k,p as
|
|
1
|
+
import{c as k,p as w,a as g,b as a,f as q,s as x,d as f,t as y,i as E,j as z,k as t,r as _,e as j,g as B,h as D}from"../../custom-element.js";import{r as F,s as u,c as R}from"../../attributes.js";import{c as S}from"../../custom-element-forward-events.js";var A=q('<div class="mc-radio svelte-1bwbq3n"><input type="radio"/> <label class="mc-radio__label svelte-1bwbq3n"> </label></div>');const C={hash:"svelte-1bwbq3n",code:`/**
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
|
-
*/.mc-radio.svelte-1bwbq3n {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-radio__label.svelte-1bwbq3n {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-radio__input.svelte-1bwbq3n {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:100%;transition:all ease 200ms;height:1.25rem;width:1.25rem;position:relative;}.mc-radio__input.svelte-1bwbq3n::before {border-radius:var(--radius-full, 100%);content:"";display:block;height:0.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:0.5rem;}.mc-radio__input.svelte-1bwbq3n:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-radio__input.svelte-1bwbq3n: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-radio__input.svelte-1bwbq3n:checked {background-color:var(--forms-color-background-checked, #117f03);}.mc-radio__input.svelte-1bwbq3n:checked::before {background-color:var(--forms-color-background-default, #ffffff);}.mc-radio__input.svelte-1bwbq3n:checked, .mc-radio__input.svelte-1bwbq3n:disabled {border-color:transparent;}.mc-radio__input.svelte-1bwbq3n:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:disabled:checked::before {background-color:var(--forms-color-icon-disabled, #737373);}.mc-radio__input.svelte-1bwbq3n:disabled + .mc-radio__label:where(.svelte-1bwbq3n) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:not(:disabled):checked:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}`};function
|
|
3
|
+
*/.mc-radio.svelte-1bwbq3n {align-items:center;display:flex;gap:0.5rem;padding:0.375rem;}.mc-radio__label.svelte-1bwbq3n {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);color:var(--forms-color-text-default, #000000);cursor:pointer;}.mc-radio__input.svelte-1bwbq3n {appearance:none;margin:0;cursor:pointer;flex-shrink:0;transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-m, 0.125rem) solid var(--forms-color-border-default, #666666);border-radius:100%;transition:all ease 200ms;height:1.25rem;width:1.25rem;position:relative;}.mc-radio__input.svelte-1bwbq3n::before {border-radius:var(--radius-full, 100%);content:"";display:block;height:0.5rem;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:0.5rem;}.mc-radio__input.svelte-1bwbq3n:hover {border-color:var(--forms-color-border-hover, #4d4d4d);}.mc-radio__input.svelte-1bwbq3n: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-radio__input.svelte-1bwbq3n:checked {background-color:var(--forms-color-background-checked, #117f03);}.mc-radio__input.svelte-1bwbq3n:checked::before {background-color:var(--forms-color-background-default, #ffffff);}.mc-radio__input.svelte-1bwbq3n:checked, .mc-radio__input.svelte-1bwbq3n:disabled {border-color:transparent;}.mc-radio__input.svelte-1bwbq3n:disabled {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:disabled:checked::before {background-color:var(--forms-color-icon-disabled, #737373);}.mc-radio__input.svelte-1bwbq3n:disabled + .mc-radio__label:where(.svelte-1bwbq3n) {color:var(--forms-color-text-disabled, #737373);cursor:not-allowed;}.mc-radio__input.svelte-1bwbq3n:not(:disabled):checked:hover {background-color:var(--forms-color-background-checked-hover, #006902);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked) {border-color:var(--forms-color-border-invalid, #ea302d);}.mc-radio__input.is-invalid.svelte-1bwbq3n:not(:checked):hover {border-color:var(--forms-color-border-invalid-hover, #c61112);}`};function G(v,r){w(r,!0),g(v,C);let i=a(r,"id",7),d=a(r,"name",7),l=a(r,"label",7),s=a(r,"checked",15,!1),n=a(r,"disabled",7),c=a(r,"isinvalid",7);var h={get id(){return i()},set id(e){i(e),t()},get name(){return d()},set name(e){d(e),t()},get label(){return l()},set label(e){l(e),t()},get checked(){return s()},set checked(e=!1){s(e),t()},get disabled(){return n()},set disabled(e){n(e),t()},get isinvalid(){return c()},set isinvalid(e){c(e),t()}},b=A(),o=f(b);F(o);var m=x(o,2),p=f(m,!0);return _(m),_(b),y(()=>{u(o,"id",i()),j(o,1,B(["mc-radio__input",c()&&"is-invalid"]),"svelte-1bwbq3n"),u(o,"name",d()),o.disabled=n(),R(o,s()),u(m,"for",i()),D(p,l())}),E(v,b),z(h)}customElements.define("m-radio",k(G,{checked:{attribute:"checked",reflect:!0,type:"Boolean"},id:{},name:{},label:{},disabled:{},isinvalid:{}},[],[],!0,S));
|
|
4
4
|
//# sourceMappingURL=Radio.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","sources":["../../../src/components/radio/Radio.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-radio',\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n
|
|
1
|
+
{"version":3,"file":"Radio.js","sources":["../../../src/components/radio/Radio.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-radio',\n props: {\n checked: { reflect: true, type: 'Boolean', attribute: 'checked' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A radio button is a selection control that allows users to choose a single option from a list of mutually exclusive choices. Unlike checkboxes, only one option can be selected at a time within the same group. Radio Buttons are commonly used in forms, surveys, and settings where a single choice must be made.\n */\n interface Props {\n /**\n * A unique identifier for the radio, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the radio element, typically used for form submission.\n */\n name?: string;\n /**\n * The text label displayed next to the radio.\n */\n label?: string;\n /**\n * The radio's checked state.\n */\n checked?: boolean;\n /**\n * If `true`, applies an invalid state to the radio.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the radio, making it non-interactive.\n */\n disabled?: boolean;\n }\n\n let {\n id,\n name,\n label,\n checked = $bindable(false),\n disabled,\n isinvalid,\n }: Props = $props();\n</script>\n\n<div class=\"mc-radio\">\n <input\n {id}\n type=\"radio\"\n class={['mc-radio__input', isinvalid && 'is-invalid']}\n {name}\n {disabled}\n {checked}\n />\n <label for={id} class=\"mc-radio__label\">{label}</label>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/radio';\n</style>\n"],"names":["id","$.prop","$$props","name","label","checked","disabled","isinvalid","customElementForwardEvents"],"mappings":";;ywEAAA,oBA2CIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJE,EAAKH,EAAAC,EAAA,QAAA,CAAA,EACLG,mBAAoB,EAAK,EACzBC,EAAQL,EAAAC,EAAA,WAAA,CAAA,EACRK,EAASN,EAAAC,EAAA,YAAA,CAAA,sLAFW,GAAK,gNAUjB,kBAAmBK,KAAa,YAAY,CAAA,EAAA,gBAAA,oDAK1CP,GAAE,MAA2BI,GAAK,eAXhD,wJA5CYI"}
|