@mozaic-ds/web-components 1.3.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 +8 -0
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +8 -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 +1 -1
- package/dist/components/avatar/Avatar.stories.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.stories.js +2 -2
- package/dist/components/avatar/Avatar.svelte +13 -3
- 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.svelte +1 -0
- 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 +13 -2
- package/dist/components/button/Button.stories.d.ts.map +1 -1
- package/dist/components/button/Button.stories.js +145 -7
- package/dist/components/button/Button.svelte +44 -16
- package/dist/components/button/Button.svelte.d.ts +10 -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 +2 -2
- package/dist/components/callout/Callout.stories.d.ts.map +1 -1
- package/dist/components/callout/Callout.stories.js +2 -2
- package/dist/components/callout/Callout.svelte +39 -4
- 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 +2 -2
- package/dist/components/carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/Carousel.stories.d.ts.map +1 -1
- package/dist/components/carousel/Carousel.stories.js +1 -0
- package/dist/components/carousel/Carousel.svelte +30 -6
- package/dist/components/carousel/Carousel.svelte.d.ts +10 -0
- package/dist/components/carousel/Carousel.svelte.d.ts.map +1 -1
- package/dist/components/carousel/README.md +3 -1
- package/dist/components/checkbox/Checkbox.js +2 -2
- package/dist/components/checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox/Checkbox.stories.js +5 -5
- package/dist/components/checkbox/Checkbox.svelte +5 -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 +2 -2
- package/dist/components/checkboxgroup/CheckboxGroup.js.map +1 -1
- package/dist/components/checkboxgroup/CheckboxGroup.stories.js +2 -2
- package/dist/components/checkboxgroup/CheckboxGroup.svelte +3 -0
- 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.svelte +1 -0
- package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +1 -0
- package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/components/container/Container.stories.js +1 -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 +2 -2
- package/dist/components/datepicker/Datepicker.js.map +1 -1
- package/dist/components/datepicker/Datepicker.stories.d.ts.map +1 -1
- package/dist/components/datepicker/Datepicker.stories.js +5 -4
- package/dist/components/datepicker/Datepicker.svelte +15 -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.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.js +3 -3
- package/dist/components/drawer/Drawer.svelte +35 -7
- 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.js +3 -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.svelte +1 -0
- 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 +13 -7
- package/dist/components/iconbutton/IconButton.stories.d.ts.map +1 -1
- package/dist/components/iconbutton/IconButton.stories.js +113 -10
- package/dist/components/iconbutton/IconButton.svelte +35 -2
- package/dist/components/iconbutton/IconButton.svelte.d.ts +10 -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.map +1 -1
- package/dist/components/kpiitem/KpiItem.stories.js +1 -0
- package/dist/components/kpiitem/KpiItem.svelte +2 -3
- 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.svelte +1 -0
- 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.svelte +1 -0
- 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 +2 -2
- package/dist/components/link/Link.stories.d.ts.map +1 -1
- package/dist/components/link/Link.stories.js +5 -5
- package/dist/components/link/Link.svelte +38 -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.svelte +1 -0
- 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.js +1 -1
- package/dist/components/loadingoverlay/LoadingOverlay.svelte +9 -1
- 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 +2 -2
- package/dist/components/modal/Modal.stories.d.ts.map +1 -1
- package/dist/components/modal/Modal.stories.js +4 -4
- package/dist/components/modal/Modal.svelte +62 -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.svelte +1 -0
- 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.js +1 -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.js +1 -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 +2 -2
- package/dist/components/passwordinput/PasswordInput.js.map +1 -1
- package/dist/components/passwordinput/PasswordInput.stories.js +4 -4
- package/dist/components/passwordinput/PasswordInput.svelte +7 -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 +6 -6
- package/dist/components/phonenumber/PhoneNumber.js.map +1 -1
- package/dist/components/phonenumber/PhoneNumber.stories.d.ts.map +1 -1
- package/dist/components/phonenumber/PhoneNumber.stories.js +10 -4
- package/dist/components/phonenumber/PhoneNumber.svelte +13 -4
- package/dist/components/phonenumber/PhoneNumber.svelte.d.ts +1 -0
- package/dist/components/phonenumber/PhoneNumber.svelte.d.ts.map +1 -1
- package/dist/components/pincode/Pincode.js +2 -2
- package/dist/components/pincode/Pincode.js.map +1 -1
- package/dist/components/pincode/Pincode.stories.js +3 -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.js +3 -3
- package/dist/components/quantityselector/QuantitySelector.svelte +7 -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.js +3 -3
- package/dist/components/radio/Radio.svelte +3 -0
- 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.js +2 -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.map +1 -1
- package/dist/components/segmentedcontrol/SegmentedControl.stories.js +2 -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.js +3 -3
- package/dist/components/select/Select.svelte +4 -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/StarRating.js +2 -2
- package/dist/components/starrating/StarRating.js.map +1 -1
- package/dist/components/starrating/StarRating.stories.d.ts +1 -0
- package/dist/components/starrating/StarRating.stories.d.ts.map +1 -1
- package/dist/components/starrating/StarRating.stories.js +3 -2
- package/dist/components/starrating/StarRating.svelte +6 -3
- package/dist/components/starrating/StarRating.svelte.d.ts +1 -0
- package/dist/components/starrating/StarRating.svelte.d.ts.map +1 -1
- package/dist/components/statusbadge/StatusBadge.js +2 -2
- package/dist/components/statusbadge/StatusBadge.js.map +1 -1
- package/dist/components/statusbadge/StatusBadge.svelte +1 -0
- 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.svelte +1 -0
- 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.svelte +10 -7
- 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 +1 -1
- package/dist/components/statusnotification/StatusNotification.stories.d.ts.map +1 -1
- package/dist/components/statusnotification/StatusNotification.stories.js +2 -2
- package/dist/components/statusnotification/StatusNotification.svelte +34 -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/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 +49 -16
- package/dist/components/tab/Tab.svelte.d.ts +10 -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 +1 -1
- package/dist/components/tabs/Tabs.stories.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.stories.js +3 -3
- 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.js +2 -2
- package/dist/components/tag/Tag.svelte +31 -9
- 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.js +3 -3
- package/dist/components/textarea/Textarea.svelte +12 -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.js +4 -4
- package/dist/components/textinput/Textinput.svelte +24 -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.js +1 -1
- package/dist/components/toaster/Toaster.svelte +32 -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.js +2 -2
- package/dist/components/toggle/Toggle.svelte +2 -0
- 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.js +1 -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.js +1 -1
- package/dist/components/tooltip/Tooltip.svelte +20 -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 +8 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +8 -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 -23
- 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/Less24.js +0 -2
- package/dist/Less24.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 @@
|
|
|
1
|
+
{"version":3,"file":"accordion-list.state.svelte.js","sources":["../src/components/accordionlist/accordion-list.state.svelte.ts"],"sourcesContent":["export const accordion = $state<{ openIds: string[] }>({\n openIds: [],\n});\n\nexport function update(value: string[]) {\n accordion.openIds = [...value];\n}\n"],"names":["accordion","update","value"],"mappings":"wCAAa,MAAAA,KACX,sBAGcC,EAAOC,EAAiB,CACtCF,EAAU,QAAA,CAAA,GAAcE,CAAK,CAC/B"}
|
package/dist/attributes.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{U as G,G as q,J as H,V as $,W as F,M as p,X as J,Y as X,Z as Q,_ as m,$ as x,D as C,a0 as ee,a1 as ae,q as re,a2 as se,o as te,n as ie,a3 as ue,a4 as fe,u as le,a5 as oe,a6 as ce,a7 as ne,a8 as ve,a9 as _e,aa as de,ab as be,ac as he,ad as ye,ae as Ae,T as Y}from"./custom-element.js";function ge(e,r){var a=void 0,s;G(()=>{a!==(a=r())&&(s&&(q(s),s=null),a&&(s=H(()=>{$(()=>a(e))})))})}function P(e,r={},a,s){for(var t in a){var f=a[t];r[t]!==f&&(a[t]==null?e.style.removeProperty(t):e.style.setProperty(t,f,s))}}function pe(e,r,a,s){var t=e.__style;if(p||t!==r){var f=F(r,s);(!p||f!==e.getAttribute("style"))&&(f==null?e.removeAttribute("style"):e.style.cssText=f),e.__style=r}else s&&(Array.isArray(s)?(P(e,a?.[0],s[0]),P(e,a?.[1],s[1],"important")):P(e,a,s));return s}function L(e,r,a=!1){if(e.multiple){if(r==null)return;if(!J(r))return X();for(var s of e.options)s.selected=r.includes(w(s));return}for(s of e.options){var t=w(s);if(Q(t,r)){s.selected=!0;return}}(!a||r!==void 0)&&(e.selectedIndex=-1)}function j(e){var r=new MutationObserver(()=>{L(e,e.__value)});r.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),m(()=>{r.disconnect()})}function ke(e,r,a=r){var s=new WeakSet,t=!0;x(e,"change",f=>{var _=f?"[selected]":":checked",d;if(e.multiple)d=[].map.call(e.querySelectorAll(_),w);else{var b=e.querySelector(_)??e.querySelector("option:not([disabled])");d=b&&w(b)}a(d),C!==null&&s.add(C)}),$(()=>{var f=r();if(e===document.activeElement){var _=ee??C;if(s.has(_))return}if(L(e,f,t),t&&f===void 0){var d=e.querySelector(":checked");d!==null&&(f=w(d),a(f))}e.__value=f,t=!1}),j(e)}function w(e){return"__value"in e?e.__value:e.value}const E=Symbol("class"),k=Symbol("style"),B=Symbol("is custom element"),K=Symbol("is html");function Se(e){if(p){var r=!1,a=()=>{if(!r){if(r=!0,e.hasAttribute("value")){var s=e.value;O(e,"value",null),e.value=s}if(e.hasAttribute("checked")){var t=e.checked;O(e,"checked",null),e.checked=t}}};e.__on_r=a,ye(a),Ae()}}function we(e,r){var a=U(e);a.value===(a.value=r??void 0)||e.value===r&&(r!==0||e.nodeName!=="PROGRESS")||(e.value=r??"")}function Ne(e,r){r?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function O(e,r,a,s){var t=U(e);p&&(t[r]=e.getAttribute(r),r==="src"||r==="srcset"||r==="href"&&e.nodeName==="LINK")||t[r]!==(t[r]=a)&&(r==="loading"&&(e[de]=a),a==null?e.removeAttribute(r):typeof a!="string"&&W(e).includes(r)?e[r]=a:e.setAttribute(r,a))}function Te(e,r,a,s,t=!1,f=!1){if(p&&t&&e.tagName==="INPUT"){var _=e,d=_.type==="checkbox"?"defaultChecked":"defaultValue";d in a||Se(_)}var b=U(e),h=b[B],A=!b[K];let S=p&&h;S&&Y(!1);var l=r||{},N=e.tagName==="OPTION";for(var y in r)y in a||(a[y]=null);a.class?a.class=te(a.class):(s||a[E])&&(a.class=null),a[k]&&(a.style??=null);var I=W(e);for(const i in a){let u=a[i];if(N&&i==="value"&&u==null){e.value=e.__value="",l[i]=u;continue}if(i==="class"){var T=e.namespaceURI==="http://www.w3.org/1999/xhtml";ie(e,T,u,s,r?.[E],a[E]),l[i]=u,l[E]=a[E];continue}if(i==="style"){pe(e,u,r?.[k],a[k]),l[i]=u,l[k]=a[k];continue}var n=l[i];if(!(u===n&&!(u===void 0&&e.hasAttribute(i)))){l[i]=u;var R=i[0]+i[1];if(R!=="$$")if(R==="on"){const v={},g="$$"+i;let o=i.slice(2);var M=be(o);if(ue(o)&&(o=o.slice(0,-7),v.capture=!0),!M&&n){if(u!=null)continue;e.removeEventListener(o,l[g],v),l[g]=null}if(u!=null)if(M)e[`__${o}`]=u,le([o]);else{let Z=function(z){l[i].call(this,z)};l[g]=fe(o,e,Z,v)}else M&&(e[`__${o}`]=void 0)}else if(i==="style")O(e,i,u);else if(i==="autofocus")oe(e,!!u);else if(!h&&(i==="__value"||i==="value"&&u!=null))e.value=e.__value=u;else if(i==="selected"&&N)Ne(e,u);else{var c=i;A||(c=ce(c));var V=c==="defaultValue"||c==="defaultChecked";if(u==null&&!h&&!V)if(b[i]=null,c==="value"||c==="checked"){let v=e;const g=r===void 0;if(c==="value"){let o=v.defaultValue;v.removeAttribute(c),v.defaultValue=o,v.value=v.__value=g?o:null}else{let o=v.defaultChecked;v.removeAttribute(c),v.defaultChecked=o,v.checked=g?o:!1}}else e.removeAttribute(i);else V||I.includes(c)&&(h||typeof u!="string")?(e[c]=u,c in b&&(b[c]=ne)):typeof u!="function"&&O(e,c,u)}}}return S&&Y(!0),l}function Ie(e,r,a=[],s=[],t=[],f,_=!1,d=!1){ae(t,a,s,b=>{var h=void 0,A={},S=e.nodeName==="SELECT",l=!1;if(G(()=>{var y=r(...b.map(re)),I=Te(e,h,y,f,_,d);l&&S&&"value"in y&&L(e,y.value);for(let n of Object.getOwnPropertySymbols(A))y[n]||q(A[n]);for(let n of Object.getOwnPropertySymbols(y)){var T=y[n];n.description===se&&(!h||T!==h[n])&&(A[n]&&q(A[n]),A[n]=H(()=>ge(e,()=>T))),I[n]=T}h=I}),S){var N=e;$(()=>{L(N,h.value,!0),j(N)})}l=!0})}function U(e){return e.__attributes??={[B]:e.nodeName.includes("-"),[K]:e.namespaceURI===ve}}var D=new Map;function W(e){var r=e.getAttribute("is")||e.nodeName,a=D.get(r);if(a)return a;D.set(r,a=[]);for(var s,t=e,f=Element.prototype;f!==t;){s=he(t);for(var _ in s)s[_].set&&a.push(_);t=_e(t)}return a}export{Ie as a,pe as b,ke as c,we as d,Ne as e,Se as r,O as s};
|
|
2
2
|
//# sourceMappingURL=attributes.js.map
|
package/dist/attributes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attributes.js","sources":["../node_modules/svelte/src/internal/client/dom/elements/attachments.js","../node_modules/svelte/src/internal/client/dom/elements/style.js","../node_modules/svelte/src/internal/client/dom/elements/bindings/select.js","../node_modules/svelte/src/internal/client/dom/elements/attributes.js"],"sourcesContent":["/** @import { Effect } from '#client' */\nimport { block, branch, effect, destroy_effect } from '../../reactivity/effects.js';\n\n// TODO in 6.0 or 7.0, when we remove legacy mode, we can simplify this by\n// getting rid of the block/branch stuff and just letting the effect rip.\n// see https://github.com/sveltejs/svelte/pull/15962\n\n/**\n * @param {Element} node\n * @param {() => (node: Element) => void} get_fn\n */\nexport function attach(node, get_fn) {\n\t/** @type {false | undefined | ((node: Element) => void)} */\n\tvar fn = undefined;\n\n\t/** @type {Effect | null} */\n\tvar e;\n\n\tblock(() => {\n\t\tif (fn !== (fn = get_fn())) {\n\t\t\tif (e) {\n\t\t\t\tdestroy_effect(e);\n\t\t\t\te = null;\n\t\t\t}\n\n\t\t\tif (fn) {\n\t\t\t\te = branch(() => {\n\t\t\t\t\teffect(() => /** @type {(node: Element) => void} */ (fn)(node));\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}\n","import { to_style } from '../../../shared/attributes.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {Record<string, any>} prev\n * @param {Record<string, any>} next\n * @param {string} [priority]\n */\nfunction update_styles(dom, prev = {}, next, priority) {\n\tfor (var key in next) {\n\t\tvar value = next[key];\n\n\t\tif (prev[key] !== value) {\n\t\t\tif (next[key] == null) {\n\t\t\t\tdom.style.removeProperty(key);\n\t\t\t} else {\n\t\t\t\tdom.style.setProperty(key, value, priority);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {string | null} value\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [prev_styles]\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [next_styles]\n */\nexport function set_style(dom, value, prev_styles, next_styles) {\n\t// @ts-expect-error\n\tvar prev = dom.__style;\n\n\tif (hydrating || prev !== value) {\n\t\tvar next_style_attr = to_style(value, next_styles);\n\n\t\tif (!hydrating || next_style_attr !== dom.getAttribute('style')) {\n\t\t\tif (next_style_attr == null) {\n\t\t\t\tdom.removeAttribute('style');\n\t\t\t} else {\n\t\t\t\tdom.style.cssText = next_style_attr;\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error\n\t\tdom.__style = value;\n\t} else if (next_styles) {\n\t\tif (Array.isArray(next_styles)) {\n\t\t\tupdate_styles(dom, prev_styles?.[0], next_styles[0]);\n\t\t\tupdate_styles(dom, prev_styles?.[1], next_styles[1], 'important');\n\t\t} else {\n\t\t\tupdate_styles(dom, prev_styles, next_styles);\n\t\t}\n\t}\n\n\treturn next_styles;\n}\n","import { effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport { is } from '../../../proxy.js';\nimport { is_array } from '../../../../shared/utils.js';\nimport * as w from '../../../warnings.js';\nimport { Batch, current_batch, previous_batch } from '../../../reactivity/batch.js';\n\n/**\n * Selects the correct option(s) (depending on whether this is a multiple select)\n * @template V\n * @param {HTMLSelectElement} select\n * @param {V} value\n * @param {boolean} mounting\n */\nexport function select_option(select, value, mounting = false) {\n\tif (select.multiple) {\n\t\t// If value is null or undefined, keep the selection as is\n\t\tif (value == undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If not an array, warn and keep the selection as is\n\t\tif (!is_array(value)) {\n\t\t\treturn w.select_multiple_invalid_value();\n\t\t}\n\n\t\t// Otherwise, update the selection\n\t\tfor (var option of select.options) {\n\t\t\toption.selected = value.includes(get_option_value(option));\n\t\t}\n\n\t\treturn;\n\t}\n\n\tfor (option of select.options) {\n\t\tvar option_value = get_option_value(option);\n\t\tif (is(option_value, value)) {\n\t\t\toption.selected = true;\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (!mounting || value !== undefined) {\n\t\tselect.selectedIndex = -1; // no option should be selected\n\t}\n}\n\n/**\n * Selects the correct option(s) if `value` is given,\n * and then sets up a mutation observer to sync the\n * current selection to the dom when it changes. Such\n * changes could for example occur when options are\n * inside an `#each` block.\n * @param {HTMLSelectElement} select\n */\nexport function init_select(select) {\n\tvar observer = new MutationObserver(() => {\n\t\t// @ts-ignore\n\t\tselect_option(select, select.__value);\n\t\t// Deliberately don't update the potential binding value,\n\t\t// the model should be preserved unless explicitly changed\n\t});\n\n\tobserver.observe(select, {\n\t\t// Listen to option element changes\n\t\tchildList: true,\n\t\tsubtree: true, // because of <optgroup>\n\t\t// Listen to option element value attribute changes\n\t\t// (doesn't get notified of select value changes,\n\t\t// because that property is not reflected as an attribute)\n\t\tattributes: true,\n\t\tattributeFilter: ['value']\n\t});\n\n\tteardown(() => {\n\t\tobserver.disconnect();\n\t});\n}\n\n/**\n * @param {HTMLSelectElement} select\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_select_value(select, get, set = get) {\n\tvar batches = new WeakSet();\n\tvar mounting = true;\n\n\tlisten_to_event_and_reset_event(select, 'change', (is_reset) => {\n\t\tvar query = is_reset ? '[selected]' : ':checked';\n\t\t/** @type {unknown} */\n\t\tvar value;\n\n\t\tif (select.multiple) {\n\t\t\tvalue = [].map.call(select.querySelectorAll(query), get_option_value);\n\t\t} else {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option =\n\t\t\t\tselect.querySelector(query) ??\n\t\t\t\t// will fall back to first non-disabled option if no option is selected\n\t\t\t\tselect.querySelector('option:not([disabled])');\n\t\t\tvalue = selected_option && get_option_value(selected_option);\n\t\t}\n\n\t\tset(value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\t});\n\n\t// Needs to be an effect, not a render_effect, so that in case of each loops the logic runs after the each block has updated\n\teffect(() => {\n\t\tvar value = get();\n\n\t\tif (select === document.activeElement) {\n\t\t\t// we need both, because in non-async mode, render effects run before previous_batch is set\n\t\t\tvar batch = /** @type {Batch} */ (previous_batch ?? current_batch);\n\n\t\t\t// Don't update the <select> if it is focused. We can get here if, for example,\n\t\t\t// an update is deferred because of async work depending on the select:\n\t\t\t//\n\t\t\t// <select bind:value={selected}>...</select>\n\t\t\t// <p>{await find(selected)}</p>\n\t\t\tif (batches.has(batch)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tselect_option(select, value, mounting);\n\n\t\t// Mounting and value undefined -> take selection from dom\n\t\tif (mounting && value === undefined) {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option = select.querySelector(':checked');\n\t\t\tif (selected_option !== null) {\n\t\t\t\tvalue = get_option_value(selected_option);\n\t\t\t\tset(value);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\tselect.__value = value;\n\t\tmounting = false;\n\t});\n\n\tinit_select(select);\n}\n\n/** @param {HTMLOptionElement} option */\nfunction get_option_value(option) {\n\t// __value only exists if the <option> has a value attribute\n\tif ('__value' in option) {\n\t\treturn option.__value;\n\t} else {\n\t\treturn option.value;\n\t}\n}\n","/** @import { Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport { hydrating, set_hydrating } from '../hydration.js';\nimport { get_descriptors, get_prototype_of } from '../../../shared/utils.js';\nimport { create_event, delegate } from './events.js';\nimport { add_form_reset_listener, autofocus } from './misc.js';\nimport * as w from '../../warnings.js';\nimport { LOADING_ATTR_SYMBOL } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { is_capture_event, can_delegate_event, normalize_attribute } from '../../../../utils.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { attach } from './attachments.js';\nimport { clsx } from '../../../shared/attributes.js';\nimport { set_class } from './class.js';\nimport { set_style } from './style.js';\nimport { ATTACHMENT_KEY, NAMESPACE_HTML, UNINITIALIZED } from '../../../../constants.js';\nimport { block, branch, destroy_effect, effect } from '../../reactivity/effects.js';\nimport { init_select, select_option } from './bindings/select.js';\nimport { flatten } from '../../reactivity/async.js';\n\nexport const CLASS = Symbol('class');\nexport const STYLE = Symbol('style');\n\nconst IS_CUSTOM_ELEMENT = Symbol('is custom element');\nconst IS_HTML = Symbol('is html');\n\n/**\n * The value/checked attribute in the template actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLInputElement} input\n * @returns {void}\n */\nexport function remove_input_defaults(input) {\n\tif (!hydrating) return;\n\n\tvar already_removed = false;\n\n\t// We try and remove the default attributes later, rather than sync during hydration.\n\t// Doing it sync during hydration has a negative impact on performance, but deferring the\n\t// work in an idle task alleviates this greatly. If a form reset event comes in before\n\t// the idle callback, then we ensure the input defaults are cleared just before.\n\tvar remove_defaults = () => {\n\t\tif (already_removed) return;\n\t\talready_removed = true;\n\n\t\t// Remove the attributes but preserve the values\n\t\tif (input.hasAttribute('value')) {\n\t\t\tvar value = input.value;\n\t\t\tset_attribute(input, 'value', null);\n\t\t\tinput.value = value;\n\t\t}\n\n\t\tif (input.hasAttribute('checked')) {\n\t\t\tvar checked = input.checked;\n\t\t\tset_attribute(input, 'checked', null);\n\t\t\tinput.checked = checked;\n\t\t}\n\t};\n\n\t// @ts-expect-error\n\tinput.__on_r = remove_defaults;\n\tqueue_micro_task(remove_defaults);\n\tadd_form_reset_listener();\n}\n\n/**\n * @param {Element} element\n * @param {any} value\n */\nexport function set_value(element, value) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.value ===\n\t\t\t(attributes.value =\n\t\t\t\t// treat null and undefined the same for the initial value\n\t\t\t\tvalue ?? undefined) ||\n\t\t// @ts-expect-error\n\t\t// `progress` elements always need their value set when it's `0`\n\t\t(element.value === value && (value !== 0 || element.nodeName !== 'PROGRESS'))\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.value = value ?? '';\n}\n\n/**\n * @param {Element} element\n * @param {boolean} checked\n */\nexport function set_checked(element, checked) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.checked ===\n\t\t(attributes.checked =\n\t\t\t// treat null and undefined the same for the initial value\n\t\t\tchecked ?? undefined)\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.checked = checked;\n}\n\n/**\n * Sets the `selected` attribute on an `option` element.\n * Not set through the property because that doesn't reflect to the DOM,\n * which means it wouldn't be taken into account when a form is reset.\n * @param {HTMLOptionElement} element\n * @param {boolean} selected\n */\nexport function set_selected(element, selected) {\n\tif (selected) {\n\t\t// The selected option could've changed via user selection, and\n\t\t// setting the value without this check would set it back.\n\t\tif (!element.hasAttribute('selected')) {\n\t\t\telement.setAttribute('selected', '');\n\t\t}\n\t} else {\n\t\telement.removeAttribute('selected');\n\t}\n}\n\n/**\n * Applies the default checked property without influencing the current checked property.\n * @param {HTMLInputElement} element\n * @param {boolean} checked\n */\nexport function set_default_checked(element, checked) {\n\tconst existing_value = element.checked;\n\telement.defaultChecked = checked;\n\telement.checked = existing_value;\n}\n\n/**\n * Applies the default value property without influencing the current value property.\n * @param {HTMLInputElement | HTMLTextAreaElement} element\n * @param {string} value\n */\nexport function set_default_value(element, value) {\n\tconst existing_value = element.value;\n\telement.defaultValue = value;\n\telement.value = existing_value;\n}\n\n/**\n * @param {Element} element\n * @param {string} attribute\n * @param {string | null} value\n * @param {boolean} [skip_warning]\n */\nexport function set_attribute(element, attribute, value, skip_warning) {\n\tvar attributes = get_attributes(element);\n\n\tif (hydrating) {\n\t\tattributes[attribute] = element.getAttribute(attribute);\n\n\t\tif (\n\t\t\tattribute === 'src' ||\n\t\t\tattribute === 'srcset' ||\n\t\t\t(attribute === 'href' && element.nodeName === 'LINK')\n\t\t) {\n\t\t\tif (!skip_warning) {\n\t\t\t\tcheck_src_in_dev_hydration(element, attribute, value ?? '');\n\t\t\t}\n\n\t\t\t// If we reset these attributes, they would result in another network request, which we want to avoid.\n\t\t\t// We assume they are the same between client and server as checking if they are equal is expensive\n\t\t\t// (we can't just compare the strings as they can be different between client and server but result in the\n\t\t\t// same url, so we would need to create hidden anchor elements to compare them)\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (attributes[attribute] === (attributes[attribute] = value)) return;\n\n\tif (attribute === 'loading') {\n\t\t// @ts-expect-error\n\t\telement[LOADING_ATTR_SYMBOL] = value;\n\t}\n\n\tif (value == null) {\n\t\telement.removeAttribute(attribute);\n\t} else if (typeof value !== 'string' && get_setters(element).includes(attribute)) {\n\t\t// @ts-ignore\n\t\telement[attribute] = value;\n\t} else {\n\t\telement.setAttribute(attribute, value);\n\t}\n}\n\n/**\n * @param {Element} dom\n * @param {string} attribute\n * @param {string} value\n */\nexport function set_xlink_attribute(dom, attribute, value) {\n\tdom.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\n\n/**\n * @param {HTMLElement} node\n * @param {string} prop\n * @param {any} value\n */\nexport function set_custom_element_data(node, prop, value) {\n\t// We need to ensure that setting custom element props, which can\n\t// invoke lifecycle methods on other custom elements, does not also\n\t// associate those lifecycle methods with the current active reaction\n\t// or effect\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet was_hydrating = hydrating;\n\tif (hydrating) {\n\t\tset_hydrating(false);\n\t}\n\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\tif (\n\t\t\t// `style` should use `set_attribute` rather than the setter\n\t\t\tprop !== 'style' &&\n\t\t\t// Don't compute setters for custom elements while they aren't registered yet,\n\t\t\t// because during their upgrade/instantiation they might add more setters.\n\t\t\t// Instead, fall back to a simple \"an object, then set as property\" heuristic.\n\t\t\t(setters_cache.has(node.getAttribute('is') || node.nodeName) ||\n\t\t\t// customElements may not be available in browser extension contexts\n\t\t\t!customElements ||\n\t\t\tcustomElements.get(node.getAttribute('is') || node.tagName.toLowerCase())\n\t\t\t\t? get_setters(node).includes(prop)\n\t\t\t\t: value && typeof value === 'object')\n\t\t) {\n\t\t\t// @ts-expect-error\n\t\t\tnode[prop] = value;\n\t\t} else {\n\t\t\t// We did getters etc checks already, stringify before passing to set_attribute\n\t\t\t// to ensure it doesn't invoke the same logic again, and potentially populating\n\t\t\t// the setters cache too early.\n\t\t\tset_attribute(node, prop, value == null ? value : String(value));\n\t\t}\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t}\n\t}\n}\n\n/**\n * Spreads attributes onto a DOM element, taking into account the currently set attributes\n * @param {Element & ElementCSSInlineStyle} element\n * @param {Record<string | symbol, any> | undefined} prev\n * @param {Record<string | symbol, any>} next New attributes - this function mutates this object\n * @param {string} [css_hash]\n * @param {boolean} [should_remove_defaults]\n * @param {boolean} [skip_warning]\n * @returns {Record<string, any>}\n */\nfunction set_attributes(\n\telement,\n\tprev,\n\tnext,\n\tcss_hash,\n\tshould_remove_defaults = false,\n\tskip_warning = false\n) {\n\tif (hydrating && should_remove_defaults && element.tagName === 'INPUT') {\n\t\tvar input = /** @type {HTMLInputElement} */ (element);\n\t\tvar attribute = input.type === 'checkbox' ? 'defaultChecked' : 'defaultValue';\n\n\t\tif (!(attribute in next)) {\n\t\t\tremove_input_defaults(input);\n\t\t}\n\t}\n\n\tvar attributes = get_attributes(element);\n\n\tvar is_custom_element = attributes[IS_CUSTOM_ELEMENT];\n\tvar preserve_attribute_case = !attributes[IS_HTML];\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet is_hydrating_custom_element = hydrating && is_custom_element;\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(false);\n\t}\n\n\tvar current = prev || {};\n\tvar is_option_element = element.tagName === 'OPTION';\n\n\tfor (var key in prev) {\n\t\tif (!(key in next)) {\n\t\t\tnext[key] = null;\n\t\t}\n\t}\n\n\tif (next.class) {\n\t\tnext.class = clsx(next.class);\n\t} else if (css_hash || next[CLASS]) {\n\t\tnext.class = null; /* force call to set_class() */\n\t}\n\n\tif (next[STYLE]) {\n\t\tnext.style ??= null; /* force call to set_style() */\n\t}\n\n\tvar setters = get_setters(element);\n\n\t// since key is captured we use const\n\tfor (const key in next) {\n\t\t// let instead of var because referenced in a closure\n\t\tlet value = next[key];\n\n\t\t// Up here because we want to do this for the initial value, too, even if it's undefined,\n\t\t// and this wouldn't be reached in case of undefined because of the equality check below\n\t\tif (is_option_element && key === 'value' && value == null) {\n\t\t\t// The <option> element is a special case because removing the value attribute means\n\t\t\t// the value is set to the text content of the option element, and setting the value\n\t\t\t// to null or undefined means the value is set to the string \"null\" or \"undefined\".\n\t\t\t// To align with how we handle this case in non-spread-scenarios, this logic is needed.\n\t\t\t// There's a super-edge-case bug here that is left in in favor of smaller code size:\n\t\t\t// Because of the \"set missing props to null\" logic above, we can't differentiate\n\t\t\t// between a missing value and an explicitly set value of null or undefined. That means\n\t\t\t// that once set, the value attribute of an <option> element can't be removed. This is\n\t\t\t// a very rare edge case, and removing the attribute altogether isn't possible either\n\t\t\t// for the <option value={undefined}> case, so we're not losing any functionality here.\n\t\t\t// @ts-ignore\n\t\t\telement.value = element.__value = '';\n\t\t\tcurrent[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (key === 'class') {\n\t\t\tvar is_html = element.namespaceURI === 'http://www.w3.org/1999/xhtml';\n\t\t\tset_class(element, is_html, value, css_hash, prev?.[CLASS], next[CLASS]);\n\t\t\tcurrent[key] = value;\n\t\t\tcurrent[CLASS] = next[CLASS];\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (key === 'style') {\n\t\t\tset_style(element, value, prev?.[STYLE], next[STYLE]);\n\t\t\tcurrent[key] = value;\n\t\t\tcurrent[STYLE] = next[STYLE];\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar prev_value = current[key];\n\n\t\t// Skip if value is unchanged, unless it's `undefined` and the element still has the attribute\n\t\tif (value === prev_value && !(value === undefined && element.hasAttribute(key))) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tcurrent[key] = value;\n\n\t\tvar prefix = key[0] + key[1]; // this is faster than key.slice(0, 2)\n\t\tif (prefix === '$$') continue;\n\n\t\tif (prefix === 'on') {\n\t\t\t/** @type {{ capture?: true }} */\n\t\t\tconst opts = {};\n\t\t\tconst event_handle_key = '$$' + key;\n\t\t\tlet event_name = key.slice(2);\n\t\t\tvar delegated = can_delegate_event(event_name);\n\n\t\t\tif (is_capture_event(event_name)) {\n\t\t\t\tevent_name = event_name.slice(0, -7);\n\t\t\t\topts.capture = true;\n\t\t\t}\n\n\t\t\tif (!delegated && prev_value) {\n\t\t\t\t// Listening to same event but different handler -> our handle function below takes care of this\n\t\t\t\t// If we were to remove and add listeners in this case, it could happen that the event is \"swallowed\"\n\t\t\t\t// (the browser seems to not know yet that a new one exists now) and doesn't reach the handler\n\t\t\t\t// https://github.com/sveltejs/svelte/issues/11903\n\t\t\t\tif (value != null) continue;\n\n\t\t\t\telement.removeEventListener(event_name, current[event_handle_key], opts);\n\t\t\t\tcurrent[event_handle_key] = null;\n\t\t\t}\n\n\t\t\tif (value != null) {\n\t\t\t\tif (!delegated) {\n\t\t\t\t\t/**\n\t\t\t\t\t * @this {any}\n\t\t\t\t\t * @param {Event} evt\n\t\t\t\t\t */\n\t\t\t\t\tfunction handle(evt) {\n\t\t\t\t\t\tcurrent[key].call(this, evt);\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent[event_handle_key] = create_event(event_name, element, handle, opts);\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\telement[`__${event_name}`] = value;\n\t\t\t\t\tdelegate([event_name]);\n\t\t\t\t}\n\t\t\t} else if (delegated) {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[`__${event_name}`] = undefined;\n\t\t\t}\n\t\t} else if (key === 'style') {\n\t\t\t// avoid using the setter\n\t\t\tset_attribute(element, key, value);\n\t\t} else if (key === 'autofocus') {\n\t\t\tautofocus(/** @type {HTMLElement} */ (element), Boolean(value));\n\t\t} else if (!is_custom_element && (key === '__value' || (key === 'value' && value != null))) {\n\t\t\t// @ts-ignore We're not running this for custom elements because __value is actually\n\t\t\t// how Lit stores the current value on the element, and messing with that would break things.\n\t\t\telement.value = element.__value = value;\n\t\t} else if (key === 'selected' && is_option_element) {\n\t\t\tset_selected(/** @type {HTMLOptionElement} */ (element), value);\n\t\t} else {\n\t\t\tvar name = key;\n\t\t\tif (!preserve_attribute_case) {\n\t\t\t\tname = normalize_attribute(name);\n\t\t\t}\n\n\t\t\tvar is_default = name === 'defaultValue' || name === 'defaultChecked';\n\n\t\t\tif (value == null && !is_custom_element && !is_default) {\n\t\t\t\tattributes[key] = null;\n\n\t\t\t\tif (name === 'value' || name === 'checked') {\n\t\t\t\t\t// removing value/checked also removes defaultValue/defaultChecked — preserve\n\t\t\t\t\tlet input = /** @type {HTMLInputElement} */ (element);\n\t\t\t\t\tconst use_default = prev === undefined;\n\t\t\t\t\tif (name === 'value') {\n\t\t\t\t\t\tlet previous = input.defaultValue;\n\t\t\t\t\t\tinput.removeAttribute(name);\n\t\t\t\t\t\tinput.defaultValue = previous;\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tinput.value = input.__value = use_default ? previous : null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet previous = input.defaultChecked;\n\t\t\t\t\t\tinput.removeAttribute(name);\n\t\t\t\t\t\tinput.defaultChecked = previous;\n\t\t\t\t\t\tinput.checked = use_default ? previous : false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\telement.removeAttribute(key);\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tis_default ||\n\t\t\t\t(setters.includes(name) && (is_custom_element || typeof value !== 'string'))\n\t\t\t) {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[name] = value;\n\t\t\t\t// remove it from attributes's cache\n\t\t\t\tif (name in attributes) attributes[name] = UNINITIALIZED;\n\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\tset_attribute(element, name, value, skip_warning);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(true);\n\t}\n\n\treturn current;\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} element\n * @param {(...expressions: any) => Record<string | symbol, any>} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise<any>>} async\n * @param {Array<Promise<void>>} blockers\n * @param {string} [css_hash]\n * @param {boolean} [should_remove_defaults]\n * @param {boolean} [skip_warning]\n */\nexport function attribute_effect(\n\telement,\n\tfn,\n\tsync = [],\n\tasync = [],\n\tblockers = [],\n\tcss_hash,\n\tshould_remove_defaults = false,\n\tskip_warning = false\n) {\n\tflatten(blockers, sync, async, (values) => {\n\t\t/** @type {Record<string | symbol, any> | undefined} */\n\t\tvar prev = undefined;\n\n\t\t/** @type {Record<symbol, Effect>} */\n\t\tvar effects = {};\n\n\t\tvar is_select = element.nodeName === 'SELECT';\n\t\tvar inited = false;\n\n\t\tblock(() => {\n\t\t\tvar next = fn(...values.map(get));\n\t\t\t/** @type {Record<string | symbol, any>} */\n\t\t\tvar current = set_attributes(\n\t\t\t\telement,\n\t\t\t\tprev,\n\t\t\t\tnext,\n\t\t\t\tcss_hash,\n\t\t\t\tshould_remove_defaults,\n\t\t\t\tskip_warning\n\t\t\t);\n\n\t\t\tif (inited && is_select && 'value' in next) {\n\t\t\t\tselect_option(/** @type {HTMLSelectElement} */ (element), next.value);\n\t\t\t}\n\n\t\t\tfor (let symbol of Object.getOwnPropertySymbols(effects)) {\n\t\t\t\tif (!next[symbol]) destroy_effect(effects[symbol]);\n\t\t\t}\n\n\t\t\tfor (let symbol of Object.getOwnPropertySymbols(next)) {\n\t\t\t\tvar n = next[symbol];\n\n\t\t\t\tif (symbol.description === ATTACHMENT_KEY && (!prev || n !== prev[symbol])) {\n\t\t\t\t\tif (effects[symbol]) destroy_effect(effects[symbol]);\n\t\t\t\t\teffects[symbol] = branch(() => attach(element, () => n));\n\t\t\t\t}\n\n\t\t\t\tcurrent[symbol] = n;\n\t\t\t}\n\n\t\t\tprev = current;\n\t\t});\n\n\t\tif (is_select) {\n\t\t\tvar select = /** @type {HTMLSelectElement} */ (element);\n\n\t\t\teffect(() => {\n\t\t\t\tselect_option(select, /** @type {Record<string | symbol, any>} */ (prev).value, true);\n\t\t\t\tinit_select(select);\n\t\t\t});\n\t\t}\n\n\t\tinited = true;\n\t});\n}\n\n/**\n *\n * @param {Element} element\n */\nfunction get_attributes(element) {\n\treturn /** @type {Record<string | symbol, unknown>} **/ (\n\t\t// @ts-expect-error\n\t\telement.__attributes ??= {\n\t\t\t[IS_CUSTOM_ELEMENT]: element.nodeName.includes('-'),\n\t\t\t[IS_HTML]: element.namespaceURI === NAMESPACE_HTML\n\t\t}\n\t);\n}\n\n/** @type {Map<string, string[]>} */\nvar setters_cache = new Map();\n\n/** @param {Element} element */\nfunction get_setters(element) {\n\tvar cache_key = element.getAttribute('is') || element.nodeName;\n\tvar setters = setters_cache.get(cache_key);\n\tif (setters) return setters;\n\tsetters_cache.set(cache_key, (setters = []));\n\n\tvar descriptors;\n\tvar proto = element; // In the case of custom elements there might be setters on the instance\n\tvar element_proto = Element.prototype;\n\n\t// Stop at Element, from there on there's only unnecessary setters we're not interested in\n\t// Do not use contructor.name here as that's unreliable in some browser environments\n\twhile (element_proto !== proto) {\n\t\tdescriptors = get_descriptors(proto);\n\n\t\tfor (var key in descriptors) {\n\t\t\tif (descriptors[key].set) {\n\t\t\t\tsetters.push(key);\n\t\t\t}\n\t\t}\n\n\t\tproto = get_prototype_of(proto);\n\t}\n\n\treturn setters;\n}\n\n/**\n * @param {any} element\n * @param {string} attribute\n * @param {string} value\n */\nfunction check_src_in_dev_hydration(element, attribute, value) {\n\tif (!DEV) return;\n\tif (attribute === 'srcset' && srcset_url_equal(element, value)) return;\n\tif (src_url_equal(element.getAttribute(attribute) ?? '', value)) return;\n\n\tw.hydration_attribute_changed(\n\t\tattribute,\n\t\telement.outerHTML.replace(element.innerHTML, element.innerHTML && '...'),\n\t\tString(value)\n\t);\n}\n\n/**\n * @param {string} element_src\n * @param {string} url\n * @returns {boolean}\n */\nfunction src_url_equal(element_src, url) {\n\tif (element_src === url) return true;\n\treturn new URL(element_src, document.baseURI).href === new URL(url, document.baseURI).href;\n}\n\n/** @param {string} srcset */\nfunction split_srcset(srcset) {\n\treturn srcset.split(',').map((src) => src.trim().split(' ').filter(Boolean));\n}\n\n/**\n * @param {HTMLSourceElement | HTMLImageElement} element\n * @param {string} srcset\n * @returns {boolean}\n */\nfunction srcset_url_equal(element, srcset) {\n\tvar element_urls = split_srcset(element.srcset);\n\tvar urls = split_srcset(srcset);\n\n\treturn (\n\t\turls.length === element_urls.length &&\n\t\turls.every(\n\t\t\t([url, width], i) =>\n\t\t\t\twidth === element_urls[i][1] &&\n\t\t\t\t// We need to test both ways because Vite will create an a full URL with\n\t\t\t\t// `new URL(asset, import.meta.url).href` for the client when `base: './'`, and the\n\t\t\t\t// relative URLs inside srcset are not automatically resolved to absolute URLs by\n\t\t\t\t// browsers (in contrast to img.src). This means both SSR and DOM code could\n\t\t\t\t// contain relative or absolute URLs.\n\t\t\t\t(src_url_equal(element_urls[i][0], url) || src_url_equal(url, element_urls[i][0]))\n\t\t)\n\t);\n}\n"],"names":["attach","node","get_fn","fn","e","block","destroy_effect","branch","effect","update_styles","dom","prev","next","priority","key","value","set_style","prev_styles","next_styles","hydrating","next_style_attr","to_style","select_option","select","mounting","is_array","w.select_multiple_invalid_value","option","get_option_value","option_value","is","init_select","observer","teardown","bind_select_value","get","set","batches","listen_to_event_and_reset_event","is_reset","query","selected_option","current_batch","batch","previous_batch","CLASS","STYLE","IS_CUSTOM_ELEMENT","IS_HTML","remove_input_defaults","input","already_removed","remove_defaults","set_attribute","checked","queue_micro_task","add_form_reset_listener","set_value","element","attributes","get_attributes","set_selected","selected","attribute","skip_warning","LOADING_ATTR_SYMBOL","get_setters","set_attributes","css_hash","should_remove_defaults","is_custom_element","preserve_attribute_case","is_hydrating_custom_element","set_hydrating","current","is_option_element","clsx","setters","is_html","set_class","prev_value","prefix","opts","event_handle_key","event_name","delegated","can_delegate_event","is_capture_event","delegate","handle","evt","create_event","autofocus","name","normalize_attribute","is_default","use_default","previous","UNINITIALIZED","attribute_effect","sync","async","blockers","flatten","values","effects","is_select","inited","symbol","n","ATTACHMENT_KEY","NAMESPACE_HTML","setters_cache","cache_key","descriptors","proto","element_proto","get_descriptors","get_prototype_of"],"mappings":"qSAWO,SAASA,GAAOC,EAAMC,EAAQ,CAEpC,IAAIC,EAAK,OAGLC,EAEJC,EAAM,IAAM,CACPF,KAAQA,EAAKD,EAAM,KAClBE,IACHE,EAAeF,CAAC,EAChBA,EAAI,MAGDD,IACHC,EAAIG,EAAO,IAAM,CAChBC,EAAO,IAA8CL,EAAIF,CAAI,CAAC,CAC/D,CAAC,GAGJ,CAAC,CACF,CCvBA,SAASQ,EAAcC,EAAKC,EAAO,CAAA,EAAIC,EAAMC,EAAU,CACtD,QAASC,KAAOF,EAAM,CACrB,IAAIG,EAAQH,EAAKE,CAAG,EAEhBH,EAAKG,CAAG,IAAMC,IACbH,EAAKE,CAAG,GAAK,KAChBJ,EAAI,MAAM,eAAeI,CAAG,EAE5BJ,EAAI,MAAM,YAAYI,EAAKC,EAAOF,CAAQ,EAG7C,CACD,CAQO,SAASG,GAAUN,EAAKK,EAAOE,EAAaC,EAAa,CAE/D,IAAIP,EAAOD,EAAI,QAEf,GAAIS,GAAaR,IAASI,EAAO,CAChC,IAAIK,EAAkBC,EAASN,EAAOG,CAAW,GAE7C,CAACC,GAAaC,IAAoBV,EAAI,aAAa,OAAO,KACzDU,GAAmB,KACtBV,EAAI,gBAAgB,OAAO,EAE3BA,EAAI,MAAM,QAAUU,GAKtBV,EAAI,QAAUK,CACf,MAAWG,IACN,MAAM,QAAQA,CAAW,GAC5BT,EAAcC,EAAKO,IAAc,CAAC,EAAGC,EAAY,CAAC,CAAC,EACnDT,EAAcC,EAAKO,IAAc,CAAC,EAAGC,EAAY,CAAC,EAAG,WAAW,GAEhET,EAAcC,EAAKO,EAAaC,CAAW,GAI7C,OAAOA,CACR,CC1CO,SAASI,EAAcC,EAAQR,EAAOS,EAAW,GAAO,CAC9D,GAAID,EAAO,SAAU,CAEpB,GAAIR,GAAS,KACZ,OAID,GAAI,CAACU,EAASV,CAAK,EAClB,OAAOW,EAA+B,EAIvC,QAASC,KAAUJ,EAAO,QACzBI,EAAO,SAAWZ,EAAM,SAASa,EAAiBD,CAAM,CAAC,EAG1D,MACD,CAEA,IAAKA,KAAUJ,EAAO,QAAS,CAC9B,IAAIM,EAAeD,EAAiBD,CAAM,EAC1C,GAAIG,EAAGD,EAAcd,CAAK,EAAG,CAC5BY,EAAO,SAAW,GAClB,MACD,CACD,EAEI,CAACH,GAAYT,IAAU,UAC1BQ,EAAO,cAAgB,GAEzB,CAUO,SAASQ,EAAYR,EAAQ,CACnC,IAAIS,EAAW,IAAI,iBAAiB,IAAM,CAEzCV,EAAcC,EAAQA,EAAO,OAAO,CAGrC,CAAC,EAEDS,EAAS,QAAQT,EAAQ,CAExB,UAAW,GACX,QAAS,GAIT,WAAY,GACZ,gBAAiB,CAAC,OAAO,CAC3B,CAAE,EAEDU,EAAS,IAAM,CACdD,EAAS,WAAU,CACpB,CAAC,CACF,CAQO,SAASE,GAAkBX,EAAQY,EAAKC,EAAMD,EAAK,CACzD,IAAIE,EAAU,IAAI,QACdb,EAAW,GAEfc,EAAgCf,EAAQ,SAAWgB,GAAa,CAC/D,IAAIC,EAAQD,EAAW,aAAe,WAElCxB,EAEJ,GAAIQ,EAAO,SACVR,EAAQ,CAAA,EAAG,IAAI,KAAKQ,EAAO,iBAAiBiB,CAAK,EAAGZ,CAAgB,MAC9D,CAEN,IAAIa,EACHlB,EAAO,cAAciB,CAAK,GAE1BjB,EAAO,cAAc,wBAAwB,EAC9CR,EAAQ0B,GAAmBb,EAAiBa,CAAe,CAC5D,CAEAL,EAAIrB,CAAK,EAEL2B,IAAkB,MACrBL,EAAQ,IAAIK,CAAa,CAE3B,CAAC,EAGDlC,EAAO,IAAM,CACZ,IAAIO,EAAQoB,EAAG,EAEf,GAAIZ,IAAW,SAAS,cAAe,CAEtC,IAAIoB,EAA8BC,IAAkBF,EAOpD,GAAIL,EAAQ,IAAIM,CAAK,EACpB,MAEF,CAKA,GAHArB,EAAcC,EAAQR,EAAOS,CAAQ,EAGjCA,GAAYT,IAAU,OAAW,CAEpC,IAAI0B,EAAkBlB,EAAO,cAAc,UAAU,EACjDkB,IAAoB,OACvB1B,EAAQa,EAAiBa,CAAe,EACxCL,EAAIrB,CAAK,EAEX,CAGAQ,EAAO,QAAUR,EACjBS,EAAW,EACZ,CAAC,EAEDO,EAAYR,CAAM,CACnB,CAGA,SAASK,EAAiBD,EAAQ,CAEjC,MAAI,YAAaA,EACTA,EAAO,QAEPA,EAAO,KAEhB,CCpIO,MAAMkB,EAAQ,OAAO,OAAO,EACtBC,EAAQ,OAAO,OAAO,EAE7BC,EAAoB,OAAO,mBAAmB,EAC9CC,EAAU,OAAO,SAAS,EAQzB,SAASC,GAAsBC,EAAO,CAC5C,GAAK/B,EAEL,KAAIgC,EAAkB,GAMlBC,EAAkB,IAAM,CAC3B,GAAI,CAAAD,EAIJ,IAHAA,EAAkB,GAGdD,EAAM,aAAa,OAAO,EAAG,CAChC,IAAInC,EAAQmC,EAAM,MAClBG,EAAcH,EAAO,QAAS,IAAI,EAClCA,EAAM,MAAQnC,CACf,CAEA,GAAImC,EAAM,aAAa,SAAS,EAAG,CAClC,IAAII,EAAUJ,EAAM,QACpBG,EAAcH,EAAO,UAAW,IAAI,EACpCA,EAAM,QAAUI,CACjB,EACD,EAGAJ,EAAM,OAASE,EACfG,GAAiBH,CAAe,EAChCI,GAAuB,EACxB,CAMO,SAASC,GAAUC,EAAS3C,EAAO,CACzC,IAAI4C,EAAaC,EAAeF,CAAO,EAGtCC,EAAW,SACTA,EAAW,MAEX5C,GAAS,SAGV2C,EAAQ,QAAU3C,IAAUA,IAAU,GAAK2C,EAAQ,WAAa,cAMlEA,EAAQ,MAAQ3C,GAAS,GAC1B,CA6BO,SAAS8C,GAAaH,EAASI,EAAU,CAC3CA,EAGEJ,EAAQ,aAAa,UAAU,GACnCA,EAAQ,aAAa,WAAY,EAAE,EAGpCA,EAAQ,gBAAgB,UAAU,CAEpC,CA8BO,SAASL,EAAcK,EAASK,EAAWhD,EAAOiD,EAAc,CACtE,IAAIL,EAAaC,EAAeF,CAAO,EAEnCvC,IACHwC,EAAWI,CAAS,EAAIL,EAAQ,aAAaK,CAAS,EAGrDA,IAAc,OACdA,IAAc,UACbA,IAAc,QAAUL,EAAQ,WAAa,SAc5CC,EAAWI,CAAS,KAAOJ,EAAWI,CAAS,EAAIhD,KAEnDgD,IAAc,YAEjBL,EAAQO,EAAmB,EAAIlD,GAG5BA,GAAS,KACZ2C,EAAQ,gBAAgBK,CAAS,EACvB,OAAOhD,GAAU,UAAYmD,EAAYR,CAAO,EAAE,SAASK,CAAS,EAE9EL,EAAQK,CAAS,EAAIhD,EAErB2C,EAAQ,aAAaK,EAAWhD,CAAK,EAEvC,CA2EA,SAASoD,GACRT,EACA/C,EACAC,EACAwD,EACAC,EAAyB,GACzBL,EAAe,GACd,CACD,GAAI7C,GAAakD,GAA0BX,EAAQ,UAAY,QAAS,CACvE,IAAIR,EAAyCQ,EACzCK,EAAYb,EAAM,OAAS,WAAa,iBAAmB,eAEzDa,KAAanD,GAClBqC,GAAsBC,CAAK,CAE7B,CAEA,IAAIS,EAAaC,EAAeF,CAAO,EAEnCY,EAAoBX,EAAWZ,CAAiB,EAChDwB,EAA0B,CAACZ,EAAWX,CAAO,EAIjD,IAAIwB,EAA8BrD,GAAamD,EAC3CE,GACHC,EAAc,EAAK,EAGpB,IAAIC,EAAU/D,GAAQ,CAAA,EAClBgE,EAAoBjB,EAAQ,UAAY,SAE5C,QAAS5C,KAAOH,EACTG,KAAOF,IACZA,EAAKE,CAAG,EAAI,MAIVF,EAAK,MACRA,EAAK,MAAQgE,GAAKhE,EAAK,KAAK,GAClBwD,GAAYxD,EAAKiC,CAAK,KAChCjC,EAAK,MAAQ,MAGVA,EAAKkC,CAAK,IACblC,EAAK,QAAU,MAGhB,IAAIiE,EAAUX,EAAYR,CAAO,EAGjC,UAAW5C,KAAOF,EAAM,CAEvB,IAAIG,EAAQH,EAAKE,CAAG,EAIpB,GAAI6D,GAAqB7D,IAAQ,SAAWC,GAAS,KAAM,CAY1D2C,EAAQ,MAAQA,EAAQ,QAAU,GAClCgB,EAAQ5D,CAAG,EAAIC,EACf,QACD,CAEA,GAAID,IAAQ,QAAS,CACpB,IAAIgE,EAAUpB,EAAQ,eAAiB,+BACvCqB,GAAUrB,EAASoB,EAAS/D,EAAOqD,EAAUzD,IAAOkC,CAAK,EAAGjC,EAAKiC,CAAK,CAAC,EACvE6B,EAAQ5D,CAAG,EAAIC,EACf2D,EAAQ7B,CAAK,EAAIjC,EAAKiC,CAAK,EAC3B,QACD,CAEA,GAAI/B,IAAQ,QAAS,CACpBE,GAAU0C,EAAS3C,EAAOJ,IAAOmC,CAAK,EAAGlC,EAAKkC,CAAK,CAAC,EACpD4B,EAAQ5D,CAAG,EAAIC,EACf2D,EAAQ5B,CAAK,EAAIlC,EAAKkC,CAAK,EAC3B,QACD,CAEA,IAAIkC,EAAaN,EAAQ5D,CAAG,EAG5B,GAAI,EAAAC,IAAUiE,GAAc,EAAEjE,IAAU,QAAa2C,EAAQ,aAAa5C,CAAG,IAI7E,CAAA4D,EAAQ5D,CAAG,EAAIC,EAEf,IAAIkE,EAASnE,EAAI,CAAC,EAAIA,EAAI,CAAC,EAC3B,GAAImE,IAAW,KAEf,GAAIA,IAAW,KAAM,CAEpB,MAAMC,EAAO,CAAA,EACPC,EAAmB,KAAOrE,EAChC,IAAIsE,EAAatE,EAAI,MAAM,CAAC,EAC5B,IAAIuE,EAAYC,GAAmBF,CAAU,EAO7C,GALIG,GAAiBH,CAAU,IAC9BA,EAAaA,EAAW,MAAM,EAAG,EAAE,EACnCF,EAAK,QAAU,IAGZ,CAACG,GAAaL,EAAY,CAK7B,GAAIjE,GAAS,KAAM,SAEnB2C,EAAQ,oBAAoB0B,EAAYV,EAAQS,CAAgB,EAAGD,CAAI,EACvER,EAAQS,CAAgB,EAAI,IAC7B,CAEA,GAAIpE,GAAS,KACZ,GAAKsE,EAYJ3B,EAAQ,KAAK0B,CAAU,EAAE,EAAIrE,EAC7ByE,GAAS,CAACJ,CAAU,CAAC,MAbN,CAKf,IAASK,EAAT,SAAgBC,EAAK,CACpBhB,EAAQ5D,CAAG,EAAE,KAAK,KAAM4E,CAAG,CAC5B,EAEAhB,EAAQS,CAAgB,EAAIQ,GAAaP,EAAY1B,EAAS+B,EAAQP,CAAI,CAC3E,MAKUG,IAEV3B,EAAQ,KAAK0B,CAAU,EAAE,EAAI,OAE/B,SAAWtE,IAAQ,QAElBuC,EAAcK,EAAS5C,EAAKC,CAAK,UACvBD,IAAQ,YAClB8E,GAAsClC,EAAU,EAAQ3C,CAAM,UACpD,CAACuD,IAAsBxD,IAAQ,WAAcA,IAAQ,SAAWC,GAAS,MAGnF2C,EAAQ,MAAQA,EAAQ,QAAU3C,UACxBD,IAAQ,YAAc6D,EAChCd,GAA+CH,EAAU3C,CAAK,MACxD,CACN,IAAI8E,EAAO/E,EACNyD,IACJsB,EAAOC,GAAoBD,CAAI,GAGhC,IAAIE,EAAaF,IAAS,gBAAkBA,IAAS,iBAErD,GAAI9E,GAAS,MAAQ,CAACuD,GAAqB,CAACyB,EAG3C,GAFApC,EAAW7C,CAAG,EAAI,KAEd+E,IAAS,SAAWA,IAAS,UAAW,CAE3C,IAAI3C,EAAyCQ,EAC7C,MAAMsC,EAAcrF,IAAS,OAC7B,GAAIkF,IAAS,QAAS,CACrB,IAAII,EAAW/C,EAAM,aACrBA,EAAM,gBAAgB2C,CAAI,EAC1B3C,EAAM,aAAe+C,EAErB/C,EAAM,MAAQA,EAAM,QAAU8C,EAAcC,EAAW,IACxD,KAAO,CACN,IAAIA,EAAW/C,EAAM,eACrBA,EAAM,gBAAgB2C,CAAI,EAC1B3C,EAAM,eAAiB+C,EACvB/C,EAAM,QAAU8C,EAAcC,EAAW,EAC1C,CACD,MACCvC,EAAQ,gBAAgB5C,CAAG,OAG5BiF,GACClB,EAAQ,SAASgB,CAAI,IAAMvB,GAAqB,OAAOvD,GAAU,WAGlE2C,EAAQmC,CAAI,EAAI9E,EAEZ8E,KAAQlC,IAAYA,EAAWkC,CAAI,EAAIK,KACjC,OAAOnF,GAAU,YAC3BsC,EAAcK,EAASmC,EAAM9E,CAAmB,CAElD,EACD,CAEA,OAAIyD,GACHC,EAAc,EAAI,EAGZC,CACR,CAYO,SAASyB,GACfzC,EACAvD,EACAiG,EAAO,CAAA,EACPC,EAAQ,CAAA,EACRC,EAAW,CAAA,EACXlC,EACAC,EAAyB,GACzBL,EAAe,GACd,CACDuC,GAAQD,EAAUF,EAAMC,EAAQG,GAAW,CAE1C,IAAI7F,EAAO,OAGP8F,EAAU,CAAA,EAEVC,EAAYhD,EAAQ,WAAa,SACjCiD,EAAS,GAoCb,GAlCAtG,EAAM,IAAM,CACX,IAAIO,EAAOT,EAAG,GAAGqG,EAAO,IAAIrE,EAAG,CAAC,EAE5BuC,EAAUP,GACbT,EACA/C,EACAC,EACAwD,EACAC,EACAL,CACJ,EAEO2C,GAAUD,GAAa,UAAW9F,GACrCU,EAAgDoC,EAAU9C,EAAK,KAAK,EAGrE,QAASgG,KAAU,OAAO,sBAAsBH,CAAO,EACjD7F,EAAKgG,CAAM,GAAGtG,EAAemG,EAAQG,CAAM,CAAC,EAGlD,QAASA,KAAU,OAAO,sBAAsBhG,CAAI,EAAG,CACtD,IAAIiG,EAAIjG,EAAKgG,CAAM,EAEfA,EAAO,cAAgBE,KAAmB,CAACnG,GAAQkG,IAAMlG,EAAKiG,CAAM,KACnEH,EAAQG,CAAM,GAAGtG,EAAemG,EAAQG,CAAM,CAAC,EACnDH,EAAQG,CAAM,EAAIrG,EAAO,IAAMP,GAAO0D,EAAS,IAAMmD,CAAC,CAAC,GAGxDnC,EAAQkC,CAAM,EAAIC,CACnB,CAEAlG,EAAO+D,CACR,CAAC,EAEGgC,EAAW,CACd,IAAInF,EAA2CmC,EAE/ClD,EAAO,IAAM,CACZc,EAAcC,EAAqDZ,EAAM,MAAO,EAAI,EACpFoB,EAAYR,CAAM,CACnB,CAAC,CACF,CAEAoF,EAAS,EACV,CAAC,CACF,CAMA,SAAS/C,EAAeF,EAAS,CAChC,OAECA,EAAQ,eAAiB,CACxB,CAACX,CAAiB,EAAGW,EAAQ,SAAS,SAAS,GAAG,EAClD,CAACV,CAAO,EAAGU,EAAQ,eAAiBqD,EACvC,CAEA,CAGA,IAAIC,EAAgB,IAAI,IAGxB,SAAS9C,EAAYR,EAAS,CAC7B,IAAIuD,EAAYvD,EAAQ,aAAa,IAAI,GAAKA,EAAQ,SAClDmB,EAAUmC,EAAc,IAAIC,CAAS,EACzC,GAAIpC,EAAS,OAAOA,EACpBmC,EAAc,IAAIC,EAAYpC,EAAU,CAAA,CAAE,EAQ1C,QANIqC,EACAC,EAAQzD,EACR0D,EAAgB,QAAQ,UAIrBA,IAAkBD,GAAO,CAC/BD,EAAcG,GAAgBF,CAAK,EAEnC,QAASrG,KAAOoG,EACXA,EAAYpG,CAAG,EAAE,KACpB+D,EAAQ,KAAK/D,CAAG,EAIlBqG,EAAQG,GAAiBH,CAAK,CAC/B,CAEA,OAAOtC,CACR","x_google_ignoreList":[0,1,2,3]}
|
|
1
|
+
{"version":3,"file":"attributes.js","sources":["../node_modules/svelte/src/internal/client/dom/elements/attachments.js","../node_modules/svelte/src/internal/client/dom/elements/style.js","../node_modules/svelte/src/internal/client/dom/elements/bindings/select.js","../node_modules/svelte/src/internal/client/dom/elements/attributes.js"],"sourcesContent":["/** @import { Effect } from '#client' */\nimport { branch, effect, destroy_effect, managed } from '../../reactivity/effects.js';\n\n// TODO in 6.0 or 7.0, when we remove legacy mode, we can simplify this by\n// getting rid of the block/branch stuff and just letting the effect rip.\n// see https://github.com/sveltejs/svelte/pull/15962\n\n/**\n * @param {Element} node\n * @param {() => (node: Element) => void} get_fn\n */\nexport function attach(node, get_fn) {\n\t/** @type {false | undefined | ((node: Element) => void)} */\n\tvar fn = undefined;\n\n\t/** @type {Effect | null} */\n\tvar e;\n\n\tmanaged(() => {\n\t\tif (fn !== (fn = get_fn())) {\n\t\t\tif (e) {\n\t\t\t\tdestroy_effect(e);\n\t\t\t\te = null;\n\t\t\t}\n\n\t\t\tif (fn) {\n\t\t\t\te = branch(() => {\n\t\t\t\t\teffect(() => /** @type {(node: Element) => void} */ (fn)(node));\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t});\n}\n","import { to_style } from '../../../shared/attributes.js';\nimport { hydrating } from '../hydration.js';\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {Record<string, any>} prev\n * @param {Record<string, any>} next\n * @param {string} [priority]\n */\nfunction update_styles(dom, prev = {}, next, priority) {\n\tfor (var key in next) {\n\t\tvar value = next[key];\n\n\t\tif (prev[key] !== value) {\n\t\t\tif (next[key] == null) {\n\t\t\t\tdom.style.removeProperty(key);\n\t\t\t} else {\n\t\t\t\tdom.style.setProperty(key, value, priority);\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} dom\n * @param {string | null} value\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [prev_styles]\n * @param {Record<string, any> | [Record<string, any>, Record<string, any>]} [next_styles]\n */\nexport function set_style(dom, value, prev_styles, next_styles) {\n\t// @ts-expect-error\n\tvar prev = dom.__style;\n\n\tif (hydrating || prev !== value) {\n\t\tvar next_style_attr = to_style(value, next_styles);\n\n\t\tif (!hydrating || next_style_attr !== dom.getAttribute('style')) {\n\t\t\tif (next_style_attr == null) {\n\t\t\t\tdom.removeAttribute('style');\n\t\t\t} else {\n\t\t\t\tdom.style.cssText = next_style_attr;\n\t\t\t}\n\t\t}\n\n\t\t// @ts-expect-error\n\t\tdom.__style = value;\n\t} else if (next_styles) {\n\t\tif (Array.isArray(next_styles)) {\n\t\t\tupdate_styles(dom, prev_styles?.[0], next_styles[0]);\n\t\t\tupdate_styles(dom, prev_styles?.[1], next_styles[1], 'important');\n\t\t} else {\n\t\t\tupdate_styles(dom, prev_styles, next_styles);\n\t\t}\n\t}\n\n\treturn next_styles;\n}\n","import { effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport { is } from '../../../proxy.js';\nimport { is_array } from '../../../../shared/utils.js';\nimport * as w from '../../../warnings.js';\nimport { Batch, current_batch, previous_batch } from '../../../reactivity/batch.js';\n\n/**\n * Selects the correct option(s) (depending on whether this is a multiple select)\n * @template V\n * @param {HTMLSelectElement} select\n * @param {V} value\n * @param {boolean} mounting\n */\nexport function select_option(select, value, mounting = false) {\n\tif (select.multiple) {\n\t\t// If value is null or undefined, keep the selection as is\n\t\tif (value == undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If not an array, warn and keep the selection as is\n\t\tif (!is_array(value)) {\n\t\t\treturn w.select_multiple_invalid_value();\n\t\t}\n\n\t\t// Otherwise, update the selection\n\t\tfor (var option of select.options) {\n\t\t\toption.selected = value.includes(get_option_value(option));\n\t\t}\n\n\t\treturn;\n\t}\n\n\tfor (option of select.options) {\n\t\tvar option_value = get_option_value(option);\n\t\tif (is(option_value, value)) {\n\t\t\toption.selected = true;\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (!mounting || value !== undefined) {\n\t\tselect.selectedIndex = -1; // no option should be selected\n\t}\n}\n\n/**\n * Selects the correct option(s) if `value` is given,\n * and then sets up a mutation observer to sync the\n * current selection to the dom when it changes. Such\n * changes could for example occur when options are\n * inside an `#each` block.\n * @param {HTMLSelectElement} select\n */\nexport function init_select(select) {\n\tvar observer = new MutationObserver(() => {\n\t\t// @ts-ignore\n\t\tselect_option(select, select.__value);\n\t\t// Deliberately don't update the potential binding value,\n\t\t// the model should be preserved unless explicitly changed\n\t});\n\n\tobserver.observe(select, {\n\t\t// Listen to option element changes\n\t\tchildList: true,\n\t\tsubtree: true, // because of <optgroup>\n\t\t// Listen to option element value attribute changes\n\t\t// (doesn't get notified of select value changes,\n\t\t// because that property is not reflected as an attribute)\n\t\tattributes: true,\n\t\tattributeFilter: ['value']\n\t});\n\n\tteardown(() => {\n\t\tobserver.disconnect();\n\t});\n}\n\n/**\n * @param {HTMLSelectElement} select\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_select_value(select, get, set = get) {\n\tvar batches = new WeakSet();\n\tvar mounting = true;\n\n\tlisten_to_event_and_reset_event(select, 'change', (is_reset) => {\n\t\tvar query = is_reset ? '[selected]' : ':checked';\n\t\t/** @type {unknown} */\n\t\tvar value;\n\n\t\tif (select.multiple) {\n\t\t\tvalue = [].map.call(select.querySelectorAll(query), get_option_value);\n\t\t} else {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option =\n\t\t\t\tselect.querySelector(query) ??\n\t\t\t\t// will fall back to first non-disabled option if no option is selected\n\t\t\t\tselect.querySelector('option:not([disabled])');\n\t\t\tvalue = selected_option && get_option_value(selected_option);\n\t\t}\n\n\t\tset(value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\t});\n\n\t// Needs to be an effect, not a render_effect, so that in case of each loops the logic runs after the each block has updated\n\teffect(() => {\n\t\tvar value = get();\n\n\t\tif (select === document.activeElement) {\n\t\t\t// we need both, because in non-async mode, render effects run before previous_batch is set\n\t\t\tvar batch = /** @type {Batch} */ (previous_batch ?? current_batch);\n\n\t\t\t// Don't update the <select> if it is focused. We can get here if, for example,\n\t\t\t// an update is deferred because of async work depending on the select:\n\t\t\t//\n\t\t\t// <select bind:value={selected}>...</select>\n\t\t\t// <p>{await find(selected)}</p>\n\t\t\tif (batches.has(batch)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tselect_option(select, value, mounting);\n\n\t\t// Mounting and value undefined -> take selection from dom\n\t\tif (mounting && value === undefined) {\n\t\t\t/** @type {HTMLOptionElement | null} */\n\t\t\tvar selected_option = select.querySelector(':checked');\n\t\t\tif (selected_option !== null) {\n\t\t\t\tvalue = get_option_value(selected_option);\n\t\t\t\tset(value);\n\t\t\t}\n\t\t}\n\n\t\t// @ts-ignore\n\t\tselect.__value = value;\n\t\tmounting = false;\n\t});\n\n\tinit_select(select);\n}\n\n/** @param {HTMLOptionElement} option */\nfunction get_option_value(option) {\n\t// __value only exists if the <option> has a value attribute\n\tif ('__value' in option) {\n\t\treturn option.__value;\n\t} else {\n\t\treturn option.value;\n\t}\n}\n","/** @import { Effect } from '#client' */\nimport { DEV } from 'esm-env';\nimport { hydrating, set_hydrating } from '../hydration.js';\nimport { get_descriptors, get_prototype_of } from '../../../shared/utils.js';\nimport { create_event, delegate } from './events.js';\nimport { add_form_reset_listener, autofocus } from './misc.js';\nimport * as w from '../../warnings.js';\nimport { LOADING_ATTR_SYMBOL } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { is_capture_event, can_delegate_event, normalize_attribute } from '../../../../utils.js';\nimport {\n\tactive_effect,\n\tactive_reaction,\n\tget,\n\tset_active_effect,\n\tset_active_reaction\n} from '../../runtime.js';\nimport { attach } from './attachments.js';\nimport { clsx } from '../../../shared/attributes.js';\nimport { set_class } from './class.js';\nimport { set_style } from './style.js';\nimport { ATTACHMENT_KEY, NAMESPACE_HTML, UNINITIALIZED } from '../../../../constants.js';\nimport { branch, destroy_effect, effect, managed } from '../../reactivity/effects.js';\nimport { init_select, select_option } from './bindings/select.js';\nimport { flatten } from '../../reactivity/async.js';\n\nexport const CLASS = Symbol('class');\nexport const STYLE = Symbol('style');\n\nconst IS_CUSTOM_ELEMENT = Symbol('is custom element');\nconst IS_HTML = Symbol('is html');\n\n/**\n * The value/checked attribute in the template actually corresponds to the defaultValue property, so we need\n * to remove it upon hydration to avoid a bug when someone resets the form value.\n * @param {HTMLInputElement} input\n * @returns {void}\n */\nexport function remove_input_defaults(input) {\n\tif (!hydrating) return;\n\n\tvar already_removed = false;\n\n\t// We try and remove the default attributes later, rather than sync during hydration.\n\t// Doing it sync during hydration has a negative impact on performance, but deferring the\n\t// work in an idle task alleviates this greatly. If a form reset event comes in before\n\t// the idle callback, then we ensure the input defaults are cleared just before.\n\tvar remove_defaults = () => {\n\t\tif (already_removed) return;\n\t\talready_removed = true;\n\n\t\t// Remove the attributes but preserve the values\n\t\tif (input.hasAttribute('value')) {\n\t\t\tvar value = input.value;\n\t\t\tset_attribute(input, 'value', null);\n\t\t\tinput.value = value;\n\t\t}\n\n\t\tif (input.hasAttribute('checked')) {\n\t\t\tvar checked = input.checked;\n\t\t\tset_attribute(input, 'checked', null);\n\t\t\tinput.checked = checked;\n\t\t}\n\t};\n\n\t// @ts-expect-error\n\tinput.__on_r = remove_defaults;\n\tqueue_micro_task(remove_defaults);\n\tadd_form_reset_listener();\n}\n\n/**\n * @param {Element} element\n * @param {any} value\n */\nexport function set_value(element, value) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.value ===\n\t\t\t(attributes.value =\n\t\t\t\t// treat null and undefined the same for the initial value\n\t\t\t\tvalue ?? undefined) ||\n\t\t// @ts-expect-error\n\t\t// `progress` elements always need their value set when it's `0`\n\t\t(element.value === value && (value !== 0 || element.nodeName !== 'PROGRESS'))\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.value = value ?? '';\n}\n\n/**\n * @param {Element} element\n * @param {boolean} checked\n */\nexport function set_checked(element, checked) {\n\tvar attributes = get_attributes(element);\n\n\tif (\n\t\tattributes.checked ===\n\t\t(attributes.checked =\n\t\t\t// treat null and undefined the same for the initial value\n\t\t\tchecked ?? undefined)\n\t) {\n\t\treturn;\n\t}\n\n\t// @ts-expect-error\n\telement.checked = checked;\n}\n\n/**\n * Sets the `selected` attribute on an `option` element.\n * Not set through the property because that doesn't reflect to the DOM,\n * which means it wouldn't be taken into account when a form is reset.\n * @param {HTMLOptionElement} element\n * @param {boolean} selected\n */\nexport function set_selected(element, selected) {\n\tif (selected) {\n\t\t// The selected option could've changed via user selection, and\n\t\t// setting the value without this check would set it back.\n\t\tif (!element.hasAttribute('selected')) {\n\t\t\telement.setAttribute('selected', '');\n\t\t}\n\t} else {\n\t\telement.removeAttribute('selected');\n\t}\n}\n\n/**\n * Applies the default checked property without influencing the current checked property.\n * @param {HTMLInputElement} element\n * @param {boolean} checked\n */\nexport function set_default_checked(element, checked) {\n\tconst existing_value = element.checked;\n\telement.defaultChecked = checked;\n\telement.checked = existing_value;\n}\n\n/**\n * Applies the default value property without influencing the current value property.\n * @param {HTMLInputElement | HTMLTextAreaElement} element\n * @param {string} value\n */\nexport function set_default_value(element, value) {\n\tconst existing_value = element.value;\n\telement.defaultValue = value;\n\telement.value = existing_value;\n}\n\n/**\n * @param {Element} element\n * @param {string} attribute\n * @param {string | null} value\n * @param {boolean} [skip_warning]\n */\nexport function set_attribute(element, attribute, value, skip_warning) {\n\tvar attributes = get_attributes(element);\n\n\tif (hydrating) {\n\t\tattributes[attribute] = element.getAttribute(attribute);\n\n\t\tif (\n\t\t\tattribute === 'src' ||\n\t\t\tattribute === 'srcset' ||\n\t\t\t(attribute === 'href' && element.nodeName === 'LINK')\n\t\t) {\n\t\t\tif (!skip_warning) {\n\t\t\t\tcheck_src_in_dev_hydration(element, attribute, value ?? '');\n\t\t\t}\n\n\t\t\t// If we reset these attributes, they would result in another network request, which we want to avoid.\n\t\t\t// We assume they are the same between client and server as checking if they are equal is expensive\n\t\t\t// (we can't just compare the strings as they can be different between client and server but result in the\n\t\t\t// same url, so we would need to create hidden anchor elements to compare them)\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (attributes[attribute] === (attributes[attribute] = value)) return;\n\n\tif (attribute === 'loading') {\n\t\t// @ts-expect-error\n\t\telement[LOADING_ATTR_SYMBOL] = value;\n\t}\n\n\tif (value == null) {\n\t\telement.removeAttribute(attribute);\n\t} else if (typeof value !== 'string' && get_setters(element).includes(attribute)) {\n\t\t// @ts-ignore\n\t\telement[attribute] = value;\n\t} else {\n\t\telement.setAttribute(attribute, value);\n\t}\n}\n\n/**\n * @param {Element} dom\n * @param {string} attribute\n * @param {string} value\n */\nexport function set_xlink_attribute(dom, attribute, value) {\n\tdom.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\n\n/**\n * @param {HTMLElement} node\n * @param {string} prop\n * @param {any} value\n */\nexport function set_custom_element_data(node, prop, value) {\n\t// We need to ensure that setting custom element props, which can\n\t// invoke lifecycle methods on other custom elements, does not also\n\t// associate those lifecycle methods with the current active reaction\n\t// or effect\n\tvar previous_reaction = active_reaction;\n\tvar previous_effect = active_effect;\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet was_hydrating = hydrating;\n\tif (hydrating) {\n\t\tset_hydrating(false);\n\t}\n\n\tset_active_reaction(null);\n\tset_active_effect(null);\n\n\ttry {\n\t\tif (\n\t\t\t// `style` should use `set_attribute` rather than the setter\n\t\t\tprop !== 'style' &&\n\t\t\t// Don't compute setters for custom elements while they aren't registered yet,\n\t\t\t// because during their upgrade/instantiation they might add more setters.\n\t\t\t// Instead, fall back to a simple \"an object, then set as property\" heuristic.\n\t\t\t(setters_cache.has(node.getAttribute('is') || node.nodeName) ||\n\t\t\t// customElements may not be available in browser extension contexts\n\t\t\t!customElements ||\n\t\t\tcustomElements.get(node.getAttribute('is') || node.tagName.toLowerCase())\n\t\t\t\t? get_setters(node).includes(prop)\n\t\t\t\t: value && typeof value === 'object')\n\t\t) {\n\t\t\t// @ts-expect-error\n\t\t\tnode[prop] = value;\n\t\t} else {\n\t\t\t// We did getters etc checks already, stringify before passing to set_attribute\n\t\t\t// to ensure it doesn't invoke the same logic again, and potentially populating\n\t\t\t// the setters cache too early.\n\t\t\tset_attribute(node, prop, value == null ? value : String(value));\n\t\t}\n\t} finally {\n\t\tset_active_reaction(previous_reaction);\n\t\tset_active_effect(previous_effect);\n\t\tif (was_hydrating) {\n\t\t\tset_hydrating(true);\n\t\t}\n\t}\n}\n\n/**\n * Spreads attributes onto a DOM element, taking into account the currently set attributes\n * @param {Element & ElementCSSInlineStyle} element\n * @param {Record<string | symbol, any> | undefined} prev\n * @param {Record<string | symbol, any>} next New attributes - this function mutates this object\n * @param {string} [css_hash]\n * @param {boolean} [should_remove_defaults]\n * @param {boolean} [skip_warning]\n * @returns {Record<string, any>}\n */\nfunction set_attributes(\n\telement,\n\tprev,\n\tnext,\n\tcss_hash,\n\tshould_remove_defaults = false,\n\tskip_warning = false\n) {\n\tif (hydrating && should_remove_defaults && element.tagName === 'INPUT') {\n\t\tvar input = /** @type {HTMLInputElement} */ (element);\n\t\tvar attribute = input.type === 'checkbox' ? 'defaultChecked' : 'defaultValue';\n\n\t\tif (!(attribute in next)) {\n\t\t\tremove_input_defaults(input);\n\t\t}\n\t}\n\n\tvar attributes = get_attributes(element);\n\n\tvar is_custom_element = attributes[IS_CUSTOM_ELEMENT];\n\tvar preserve_attribute_case = !attributes[IS_HTML];\n\n\t// If we're hydrating but the custom element is from Svelte, and it already scaffolded,\n\t// then it might run block logic in hydration mode, which we have to prevent.\n\tlet is_hydrating_custom_element = hydrating && is_custom_element;\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(false);\n\t}\n\n\tvar current = prev || {};\n\tvar is_option_element = element.tagName === 'OPTION';\n\n\tfor (var key in prev) {\n\t\tif (!(key in next)) {\n\t\t\tnext[key] = null;\n\t\t}\n\t}\n\n\tif (next.class) {\n\t\tnext.class = clsx(next.class);\n\t} else if (css_hash || next[CLASS]) {\n\t\tnext.class = null; /* force call to set_class() */\n\t}\n\n\tif (next[STYLE]) {\n\t\tnext.style ??= null; /* force call to set_style() */\n\t}\n\n\tvar setters = get_setters(element);\n\n\t// since key is captured we use const\n\tfor (const key in next) {\n\t\t// let instead of var because referenced in a closure\n\t\tlet value = next[key];\n\n\t\t// Up here because we want to do this for the initial value, too, even if it's undefined,\n\t\t// and this wouldn't be reached in case of undefined because of the equality check below\n\t\tif (is_option_element && key === 'value' && value == null) {\n\t\t\t// The <option> element is a special case because removing the value attribute means\n\t\t\t// the value is set to the text content of the option element, and setting the value\n\t\t\t// to null or undefined means the value is set to the string \"null\" or \"undefined\".\n\t\t\t// To align with how we handle this case in non-spread-scenarios, this logic is needed.\n\t\t\t// There's a super-edge-case bug here that is left in in favor of smaller code size:\n\t\t\t// Because of the \"set missing props to null\" logic above, we can't differentiate\n\t\t\t// between a missing value and an explicitly set value of null or undefined. That means\n\t\t\t// that once set, the value attribute of an <option> element can't be removed. This is\n\t\t\t// a very rare edge case, and removing the attribute altogether isn't possible either\n\t\t\t// for the <option value={undefined}> case, so we're not losing any functionality here.\n\t\t\t// @ts-ignore\n\t\t\telement.value = element.__value = '';\n\t\t\tcurrent[key] = value;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (key === 'class') {\n\t\t\tvar is_html = element.namespaceURI === 'http://www.w3.org/1999/xhtml';\n\t\t\tset_class(element, is_html, value, css_hash, prev?.[CLASS], next[CLASS]);\n\t\t\tcurrent[key] = value;\n\t\t\tcurrent[CLASS] = next[CLASS];\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (key === 'style') {\n\t\t\tset_style(element, value, prev?.[STYLE], next[STYLE]);\n\t\t\tcurrent[key] = value;\n\t\t\tcurrent[STYLE] = next[STYLE];\n\t\t\tcontinue;\n\t\t}\n\n\t\tvar prev_value = current[key];\n\n\t\t// Skip if value is unchanged, unless it's `undefined` and the element still has the attribute\n\t\tif (value === prev_value && !(value === undefined && element.hasAttribute(key))) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tcurrent[key] = value;\n\n\t\tvar prefix = key[0] + key[1]; // this is faster than key.slice(0, 2)\n\t\tif (prefix === '$$') continue;\n\n\t\tif (prefix === 'on') {\n\t\t\t/** @type {{ capture?: true }} */\n\t\t\tconst opts = {};\n\t\t\tconst event_handle_key = '$$' + key;\n\t\t\tlet event_name = key.slice(2);\n\t\t\tvar delegated = can_delegate_event(event_name);\n\n\t\t\tif (is_capture_event(event_name)) {\n\t\t\t\tevent_name = event_name.slice(0, -7);\n\t\t\t\topts.capture = true;\n\t\t\t}\n\n\t\t\tif (!delegated && prev_value) {\n\t\t\t\t// Listening to same event but different handler -> our handle function below takes care of this\n\t\t\t\t// If we were to remove and add listeners in this case, it could happen that the event is \"swallowed\"\n\t\t\t\t// (the browser seems to not know yet that a new one exists now) and doesn't reach the handler\n\t\t\t\t// https://github.com/sveltejs/svelte/issues/11903\n\t\t\t\tif (value != null) continue;\n\n\t\t\t\telement.removeEventListener(event_name, current[event_handle_key], opts);\n\t\t\t\tcurrent[event_handle_key] = null;\n\t\t\t}\n\n\t\t\tif (value != null) {\n\t\t\t\tif (!delegated) {\n\t\t\t\t\t/**\n\t\t\t\t\t * @this {any}\n\t\t\t\t\t * @param {Event} evt\n\t\t\t\t\t */\n\t\t\t\t\tfunction handle(evt) {\n\t\t\t\t\t\tcurrent[key].call(this, evt);\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrent[event_handle_key] = create_event(event_name, element, handle, opts);\n\t\t\t\t} else {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\telement[`__${event_name}`] = value;\n\t\t\t\t\tdelegate([event_name]);\n\t\t\t\t}\n\t\t\t} else if (delegated) {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[`__${event_name}`] = undefined;\n\t\t\t}\n\t\t} else if (key === 'style') {\n\t\t\t// avoid using the setter\n\t\t\tset_attribute(element, key, value);\n\t\t} else if (key === 'autofocus') {\n\t\t\tautofocus(/** @type {HTMLElement} */ (element), Boolean(value));\n\t\t} else if (!is_custom_element && (key === '__value' || (key === 'value' && value != null))) {\n\t\t\t// @ts-ignore We're not running this for custom elements because __value is actually\n\t\t\t// how Lit stores the current value on the element, and messing with that would break things.\n\t\t\telement.value = element.__value = value;\n\t\t} else if (key === 'selected' && is_option_element) {\n\t\t\tset_selected(/** @type {HTMLOptionElement} */ (element), value);\n\t\t} else {\n\t\t\tvar name = key;\n\t\t\tif (!preserve_attribute_case) {\n\t\t\t\tname = normalize_attribute(name);\n\t\t\t}\n\n\t\t\tvar is_default = name === 'defaultValue' || name === 'defaultChecked';\n\n\t\t\tif (value == null && !is_custom_element && !is_default) {\n\t\t\t\tattributes[key] = null;\n\n\t\t\t\tif (name === 'value' || name === 'checked') {\n\t\t\t\t\t// removing value/checked also removes defaultValue/defaultChecked — preserve\n\t\t\t\t\tlet input = /** @type {HTMLInputElement} */ (element);\n\t\t\t\t\tconst use_default = prev === undefined;\n\t\t\t\t\tif (name === 'value') {\n\t\t\t\t\t\tlet previous = input.defaultValue;\n\t\t\t\t\t\tinput.removeAttribute(name);\n\t\t\t\t\t\tinput.defaultValue = previous;\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tinput.value = input.__value = use_default ? previous : null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet previous = input.defaultChecked;\n\t\t\t\t\t\tinput.removeAttribute(name);\n\t\t\t\t\t\tinput.defaultChecked = previous;\n\t\t\t\t\t\tinput.checked = use_default ? previous : false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\telement.removeAttribute(key);\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tis_default ||\n\t\t\t\t(setters.includes(name) && (is_custom_element || typeof value !== 'string'))\n\t\t\t) {\n\t\t\t\t// @ts-ignore\n\t\t\t\telement[name] = value;\n\t\t\t\t// remove it from attributes's cache\n\t\t\t\tif (name in attributes) attributes[name] = UNINITIALIZED;\n\t\t\t} else if (typeof value !== 'function') {\n\t\t\t\tset_attribute(element, name, value, skip_warning);\n\t\t\t}\n\t\t}\n\t}\n\n\tif (is_hydrating_custom_element) {\n\t\tset_hydrating(true);\n\t}\n\n\treturn current;\n}\n\n/**\n * @param {Element & ElementCSSInlineStyle} element\n * @param {(...expressions: any) => Record<string | symbol, any>} fn\n * @param {Array<() => any>} sync\n * @param {Array<() => Promise<any>>} async\n * @param {Array<Promise<void>>} blockers\n * @param {string} [css_hash]\n * @param {boolean} [should_remove_defaults]\n * @param {boolean} [skip_warning]\n */\nexport function attribute_effect(\n\telement,\n\tfn,\n\tsync = [],\n\tasync = [],\n\tblockers = [],\n\tcss_hash,\n\tshould_remove_defaults = false,\n\tskip_warning = false\n) {\n\tflatten(blockers, sync, async, (values) => {\n\t\t/** @type {Record<string | symbol, any> | undefined} */\n\t\tvar prev = undefined;\n\n\t\t/** @type {Record<symbol, Effect>} */\n\t\tvar effects = {};\n\n\t\tvar is_select = element.nodeName === 'SELECT';\n\t\tvar inited = false;\n\n\t\tmanaged(() => {\n\t\t\tvar next = fn(...values.map(get));\n\t\t\t/** @type {Record<string | symbol, any>} */\n\t\t\tvar current = set_attributes(\n\t\t\t\telement,\n\t\t\t\tprev,\n\t\t\t\tnext,\n\t\t\t\tcss_hash,\n\t\t\t\tshould_remove_defaults,\n\t\t\t\tskip_warning\n\t\t\t);\n\n\t\t\tif (inited && is_select && 'value' in next) {\n\t\t\t\tselect_option(/** @type {HTMLSelectElement} */ (element), next.value);\n\t\t\t}\n\n\t\t\tfor (let symbol of Object.getOwnPropertySymbols(effects)) {\n\t\t\t\tif (!next[symbol]) destroy_effect(effects[symbol]);\n\t\t\t}\n\n\t\t\tfor (let symbol of Object.getOwnPropertySymbols(next)) {\n\t\t\t\tvar n = next[symbol];\n\n\t\t\t\tif (symbol.description === ATTACHMENT_KEY && (!prev || n !== prev[symbol])) {\n\t\t\t\t\tif (effects[symbol]) destroy_effect(effects[symbol]);\n\t\t\t\t\teffects[symbol] = branch(() => attach(element, () => n));\n\t\t\t\t}\n\n\t\t\t\tcurrent[symbol] = n;\n\t\t\t}\n\n\t\t\tprev = current;\n\t\t});\n\n\t\tif (is_select) {\n\t\t\tvar select = /** @type {HTMLSelectElement} */ (element);\n\n\t\t\teffect(() => {\n\t\t\t\tselect_option(select, /** @type {Record<string | symbol, any>} */ (prev).value, true);\n\t\t\t\tinit_select(select);\n\t\t\t});\n\t\t}\n\n\t\tinited = true;\n\t});\n}\n\n/**\n *\n * @param {Element} element\n */\nfunction get_attributes(element) {\n\treturn /** @type {Record<string | symbol, unknown>} **/ (\n\t\t// @ts-expect-error\n\t\telement.__attributes ??= {\n\t\t\t[IS_CUSTOM_ELEMENT]: element.nodeName.includes('-'),\n\t\t\t[IS_HTML]: element.namespaceURI === NAMESPACE_HTML\n\t\t}\n\t);\n}\n\n/** @type {Map<string, string[]>} */\nvar setters_cache = new Map();\n\n/** @param {Element} element */\nfunction get_setters(element) {\n\tvar cache_key = element.getAttribute('is') || element.nodeName;\n\tvar setters = setters_cache.get(cache_key);\n\tif (setters) return setters;\n\tsetters_cache.set(cache_key, (setters = []));\n\n\tvar descriptors;\n\tvar proto = element; // In the case of custom elements there might be setters on the instance\n\tvar element_proto = Element.prototype;\n\n\t// Stop at Element, from there on there's only unnecessary setters we're not interested in\n\t// Do not use contructor.name here as that's unreliable in some browser environments\n\twhile (element_proto !== proto) {\n\t\tdescriptors = get_descriptors(proto);\n\n\t\tfor (var key in descriptors) {\n\t\t\tif (descriptors[key].set) {\n\t\t\t\tsetters.push(key);\n\t\t\t}\n\t\t}\n\n\t\tproto = get_prototype_of(proto);\n\t}\n\n\treturn setters;\n}\n\n/**\n * @param {any} element\n * @param {string} attribute\n * @param {string} value\n */\nfunction check_src_in_dev_hydration(element, attribute, value) {\n\tif (!DEV) return;\n\tif (attribute === 'srcset' && srcset_url_equal(element, value)) return;\n\tif (src_url_equal(element.getAttribute(attribute) ?? '', value)) return;\n\n\tw.hydration_attribute_changed(\n\t\tattribute,\n\t\telement.outerHTML.replace(element.innerHTML, element.innerHTML && '...'),\n\t\tString(value)\n\t);\n}\n\n/**\n * @param {string} element_src\n * @param {string} url\n * @returns {boolean}\n */\nfunction src_url_equal(element_src, url) {\n\tif (element_src === url) return true;\n\treturn new URL(element_src, document.baseURI).href === new URL(url, document.baseURI).href;\n}\n\n/** @param {string} srcset */\nfunction split_srcset(srcset) {\n\treturn srcset.split(',').map((src) => src.trim().split(' ').filter(Boolean));\n}\n\n/**\n * @param {HTMLSourceElement | HTMLImageElement} element\n * @param {string} srcset\n * @returns {boolean}\n */\nfunction srcset_url_equal(element, srcset) {\n\tvar element_urls = split_srcset(element.srcset);\n\tvar urls = split_srcset(srcset);\n\n\treturn (\n\t\turls.length === element_urls.length &&\n\t\turls.every(\n\t\t\t([url, width], i) =>\n\t\t\t\twidth === element_urls[i][1] &&\n\t\t\t\t// We need to test both ways because Vite will create an a full URL with\n\t\t\t\t// `new URL(asset, import.meta.url).href` for the client when `base: './'`, and the\n\t\t\t\t// relative URLs inside srcset are not automatically resolved to absolute URLs by\n\t\t\t\t// browsers (in contrast to img.src). This means both SSR and DOM code could\n\t\t\t\t// contain relative or absolute URLs.\n\t\t\t\t(src_url_equal(element_urls[i][0], url) || src_url_equal(url, element_urls[i][0]))\n\t\t)\n\t);\n}\n"],"names":["attach","node","get_fn","fn","e","managed","destroy_effect","branch","effect","update_styles","dom","prev","next","priority","key","value","set_style","prev_styles","next_styles","hydrating","next_style_attr","to_style","select_option","select","mounting","is_array","w.select_multiple_invalid_value","option","get_option_value","option_value","is","init_select","observer","teardown","bind_select_value","get","set","batches","listen_to_event_and_reset_event","is_reset","query","selected_option","current_batch","batch","previous_batch","CLASS","STYLE","IS_CUSTOM_ELEMENT","IS_HTML","remove_input_defaults","input","already_removed","remove_defaults","set_attribute","checked","queue_micro_task","add_form_reset_listener","set_value","element","attributes","get_attributes","set_selected","selected","attribute","skip_warning","LOADING_ATTR_SYMBOL","get_setters","set_attributes","css_hash","should_remove_defaults","is_custom_element","preserve_attribute_case","is_hydrating_custom_element","set_hydrating","current","is_option_element","clsx","setters","is_html","set_class","prev_value","prefix","opts","event_handle_key","event_name","delegated","can_delegate_event","is_capture_event","delegate","handle","evt","create_event","autofocus","name","normalize_attribute","is_default","use_default","previous","UNINITIALIZED","attribute_effect","sync","async","blockers","flatten","values","effects","is_select","inited","symbol","n","ATTACHMENT_KEY","NAMESPACE_HTML","setters_cache","cache_key","descriptors","proto","element_proto","get_descriptors","get_prototype_of"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
package/dist/bundle.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import './components/accordionlist/AccordionList.js';
|
|
2
|
+
import './components/actionbottombar/ActionBottomBar.js';
|
|
3
|
+
import './components/actionlistbox/ActionListbox.js';
|
|
1
4
|
import './components/avatar/Avatar.js';
|
|
2
5
|
import './components/breadcrumb/Breadcrumb.js';
|
|
6
|
+
import './components/builtinmenu/BuiltInMenu.js';
|
|
3
7
|
import './components/button/Button.js';
|
|
4
8
|
import './components/callout/Callout.js';
|
|
5
9
|
import './components/carousel/Carousel.js';
|
|
@@ -11,6 +15,7 @@ import './components/datepicker/Datepicker.js';
|
|
|
11
15
|
import './components/divider/Divider.js';
|
|
12
16
|
import './components/drawer/Drawer.js';
|
|
13
17
|
import './components/field/Field.js';
|
|
18
|
+
import './components/fileuploader/FileUploader.js';
|
|
14
19
|
import './components/flag/Flag.js';
|
|
15
20
|
import './components/iconbutton/IconButton.js';
|
|
16
21
|
import './components/kpiitem/KpiItem.js';
|
|
@@ -35,6 +40,9 @@ import './components/statusbadge/StatusBadge.js';
|
|
|
35
40
|
import './components/statusdot/StatusDot.js';
|
|
36
41
|
import './components/statusmessage/StatusMessage.js';
|
|
37
42
|
import './components/statusnotification/StatusNotification.js';
|
|
43
|
+
import './components/steppercompact/StepperCompact.js';
|
|
44
|
+
import './components/stepperinline/StepperInline.js';
|
|
45
|
+
import './components/stepperbottombar/StepperBottomBar.js';
|
|
38
46
|
import './components/segmentedcontrol/SegmentedControl.js';
|
|
39
47
|
import './components/tab/Tab.js';
|
|
40
48
|
import './components/tabs/Tabs.js';
|
package/dist/bundle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,+BAA+B,CAAC;AACvC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6CAA6C,CAAC;AACrD,OAAO,yDAAyD,CAAC;AACjE,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,2BAA2B,CAAC;AACnC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,iCAAiC,CAAC;AACzC,OAAO,iEAAiE,CAAC;AACzE,OAAO,yEAAyE,CAAC;AACjF,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+CAA+C,CAAC;AACvD,OAAO,6BAA6B,CAAC;AACrC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC;AACzC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,6CAA6C,CAAC;AACrD,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC;AACzC,OAAO,mDAAmD,CAAC;AAC3D,OAAO,6BAA6B,CAAC;AACrC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+BAA+B,CAAC;AACvC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,6CAA6C,CAAC;AACrD,OAAO,uDAAuD,CAAC;AAC/D,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yBAAyB,CAAC;AACjC,OAAO,2BAA2B,CAAC;AACnC,OAAO,yBAAyB,CAAC;AACjC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AACvC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC"}
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA,OAAO,6CAA6C,CAAC;AACrD,OAAO,iDAAiD,CAAC;AACzD,OAAO,6CAA6C,CAAC;AACrD,OAAO,+BAA+B,CAAC;AACvC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,+BAA+B,CAAC;AACvC,OAAO,iCAAiC,CAAC;AACzC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,mCAAmC,CAAC;AAC3C,OAAO,6CAA6C,CAAC;AACrD,OAAO,yDAAyD,CAAC;AACjE,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AACvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,2CAA2C,CAAC;AACnD,OAAO,2BAA2B,CAAC;AACnC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,iCAAiC,CAAC;AACzC,OAAO,iEAAiE,CAAC;AACzE,OAAO,yEAAyE,CAAC;AACjF,OAAO,2BAA2B,CAAC;AACnC,OAAO,+BAA+B,CAAC;AACvC,OAAO,+CAA+C,CAAC;AACvD,OAAO,6BAA6B,CAAC;AACrC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC;AACzC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,6CAA6C,CAAC;AACrD,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC;AACzC,OAAO,mDAAmD,CAAC;AAC3D,OAAO,6BAA6B,CAAC;AACrC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,+BAA+B,CAAC;AACvC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,6CAA6C,CAAC;AACrD,OAAO,uDAAuD,CAAC;AAC/D,OAAO,+CAA+C,CAAC;AACvD,OAAO,6CAA6C,CAAC;AACrD,OAAO,mDAAmD,CAAC;AAC3D,OAAO,mDAAmD,CAAC;AAC3D,OAAO,yBAAyB,CAAC;AACjC,OAAO,2BAA2B,CAAC;AACnC,OAAO,yBAAyB,CAAC;AACjC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,iCAAiC,CAAC;AACzC,OAAO,+BAA+B,CAAC;AACvC,OAAO,yCAAyC,CAAC;AACjD,OAAO,iCAAiC,CAAC"}
|
package/dist/bundle.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import './components/accordionlist/AccordionList.js';
|
|
2
|
+
import './components/actionbottombar/ActionBottomBar.js';
|
|
3
|
+
import './components/actionlistbox/ActionListbox.js';
|
|
1
4
|
import './components/avatar/Avatar.js';
|
|
2
5
|
import './components/breadcrumb/Breadcrumb.js';
|
|
6
|
+
import './components/builtinmenu/BuiltInMenu.js';
|
|
3
7
|
import './components/button/Button.js';
|
|
4
8
|
import './components/callout/Callout.js';
|
|
5
9
|
import './components/carousel/Carousel.js';
|
|
@@ -11,6 +15,7 @@ import './components/datepicker/Datepicker.js';
|
|
|
11
15
|
import './components/divider/Divider.js';
|
|
12
16
|
import './components/drawer/Drawer.js';
|
|
13
17
|
import './components/field/Field.js';
|
|
18
|
+
import './components/fileuploader/FileUploader.js';
|
|
14
19
|
import './components/flag/Flag.js';
|
|
15
20
|
import './components/iconbutton/IconButton.js';
|
|
16
21
|
import './components/kpiitem/KpiItem.js';
|
|
@@ -35,6 +40,9 @@ import './components/statusbadge/StatusBadge.js';
|
|
|
35
40
|
import './components/statusdot/StatusDot.js';
|
|
36
41
|
import './components/statusmessage/StatusMessage.js';
|
|
37
42
|
import './components/statusnotification/StatusNotification.js';
|
|
43
|
+
import './components/steppercompact/StepperCompact.js';
|
|
44
|
+
import './components/stepperinline/StepperInline.js';
|
|
45
|
+
import './components/stepperbottombar/StepperBottomBar.js';
|
|
38
46
|
import './components/segmentedcontrol/SegmentedControl.js';
|
|
39
47
|
import './components/tab/Tab.js';
|
|
40
48
|
import './components/tabs/Tabs.js';
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import{w as m,aK as _,an as z,q as n,v as d,aL as u,c as y,p as E,a as C,b as v,m as L,A as M,t as I,f as S,g as B,h as D,d as A,j as p,r as F,n as O,o as q}from"../../custom-element.js";import{o as K}from"../../index-client.js";import{s as X}from"../../slot.js";import{b as Y}from"../../this.js";import{c as G}from"../../custom-element-forward-events.js";import{u as b,a as g}from"../../accordion-list.state.svelte.js";var H=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],J=["difference","intersection","symmetricDifference","union"],w=!1;class f extends Set{#o=new Map;#e=m(0);#r=m(0);#t=_||-1;constructor(e){if(super(),e){for(var o of e)super.add(o);this.#r.v=super.size}w||this.#n()}#i(e){return _===this.#t?m(e):z(e)}#n(){w=!0;var e=f.prototype,o=Set.prototype;for(const t of H)e[t]=function(...r){return n(this.#e),o[t].apply(this,r)};for(const t of J)e[t]=function(...r){n(this.#e);var s=o[t].apply(this,r);return new f(s)}}has(e){var o=super.has(e),t=this.#o,r=t.get(e);if(r===void 0){if(!o)return n(this.#e),!1;r=this.#i(!0),t.set(e,r)}return n(r),o}add(e){return super.has(e)||(super.add(e),d(this.#r,super.size),u(this.#e)),this}delete(e){var o=super.delete(e),t=this.#o,r=t.get(e);return r!==void 0&&(t.delete(e),d(r,!1)),o&&(d(this.#r,super.size),u(this.#e)),o}clear(){if(super.size!==0){super.clear();var e=this.#o;for(var o of e.values())d(o,!1);e.clear(),d(this.#r,0),u(this.#e)}}keys(){return this.values()}values(){return n(this.#e),super.values()}entries(){return n(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return n(this.#r)}}var N=D("<div><!></div>");const P={hash:"svelte-osf0jb",code:`/**
|
|
2
|
+
* Do not edit directly, this file was auto-generated.
|
|
3
|
+
*/.mc-accordion.svelte-osf0jb {border-radius:var(--border-radius-m, 0.5rem);background-color:var(--accordion-list-color-background-standard, #ffffff);color:var(--accordion-list-color-text-title, #000000);border:1px solid var(--accordion-list-color-border, #cccccc);box-sizing:border-box;overflow:hidden;}
|
|
4
|
+
@supports (interpolate-size: allow-keywords) {.mc-accordion.svelte-osf0jb {interpolate-size:allow-keywords;}
|
|
5
|
+
}.mc-accordion__item.svelte-osf0jb {border-bottom:1px solid var(--accordion-list-color-border, #cccccc);}
|
|
6
|
+
@media (prefers-reduced-motion: no-preference) {.mc-accordion__item.svelte-osf0jb {transition:border-color 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67);}
|
|
7
|
+
}
|
|
8
|
+
@media (prefers-reduced-motion: reduce) {.mc-accordion__item.svelte-osf0jb {transition:none;}
|
|
9
|
+
}.mc-accordion__item.svelte-osf0jb:last-child {border-bottom:none;}
|
|
10
|
+
@supports (interpolate-size: allow-keywords) {
|
|
11
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
12
|
+
}
|
|
13
|
+
@media (prefers-reduced-motion: reduce) {
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
17
|
+
}
|
|
18
|
+
@media (prefers-reduced-motion: reduce) {
|
|
19
|
+
}.mc-accordion__header.svelte-osf0jb {position:relative;background-color:var(--accordion-list-color-background-standard, #ffffff);}
|
|
20
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
21
|
+
}
|
|
22
|
+
@media (prefers-reduced-motion: reduce) {
|
|
23
|
+
}.mc-accordion__title.svelte-osf0jb {font-size:var(--font-size-150, 1rem);font-weight:var(--font-weight-semi-bold, 600);line-height:var(--line-height-m, 1.5);display:block;margin-block:0;padding:0;font-family:inherit;position:relative;z-index:1;}.mc-accordion__title-wrapper.svelte-osf0jb {display:flex;flex-direction:column;flex:1;min-width:0;}.mc-accordion__subtitle.svelte-osf0jb {font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-light, 300);line-height:var(--line-height-m, 1.5);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;margin-block:0;padding:0;color:var(--accordion-list-color-text-subtitle, #666666);position:relative;z-index:1;}
|
|
24
|
+
@media (prefers-reduced-motion: no-preference) {.mc-accordion__trigger.svelte-osf0jb {transition:background-color 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67), box-shadow 200ms ease;}
|
|
25
|
+
}
|
|
26
|
+
@media (prefers-reduced-motion: reduce) {.mc-accordion__trigger.svelte-osf0jb {transition:none;}
|
|
27
|
+
}.mc-accordion__trigger.svelte-osf0jb:focus-visible {outline:none;}.mc-accordion__trigger.svelte-osf0jb:focus-visible::before {box-shadow:inset 0 0 0 0.125rem var(--focus-color-mid, var(--focus-color-outline-outer, #000000)), inset 0 0 0 0.25rem var(--focus-color-outer, var(--focus-color-outline-mid, #ffffff));outline:0.125rem solid transparent;outline-offset:0.125rem;}.mc-accordion__trigger.svelte-osf0jb:disabled {cursor:not-allowed;opacity:0.5;pointer-events:none;}.mc-accordion__trigger.svelte-osf0jb {display:flex;align-items:center;gap:0.5rem;padding:1rem 0.75rem;margin-block:0;background-color:transparent;border:0;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;position:relative;text-align:left;text-decoration:none;text-transform:none;vertical-align:baseline;appearance:none;}
|
|
28
|
+
@media (prefers-reduced-motion: no-preference) {.mc-accordion__trigger.svelte-osf0jb::before {transition:background-color 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67), box-shadow 200ms ease;}
|
|
29
|
+
}
|
|
30
|
+
@media (prefers-reduced-motion: reduce) {.mc-accordion__trigger.svelte-osf0jb::before {transition:none;}
|
|
31
|
+
}.mc-accordion__trigger.svelte-osf0jb::before {content:"";position:absolute;inset:0.25rem;background-color:transparent;pointer-events:none;z-index:-1;outline:0 solid transparent;outline-offset:-0.125rem;border-radius:var(--border-radius-s, 0.25rem);}.mc-accordion__trigger.svelte-osf0jb:not(.mc-accordion__header:where(.svelte-osf0jb):is(summary) .mc-accordion__trigger:where(.svelte-osf0jb)) {padding-right:2.25rem;}
|
|
32
|
+
@media (prefers-reduced-motion: no-preference) {.mc-accordion__trigger.svelte-osf0jb:not(.mc-accordion__header:where(.svelte-osf0jb):is(summary) .mc-accordion__trigger:where(.svelte-osf0jb))::after {transition:transform 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67);}
|
|
33
|
+
}
|
|
34
|
+
@media (prefers-reduced-motion: reduce) {.mc-accordion__trigger.svelte-osf0jb:not(.mc-accordion__header:where(.svelte-osf0jb):is(summary) .mc-accordion__trigger:where(.svelte-osf0jb))::after {transition:none;}
|
|
35
|
+
}.mc-accordion__trigger.svelte-osf0jb:not(.mc-accordion__header:where(.svelte-osf0jb):is(summary) .mc-accordion__trigger:where(.svelte-osf0jb))::after {transform:translateY(-50%) rotateX(0deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--accordion-list-color-text-title, %23000000)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5a1 1 0 01-.71-.29l-5-5a1 1 0 011.42-1.42L8 9.09l4.29-4.3a1 1 0 111.42 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E");content:"";position:absolute;right:1rem;top:50%;flex-shrink:0;width:1rem;height:1rem;background-repeat:no-repeat;background-position:center;background-size:1rem;z-index:1;}
|
|
36
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
37
|
+
}
|
|
38
|
+
@media (prefers-reduced-motion: reduce) {
|
|
39
|
+
}.mc-accordion__trigger.svelte-osf0jb:hover::before {background-color:var(--accordion-list-color-background-hover, rgba(70, 78, 99, 0.1));}.mc-accordion__trigger.svelte-osf0jb:hover::after {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--accordion-list-color-text-title, %23000000)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5a1 1 0 01-.71-.29l-5-5a1 1 0 011.42-1.42L8 9.09l4.29-4.3a1 1 0 111.42 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E");}.mc-accordion__trigger.svelte-osf0jb:active::before {background-color:var(--accordion-list-color-background-hover, rgba(70, 78, 99, 0.1));}.mc-accordion__trigger.svelte-osf0jb:active::after {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-hidden='true' height='1rem' width='1rem' fill='var(--accordion-list-color-text-title, %23000000)' viewBox='0 0 16 16'%3E%3Cpath d='M8 11.5a1 1 0 01-.71-.29l-5-5a1 1 0 011.42-1.42L8 9.09l4.29-4.3a1 1 0 111.42 1.42l-5 5a1 1 0 01-.71.29z'/%3E%3C/svg%3E");}.mc-accordion__icon.svelte-osf0jb {flex-shrink:0;width:2rem;height:2rem;fill:currentcolor;}.mc-accordion__content.svelte-osf0jb {font-size:var(--font-size-100, 0.875rem);font-weight:var(--font-weight-regular, 400);line-height:var(--line-height-m, 1.5);background-color:var(--accordion-list-color-background-standard, #ffffff);overflow:hidden;padding:0 0.75rem;max-height:0;}
|
|
40
|
+
@media (prefers-reduced-motion: no-preference) {.mc-accordion__content.svelte-osf0jb {transition:max-height 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67), padding 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67);}
|
|
41
|
+
}
|
|
42
|
+
@media (prefers-reduced-motion: reduce) {.mc-accordion__content.svelte-osf0jb {transition:none;}
|
|
43
|
+
}
|
|
44
|
+
@supports (interpolate-size: allow-keywords) {
|
|
45
|
+
@media (prefers-reduced-motion: no-preference) {.mc-accordion__content.svelte-osf0jb {transition:height 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67), padding 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67), content-visibility 0.2s cubic-bezier(0.17, 0.67, 0.83, 0.67);transition-behavior:allow-discrete;}
|
|
46
|
+
}
|
|
47
|
+
@media (prefers-reduced-motion: reduce) {.mc-accordion__content.svelte-osf0jb {transition:none;}
|
|
48
|
+
}.mc-accordion__content.svelte-osf0jb {height:0;max-height:none;padding-top:0;padding-bottom:0;}
|
|
49
|
+
}.mc-accordion--ghost.svelte-osf0jb {background-color:transparent;border:none;}`};function Q(h,e){E(e,!0),C(h,P);let o=v(e,"appearance",7,"standard"),t=v(e,"behavior",7,"multiple"),r=v(e,"value",31,()=>L([])),s;M(()=>{b([...r()])}),K(()=>{const i=k=>{const a=k.detail.id;if(t()==="single")b(g.openIds.includes(a)?[]:[a]),r([a]);else{const l=new f([...g.openIds]);l.has(a)?l.delete(a):l.add(a),b([...l]),r([...g.openIds])}};return s.addEventListener("update:open",i),()=>{s.removeEventListener("update:open",i)}});var j={get appearance(){return o()},set appearance(i="standard"){o(i),p()},get behavior(){return t()},set behavior(i="multiple"){t(i),p()},get value(){return r()},set value(i=[]){r(i),p()}},c=N(),x=A(c);return X(x,e,"default",{},null),F(c),Y(c,i=>s=i,()=>s),I(()=>O(c,1,q(["mc-accordion",`mc-accordion--${o()}`]),"svelte-osf0jb")),S(h,c),B(j)}customElements.define("m-accordion-list",y(Q,{appearance:{},behavior:{},value:{}},["default"],[],!0,G));
|
|
50
|
+
//# sourceMappingURL=AccordionList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionList.js","sources":["../../../node_modules/svelte/src/reactivity/set.js","../../../src/components/accordionlist/AccordionList.svelte"],"sourcesContent":["/** @import { Source } from '#client' */\nimport { DEV } from 'esm-env';\nimport { source, set, state, increment } from '../internal/client/reactivity/sources.js';\nimport { label, tag } from '../internal/client/dev/tracing.js';\nimport { get, update_version } from '../internal/client/runtime.js';\n\nvar read_methods = ['forEach', 'isDisjointFrom', 'isSubsetOf', 'isSupersetOf'];\nvar set_like_methods = ['difference', 'intersection', 'symmetricDifference', 'union'];\n\nvar inited = false;\n\n/**\n * A reactive version of the built-in [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) object.\n * Reading contents of the set (by iterating, or by reading `set.size` or calling `set.has(...)` as in the [example](https://svelte.dev/playground/53438b51194b4882bcc18cddf9f96f15) below) in an [effect](https://svelte.dev/docs/svelte/$effect) or [derived](https://svelte.dev/docs/svelte/$derived)\n * will cause it to be re-evaluated as necessary when the set is updated.\n *\n * Note that values in a reactive set are _not_ made [deeply reactive](https://svelte.dev/docs/svelte/$state#Deep-state).\n *\n * ```svelte\n * <script>\n * \timport { SvelteSet } from 'svelte/reactivity';\n * \tlet monkeys = new SvelteSet();\n *\n * \tfunction toggle(monkey) {\n * \t\tif (monkeys.has(monkey)) {\n * \t\t\tmonkeys.delete(monkey);\n * \t\t} else {\n * \t\t\tmonkeys.add(monkey);\n * \t\t}\n * \t}\n * </script>\n *\n * {#each ['🙈', '🙉', '🙊'] as monkey}\n * \t<button onclick={() => toggle(monkey)}>{monkey}</button>\n * {/each}\n *\n * <button onclick={() => monkeys.clear()}>clear</button>\n *\n * {#if monkeys.has('🙈')}<p>see no evil</p>{/if}\n * {#if monkeys.has('🙉')}<p>hear no evil</p>{/if}\n * {#if monkeys.has('🙊')}<p>speak no evil</p>{/if}\n * ```\n *\n * @template T\n * @extends {Set<T>}\n */\nexport class SvelteSet extends Set {\n\t/** @type {Map<T, Source<boolean>>} */\n\t#sources = new Map();\n\t#version = state(0);\n\t#size = state(0);\n\t#update_version = update_version || -1;\n\n\t/**\n\t * @param {Iterable<T> | null | undefined} [value]\n\t */\n\tconstructor(value) {\n\t\tsuper();\n\n\t\tif (DEV) {\n\t\t\t// If the value is invalid then the native exception will fire here\n\t\t\tvalue = new Set(value);\n\n\t\t\ttag(this.#version, 'SvelteSet version');\n\t\t\ttag(this.#size, 'SvelteSet.size');\n\t\t}\n\n\t\tif (value) {\n\t\t\tfor (var element of value) {\n\t\t\t\tsuper.add(element);\n\t\t\t}\n\t\t\tthis.#size.v = super.size;\n\t\t}\n\n\t\tif (!inited) this.#init();\n\t}\n\n\t/**\n\t * If the source is being created inside the same reaction as the SvelteSet instance,\n\t * we use `state` so that it will not be a dependency of the reaction. Otherwise we\n\t * use `source` so it will be.\n\t *\n\t * @template T\n\t * @param {T} value\n\t * @returns {Source<T>}\n\t */\n\t#source(value) {\n\t\treturn update_version === this.#update_version ? state(value) : source(value);\n\t}\n\n\t// We init as part of the first instance so that we can treeshake this class\n\t#init() {\n\t\tinited = true;\n\n\t\tvar proto = SvelteSet.prototype;\n\t\tvar set_proto = Set.prototype;\n\n\t\tfor (const method of read_methods) {\n\t\t\t// @ts-ignore\n\t\t\tproto[method] = function (...v) {\n\t\t\t\tget(this.#version);\n\t\t\t\t// @ts-ignore\n\t\t\t\treturn set_proto[method].apply(this, v);\n\t\t\t};\n\t\t}\n\n\t\tfor (const method of set_like_methods) {\n\t\t\t// @ts-ignore\n\t\t\tproto[method] = function (...v) {\n\t\t\t\tget(this.#version);\n\t\t\t\t// @ts-ignore\n\t\t\t\tvar set = /** @type {Set<T>} */ (set_proto[method].apply(this, v));\n\t\t\t\treturn new SvelteSet(set);\n\t\t\t};\n\t\t}\n\t}\n\n\t/** @param {T} value */\n\thas(value) {\n\t\tvar has = super.has(value);\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(value);\n\n\t\tif (s === undefined) {\n\t\t\tif (!has) {\n\t\t\t\t// If the value doesn't exist, track the version in case it's added later\n\t\t\t\t// but don't create sources willy-nilly to track all possible values\n\t\t\t\tget(this.#version);\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\ts = this.#source(true);\n\n\t\t\tif (DEV) {\n\t\t\t\ttag(s, `SvelteSet has(${label(value)})`);\n\t\t\t}\n\n\t\t\tsources.set(value, s);\n\t\t}\n\n\t\tget(s);\n\t\treturn has;\n\t}\n\n\t/** @param {T} value */\n\tadd(value) {\n\t\tif (!super.has(value)) {\n\t\t\tsuper.add(value);\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t/** @param {T} value */\n\tdelete(value) {\n\t\tvar deleted = super.delete(value);\n\t\tvar sources = this.#sources;\n\t\tvar s = sources.get(value);\n\n\t\tif (s !== undefined) {\n\t\t\tsources.delete(value);\n\t\t\tset(s, false);\n\t\t}\n\n\t\tif (deleted) {\n\t\t\tset(this.#size, super.size);\n\t\t\tincrement(this.#version);\n\t\t}\n\n\t\treturn deleted;\n\t}\n\n\tclear() {\n\t\tif (super.size === 0) {\n\t\t\treturn;\n\t\t}\n\t\t// Clear first, so we get nice console.log outputs with $inspect\n\t\tsuper.clear();\n\t\tvar sources = this.#sources;\n\n\t\tfor (var s of sources.values()) {\n\t\t\tset(s, false);\n\t\t}\n\n\t\tsources.clear();\n\t\tset(this.#size, 0);\n\t\tincrement(this.#version);\n\t}\n\n\tkeys() {\n\t\treturn this.values();\n\t}\n\n\tvalues() {\n\t\tget(this.#version);\n\t\treturn super.values();\n\t}\n\n\tentries() {\n\t\tget(this.#version);\n\t\treturn super.entries();\n\t}\n\n\t[Symbol.iterator]() {\n\t\treturn this.keys();\n\t}\n\n\tget size() {\n\t\treturn get(this.#size);\n\t}\n}\n","<svelte:options customElement={{ tag: 'm-accordion-list', extend: customElementForwardEvents }} />\n\n<script lang=\"ts\">\n import { onMount } from 'svelte';\n import { SvelteSet } from 'svelte/reactivity';\n import { customElementForwardEvents } from '../../utils';\n import { accordion, update } from './accordion-list.state.svelte';\n\n /**\n * An Accordion List is a component that organizes content into collapsible sections, allowing users to show or hide related information within a vertically stacked layout. This structure helps optimize space and improve readability by displaying only relevant content when needed. Accordion Lists are commonly used in FAQs, settings menus, and structured content navigation to enhance user experience and reduce visual clutter.\n *\n * @slot default - Use this slot to display the accordion items.\n */\n\n interface Props {\n /**\n * Defines the visual appearance of the button.\n */\n appearance?: 'standard' | 'ghost';\n /**\n * Component behavior: `multiple` allows all items to be open simultaneously, `single` ensures only one item is open at a time. For native HTML implementation, the `single` behavior uses the HTML5 `name` attribute on `<details>` elements for browser-native exclusive behavior..\n */\n behavior?: 'multiple' | 'single';\n /**\n * IDs of the Accordion items that are currently open. Updating this array controls which sections are expanded.\n */\n value?: string[];\n }\n\n let { appearance = 'standard', behavior = 'multiple', value = $bindable([]) }: Props = $props();\n\n let element: HTMLElement;\n\n $effect(() => {\n update([...value]);\n });\n\n onMount(() => {\n const handler = (event: Event) => {\n const customEvent = event as CustomEvent;\n const itemId = customEvent.detail.id;\n\n if (behavior === 'single') {\n update(accordion.openIds.includes(itemId) ? [] : [itemId]);\n value = [itemId];\n } else {\n const set = new SvelteSet([...accordion.openIds]);\n if (set.has(itemId)) {\n set.delete(itemId);\n } else {\n set.add(itemId);\n }\n update([...set]);\n value = [...accordion.openIds];\n }\n };\n\n element.addEventListener('update:open', handler);\n\n return () => {\n element.removeEventListener('update:open', handler);\n };\n });\n</script>\n\n<div bind:this={element} class={['mc-accordion', `mc-accordion--${appearance}`]}>\n <slot />\n</div>\n\n<style lang=\"scss\">\n @use '@mozaic-ds/styles/components/accordion-list';\n</style>\n"],"names":["read_methods","set_like_methods","inited","SvelteSet","#sources","#version","state","#size","#update_version","update_version","value","element","#init","#source","source","proto","set_proto","method","v","get","set","has","sources","s","increment","deleted","appearance","behavior","$.prop","$$props","$.proxy","$.user_effect","update","onMount","handler","event","itemId","accordion","div","root","$$value","$.clsx","customElementForwardEvents"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { render, fireEvent } from '@testing-library/svelte';
|
|
2
|
+
import { describe, it, expect } from 'vitest';
|
|
3
|
+
import AccordionList from './AccordionList.svelte';
|
|
4
|
+
describe('AccordionList', () => {
|
|
5
|
+
it('renders with default props', () => {
|
|
6
|
+
const { container } = render(AccordionList);
|
|
7
|
+
const accordion = container.querySelector('.mc-accordion');
|
|
8
|
+
expect(accordion).toBeTruthy();
|
|
9
|
+
expect(accordion?.classList.contains('mc-accordion--ghost')).toBe(false);
|
|
10
|
+
});
|
|
11
|
+
it('applies ghost appearance', () => {
|
|
12
|
+
const { container } = render(AccordionList, { appearance: 'ghost' });
|
|
13
|
+
const accordion = container.querySelector('.mc-accordion');
|
|
14
|
+
expect(accordion?.classList.contains('mc-accordion--ghost')).toBe(true);
|
|
15
|
+
});
|
|
16
|
+
it('handles multiple behavior', async () => {
|
|
17
|
+
const { container, component } = render(AccordionList, { behavior: 'multiple' });
|
|
18
|
+
const element = container.querySelector('.mc-accordion');
|
|
19
|
+
await fireEvent(element, new CustomEvent('update:open', { detail: { id: 'item1' } }));
|
|
20
|
+
await fireEvent(element, new CustomEvent('update:open', { detail: { id: 'item2' } }));
|
|
21
|
+
expect(component.value).toContain('item1');
|
|
22
|
+
expect(component.value).toContain('item2');
|
|
23
|
+
});
|
|
24
|
+
it('handles single behavior', async () => {
|
|
25
|
+
const { container, component } = render(AccordionList, { behavior: 'single' });
|
|
26
|
+
const element = container.querySelector('.mc-accordion');
|
|
27
|
+
await fireEvent(element, new CustomEvent('update:open', { detail: { id: 'item1' } }));
|
|
28
|
+
expect(component.value).toEqual(['item1']);
|
|
29
|
+
await fireEvent(element, new CustomEvent('update:open', { detail: { id: 'item2' } }));
|
|
30
|
+
expect(component.value).toEqual(['item2']);
|
|
31
|
+
});
|
|
32
|
+
it('toggles items in multiple mode', async () => {
|
|
33
|
+
const { container, component } = render(AccordionList, { behavior: 'multiple' });
|
|
34
|
+
const element = container.querySelector('.mc-accordion');
|
|
35
|
+
await fireEvent(element, new CustomEvent('update:open', { detail: { id: 'item1' } }));
|
|
36
|
+
expect(component.value).toContain('item1');
|
|
37
|
+
await fireEvent(element, new CustomEvent('update:open', { detail: { id: 'item1' } }));
|
|
38
|
+
expect(component.value).not.toContain('item1');
|
|
39
|
+
});
|
|
40
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
import './AccordionList.svelte';
|
|
3
|
+
import '../accordionlistItem/AccordionListItem.svelte';
|
|
4
|
+
import '@mozaic-ds/icons-svelte/components/Wrench32/Wrench32.svelte';
|
|
5
|
+
import '@mozaic-ds/icons-svelte/components/Project32/Project32.svelte';
|
|
6
|
+
import '@mozaic-ds/icons-svelte/components/Sharpening32/Sharpening32.svelte';
|
|
7
|
+
declare const meta: Meta;
|
|
8
|
+
export default meta;
|
|
9
|
+
type Story = StoryObj;
|
|
10
|
+
export declare const Default: Story;
|
|
11
|
+
export declare const Ghost: Story;
|
|
12
|
+
export declare const WithIcons: Story;
|
|
13
|
+
export declare const WithSubtitle: Story;
|
|
14
|
+
export declare const WithSingleBehavior: Story;
|
|
15
|
+
//# sourceMappingURL=AccordionList.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccordionList.stories.d.ts","sourceRoot":"","sources":["../../../src/components/accordionlist/AccordionList.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAKrE,OAAO,wBAAwB,CAAC;AAChC,OAAO,+CAA+C,CAAC;AAEvD,OAAO,6DAA6D,CAAC;AACrE,OAAO,+DAA+D,CAAC;AACvE,OAAO,qEAAqE,CAAC;AAE7E,QAAA,MAAM,IAAI,EAAE,IAsCX,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC;AAEtB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,KAAK,EAAE,KAInB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KA6BvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KA8B1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAwBhC,CAAC"}
|