@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,61 +1,27 @@
|
|
|
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 { AlertBond } from './bond.svelte';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Extend this interface to add custom alert content properties in your application.
|
|
12
|
-
*/
|
|
13
|
-
export interface AlertContentExtendProps {
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Extend this interface to add custom alert title properties in your application.
|
|
17
|
-
*/
|
|
18
|
-
export interface AlertTitleExtendProps {
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Extend this interface to add custom alert description properties in your application.
|
|
22
|
-
*/
|
|
23
|
-
export interface AlertDescriptionExtendProps {
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Extend this interface to add custom alert icon properties in your application.
|
|
27
|
-
*/
|
|
28
|
-
export interface AlertIconExtendProps {
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Extend this interface to add custom alert actions properties in your application.
|
|
32
|
-
*/
|
|
33
|
-
export interface AlertActionsExtendProps {
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Extend this interface to add custom alert close button properties in your application.
|
|
37
|
-
*/
|
|
38
|
-
export interface AlertCloseButtonExtendProps {
|
|
39
|
-
}
|
|
40
|
-
export interface AlertRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, AlertRootExtendProps {
|
|
5
|
+
export interface AlertSnippetProps extends SnippetProps {
|
|
6
|
+
alert: AlertBond;
|
|
7
|
+
}
|
|
8
|
+
export type AlertChildren = Snippet<[AlertSnippetProps]>;
|
|
9
|
+
export interface AlertRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
41
10
|
dismissible?: boolean;
|
|
42
11
|
dismissed?: boolean;
|
|
43
12
|
disabled?: boolean;
|
|
44
13
|
extend?: Record<string, unknown>;
|
|
45
14
|
factory?: Factory<AlertBond>;
|
|
46
|
-
children?: Snippet<[{
|
|
47
|
-
alert: AlertBond;
|
|
48
|
-
}]>;
|
|
49
15
|
}
|
|
50
|
-
export interface AlertContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
16
|
+
export interface AlertContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
51
17
|
}
|
|
52
|
-
export interface AlertTitleProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
18
|
+
export interface AlertTitleProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
53
19
|
}
|
|
54
|
-
export interface AlertDescriptionProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
20
|
+
export interface AlertDescriptionProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
55
21
|
}
|
|
56
|
-
export interface AlertIconProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
22
|
+
export interface AlertIconProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
57
23
|
}
|
|
58
|
-
export interface AlertActionsProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
24
|
+
export interface AlertActionsProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
59
25
|
}
|
|
60
|
-
export interface AlertCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B
|
|
26
|
+
export interface AlertCloseButtonProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B, AlertChildren> {
|
|
61
27
|
}
|
|
@@ -1,95 +1,84 @@
|
|
|
1
|
-
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
-
import type {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import type {
|
|
10
|
-
import
|
|
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
|
-
const
|
|
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
|
-
|
|
84
|
-
|
|
85
|
-
component: _base ?? atom,
|
|
86
|
-
props: { class: _klass, as: _as, ..._restProps }
|
|
87
|
-
};
|
|
88
|
-
}) as { component: Component; props: Record<string, any> };
|
|
89
|
-
</script>
|
|
90
|
-
|
|
91
|
-
<renderer.component {...renderer.props}>
|
|
92
|
-
{#snippet children(args: any)}
|
|
93
|
-
{@render (childrenProp as any)?.(args)}
|
|
94
|
-
{/snippet}
|
|
95
|
-
</renderer.component>
|
|
1
|
+
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import type { Base, HtmlAtomProps } from './types';
|
|
3
|
+
import { RootBond } from '../root';
|
|
4
|
+
import { HtmlElement } from '../element';
|
|
5
|
+
import { getPreset } from '../../context';
|
|
6
|
+
import type { PresetModuleName } from '../../context/preset.svelte';
|
|
7
|
+
import SnippetRenderer from './snippet-renderer.svelte';
|
|
8
|
+
import type { Component } from 'svelte';
|
|
9
|
+
import type { ClassValue } from '../../utils';
|
|
10
|
+
import {
|
|
11
|
+
resolvePreset,
|
|
12
|
+
resolveLocalVariants,
|
|
13
|
+
mergeVariants,
|
|
14
|
+
mergeClassesWithPreset,
|
|
15
|
+
extractRestProps,
|
|
16
|
+
isSnippetBase
|
|
17
|
+
} from './utils';
|
|
18
|
+
|
|
19
|
+
const rootBond = RootBond.get();
|
|
20
|
+
|
|
21
|
+
let {
|
|
22
|
+
class: klass = '',
|
|
23
|
+
as = 'div',
|
|
24
|
+
base = undefined,
|
|
25
|
+
preset: presetKey = undefined,
|
|
26
|
+
bond = undefined,
|
|
27
|
+
variants = undefined,
|
|
28
|
+
children: childrenProp = undefined,
|
|
29
|
+
...restProps
|
|
30
|
+
}: HtmlAtomProps<E, B> = $props();
|
|
31
|
+
|
|
32
|
+
// Memoize preset resolution - only recompute when presetKey or bond changes
|
|
33
|
+
const preset = $derived.by(() => {
|
|
34
|
+
if (!presetKey) return undefined;
|
|
35
|
+
const result = getPreset(presetKey as PresetModuleName)?.(bond);
|
|
36
|
+
return resolvePreset(result);
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
// Resolve local variants - either VariantDefinition or function
|
|
40
|
+
const localVariants = $derived(resolveLocalVariants(variants, bond, restProps));
|
|
41
|
+
|
|
42
|
+
// Merge preset variants with local variants
|
|
43
|
+
// Memoized to avoid recomputation when inputs haven't changed
|
|
44
|
+
const mergedVariants = $derived.by(() => {
|
|
45
|
+
return mergeVariants(
|
|
46
|
+
preset?.variants,
|
|
47
|
+
preset?.class,
|
|
48
|
+
preset?.compounds,
|
|
49
|
+
preset?.defaults,
|
|
50
|
+
localVariants,
|
|
51
|
+
bond,
|
|
52
|
+
restProps
|
|
53
|
+
);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
const finalKlass = $derived(
|
|
57
|
+
mergeClassesWithPreset(klass, preset?.class, mergedVariants?.class as ClassValue)
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
const finalBase = $derived(base ?? preset?.base);
|
|
61
|
+
const finalAs = $derived(as ?? preset?.as);
|
|
62
|
+
const finalRestProps = $derived(extractRestProps(preset, mergedVariants, restProps));
|
|
63
|
+
|
|
64
|
+
const atom = $derived(rootBond?.state?.props?.renderers?.html ?? HtmlElement);
|
|
65
|
+
|
|
66
|
+
const renderer = $derived.by(() => {
|
|
67
|
+
if (isSnippetBase(finalBase))
|
|
68
|
+
return {
|
|
69
|
+
component: SnippetRenderer,
|
|
70
|
+
props: { snippet: finalBase, class: finalKlass, as: finalAs, children: childrenProp, ...finalRestProps }
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
return {
|
|
74
|
+
component: finalBase ?? atom,
|
|
75
|
+
props: { class: finalKlass, as: finalAs, ...finalRestProps }
|
|
76
|
+
};
|
|
77
|
+
}) as { component: Component; props: Record<string, any> };
|
|
78
|
+
</script>
|
|
79
|
+
|
|
80
|
+
<renderer.component {...renderer.props}>
|
|
81
|
+
{#snippet children(args: any)}
|
|
82
|
+
{@render (childrenProp as any)?.(args)}
|
|
83
|
+
{/snippet}
|
|
84
|
+
</renderer.component>
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type { HTMLAttributes } from 'svelte/elements';
|
|
2
1
|
import type { Base, HtmlAtomProps } from './types';
|
|
3
2
|
declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
4
|
-
props:
|
|
3
|
+
props: HtmlAtomProps<E, B>;
|
|
5
4
|
exports: {};
|
|
6
5
|
bindings: "";
|
|
7
6
|
slots: {};
|
|
@@ -1,26 +1,68 @@
|
|
|
1
1
|
import type { Component, Snippet } from 'svelte';
|
|
2
|
-
import {
|
|
2
|
+
import type { HtmlElementTagName } from '../element';
|
|
3
3
|
import type { HtmlElementProps, ElementType } from '../element/types';
|
|
4
4
|
import type { PresetModuleName } from '../../context/preset.svelte';
|
|
5
5
|
import type { Bond } from '../../shared';
|
|
6
6
|
import type { VariantDefinition } from '../../utils';
|
|
7
|
+
/** Base type for component-based implementations */
|
|
7
8
|
export type ComponentBase = Component;
|
|
9
|
+
/** Base type for snippet-based implementations */
|
|
8
10
|
export type SnippetBase = Snippet;
|
|
9
|
-
export type Base<Args = any> = Args extends Record<string, any> ? ComponentBase : Args extends unknown[] ? SnippetBase : never;
|
|
10
11
|
/**
|
|
11
|
-
*
|
|
12
|
+
* Generic base type that can be either a Component or Snippet
|
|
13
|
+
* - Allows components to work with both rendering patterns
|
|
14
|
+
* - Provides type safety for generic component props
|
|
12
15
|
*/
|
|
13
|
-
export
|
|
16
|
+
export type Base<Args extends unknown[] = unknown[]> = Args extends [
|
|
17
|
+
infer First extends Record<string, any>,
|
|
18
|
+
...unknown[]
|
|
19
|
+
] ? ComponentBase : Args extends [] ? SnippetBase | ComponentBase : Args extends unknown[] ? SnippetBase : never;
|
|
20
|
+
/**
|
|
21
|
+
* Base interface for snippet context props.
|
|
22
|
+
* Extend this to type the snippet argument in your component.
|
|
23
|
+
*/
|
|
24
|
+
export interface SnippetProps {
|
|
14
25
|
}
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
|
|
26
|
+
/** Variant configuration - can be static or dynamic */
|
|
27
|
+
export type Variants = VariantDefinition<any> | ((bond: Bond, variantProps: Record<string, any>) => Record<string, any>);
|
|
28
|
+
/**
|
|
29
|
+
* Base props for HTML atom components
|
|
30
|
+
*
|
|
31
|
+
* Extensibility pattern:
|
|
32
|
+
* ```ts
|
|
33
|
+
* // In component type file:
|
|
34
|
+
* interface CustomSnippetProps extends SnippetProps {
|
|
35
|
+
* value: string;
|
|
36
|
+
* onChange: (value: string) => void;
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* interface CustomAtomProps extends HtmlAtomProps<'input'> {
|
|
40
|
+
* children?: Snippet<[CustomSnippetProps]>;
|
|
41
|
+
* }
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export interface HtmlAtomProps<E extends HtmlElementTagName = HtmlElementTagName, B extends Base<any> = Base, Children extends Snippet<unknown[]> = Snippet> extends HtmlElementProps<E, Children> {
|
|
45
|
+
/** Optional Bond for state management & context */
|
|
46
|
+
bond?: Bond | undefined;
|
|
47
|
+
/** Base component or snippet to render (can be overridden) */
|
|
18
48
|
base?: B | undefined;
|
|
49
|
+
/** Preset configuration module */
|
|
19
50
|
preset?: PresetModuleName | (string & {});
|
|
20
51
|
/**
|
|
21
|
-
* Variant definition or function to resolve variants
|
|
22
|
-
*
|
|
23
|
-
*
|
|
52
|
+
* Variant definition or function to resolve variants dynamically
|
|
53
|
+
*
|
|
54
|
+
* Supports two patterns:
|
|
55
|
+
* 1. Static: `VariantDefinition` - static config with variants, defaultVariants, etc.
|
|
56
|
+
* 2. Dynamic: `Function` - receives bond and props, returns resolved props
|
|
57
|
+
*
|
|
58
|
+
* Example:
|
|
59
|
+
* ```ts
|
|
60
|
+
* variants: cva('button', {
|
|
61
|
+
* variants: {
|
|
62
|
+
* size: { sm: 'px-2 py-1', lg: 'px-4 py-2' }
|
|
63
|
+
* }
|
|
64
|
+
* })
|
|
65
|
+
* ```
|
|
24
66
|
*/
|
|
25
67
|
variants?: Variants;
|
|
26
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
export {};
|
|
@@ -22,8 +22,13 @@ export declare function mergeVariants(presetVariants: Record<string, any> | unde
|
|
|
22
22
|
*/
|
|
23
23
|
export declare function mergeClassesWithPreset(userClass: string | ClassValue | undefined, presetClass: ClassValue | undefined, variantClass: ClassValue | undefined): string;
|
|
24
24
|
/**
|
|
25
|
-
* Pure function to resolve local variants
|
|
26
|
-
* Handles both function-based and VariantDefinition-based variants
|
|
25
|
+
* Pure function to resolve local variants.
|
|
26
|
+
* Handles both function-based and VariantDefinition-based variants.
|
|
27
|
+
*
|
|
28
|
+
* If the function was created by `defineVariants`, it carries a VARIANT_DEF_TAG
|
|
29
|
+
* symbol with the original config. We detect this and route through the cached
|
|
30
|
+
* resolveVariants engine so defineVariants-based variants benefit from the same
|
|
31
|
+
* two-level WeakMap cache as raw VariantDefinition objects.
|
|
27
32
|
*/
|
|
28
33
|
export declare function resolveLocalVariants(variants: any, bond: Bond | null | undefined, props: Record<string, unknown>): ResolvedProps | undefined;
|
|
29
34
|
/**
|
|
@@ -31,7 +36,9 @@ export declare function resolveLocalVariants(variants: any, bond: Bond | null |
|
|
|
31
36
|
*/
|
|
32
37
|
export declare function extractRestProps(preset: Record<string, any> | undefined, mergedVariants: ResolvedProps | undefined, restProps: Record<string, unknown>): Record<string, unknown>;
|
|
33
38
|
/**
|
|
34
|
-
* Pure function to check if a base is a snippet
|
|
39
|
+
* Pure function to check if a base is a snippet.
|
|
40
|
+
* Svelte 5 snippets compile to arrow functions (no prototype),
|
|
41
|
+
* while components compile to named functions (with prototype).
|
|
35
42
|
*/
|
|
36
43
|
export declare function isSnippetBase(base: unknown): boolean;
|
|
37
44
|
export {};
|
|
@@ -1,14 +1,32 @@
|
|
|
1
|
-
import { cn } from '../../utils';
|
|
1
|
+
import { cn, VARIANT_DEF_TAG } from '../../utils';
|
|
2
2
|
import { call } from '../../utils/function';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Maximum cache size to prevent memory leaks
|
|
4
|
+
* Two-level cache for resolved variants.
|
|
5
|
+
* Outer key: bond instance identity (WeakMap for automatic GC when bond is destroyed).
|
|
6
|
+
* Inner key: JSON stringified variant-relevant props.
|
|
7
|
+
* Bond-less calls share a single flat Map.
|
|
10
8
|
*/
|
|
9
|
+
const variantCacheByBond = new WeakMap();
|
|
10
|
+
const variantCacheNoBond = new Map();
|
|
11
11
|
const MAX_CACHE_SIZE = 100;
|
|
12
|
+
function getCacheMap(bond) {
|
|
13
|
+
if (!bond)
|
|
14
|
+
return variantCacheNoBond;
|
|
15
|
+
let map = variantCacheByBond.get(bond);
|
|
16
|
+
if (!map) {
|
|
17
|
+
map = new Map();
|
|
18
|
+
variantCacheByBond.set(bond, map);
|
|
19
|
+
}
|
|
20
|
+
return map;
|
|
21
|
+
}
|
|
22
|
+
function hasOwnKeys(obj) {
|
|
23
|
+
for (const k in obj)
|
|
24
|
+
if (Object.hasOwn(obj, k))
|
|
25
|
+
return true;
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
const PRESET_SKIP = new Set(['class', 'base', 'as', 'variants', 'compounds', 'defaults']);
|
|
29
|
+
const VARIANTS_SKIP = new Set(['class', 'variants', 'compounds', 'defaults']);
|
|
12
30
|
/**
|
|
13
31
|
* Resolves preset to its final value, handling both direct values and factory functions
|
|
14
32
|
*/
|
|
@@ -27,14 +45,21 @@ export function resolvePreset(preset) {
|
|
|
27
45
|
export function resolveVariants(def, bond, props) {
|
|
28
46
|
const { variants: variantMap, compounds, defaults, class: baseClass } = def;
|
|
29
47
|
// Merge props with defaults
|
|
30
|
-
const finalProps = { ...defaults, ...props };
|
|
31
|
-
// Create cache key from final props (only variant-related props)
|
|
48
|
+
const finalProps = defaults && hasOwnKeys(defaults) ? { ...defaults, ...props } : props;
|
|
32
49
|
const variantKeys = variantMap ? Object.keys(variantMap) : [];
|
|
33
|
-
|
|
50
|
+
// Fast path: no variants or compounds — skip cache entirely
|
|
51
|
+
if (variantKeys.length === 0 && !compounds?.length) {
|
|
52
|
+
return { class: baseClass ? [baseClass] : [] };
|
|
53
|
+
}
|
|
54
|
+
// Build cache key only when variants are present
|
|
55
|
+
const relevantProps = {};
|
|
56
|
+
for (const key of variantKeys)
|
|
57
|
+
if (key in finalProps)
|
|
58
|
+
relevantProps[key] = finalProps[key];
|
|
34
59
|
const cacheKey = JSON.stringify({ relevantProps, baseClass, compounds });
|
|
35
|
-
|
|
36
|
-
if (
|
|
37
|
-
return
|
|
60
|
+
const cacheMap = getCacheMap(bond);
|
|
61
|
+
if (cacheMap.has(cacheKey)) {
|
|
62
|
+
return cacheMap.get(cacheKey);
|
|
38
63
|
}
|
|
39
64
|
const classes = [];
|
|
40
65
|
const attributes = {};
|
|
@@ -43,7 +68,10 @@ export function resolveVariants(def, bond, props) {
|
|
|
43
68
|
classes.push(baseClass);
|
|
44
69
|
// Add variant classes
|
|
45
70
|
if (variantMap) {
|
|
46
|
-
for (const
|
|
71
|
+
for (const key of variantKeys) {
|
|
72
|
+
const value = finalProps[key];
|
|
73
|
+
if (value === undefined)
|
|
74
|
+
continue;
|
|
47
75
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
76
|
const variantValue = variantMap[key]?.[value];
|
|
49
77
|
if (variantValue !== undefined) {
|
|
@@ -64,19 +92,25 @@ export function resolveVariants(def, bond, props) {
|
|
|
64
92
|
}
|
|
65
93
|
}
|
|
66
94
|
// Add compound variants
|
|
67
|
-
if (compounds) {
|
|
95
|
+
if (compounds?.length) {
|
|
68
96
|
for (const compound of compounds) {
|
|
69
|
-
const
|
|
70
|
-
const
|
|
97
|
+
const compoundClass = compound.class;
|
|
98
|
+
const compoundPropKeys = new Set(Object.keys(compound).filter((k) => k !== 'class'));
|
|
99
|
+
let matches = true;
|
|
100
|
+
for (const key of compoundPropKeys) {
|
|
101
|
+
if (finalProps[key] !== compound[key]) {
|
|
102
|
+
matches = false;
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
71
106
|
if (matches) {
|
|
72
107
|
if (compoundClass)
|
|
73
108
|
classes.push(compoundClass);
|
|
74
|
-
// Add compound attributes
|
|
75
|
-
|
|
76
|
-
if (k !== 'class' && !
|
|
109
|
+
// Add compound attributes (string keys that are not condition keys or 'class')
|
|
110
|
+
for (const [k, v] of Object.entries(compound)) {
|
|
111
|
+
if (k !== 'class' && !compoundPropKeys.has(k))
|
|
77
112
|
attributes[k] = v;
|
|
78
|
-
|
|
79
|
-
});
|
|
113
|
+
}
|
|
80
114
|
}
|
|
81
115
|
}
|
|
82
116
|
}
|
|
@@ -84,14 +118,13 @@ export function resolveVariants(def, bond, props) {
|
|
|
84
118
|
class: classes,
|
|
85
119
|
...attributes
|
|
86
120
|
};
|
|
87
|
-
// Store in cache (limit cache size to prevent memory leaks)
|
|
88
|
-
if (
|
|
89
|
-
|
|
90
|
-
const firstKey = variantCache.keys().next().value;
|
|
121
|
+
// Store in cache (limit per-bond cache size to prevent memory leaks)
|
|
122
|
+
if (cacheMap.size >= MAX_CACHE_SIZE) {
|
|
123
|
+
const firstKey = cacheMap.keys().next().value;
|
|
91
124
|
if (firstKey)
|
|
92
|
-
|
|
125
|
+
cacheMap.delete(firstKey);
|
|
93
126
|
}
|
|
94
|
-
|
|
127
|
+
cacheMap.set(cacheKey, result);
|
|
95
128
|
return result;
|
|
96
129
|
}
|
|
97
130
|
/**
|
|
@@ -141,9 +174,9 @@ presetDefaults, localVariants, bond, props) {
|
|
|
141
174
|
? localVariants.class
|
|
142
175
|
: [localVariants?.class];
|
|
143
176
|
return {
|
|
144
|
-
class: [...presetClasses, ...localClasses].filter(Boolean),
|
|
145
177
|
...presetResolved,
|
|
146
|
-
...localVariants
|
|
178
|
+
...localVariants,
|
|
179
|
+
class: [...presetClasses, ...localClasses].filter(Boolean)
|
|
147
180
|
};
|
|
148
181
|
}
|
|
149
182
|
/**
|
|
@@ -167,42 +200,76 @@ export function mergeClassesWithPreset(userClass, presetClass, variantClass) {
|
|
|
167
200
|
return cn(beforeLastPlaceholder, presetClassString, variantClass ?? '', afterLastPlaceholder);
|
|
168
201
|
}
|
|
169
202
|
/**
|
|
170
|
-
* Pure function to resolve local variants
|
|
171
|
-
* Handles both function-based and VariantDefinition-based variants
|
|
203
|
+
* Pure function to resolve local variants.
|
|
204
|
+
* Handles both function-based and VariantDefinition-based variants.
|
|
205
|
+
*
|
|
206
|
+
* If the function was created by `defineVariants`, it carries a VARIANT_DEF_TAG
|
|
207
|
+
* symbol with the original config. We detect this and route through the cached
|
|
208
|
+
* resolveVariants engine so defineVariants-based variants benefit from the same
|
|
209
|
+
* two-level WeakMap cache as raw VariantDefinition objects.
|
|
172
210
|
*/
|
|
173
211
|
export function resolveLocalVariants(
|
|
174
212
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
175
213
|
variants, bond, props) {
|
|
176
214
|
if (!variants)
|
|
177
215
|
return undefined;
|
|
178
|
-
//
|
|
216
|
+
// Detect functions tagged by defineVariants — route through the cache
|
|
217
|
+
if (typeof variants === 'function' && VARIANT_DEF_TAG in variants) {
|
|
218
|
+
const config = variants[VARIANT_DEF_TAG];
|
|
219
|
+
// If config is a function (dynamic/bond-based), resolve it to a VariantDefinition first
|
|
220
|
+
const resolvedConfig = typeof config === 'function' ? config(bond) : config;
|
|
221
|
+
return resolveVariants(resolvedConfig, bond, props);
|
|
222
|
+
}
|
|
223
|
+
// Plain function (legacy / manual variants fn) — call directly, no cache
|
|
179
224
|
if (typeof variants === 'function') {
|
|
180
225
|
return variants(bond, props);
|
|
181
226
|
}
|
|
182
|
-
//
|
|
227
|
+
// Raw VariantDefinition object — resolve through cache
|
|
183
228
|
return resolveVariants(variants, bond, props);
|
|
184
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* Internal keys that are never valid DOM attributes — stripped before spreading onto element
|
|
232
|
+
*/
|
|
233
|
+
const INTERNAL_PROPS = new Set(['class', 'base', 'as', 'variants', 'compounds', 'defaults']);
|
|
185
234
|
/**
|
|
186
235
|
* Pure function to extract rest props by filtering out preset and variant-specific props
|
|
187
236
|
*/
|
|
188
237
|
export function extractRestProps(
|
|
189
238
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
190
239
|
preset, mergedVariants, restProps) {
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
240
|
+
const result = {};
|
|
241
|
+
if (preset) {
|
|
242
|
+
for (const k in preset)
|
|
243
|
+
if (Object.hasOwn(preset, k) && !PRESET_SKIP.has(k))
|
|
244
|
+
result[k] = preset[k];
|
|
245
|
+
// Preserve Symbol-keyed attachment props (e.g. from createAttachmentKey())
|
|
246
|
+
const symPreset = preset;
|
|
247
|
+
for (const s of Object.getOwnPropertySymbols(preset))
|
|
248
|
+
result[s] = symPreset[s];
|
|
195
249
|
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
250
|
+
if (mergedVariants) {
|
|
251
|
+
for (const k in mergedVariants)
|
|
252
|
+
if (Object.hasOwn(mergedVariants, k) && !VARIANTS_SKIP.has(k))
|
|
253
|
+
result[k] = mergedVariants[k];
|
|
254
|
+
// Preserve Symbol-keyed attachment props (e.g. from variant definitions)
|
|
255
|
+
const symProps = mergedVariants;
|
|
256
|
+
for (const s of Object.getOwnPropertySymbols(mergedVariants))
|
|
257
|
+
result[s] = symProps[s];
|
|
200
258
|
}
|
|
201
|
-
|
|
259
|
+
for (const k in restProps)
|
|
260
|
+
if (Object.hasOwn(restProps, k))
|
|
261
|
+
result[k] = restProps[k];
|
|
262
|
+
// Preserve Symbol-keyed attachment props from restProps (e.g. {@attach} directives)
|
|
263
|
+
const symRestProps = restProps;
|
|
264
|
+
for (const s of Object.getOwnPropertySymbols(restProps))
|
|
265
|
+
result[s] = symRestProps[s];
|
|
266
|
+
return result;
|
|
202
267
|
}
|
|
203
268
|
/**
|
|
204
|
-
* Pure function to check if a base is a snippet
|
|
269
|
+
* Pure function to check if a base is a snippet.
|
|
270
|
+
* Svelte 5 snippets compile to arrow functions (no prototype),
|
|
271
|
+
* while components compile to named functions (with prototype).
|
|
205
272
|
*/
|
|
206
273
|
export function isSnippetBase(base) {
|
|
207
|
-
return typeof base === 'function' &&
|
|
274
|
+
return typeof base === 'function' && !base.prototype;
|
|
208
275
|
}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import type { Component } from 'svelte';
|
|
2
|
-
|
|
3
|
-
* Extend this interface to add custom avatar properties in your application.
|
|
4
|
-
*/
|
|
5
|
-
export interface AvatarExtendProps {
|
|
6
|
-
}
|
|
7
|
-
export interface AvatarProps extends AvatarExtendProps {
|
|
2
|
+
export interface AvatarProps {
|
|
8
3
|
class?: string;
|
|
9
4
|
src?: string | Component;
|
|
10
5
|
alt?: string;
|