@mozaic-ds/web-components 1.0.0-beta.7 → 1.1.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 +38 -70
- 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 +25 -23
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +25 -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 +4 -32
- package/dist/components/avatar/Avatar.svelte +7 -5
- 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 +7 -39
- package/dist/components/breadcrumb/Breadcrumb.svelte +12 -20
- 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 +2 -5
- 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 +12 -15
- 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 +111 -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 +54 -49
- 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 +20 -10
- 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 +47 -33
- package/dist/components/datepicker/Datepicker.svelte.d.ts +31 -2
- 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 +85 -87
- package/dist/components/drawer/Drawer.svelte +74 -38
- package/dist/components/drawer/Drawer.svelte.d.ts +34 -3
- package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
- package/dist/components/drawer/README.md +31 -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 +98 -0
- package/dist/components/field/Field.stories.d.ts +10 -15
- package/dist/components/field/Field.stories.d.ts.map +1 -1
- package/dist/components/field/Field.stories.js +100 -141
- package/dist/components/field/Field.svelte +55 -13
- package/dist/components/field/Field.svelte.d.ts +42 -7
- package/dist/components/field/Field.svelte.d.ts.map +1 -1
- package/dist/components/field/README.md +25 -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 +22 -103
- 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 +12 -7
- 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 +73 -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 +26 -42
- package/dist/components/loader/Loader.svelte +37 -35
- 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 +52 -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 +18 -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 +29 -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 +37 -34
- 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 -28
- package/dist/components/passwordinput/PasswordInput.svelte.d.ts +33 -1
- 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 -53
- 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 +10 -15
- package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
- package/dist/components/quantityselector/QuantitySelector.stories.js +72 -146
- package/dist/components/quantityselector/QuantitySelector.svelte +94 -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 +35 -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 +48 -47
- package/dist/components/radiogroup/RadioGroup.svelte.d.ts +28 -9
- package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
- package/dist/components/segmentedcontrol/README.md +19 -0
- package/dist/components/segmentedcontrol/SegmentedControl.js +4 -0
- package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -0
- package/dist/components/segmentedcontrol/SegmentedControl.spec.js +52 -0
- package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +8 -0
- package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -0
- package/dist/components/segmentedcontrol/SegmentedControl.stories.js +54 -0
- package/dist/components/segmentedcontrol/SegmentedControl.svelte +125 -0
- package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts +32 -0
- package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -0
- 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 +42 -11
- 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 +36 -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 +5 -9
- 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 +2 -6
- 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 +53 -64
- 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 +44 -30
- 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/TagContextualised.js.map +1 -1
- package/dist/components/tags/TagContextualised.svelte +1 -5
- package/dist/components/tags/TagInteractive.js +1 -1
- package/dist/components/tags/TagRemovable.js +2 -2
- package/dist/components/tags/TagRemovable.js.map +1 -1
- package/dist/components/tags/TagRemovable.svelte +2 -12
- package/dist/components/tags/TagRemovable.svelte.d.ts.map +1 -1
- package/dist/components/tags/TagSelectable.js +2 -2
- package/dist/components/tags/TagSelectable.js.map +1 -1
- package/dist/components/tags/TagSelectable.svelte +1 -5
- 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 +8 -4
- 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 +51 -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 +68 -118
- package/dist/components/textinput/Textinput.svelte.d.ts +47 -23
- package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
- package/dist/components/toaster/README.md +29 -0
- package/dist/components/toaster/Toaster.js +3 -7
- 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 +21 -14
- package/dist/components/toaster/Toaster.svelte.d.ts +7 -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 +33 -33
- 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 +19 -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-forward-events.js.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 +54 -11
- package/dist/documentation/SupportAndOnboarding.mdx +2 -2
- package/dist/documentation/Svelte/Introduction.mdx +1 -1
- package/dist/documentation/Svelte/usingPresets.mdx +5 -6
- package/dist/documentation/WebComponents/Introduction.mdx +0 -1
- package/dist/documentation/WebComponents/usingIcons.mdx +2 -3
- package/dist/documentation/WebComponents/usingPresets.mdx +3 -4
- 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 +25 -23
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +25 -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/dist/utils/custom-element-forward-events.d.ts.map +1 -1
- package/package.json +32 -22
- 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,27 +1,37 @@
|
|
|
1
1
|
<svelte:options customElement={{ tag: 'm-circular-progressbar' }} />
|
|
2
2
|
|
|
3
3
|
<script lang="ts">
|
|
4
|
+
/**
|
|
5
|
+
* A circular progress bar visually represents progress toward a goal or completion of a process using a circular shape. It is commonly used to indicate task completion or performance metrics. The progress is displayed as a partially filled ring, often accompanied by a percentage or status indicator. Circular Progress Bars are useful for providing users with real-time feedback on ongoing actions without taking up significant screen space.
|
|
6
|
+
*/
|
|
4
7
|
interface Props {
|
|
8
|
+
/**
|
|
9
|
+
* Sets the size of the progress bar.
|
|
10
|
+
*/
|
|
5
11
|
size?: 's' | 'm' | 'l';
|
|
12
|
+
/**
|
|
13
|
+
* The current value of the progress bar.
|
|
14
|
+
*/
|
|
6
15
|
value?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Shows either a percentage or custom content.
|
|
18
|
+
*/
|
|
7
19
|
type?: 'percentage' | 'content';
|
|
20
|
+
/**
|
|
21
|
+
* Main content shown when `type` is `'content'`.
|
|
22
|
+
*/
|
|
8
23
|
contentvalue?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Additional text shown to define the `contentValue`.
|
|
26
|
+
*/
|
|
9
27
|
additionalinfo?: string;
|
|
10
28
|
}
|
|
11
29
|
|
|
12
|
-
let {
|
|
13
|
-
size = 'l',
|
|
14
|
-
value = 0,
|
|
15
|
-
type = 'percentage',
|
|
16
|
-
contentvalue = '',
|
|
17
|
-
additionalinfo = '',
|
|
18
|
-
}: Props = $props();
|
|
30
|
+
let { size, value = 0, type = 'percentage', contentvalue, additionalinfo }: Props = $props();
|
|
19
31
|
</script>
|
|
20
32
|
|
|
21
33
|
<div
|
|
22
|
-
class=
|
|
23
|
-
class:mc-circular-progressbar--s={size === 's'}
|
|
24
|
-
class:mc-circular-progressbar--m={size === 'm'}
|
|
34
|
+
class={['mc-circular-progressbar', size && `mc-circular-progressbar--${size}`]}
|
|
25
35
|
role="progressbar"
|
|
26
36
|
aria-valuenow={value}
|
|
27
37
|
aria-valuemin="0"
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A circular progress bar visually represents progress toward a goal or completion of a process using a circular shape. It is commonly used to indicate task completion or performance metrics. The progress is displayed as a partially filled ring, often accompanied by a percentage or status indicator. Circular Progress Bars are useful for providing users with real-time feedback on ongoing actions without taking up significant screen space.
|
|
3
|
+
*/
|
|
1
4
|
interface Props {
|
|
5
|
+
/**
|
|
6
|
+
* Sets the size of the progress bar.
|
|
7
|
+
*/
|
|
2
8
|
size?: 's' | 'm' | 'l';
|
|
9
|
+
/**
|
|
10
|
+
* The current value of the progress bar.
|
|
11
|
+
*/
|
|
3
12
|
value?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Shows either a percentage or custom content.
|
|
15
|
+
*/
|
|
4
16
|
type?: 'percentage' | 'content';
|
|
17
|
+
/**
|
|
18
|
+
* Main content shown when `type` is `'content'`.
|
|
19
|
+
*/
|
|
5
20
|
contentvalue?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Additional text shown to define the `contentValue`.
|
|
23
|
+
*/
|
|
6
24
|
additionalinfo?: string;
|
|
7
25
|
}
|
|
8
26
|
declare const CircularProgressbar: import("svelte").Component<Props, {}, "">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircularProgressbar.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/circularprogressbar/CircularProgressbar.svelte.ts"],"names":[],"mappings":"AAGE,UAAU,KAAK;IACb,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"CircularProgressbar.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/circularprogressbar/CircularProgressbar.svelte.ts"],"names":[],"mappings":"AAGE;;GAEG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACvB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAoCH,QAAA,MAAM,mBAAmB,2CAAwC,CAAC;AAClE,KAAK,mBAAmB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAClE,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# `m-circular-progressbar`
|
|
2
|
+
|
|
3
|
+
A circular progress bar visually represents progress toward a goal or completion of a process using a circular shape. It is commonly used to indicate task completion or performance metrics. The progress is displayed as a partially filled ring, often accompanied by a percentage or status indicator. Circular Progress Bars are useful for providing users with real-time feedback on ongoing actions without taking up significant screen space.
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| Name | Description | Type | Default |
|
|
8
|
+
|------|-------------|------|---------|
|
|
9
|
+
| `size` | Sets the size of the progress bar. | `'s'` `'m'` `'l'` | |
|
|
10
|
+
| `value` | The current value of the progress bar. | `number` | `0` |
|
|
11
|
+
| `type` | Shows either a percentage or custom content. | `'percentage'` `'content'` | `percentage` |
|
|
12
|
+
| `contentvalue` | Main content shown when `type` is `'content'`. | `string` | |
|
|
13
|
+
| `additionalinfo` | Additional text shown to define the `contentValue`. | `string` | |
|
|
14
|
+
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{v as Z,c as B,p as D,a as F,b as o,f as H,s as k,d as c,t as V,i as y,j as L,k as t,r as d,h as O,e as S,g as q}from"../../custom-element.js";import{i as A}from"../../if.js";import{r as G,s as w}from"../../attributes.js";import{c as I}from"../../input.js";import{c as J}from"../../custom-element-forward-events.js";import{C as K}from"../../CrossCircleFilled24.js";import"../../legacy.js";const N=(v,r)=>r("");var P=H('<div class="mc-datepicker__controls-options mc-controls-options svelte-xj4ivh"><button type="button" class="mc-controls-options__button svelte-xj4ivh"><!> <span class="mc-controls-options__label svelte-xj4ivh"> </span></button></div>'),Q=H('<div><input class="mc-datepicker__control mc-text-input__control svelte-xj4ivh" type="date"/> <!></div>');const R={hash:"svelte-xj4ivh",code:`/**
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
3
|
*/
|
|
4
|
-
/* stylelint-disable string-no-newline */.mc-text-input.svelte-xj4ivh {transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-s, 1px) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-radius-border, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:100%;height:3rem;box-sizing:border-box;display:flex;align-items:center;gap:0.5rem;}.mc-text-input__control.svelte-xj4ivh {background-color:transparent;border-width:0;font-family:inherit;outline:none;}.mc-text-input__control.svelte-xj4ivh {padding:0.75rem 0.6875rem;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-regular, 400);flex-grow:1;}.mc-text-input__control.svelte-xj4ivh::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-text-input__icon.svelte-xj4ivh {fill:var(--forms-color-icon-default, #666666);height:1.5rem;width:1.5rem;flex-shrink:0;}.mc-text-input.svelte-xj4ivh:focus-within {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-text-input.svelte-xj4ivh:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-hover, #4d4d4d);}.mc-text-input.svelte-xj4ivh:has(input:where(.svelte-xj4ivh):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-text-input.svelte-xj4ivh:has(input[readonly]:where(.svelte-xj4ivh)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-text-input.svelte-xj4ivh:has(.mc-
|
|
4
|
+
/* stylelint-disable string-no-newline */.mc-text-input.svelte-xj4ivh {transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-s, 1px) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-radius-border, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:100%;height:3rem;box-sizing:border-box;display:flex;align-items:center;gap:0.5rem;}.mc-text-input__control.svelte-xj4ivh {background-color:transparent;border-width:0;font-family:inherit;outline:none;}.mc-text-input__control.svelte-xj4ivh {padding:0.75rem 0.6875rem;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-regular, 400);flex-grow:1;}.mc-text-input__control.svelte-xj4ivh::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-text-input__icon.svelte-xj4ivh {fill:var(--forms-color-icon-default, #666666);height:1.5rem;width:1.5rem;flex-shrink:0;}.mc-text-input.svelte-xj4ivh:focus-within {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-text-input.svelte-xj4ivh:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-hover, #4d4d4d);}.mc-text-input.svelte-xj4ivh:has(input:where(.svelte-xj4ivh):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-text-input.svelte-xj4ivh:has(input[readonly]:where(.svelte-xj4ivh)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-text-input.svelte-xj4ivh:has(.mc-controls-options:where(.svelte-xj4ivh)) {padding-inline-end:0.6875rem;}.mc-text-input.svelte-xj4ivh:has(.mc-controls-options:where(.svelte-xj4ivh)) .mc-text-input__control:where(.svelte-xj4ivh) {padding-inline-end:0;}.mc-text-input--s.svelte-xj4ivh {height:2rem;}.mc-text-input--s.svelte-xj4ivh .mc-text-input__control:where(.svelte-xj4ivh) {padding:0.375rem 0.6875rem;font-size:var(--font-size-100, 0.875rem);line-height:var(--line-height-s, 1.3);}.mc-text-input--s.svelte-xj4ivh:has(.mc-controls-options:where(.svelte-xj4ivh)) {padding-inline-end:0.4375rem;}.mc-text-input.is-invalid.svelte-xj4ivh {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-text-input.is-invalid.svelte-xj4ivh:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);}.mc-text-input.svelte-xj4ivh :where(.svelte-xj4ivh) {box-sizing:border-box;}
|
|
5
5
|
|
|
6
|
-
/* stylelint-enable string-no-newline */.mc-datepicker.svelte-xj4ivh {border-radius:var(--radius-s, 0.25rem);position:relative;}.mc-datepicker__control.svelte-xj4ivh {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='var(--forms-color-icon-interactive, %23000000)' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");font-family:var(--font-family, LeroyMerlin), sans-serif;background-repeat:no-repeat;background-position:right 0.75rem center;display:block;padding:0 0.75rem;}.mc-datepicker__control.svelte-xj4ivh::-webkit-calendar-picker-indicator {padding-right:1rem;opacity:0;transform:scale(2);}.mc-datepicker__control.svelte-xj4ivh::-moz-calendar-picker-indicator {padding-right:1rem;opacity:0;transform:scale(2);}.mc-datepicker__control.is-invalid.svelte-xj4ivh {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-datepicker__control.is-invalid.svelte-xj4ivh:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);}.mc-datepicker__control.svelte-xj4ivh:disabled {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);}.mc-datepicker__control.svelte-xj4ivh:disabled:hover:not(:focus-within) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);}.mc-datepicker.svelte-xj4ivh:has(.mc-controls-options:where(.svelte-xj4ivh)) {padding-inline-end:0;}.mc-datepicker.svelte-xj4ivh:has(input:where(.svelte-xj4ivh):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:all;cursor:not-allowed;}.mc-datepicker.svelte-xj4ivh:has(input:where(.svelte-xj4ivh):disabled):hover {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);}.mc-datepicker--s.svelte-xj4ivh .mc-datepicker__control:where(.svelte-xj4ivh) {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='var(--forms-color-icon-interactive, %23000000)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");}.mc-datepicker--s.svelte-xj4ivh .mc-datepicker__control:where(.svelte-xj4ivh):disabled {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");}.mc-datepicker__controls-options.svelte-xj4ivh {position:absolute;right:2.75rem;top:0.75rem;}.mc-controls-options.svelte-xj4ivh {align-items:center;display:inline-flex;justify-content:center;gap:0.5rem;}.mc-controls-options__button.svelte-xj4ivh {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;border-radius:var(--radius-full, 100%);}.mc-controls-options__button.svelte-xj4ivh: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-controls-options__icon.svelte-xj4ivh {fill:var(--forms-color-icon-clear, #666666);}.mc-controls-options__button.svelte-xj4ivh, .mc-controls-options__icon.svelte-xj4ivh {height:1.5rem;width:1.5rem;}.mc-controls-options__label.svelte-xj4ivh {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-controls-options__unit.svelte-xj4ivh {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-semi-bold, 600);color:var(--forms-color-text-default, #000000);}`};function
|
|
6
|
+
/* stylelint-enable string-no-newline */.mc-datepicker.svelte-xj4ivh {border-radius:var(--radius-s, 0.25rem);position:relative;}.mc-datepicker__control.svelte-xj4ivh {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='var(--forms-color-icon-interactive, %23000000)' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");font-family:var(--font-family, LeroyMerlin), sans-serif;background-repeat:no-repeat;background-position:right 0.75rem center;display:block;padding:0 0.75rem;}.mc-datepicker__control.svelte-xj4ivh::-webkit-calendar-picker-indicator {padding-right:1rem;opacity:0;transform:scale(2);}.mc-datepicker__control.svelte-xj4ivh::-moz-calendar-picker-indicator {padding-right:1rem;opacity:0;transform:scale(2);}.mc-datepicker__control.is-invalid.svelte-xj4ivh {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid, #ea302d);}.mc-datepicker__control.is-invalid.svelte-xj4ivh:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-s, 1px) var(--forms-color-border-invalid-hover, #c61112);}.mc-datepicker__control.svelte-xj4ivh:disabled {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1.5rem' width='1.5rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M8.5 3c0-.55228-.44772-1-1-1s-1 .44772-1 1v1H3c-.55228 0-1 .44772-1 1v16c0 .5523.44772 1 1 1h18c.5523 0 1-.4477 1-1V5c0-.55228-.4477-1-1-1h-3.5V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H13V3c0-.55228-.4477-1-1-1s-1 .44772-1 1v1H8.5V3Zm7 3H13v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6H8.5v1c0 .55228-.44772 1-1 1s-1-.44772-1-1V6H4v3.5h16V6h-2.5v1c0 .55228-.4477 1-1 1s-1-.44772-1-1V6ZM4 11.5V20h16v-8.5H4Z'/%3E%3C/svg%3E");background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);}.mc-datepicker__control.svelte-xj4ivh:disabled:hover:not(:focus-within) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);}.mc-datepicker.svelte-xj4ivh:has(.mc-controls-options:where(.svelte-xj4ivh)) {padding-inline-end:0;}.mc-datepicker.svelte-xj4ivh:has(input:where(.svelte-xj4ivh):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:all;cursor:not-allowed;}.mc-datepicker.svelte-xj4ivh:has(input:where(.svelte-xj4ivh):disabled):hover {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);}.mc-datepicker--s.svelte-xj4ivh .mc-datepicker__control:where(.svelte-xj4ivh) {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='var(--forms-color-icon-interactive, %23000000)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");}.mc-datepicker--s.svelte-xj4ivh .mc-datepicker__control:where(.svelte-xj4ivh):disabled {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' width='1.25rem' height='1.25rem' fill='var(--forms-color-icon-disabled, %23737373)' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M7 2.5a.75.75 0 0 0-1.5 0v.917h-3a.75.75 0 0 0-.75.75V17.5c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75V4.167a.75.75 0 0 0-.75-.75h-3V2.5a.75.75 0 0 0-1.5 0v.917h-2.25V2.5a.75.75 0 0 0-1.5 0v.917H7zm6 2.417h-2.25v.916a.75.75 0 0 1-1.5 0v-.916H7v.916a.75.75 0 1 1-1.5 0v-.916H3.25V8h13.5V4.917H14.5v.916a.75.75 0 0 1-1.5 0zM3.25 9.5v7.25h13.5V9.5z'/%3E%3C/svg%3E");}.mc-datepicker__controls-options.svelte-xj4ivh {position:absolute;right:2.75rem;top:0.75rem;}.mc-controls-options.svelte-xj4ivh {align-items:center;display:inline-flex;justify-content:center;gap:0.5rem;}.mc-controls-options__button.svelte-xj4ivh {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;border-radius:var(--radius-full, 100%);}.mc-controls-options__button.svelte-xj4ivh: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-controls-options__icon.svelte-xj4ivh {fill:var(--forms-color-icon-clear, #666666);}.mc-controls-options__button.svelte-xj4ivh, .mc-controls-options__icon.svelte-xj4ivh {height:1.5rem;width:1.5rem;}.mc-controls-options__label.svelte-xj4ivh {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-controls-options__unit.svelte-xj4ivh {font-size:var(--font-size-150, 1rem);line-height:var(--line-height-s, 1.3);font-weight:var(--font-weight-semi-bold, 600);color:var(--forms-color-text-default, #000000);}`};function T(v,r){D(r,!0),F(v,R);let h=o(r,"id",7),m=o(r,"name",7),a=o(r,"value",15),l=o(r,"isinvalid",7),u=o(r,"disabled",7),s=o(r,"size",7,"m"),p=o(r,"readonly",7),x=o(r,"isclearable",7),b=o(r,"clearlabel",7,"clear content");var z={get id(){return h()},set id(e){h(e),t()},get name(){return m()},set name(e){m(e),t()},get value(){return a()},set value(e){a(e),t()},get isinvalid(){return l()},set isinvalid(e){l(e),t()},get disabled(){return u()},set disabled(e){u(e),t()},get size(){return s()},set size(e="m"){s(e),t()},get readonly(){return p()},set readonly(e){p(e),t()},get isclearable(){return x()},set isclearable(e){x(e),t()},get clearlabel(){return b()},set clearlabel(e="clear content"){b(e),t()}},n=Q(),i=c(n);G(i);var C=k(i,2);{var E=e=>{var f=P(),g=c(f);g.__click=[N,a];var _=c(g);K(_,{class:"mc-controls-options__icon","aria-hidden":"true"});var j=k(_,2),M=c(j,!0);d(j),d(g),d(f),V(()=>O(M,b())),y(e,f)};A(C,e=>{x()&&a()&&e(E)})}return d(n),V(()=>{S(n,1,q(["mc-datepicker mc-text-input",`mc-text-input--${s()}`,`mc-datepicker--${s()}`,l()&&"is-invalid"]),"svelte-xj4ivh"),w(i,"id",h()),w(i,"name",m()),i.disabled=u(),i.readOnly=p(),w(i,"aria-invalid",l())}),I(i,a),y(v,n),L(z)}Z(["click"]);customElements.define("m-datepicker",B(T,{id:{},name:{},value:{},isinvalid:{},disabled:{},size:{},readonly:{},isclearable:{},clearlabel:{}},[],[],!0,J));
|
|
7
7
|
//# sourceMappingURL=Datepicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Datepicker.js","sources":["../../../src/components/datepicker/Datepicker.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-datepicker' }} />\n\n<script lang=\"ts\">\n import CrossCircleFilled24 from '@mozaic-ds/icons-svelte/svelte/CrossCircleFilled24/CrossCircleFilled24.svelte';\n
|
|
1
|
+
{"version":3,"file":"Datepicker.js","sources":["../../../src/components/datepicker/Datepicker.svelte"],"sourcesContent":["<svelte:options customElement={{ tag: 'm-datepicker', extend: customElementForwardEvents }} />\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n import CrossCircleFilled24 from '@mozaic-ds/icons-svelte/svelte/CrossCircleFilled24/CrossCircleFilled24.svelte';\n /**\n * A date picker is an input component that allows users to select a date from a calendar interface or manually enter a date value. It enhances usability by providing structured date selection, reducing input errors, and ensuring format consistency. Date Pickers are commonly used in forms, booking systems, scheduling tools, and data filtering interfaces to facilitate accurate date entry.\n */\n interface Props {\n /**\n * A unique identifier for the datepicker element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the datepicker element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the datepicker field.\n */\n value?: string | number;\n /**\n * If `true`, applies an invalid state to the datepicker.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the datepicker, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the datepicker.\n */\n size?: 's' | 'm';\n /**\n * If `true`, the datepicker is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * If `true`, a clear button will appear when the datepicker has a value.\n */\n isclearable?: boolean;\n /**\n * The label text for the clear button.\n */\n clearlabel?: string;\n }\n\n let {\n id,\n name,\n value = $bindable(),\n isinvalid,\n disabled,\n size = 'm',\n readonly,\n isclearable,\n clearlabel = 'clear content',\n }: Props = $props();\n\n const resetValue = () => (value = '');\n</script>\n\n<div\n class={[\n 'mc-datepicker mc-text-input',\n `mc-text-input--${size}`,\n `mc-datepicker--${size}`,\n isinvalid && 'is-invalid',\n ]}\n>\n <input\n class=\"mc-datepicker__control mc-text-input__control\"\n type=\"date\"\n bind:value\n {id}\n {name}\n {disabled}\n {readonly}\n aria-invalid={isinvalid}\n />\n\n {#if isclearable && value}\n <div class=\"mc-datepicker__controls-options mc-controls-options\">\n <button type=\"button\" class=\"mc-controls-options__button\" onclick={resetValue}>\n <CrossCircleFilled24 class=\"mc-controls-options__icon\" aria-hidden=\"true\" />\n <span class=\"mc-controls-options__label\">{clearlabel}</span>\n </button>\n </div>\n {/if}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/text-input';\n @use '@mozaic-ds/styles/components/datepicker';\n @use '@mozaic-ds/styles/components/controls-options';\n</style>\n"],"names":["resetValue","_","value","id","$.prop","$$props","name","isinvalid","disabled","size","readonly","isclearable","clearlabel","$$render","consequent","customElementForwardEvents"],"mappings":"iZA2DQA,EAAU,CAAAC,EAAAC,IAAUA,EAAQ,EAAE;;;;;28LA3DtC,oBAgDIC,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,EAAIF,EAAAC,EAAA,OAAA,CAAA,EACJH,EAAKE,EAAAC,EAAA,QAAA,EAAA,EACLE,EAASH,EAAAC,EAAA,YAAA,CAAA,EACTG,EAAQJ,EAAAC,EAAA,WAAA,CAAA,EACRI,eAAO,GAAG,EACVC,EAAQN,EAAAC,EAAA,WAAA,CAAA,EACRM,EAAWP,EAAAC,EAAA,cAAA,CAAA,EACXO,qBAAa,eAAe,4RAHrB,IAAG,yKAGG,gBAAe,kFA2ByCZ,EAAUE,CAAA,2HAEjCU,EAAU,CAAA,CAAA,kBAJrDD,EAAW,GAAIT,KAAKW,EAAAC,CAAA,gCAjBvB,gDACkBL,EAAI,CAAA,qBACJA,EAAI,CAAA,GACtBF,KAAa,+GAWCA,GAAS,sBAlB3B,mKA5D8DQ"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { render, fireEvent } from '@testing-library/svelte';
|
|
3
|
+
import Datepicker from './Datepicker.svelte';
|
|
4
|
+
describe('m-datepicker component', () => {
|
|
5
|
+
const id = 'my-datepicker';
|
|
6
|
+
it('renders input with default size "m"', () => {
|
|
7
|
+
const { container } = render(Datepicker, {
|
|
8
|
+
props: { id },
|
|
9
|
+
});
|
|
10
|
+
const wrapper = container.querySelector('.mc-datepicker');
|
|
11
|
+
expect(wrapper).toBeTruthy();
|
|
12
|
+
expect(wrapper?.classList.contains('mc-text-input--m')).toBe(true);
|
|
13
|
+
const input = container.querySelector('input[type="date"]');
|
|
14
|
+
expect(input).toBeTruthy();
|
|
15
|
+
expect(input.id).toBe(id);
|
|
16
|
+
});
|
|
17
|
+
it('renders with custom size "s"', () => {
|
|
18
|
+
const { container } = render(Datepicker, {
|
|
19
|
+
props: { id, size: 's' },
|
|
20
|
+
});
|
|
21
|
+
const wrapper = container.querySelector('.mc-datepicker');
|
|
22
|
+
expect(wrapper?.classList.contains('mc-text-input--s')).toBe(true);
|
|
23
|
+
expect(wrapper?.classList.contains('mc-datepicker--s')).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
it('renders with pre-filled value', () => {
|
|
26
|
+
const { container } = render(Datepicker, {
|
|
27
|
+
props: { id, value: '2025-10-15' },
|
|
28
|
+
});
|
|
29
|
+
const input = container.querySelector('input[type="date"]');
|
|
30
|
+
expect(input.value).toBe('2025-10-15');
|
|
31
|
+
});
|
|
32
|
+
it('updates the bound value on user input', async () => {
|
|
33
|
+
const { container } = render(Datepicker, {
|
|
34
|
+
props: { id, value: '2025-10-15' },
|
|
35
|
+
});
|
|
36
|
+
const input = container.querySelector('input[type="date"]');
|
|
37
|
+
await fireEvent.input(input, { target: { value: '2025-12-01' } });
|
|
38
|
+
expect(input.value).toBe('2025-12-01');
|
|
39
|
+
});
|
|
40
|
+
it('renders disabled and readonly states correctly', () => {
|
|
41
|
+
const { container } = render(Datepicker, {
|
|
42
|
+
props: { id, disabled: true, readonly: true },
|
|
43
|
+
});
|
|
44
|
+
const input = container.querySelector('input');
|
|
45
|
+
expect(input.disabled).toBe(true);
|
|
46
|
+
expect(input.readOnly).toBe(true);
|
|
47
|
+
});
|
|
48
|
+
it('applies invalid state with aria-invalid', () => {
|
|
49
|
+
const { container } = render(Datepicker, {
|
|
50
|
+
props: { id, isinvalid: true },
|
|
51
|
+
});
|
|
52
|
+
const input = container.querySelector('input');
|
|
53
|
+
expect(input).toHaveAttribute('aria-invalid', 'true');
|
|
54
|
+
const wrapper = container.querySelector('.mc-datepicker');
|
|
55
|
+
expect(wrapper.classList.contains('is-invalid')).toBe(true);
|
|
56
|
+
});
|
|
57
|
+
it('shows clear button when isclearable is true and value is set', () => {
|
|
58
|
+
const { getByRole, getByText } = render(Datepicker, {
|
|
59
|
+
props: {
|
|
60
|
+
id,
|
|
61
|
+
value: '2025-10-10',
|
|
62
|
+
isclearable: true,
|
|
63
|
+
clearlabel: 'Clear date',
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
const clearButton = getByRole('button');
|
|
67
|
+
expect(clearButton).toBeTruthy();
|
|
68
|
+
expect(getByText('Clear date')).toBeTruthy();
|
|
69
|
+
});
|
|
70
|
+
it('clears value when clear button is clicked', async () => {
|
|
71
|
+
const { container, getByRole } = render(Datepicker, {
|
|
72
|
+
props: {
|
|
73
|
+
id,
|
|
74
|
+
value: '2025-10-10',
|
|
75
|
+
isclearable: true,
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
const input = container.querySelector('input');
|
|
79
|
+
expect(input.value).toBe('2025-10-10');
|
|
80
|
+
const button = getByRole('button');
|
|
81
|
+
await fireEvent.click(button);
|
|
82
|
+
expect(input.value).toBe('');
|
|
83
|
+
});
|
|
84
|
+
it('does not render clear button if value is not set', () => {
|
|
85
|
+
const { container } = render(Datepicker, {
|
|
86
|
+
props: {
|
|
87
|
+
id,
|
|
88
|
+
isclearable: true,
|
|
89
|
+
value: '',
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
const button = container.querySelector('button');
|
|
93
|
+
expect(button).toBeNull();
|
|
94
|
+
});
|
|
95
|
+
});
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/
|
|
2
|
-
declare const
|
|
3
|
-
export default
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
declare const meta: Meta;
|
|
3
|
+
export default meta;
|
|
4
4
|
type Story = StoryObj;
|
|
5
|
+
export declare const WithValue: Story;
|
|
5
6
|
export declare const Default: Story;
|
|
6
|
-
export declare const Clearable: Story;
|
|
7
|
-
export declare const Invalid: Story;
|
|
8
|
-
export declare const Readonly: Story;
|
|
9
7
|
export declare const Small: Story;
|
|
8
|
+
export declare const Disabled: Story;
|
|
9
|
+
export declare const ReadOnly: Story;
|
|
10
|
+
export declare const Invalid: Story;
|
|
10
11
|
//# sourceMappingURL=Datepicker.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Datepicker.stories.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/Datepicker.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Datepicker.stories.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/Datepicker.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,QAAA,MAAM,IAAI,EAAE,IA4CX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAKnB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
|
|
@@ -1,97 +1,80 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
2
3
|
import { action } from 'storybook/actions';
|
|
3
|
-
|
|
4
|
+
const meta = {
|
|
4
5
|
title: 'Form Elements/Datepicker',
|
|
5
|
-
|
|
6
|
-
args: {
|
|
7
|
-
id: 'datepicker-id',
|
|
8
|
-
name: 'my-datepicker',
|
|
9
|
-
value: '2025-08-19',
|
|
10
|
-
isinvalid: false,
|
|
11
|
-
readonly: false,
|
|
12
|
-
isclearable: true,
|
|
13
|
-
clearlabel: 'Clear date',
|
|
14
|
-
size: 'm',
|
|
15
|
-
},
|
|
6
|
+
component: 'm-datepicker',
|
|
16
7
|
argTypes: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
size: {
|
|
9
|
+
control: 'radio',
|
|
10
|
+
options: ['s', 'm'],
|
|
20
11
|
},
|
|
21
12
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
13
|
+
args: {
|
|
14
|
+
id: 'datepickerId',
|
|
15
|
+
},
|
|
16
|
+
render: (args) => {
|
|
17
|
+
const onInput = action('input');
|
|
18
|
+
const onChange = action('change');
|
|
19
|
+
const onFocus = action('focus');
|
|
20
|
+
const onBlur = action('blur');
|
|
21
|
+
return html `
|
|
22
|
+
<m-datepicker
|
|
23
|
+
id=${ifDefined(args.id)}
|
|
24
|
+
name=${ifDefined(args.name)}
|
|
25
|
+
value=${ifDefined(args.value)}
|
|
26
|
+
isinvalid=${ifDefined(args.isinvalid)}
|
|
27
|
+
disabled=${ifDefined(args.disabled)}
|
|
28
|
+
size=${ifDefined(args.size)}
|
|
29
|
+
readonly=${ifDefined(args.readonly)}
|
|
30
|
+
isclearable=${ifDefined(args.isclearable)}
|
|
31
|
+
clearlabel=${ifDefined(args.clearlabel)}
|
|
32
|
+
@input=${(event) => {
|
|
33
|
+
onInput(event);
|
|
34
|
+
}}
|
|
35
|
+
@change=${(event) => {
|
|
36
|
+
onChange(event);
|
|
37
|
+
}}
|
|
38
|
+
@focus=${(event) => {
|
|
39
|
+
onFocus(event);
|
|
40
|
+
}}
|
|
41
|
+
@blur=${(event) => {
|
|
42
|
+
onBlur(event);
|
|
43
|
+
}}
|
|
44
|
+
></m-datepicker>
|
|
45
|
+
`;
|
|
49
46
|
},
|
|
50
47
|
};
|
|
51
|
-
export
|
|
48
|
+
export default meta;
|
|
49
|
+
export const WithValue = {
|
|
52
50
|
args: {
|
|
53
|
-
|
|
51
|
+
id: 'withValueId',
|
|
52
|
+
value: '2025-07-22',
|
|
54
53
|
isclearable: true,
|
|
55
54
|
},
|
|
56
|
-
render: Template,
|
|
57
|
-
play: async ({ canvasElement }) => {
|
|
58
|
-
const el = canvasElement.querySelector('m-datepicker');
|
|
59
|
-
const button = el?.shadowRoot?.querySelector('button');
|
|
60
|
-
expect(button).toBeVisible();
|
|
61
|
-
await userEvent.click(button);
|
|
62
|
-
const input = el?.shadowRoot?.querySelector('input');
|
|
63
|
-
expect(input).toHaveValue('');
|
|
64
|
-
},
|
|
65
55
|
};
|
|
66
|
-
export const
|
|
56
|
+
export const Default = {};
|
|
57
|
+
export const Small = {
|
|
67
58
|
args: {
|
|
68
|
-
|
|
59
|
+
id: 'smallId',
|
|
60
|
+
size: 's',
|
|
69
61
|
},
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
62
|
+
};
|
|
63
|
+
export const Disabled = {
|
|
64
|
+
args: {
|
|
65
|
+
id: 'disableId',
|
|
66
|
+
disabled: true,
|
|
74
67
|
},
|
|
75
68
|
};
|
|
76
|
-
export const
|
|
69
|
+
export const ReadOnly = {
|
|
77
70
|
args: {
|
|
71
|
+
id: 'readonlyId',
|
|
78
72
|
readonly: true,
|
|
79
73
|
},
|
|
80
|
-
render: Template,
|
|
81
|
-
play: async ({ canvasElement }) => {
|
|
82
|
-
const input = canvasElement
|
|
83
|
-
.querySelector('m-datepicker')
|
|
84
|
-
?.shadowRoot?.querySelector('input');
|
|
85
|
-
expect(input).toHaveAttribute('readonly');
|
|
86
|
-
},
|
|
87
74
|
};
|
|
88
|
-
export const
|
|
75
|
+
export const Invalid = {
|
|
89
76
|
args: {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
render: Template,
|
|
93
|
-
play: async ({ canvasElement }) => {
|
|
94
|
-
const el = canvasElement.querySelector('m-datepicker');
|
|
95
|
-
expect(el).toHaveAttribute('size', 's');
|
|
77
|
+
id: 'invalidId',
|
|
78
|
+
isinvalid: true,
|
|
96
79
|
},
|
|
97
80
|
};
|
|
@@ -1,49 +1,72 @@
|
|
|
1
|
-
<svelte:options customElement={{ tag: 'm-datepicker' }} />
|
|
1
|
+
<svelte:options customElement={{ tag: 'm-datepicker', extend: customElementForwardEvents }} />
|
|
2
2
|
|
|
3
3
|
<script lang="ts">
|
|
4
|
+
import { customElementForwardEvents } from '../../utils';
|
|
4
5
|
import CrossCircleFilled24 from '@mozaic-ds/icons-svelte/svelte/CrossCircleFilled24/CrossCircleFilled24.svelte';
|
|
5
|
-
|
|
6
|
+
/**
|
|
7
|
+
* A date picker is an input component that allows users to select a date from a calendar interface or manually enter a date value. It enhances usability by providing structured date selection, reducing input errors, and ensuring format consistency. Date Pickers are commonly used in forms, booking systems, scheduling tools, and data filtering interfaces to facilitate accurate date entry.
|
|
8
|
+
*/
|
|
6
9
|
interface Props {
|
|
10
|
+
/**
|
|
11
|
+
* A unique identifier for the datepicker element, used to associate the label with the form element.
|
|
12
|
+
*/
|
|
7
13
|
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* The name attribute for the datepicker element, typically used for form submission.
|
|
16
|
+
*/
|
|
8
17
|
name?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The current value of the datepicker field.
|
|
20
|
+
*/
|
|
9
21
|
value?: string | number;
|
|
22
|
+
/**
|
|
23
|
+
* If `true`, applies an invalid state to the datepicker.
|
|
24
|
+
*/
|
|
10
25
|
isinvalid?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* If `true`, disables the datepicker, making it non-interactive.
|
|
28
|
+
*/
|
|
11
29
|
disabled?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Determines the size of the datepicker.
|
|
32
|
+
*/
|
|
12
33
|
size?: 's' | 'm';
|
|
34
|
+
/**
|
|
35
|
+
* If `true`, the datepicker is read-only (cannot be edited).
|
|
36
|
+
*/
|
|
13
37
|
readonly?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* If `true`, a clear button will appear when the datepicker has a value.
|
|
40
|
+
*/
|
|
14
41
|
isclearable?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The label text for the clear button.
|
|
44
|
+
*/
|
|
15
45
|
clearlabel?: string;
|
|
16
|
-
[events: string]: string;
|
|
17
46
|
}
|
|
18
47
|
|
|
19
48
|
let {
|
|
20
49
|
id,
|
|
21
|
-
name
|
|
22
|
-
value =
|
|
23
|
-
isinvalid
|
|
24
|
-
disabled
|
|
50
|
+
name,
|
|
51
|
+
value = $bindable(),
|
|
52
|
+
isinvalid,
|
|
53
|
+
disabled,
|
|
25
54
|
size = 'm',
|
|
26
|
-
readonly
|
|
27
|
-
isclearable
|
|
55
|
+
readonly,
|
|
56
|
+
isclearable,
|
|
28
57
|
clearlabel = 'clear content',
|
|
29
|
-
...events
|
|
30
58
|
}: Props = $props();
|
|
31
59
|
|
|
32
|
-
|
|
33
|
-
const target = event.target as HTMLInputElement;
|
|
34
|
-
value = target.value;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function clearValue() {
|
|
38
|
-
value = '';
|
|
39
|
-
}
|
|
60
|
+
const resetValue = () => (value = '');
|
|
40
61
|
</script>
|
|
41
62
|
|
|
42
63
|
<div
|
|
43
|
-
class=
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
64
|
+
class={[
|
|
65
|
+
'mc-datepicker mc-text-input',
|
|
66
|
+
`mc-text-input--${size}`,
|
|
67
|
+
`mc-datepicker--${size}`,
|
|
68
|
+
isinvalid && 'is-invalid',
|
|
69
|
+
]}
|
|
47
70
|
>
|
|
48
71
|
<input
|
|
49
72
|
class="mc-datepicker__control mc-text-input__control"
|
|
@@ -54,21 +77,12 @@
|
|
|
54
77
|
{disabled}
|
|
55
78
|
{readonly}
|
|
56
79
|
aria-invalid={isinvalid}
|
|
57
|
-
oninput={onInput}
|
|
58
|
-
{...events}
|
|
59
80
|
/>
|
|
60
81
|
|
|
61
82
|
{#if isclearable && value}
|
|
62
83
|
<div class="mc-datepicker__controls-options mc-controls-options">
|
|
63
|
-
<button
|
|
64
|
-
|
|
65
|
-
class="mc-controls-options__button"
|
|
66
|
-
onclick={clearValue}
|
|
67
|
-
>
|
|
68
|
-
<CrossCircleFilled24
|
|
69
|
-
class="mc-controls-options__icon"
|
|
70
|
-
aria-hidden="true"
|
|
71
|
-
/>
|
|
84
|
+
<button type="button" class="mc-controls-options__button" onclick={resetValue}>
|
|
85
|
+
<CrossCircleFilled24 class="mc-controls-options__icon" aria-hidden="true" />
|
|
72
86
|
<span class="mc-controls-options__label">{clearlabel}</span>
|
|
73
87
|
</button>
|
|
74
88
|
</div>
|
|
@@ -1,16 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A date picker is an input component that allows users to select a date from a calendar interface or manually enter a date value. It enhances usability by providing structured date selection, reducing input errors, and ensuring format consistency. Date Pickers are commonly used in forms, booking systems, scheduling tools, and data filtering interfaces to facilitate accurate date entry.
|
|
3
|
+
*/
|
|
1
4
|
interface Props {
|
|
5
|
+
/**
|
|
6
|
+
* A unique identifier for the datepicker element, used to associate the label with the form element.
|
|
7
|
+
*/
|
|
2
8
|
id: string;
|
|
9
|
+
/**
|
|
10
|
+
* The name attribute for the datepicker element, typically used for form submission.
|
|
11
|
+
*/
|
|
3
12
|
name?: string;
|
|
13
|
+
/**
|
|
14
|
+
* The current value of the datepicker field.
|
|
15
|
+
*/
|
|
4
16
|
value?: string | number;
|
|
17
|
+
/**
|
|
18
|
+
* If `true`, applies an invalid state to the datepicker.
|
|
19
|
+
*/
|
|
5
20
|
isinvalid?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* If `true`, disables the datepicker, making it non-interactive.
|
|
23
|
+
*/
|
|
6
24
|
disabled?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Determines the size of the datepicker.
|
|
27
|
+
*/
|
|
7
28
|
size?: 's' | 'm';
|
|
29
|
+
/**
|
|
30
|
+
* If `true`, the datepicker is read-only (cannot be edited).
|
|
31
|
+
*/
|
|
8
32
|
readonly?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* If `true`, a clear button will appear when the datepicker has a value.
|
|
35
|
+
*/
|
|
9
36
|
isclearable?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The label text for the clear button.
|
|
39
|
+
*/
|
|
10
40
|
clearlabel?: string;
|
|
11
|
-
[events: string]: string;
|
|
12
41
|
}
|
|
13
|
-
declare const Datepicker: import("svelte").Component<Props, {}, "">;
|
|
42
|
+
declare const Datepicker: import("svelte").Component<Props, {}, "value">;
|
|
14
43
|
type Datepicker = ReturnType<typeof Datepicker>;
|
|
15
44
|
export default Datepicker;
|
|
16
45
|
//# sourceMappingURL=Datepicker.svelte.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Datepicker.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/Datepicker.svelte.ts"],"names":[],"mappings":"AAME,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Datepicker.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/datepicker/Datepicker.svelte.ts"],"names":[],"mappings":"AAME;;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,GAAG,MAAM,CAAC;IACxB;;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,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA6CH,QAAA,MAAM,UAAU,gDAAwC,CAAC;AACzD,KAAK,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAChD,eAAe,UAAU,CAAC"}
|