@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,82 +1,102 @@
|
|
|
1
|
-
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
-
import { Teleport, ActivePortal } from '../portal';
|
|
3
|
-
import { defineProperty, defineState } from '../../utils';
|
|
4
|
-
import type { Base } from '../atom';
|
|
5
|
-
import { DialogBond, DialogBondState, type DialogBondProps } from './bond.svelte';
|
|
6
|
-
import type { DialogProps } from './types';
|
|
7
|
-
import {
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1
|
+
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { Teleport, ActivePortal } from '../portal';
|
|
3
|
+
import { defineProperty, defineState } from '../../utils';
|
|
4
|
+
import type { Base } from '../atom';
|
|
5
|
+
import { DialogBond, DialogBondState, type DialogBondProps } from './bond.svelte';
|
|
6
|
+
import type { DialogProps } from './types';
|
|
7
|
+
import { ZLayer } from '../portal/zlayer.svelte';
|
|
8
|
+
import { untrack } from 'svelte';
|
|
9
|
+
|
|
10
|
+
let {
|
|
11
|
+
class: klass = '',
|
|
12
|
+
open = $bindable(false),
|
|
13
|
+
disabled = false,
|
|
14
|
+
type = 'modal' as 'modal' | 'non-modal',
|
|
15
|
+
as = 'dialog' as E,
|
|
16
|
+
"z-index": zindex = 0,
|
|
17
|
+
portal = undefined,
|
|
18
|
+
factory = _factory,
|
|
19
|
+
children = undefined,
|
|
20
|
+
trigger = undefined,
|
|
21
|
+
onclick = undefined,
|
|
22
|
+
...restProps
|
|
23
|
+
}: DialogProps<E, B> = $props();
|
|
24
|
+
|
|
25
|
+
const normalizedZIndex = $derived(
|
|
26
|
+
typeof zindex === 'number' && Number.isFinite(zindex) ? zindex : undefined
|
|
27
|
+
);
|
|
28
|
+
const layer = new ZLayer('dialog', () => normalizedZIndex ?? 0).share();
|
|
29
|
+
|
|
30
|
+
const bondProps = defineState<DialogBondProps>(
|
|
31
|
+
[
|
|
32
|
+
defineProperty(
|
|
33
|
+
'open',
|
|
34
|
+
() => open,
|
|
35
|
+
(v) => {
|
|
36
|
+
open = v;
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
defineProperty('rest', () => restProps)
|
|
40
|
+
],
|
|
41
|
+
() => ({ disabled })
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
const bond = untrack(() => factory(bondProps)).share();
|
|
45
|
+
|
|
46
|
+
const rootProps: Record<string, unknown> = $derived({
|
|
47
|
+
...bond?.root().spread,
|
|
48
|
+
...restProps
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
function _factory(props: typeof bondProps) {
|
|
52
|
+
const bondState = new DialogBondState(() => props);
|
|
53
|
+
return new DialogBond(bondState);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function onclickDialogElement(ev: MouseEvent) {
|
|
57
|
+
// Ignore clicks that originated inside the dialog content
|
|
58
|
+
if (bond?.elements?.content?.contains(ev.target as Node)) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Let the user's onclick handler run first; they can call ev.preventDefault() to cancel close
|
|
63
|
+
onclick?.(ev, bond);
|
|
64
|
+
|
|
65
|
+
if (ev.defaultPrevented) return;
|
|
66
|
+
|
|
67
|
+
// Close on backdrop click unless opted out
|
|
68
|
+
if (type === 'modal' && !disabled) {
|
|
69
|
+
bond.state.close();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export function getBond() {
|
|
74
|
+
return bond;
|
|
75
|
+
}
|
|
76
|
+
</script>
|
|
77
|
+
|
|
78
|
+
{@render trigger?.({ dialog: bond })}
|
|
79
|
+
|
|
80
|
+
<Teleport
|
|
81
|
+
{as}
|
|
82
|
+
{bond}
|
|
83
|
+
preset="dialog"
|
|
84
|
+
portal={portal ?? 'root.l0'}
|
|
85
|
+
class={[
|
|
86
|
+
'border-border pointer-events-none fixed top-0 left-0 flex h-full w-full items-center justify-center bg-neutral-900/0 transition-colors duration-200',
|
|
87
|
+
open && 'pointer-events-auto bg-neutral-900/10',
|
|
88
|
+
'$preset',
|
|
89
|
+
klass
|
|
90
|
+
]}
|
|
91
|
+
style="z-index: {layer.get()};"
|
|
92
|
+
onclick={onclickDialogElement}
|
|
93
|
+
oncancel={(ev) => {
|
|
94
|
+
ev.preventDefault();
|
|
95
|
+
open = false;
|
|
96
|
+
}}
|
|
97
|
+
{...rootProps}
|
|
98
|
+
>
|
|
99
|
+
<ActivePortal portal={portal ?? 'root.l0'}>
|
|
100
|
+
{@render children?.({ dialog: bond })}
|
|
101
|
+
</ActivePortal>
|
|
102
|
+
</Teleport>
|
|
@@ -1,44 +1,86 @@
|
|
|
1
1
|
import { DURATION } from '../../shared';
|
|
2
|
-
import { animate } from 'motion';
|
|
2
|
+
import { animate, easeInOut } from 'motion';
|
|
3
3
|
import { DialogBond } from './bond.svelte';
|
|
4
|
+
import { promiseWithResolvers } from '../../utils/promise.svelte';
|
|
4
5
|
export function animateDialogRoot(params = {}) {
|
|
5
|
-
const { duration = DURATION.
|
|
6
|
+
const { duration = DURATION.smooth / 1000, delay = 0, ease = 'anticipate' } = params;
|
|
6
7
|
return (node) => {
|
|
7
8
|
const bond = DialogBond.get();
|
|
8
9
|
const isOpen = bond?.state.props.open ?? false;
|
|
9
10
|
if (node instanceof HTMLDialogElement) {
|
|
10
11
|
node.show();
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
const promise = bond?.animationPromises.content;
|
|
14
|
+
if (!isOpen && promise) {
|
|
15
|
+
promise.then(({ duration: dr = 0, delay: dl = 0 }) => {
|
|
16
|
+
animate(node, {
|
|
17
|
+
opacity: +isOpen
|
|
18
|
+
}, {
|
|
19
|
+
duration,
|
|
20
|
+
delay: duration + delay < dr + dl ? delay + Math.abs(dr + dl - (duration + delay)) : delay,
|
|
21
|
+
ease
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
animate(node, {
|
|
27
|
+
opacity: +isOpen
|
|
28
|
+
}, {
|
|
29
|
+
duration,
|
|
30
|
+
delay,
|
|
31
|
+
ease
|
|
32
|
+
});
|
|
33
|
+
}
|
|
19
34
|
};
|
|
20
35
|
}
|
|
21
36
|
export function animateDialogContent(params = {}) {
|
|
22
|
-
const { duration = DURATION.fast / 1000, delay = 0, ease =
|
|
23
|
-
|
|
37
|
+
const { duration = DURATION.fast / 1000, delay = 0, ease = easeInOut } = params;
|
|
38
|
+
let mounted = false;
|
|
24
39
|
return (node) => {
|
|
40
|
+
// Read bond inside the callback — safe at any call site, not just during component init
|
|
41
|
+
const bond = DialogBond.get();
|
|
42
|
+
const { resolve, promise } = promiseWithResolvers();
|
|
43
|
+
if (bond) {
|
|
44
|
+
bond.animationPromises.content = promise;
|
|
45
|
+
}
|
|
25
46
|
const isOpen = bond?.state.props.open ?? false;
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
|
|
47
|
+
if (isOpen) {
|
|
48
|
+
const rootElement = bond?.elements.root;
|
|
49
|
+
if (rootElement instanceof HTMLDialogElement) {
|
|
50
|
+
rootElement.show();
|
|
29
51
|
}
|
|
30
52
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
53
|
+
const triggerElement = bond?.elements.trigger;
|
|
54
|
+
if (triggerElement) {
|
|
55
|
+
node.style.transform = '';
|
|
56
|
+
const triggerRect = triggerElement.getBoundingClientRect();
|
|
57
|
+
const nodeRect = node.getBoundingClientRect();
|
|
58
|
+
const scaleX = triggerRect.width / nodeRect.width;
|
|
59
|
+
const scaleY = triggerRect.height / nodeRect.height;
|
|
60
|
+
const x = triggerRect.x - nodeRect.x;
|
|
61
|
+
const y = triggerRect.y - nodeRect.y;
|
|
62
|
+
const transformOriginX = triggerRect.x < nodeRect.x + nodeRect.width / 2 ? 'left' : 'right';
|
|
63
|
+
node.style.transformOrigin = `${transformOriginX} top`;
|
|
64
|
+
const c = animate(node, {
|
|
65
|
+
scaleX: isOpen ? [scaleX, 1] : [1, scaleX],
|
|
66
|
+
scaleY: isOpen ? [scaleY, 1] : [1, scaleY],
|
|
67
|
+
translateX: isOpen ? [`${x}px`, '0px'] : ['0px', `${x}px`],
|
|
68
|
+
translateY: isOpen ? [`${y}px`, '0px'] : ['0px', `${y}px`],
|
|
69
|
+
opacity: +isOpen
|
|
70
|
+
}, {
|
|
71
|
+
duration: duration * +mounted,
|
|
72
|
+
easing: ease,
|
|
73
|
+
delay
|
|
74
|
+
});
|
|
75
|
+
mounted = true;
|
|
76
|
+
resolve({ duration, delay, controller: c });
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
animate(node, { scale: 0.9 + 0.1 * +isOpen, opacity: +isOpen }, {
|
|
80
|
+
duration,
|
|
81
|
+
easing: ease,
|
|
82
|
+
delay
|
|
83
|
+
});
|
|
84
|
+
}
|
|
43
85
|
};
|
|
44
86
|
}
|
|
@@ -1,67 +1,32 @@
|
|
|
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 { PortalBond } from '../portal';
|
|
4
4
|
import type { DialogBond, DialogBondProps } from './bond.svelte';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
export interface DialogExtendProps {
|
|
5
|
+
export interface DialogSnippetProps extends SnippetProps {
|
|
6
|
+
dialog: DialogBond;
|
|
9
7
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*/
|
|
13
|
-
export interface DialogContentExtendProps {
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Extend this interface to add custom dialog header properties in your application.
|
|
17
|
-
*/
|
|
18
|
-
export interface DialogHeaderExtendProps {
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Extend this interface to add custom dialog body properties in your application.
|
|
22
|
-
*/
|
|
23
|
-
export interface DialogBodyExtendProps {
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Extend this interface to add custom dialog footer properties in your application.
|
|
27
|
-
*/
|
|
28
|
-
export interface DialogFooterExtendProps {
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Extend this interface to add custom dialog title properties in your application.
|
|
32
|
-
*/
|
|
33
|
-
export interface DialogTitleExtendProps {
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Extend this interface to add custom dialog description properties in your application.
|
|
37
|
-
*/
|
|
38
|
-
export interface DialogDescriptionExtendProps {
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Extend this interface to add custom dialog close button properties in your application.
|
|
42
|
-
*/
|
|
43
|
-
export interface DialogCloseButtonExtendProps {
|
|
44
|
-
}
|
|
45
|
-
export interface DialogProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Omit<HtmlAtomProps<E, B>, 'children'>, DialogExtendProps {
|
|
8
|
+
export type DialogChildren = Snippet<[DialogSnippetProps]>;
|
|
9
|
+
export interface DialogProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
46
10
|
open?: boolean;
|
|
47
11
|
disabled?: boolean;
|
|
12
|
+
/** Controls backdrop click behaviour. 'modal' closes on backdrop click (default); 'non-modal' keeps it open. */
|
|
13
|
+
type?: 'modal' | 'non-modal' | undefined;
|
|
48
14
|
portal?: string | PortalBond;
|
|
49
15
|
factory?: (props: DialogBondProps) => DialogBond;
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}]>;
|
|
16
|
+
trigger?: DialogChildren;
|
|
17
|
+
onclick?: (ev: MouseEvent, bond: DialogBond) => void;
|
|
53
18
|
}
|
|
54
|
-
export interface DialogContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
19
|
+
export interface DialogContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
55
20
|
}
|
|
56
|
-
export interface DialogHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
21
|
+
export interface DialogHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
57
22
|
}
|
|
58
|
-
export interface DialogBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
23
|
+
export interface DialogBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
59
24
|
}
|
|
60
|
-
export interface DialogFooterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
25
|
+
export interface DialogFooterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
61
26
|
}
|
|
62
|
-
export interface DialogTitleProps<E extends keyof HTMLElementTagNameMap = 'h2', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
27
|
+
export interface DialogTitleProps<E extends keyof HTMLElementTagNameMap = 'h2', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
63
28
|
}
|
|
64
|
-
export interface DialogDescriptionProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
29
|
+
export interface DialogDescriptionProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
65
30
|
}
|
|
66
|
-
export interface DialogCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
31
|
+
export interface DialogCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'button', B extends Base = Base> extends HtmlAtomProps<E, B, DialogChildren> {
|
|
67
32
|
}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { HtmlAtomProps, Base } from '../atom';
|
|
2
|
-
|
|
3
|
-
* Extend this interface to add custom divider properties in your application.
|
|
4
|
-
*/
|
|
5
|
-
export interface DividerExtendProps {
|
|
6
|
-
}
|
|
7
|
-
export interface DividerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, DividerExtendProps {
|
|
2
|
+
export interface DividerProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B> {
|
|
8
3
|
vertical?: boolean;
|
|
9
4
|
transparent?: boolean;
|
|
10
5
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Bond, BondState, type BondStateProps } from '../../shared/bond.svelte
|
|
1
|
+
import { Bond, BondState, BondAtom, type BondStateProps } from '../../shared/bond.svelte';
|
|
2
2
|
export type DrawerBondProps<T extends Record<string, unknown> = Record<string, unknown>> = BondStateProps & {
|
|
3
3
|
open: boolean;
|
|
4
4
|
disabled: boolean;
|
|
5
|
+
side?: 'left' | 'right' | 'top' | 'bottom';
|
|
5
6
|
extend: T;
|
|
6
7
|
readonly rest?: Record<string, unknown>;
|
|
7
8
|
};
|
|
@@ -16,12 +17,10 @@ export type DrawerBondElements = {
|
|
|
16
17
|
description: HTMLElement;
|
|
17
18
|
backdrop: HTMLElement;
|
|
18
19
|
};
|
|
19
|
-
export declare class
|
|
20
|
-
|
|
21
|
-
constructor(
|
|
22
|
-
|
|
23
|
-
[x: symbol]: (node: HTMLElement) => void;
|
|
24
|
-
id: string;
|
|
20
|
+
export declare class DrawerRootAtom extends BondAtom<DrawerBond> {
|
|
21
|
+
#private;
|
|
22
|
+
constructor(bond: DrawerBond);
|
|
23
|
+
get attrs(): {
|
|
25
24
|
role: string;
|
|
26
25
|
'aria-modal': boolean;
|
|
27
26
|
'aria-labelledby': string | undefined;
|
|
@@ -31,52 +30,78 @@ export declare class DrawerBond<Props extends DrawerBondProps = DrawerBondProps,
|
|
|
31
30
|
tabindex: number;
|
|
32
31
|
'data-active': boolean;
|
|
33
32
|
'data-open': boolean;
|
|
34
|
-
|
|
33
|
+
};
|
|
34
|
+
get handlers(): {
|
|
35
35
|
onkeydown: (ev: KeyboardEvent) => void;
|
|
36
36
|
};
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
onmount(node: HTMLElement): void;
|
|
38
|
+
}
|
|
39
|
+
export declare class DrawerContentAtom extends BondAtom<DrawerBond> {
|
|
40
|
+
constructor(bond: DrawerBond);
|
|
41
|
+
get attrs(): {
|
|
40
42
|
role: string;
|
|
41
|
-
'data-kind': string;
|
|
42
43
|
};
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
}
|
|
45
|
+
export declare class DrawerBodyAtom extends BondAtom<DrawerBond> {
|
|
46
|
+
constructor(bond: DrawerBond);
|
|
47
|
+
get attrs(): {
|
|
46
48
|
role: string;
|
|
47
|
-
'data-kind': string;
|
|
48
49
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
}
|
|
51
|
+
export declare class DrawerHeaderAtom extends BondAtom<DrawerBond> {
|
|
52
|
+
constructor(bond: DrawerBond);
|
|
53
|
+
get attrs(): {
|
|
52
54
|
role: string;
|
|
53
|
-
'data-kind': string;
|
|
54
55
|
};
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
}
|
|
57
|
+
export declare class DrawerTitleAtom extends BondAtom<DrawerBond> {
|
|
58
|
+
constructor(bond: DrawerBond);
|
|
59
|
+
get attrs(): {
|
|
58
60
|
role: string;
|
|
59
61
|
'aria-level': number;
|
|
60
|
-
'data-kind': string;
|
|
61
62
|
};
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
}
|
|
64
|
+
export declare class DrawerDescriptionAtom extends BondAtom<DrawerBond> {
|
|
65
|
+
constructor(bond: DrawerBond);
|
|
66
|
+
get attrs(): {
|
|
67
|
+
[x: string]: unknown;
|
|
66
68
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
}
|
|
70
|
+
export declare class DrawerFooterAtom extends BondAtom<DrawerBond> {
|
|
71
|
+
constructor(bond: DrawerBond);
|
|
72
|
+
get attrs(): {
|
|
70
73
|
role: string;
|
|
71
|
-
'data-kind': string;
|
|
72
74
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
+
}
|
|
76
|
+
export declare class DrawerBackdropAtom extends BondAtom<DrawerBond> {
|
|
77
|
+
constructor(bond: DrawerBond);
|
|
78
|
+
get attrs(): {
|
|
75
79
|
role: string;
|
|
76
80
|
'aria-hidden': boolean;
|
|
77
|
-
'data-kind': string;
|
|
78
|
-
onclick: (ev: MouseEvent) => void;
|
|
79
81
|
};
|
|
82
|
+
get handlers(): {
|
|
83
|
+
onclick: () => void;
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
export declare class DrawerBond<Props extends DrawerBondProps = DrawerBondProps, State extends DrawerBondState<Props> = DrawerBondState<Props>> extends Bond<Props, State, DrawerBondElements> {
|
|
87
|
+
static CONTEXT_KEY: string;
|
|
88
|
+
constructor(state: State);
|
|
89
|
+
/** Handle for granular access to root attrs, handlers, and attachment */
|
|
90
|
+
root(): DrawerRootAtom;
|
|
91
|
+
/** Handle for granular access to content attrs and attachment */
|
|
92
|
+
content(): DrawerContentAtom;
|
|
93
|
+
/** Handle for granular access to body attrs and attachment */
|
|
94
|
+
body(): DrawerBodyAtom;
|
|
95
|
+
/** Handle for granular access to header attrs and attachment */
|
|
96
|
+
header(): DrawerHeaderAtom;
|
|
97
|
+
/** Handle for granular access to title attrs and attachment */
|
|
98
|
+
title(): DrawerTitleAtom;
|
|
99
|
+
/** Handle for granular access to description attrs and attachment */
|
|
100
|
+
description(): DrawerDescriptionAtom;
|
|
101
|
+
/** Handle for granular access to footer attrs and attachment */
|
|
102
|
+
footer(): DrawerFooterAtom;
|
|
103
|
+
/** Handle for granular access to backdrop attrs, handlers, and attachment */
|
|
104
|
+
backdrop(): DrawerBackdropAtom;
|
|
80
105
|
share(): this;
|
|
81
106
|
static get(): DrawerBond | undefined;
|
|
82
107
|
static set(bond: DrawerBond): DrawerBond;
|