@svelte-atoms/core 1.0.0-alpha.41 → 1.0.0-alpha.44
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/LICENSE +21 -21
- package/README.md +67 -197
- package/dist/attachments/clickout.svelte.d.ts +4 -1
- package/dist/attachments/clickout.svelte.js +2 -1
- package/dist/components/accordion/accordion-root.svelte +61 -66
- package/dist/components/accordion/accordion-root.svelte.d.ts +2 -2
- package/dist/components/accordion/bond.svelte.d.ts +11 -10
- package/dist/components/accordion/bond.svelte.js +26 -16
- package/dist/components/accordion/item/accordion-item-body.svelte +3 -1
- package/dist/components/accordion/item/accordion-item-header.svelte +1 -1
- package/dist/components/accordion/item/accordion-item-indicator.svelte +1 -1
- package/dist/components/accordion/item/accordion-item-root.svelte +3 -2
- package/dist/components/accordion/item/bond.svelte.d.ts +32 -18
- package/dist/components/accordion/item/bond.svelte.js +88 -64
- package/dist/components/accordion/item/types.d.ts +4 -24
- package/dist/components/accordion/types.d.ts +5 -9
- package/dist/components/alert/alert-root.svelte +68 -68
- package/dist/components/alert/types.d.ts +12 -46
- package/dist/components/atom/html-atom.svelte +84 -95
- package/dist/components/atom/html-atom.svelte.d.ts +1 -2
- package/dist/components/atom/index.d.ts +1 -0
- package/dist/components/atom/index.js +1 -0
- package/dist/components/atom/types.d.ts +52 -10
- package/dist/components/atom/types.js +1 -1
- package/dist/components/atom/utils.d.ts +10 -3
- package/dist/components/atom/utils.js +112 -45
- package/dist/components/avatar/types.d.ts +1 -6
- package/dist/components/badge/index.d.ts +1 -0
- package/dist/components/badge/types.d.ts +4 -7
- package/dist/components/button/button.svelte +31 -31
- package/dist/components/button/types.d.ts +9 -6
- package/dist/components/calendar/calendar-body.svelte +0 -1
- package/dist/components/calendar/calendar-day.svelte +99 -99
- package/dist/components/calendar/calendar-header.svelte +1 -1
- package/dist/components/calendar/calendar-root.svelte +206 -206
- package/dist/components/calendar/calendar-root.svelte.d.ts +1 -1
- package/dist/components/calendar/calendar-week-day.svelte +33 -33
- package/dist/components/calendar/types.d.ts +7 -10
- package/dist/components/card/card-root.svelte +92 -92
- package/dist/components/card/types.d.ts +12 -51
- package/dist/components/checkbox/checkbox.svelte +65 -55
- package/dist/components/checkbox/checkbox.svelte.d.ts +1 -3
- package/dist/components/checkbox/index.d.ts +2 -0
- package/dist/components/checkbox/index.js +1 -0
- package/dist/components/checkbox/motion.d.ts +17 -0
- package/dist/components/checkbox/motion.js +34 -0
- package/dist/components/checkbox/types.d.ts +14 -7
- package/dist/components/chip/chip-close-button.svelte +33 -0
- package/dist/components/chip/chip-close-button.svelte.d.ts +4 -0
- package/dist/components/chip/chip.svelte +34 -41
- package/dist/components/chip/chip.svelte.d.ts +1 -3
- package/dist/components/chip/index.d.ts +2 -0
- package/dist/components/chip/index.js +2 -0
- package/dist/components/chip/types.d.ts +15 -8
- package/dist/components/collapsible/bond.svelte.d.ts +34 -24
- package/dist/components/collapsible/bond.svelte.js +73 -60
- package/dist/components/collapsible/collapsible-body.svelte +1 -1
- package/dist/components/collapsible/collapsible-header.svelte +1 -1
- package/dist/components/collapsible/collapsible-indicator.svelte +1 -1
- package/dist/components/collapsible/collapsible-root.svelte +67 -67
- package/dist/components/collapsible/types.d.ts +10 -22
- package/dist/components/combobox/bond.svelte.d.ts +13 -8
- package/dist/components/combobox/bond.svelte.js +30 -20
- package/dist/components/combobox/combobox-control.svelte +66 -66
- package/dist/components/combobox/combobox-item.svelte +62 -62
- package/dist/components/combobox/combobox-root.svelte +65 -65
- package/dist/components/combobox/combobox-root.svelte.d.ts +2 -2
- package/dist/components/combobox/combobox-selections.svelte +17 -17
- package/dist/components/combobox/combobox-trigger.svelte +34 -34
- package/dist/components/combobox/types.d.ts +6 -10
- package/dist/components/container/index.d.ts +1 -0
- package/dist/components/container/types.d.ts +6 -12
- package/dist/components/context-menu/atoms.d.ts +4 -0
- package/dist/components/context-menu/atoms.js +4 -0
- package/dist/components/context-menu/context-menu-content.svelte +52 -0
- package/dist/components/context-menu/context-menu-content.svelte.d.ts +27 -0
- package/dist/components/context-menu/context-menu-root.svelte +8 -0
- package/dist/components/context-menu/context-menu-root.svelte.d.ts +4 -0
- package/dist/components/context-menu/context-menu-trigger.svelte +59 -0
- package/dist/components/context-menu/context-menu-trigger.svelte.d.ts +27 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/context-menu/index.js +2 -0
- package/dist/components/{contextmenu → context-menu}/types.d.ts +1 -6
- package/dist/components/datagrid/atoms.d.ts +11 -5
- package/dist/components/datagrid/atoms.js +11 -5
- package/dist/components/datagrid/bond.svelte.d.ts +29 -14
- package/dist/components/datagrid/bond.svelte.js +45 -33
- package/dist/components/datagrid/cell/bond.svelte.d.ts +29 -0
- package/dist/components/datagrid/cell/bond.svelte.js +42 -0
- package/dist/components/datagrid/cell/datagrid-cell.svelte +49 -0
- package/dist/components/datagrid/cell/datagrid-cell.svelte.d.ts +26 -0
- package/dist/components/datagrid/cell/index.d.ts +4 -0
- package/dist/components/datagrid/cell/index.js +4 -0
- package/dist/components/datagrid/col/index.d.ts +4 -0
- package/dist/components/datagrid/col/index.js +4 -0
- package/dist/components/datagrid/column/bond.svelte.d.ts +45 -0
- package/dist/components/datagrid/column/bond.svelte.js +76 -0
- package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte → column/datagrid-column-sort-icon.svelte} +3 -3
- package/dist/components/datagrid/{th/datagrid-th-sort-icon.svelte.d.ts → column/datagrid-column-sort-icon.svelte.d.ts} +3 -3
- package/dist/components/datagrid/{th/datagrid-th.svelte → column/datagrid-column.svelte} +27 -36
- package/dist/components/datagrid/column/datagrid-column.svelte.d.ts +26 -0
- package/dist/components/datagrid/column/index.d.ts +4 -0
- package/dist/components/datagrid/column/index.js +4 -0
- package/dist/components/datagrid/context.d.ts +2 -29
- package/dist/components/datagrid/context.js +4 -18
- package/dist/components/datagrid/datagrid-body.svelte +7 -20
- package/dist/components/datagrid/datagrid-body.svelte.d.ts +8 -15
- package/dist/components/datagrid/datagrid-checkbox.svelte +60 -63
- package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +1 -3
- package/dist/components/datagrid/datagrid-footer.svelte +27 -34
- package/dist/components/datagrid/datagrid-footer.svelte.d.ts +12 -12
- package/dist/components/datagrid/datagrid-header.svelte +10 -17
- package/dist/components/datagrid/datagrid-header.svelte.d.ts +12 -12
- package/dist/components/datagrid/datagrid-root.svelte +49 -59
- package/dist/components/datagrid/datagrid-root.svelte.d.ts +15 -14
- package/dist/components/datagrid/row/bond.svelte.d.ts +42 -0
- package/dist/components/datagrid/row/bond.svelte.js +72 -0
- package/dist/components/datagrid/{tr/datagrid-tr.css → row/datagrid-row.css} +1 -1
- package/dist/components/datagrid/row/datagrid-row.svelte +64 -0
- package/dist/components/datagrid/row/datagrid-row.svelte.d.ts +27 -0
- package/dist/components/datagrid/row/index.d.ts +4 -0
- package/dist/components/datagrid/row/index.js +4 -0
- package/dist/components/datagrid/types.d.ts +56 -116
- package/dist/components/date-picker/bond.svelte.d.ts +0 -12
- package/dist/components/date-picker/date-picker-calendar.svelte +58 -58
- package/dist/components/date-picker/date-picker-months.svelte +1 -1
- package/dist/components/date-picker/date-picker-root.svelte +96 -96
- package/dist/components/date-picker/date-picker-root.svelte.d.ts +1 -1
- package/dist/components/date-picker/date-picker-years.svelte +1 -1
- package/dist/components/date-picker/types.d.ts +6 -3
- package/dist/components/dialog/atoms.d.ts +1 -1
- package/dist/components/dialog/atoms.js +1 -1
- package/dist/components/dialog/bond.svelte.d.ts +66 -28
- package/dist/components/dialog/bond.svelte.js +136 -117
- package/dist/components/dialog/dialog-body.svelte +1 -1
- package/dist/components/dialog/dialog-close.svelte +58 -0
- package/dist/components/dialog/dialog-close.svelte.d.ts +26 -0
- package/dist/components/dialog/dialog-content.svelte +2 -2
- package/dist/components/dialog/dialog-description.svelte +1 -1
- package/dist/components/dialog/dialog-footer.svelte +1 -1
- package/dist/components/dialog/dialog-header.svelte +1 -1
- package/dist/components/dialog/dialog-root.svelte +102 -82
- package/dist/components/dialog/dialog-title.svelte +1 -1
- package/dist/components/dialog/motion.svelte.js +68 -26
- package/dist/components/dialog/types.d.ts +16 -51
- package/dist/components/divider/types.d.ts +1 -6
- package/dist/components/drawer/bond.svelte.d.ts +61 -36
- package/dist/components/drawer/bond.svelte.js +149 -121
- package/dist/components/drawer/drawer-backdrop.svelte +2 -1
- package/dist/components/drawer/drawer-body.svelte +1 -1
- package/dist/components/drawer/drawer-content.svelte +5 -5
- package/dist/components/drawer/drawer-content.svelte.d.ts +4 -1
- package/dist/components/drawer/drawer-description.svelte +1 -1
- package/dist/components/drawer/drawer-footer.svelte +1 -1
- package/dist/components/drawer/drawer-header.svelte +1 -1
- package/dist/components/drawer/drawer-root.svelte +96 -87
- package/dist/components/drawer/drawer-title.svelte +1 -1
- package/dist/components/drawer/motion.d.ts +59 -5
- package/dist/components/drawer/motion.js +133 -15
- package/dist/components/drawer/types.d.ts +15 -24
- package/dist/components/dropdown/atoms.d.ts +4 -8
- package/dist/components/dropdown/atoms.js +4 -9
- package/dist/components/dropdown/bond.svelte.d.ts +4 -53
- package/dist/components/dropdown/bond.svelte.js +4 -89
- package/dist/components/dropdown/dropdown-query.svelte +43 -43
- package/dist/components/dropdown/dropdown-root.svelte +79 -79
- package/dist/components/dropdown/dropdown-root.svelte.d.ts +4 -4
- package/dist/components/dropdown/dropdown-selection.svelte +55 -55
- package/dist/components/dropdown/dropdown-selections.svelte +70 -70
- package/dist/components/dropdown/dropdown-trigger.svelte +30 -30
- package/dist/components/dropdown/index.d.ts +43 -7
- package/dist/components/dropdown/index.js +34 -6
- package/dist/components/dropdown/item/bond.svelte.d.ts +36 -0
- package/dist/components/dropdown/item/bond.svelte.js +85 -0
- package/dist/components/dropdown/item/controller.svelte.d.ts +1 -1
- package/dist/components/dropdown/item/dropdown-item.svelte +81 -107
- package/dist/components/dropdown/item/index.d.ts +11 -3
- package/dist/components/dropdown/item/index.js +10 -3
- package/dist/components/dropdown/types.d.ts +2 -67
- package/dist/components/dropdown-menu/atoms.d.ts +9 -0
- package/dist/components/dropdown-menu/atoms.js +9 -0
- package/dist/components/dropdown-menu/attachments.svelte.d.ts +2 -0
- package/dist/components/dropdown-menu/attachments.svelte.js +5 -0
- package/dist/components/dropdown-menu/bond.svelte.d.ts +72 -0
- package/dist/components/dropdown-menu/bond.svelte.js +173 -0
- package/dist/components/dropdown-menu/dropdown-menu-content.svelte +40 -0
- package/dist/components/dropdown-menu/dropdown-menu-content.svelte.d.ts +37 -0
- package/dist/components/dropdown-menu/dropdown-menu-root.svelte +14 -0
- package/dist/components/dropdown-menu/dropdown-menu-root.svelte.d.ts +4 -0
- package/dist/components/dropdown-menu/index.d.ts +7 -0
- package/dist/components/dropdown-menu/index.js +6 -0
- package/dist/components/dropdown-menu/item/bond.svelte.d.ts +26 -0
- package/dist/components/dropdown-menu/item/bond.svelte.js +54 -0
- package/dist/components/dropdown-menu/item/controller.svelte.d.ts +39 -0
- package/dist/components/dropdown-menu/item/controller.svelte.js +73 -0
- package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte +75 -0
- package/dist/components/dropdown-menu/item/dropdown-menu-item.svelte.d.ts +32 -0
- package/dist/components/dropdown-menu/item/index.d.ts +3 -0
- package/dist/components/dropdown-menu/item/index.js +3 -0
- package/dist/components/dropdown-menu/item/types.d.ts +57 -0
- package/dist/components/dropdown-menu/item/types.js +1 -0
- package/dist/components/dropdown-menu/types.d.ts +3 -0
- package/dist/components/dropdown-menu/types.js +1 -0
- package/dist/components/element/html-element.svelte +114 -85
- package/dist/components/element/html-element.svelte.d.ts +1 -1
- package/dist/components/element/svg-element.svelte +88 -88
- package/dist/components/element/types.d.ts +32 -20
- package/dist/components/form/field/atoms.d.ts +1 -1
- package/dist/components/form/field/atoms.js +1 -1
- package/dist/components/form/field/bond.svelte.js +0 -6
- package/dist/components/form/field/field-control.svelte +30 -9
- package/dist/components/form/field/field-control.svelte.d.ts +12 -22
- package/dist/components/form/field/field-helper-text.svelte +23 -0
- package/dist/components/form/field/field-helper-text.svelte.d.ts +26 -0
- package/dist/components/form/field/field-label.svelte +5 -7
- package/dist/components/form/field/field-label.svelte.d.ts +2 -2
- package/dist/components/form/field/field-root.svelte +17 -8
- package/dist/components/form/form-root.svelte +66 -66
- package/dist/components/form/types.d.ts +34 -58
- package/dist/components/icon/icon.svelte +40 -40
- package/dist/components/icon/types.d.ts +4 -7
- package/dist/components/image/index.d.ts +2 -0
- package/dist/components/image/index.js +2 -1
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.js +11 -0
- package/dist/components/input/atoms.d.ts +19 -1
- package/dist/components/input/atoms.js +19 -1
- package/dist/components/input/color/color-control.svelte +197 -0
- package/dist/components/input/color/color-control.svelte.d.ts +4 -0
- package/dist/components/input/color/index.d.ts +5 -0
- package/dist/components/input/color/index.js +5 -0
- package/dist/components/input/color/segment.svelte +240 -0
- package/dist/components/input/color/segment.svelte.d.ts +6 -0
- package/dist/components/input/color/shared.d.ts +23 -0
- package/dist/components/input/color/shared.js +349 -0
- package/dist/components/input/color/swatch.svelte +23 -0
- package/dist/components/input/color/swatch.svelte.d.ts +8 -0
- package/dist/components/input/color/types.d.ts +56 -0
- package/dist/components/input/color/types.js +2 -0
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/input-control.svelte +3 -1
- package/dist/components/input/input-currency-control.svelte +189 -0
- package/dist/components/input/input-currency-control.svelte.d.ts +4 -0
- package/dist/components/input/input-email-control.svelte +128 -0
- package/dist/components/input/input-email-control.svelte.d.ts +4 -0
- package/dist/components/input/input-file-control.svelte +127 -0
- package/dist/components/input/input-file-control.svelte.d.ts +4 -0
- package/dist/components/input/input-icon.svelte.d.ts +1 -1
- package/dist/components/input/input-location.svelte +335 -0
- package/dist/components/input/input-location.svelte.d.ts +4 -0
- package/dist/components/input/input-number-control.svelte +114 -0
- package/dist/components/input/input-number-control.svelte.d.ts +6 -0
- package/dist/components/input/input-otp-control.svelte +206 -0
- package/dist/components/input/input-otp-control.svelte.d.ts +4 -0
- package/dist/components/input/input-password-control.svelte +91 -0
- package/dist/components/input/input-password-control.svelte.d.ts +3 -0
- package/dist/components/input/input-phone-control.svelte +394 -0
- package/dist/components/input/input-phone-control.svelte.d.ts +4 -0
- package/dist/components/input/input-placeholder.svelte.d.ts +1 -1
- package/dist/components/input/input-root.svelte +74 -74
- package/dist/components/input/input-text-control.svelte +59 -0
- package/dist/components/input/input-text-control.svelte.d.ts +4 -0
- package/dist/components/input/input-url-control.svelte +218 -0
- package/dist/components/input/input-url-control.svelte.d.ts +4 -0
- package/dist/components/input/time/datetime-control.svelte +281 -0
- package/dist/components/input/time/datetime-control.svelte.d.ts +5 -0
- package/dist/components/input/time/index.d.ts +6 -0
- package/dist/components/input/time/index.js +6 -0
- package/dist/components/input/time/segment.svelte +143 -0
- package/dist/components/input/time/segment.svelte.d.ts +6 -0
- package/dist/components/input/time/shared.d.ts +29 -0
- package/dist/components/input/time/shared.js +150 -0
- package/dist/components/input/time/time-control.svelte +237 -0
- package/dist/components/input/time/time-control.svelte.d.ts +3 -0
- package/dist/components/input/time/types.d.ts +34 -0
- package/dist/components/input/time/types.js +4 -0
- package/dist/components/input/types.d.ts +355 -17
- package/dist/components/label/types.d.ts +4 -7
- package/dist/components/layer/bond.svelte.d.ts +2 -2
- package/dist/components/layer/bond.svelte.js +1 -1
- package/dist/components/layer/index.d.ts +1 -0
- package/dist/components/layer/layer-inner.svelte.d.ts +1 -1
- package/dist/components/layer/layer-root.svelte +65 -65
- package/dist/components/layer/layer-root.svelte.d.ts +1 -1
- package/dist/components/layer/types.d.ts +6 -6
- package/dist/components/lazy/index.d.ts +1 -0
- package/dist/components/lazy/lazy.svelte +29 -29
- package/dist/components/lazy/types.d.ts +4 -4
- package/dist/components/link/index.d.ts +1 -0
- package/dist/components/link/types.d.ts +5 -6
- package/dist/components/list/index.d.ts +1 -0
- package/dist/components/list/types.d.ts +5 -6
- package/dist/components/menu/atoms.d.ts +2 -7
- package/dist/components/menu/atoms.js +2 -7
- package/dist/components/menu/bond.svelte.d.ts +9 -23
- package/dist/components/menu/bond.svelte.js +6 -0
- package/dist/components/menu/index.d.ts +40 -4
- package/dist/components/menu/index.js +26 -3
- package/dist/components/menu/item/bond.svelte.d.ts +27 -0
- package/dist/components/menu/item/bond.svelte.js +54 -0
- package/dist/components/menu/item/controller.svelte.d.ts +1 -1
- package/dist/components/menu/item/index.d.ts +5 -2
- package/dist/components/menu/item/index.js +4 -2
- package/dist/components/menu/item/menu-item.svelte +87 -103
- package/dist/components/menu/item/menu-item.svelte.d.ts +15 -14
- package/dist/components/menu/item/types.d.ts +5 -12
- package/dist/components/menu/menu-content.svelte +40 -40
- package/dist/components/menu/menu-root.svelte +15 -15
- package/dist/components/menu/menu-root.svelte.d.ts +1 -1
- package/dist/components/menu/types.d.ts +2 -6
- package/dist/components/popover/bond.svelte.d.ts +67 -39
- package/dist/components/popover/bond.svelte.js +159 -197
- package/dist/components/popover/index.d.ts +3 -1
- package/dist/components/popover/index.js +3 -1
- package/dist/components/popover/motion.d.ts +29 -1
- package/dist/components/popover/motion.js +128 -50
- package/dist/components/popover/popover-arrow.svelte +97 -110
- package/dist/components/popover/popover-arrow.svelte.d.ts +1 -2
- package/dist/components/popover/popover-content.svelte +159 -123
- package/dist/components/popover/popover-engine.svelte +118 -0
- package/dist/components/popover/popover-engine.svelte.d.ts +3 -0
- package/dist/components/popover/popover-indicator.svelte +2 -13
- package/dist/components/popover/popover-indicator.svelte.d.ts +0 -6
- package/dist/components/popover/popover-root.svelte +87 -49
- package/dist/components/popover/popover-root.svelte.d.ts +2 -1
- package/dist/components/popover/popover-trigger.svelte +35 -35
- package/dist/components/popover/strategies/floating.svelte +109 -0
- package/dist/components/popover/strategies/floating.svelte.d.ts +3 -0
- package/dist/components/popover/strategies/index.d.ts +1 -0
- package/dist/components/popover/strategies/index.js +1 -0
- package/dist/components/popover/strategy-types.d.ts +40 -0
- package/dist/components/popover/strategy-types.js +1 -0
- package/dist/components/popover/types.d.ts +10 -36
- package/dist/components/portal/active-portal.svelte +5 -4
- package/dist/components/portal/bond.svelte.d.ts +12 -8
- package/dist/components/portal/bond.svelte.js +25 -27
- package/dist/components/portal/index.d.ts +1 -0
- package/dist/components/portal/index.js +1 -0
- package/dist/components/portal/portal-inner.svelte +1 -1
- package/dist/components/portal/portal-inner.svelte.d.ts +1 -1
- package/dist/components/portal/portal-root.svelte +76 -76
- package/dist/components/portal/portal-root.svelte.d.ts +1 -1
- package/dist/components/portal/portals/bond.svelte.d.ts +2 -2
- package/dist/components/portal/portals/bond.svelte.js +2 -2
- package/dist/components/portal/teleport.svelte +47 -49
- package/dist/components/portal/teleport.svelte.d.ts +1 -2
- package/dist/components/portal/types.d.ts +7 -25
- package/dist/components/portal/utils.js +3 -3
- package/dist/components/portal/zlayer.svelte.d.ts +16 -0
- package/dist/components/portal/zlayer.svelte.js +25 -0
- package/dist/components/radio/index.d.ts +2 -0
- package/dist/components/radio/index.js +1 -0
- package/dist/components/radio/motion.d.ts +24 -0
- package/dist/components/radio/motion.js +59 -0
- package/dist/components/radio/radio.svelte +22 -12
- package/dist/components/radio/types.d.ts +5 -14
- package/dist/components/root/bond.svelte.d.ts +2 -2
- package/dist/components/root/bond.svelte.js +1 -1
- package/dist/components/root/root.svelte +82 -92
- package/dist/components/root/root.svelte.d.ts +2 -2
- package/dist/components/root/types.d.ts +4 -15
- package/dist/components/scrollable/atoms.d.ts +1 -0
- package/dist/components/scrollable/atoms.js +1 -0
- package/dist/components/scrollable/bond.svelte.d.ts +73 -189
- package/dist/components/scrollable/bond.svelte.js +195 -371
- package/dist/components/scrollable/scrollable-container.css +22 -22
- package/dist/components/scrollable/scrollable-container.svelte +66 -61
- package/dist/components/scrollable/scrollable-container.svelte.d.ts +12 -12
- package/dist/components/scrollable/scrollable-content.svelte +22 -17
- package/dist/components/scrollable/scrollable-content.svelte.d.ts +12 -12
- package/dist/components/scrollable/scrollable-root.svelte +106 -101
- package/dist/components/scrollable/scrollable-root.svelte.d.ts +12 -12
- package/dist/components/scrollable/scrollable-thumb.svelte +21 -45
- package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +12 -12
- package/dist/components/scrollable/scrollable-track.svelte +21 -22
- package/dist/components/scrollable/scrollable-track.svelte.d.ts +12 -12
- package/dist/components/scrollable/types.d.ts +15 -38
- package/dist/components/select/atoms.d.ts +8 -0
- package/dist/components/select/atoms.js +8 -0
- package/dist/components/select/attachments.svelte.d.ts +2 -0
- package/dist/components/select/attachments.svelte.js +5 -0
- package/dist/components/select/bond.svelte.d.ts +56 -0
- package/dist/components/select/bond.svelte.js +112 -0
- package/dist/components/select/index.d.ts +11 -0
- package/dist/components/select/index.js +10 -0
- package/dist/components/select/item/attachments.svelte.d.ts +3 -0
- package/dist/components/select/item/attachments.svelte.js +6 -0
- package/dist/components/select/item/bond.svelte.d.ts +33 -0
- package/dist/components/select/item/bond.svelte.js +77 -0
- package/dist/components/select/item/controller.svelte.d.ts +39 -0
- package/dist/components/select/item/controller.svelte.js +105 -0
- package/dist/components/select/item/index.d.ts +5 -0
- package/dist/components/select/item/index.js +5 -0
- package/dist/components/select/item/select-item.svelte +81 -0
- package/dist/components/select/item/select-item.svelte.d.ts +25 -0
- package/dist/components/select/item/types.d.ts +29 -0
- package/dist/components/select/item/types.js +1 -0
- package/dist/components/select/runes.svelte.d.ts +10 -0
- package/dist/components/select/runes.svelte.js +15 -0
- package/dist/components/select/select-placeholder.svelte +40 -0
- package/dist/components/select/select-placeholder.svelte.d.ts +34 -0
- package/dist/components/select/select-root.svelte +80 -0
- package/dist/components/select/select-root.svelte.d.ts +30 -0
- package/dist/components/select/select-selection.svelte +55 -0
- package/dist/components/select/select-selection.svelte.d.ts +26 -0
- package/dist/components/select/select-selections.svelte +70 -0
- package/dist/components/select/select-selections.svelte.d.ts +5 -0
- package/dist/components/select/select-trigger.svelte +30 -0
- package/dist/components/select/select-trigger.svelte.d.ts +26 -0
- package/dist/components/select/types.d.ts +61 -0
- package/dist/components/select/types.js +1 -0
- package/dist/components/sidebar/bond.svelte.d.ts +10 -7
- package/dist/components/sidebar/bond.svelte.js +20 -15
- package/dist/components/sidebar/sidebar-content.svelte +1 -1
- package/dist/components/sidebar/sidebar-root.svelte +50 -41
- package/dist/components/sidebar/types.d.ts +10 -15
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.js +2 -0
- package/dist/components/slider/slider.svelte +164 -0
- package/dist/components/slider/slider.svelte.d.ts +6 -0
- package/dist/components/slider/types.d.ts +78 -0
- package/dist/components/slider/types.js +1 -0
- package/dist/components/stack/bond.svelte.d.ts +50 -0
- package/dist/components/stack/bond.svelte.js +174 -0
- package/dist/components/stack/index.d.ts +2 -0
- package/dist/components/stack/index.js +2 -0
- package/dist/components/stack/stack-item.svelte +40 -4
- package/dist/components/stack/stack-item.svelte.d.ts +6 -5
- package/dist/components/stack/stack-root.svelte +33 -4
- package/dist/components/stack/stack-root.svelte.d.ts +14 -5
- package/dist/components/stack/types.d.ts +11 -10
- package/dist/components/stepper/bond.svelte.d.ts +8 -7
- package/dist/components/stepper/bond.svelte.js +14 -11
- package/dist/components/stepper/step/README.md +97 -97
- package/dist/components/stepper/step/bond.svelte.d.ts +74 -63
- package/dist/components/stepper/step/bond.svelte.js +105 -69
- package/dist/components/stepper/step/step-body.svelte +39 -39
- package/dist/components/stepper/step/step-description.svelte +33 -33
- package/dist/components/stepper/step/step-header.svelte +34 -34
- package/dist/components/stepper/step/step-indicator.svelte +62 -62
- package/dist/components/stepper/step/step-root.svelte +42 -42
- package/dist/components/stepper/step/step-separator.svelte +48 -48
- package/dist/components/stepper/step/step-title.svelte +33 -33
- package/dist/components/stepper/step/types.d.ts +13 -57
- package/dist/components/stepper/stepper-body.svelte +31 -43
- package/dist/components/stepper/stepper-content.svelte +45 -45
- package/dist/components/stepper/stepper-footer.svelte +31 -31
- package/dist/components/stepper/stepper-header.svelte +27 -39
- package/dist/components/stepper/stepper-root.svelte +55 -61
- package/dist/components/stepper/types.d.ts +10 -36
- package/dist/components/swatch/index.d.ts +1 -0
- package/dist/components/swatch/index.js +1 -0
- package/dist/components/swatch/swatch.svelte +57 -0
- package/dist/components/swatch/swatch.svelte.d.ts +9 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.js +2 -0
- package/dist/components/switch/switch.svelte +76 -0
- package/dist/components/switch/switch.svelte.d.ts +6 -0
- package/dist/components/switch/types.d.ts +43 -0
- package/dist/components/switch/types.js +1 -0
- package/dist/components/tabs/bond.svelte.d.ts +38 -19
- package/dist/components/tabs/bond.svelte.js +53 -46
- package/dist/components/tabs/tab/attachments.svelte.d.ts +5 -2
- package/dist/components/tabs/tab/attachments.svelte.js +4 -3
- package/dist/components/tabs/tab/bond.svelte.d.ts +35 -23
- package/dist/components/tabs/tab/bond.svelte.js +81 -56
- package/dist/components/tabs/tab/tab-body.svelte +61 -43
- package/dist/components/tabs/tab/tab-description.svelte +33 -33
- package/dist/components/tabs/tab/tab-header.svelte +61 -61
- package/dist/components/tabs/tab/tab-root.svelte +49 -50
- package/dist/components/tabs/tab/tab-root.svelte.d.ts +13 -35
- package/dist/components/tabs/tabs-body.svelte +39 -35
- package/dist/components/tabs/tabs-body.svelte.d.ts +1 -1
- package/dist/components/tabs/tabs-content.svelte +32 -51
- package/dist/components/tabs/tabs-header.svelte +32 -32
- package/dist/components/tabs/tabs-root.svelte +56 -56
- package/dist/components/tabs/types.d.ts +20 -37
- package/dist/components/textarea/types.d.ts +6 -12
- package/dist/components/toast/atoms.d.ts +1 -0
- package/dist/components/toast/atoms.js +1 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/toast/manager.svelte.d.ts +38 -0
- package/dist/components/toast/manager.svelte.js +82 -0
- package/dist/components/toast/toast-description.svelte.d.ts +1 -1
- package/dist/components/toast/toast-root-managed.svelte +64 -0
- package/dist/components/toast/toast-root-managed.svelte.d.ts +7 -0
- package/dist/components/toast/toast-root.svelte.d.ts +1 -1
- package/dist/components/toast/toast-title.svelte.d.ts +1 -1
- package/dist/components/toast/toast-toaster.svelte +42 -0
- package/dist/components/toast/toast-toaster.svelte.d.ts +4 -0
- package/dist/components/toast/types.d.ts +22 -31
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/tooltip-trigger.svelte +39 -39
- package/dist/components/tooltip/types.d.ts +5 -8
- package/dist/components/tree/bond.svelte.d.ts +28 -19
- package/dist/components/tree/bond.svelte.js +62 -53
- package/dist/components/tree/tree-body.svelte +1 -1
- package/dist/components/tree/tree-header.svelte +1 -1
- package/dist/components/tree/tree-header.svelte.d.ts +1 -1
- package/dist/components/tree/tree-indicator.svelte +1 -1
- package/dist/components/tree/tree-root.svelte +66 -66
- package/dist/components/tree/types.d.ts +4 -28
- package/dist/components/virtual/index.d.ts +2 -0
- package/dist/components/virtual/index.js +2 -0
- package/dist/components/virtual/types.d.ts +1 -6
- package/dist/constants/motion.d.ts +9 -0
- package/dist/constants/motion.js +9 -0
- package/dist/context/index.d.ts +1 -1
- package/dist/context/preset.svelte.d.ts +169 -2
- package/dist/runes/color-scheme.svelte.js +17 -5
- package/dist/shared/bond.svelte.d.ts +29 -3
- package/dist/shared/bond.svelte.js +126 -4
- package/dist/shared/index.d.ts +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/motion.d.ts +1 -0
- package/dist/shared/motion.js +2 -8
- package/dist/types/index.d.ts +4 -0
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/promise.svelte.d.ts +5 -0
- package/dist/utils/promise.svelte.js +17 -0
- package/dist/utils/variant.d.ts +10 -1
- package/dist/utils/variant.js +11 -1
- package/package.json +171 -48
- package/dist/components/accordion/accordion.stories.svelte +0 -70
- package/dist/components/accordion/accordion.stories.svelte.d.ts +0 -18
- package/dist/components/alert/alert.stories.svelte +0 -400
- package/dist/components/alert/alert.stories.svelte.d.ts +0 -3
- package/dist/components/avatar/avatar.stories.svelte +0 -22
- package/dist/components/avatar/avatar.stories.svelte.d.ts +0 -26
- package/dist/components/badge/badge.stories.svelte +0 -12
- package/dist/components/badge/badge.stories.svelte.d.ts +0 -26
- package/dist/components/breadcrumb/breadcrumb.stories.svelte +0 -16
- package/dist/components/breadcrumb/breadcrumb.stories.svelte.d.ts +0 -26
- package/dist/components/button/button.stories.svelte +0 -27
- package/dist/components/button/button.stories.svelte.d.ts +0 -18
- package/dist/components/calendar/calendar.stories.svelte +0 -26
- package/dist/components/calendar/calendar.stories.svelte.d.ts +0 -26
- package/dist/components/card/card.stories.svelte +0 -133
- package/dist/components/card/card.stories.svelte.d.ts +0 -19
- package/dist/components/checkbox/checkbox.stories.svelte +0 -22
- package/dist/components/checkbox/checkbox.stories.svelte.d.ts +0 -6
- package/dist/components/collapsible/collapsible.stories.svelte +0 -172
- package/dist/components/collapsible/collapsible.stories.svelte.d.ts +0 -18
- package/dist/components/combobox/combobox.stories.svelte +0 -63
- package/dist/components/combobox/combobox.stories.svelte.d.ts +0 -3
- package/dist/components/container/container.stories.svelte +0 -20
- package/dist/components/container/container.stories.svelte.d.ts +0 -26
- package/dist/components/contextmenu/atoms.d.ts +0 -0
- package/dist/components/contextmenu/atoms.js +0 -1
- package/dist/components/contextmenu/contextmenu-trigger.svelte +0 -0
- package/dist/components/contextmenu/contextmenu-trigger.svelte.d.ts +0 -26
- package/dist/components/contextmenu/indext.d.ts +0 -0
- package/dist/components/contextmenu/indext.js +0 -1
- package/dist/components/datagrid/datagrid.stories.svelte +0 -72
- package/dist/components/datagrid/datagrid.stories.svelte.d.ts +0 -6
- package/dist/components/datagrid/td/bond.svelte.d.ts +0 -28
- package/dist/components/datagrid/td/bond.svelte.js +0 -40
- package/dist/components/datagrid/td/datagrid-td.svelte +0 -66
- package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +0 -30
- package/dist/components/datagrid/td/index.d.ts +0 -2
- package/dist/components/datagrid/td/index.js +0 -2
- package/dist/components/datagrid/th/bond.svelte.d.ts +0 -38
- package/dist/components/datagrid/th/bond.svelte.js +0 -66
- package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +0 -26
- package/dist/components/datagrid/th/index.d.ts +0 -2
- package/dist/components/datagrid/th/index.js +0 -2
- package/dist/components/datagrid/tr/bond.svelte.d.ts +0 -37
- package/dist/components/datagrid/tr/bond.svelte.js +0 -72
- package/dist/components/datagrid/tr/datagrid-tr.svelte +0 -90
- package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +0 -28
- package/dist/components/datagrid/tr/index.d.ts +0 -2
- package/dist/components/datagrid/tr/index.js +0 -2
- package/dist/components/date-picker/date-picker.stories.svelte +0 -35
- package/dist/components/date-picker/date-picker.stories.svelte.d.ts +0 -3
- package/dist/components/dialog/dialog.stories.svelte +0 -64
- package/dist/components/dialog/dialog.stories.svelte.d.ts +0 -3
- package/dist/components/drawer/drawer.stories.svelte +0 -141
- package/dist/components/drawer/drawer.stories.svelte.d.ts +0 -3
- package/dist/components/dropdown/dropdown.stories.svelte +0 -127
- package/dist/components/dropdown/dropdown.stories.svelte.d.ts +0 -3
- package/dist/components/element/element.stories.svelte +0 -37
- package/dist/components/element/element.stories.svelte.d.ts +0 -3
- package/dist/components/form/field/field-errors.svelte +0 -9
- package/dist/components/form/field/field-errors.svelte.d.ts +0 -11
- package/dist/components/form/form.stories.svelte +0 -96
- package/dist/components/form/form.stories.svelte.d.ts +0 -18
- package/dist/components/image/image.stories.svelte +0 -20
- package/dist/components/image/image.stories.svelte.d.ts +0 -26
- package/dist/components/input/input.stories.svelte +0 -35
- package/dist/components/input/input.stories.svelte.d.ts +0 -18
- package/dist/components/label/label.stories.svelte +0 -15
- package/dist/components/label/label.stories.svelte.d.ts +0 -26
- package/dist/components/lazy/lazy.stories.svelte +0 -28
- package/dist/components/lazy/lazy.stories.svelte.d.ts +0 -19
- package/dist/components/link/link.stories.svelte +0 -15
- package/dist/components/link/link.stories.svelte.d.ts +0 -26
- package/dist/components/menu/menu.stories.svelte +0 -33
- package/dist/components/menu/menu.stories.svelte.d.ts +0 -3
- package/dist/components/popover/popover.stories.svelte +0 -37
- package/dist/components/popover/popover.stories.svelte.d.ts +0 -3
- package/dist/components/qr-code/qr-code.stories.svelte +0 -18
- package/dist/components/qr-code/qr-code.stories.svelte.d.ts +0 -26
- package/dist/components/radio/radio-group.stories.svelte +0 -41
- package/dist/components/radio/radio-group.stories.svelte.d.ts +0 -6
- package/dist/components/radio/radio.stories.svelte +0 -17
- package/dist/components/radio/radio.stories.svelte.d.ts +0 -6
- package/dist/components/root/l0-portal.svelte +0 -8
- package/dist/components/root/l0-portal.svelte.d.ts +0 -26
- package/dist/components/root/l1-portal.svelte +0 -7
- package/dist/components/root/l1-portal.svelte.d.ts +0 -26
- package/dist/components/root/toasts-portal.svelte +0 -7
- package/dist/components/root/toasts-portal.svelte.d.ts +0 -26
- package/dist/components/scrollable/scrollable.stories.svelte +0 -116
- package/dist/components/scrollable/scrollable.stories.svelte.d.ts +0 -26
- package/dist/components/sidebar/sidebar.stories.svelte +0 -43
- package/dist/components/sidebar/sidebar.stories.svelte.d.ts +0 -3
- package/dist/components/stepper/stepper.stories.svelte +0 -264
- package/dist/components/stepper/stepper.stories.svelte.d.ts +0 -4
- package/dist/components/tabs/tabs.stories.svelte +0 -70
- package/dist/components/tabs/tabs.stories.svelte.d.ts +0 -3
- package/dist/components/tooltip/tooltip.stories.svelte +0 -32
- package/dist/components/tooltip/tooltip.stories.svelte.d.ts +0 -3
- package/dist/components/tree/tree.stories.svelte +0 -142
- package/dist/components/tree/tree.stories.svelte.d.ts +0 -3
- /package/dist/components/{contextmenu → context-menu}/types.js +0 -0
|
@@ -1,49 +1,47 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
{
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
</HtmlAtom>
|
|
49
|
-
{/if}
|
|
1
|
+
<script lang="ts" generics="E extends HtmlElementTagName = 'div', B extends Base = Base">
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import type { TeleportProps } from './types';
|
|
4
|
+
import { HtmlAtom, type Base } from '../atom';
|
|
5
|
+
import type { HtmlElementTagName, HtmlElementType } from '../element';
|
|
6
|
+
import { PortalsBond } from './portals';
|
|
7
|
+
import { RootBond } from '../root/bond.svelte';
|
|
8
|
+
import { port } from './utils';
|
|
9
|
+
|
|
10
|
+
type Element = HtmlElementType<E>;
|
|
11
|
+
|
|
12
|
+
let { portal, as, base, children, ...restProps }: TeleportProps<E, B> & HTMLAttributes<Element> =
|
|
13
|
+
$props();
|
|
14
|
+
|
|
15
|
+
const portalsBond = PortalsBond.get();
|
|
16
|
+
const rootBond = RootBond.get();
|
|
17
|
+
|
|
18
|
+
const portalBond = $derived.by(() => {
|
|
19
|
+
if (typeof portal === 'string') {
|
|
20
|
+
const p = portalsBond?.state.get(portal);
|
|
21
|
+
if(p) return p;
|
|
22
|
+
|
|
23
|
+
return rootBond?.state?.getPortal(portal!);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return portal;
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
const targetElement = $derived(portalBond?.targetElement);
|
|
30
|
+
|
|
31
|
+
const ui = $derived(targetElement ? content : undefined);
|
|
32
|
+
|
|
33
|
+
function teleport(node: HTMLElement) {
|
|
34
|
+
|
|
35
|
+
const unport = port(node, targetElement);
|
|
36
|
+
|
|
37
|
+
return unport;
|
|
38
|
+
}
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
{#snippet content()}
|
|
42
|
+
<HtmlAtom {@attach teleport} as={as as E} {base} {...restProps}>
|
|
43
|
+
{@render children?.({ portal: portalBond })}
|
|
44
|
+
</HtmlAtom>
|
|
45
|
+
{/snippet}
|
|
46
|
+
|
|
47
|
+
{@render ui?.()}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
export type { TeleportProps } from './types';
|
|
2
1
|
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
2
|
import { type Base } from '../atom';
|
|
4
3
|
import type { HtmlElementTagName, HtmlElementType } from '../element';
|
|
5
4
|
declare function $$render<E extends HtmlElementTagName = 'div', B extends Base = Base>(): {
|
|
6
|
-
props: import("../atom").HtmlAtomProps<E, B
|
|
5
|
+
props: import("../atom").HtmlAtomProps<E, B, import("./types").PortalChildren> & {
|
|
7
6
|
portal?: string | import("./bond.svelte").PortalBond;
|
|
8
7
|
} & HTMLAttributes<HtmlElementType<E>>;
|
|
9
8
|
exports: {};
|
|
@@ -1,39 +1,21 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
import type { HtmlAtomProps, Base } from '../atom';
|
|
2
|
+
import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
|
|
3
3
|
import type { Factory } from '../../types';
|
|
4
4
|
import type { PortalBond } from './bond.svelte';
|
|
5
5
|
import type { RootPortals } from '../root/root.svelte';
|
|
6
6
|
import type { HtmlElementTagName } from '../element';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
*/
|
|
10
|
-
export interface PortalRootExtendProps {
|
|
7
|
+
export interface PortalSnippetProps extends SnippetProps {
|
|
8
|
+
portal: PortalBond;
|
|
11
9
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*/
|
|
15
|
-
export interface PortalOuterExtendProps {
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Extend this interface to add custom teleport properties in your application.
|
|
19
|
-
*/
|
|
20
|
-
export interface TeleportExtendProps {
|
|
21
|
-
}
|
|
22
|
-
export type PortalRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = Omit<HtmlAtomProps<E, B>, 'children'> & PortalRootExtendProps & {
|
|
10
|
+
export type PortalChildren = Snippet<[PortalSnippetProps]>;
|
|
11
|
+
export type PortalRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B, PortalChildren> & {
|
|
23
12
|
name?: string;
|
|
24
13
|
factory?: Factory<PortalBond>;
|
|
25
|
-
children?: Snippet<[{
|
|
26
|
-
portal: PortalBond;
|
|
27
|
-
}]>;
|
|
28
14
|
};
|
|
29
|
-
export type PortalOuterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B> &
|
|
15
|
+
export type PortalOuterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = HtmlAtomProps<E, B, PortalChildren> & {
|
|
30
16
|
id: RootPortals | (string & {});
|
|
31
17
|
children?: Snippet;
|
|
32
18
|
};
|
|
33
|
-
export type TeleportProps<E extends HtmlElementTagName = 'div', B extends Base = Base> = HtmlAtomProps<E, B> &
|
|
19
|
+
export type TeleportProps<E extends HtmlElementTagName = 'div', B extends Base = Base> = HtmlAtomProps<E, B, PortalChildren> & {
|
|
34
20
|
portal?: string | PortalBond;
|
|
35
21
|
};
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated Use PortalRootExtendProps instead
|
|
38
|
-
*/
|
|
39
|
-
export type PortalExtendProps = PortalRootExtendProps;
|
|
@@ -2,18 +2,18 @@ export function port(node, target = document.body) {
|
|
|
2
2
|
if (!target) {
|
|
3
3
|
throw Error('[actions] portal: Target element is undefined !');
|
|
4
4
|
}
|
|
5
|
+
const opacity = node.style.opacity;
|
|
5
6
|
if (node.parentElement !== target) {
|
|
6
|
-
|
|
7
|
+
node.style.opacity = '0';
|
|
7
8
|
// Check if element is already mounted on target
|
|
8
9
|
if (node.parentElement !== target) {
|
|
9
10
|
target.appendChild(node);
|
|
10
11
|
requestAnimationFrame(() => {
|
|
11
|
-
node.
|
|
12
|
+
node.style.opacity = opacity;
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
return () => {
|
|
16
|
-
node.hidden = true;
|
|
17
17
|
node.remove();
|
|
18
18
|
};
|
|
19
19
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const LAYER_BASE: {
|
|
2
|
+
readonly sidebar: 100;
|
|
3
|
+
readonly drawer: 200;
|
|
4
|
+
readonly dialog: 300;
|
|
5
|
+
readonly popover: 400;
|
|
6
|
+
readonly tooltip: 500;
|
|
7
|
+
};
|
|
8
|
+
export type LayerName = keyof typeof LAYER_BASE;
|
|
9
|
+
export declare class ZLayer {
|
|
10
|
+
#private;
|
|
11
|
+
constructor(base: number | LayerName, offset?: () => number);
|
|
12
|
+
get(): number;
|
|
13
|
+
share(): ZLayer;
|
|
14
|
+
static get: () => ZLayer;
|
|
15
|
+
static set: (context: ZLayer) => ZLayer;
|
|
16
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createContext } from 'svelte';
|
|
2
|
+
const [get, set] = createContext();
|
|
3
|
+
export const LAYER_BASE = {
|
|
4
|
+
sidebar: 100,
|
|
5
|
+
drawer: 200,
|
|
6
|
+
dialog: 300,
|
|
7
|
+
popover: 400,
|
|
8
|
+
tooltip: 500
|
|
9
|
+
};
|
|
10
|
+
export class ZLayer {
|
|
11
|
+
#base;
|
|
12
|
+
#offset;
|
|
13
|
+
constructor(base, offset = () => 0) {
|
|
14
|
+
this.#base = typeof base === 'string' ? LAYER_BASE[base] : base;
|
|
15
|
+
this.#offset = offset;
|
|
16
|
+
}
|
|
17
|
+
get() {
|
|
18
|
+
return this.#base + this.#offset();
|
|
19
|
+
}
|
|
20
|
+
share() {
|
|
21
|
+
return ZLayer.set(this);
|
|
22
|
+
}
|
|
23
|
+
static get = get;
|
|
24
|
+
static set = set;
|
|
25
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { EasingFunction } from 'svelte/transition';
|
|
2
|
+
import type { TransitionFunction } from '../element';
|
|
3
|
+
export type AnimateRadioIndicatorParams = {
|
|
4
|
+
/** Animation duration in milliseconds (default: 200 for in, 150 for out) */
|
|
5
|
+
duration?: number;
|
|
6
|
+
/** Delay before animation starts in milliseconds (default: 0) */
|
|
7
|
+
delay?: number;
|
|
8
|
+
/** Custom easing function (default: cubicOut for in, cubicIn for out) */
|
|
9
|
+
easing?: EasingFunction;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Enter transition for radio indicator (check)
|
|
13
|
+
* Smooth scale and fade in
|
|
14
|
+
*
|
|
15
|
+
* Respects prefers-reduced-motion by using instant transition
|
|
16
|
+
*/
|
|
17
|
+
export declare function animateRadioIndicatorIn(params?: AnimateRadioIndicatorParams): TransitionFunction<HTMLElement>;
|
|
18
|
+
/**
|
|
19
|
+
* Exit transition for radio indicator (uncheck)
|
|
20
|
+
* Quick scale and fade out
|
|
21
|
+
*
|
|
22
|
+
* Respects prefers-reduced-motion by using instant transition
|
|
23
|
+
*/
|
|
24
|
+
export declare function animateRadioIndicatorOut(params?: AnimateRadioIndicatorParams): TransitionFunction<HTMLElement>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { cubicOut, cubicIn } from 'svelte/easing';
|
|
2
|
+
/**
|
|
3
|
+
* Check if user prefers reduced motion
|
|
4
|
+
*/
|
|
5
|
+
function prefersReducedMotion() {
|
|
6
|
+
if (typeof window === 'undefined')
|
|
7
|
+
return false;
|
|
8
|
+
return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Enter transition for radio indicator (check)
|
|
12
|
+
* Smooth scale and fade in
|
|
13
|
+
*
|
|
14
|
+
* Respects prefers-reduced-motion by using instant transition
|
|
15
|
+
*/
|
|
16
|
+
export function animateRadioIndicatorIn(params = {}) {
|
|
17
|
+
const { duration = 200, delay = 0, easing = cubicOut } = params;
|
|
18
|
+
return () => {
|
|
19
|
+
// If user prefers reduced motion, use instant transition
|
|
20
|
+
if (prefersReducedMotion()) {
|
|
21
|
+
return {
|
|
22
|
+
duration: 0,
|
|
23
|
+
delay: 0,
|
|
24
|
+
css: () => ''
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
return () => ({
|
|
28
|
+
duration,
|
|
29
|
+
delay,
|
|
30
|
+
easing,
|
|
31
|
+
css: (t) => `transform: scale(${t}); opacity: ${t};`
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Exit transition for radio indicator (uncheck)
|
|
37
|
+
* Quick scale and fade out
|
|
38
|
+
*
|
|
39
|
+
* Respects prefers-reduced-motion by using instant transition
|
|
40
|
+
*/
|
|
41
|
+
export function animateRadioIndicatorOut(params = {}) {
|
|
42
|
+
const { duration = 150, delay = 0, easing = cubicIn } = params;
|
|
43
|
+
return () => {
|
|
44
|
+
// If user prefers reduced motion, use instant transition
|
|
45
|
+
if (prefersReducedMotion()) {
|
|
46
|
+
return {
|
|
47
|
+
duration: 0,
|
|
48
|
+
delay: 0,
|
|
49
|
+
css: () => ''
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return () => ({
|
|
53
|
+
duration,
|
|
54
|
+
delay,
|
|
55
|
+
easing,
|
|
56
|
+
css: (t) => `transform: scale(${t}); opacity: ${t};`
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
import { Stack } from '../stack';
|
|
4
4
|
import { toClassValue } from '../../utils';
|
|
5
5
|
import { HtmlAtom, type Base } from '../atom';
|
|
6
|
+
import { animateRadioIndicatorIn, animateRadioIndicatorOut } from './motion';
|
|
6
7
|
|
|
7
8
|
const radioGroupContext = getRadioGroupContext();
|
|
8
9
|
|
|
@@ -43,6 +44,8 @@
|
|
|
43
44
|
const isReadonly = $derived(_readonly || readonly);
|
|
44
45
|
const isChecked = $derived(proxy.current === value);
|
|
45
46
|
|
|
47
|
+
const checkedContentSnippet = $derived(isChecked ? checkedContent ? customCheckedContent: defaultCheckedContent : undefined);
|
|
48
|
+
|
|
46
49
|
function handleChange(ev: Event) {
|
|
47
50
|
const checked = (ev.currentTarget as HTMLInputElement)?.checked ?? false;
|
|
48
51
|
|
|
@@ -69,12 +72,28 @@
|
|
|
69
72
|
}
|
|
70
73
|
</script>
|
|
71
74
|
|
|
75
|
+
{#snippet defaultCheckedContent()}
|
|
76
|
+
<Stack.Item
|
|
77
|
+
class="rounded-inherit pointer-events-none size-full scale-[0.6] bg-current"
|
|
78
|
+
enter={animateRadioIndicatorIn()}
|
|
79
|
+
exit={animateRadioIndicatorOut()}
|
|
80
|
+
/>
|
|
81
|
+
{/snippet}
|
|
82
|
+
|
|
83
|
+
{#snippet customCheckedContent()}
|
|
84
|
+
<HtmlAtom
|
|
85
|
+
class="rounded-inherit pointer-events-none size-full scale-[0.6] bg-current"
|
|
86
|
+
base={checkedContent}
|
|
87
|
+
enter={animateRadioIndicatorIn()}
|
|
88
|
+
exit={animateRadioIndicatorOut()}
|
|
89
|
+
/>
|
|
90
|
+
{/snippet}
|
|
91
|
+
|
|
72
92
|
<Stack.Root
|
|
73
93
|
preset="radio"
|
|
74
94
|
class={[
|
|
75
|
-
'text-foreground bg-input box-border inline-flex aspect-square size-4 max-h-fit max-w-fit cursor-pointer place-items-center rounded-full border p-0',
|
|
95
|
+
'text-foreground bg-input box-border inline-flex aspect-square size-4 max-h-fit max-w-fit cursor-pointer place-items-center rounded-full border border-border p-0',
|
|
76
96
|
isDisabled && 'pointer-events-none opacity-50',
|
|
77
|
-
'$preset',
|
|
78
97
|
toClassValue.apply(null, [klass, {}])
|
|
79
98
|
]}
|
|
80
99
|
as="label"
|
|
@@ -96,14 +115,5 @@
|
|
|
96
115
|
/>
|
|
97
116
|
</Stack.Item>
|
|
98
117
|
|
|
99
|
-
{
|
|
100
|
-
{#if checkedContent}
|
|
101
|
-
<HtmlAtom
|
|
102
|
-
class="rounded-inherit pointer-events-none size-full scale-50 bg-current"
|
|
103
|
-
base={checkedContent}
|
|
104
|
-
/>
|
|
105
|
-
{:else}
|
|
106
|
-
<Stack.Item class="rounded-inherit pointer-events-none size-full scale-50 bg-current" />
|
|
107
|
-
{/if}
|
|
108
|
-
{/if}
|
|
118
|
+
{@render checkedContentSnippet?.()}
|
|
109
119
|
</Stack.Root>
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import { type Component, type Snippet } from 'svelte';
|
|
2
|
-
import { type HtmlAtomProps } from '../atom';
|
|
3
|
-
|
|
4
|
-
* Extend this interface to add custom radio properties in your application.
|
|
5
|
-
*/
|
|
6
|
-
export interface RadioExtendProps {
|
|
2
|
+
import { type HtmlAtomProps, type SnippetProps } from '../atom';
|
|
3
|
+
export interface RadioSnippetProps extends SnippetProps {
|
|
7
4
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export interface RadioGroupExtendProps {
|
|
12
|
-
}
|
|
13
|
-
export interface RadioProps<T = string> extends HtmlAtomProps<'label'>, RadioExtendProps {
|
|
5
|
+
export type RadioChildren = Snippet<[RadioSnippetProps]>;
|
|
6
|
+
export interface RadioProps<T = string> extends HtmlAtomProps<'label', never, RadioChildren> {
|
|
14
7
|
/**
|
|
15
8
|
* The value of the radio button
|
|
16
9
|
*/
|
|
@@ -46,7 +39,6 @@ export interface RadioProps<T = string> extends HtmlAtomProps<'label'>, RadioExt
|
|
|
46
39
|
/**
|
|
47
40
|
* Child content (label text)
|
|
48
41
|
*/
|
|
49
|
-
children?: Snippet<[]>;
|
|
50
42
|
/**
|
|
51
43
|
* Change event handler
|
|
52
44
|
*/
|
|
@@ -64,7 +56,7 @@ export interface RadioProps<T = string> extends HtmlAtomProps<'label'>, RadioExt
|
|
|
64
56
|
type: 'boolean';
|
|
65
57
|
}) => void;
|
|
66
58
|
}
|
|
67
|
-
export interface RadioGroupProps<T = string> extends HtmlAtomProps<'div'
|
|
59
|
+
export interface RadioGroupProps<T = string> extends HtmlAtomProps<'div', never, RadioChildren> {
|
|
68
60
|
/**
|
|
69
61
|
* The currently selected value
|
|
70
62
|
*/
|
|
@@ -88,7 +80,6 @@ export interface RadioGroupProps<T = string> extends HtmlAtomProps<'div'>, Radio
|
|
|
88
80
|
/**
|
|
89
81
|
* Child content (radio buttons)
|
|
90
82
|
*/
|
|
91
|
-
children?: Snippet<[]>;
|
|
92
83
|
/**
|
|
93
84
|
* Input event handler triggered when the selected value changes
|
|
94
85
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { PortalBond } from '../portal/bond.svelte
|
|
2
|
-
import { Bond, BondState, type BondStateProps } from '../../shared/bond.svelte
|
|
1
|
+
import type { PortalBond } from '../portal/bond.svelte';
|
|
2
|
+
import { Bond, BondState, type BondStateProps } from '../../shared/bond.svelte';
|
|
3
3
|
import type { Component } from 'svelte';
|
|
4
4
|
export type RootStateProps<T extends Record<string, unknown> = Record<string, unknown>> = BondStateProps & {
|
|
5
5
|
renderers?: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SvelteMap } from 'svelte/reactivity';
|
|
2
2
|
import { getContext, setContext } from 'svelte';
|
|
3
|
-
import { Bond, BondState } from '../../shared/bond.svelte
|
|
3
|
+
import { Bond, BondState } from '../../shared/bond.svelte';
|
|
4
4
|
export class RootBond extends Bond {
|
|
5
5
|
static CONTEXT_KEY = '@atomic-sv/bonds/root';
|
|
6
6
|
constructor(atom) {
|
|
@@ -1,92 +1,82 @@
|
|
|
1
|
-
<script module lang="ts">
|
|
2
|
-
export type RootPortals = 'root.l0'
|
|
3
|
-
</script>
|
|
4
|
-
|
|
5
|
-
<script lang="ts">
|
|
6
|
-
import { cn, defineState, defineProperty } from '../../utils';
|
|
7
|
-
import { ActivePortal, Portals } from '../portal';
|
|
8
|
-
import { HtmlAtom as Atom } from '../atom';
|
|
9
|
-
import { HtmlElement, SvgElement } from '../element';
|
|
10
|
-
import { RootBond, RootBondState, type RootStateProps } from './bond.svelte';
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
{
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
{
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
<L1Portal />
|
|
84
|
-
{/if}
|
|
85
|
-
|
|
86
|
-
{@render portals?.()}
|
|
87
|
-
|
|
88
|
-
<ActivePortal portal="root.l0">
|
|
89
|
-
{@render children?.()}
|
|
90
|
-
</ActivePortal>
|
|
91
|
-
</Atom>
|
|
92
|
-
</Portals>
|
|
1
|
+
<script module lang="ts">
|
|
2
|
+
export type RootPortals = 'root.l0';
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<script lang="ts">
|
|
6
|
+
import { cn, defineState, defineProperty } from '../../utils';
|
|
7
|
+
import { ActivePortal, Portal, Portals } from '../portal';
|
|
8
|
+
import { HtmlAtom as Atom } from '../atom';
|
|
9
|
+
import { HtmlElement, SvgElement } from '../element';
|
|
10
|
+
import { RootBond, RootBondState, type RootStateProps } from './bond.svelte';
|
|
11
|
+
import type { RootProps } from './types';
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
class: klass = '',
|
|
15
|
+
base = undefined,
|
|
16
|
+
children = undefined,
|
|
17
|
+
portal = undefined,
|
|
18
|
+
...restProps
|
|
19
|
+
}: RootProps = $props();
|
|
20
|
+
|
|
21
|
+
let html: typeof HtmlElement | undefined = $state(HtmlElement);
|
|
22
|
+
let svg: typeof SvgElement | undefined = $state(undefined);
|
|
23
|
+
|
|
24
|
+
type Renderers = {
|
|
25
|
+
html?: typeof HtmlElement;
|
|
26
|
+
svg?: typeof SvgElement;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const renderers = defineState<Renderers>([
|
|
30
|
+
defineProperty('html', () => {
|
|
31
|
+
if (!html) {
|
|
32
|
+
import('../element/html-element.svelte').then((mod) => {
|
|
33
|
+
html = mod.default;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return html;
|
|
38
|
+
}),
|
|
39
|
+
defineProperty('svg', () => {
|
|
40
|
+
if (!svg) {
|
|
41
|
+
import('../element/svg-element.svelte').then((mod) => {
|
|
42
|
+
svg = mod.default;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return svg;
|
|
47
|
+
})
|
|
48
|
+
]);
|
|
49
|
+
|
|
50
|
+
const bondProps = defineState<RootStateProps>([defineProperty('renderers', () => renderers)]);
|
|
51
|
+
|
|
52
|
+
const bondState = new RootBondState(() => bondProps);
|
|
53
|
+
const bond = new RootBond(bondState).share();
|
|
54
|
+
</script>
|
|
55
|
+
|
|
56
|
+
<Portals id="root">
|
|
57
|
+
<Atom
|
|
58
|
+
{@attach (node) => {
|
|
59
|
+
bond.rootElement = node;
|
|
60
|
+
}}
|
|
61
|
+
{base}
|
|
62
|
+
preset="root"
|
|
63
|
+
class={cn(
|
|
64
|
+
'atom-root bg-background text-foreground relative flex h-full w-full flex-1 flex-col items-start justify-stretch font-sans',
|
|
65
|
+
'$preset',
|
|
66
|
+
klass
|
|
67
|
+
)}
|
|
68
|
+
{...restProps}
|
|
69
|
+
>
|
|
70
|
+
{#if portal}
|
|
71
|
+
{@render portal?.()}
|
|
72
|
+
{:else}
|
|
73
|
+
<Portal.Outer id="root.l0" class="pointer-events-none absolute inset-0 z-10 overflow-hidden">
|
|
74
|
+
<Portal.Inner />
|
|
75
|
+
</Portal.Outer>
|
|
76
|
+
{/if}
|
|
77
|
+
|
|
78
|
+
<ActivePortal portal="root.l0">
|
|
79
|
+
{@render children?.()}
|
|
80
|
+
</ActivePortal>
|
|
81
|
+
</Atom>
|
|
82
|
+
</Portals>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export type RootPortals = 'root.l0'
|
|
1
|
+
export type RootPortals = 'root.l0';
|
|
2
2
|
import type { RootProps } from './types';
|
|
3
|
-
declare const Root: import("svelte").Component<RootProps<"div", import("../atom").
|
|
3
|
+
declare const Root: import("svelte").Component<RootProps<"div", import("../atom").SnippetBase>, {}, "">;
|
|
4
4
|
type Root = ReturnType<typeof Root>;
|
|
5
5
|
export default Root;
|
|
@@ -1,25 +1,14 @@
|
|
|
1
|
-
import type { HtmlAtomProps, Base } from '../atom';
|
|
1
|
+
import type { HtmlAtomProps, Base, SnippetProps } from '../atom';
|
|
2
2
|
import type { Snippet } from 'svelte';
|
|
3
|
-
|
|
4
|
-
* Extend this interface to add custom root properties in your application.
|
|
5
|
-
*/
|
|
6
|
-
export interface RootExtendProps {
|
|
3
|
+
export interface RootSnippetProps extends SnippetProps {
|
|
7
4
|
}
|
|
8
|
-
export
|
|
5
|
+
export type RootChildren = Snippet<[RootSnippetProps]>;
|
|
6
|
+
export interface RootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, RootChildren> {
|
|
9
7
|
/**
|
|
10
8
|
* Main content to render inside the root component.
|
|
11
9
|
*/
|
|
12
|
-
children?: Snippet;
|
|
13
10
|
/**
|
|
14
11
|
* Custom portal configuration snippet.
|
|
15
12
|
*/
|
|
16
13
|
portals?: Snippet;
|
|
17
|
-
/**
|
|
18
|
-
* Custom L0 portal snippet (z-10 layer for popovers).
|
|
19
|
-
*/
|
|
20
|
-
l0portal?: Snippet;
|
|
21
|
-
/**
|
|
22
|
-
* Custom L1 portal snippet (z-12 layer).
|
|
23
|
-
*/
|
|
24
|
-
l1portal?: Snippet;
|
|
25
14
|
}
|