@mozaic-ds/web-components 1.2.0 → 1.4.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/dist/Condition20.js +2 -0
- package/dist/Condition20.js.map +1 -0
- package/dist/accordion-list.state.svelte.js +2 -0
- package/dist/accordion-list.state.svelte.js.map +1 -0
- package/dist/attributes.js +1 -1
- package/dist/attributes.js.map +1 -1
- package/dist/bundle.d.ts +11 -0
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +11 -0
- package/dist/components/accordionlist/AccordionList.js +50 -0
- package/dist/components/accordionlist/AccordionList.js.map +1 -0
- package/dist/components/accordionlist/AccordionList.spec.js +40 -0
- package/dist/components/accordionlist/AccordionList.stories.d.ts +15 -0
- package/dist/components/accordionlist/AccordionList.stories.d.ts.map +1 -0
- package/dist/components/accordionlist/AccordionList.stories.js +141 -0
- package/dist/components/accordionlist/AccordionList.svelte +441 -0
- package/dist/components/accordionlist/AccordionList.svelte.d.ts +47 -0
- package/dist/components/accordionlist/AccordionList.svelte.d.ts.map +1 -0
- package/dist/components/accordionlist/README.md +18 -0
- package/dist/components/accordionlist/accordion-list.state.svelte.d.ts +5 -0
- package/dist/components/accordionlist/accordion-list.state.svelte.d.ts.map +1 -0
- package/dist/components/accordionlist/accordion-list.state.svelte.js +6 -0
- package/dist/components/accordionlistItem/AccordionListItem.js +50 -0
- package/dist/components/accordionlistItem/AccordionListItem.js.map +1 -0
- package/dist/components/accordionlistItem/AccordionListItem.spec.js +75 -0
- package/dist/components/accordionlistItem/AccordionListItem.svelte +463 -0
- package/dist/components/accordionlistItem/AccordionListItem.svelte.d.ts +50 -0
- package/dist/components/accordionlistItem/AccordionListItem.svelte.d.ts.map +1 -0
- package/dist/components/accordionlistItem/README.md +29 -0
- package/dist/components/actionbottombar/ActionBottomBar.js +12 -0
- package/dist/components/actionbottombar/ActionBottomBar.js.map +1 -0
- package/dist/components/actionbottombar/ActionBottomBar.spec.js +20 -0
- package/dist/components/actionbottombar/ActionBottomBar.stories.d.ts +19 -0
- package/dist/components/actionbottombar/ActionBottomBar.stories.d.ts.map +1 -0
- package/dist/components/actionbottombar/ActionBottomBar.stories.js +131 -0
- package/dist/components/actionbottombar/ActionBottomBar.svelte +113 -0
- package/dist/components/actionbottombar/ActionBottomBar.svelte.d.ts +43 -0
- package/dist/components/actionbottombar/ActionBottomBar.svelte.d.ts.map +1 -0
- package/dist/components/actionbottombar/README.md +19 -0
- package/dist/components/actionlistbox/ActionListbox.js +10 -0
- package/dist/components/actionlistbox/ActionListbox.js.map +1 -0
- package/dist/components/actionlistbox/ActionListbox.spec.js +20 -0
- package/dist/components/actionlistbox/ActionListbox.stories.d.ts +12 -0
- package/dist/components/actionlistbox/ActionListbox.stories.d.ts.map +1 -0
- package/dist/components/actionlistbox/ActionListbox.stories.js +49 -0
- package/dist/components/actionlistbox/ActionListbox.svelte +213 -0
- package/dist/components/actionlistbox/ActionListbox.svelte.d.ts +37 -0
- package/dist/components/actionlistbox/ActionListbox.svelte.d.ts.map +1 -0
- package/dist/components/actionlistbox/README.md +23 -0
- package/dist/components/actionlistboxitem/ActionListboxItem.js +4 -0
- package/dist/components/actionlistboxitem/ActionListboxItem.js.map +1 -0
- package/dist/components/actionlistboxitem/ActionListboxItem.spec.js +37 -0
- package/dist/components/actionlistboxitem/ActionListboxItem.svelte +136 -0
- package/dist/components/actionlistboxitem/ActionListboxItem.svelte.d.ts +43 -0
- package/dist/components/actionlistboxitem/ActionListboxItem.svelte.d.ts.map +1 -0
- package/dist/components/actionlistboxitem/README.md +20 -0
- package/dist/components/avatar/Avatar.js +2 -2
- package/dist/components/avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/Avatar.stories.d.ts +2 -1
- package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.stories.js +3 -2
- package/dist/components/avatar/Avatar.svelte +14 -4
- package/dist/components/avatar/Avatar.svelte.d.ts +7 -1
- package/dist/components/avatar/Avatar.svelte.d.ts.map +1 -1
- package/dist/components/avatar/README.md +2 -1
- package/dist/components/breadcrumb/Breadcrumb.js +2 -2
- package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.stories.d.ts +1 -0
- package/dist/components/breadcrumb/Breadcrumb.stories.d.ts.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb.stories.js +1 -0
- package/dist/components/breadcrumb/Breadcrumb.svelte +3 -2
- package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts +1 -0
- package/dist/components/breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
- package/dist/components/builtinmenu/BuiltInMenu.js +4 -0
- package/dist/components/builtinmenu/BuiltInMenu.js.map +1 -0
- package/dist/components/builtinmenu/BuiltInMenu.stories.d.ts +11 -0
- package/dist/components/builtinmenu/BuiltInMenu.stories.d.ts.map +1 -0
- package/dist/components/builtinmenu/BuiltInMenu.stories.js +61 -0
- package/dist/components/builtinmenu/BuiltInMenu.svelte +142 -0
- package/dist/components/builtinmenu/BuiltInMenu.svelte.d.ts +41 -0
- package/dist/components/builtinmenu/BuiltInMenu.svelte.d.ts.map +1 -0
- package/dist/components/builtinmenu/BuiltinMenu.spec.js +19 -0
- package/dist/components/builtinmenu/README.md +18 -0
- package/dist/components/builtinmenuitem/BuiltInMenuItem.js +8 -0
- package/dist/components/builtinmenuitem/BuiltInMenuItem.js.map +1 -0
- package/dist/components/builtinmenuitem/BuiltInMenuItem.spec.js +36 -0
- package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte +165 -0
- package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte.d.ts +50 -0
- package/dist/components/builtinmenuitem/BuiltInMenuItem.svelte.d.ts.map +1 -0
- package/dist/components/builtinmenuitem/README.md +20 -0
- package/dist/components/button/Button.js +2 -2
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/Button.stories.d.ts +14 -1
- package/dist/components/button/Button.stories.d.ts.map +1 -1
- package/dist/components/button/Button.stories.js +146 -6
- package/dist/components/button/Button.svelte +43 -16
- package/dist/components/button/Button.svelte.d.ts +9 -0
- package/dist/components/button/Button.svelte.d.ts.map +1 -1
- package/dist/components/button/README.md +2 -2
- package/dist/components/callout/Callout.js +2 -2
- package/dist/components/callout/Callout.js.map +1 -1
- package/dist/components/callout/Callout.spec.js +4 -1
- package/dist/components/callout/Callout.stories.d.ts +5 -2
- package/dist/components/callout/Callout.stories.d.ts.map +1 -1
- package/dist/components/callout/Callout.stories.js +5 -2
- package/dist/components/callout/Callout.svelte +40 -5
- package/dist/components/callout/Callout.svelte.d.ts +14 -0
- package/dist/components/callout/Callout.svelte.d.ts.map +1 -1
- package/dist/components/callout/README.md +3 -0
- package/dist/components/carousel/Carousel.js +4 -0
- package/dist/components/carousel/Carousel.js.map +1 -0
- package/dist/components/carousel/Carousel.spec.js +49 -0
- package/dist/components/carousel/Carousel.stories.d.ts +9 -0
- package/dist/components/carousel/Carousel.stories.d.ts.map +1 -0
- package/dist/components/carousel/Carousel.stories.js +73 -0
- package/dist/components/carousel/Carousel.svelte +211 -0
- package/dist/components/carousel/Carousel.svelte.d.ts +56 -0
- package/dist/components/carousel/Carousel.svelte.d.ts.map +1 -0
- package/dist/components/carousel/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.stories.d.ts +1 -0
- package/dist/components/checkbox/Checkbox.stories.d.ts.map +1 -1
- package/dist/components/checkbox/Checkbox.stories.js +6 -5
- package/dist/components/checkbox/Checkbox.svelte +7 -0
- package/dist/components/checkbox/Checkbox.svelte.d.ts +1 -0
- package/dist/components/checkbox/Checkbox.svelte.d.ts.map +1 -1
- package/dist/components/checkboxgroup/CheckboxGroup.js +4 -4
- package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
- package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts +1 -0
- package/dist/components/checkboxgroup/CheckboxGroup.stories.d.ts.map +1 -1
- package/dist/components/checkboxgroup/CheckboxGroup.stories.js +3 -2
- package/dist/components/checkboxgroup/CheckboxGroup.svelte +5 -2
- package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts +1 -0
- package/dist/components/checkboxgroup/CheckboxGroup.svelte.d.ts.map +1 -1
- package/dist/components/checklistmenu/CheckListMenu.js +4 -0
- package/dist/components/checklistmenu/CheckListMenu.js.map +1 -0
- package/dist/components/checklistmenu/CheckListMenu.spec.js +33 -0
- package/dist/components/checklistmenu/CheckListMenu.stories.d.ts +8 -0
- package/dist/components/checklistmenu/CheckListMenu.stories.d.ts.map +1 -0
- package/dist/components/checklistmenu/CheckListMenu.stories.js +32 -0
- package/dist/components/checklistmenu/CheckListMenu.svelte +79 -0
- package/dist/components/checklistmenu/CheckListMenu.svelte.d.ts +27 -0
- package/dist/components/checklistmenu/CheckListMenu.svelte.d.ts.map +1 -0
- package/dist/components/checklistmenu/README.md +12 -0
- package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
- package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
- package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts +1 -0
- package/dist/components/circularprogressbar/CircularProgressbar.stories.d.ts.map +1 -1
- package/dist/components/circularprogressbar/CircularProgressbar.stories.js +1 -0
- package/dist/components/container/Container.js +2 -2
- package/dist/components/container/Container.js.map +1 -1
- package/dist/components/container/Container.stories.d.ts +1 -0
- package/dist/components/container/Container.stories.d.ts.map +1 -1
- package/dist/components/container/Container.stories.js +2 -3
- package/dist/components/container/Container.svelte +19 -3
- package/dist/components/container/Container.svelte.d.ts +5 -0
- package/dist/components/container/Container.svelte.d.ts.map +1 -1
- package/dist/components/container/README.md +1 -0
- package/dist/components/datepicker/Datepicker.js +3 -3
- package/dist/components/datepicker/Datepicker.js.map +1 -1
- package/dist/components/datepicker/Datepicker.stories.d.ts +1 -0
- package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
- package/dist/components/datepicker/Datepicker.stories.js +6 -4
- package/dist/components/datepicker/Datepicker.svelte +17 -3
- package/dist/components/datepicker/Datepicker.svelte.d.ts +1 -0
- package/dist/components/datepicker/Datepicker.svelte.d.ts.map +1 -1
- package/dist/components/divider/Divider.js +2 -2
- package/dist/components/divider/Divider.js.map +1 -1
- package/dist/components/divider/Divider.stories.d.ts +1 -0
- package/dist/components/divider/Divider.stories.d.ts.map +1 -1
- package/dist/components/divider/Divider.stories.js +1 -0
- package/dist/components/divider/Divider.svelte +19 -3
- package/dist/components/divider/Divider.svelte.d.ts +6 -0
- package/dist/components/divider/Divider.svelte.d.ts.map +1 -1
- package/dist/components/divider/README.md +1 -0
- package/dist/components/drawer/Drawer.js +2 -2
- package/dist/components/drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/Drawer.stories.d.ts +2 -0
- package/dist/components/drawer/Drawer.stories.d.ts.map +1 -1
- package/dist/components/drawer/Drawer.stories.js +5 -3
- package/dist/components/drawer/Drawer.svelte +47 -9
- package/dist/components/drawer/Drawer.svelte.d.ts +10 -0
- package/dist/components/drawer/Drawer.svelte.d.ts.map +1 -1
- package/dist/components/drawer/README.md +2 -0
- package/dist/components/field/Field.js +2 -2
- package/dist/components/field/Field.js.map +1 -1
- package/dist/components/field/Field.stories.d.ts +2 -0
- package/dist/components/field/Field.stories.d.ts.map +1 -1
- package/dist/components/field/Field.stories.js +5 -3
- package/dist/components/field/Field.svelte +16 -1
- package/dist/components/field/Field.svelte.d.ts +5 -0
- package/dist/components/field/Field.svelte.d.ts.map +1 -1
- package/dist/components/field/README.md +1 -0
- package/dist/components/fileuploader/FileUploader.js +4 -0
- package/dist/components/fileuploader/FileUploader.js.map +1 -0
- package/dist/components/fileuploader/FileUploader.spec.js +134 -0
- package/dist/components/fileuploader/FileUploader.stories.d.ts +17 -0
- package/dist/components/fileuploader/FileUploader.stories.d.ts.map +1 -0
- package/dist/components/fileuploader/FileUploader.stories.js +172 -0
- package/dist/components/fileuploader/FileUploader.svelte +816 -0
- package/dist/components/fileuploader/FileUploader.svelte.d.ts +125 -0
- package/dist/components/fileuploader/FileUploader.svelte.d.ts.map +1 -0
- package/dist/components/fileuploader/README.md +42 -0
- package/dist/components/fileuploaderitem/FileUploaderItem.js +5 -0
- package/dist/components/fileuploaderitem/FileUploaderItem.js.map +1 -0
- package/dist/components/fileuploaderitem/FileUploaderItem.spec.js +41 -0
- package/dist/components/fileuploaderitem/FileUploaderItem.svelte +298 -0
- package/dist/components/fileuploaderitem/FileUploaderItem.svelte.d.ts +62 -0
- package/dist/components/fileuploaderitem/FileUploaderItem.svelte.d.ts.map +1 -0
- package/dist/components/fileuploaderitem/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.stories.d.ts +1 -0
- package/dist/components/flag/Flag.stories.d.ts.map +1 -1
- package/dist/components/flag/Flag.stories.js +1 -0
- package/dist/components/flag/Flag.svelte +3 -2
- package/dist/components/flag/Flag.svelte.d.ts +1 -0
- package/dist/components/flag/Flag.svelte.d.ts.map +1 -1
- 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 +14 -6
- package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
- package/dist/components/iconbutton/IconButton.stories.js +114 -9
- package/dist/components/iconbutton/IconButton.svelte +34 -2
- package/dist/components/iconbutton/IconButton.svelte.d.ts +9 -0
- package/dist/components/iconbutton/IconButton.svelte.d.ts.map +1 -1
- package/dist/components/iconbutton/README.md +2 -0
- package/dist/components/kpiitem/KpiItem.js +2 -2
- package/dist/components/kpiitem/KpiItem.js.map +1 -1
- package/dist/components/kpiitem/KpiItem.stories.d.ts +1 -0
- package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -1
- package/dist/components/kpiitem/KpiItem.stories.js +2 -0
- package/dist/components/kpiitem/KpiItem.svelte +4 -5
- package/dist/components/kpiitem/KpiItem.svelte.d.ts +1 -0
- package/dist/components/kpiitem/KpiItem.svelte.d.ts.map +1 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts +1 -0
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.d.ts.map +1 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.stories.js +1 -0
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +3 -1
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts +1 -0
- package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte.d.ts.map +1 -1
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts +1 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.d.ts.map +1 -1
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.stories.js +1 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +3 -1
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts +1 -0
- package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte.d.ts.map +1 -1
- package/dist/components/link/Link.js +2 -2
- package/dist/components/link/Link.js.map +1 -1
- package/dist/components/link/Link.stories.d.ts +3 -0
- package/dist/components/link/Link.stories.d.ts.map +1 -1
- package/dist/components/link/Link.stories.js +6 -3
- package/dist/components/link/Link.svelte +40 -8
- package/dist/components/link/Link.svelte.d.ts +10 -0
- package/dist/components/link/Link.svelte.d.ts.map +1 -1
- package/dist/components/link/README.md +2 -1
- package/dist/components/loader/Loader.js +2 -2
- package/dist/components/loader/Loader.js.map +1 -1
- package/dist/components/loader/Loader.stories.d.ts +1 -0
- package/dist/components/loader/Loader.stories.d.ts.map +1 -1
- package/dist/components/loader/Loader.stories.js +1 -0
- package/dist/components/loader/Loader.svelte +3 -1
- package/dist/components/loader/Loader.svelte.d.ts +1 -0
- package/dist/components/loader/Loader.svelte.d.ts.map +1 -1
- package/dist/components/loadingoverlay/LoadingOverlay.js +2 -2
- package/dist/components/loadingoverlay/LoadingOverlay.js.map +1 -1
- package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts +1 -0
- package/dist/components/loadingoverlay/LoadingOverlay.stories.d.ts.map +1 -1
- package/dist/components/loadingoverlay/LoadingOverlay.stories.js +2 -1
- package/dist/components/loadingoverlay/LoadingOverlay.svelte +11 -3
- package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts +1 -0
- package/dist/components/loadingoverlay/LoadingOverlay.svelte.d.ts.map +1 -1
- package/dist/components/modal/Modal.js +2 -2
- package/dist/components/modal/Modal.js.map +1 -1
- package/dist/components/modal/Modal.stories.d.ts +5 -2
- package/dist/components/modal/Modal.stories.d.ts.map +1 -1
- package/dist/components/modal/Modal.stories.js +7 -4
- package/dist/components/modal/Modal.svelte +63 -8
- package/dist/components/modal/Modal.svelte.d.ts +18 -0
- package/dist/components/modal/Modal.svelte.d.ts.map +1 -1
- package/dist/components/modal/README.md +4 -0
- package/dist/components/numberbadge/NumberBadge.js +2 -2
- package/dist/components/numberbadge/NumberBadge.js.map +1 -1
- package/dist/components/numberbadge/NumberBadge.stories.d.ts +1 -0
- package/dist/components/numberbadge/NumberBadge.stories.d.ts.map +1 -1
- package/dist/components/numberbadge/NumberBadge.stories.js +1 -0
- package/dist/components/numberbadge/NumberBadge.svelte +6 -2
- package/dist/components/numberbadge/NumberBadge.svelte.d.ts +1 -0
- package/dist/components/numberbadge/NumberBadge.svelte.d.ts.map +1 -1
- package/dist/components/overlay/Overlay.js +2 -2
- package/dist/components/overlay/Overlay.js.map +1 -1
- package/dist/components/overlay/Overlay.stories.d.ts +1 -0
- package/dist/components/overlay/Overlay.stories.d.ts.map +1 -1
- package/dist/components/overlay/Overlay.stories.js +2 -1
- package/dist/components/overlay/Overlay.svelte +19 -3
- package/dist/components/overlay/Overlay.svelte.d.ts +5 -0
- package/dist/components/overlay/Overlay.svelte.d.ts.map +1 -1
- package/dist/components/overlay/README.md +1 -0
- package/dist/components/pagination/Pagination.js +8 -8
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/Pagination.stories.d.ts +1 -0
- package/dist/components/pagination/Pagination.stories.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.stories.js +2 -1
- package/dist/components/pagination/Pagination.svelte +16 -6
- package/dist/components/pagination/Pagination.svelte.d.ts.map +1 -1
- package/dist/components/passwordinput/PasswordInput.js +4 -3
- package/dist/components/passwordinput/PasswordInput.js.map +1 -1
- package/dist/components/passwordinput/PasswordInput.stories.d.ts +1 -0
- package/dist/components/passwordinput/PasswordInput.stories.d.ts.map +1 -1
- package/dist/components/passwordinput/PasswordInput.stories.js +5 -4
- package/dist/components/passwordinput/PasswordInput.svelte +9 -0
- package/dist/components/passwordinput/PasswordInput.svelte.d.ts +1 -0
- package/dist/components/passwordinput/PasswordInput.svelte.d.ts.map +1 -1
- package/dist/components/phonenumber/PhoneNumber.js +22 -0
- package/dist/components/phonenumber/PhoneNumber.js.map +1 -0
- package/dist/components/phonenumber/PhoneNumber.spec.js +103 -0
- package/dist/components/phonenumber/PhoneNumber.stories.d.ts +14 -0
- package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -0
- package/dist/components/phonenumber/PhoneNumber.stories.js +122 -0
- package/dist/components/phonenumber/PhoneNumber.svelte +905 -0
- package/dist/components/phonenumber/PhoneNumber.svelte.d.ts +61 -0
- package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -0
- package/dist/components/phonenumber/README.md +27 -0
- package/dist/components/pincode/Pincode.js +2 -2
- package/dist/components/pincode/Pincode.js.map +1 -1
- package/dist/components/pincode/Pincode.stories.d.ts +1 -0
- package/dist/components/pincode/Pincode.stories.d.ts.map +1 -1
- package/dist/components/pincode/Pincode.stories.js +4 -3
- package/dist/components/pincode/Pincode.svelte +12 -2
- package/dist/components/pincode/Pincode.svelte.d.ts.map +1 -1
- package/dist/components/quantityselector/QuantitySelector.js +2 -2
- package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
- package/dist/components/quantityselector/QuantitySelector.stories.d.ts +1 -0
- package/dist/components/quantityselector/QuantitySelector.stories.d.ts.map +1 -1
- package/dist/components/quantityselector/QuantitySelector.stories.js +4 -3
- package/dist/components/quantityselector/QuantitySelector.svelte +11 -2
- package/dist/components/quantityselector/QuantitySelector.svelte.d.ts +1 -0
- package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
- package/dist/components/radio/Radio.js +2 -2
- package/dist/components/radio/Radio.js.map +1 -1
- package/dist/components/radio/Radio.stories.d.ts +1 -0
- package/dist/components/radio/Radio.stories.d.ts.map +1 -1
- package/dist/components/radio/Radio.stories.js +4 -3
- package/dist/components/radio/Radio.svelte +13 -1
- package/dist/components/radio/Radio.svelte.d.ts +1 -0
- package/dist/components/radio/Radio.svelte.d.ts.map +1 -1
- package/dist/components/radiogroup/RadioGroup.js +2 -2
- package/dist/components/radiogroup/RadioGroup.js.map +1 -1
- package/dist/components/radiogroup/RadioGroup.stories.d.ts +1 -0
- package/dist/components/radiogroup/RadioGroup.stories.d.ts.map +1 -1
- package/dist/components/radiogroup/RadioGroup.stories.js +3 -2
- package/dist/components/radiogroup/RadioGroup.svelte +2 -0
- package/dist/components/radiogroup/RadioGroup.svelte.d.ts.map +1 -1
- package/dist/components/segmentedcontrol/SegmentedControl.js +2 -2
- package/dist/components/segmentedcontrol/SegmentedControl.js.map +1 -1
- package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts +1 -0
- package/dist/components/segmentedcontrol/SegmentedControl.stories.d.ts.map +1 -1
- package/dist/components/segmentedcontrol/SegmentedControl.stories.js +3 -1
- package/dist/components/segmentedcontrol/SegmentedControl.svelte +8 -1
- package/dist/components/segmentedcontrol/SegmentedControl.svelte.d.ts.map +1 -1
- package/dist/components/select/Select.js +2 -2
- package/dist/components/select/Select.js.map +1 -1
- package/dist/components/select/Select.stories.d.ts +1 -0
- package/dist/components/select/Select.stories.d.ts.map +1 -1
- package/dist/components/select/Select.stories.js +4 -3
- package/dist/components/select/Select.svelte +6 -0
- package/dist/components/select/Select.svelte.d.ts +1 -0
- package/dist/components/select/Select.svelte.d.ts.map +1 -1
- package/dist/components/starrating/README.md +22 -0
- package/dist/components/starrating/StarRating.js +4 -0
- package/dist/components/starrating/StarRating.js.map +1 -0
- package/dist/components/starrating/StarRating.spec.js +108 -0
- package/dist/components/starrating/StarRating.stories.d.ts +14 -0
- package/dist/components/starrating/StarRating.stories.d.ts.map +1 -0
- package/dist/components/starrating/StarRating.stories.js +83 -0
- package/dist/components/starrating/StarRating.svelte +230 -0
- package/dist/components/starrating/StarRating.svelte.d.ts +47 -0
- package/dist/components/starrating/StarRating.svelte.d.ts.map +1 -0
- package/dist/components/statusbadge/StatusBadge.js +2 -2
- package/dist/components/statusbadge/StatusBadge.js.map +1 -1
- package/dist/components/statusbadge/StatusBadge.stories.d.ts +1 -0
- package/dist/components/statusbadge/StatusBadge.stories.d.ts.map +1 -1
- package/dist/components/statusbadge/StatusBadge.stories.js +1 -0
- package/dist/components/statusbadge/StatusBadge.svelte +3 -2
- package/dist/components/statusbadge/StatusBadge.svelte.d.ts +1 -0
- package/dist/components/statusbadge/StatusBadge.svelte.d.ts.map +1 -1
- package/dist/components/statusdot/StatusDot.js +2 -2
- package/dist/components/statusdot/StatusDot.js.map +1 -1
- package/dist/components/statusdot/StatusDot.stories.d.ts +1 -0
- package/dist/components/statusdot/StatusDot.stories.d.ts.map +1 -1
- package/dist/components/statusdot/StatusDot.stories.js +1 -0
- package/dist/components/statusdot/StatusDot.svelte +6 -2
- package/dist/components/statusdot/StatusDot.svelte.d.ts +1 -0
- package/dist/components/statusdot/StatusDot.svelte.d.ts.map +1 -1
- package/dist/components/statusmessage/StatusMessage.js +2 -2
- package/dist/components/statusmessage/StatusMessage.js.map +1 -1
- package/dist/components/statusmessage/StatusMessage.stories.d.ts +1 -0
- package/dist/components/statusmessage/StatusMessage.stories.d.ts.map +1 -1
- package/dist/components/statusmessage/StatusMessage.stories.js +1 -0
- package/dist/components/statusmessage/StatusMessage.svelte +12 -9
- package/dist/components/statusmessage/StatusMessage.svelte.d.ts +1 -0
- package/dist/components/statusmessage/StatusMessage.svelte.d.ts.map +1 -1
- package/dist/components/statusnotification/README.md +1 -0
- package/dist/components/statusnotification/StatusNotification.js +2 -2
- package/dist/components/statusnotification/StatusNotification.js.map +1 -1
- package/dist/components/statusnotification/StatusNotification.stories.d.ts +4 -0
- package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
- package/dist/components/statusnotification/StatusNotification.stories.js +5 -1
- package/dist/components/statusnotification/StatusNotification.svelte +35 -15
- package/dist/components/statusnotification/StatusNotification.svelte.d.ts +6 -0
- package/dist/components/statusnotification/StatusNotification.svelte.d.ts.map +1 -1
- package/dist/components/stepperbottombar/README.md +24 -0
- package/dist/components/stepperbottombar/StepperBottomBar.js +12 -0
- package/dist/components/stepperbottombar/StepperBottomBar.js.map +1 -0
- package/dist/components/stepperbottombar/StepperBottomBar.spec.js +106 -0
- package/dist/components/stepperbottombar/StepperBottomBar.stories.d.ts +9 -0
- package/dist/components/stepperbottombar/StepperBottomBar.stories.d.ts.map +1 -0
- package/dist/components/stepperbottombar/StepperBottomBar.stories.js +74 -0
- package/dist/components/stepperbottombar/StepperBottomBar.svelte +532 -0
- package/dist/components/stepperbottombar/StepperBottomBar.svelte.d.ts +41 -0
- package/dist/components/stepperbottombar/StepperBottomBar.svelte.d.ts.map +1 -0
- package/dist/components/steppercompact/StepperCompact.js +2 -2
- package/dist/components/steppercompact/StepperCompact.js.map +1 -1
- package/dist/components/steppercompact/StepperCompact.stories.d.ts +1 -0
- package/dist/components/steppercompact/StepperCompact.stories.d.ts.map +1 -1
- package/dist/components/steppercompact/StepperCompact.stories.js +1 -0
- package/dist/components/stepperinline/README.md +11 -0
- package/dist/components/stepperinline/StepperInline.js +16 -0
- package/dist/components/stepperinline/StepperInline.js.map +1 -0
- package/dist/components/stepperinline/StepperInline.spec.js +83 -0
- package/dist/components/stepperinline/StepperInline.stories.d.ts +7 -0
- package/dist/components/stepperinline/StepperInline.stories.d.ts.map +1 -0
- package/dist/components/stepperinline/StepperInline.stories.js +23 -0
- package/dist/components/stepperinline/StepperInline.svelte +176 -0
- package/dist/components/stepperinline/StepperInline.svelte.d.ts +27 -0
- package/dist/components/stepperinline/StepperInline.svelte.d.ts.map +1 -0
- package/dist/components/tab/README.md +3 -1
- package/dist/components/tab/Tab.js +2 -2
- package/dist/components/tab/Tab.js.map +1 -1
- package/dist/components/tab/Tab.svelte +48 -16
- package/dist/components/tab/Tab.svelte.d.ts +9 -0
- package/dist/components/tab/Tab.svelte.d.ts.map +1 -1
- package/dist/components/tabs/README.md +1 -0
- package/dist/components/tabs/Tabs.js +2 -2
- package/dist/components/tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/Tabs.stories.d.ts +3 -0
- package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.stories.js +5 -2
- package/dist/components/tabs/Tabs.svelte +21 -4
- package/dist/components/tabs/Tabs.svelte.d.ts +5 -0
- package/dist/components/tabs/Tabs.svelte.d.ts.map +1 -1
- package/dist/components/tag/README.md +1 -0
- package/dist/components/tag/Tag.js +2 -2
- package/dist/components/tag/Tag.js.map +1 -1
- package/dist/components/tag/Tag.stories.d.ts +1 -0
- package/dist/components/tag/Tag.stories.d.ts.map +1 -1
- package/dist/components/tag/Tag.stories.js +3 -2
- package/dist/components/tag/Tag.svelte +46 -13
- package/dist/components/tag/Tag.svelte.d.ts +6 -0
- package/dist/components/tag/Tag.svelte.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.js +2 -2
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/textarea/Textarea.stories.d.ts +1 -0
- package/dist/components/textarea/Textarea.stories.d.ts.map +1 -1
- package/dist/components/textarea/Textarea.stories.js +4 -3
- package/dist/components/textarea/Textarea.svelte +14 -1
- package/dist/components/textarea/Textarea.svelte.d.ts +1 -0
- package/dist/components/textarea/Textarea.svelte.d.ts.map +1 -1
- package/dist/components/textinput/README.md +1 -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 +4 -1
- package/dist/components/textinput/Textinput.stories.d.ts +1 -0
- package/dist/components/textinput/Textinput.stories.d.ts.map +1 -1
- package/dist/components/textinput/Textinput.stories.js +5 -4
- package/dist/components/textinput/Textinput.svelte +26 -2
- package/dist/components/textinput/Textinput.svelte.d.ts +6 -0
- package/dist/components/textinput/Textinput.svelte.d.ts.map +1 -1
- package/dist/components/toaster/README.md +1 -0
- package/dist/components/toaster/Toaster.js +2 -2
- package/dist/components/toaster/Toaster.js.map +1 -1
- package/dist/components/toaster/Toaster.stories.d.ts +3 -0
- package/dist/components/toaster/Toaster.stories.d.ts.map +1 -1
- package/dist/components/toaster/Toaster.stories.js +4 -1
- package/dist/components/toaster/Toaster.svelte +34 -11
- package/dist/components/toaster/Toaster.svelte.d.ts +6 -0
- package/dist/components/toaster/Toaster.svelte.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.js +2 -2
- package/dist/components/toggle/Toggle.js.map +1 -1
- package/dist/components/toggle/Toggle.stories.d.ts +1 -0
- package/dist/components/toggle/Toggle.stories.d.ts.map +1 -1
- package/dist/components/toggle/Toggle.stories.js +3 -2
- package/dist/components/toggle/Toggle.svelte +20 -2
- package/dist/components/toggle/Toggle.svelte.d.ts +1 -0
- package/dist/components/toggle/Toggle.svelte.d.ts.map +1 -1
- package/dist/components/togglegroup/ToggleGroup.js +2 -2
- package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
- package/dist/components/togglegroup/ToggleGroup.stories.d.ts +1 -0
- package/dist/components/togglegroup/ToggleGroup.stories.d.ts.map +1 -1
- package/dist/components/togglegroup/ToggleGroup.stories.js +2 -1
- package/dist/components/togglegroup/ToggleGroup.svelte +1 -0
- package/dist/components/togglegroup/ToggleGroup.svelte.d.ts.map +1 -1
- package/dist/components/tooltip/README.md +1 -0
- package/dist/components/tooltip/Tooltip.js +2 -2
- package/dist/components/tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/Tooltip.stories.d.ts +1 -0
- package/dist/components/tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/components/tooltip/Tooltip.stories.js +2 -1
- package/dist/components/tooltip/Tooltip.svelte +21 -3
- package/dist/components/tooltip/Tooltip.svelte.d.ts +6 -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/{WebComponents/usingPresets.mdx → BrandPresets.mdx} +2 -24
- package/dist/documentation/Changelog.mdx +19 -0
- package/dist/documentation/Color.mdx +224 -0
- package/dist/documentation/Contributing.mdx +11 -5
- package/dist/documentation/GettingStarted.mdx +76 -0
- package/dist/documentation/Icon.stories.d.ts +10 -0
- package/dist/documentation/Icon.stories.d.ts.map +1 -0
- package/dist/documentation/Icon.stories.js +138 -0
- package/dist/documentation/Migration.mdx +5 -5
- package/dist/documentation/Welcome.mdx +52 -0
- 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/index-client.js +2 -0
- package/dist/index-client.js.map +1 -0
- package/dist/input.js +1 -1
- package/dist/input.js.map +1 -1
- package/dist/main.d.ts +11 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +11 -1
- package/dist/slot.js +1 -1
- package/dist/slot.js.map +1 -1
- package/dist/snippet.js +2 -0
- package/dist/snippet.js.map +1 -0
- package/dist/svelte-component.js +1 -1
- package/dist/svelte-element.js +2 -0
- package/dist/svelte-element.js.map +1 -0
- package/dist/this.js +1 -1
- package/dist/this.js.map +1 -1
- package/package.json +22 -22
- package/dist/Cross20.js +0 -2
- package/dist/Cross20.js.map +0 -1
- package/dist/Cross24.js +0 -2
- package/dist/Cross24.js.map +0 -1
- package/dist/CrossCircleFilled24.js +0 -2
- package/dist/CrossCircleFilled24.js.map +0 -1
- package/dist/documentation/Introduction.mdx +0 -109
- package/dist/documentation/SupportAndOnboarding.mdx +0 -70
- package/dist/documentation/Svelte/Introduction.mdx +0 -76
- package/dist/documentation/Svelte/usingIcons.mdx +0 -98
- package/dist/documentation/Svelte/usingPresets.mdx +0 -134
- package/dist/documentation/WebComponents/Introduction.mdx +0 -52
- package/dist/documentation/WebComponents/usingIcons.mdx +0 -81
- package/dist/legacy.js +0 -2
- package/dist/legacy.js.map +0 -1
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type CountryCode } from 'libphonenumber-js';
|
|
2
|
+
/**
|
|
3
|
+
* A phone number input is a specialized input field designed to capture and validate phone numbers, ensuring correct formatting based on country-specific dialing codes. It often includes a country selector that automatically adjusts the international dialing code. This component improves user experience by standardizing phone number entries, reducing errors, and facilitating global compatibility. It is commonly used in registration forms, authentication flows, and contact information fields.
|
|
4
|
+
*
|
|
5
|
+
* @event valid {CustomEvent<boolean>} - Emits the validity of the value when the PhoneNumber changes.
|
|
6
|
+
*/
|
|
7
|
+
interface Props {
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
/**
|
|
10
|
+
* A unique identifier for the phone number input element, used to associate the label with the form element.
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
/**
|
|
14
|
+
* The current value of the phone number input field.
|
|
15
|
+
*/
|
|
16
|
+
value?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Default country code for phone number formatting (e.g., 'FR', 'US', 'PT').
|
|
19
|
+
*/
|
|
20
|
+
defaultcountry?: CountryCode;
|
|
21
|
+
/**
|
|
22
|
+
* A placeholder text to show in the phone number input when it is empty.
|
|
23
|
+
*/
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Determines the size of the phone number input.
|
|
27
|
+
*/
|
|
28
|
+
size?: 's' | 'm';
|
|
29
|
+
/**
|
|
30
|
+
* If `true`, applies an invalid state to the password input.
|
|
31
|
+
*/
|
|
32
|
+
isinvalid?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* If `true`, disables the input, making it non-interactive.
|
|
35
|
+
*/
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* If `true`, the input is read-only (cannot be edited).
|
|
39
|
+
*/
|
|
40
|
+
readonly?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* If `true`, display the country calling code prefix (+33, +1, etc.).
|
|
43
|
+
*/
|
|
44
|
+
prefix?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* If `true`, display the country flag selector
|
|
47
|
+
*/
|
|
48
|
+
flag?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Locale for displaying country names (e.g., 'fr', 'en', 'es', 'pt').
|
|
51
|
+
*/
|
|
52
|
+
locale?: string;
|
|
53
|
+
/**
|
|
54
|
+
* List of country codes to display in the selector. If not provided, all countries will be shown.
|
|
55
|
+
*/
|
|
56
|
+
countrycodes?: CountryCode[];
|
|
57
|
+
}
|
|
58
|
+
declare const PhoneNumber: import("svelte").Component<Props, {}, "value">;
|
|
59
|
+
type PhoneNumber = ReturnType<typeof PhoneNumber>;
|
|
60
|
+
export default PhoneNumber;
|
|
61
|
+
//# sourceMappingURL=PhoneNumber.svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PhoneNumber.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/phonenumber/PhoneNumber.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,EAMH,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAI3B;;;;GAIG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;CAC9B;AA0JH,QAAA,MAAM,WAAW,gDAAwC,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# `m-phone-number`
|
|
2
|
+
|
|
3
|
+
A phone number input is a specialized input field designed to capture and validate phone numbers, ensuring correct formatting based on country-specific dialing codes. It often includes a country selector that automatically adjusts the international dialing code. This component improves user experience by standardizing phone number entries, reducing errors, and facilitating global compatibility. It is commonly used in registration forms, authentication flows, and contact information fields.
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| Name | Description | Type | Default |
|
|
8
|
+
|------|-------------|------|---------|
|
|
9
|
+
| `id*` | A unique identifier for the phone number input element, used to associate the label with the form element. | `string` | |
|
|
10
|
+
| `value` | The current value of the phone number input field. | `string` | `$bindable('')` |
|
|
11
|
+
| `defaultcountry` | Default country code for phone number formatting (e.g., 'FR', 'US', 'PT'). | `CountryCode` | `FR` |
|
|
12
|
+
| `placeholder` | A placeholder text to show in the phone number input when it is empty. | `string` | |
|
|
13
|
+
| `size` | Determines the size of the phone number input. | `'s'` `'m'` | `m` |
|
|
14
|
+
| `isinvalid` | If `true`, applies an invalid state to the password input. | `boolean` | |
|
|
15
|
+
| `disabled` | If `true`, disables the input, making it non-interactive. | `boolean` | |
|
|
16
|
+
| `readonly` | If `true`, the input is read-only (cannot be edited). | `boolean` | |
|
|
17
|
+
| `prefix` | If `true`, display the country calling code prefix (+33, +1, etc.). | `boolean` | `true` |
|
|
18
|
+
| `flag` | If `true`, display the country flag selector | `boolean` | `true` |
|
|
19
|
+
| `locale` | Locale for displaying country names (e.g., 'fr', 'en', 'es', 'pt'). | `string` | `en` |
|
|
20
|
+
| `countrycodes` | List of country codes to display in the selector. If not provided, all countries will be shown. | `CountryCode[]` | |
|
|
21
|
+
|
|
22
|
+
## Events
|
|
23
|
+
|
|
24
|
+
| Name | Description | Type |
|
|
25
|
+
|------|------|-------------|
|
|
26
|
+
| `valid` | Emits the validity of the value when the PhoneNumber changes. | `CustomEvent<boolean>` |
|
|
27
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as S,c as C,p as K,a as O,b as i,w as x,m as D,A as R,v as z,q as o,B as F,f as A,g as G,x as H,h as j,j as d,r as J,t as N,n as Q,o as T}from"../../custom-element.js";import{e as U}from"../../each.js";import{r as V,s as B,d as W}from"../../attributes.js";import{b as I}from"../../this.js";var X=j('<input type="text" inputmode="numeric" maxlength="1" pattern="\\d*" autocomplete="one-time-code"/>'),Y=j('<div class="mc-pincode-input svelte-h63szf"></div>');const Z={hash:"svelte-h63szf",code:`/**
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
3
|
*/.mc-pincode-input.svelte-h63szf {display:inline-flex;column-gap:0.5rem;}
|
|
4
4
|
@media screen and (width <= 1024px) {.mc-pincode-input.svelte-h63szf {flex-wrap:wrap;row-gap:0.75rem;}
|
|
5
|
-
}.mc-pincode-input__control.svelte-h63szf {font-size:var(--font-size-400, 1.75rem);transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:3rem;box-sizing:border-box;height:4rem;text-align:center;line-height:var(--line-height-s, 1.3);}.mc-pincode-input__control.svelte-h63szf::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-pincode-input__control.svelte-h63szf: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-pincode-input__control.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-pincode-input__control.svelte-h63szf: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-pincode-input__control.is-invalid.svelte-h63szf {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-pincode-input__control.is-invalid.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}`};function $(
|
|
5
|
+
}.mc-pincode-input__control.svelte-h63szf {font-size:var(--font-size-400, 1.75rem);transition:box-shadow 200ms ease;background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:3rem;box-sizing:border-box;height:4rem;text-align:center;line-height:var(--line-height-s, 1.3);}.mc-pincode-input__control.svelte-h63szf::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-pincode-input__control.svelte-h63szf: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-pincode-input__control.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-pincode-input__control.svelte-h63szf: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-pincode-input__control.is-invalid.svelte-h63szf {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-pincode-input__control.is-invalid.svelte-h63szf:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}`};function $(k,s){K(s,!0),O(k,Z);let m=i(s,"id",7),c=i(s,"length",7,6),v=i(s,"name",7),p=i(s,"value",7),h=i(s,"isinvalid",7),b=i(s,"disabled",7),g=i(s,"readonly",7);const n=H(()=>typeof c()=="string"?parseInt(c(),10)||6:c());let l=x(D([])),_=x(D([])),y;R(()=>{const e=String(p()??"");z(l,Array(o(n)).fill(""),!0),z(l,Array.from({length:o(n)},(t,r)=>e[r]??""),!0)});const u=e=>{queueMicrotask(()=>o(_)?.[e]?.focus())},w=()=>{const e=o(l).join(""),t=new CustomEvent("input",{detail:{value:e},bubbles:!0,composed:!0});y.dispatchEvent(t)},E=(e,t)=>{const a=e.target.value.replace(/\D/g,"").slice(0,1);o(l)[t]=a,w(),a&&t+1<o(n)&&u(t+1)},q=(e,t)=>{e.key==="ArrowLeft"&&t>0?(e.preventDefault(),u(t-1)):e.key==="ArrowRight"&&t<o(n)-1?(e.preventDefault(),u(t+1)):e.key==="Backspace"&&o(l)[t]===""&&t>0&&(o(l)[t-1]="",w(),u(t-1))},L=e=>{e.preventDefault();const t=(e.clipboardData?.getData("text")??"").replace(/\D/g,"").slice(0,o(n));z(l,Array.from({length:o(n)},(r,a)=>t[a]??""),!0),w(),u(Math.min(t.length,o(n)-1))};var M={get id(){return m()},set id(e){m(e),d()},get length(){return c()},set length(e=6){c(e),d()},get name(){return v()},set name(e){v(e),d()},get value(){return p()},set value(e){p(e),d()},get isinvalid(){return h()},set isinvalid(e){h(e),d()},get disabled(){return b()},set disabled(e){b(e),d()},get readonly(){return g()},set readonly(e){g(e),d()}},f=Y();return U(f,20,()=>[...Array(o(n)).keys()],e=>e,(e,t)=>{var r=X();V(r),r.__input=a=>E(a,t),r.__keydown=a=>q(a,t),I(r,(a,P)=>o(_)[P]=a,a=>o(_)?.[a],()=>[t]),N(()=>{B(r,"id",`pincodeItem${t}`),Q(r,1,T(["mc-pincode-input__control",h()&&"is-invalid"]),"svelte-h63szf"),B(r,"name",v()??`pincode-${m()}`),r.disabled=b(),r.readOnly=g(),W(r,o(l)[t])}),A(e,r)}),J(f),I(f,e=>y=e,()=>y),F("paste",f,L),A(k,f),G(M)}S(["input","keydown"]);customElements.define("m-pincode",C($,{isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},readonly:{attribute:"readonly",reflect:!0,type:"Boolean"},id:{},length:{},name:{},value:{}},[],[],!0));
|
|
6
6
|
//# sourceMappingURL=Pincode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pincode.js","sources":["../../../src/components/pincode/Pincode.svelte"],"sourcesContent":["<svelte:options
|
|
1
|
+
{"version":3,"file":"Pincode.js","sources":["../../../src/components/pincode/Pincode.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-pincode',\n props: {\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },\n },\n }}\n/>\n\n<script lang=\"ts\">\n /**\n * A pincode input is a specialized input field used to enter short numeric codes, such as verification codes, security PINs, or authentication tokens. It typically separates each digit into individual fields to improve readability and ease of entry. This component is commonly used in two-factor authentication (2FA), password recovery, and secure access flows, ensuring a structured and user-friendly experience.\n *\n * @event input {CustomEvent<{ value: string }>} - Emits when the pincode value changes.\n */\n interface Props {\n /**\n * A unique identifier for the pincode element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The number of input displayed in the pincode element.\n */\n length?: 4 | 5 | 6;\n /**\n * The name attribute for the pincode element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the pincode field.\n */\n value?: string | number;\n /**\n * If `true`, applies an invalid state to the pincode.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the pincode, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * If `true`, the pincode is read-only (cannot be edited).\n */\n readonly?: boolean;\n }\n\n let { id, length = 6, name, value, isinvalid, disabled, readonly }: Props = $props();\n\n const L = $derived(typeof length === 'string' ? parseInt(length, 10) || 6 : length);\n\n let otp = $state<string[]>([]);\n let inputs = $state<HTMLInputElement[]>([]);\n let element: HTMLElement;\n\n $effect(() => {\n const incoming = String(value ?? '');\n otp = Array(L).fill('');\n otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');\n });\n\n const focusInput = (i: number) => {\n queueMicrotask(() => inputs?.[i]?.focus());\n };\n\n const emitInput = () => {\n const joined = otp.join('');\n const event = new CustomEvent('input', {\n detail: { value: joined },\n bubbles: true,\n composed: true,\n });\n element.dispatchEvent(event);\n };\n\n const onInput = (e: Event, index: number) => {\n const el = e.target as HTMLInputElement;\n const digit = el.value.replace(/\\D/g, '').slice(0, 1);\n otp[index] = digit;\n emitInput();\n if (digit && index + 1 < L) focusInput(index + 1);\n };\n\n const onKeyDown = (e: KeyboardEvent, index: number) => {\n if (e.key === 'ArrowLeft' && index > 0) {\n e.preventDefault();\n focusInput(index - 1);\n } else if (e.key === 'ArrowRight' && index < L - 1) {\n e.preventDefault();\n focusInput(index + 1);\n } else if (e.key === 'Backspace' && otp[index] === '' && index > 0) {\n otp[index - 1] = '';\n emitInput();\n focusInput(index - 1);\n }\n };\n\n const onPaste = (e: ClipboardEvent) => {\n e.preventDefault();\n const pasted = (e.clipboardData?.getData('text') ?? '').replace(/\\D/g, '').slice(0, L);\n otp = Array.from({ length: L }, (_, i) => pasted[i] ?? '');\n emitInput();\n focusInput(Math.min(pasted.length, L - 1));\n };\n</script>\n\n<div class=\"mc-pincode-input\" onpaste={onPaste} bind:this={element}>\n {#each [...Array(L).keys()] as i (i)}\n <input\n id={`pincodeItem${i}`}\n bind:this={inputs[i]}\n class={['mc-pincode-input__control', isinvalid && 'is-invalid']}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n pattern=\"\\d*\"\n autocomplete=\"one-time-code\"\n name={name ?? `pincode-${id}`}\n {disabled}\n {readonly}\n value={otp[i]}\n oninput={(e) => onInput(e, i)}\n onkeydown={(e) => onKeyDown(e as KeyboardEvent, i)}\n />\n {/each}\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/pincode-input';\n</style>\n"],"names":["id","$.prop","$$props","length","name","value","isinvalid","disabled","readonly","L","$.derived","otp","$.state","$.proxy","inputs","element","$.user_effect","incoming","$.set","$.get","_","i","focusInput","emitInput","joined","event","onInput","index","digit","onKeyDown","onPaste","pasted","div","root","$$anchor","input","root_1","$.remove_input_defaults","e","$.bind_this","$$value","$.set_attribute","$.set_class","$.clsx","$.append","$.event"],"mappings":";;;;yxDAWA,oBAqCQA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EAAEC,iBAAS,CAAC,EAAEC,EAAIH,EAAAC,EAAA,OAAA,CAAA,EAAEG,EAAKJ,EAAAC,EAAA,QAAA,CAAA,EAAEI,EAASL,EAAAC,EAAA,YAAA,CAAA,EAAEK,EAAQN,EAAAC,EAAA,WAAA,CAAA,EAAEM,EAAQP,EAAAC,EAAA,WAAA,CAAA,EAE1D,MAAAO,EAACC,EAAA,IAAA,OAAmBP,EAAM,GAAK,SAAW,SAASA,EAAM,EAAE,EAAE,GAAK,EAAIA,EAAM,CAAA,EAE9E,IAAAQ,EAAMC,EAAMC,EAAA,CAAA,CAAA,CAAA,EACZC,EAASF,EAAMC,EAAA,CAAA,CAAA,CAAA,EACfE,EAEJC,EAAO,IAAO,CACN,MAAAC,EAAW,OAAOZ,EAAK,GAAI,EAAE,EACnCa,EAAAP,EAAM,MAAKQ,EAACV,CAAC,CAAA,EAAE,KAAK,EAAE,EAAA,EAAA,EACtBS,EAAAP,EAAM,MAAM,KAAI,CAAG,OAAMQ,EAAEV,CAAC,CAAA,EAAA,CAAKW,EAAGC,IAAMJ,EAASI,CAAC,GAAK,EAAE,EAAA,EAAA,CAC7D,CAAC,QAEKC,EAAcD,GAAc,CAChC,eAAc,IAAAF,EAAOL,CAAM,IAAGO,CAAC,GAAG,OAAK,CACzC,EAEME,EAAS,IAAS,CAChB,MAAAC,EAAML,EAAGR,CAAG,EAAC,KAAK,EAAE,EACpBc,MAAY,YAAY,QAAO,CACnC,OAAM,CAAI,MAAOD,CAAM,EACvB,QAAS,GACT,SAAU,EAAI,CAAA,EAEhBT,EAAQ,cAAcU,CAAK,CAC7B,EAEMC,EAAO,CAAI,EAAUC,IAAkB,CAErC,MAAAC,EADK,EAAE,OACI,MAAM,QAAQ,MAAO,EAAE,EAAE,MAAM,EAAG,CAAC,IACpDjB,CAAG,EAACgB,CAAK,EAAIC,EACbL,EAAS,EACLK,GAASD,EAAQ,EAACR,EAAGV,CAAC,GAAEa,EAAWK,EAAQ,CAAC,CAClD,EAEME,EAAS,CAAI,EAAkBF,IAAkB,CACjD,EAAE,MAAQ,aAAeA,EAAQ,GACnC,EAAE,eAAc,EAChBL,EAAWK,EAAQ,CAAC,GACX,EAAE,MAAQ,cAAgBA,EAAKR,EAAGV,CAAC,EAAG,GAC/C,EAAE,eAAc,EAChBa,EAAWK,EAAQ,CAAC,GACX,EAAE,MAAQ,aAAWR,EAAIR,CAAG,EAACgB,CAAK,IAAM,IAAMA,EAAQ,IAC/DR,EAAAR,CAAG,EAACgB,EAAQ,CAAC,EAAI,GACjBJ,EAAS,EACTD,EAAWK,EAAQ,CAAC,EAExB,EAEMG,EAAW,GAAsB,CACrC,EAAE,eAAc,QACVC,GAAU,EAAE,eAAe,QAAQ,MAAM,GAAK,IAAI,QAAQ,MAAO,EAAE,EAAE,MAAM,EAACZ,EAAEV,CAAC,CAAA,EACrFS,EAAAP,EAAM,MAAM,KAAI,CAAG,OAAMQ,EAAEV,CAAC,CAAA,EAAA,CAAKW,EAAGC,IAAMU,EAAOV,CAAC,GAAK,EAAE,EAAA,EAAA,EACzDE,EAAS,EACTD,EAAW,KAAK,IAAIS,EAAO,OAAMZ,EAAEV,CAAC,EAAG,CAAC,CAAA,CAC1C,wFAxDmB,EAAC,yQA2DrBuB,EAAGC,EAAA,WAAHD,EAAG,GAAA,IAAA,CAAA,GACS,MAAKb,EAACV,CAAC,CAAA,EAAE,KAAI,CAAA,EAAOY,GAAGA,EAAC,CAAAa,EAAJb,IAAC,CAC7B,IAAAc,EAAAC,EAAA,EAAAC,EAAAF,CAAA,EAAAA,EAaC,QAAUG,GAAMZ,EAAQY,EAAGjB,CAAC,EAb7Bc,EAcC,UAAYG,GAAMT,EAAUS,EAAoBjB,CAAC,EAdlDkB,EAAAJ,EAAA,CAAAK,EAEmBnB,IAACF,EAARL,CAAM,EAACO,CAAC,EAAAmB,EAADnB,GAACF,EAARL,CAAM,IAACO,CAAC,EAAA,IAAA,CAADA,CAAC,CAAA,SAFpBoB,EAAAN,EAAA,KAAA,cACmBd,CAAC,EAAA,EADpBqB,EAAAP,EAAA,EAAAQ,EAAA,CAGS,4BAA6BrC,KAAa,YAAY,CAAA,EAAA,eAAA,IAH/D6B,EAAA,OASO/B,EAAI,cAAeJ,EAAE,CAAA,EAAA,EAT5BmC,EAAA,SAUE5B,EAAQ,EAVV4B,EAAA,SAWE3B,EAAQ,IAXV2B,EAAAhB,EAYQR,CAAG,EAACU,CAAC,CAAA,IAZbuB,EAAAV,EAAAC,CAAA,MAFJH,CAAG,IAAHA,EAAGQ,GAAuDzB,EAAOyB,EAAA,IAAPzB,CAAO,EAAjE8B,EAAA,QAAAb,EAAsCF,CAAO,MAA7CE,CAAG,MAFI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pincode.stories.d.ts","sourceRoot":"","sources":["../../../src/components/pincode/Pincode.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"Pincode.stories.d.ts","sourceRoot":"","sources":["../../../src/components/pincode/Pincode.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,kBAAkB,CAAC;AAE1B,QAAA,MAAM,IAAI,EAAE,IA6CX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
2
|
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
3
3
|
import { action } from 'storybook/actions';
|
|
4
|
+
import './Pincode.svelte';
|
|
4
5
|
const meta = {
|
|
5
6
|
title: 'Form Elements/Pincode',
|
|
6
7
|
component: 'm-pincode',
|
|
@@ -30,9 +31,9 @@ const meta = {
|
|
|
30
31
|
name=${ifDefined(args.name)}
|
|
31
32
|
value=${ifDefined(args.value)}
|
|
32
33
|
length=${ifDefined(args.length)}
|
|
33
|
-
isinvalid=${
|
|
34
|
-
disabled=${
|
|
35
|
-
readonly=${
|
|
34
|
+
?isinvalid=${args.isinvalid}
|
|
35
|
+
?disabled=${args.disabled}
|
|
36
|
+
?readonly=${args.readonly}
|
|
36
37
|
@input=${(event) => {
|
|
37
38
|
onInput(event);
|
|
38
39
|
}}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
<svelte:options
|
|
1
|
+
<svelte:options
|
|
2
|
+
customElement={{
|
|
3
|
+
tag: 'm-pincode',
|
|
4
|
+
props: {
|
|
5
|
+
isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
|
|
6
|
+
disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
|
|
7
|
+
readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },
|
|
8
|
+
},
|
|
9
|
+
}}
|
|
10
|
+
/>
|
|
2
11
|
|
|
3
12
|
<script lang="ts">
|
|
4
13
|
/**
|
|
@@ -41,12 +50,13 @@
|
|
|
41
50
|
|
|
42
51
|
const L = $derived(typeof length === 'string' ? parseInt(length, 10) || 6 : length);
|
|
43
52
|
|
|
44
|
-
let otp = $state<string[]>(
|
|
53
|
+
let otp = $state<string[]>([]);
|
|
45
54
|
let inputs = $state<HTMLInputElement[]>([]);
|
|
46
55
|
let element: HTMLElement;
|
|
47
56
|
|
|
48
57
|
$effect(() => {
|
|
49
58
|
const incoming = String(value ?? '');
|
|
59
|
+
otp = Array(L).fill('');
|
|
50
60
|
otp = Array.from({ length: L }, (_, i) => incoming[i] ?? '');
|
|
51
61
|
});
|
|
52
62
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pincode.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/pincode/Pincode.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB;;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,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"Pincode.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/pincode/Pincode.svelte.ts"],"names":[],"mappings":"AAGE;;;;GAIG;AACH,UAAU,KAAK;IACb;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB;;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,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkFH,QAAA,MAAM,OAAO,2CAAwC,CAAC;AACtD,KAAK,OAAO,GAAG,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAC1C,eAAe,OAAO,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{u as C,c as H,p as J,a as K,b as o,s as h,t as O,f as P,g as R,h as T,i as U,d as n,j as s,r as i,n as W,o as X,e as V}from"../../custom-element.js";import{a as Y,s as B}from"../../attributes.js";import{c as Z}from"../../input.js";import{c as $}from"../../custom-element-forward-events.js";import{M as ee,L as te}from"../../Condition20.js";var re=T('<div><input/> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--increase svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button> <button type="button" class="mc-quantity-selector__button mc-quantity-selector__button--decrease svelte-ptlds1" tabindex="-1"><span class="mc-quantity-selector__icon svelte-ptlds1"><!></span> <span class="mc-quantity-selector__label svelte-ptlds1"> </span></button></div>');const oe={hash:"svelte-ptlds1",code:`/**
|
|
2
2
|
* Do not edit directly, this file was auto-generated.
|
|
3
3
|
*/.mc-quantity-selector.svelte-ptlds1 {background-color:var(--forms-color-background-default, #ffffff);border:var(--border-width-s, 0.0625rem) solid var(--forms-color-border-default, #666666);border-radius:var(--forms-border-radius, 0.25rem);transition:all ease 200ms;color:var(--forms-color-text-default, #000000);display:block;width:100%;height:3rem;box-sizing:border-box;display:flex;gap:0.25rem;padding:0.1875rem;position:relative;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector__control.svelte-ptlds1 {background-color:transparent;border-width:0;color:inherit;font-family:inherit;outline:none;}.mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-inner-spin-button, .mc-quantity-selector__control[type=number].svelte-ptlds1::-webkit-outer-spin-button {appearance:none;margin:0;}.mc-quantity-selector__control[type=number].svelte-ptlds1 {
|
|
4
|
-
/* For Gecko rendering engine */appearance:textfield;}.mc-quantity-selector__control.svelte-ptlds1 {padding:0;font-size:inherit;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-m, 1.5);font-weight:var(--font-weight-semi-bold, 600);cursor:inherit;text-align:center;flex-grow:1;}.mc-quantity-selector__control.svelte-ptlds1::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-quantity-selector__button.svelte-ptlds1 {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;height:2.5rem;width:2.5rem;border-radius:var(--border-radius-full, 100%);color:var(--quantity-selector-color-button-text-default, #242938);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.mc-quantity-selector__button.svelte-ptlds1:disabled {color:var(--quantity-selector-color-button-text-disabled, #d9d9d9);cursor:not-allowed;}.mc-quantity-selector__button.svelte-ptlds1:hover:not(:disabled) {background-color:var(--quantity-selector-color-button-background-hover, rgba(255, 255, 255, 0.1));}.mc-quantity-selector__button--decrease.svelte-ptlds1 {order:-1;}.mc-quantity-selector__icon.svelte-ptlds1 {height:1.5rem;width:1.5rem;fill:currentcolor;}.mc-quantity-selector__label.svelte-ptlds1 {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-quantity-selector.svelte-ptlds1::after {transition:box-shadow 200ms ease;content:"";position:absolute;inset:-0.125rem var(--inset-x, 3rem);pointer-events:none;display:block;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) .mc-quantity-selector__button:where(.svelte-ptlds1):disabled {color:var(--forms-color-icon-disabled, #737373);}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) .mc-quantity-selector__control[readonly]:where(.svelte-ptlds1) {text-align:left;padding-left:0.5rem;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):focus)::after {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-quantity-selector--s.svelte-ptlds1 {--inset-x: 2rem;height:2rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__button:where(.svelte-ptlds1) {height:1.5rem;width:1.5rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__icon:where(.svelte-ptlds1) {height:1.25rem;width:1.25rem;}.mc-quantity-selector.is-invalid.svelte-ptlds1 {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-quantity-selector.is-invalid.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}.mc-quantity-selector.svelte-ptlds1 :where(.svelte-ptlds1) {box-sizing:border-box;}`};function
|
|
4
|
+
/* For Gecko rendering engine */appearance:textfield;}.mc-quantity-selector__control.svelte-ptlds1 {padding:0;font-size:inherit;font-size:var(--font-size-150, 1rem);line-height:var(--line-height-m, 1.5);font-weight:var(--font-weight-semi-bold, 600);cursor:inherit;text-align:center;flex-grow:1;}.mc-quantity-selector__control.svelte-ptlds1::placeholder {color:var(--forms-color-placeholder, #666666);}.mc-quantity-selector__button.svelte-ptlds1 {background-color:transparent;border-width:0;color:initial;font-family:inherit;outline:none;appearance:none;cursor:pointer;padding:0;height:2.5rem;width:2.5rem;border-radius:var(--border-radius-full, 100%);color:var(--quantity-selector-color-button-text-default, #242938);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}.mc-quantity-selector__button.svelte-ptlds1:disabled {color:var(--quantity-selector-color-button-text-disabled, #d9d9d9);cursor:not-allowed;}.mc-quantity-selector__button.svelte-ptlds1:hover:not(:disabled) {background-color:var(--quantity-selector-color-button-background-hover, rgba(255, 255, 255, 0.1));}.mc-quantity-selector__button--decrease.svelte-ptlds1 {order:-1;}.mc-quantity-selector__icon.svelte-ptlds1 {height:1.5rem;width:1.5rem;fill:currentcolor;}.mc-quantity-selector__label.svelte-ptlds1 {clip-path:inset(100%);clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;padding:0;width:1px;}.mc-quantity-selector.svelte-ptlds1::after {transition:box-shadow 200ms ease;content:"";position:absolute;inset:-0.125rem var(--inset-x, 3rem);pointer-events:none;display:block;border-radius:var(--border-radius-s, 0.25rem);}.mc-quantity-selector.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-hover, #4d4d4d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-hover, #4d4d4d);}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) {background-color:var(--forms-color-background-disabled, #d9d9d9);cursor:not-allowed;border-color:transparent;box-shadow:none;color:var(--forms-color-text-disabled, #737373);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):disabled) .mc-quantity-selector__button:where(.svelte-ptlds1):disabled {color:var(--forms-color-icon-disabled, #737373);}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) {border-color:var(--forms-color-border-read-only, #cccccc);pointer-events:none;}.mc-quantity-selector.svelte-ptlds1:has(input[readonly]:where(.svelte-ptlds1)) .mc-quantity-selector__control[readonly]:where(.svelte-ptlds1) {text-align:left;padding-left:0.5rem;}.mc-quantity-selector.svelte-ptlds1:has(input:where(.svelte-ptlds1):focus)::after {box-shadow:0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-mid, #ffffff)), 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-outer, #000000));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-quantity-selector--s.svelte-ptlds1 {--inset-x: 2rem;height:2rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__button:where(.svelte-ptlds1) {height:1.5rem;width:1.5rem;}.mc-quantity-selector--s.svelte-ptlds1 .mc-quantity-selector__icon:where(.svelte-ptlds1) {height:1.25rem;width:1.25rem;}.mc-quantity-selector.is-invalid.svelte-ptlds1 {border-color:var(--forms-color-border-invalid, #ea302d);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid, #ea302d);}.mc-quantity-selector.is-invalid.svelte-ptlds1:hover:not(:focus-within) {border-color:var(--forms-color-border-invalid-hover, #c61112);box-shadow:0 0 0 var(--border-width-s, 0.0625rem) var(--forms-color-border-invalid-hover, #c61112);}.mc-quantity-selector.svelte-ptlds1 :where(.svelte-ptlds1) {box-sizing:border-box;}`};function se(N,r){J(r,!0),K(N,oe);let d=o(r,"id",7),t=o(r,"value",15,1),l=o(r,"min",7,1),a=o(r,"max",7,100),b=o(r,"step",7,1),y=o(r,"size",7,"m"),u=o(r,"disabled",7),p=o(r,"isinvalid",7,!1),_=o(r,"name",7,"quantity-selector-input"),g=o(r,"readonly",7),q=o(r,"decrementlabel",7,"Decrement"),w=o(r,"incrementlabel",7,"Increment"),E=U(r,["$$slots","$$events","$$legacy","$$host","id","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel"]);const I=()=>{const e=Number(t());e>a()?t(a()):e<l()?t(l()):t(e)},j=()=>{const e=Number(t()),v=Number(b());e+v<=a()?t(e+v):t(a())},F=()=>{const e=Number(t()),v=Number(b());e-v>=l()?t(e-v):t(l())};var L={get id(){return d()},set id(e){d(e),s()},get value(){return t()},set value(e=1){t(e),s()},get min(){return l()},set min(e=1){l(e),s()},get max(){return a()},set max(e=100){a(e),s()},get step(){return b()},set step(e=1){b(e),s()},get size(){return y()},set size(e="m"){y(e),s()},get disabled(){return u()},set disabled(e){u(e),s()},get isinvalid(){return p()},set isinvalid(e=!1){p(e),s()},get name(){return _()},set name(e="quantity-selector-input"){_(e),s()},get readonly(){return g()},set readonly(e){g(e),s()},get decrementlabel(){return q()},set decrementlabel(e="Decrement"){q(e),s()},get incrementlabel(){return w()},set incrementlabel(e="Increment"){w(e),s()}},f=re(),x=n(f);Y(x,()=>({type:"number",id:d(),name:_(),oninput:I,class:"mc-quantity-selector__control","aria-valuemin":l(),"aria-valuemax":a(),"aria-valuenow":t(),"aria-invalid":`${p()}`,readonly:g(),disabled:u(),...E}),void 0,void 0,void 0,"svelte-ptlds1",!0);var c=h(x,2);c.__click=j;var k=n(c),M=n(k);ee(M,{}),i(k);var D=h(k,2),G=n(D,!0);i(D),i(c);var m=h(c,2);m.__click=F;var z=n(m),Q=n(z);te(Q,{}),i(z);var S=h(z,2),A=n(S,!0);return i(S),i(m),i(f),O(()=>{W(f,1,X(["mc-quantity-selector",`mc-quantity-selector--${y()}`,p()&&"is-invalid"]),"svelte-ptlds1"),B(c,"aria-controls",d()),c.disabled=t()===a()||u(),V(G,w()),B(m,"aria-controls",d()),m.disabled=t()===l()||u(),V(A,q())}),Z(x,t),P(N,f),R(L)}C(["click"]);customElements.define("m-quantityselector",H(se,{isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},readonly:{attribute:"readonly",reflect:!0,type:"Boolean"},id:{},value:{},min:{},max:{},step:{},size:{},name:{},decrementlabel:{},incrementlabel:{}},[],[],!0,$));
|
|
5
5
|
//# sourceMappingURL=QuantitySelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantitySelector.js","sources":["../../../src/components/quantityselector/QuantitySelector.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-quantityselector',\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n /**\n * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.\n */\n interface Props {\n /**\n * A unique identifier for the quantity selector element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the quantity selector element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the quantity selector field.\n */\n value?: number;\n /**\n * If `true`, applies an invalid state to the quantity selector.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the quantity selector, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the quantity selector.\n */\n size?: 's' | 'm';\n /**\n * Minimum acceptable value for the quantity selector.\n */\n min?: number;\n /**\n * Maximum acceptable value for the quantity selector.\n */\n max?: number;\n /**\n * Determines how much the value will change per click when the quantity is increased or decreased.\n */\n step?: number;\n /**\n * If `true`, the quantity selector is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * The label text for the increment button.\n */\n incrementlabel?: string;\n /**\n * The label text for the decrement button.\n */\n decrementlabel?: string;\n }\n\n let {\n id,\n value = $bindable(1),\n min = 1,\n max = 100,\n step = 1,\n size = 'm',\n disabled,\n isinvalid = false,\n name = 'quantity-selector-input',\n readonly,\n decrementlabel = 'Decrement',\n incrementlabel = 'Increment',\n }: Props = $props();\n\n const onValue = (): void => {\n const numericValue = Number(value);\n if (numericValue > max) {\n value = max;\n } else if (numericValue < min) {\n value = min;\n } else {\n value = numericValue;\n }\n };\n\n const onIncrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue + numericStep <= max) {\n value = numericValue + numericStep;\n } else {\n value = max;\n }\n };\n\n const onDecrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue - numericStep >= min) {\n value = numericValue - numericStep;\n } else {\n value = min;\n }\n };\n</script>\n\n<div class={['mc-quantity-selector', `mc-quantity-selector--${size}`, isinvalid && 'is-invalid']}>\n <input\n type=\"number\"\n {id}\n {name}\n bind:value\n oninput={onValue}\n class=\"mc-quantity-selector__control\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-invalid={`${isinvalid}`}\n {readonly}\n {disabled}\n />\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--increase\"\n tabindex=\"-1\"\n disabled={value === max || disabled}\n onclick={onIncrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <
|
|
1
|
+
{"version":3,"file":"QuantitySelector.js","sources":["../../../src/components/quantityselector/QuantitySelector.svelte"],"sourcesContent":["<svelte:options\n customElement={{\n tag: 'm-quantityselector',\n props: {\n isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\n readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },\n },\n extend: customElementForwardEvents,\n }}\n/>\n\n<script lang=\"ts\">\n import { customElementForwardEvents } from '../../utils';\n import { More24, Less24 } from '@mozaic-ds/icons-svelte';\n /**\n * A quantity selector is an input component that allows users to increment or decrement a numeric value, typically using plus (+) and minus (−) buttons. It provides a simple and efficient way to adjust quantities without manual typing, ensuring controlled input. This component is commonly used in e-commerce, inventory management, and settings where users need to specify amounts.\n */\n interface Props {\n [key: string]: any;\n /**\n * A unique identifier for the quantity selector element, used to associate the label with the form element.\n */\n id: string;\n /**\n * The name attribute for the quantity selector element, typically used for form submission.\n */\n name?: string;\n /**\n * The current value of the quantity selector field.\n */\n value?: number;\n /**\n * If `true`, applies an invalid state to the quantity selector.\n */\n isinvalid?: boolean;\n /**\n * If `true`, disables the quantity selector, making it non-interactive.\n */\n disabled?: boolean;\n /**\n * Determines the size of the quantity selector.\n */\n size?: 's' | 'm';\n /**\n * Minimum acceptable value for the quantity selector.\n */\n min?: number;\n /**\n * Maximum acceptable value for the quantity selector.\n */\n max?: number;\n /**\n * Determines how much the value will change per click when the quantity is increased or decreased.\n */\n step?: number;\n /**\n * If `true`, the quantity selector is read-only (cannot be edited).\n */\n readonly?: boolean;\n /**\n * The label text for the increment button.\n */\n incrementlabel?: string;\n /**\n * The label text for the decrement button.\n */\n decrementlabel?: string;\n }\n\n let {\n id,\n value = $bindable(1),\n min = 1,\n max = 100,\n step = 1,\n size = 'm',\n disabled,\n isinvalid = false,\n name = 'quantity-selector-input',\n readonly,\n decrementlabel = 'Decrement',\n incrementlabel = 'Increment',\n ...attrs\n }: Props = $props();\n\n const onValue = (): void => {\n const numericValue = Number(value);\n if (numericValue > max) {\n value = max;\n } else if (numericValue < min) {\n value = min;\n } else {\n value = numericValue;\n }\n };\n\n const onIncrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue + numericStep <= max) {\n value = numericValue + numericStep;\n } else {\n value = max;\n }\n };\n\n const onDecrement = (): void => {\n const numericValue = Number(value);\n const numericStep = Number(step);\n\n if (numericValue - numericStep >= min) {\n value = numericValue - numericStep;\n } else {\n value = min;\n }\n };\n</script>\n\n<div class={['mc-quantity-selector', `mc-quantity-selector--${size}`, isinvalid && 'is-invalid']}>\n <input\n type=\"number\"\n {id}\n {name}\n bind:value\n oninput={onValue}\n class=\"mc-quantity-selector__control\"\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={value}\n aria-invalid={`${isinvalid}`}\n {readonly}\n {disabled}\n {...attrs}\n />\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--increase\"\n tabindex=\"-1\"\n disabled={value === max || disabled}\n onclick={onIncrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <More24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{incrementlabel}</span>\n </button>\n <button\n type=\"button\"\n aria-controls={id}\n class=\"mc-quantity-selector__button mc-quantity-selector__button--decrease\"\n tabindex=\"-1\"\n disabled={value === min || disabled}\n onclick={onDecrement}\n >\n <span class=\"mc-quantity-selector__icon\">\n <Less24 />\n </span>\n <span class=\"mc-quantity-selector__label\">{decrementlabel}</span>\n </button>\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/quantity-selector';\n</style>\n"],"names":["id","$.prop","$$props","value","min","max","step","size","disabled","isinvalid","name","readonly","decrementlabel","incrementlabel","attrs","$.rest_props","onValue","numericValue","onIncrement","numericStep","onDecrement","div","root","input","$.child","button","$.sibling","span","More24","node","span_1","$.reset","button_1","span_2","Less24","node_1","span_3","$.set_attribute","$.bind_value","customElementForwardEvents"],"mappings":";;;svHAYA,qBA2DIA,EAAEC,EAAAC,EAAA,KAAA,CAAA,EACFC,iBAAkB,CAAC,EACnBC,cAAM,CAAC,EACPC,cAAM,GAAG,EACTC,eAAO,CAAC,EACRC,eAAO,GAAG,EACVC,EAAQP,EAAAC,EAAA,WAAA,CAAA,EACRO,oBAAY,EAAK,EACjBC,eAAO,yBAAyB,EAChCC,EAAQV,EAAAC,EAAA,WAAA,CAAA,EACRU,yBAAiB,WAAW,EAC5BC,yBAAiB,WAAW,EACzBC,EAAAC,EAAAb,EAAA,8JAGC,MAAAc,EAAO,IAAe,OACpBC,EAAe,OAAOd,GAAK,EAC7Bc,EAAeZ,IACjBF,EAAQE,EAAG,CAAA,EACFY,EAAeb,IACxBD,EAAQC,EAAG,CAAA,EAEXD,EAAQc,CAAY,CAExB,EAEMC,EAAW,IAAe,OACxBD,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAed,IAChCF,EAAQc,EAAeE,CAAW,EAElChB,EAAQE,EAAG,CAAA,CAEf,EAEMe,EAAW,IAAe,OACxBH,EAAe,OAAOd,GAAK,EAC3BgB,EAAc,OAAOb,GAAI,EAE3BW,EAAeE,GAAef,IAChCD,EAAQc,EAAeE,CAAW,EAElChB,EAAQC,EAAG,CAAA,CAEf,sFA7CoB,EAAC,2CACb,EAAC,2CACD,IAAG,6CACF,EAAC,6CACD,IAAG,4GAEE,GAAK,6CACV,0BAAyB,sHAEf,YAAW,iEACX,YAAW,YAsC/BiB,EAAGC,GAAA,EACDC,EAAAC,EADFH,CAAG,IACDE,yBAEEvB,EAAE,OACFU,EAAI,UAEIM,wDAEMZ,EAAG,kBACHC,EAAG,kBACHF,EAAK,oBACHM,EAAS,CAAA,YACzBE,EAAQ,WACRH,EAAQ,KACLM,iDAELW,EAAAC,EAfAH,EAAA,CAAA,EAeAE,EAMC,QAASP,EAER,IAAAS,EAAIH,EARNC,CAAA,MAQEE,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,IAAJA,CAAI,EAXNC,EAAAN,CAAA,MAaAO,EAAAN,EAbAD,EAAA,CAAA,EAaAO,EAMC,QAASZ,EAER,IAAAa,EAAIT,EARNQ,CAAA,MAQEC,CAAI,EACFC,GAAMC,EAAA,EAAA,IADRF,CAAI,EAGJ,IAAAG,IAHAH,EAAI,CAAA,MAGJG,EAAI,EAAA,WAAJA,CAAI,EAXNL,EAAAC,CAAA,IA7BFX,CAAG,WAAHA,OAAY,gDAAiDd,EAAI,CAAA,GAAIE,KAAa,gCAgBhF4B,EAAAZ,EAAA,gBAEgBzB,GAAE,EAFlByB,EAAA,SAKWtB,EAAK,IAAKE,EAAG,GAAIG,EAAQ,MAMQK,GAAc,EAE1DwB,EAAAL,EAAA,gBAEgBhC,GAAE,EAFlBgC,EAAA,SAKW7B,EAAK,IAAKC,EAAG,GAAII,EAAQ,MAMQI,GAAc,IAvC1D0B,EAAAf,EAAApB,CAAA,MADFkB,CAAG,MAFI,kVA9GIkB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QuantitySelector.stories.d.ts","sourceRoot":"","sources":["../../../src/components/quantityselector/QuantitySelector.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"QuantitySelector.stories.d.ts","sourceRoot":"","sources":["../../../src/components/quantityselector/QuantitySelector.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,2BAA2B,CAAC;AAEnC,QAAA,MAAM,IAAI,EAAE,IAkDX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,IAAI,EAAE,KAKlB,CAAC;AAEF,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,6 +1,7 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
2
|
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
3
3
|
import { action } from 'storybook/actions';
|
|
4
|
+
import './QuantitySelector.svelte';
|
|
4
5
|
const meta = {
|
|
5
6
|
title: 'Form Elements/Quantity Selector',
|
|
6
7
|
component: 'm-quantityselector',
|
|
@@ -26,13 +27,13 @@ const meta = {
|
|
|
26
27
|
id=${ifDefined(args.id)}
|
|
27
28
|
name=${ifDefined(args.name)}
|
|
28
29
|
value=${ifDefined(args.value)}
|
|
29
|
-
isinvalid=${
|
|
30
|
-
disabled=${
|
|
30
|
+
?isinvalid=${args.isinvalid}
|
|
31
|
+
?disabled=${args.disabled}
|
|
31
32
|
size=${ifDefined(args.size)}
|
|
32
33
|
min=${ifDefined(args.min)}
|
|
33
34
|
max=${ifDefined(args.max)}
|
|
34
35
|
step=${ifDefined(args.step)}
|
|
35
|
-
readonly=${
|
|
36
|
+
?readonly=${args.readonly}
|
|
36
37
|
incrementlabel=${ifDefined(args.incrementlabel)}
|
|
37
38
|
decrementlabel=${ifDefined(args.decrementlabel)}
|
|
38
39
|
@input=${(event) => {
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
<svelte:options
|
|
2
2
|
customElement={{
|
|
3
3
|
tag: 'm-quantityselector',
|
|
4
|
+
props: {
|
|
5
|
+
isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
|
|
6
|
+
disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
|
|
7
|
+
readonly: { reflect: true, type: 'Boolean', attribute: 'readonly' },
|
|
8
|
+
},
|
|
4
9
|
extend: customElementForwardEvents,
|
|
5
10
|
}}
|
|
6
11
|
/>
|
|
7
12
|
|
|
8
13
|
<script lang="ts">
|
|
9
14
|
import { customElementForwardEvents } from '../../utils';
|
|
15
|
+
import { More24, Less24 } from '@mozaic-ds/icons-svelte';
|
|
10
16
|
/**
|
|
11
17
|
* 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.
|
|
12
18
|
*/
|
|
13
19
|
interface Props {
|
|
20
|
+
[key: string]: any;
|
|
14
21
|
/**
|
|
15
22
|
* A unique identifier for the quantity selector element, used to associate the label with the form element.
|
|
16
23
|
*/
|
|
@@ -74,6 +81,7 @@
|
|
|
74
81
|
readonly,
|
|
75
82
|
decrementlabel = 'Decrement',
|
|
76
83
|
incrementlabel = 'Increment',
|
|
84
|
+
...attrs
|
|
77
85
|
}: Props = $props();
|
|
78
86
|
|
|
79
87
|
const onValue = (): void => {
|
|
@@ -124,6 +132,7 @@
|
|
|
124
132
|
aria-invalid={`${isinvalid}`}
|
|
125
133
|
{readonly}
|
|
126
134
|
{disabled}
|
|
135
|
+
{...attrs}
|
|
127
136
|
/>
|
|
128
137
|
<button
|
|
129
138
|
type="button"
|
|
@@ -134,7 +143,7 @@
|
|
|
134
143
|
onclick={onIncrement}
|
|
135
144
|
>
|
|
136
145
|
<span class="mc-quantity-selector__icon">
|
|
137
|
-
<
|
|
146
|
+
<More24 />
|
|
138
147
|
</span>
|
|
139
148
|
<span class="mc-quantity-selector__label">{incrementlabel}</span>
|
|
140
149
|
</button>
|
|
@@ -147,7 +156,7 @@
|
|
|
147
156
|
onclick={onDecrement}
|
|
148
157
|
>
|
|
149
158
|
<span class="mc-quantity-selector__icon">
|
|
150
|
-
<
|
|
159
|
+
<Less24 />
|
|
151
160
|
</span>
|
|
152
161
|
<span class="mc-quantity-selector__label">{decrementlabel}</span>
|
|
153
162
|
</button>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
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
3
|
*/
|
|
4
4
|
interface Props {
|
|
5
|
+
[key: string]: any;
|
|
5
6
|
/**
|
|
6
7
|
* A unique identifier for the quantity selector element, used to associate the label with the form element.
|
|
7
8
|
*/
|
|
@@ -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":"AAME;;GAEG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;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;AAsFH,QAAA,MAAM,gBAAgB,gDAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as w,p as k,a as g,b as
|
|
1
|
+
import{c as w,p as k,a as g,b as o,s as q,t as y,f as x,g as B,h as E,i as z,d as v,j as a,r as f,e as j}from"../../custom-element.js";import{a as D,s as F}from"../../attributes.js";import{c as R}from"../../custom-element-forward-events.js";var S=E('<div class="mc-radio svelte-1bwbq3n"><input/> <label class="mc-radio__label svelte-1bwbq3n"> </label></div>');const A={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-width-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(--border-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-width-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(--border-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 C(u,r){k(r,!0),g(u,A);let t=o(r,"id",7),i=o(r,"name",7),d=o(r,"label",7),l=o(r,"checked",15,!1),s=o(r,"disabled",7),n=o(r,"isinvalid",7),h=z(r,["$$slots","$$events","$$legacy","$$host","id","name","label","checked","disabled","isinvalid"]);var _={get id(){return t()},set id(e){t(e),a()},get name(){return i()},set name(e){i(e),a()},get label(){return d()},set label(e){d(e),a()},get checked(){return l()},set checked(e=!1){l(e),a()},get disabled(){return s()},set disabled(e){s(e),a()},get isinvalid(){return n()},set isinvalid(e){n(e),a()}},c=S(),m=v(c);D(m,()=>({id:t(),type:"radio",class:["mc-radio__input",n()&&"is-invalid"],name:i(),disabled:s(),checked:l(),...h}),void 0,void 0,void 0,"svelte-1bwbq3n",!0);var b=q(m,2),p=v(b,!0);return f(b),f(c),y(()=>{F(b,"for",t()),j(p,d())}),x(u,c),B(_)}customElements.define("m-radio",w(C,{checked:{attribute:"checked",reflect:!0,type:"Boolean"},isinvalid:{attribute:"isinvalid",reflect:!0,type:"Boolean"},disabled:{attribute:"disabled",reflect:!0,type:"Boolean"},id:{},name:{},label:{}},[],[],!0,R));
|
|
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 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 {
|
|
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 isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },\n disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },\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 [key: string]: any;\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 ...attrs\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 {...attrs}\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","attrs","$.rest_props","div","root","input","$.child","label_1","$.sibling","$.set_attribute","customElementForwardEvents"],"mappings":";;sxEAYA,oBAkCIA,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,EACNM,EAAAC,EAAAP,EAAA,qRAHiB,GAAK,wHAO5BQ,EAAGC,EAAA,EACDC,EAAAC,EADFH,CAAG,IACDE,WACEZ,EAAE,sBAEK,kBAAmBO,EAAS,GAAI,YAAY,OACnDJ,EAAI,WACJG,EAAQ,UACRD,EAAO,KACJG,8CAEL,IAAAM,EAAKC,EATLH,EAAA,CAAA,MASAE,EAAK,EAAA,WAALA,CAAK,IAVPJ,CAAG,SAUDM,EAAAF,QAAWd,GAAE,MAA2BI,GAAK,QAV/CM,CAAG,MAFI,qPA9CIO"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.stories.d.ts","sourceRoot":"","sources":["../../../src/components/radio/Radio.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"Radio.stories.d.ts","sourceRoot":"","sources":["../../../src/components/radio/Radio.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAIrE,OAAO,gBAAgB,CAAC;AAExB,QAAA,MAAM,IAAI,EAAE,IAgCX,CAAC;AACF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAM7B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { html } from 'lit';
|
|
2
2
|
import { ifDefined } from 'lit-html/directives/if-defined.js';
|
|
3
3
|
import { action } from 'storybook/actions';
|
|
4
|
+
import './Radio.svelte';
|
|
4
5
|
const meta = {
|
|
5
6
|
title: 'Form Elements/Radio',
|
|
6
7
|
component: 'm-radio',
|
|
@@ -17,9 +18,9 @@ const meta = {
|
|
|
17
18
|
id=${ifDefined(args.id)}
|
|
18
19
|
name=${ifDefined(args.name)}
|
|
19
20
|
label=${ifDefined(args.label)}
|
|
20
|
-
checked=${
|
|
21
|
-
isinvalid=${
|
|
22
|
-
disabled=${
|
|
21
|
+
?checked=${args.checked}
|
|
22
|
+
?isinvalid=${args.isinvalid}
|
|
23
|
+
?disabled=${args.disabled}
|
|
23
24
|
@change=${(event) => {
|
|
24
25
|
onChange(event);
|
|
25
26
|
}}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
tag: 'm-radio',
|
|
4
4
|
props: {
|
|
5
5
|
checked: { reflect: true, type: 'Boolean', attribute: 'checked' },
|
|
6
|
+
isinvalid: { reflect: true, type: 'Boolean', attribute: 'isinvalid' },
|
|
7
|
+
disabled: { reflect: true, type: 'Boolean', attribute: 'disabled' },
|
|
6
8
|
},
|
|
7
9
|
extend: customElementForwardEvents,
|
|
8
10
|
}}
|
|
@@ -14,6 +16,7 @@
|
|
|
14
16
|
* 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.
|
|
15
17
|
*/
|
|
16
18
|
interface Props {
|
|
19
|
+
[key: string]: any;
|
|
17
20
|
/**
|
|
18
21
|
* A unique identifier for the radio, used to associate the label with the form element.
|
|
19
22
|
*/
|
|
@@ -40,7 +43,15 @@
|
|
|
40
43
|
disabled?: boolean;
|
|
41
44
|
}
|
|
42
45
|
|
|
43
|
-
let {
|
|
46
|
+
let {
|
|
47
|
+
id,
|
|
48
|
+
name,
|
|
49
|
+
label,
|
|
50
|
+
checked = $bindable(false),
|
|
51
|
+
disabled,
|
|
52
|
+
isinvalid,
|
|
53
|
+
...attrs
|
|
54
|
+
}: Props = $props();
|
|
44
55
|
</script>
|
|
45
56
|
|
|
46
57
|
<div class="mc-radio">
|
|
@@ -51,6 +62,7 @@
|
|
|
51
62
|
{name}
|
|
52
63
|
{disabled}
|
|
53
64
|
{checked}
|
|
65
|
+
{...attrs}
|
|
54
66
|
/>
|
|
55
67
|
<label for={id} class="mc-radio__label">{label}</label>
|
|
56
68
|
</div>
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* 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.
|
|
3
3
|
*/
|
|
4
4
|
interface Props {
|
|
5
|
+
[key: string]: any;
|
|
5
6
|
/**
|
|
6
7
|
* A unique identifier for the radio, used to associate the label with the form element.
|
|
7
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/radio/Radio.svelte.ts"],"names":[],"mappings":"AAKE;;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,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"Radio.svelte.d.ts","sourceRoot":"","sources":["../../../src/components/radio/Radio.svelte.ts"],"names":[],"mappings":"AAKE;;GAEG;AACH,UAAU,KAAK;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;IACnB;;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,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAmCH,QAAA,MAAM,KAAK,kDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
|