@svelte-atoms/core 1.0.0-alpha.25 → 1.0.0-alpha.27
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/README.md +645 -645
- package/dist/components/accordion/accordion-root.svelte +61 -79
- package/dist/components/accordion/accordion-root.svelte.d.ts +2 -15
- package/dist/components/accordion/index.d.ts +2 -1
- package/dist/components/accordion/index.js +2 -1
- package/dist/components/accordion/item/accordion-item-body.svelte +42 -52
- package/dist/components/accordion/item/accordion-item-body.svelte.d.ts +2 -8
- package/dist/components/accordion/item/accordion-item-header.svelte +50 -56
- package/dist/components/accordion/item/accordion-item-header.svelte.d.ts +3 -20
- package/dist/components/accordion/item/accordion-item-indicator.svelte +50 -59
- package/dist/components/accordion/item/accordion-item-indicator.svelte.d.ts +2 -8
- package/dist/components/accordion/item/accordion-item-root.svelte +65 -79
- package/dist/components/accordion/item/accordion-item-root.svelte.d.ts +2 -12
- package/dist/components/accordion/item/index.d.ts +1 -0
- package/dist/components/accordion/item/types.d.ts +52 -0
- package/dist/components/accordion/item/types.js +1 -0
- package/dist/components/accordion/types.d.ts +21 -0
- package/dist/components/accordion/types.js +1 -0
- package/dist/components/alert/alert-actions.svelte +42 -52
- package/dist/components/alert/alert-actions.svelte.d.ts +3 -30
- package/dist/components/alert/alert-close-button.svelte +72 -79
- package/dist/components/alert/alert-close-button.svelte.d.ts +8 -35
- package/dist/components/alert/alert-content.svelte +42 -52
- package/dist/components/alert/alert-content.svelte.d.ts +3 -30
- package/dist/components/alert/alert-description.svelte +41 -51
- package/dist/components/alert/alert-description.svelte.d.ts +7 -10
- package/dist/components/alert/alert-icon.svelte +46 -56
- package/dist/components/alert/alert-icon.svelte.d.ts +2 -8
- package/dist/components/alert/alert-root.svelte +102 -118
- package/dist/components/alert/alert-root.svelte.d.ts +2 -13
- package/dist/components/alert/alert-title.svelte +41 -51
- package/dist/components/alert/alert-title.svelte.d.ts +2 -8
- package/dist/components/alert/index.d.ts +1 -0
- package/dist/components/alert/index.js +1 -0
- package/dist/components/alert/types.d.ts +85 -0
- package/dist/components/alert/types.js +1 -0
- package/dist/components/atom/html-atom.svelte +201 -217
- package/dist/components/atom/html-atom.svelte.d.ts +2 -22
- package/dist/components/atom/types.d.ts +7 -2
- package/dist/components/avatar/types.d.ts +7 -2
- package/dist/components/badge/badge.svelte +1 -1
- package/dist/components/badge/types.d.ts +7 -2
- package/dist/components/breadcrumb/breadcrumb-item.svelte +1 -1
- package/dist/components/breadcrumb/breadcrumb-root.svelte +1 -1
- package/dist/components/breadcrumb/breadcrumb-separator.svelte +1 -1
- package/dist/components/button/button.stories.svelte +57 -57
- package/dist/components/button/button.svelte +1 -1
- package/dist/components/button/button.svelte.d.ts +4 -1
- package/dist/components/button/index.d.ts +1 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/button/types.d.ts +8 -3
- package/dist/components/card/card-body.svelte +39 -45
- package/dist/components/card/card-body.svelte.d.ts +7 -4
- package/dist/components/card/card-description.svelte +41 -48
- package/dist/components/card/card-description.svelte.d.ts +7 -7
- package/dist/components/card/card-footer.svelte +41 -48
- package/dist/components/card/card-footer.svelte.d.ts +7 -4
- package/dist/components/card/card-header.svelte +41 -48
- package/dist/components/card/card-header.svelte.d.ts +7 -4
- package/dist/components/card/card-media.svelte +41 -48
- package/dist/components/card/card-media.svelte.d.ts +7 -4
- package/dist/components/card/card-root.svelte +91 -91
- package/dist/components/card/card-root.svelte.d.ts +1 -1
- package/dist/components/card/card-subtitle.svelte +41 -48
- package/dist/components/card/card-subtitle.svelte.d.ts +12 -9
- package/dist/components/card/card-title.svelte +45 -48
- package/dist/components/card/card-title.svelte.d.ts +12 -9
- package/dist/components/card/index.d.ts +1 -0
- package/dist/components/card/index.js +1 -0
- package/dist/components/card/types.d.ts +57 -2
- package/dist/components/checkbox/checkbox.svelte +39 -28
- package/dist/components/checkbox/types.d.ts +7 -2
- package/dist/components/collapsible/collapsible-body.svelte +39 -52
- package/dist/components/collapsible/collapsible-body.svelte.d.ts +2 -9
- package/dist/components/collapsible/collapsible-header.svelte +39 -52
- package/dist/components/collapsible/collapsible-header.svelte.d.ts +2 -9
- package/dist/components/collapsible/collapsible-indicator.svelte +50 -65
- package/dist/components/collapsible/collapsible-indicator.svelte.d.ts +3 -10
- package/dist/components/collapsible/collapsible-root.svelte +66 -85
- package/dist/components/collapsible/collapsible-root.svelte.d.ts +2 -14
- package/dist/components/collapsible/index.d.ts +1 -0
- package/dist/components/collapsible/index.js +1 -0
- package/dist/components/collapsible/types.d.ts +54 -0
- package/dist/components/collapsible/types.js +1 -0
- package/dist/components/combobox/atoms.d.ts +5 -1
- package/dist/components/combobox/atoms.js +5 -1
- package/dist/components/combobox/{combobox-input.svelte → combobox-control.svelte} +3 -3
- package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts} +3 -3
- package/dist/components/combobox/combobox-root.svelte +65 -68
- package/dist/components/combobox/combobox-root.svelte.d.ts +5 -18
- package/dist/components/combobox/combobox-trigger.svelte +1 -1
- package/dist/components/combobox/compobox-item.svelte +1 -1
- package/dist/components/combobox/index.d.ts +1 -0
- package/dist/components/combobox/index.js +1 -0
- package/dist/components/combobox/types.d.ts +25 -0
- package/dist/components/combobox/types.js +1 -0
- package/dist/components/container/container.svelte +1 -1
- package/dist/components/container/types.d.ts +7 -2
- package/dist/components/contextmenu/types.d.ts +8 -0
- package/dist/components/contextmenu/types.js +1 -0
- package/dist/components/datagrid/datagrid-body.svelte +37 -44
- package/dist/components/datagrid/datagrid-body.svelte.d.ts +17 -20
- package/dist/components/datagrid/datagrid-checkbox.svelte +101 -108
- package/dist/components/datagrid/datagrid-checkbox.svelte.d.ts +4 -6
- package/dist/components/datagrid/datagrid-footer.svelte +34 -34
- package/dist/components/datagrid/datagrid-footer.svelte.d.ts +1 -1
- package/dist/components/datagrid/datagrid-header.svelte +49 -49
- package/dist/components/datagrid/datagrid-header.svelte.d.ts +1 -1
- package/dist/components/datagrid/datagrid-root.svelte +59 -59
- package/dist/components/datagrid/datagrid-root.svelte.d.ts +1 -1
- package/dist/components/datagrid/datagrid.stories.svelte +75 -75
- package/dist/components/datagrid/td/datagrid-td.svelte +66 -80
- package/dist/components/datagrid/td/datagrid-td.svelte.d.ts +7 -16
- package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
- package/dist/components/datagrid/th/datagrid-th.svelte +106 -127
- package/dist/components/datagrid/th/datagrid-th.svelte.d.ts +2 -20
- package/dist/components/datagrid/tr/bond.svelte.d.ts +3 -1
- package/dist/components/datagrid/tr/bond.svelte.js +4 -2
- package/dist/components/datagrid/tr/datagrid-tr.svelte +88 -103
- package/dist/components/datagrid/tr/datagrid-tr.svelte.d.ts +2 -18
- package/dist/components/datagrid/types.d.ts +85 -37
- package/dist/components/dialog/dialog-body.svelte +39 -45
- package/dist/components/dialog/dialog-body.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-close-button.svelte +58 -61
- package/dist/components/dialog/dialog-close-button.svelte.d.ts +7 -7
- package/dist/components/dialog/dialog-content.svelte +62 -71
- package/dist/components/dialog/dialog-content.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-description.svelte +40 -46
- package/dist/components/dialog/dialog-description.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-footer.svelte +39 -45
- package/dist/components/dialog/dialog-footer.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-header.svelte +39 -45
- package/dist/components/dialog/dialog-header.svelte.d.ts +2 -2
- package/dist/components/dialog/dialog-root.svelte +110 -120
- package/dist/components/dialog/dialog-root.svelte.d.ts +2 -10
- package/dist/components/dialog/dialog-title.svelte +41 -47
- package/dist/components/dialog/dialog-title.svelte.d.ts +7 -7
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/dialog/types.d.ts +67 -0
- package/dist/components/dialog/types.js +1 -0
- package/dist/components/divider/types.d.ts +10 -0
- package/dist/components/divider/types.js +1 -0
- package/dist/components/drawer/drawer-backdrop.svelte +38 -47
- package/dist/components/drawer/drawer-backdrop.svelte.d.ts +3 -26
- package/dist/components/drawer/drawer-body.svelte +42 -56
- package/dist/components/drawer/drawer-body.svelte.d.ts +3 -16
- package/dist/components/drawer/drawer-content.svelte +42 -55
- package/dist/components/drawer/drawer-content.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-description.svelte +44 -57
- package/dist/components/drawer/drawer-description.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-footer.svelte +41 -54
- package/dist/components/drawer/drawer-footer.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-header.svelte +43 -56
- package/dist/components/drawer/drawer-header.svelte.d.ts +3 -14
- package/dist/components/drawer/drawer-root.svelte +93 -113
- package/dist/components/drawer/drawer-root.svelte.d.ts +3 -31
- package/dist/components/drawer/drawer-title.svelte +44 -57
- package/dist/components/drawer/drawer-title.svelte.d.ts +3 -14
- package/dist/components/drawer/index.d.ts +1 -0
- package/dist/components/drawer/index.js +1 -0
- package/dist/components/drawer/types.d.ts +86 -0
- package/dist/components/drawer/types.js +1 -0
- package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
- package/dist/components/dropdown/dropdown-query.svelte +54 -53
- package/dist/components/dropdown/dropdown-query.svelte.d.ts +11 -10
- package/dist/components/dropdown/dropdown-root.svelte +59 -59
- package/dist/components/dropdown/dropdown-trigger.svelte +41 -52
- package/dist/components/dropdown/dropdown-trigger.svelte.d.ts +1 -8
- package/dist/components/dropdown/dropdown-value.svelte +60 -62
- package/dist/components/dropdown/index.d.ts +1 -0
- package/dist/components/dropdown/index.js +1 -0
- package/dist/components/dropdown/item/bond.svelte.d.ts +4 -0
- package/dist/components/dropdown/item/bond.svelte.js +9 -0
- package/dist/components/dropdown/item/dropdown-item.svelte +10 -6
- package/dist/components/dropdown/types.d.ts +37 -0
- package/dist/components/dropdown/types.js +1 -0
- package/dist/components/element/html-element.svelte.d.ts +2 -14
- package/dist/components/element/svg-element.svelte.d.ts +2 -14
- package/dist/components/element/types.d.ts +14 -7
- package/dist/components/form/field/bond.svelte.d.ts +8 -0
- package/dist/components/form/field/bond.svelte.js +13 -1
- package/dist/components/form/field/field-control.svelte +48 -58
- package/dist/components/form/field/field-control.svelte.d.ts +5 -19
- package/dist/components/form/field/field-label.svelte +24 -31
- package/dist/components/form/field/field-label.svelte.d.ts +1 -2
- package/dist/components/form/field/field-root.svelte +59 -88
- package/dist/components/form/field/field-root.svelte.d.ts +5 -20
- package/dist/components/form/form.stories.svelte +3 -3
- package/dist/components/form/index.d.ts +1 -0
- package/dist/components/form/index.js +1 -0
- package/dist/components/form/types.d.ts +76 -0
- package/dist/components/form/types.js +1 -0
- package/dist/components/icon/icon.svelte +44 -55
- package/dist/components/icon/icon.svelte.d.ts +4 -29
- package/dist/components/icon/types.d.ts +11 -7
- package/dist/components/input/atoms.d.ts +5 -1
- package/dist/components/input/atoms.js +5 -1
- package/dist/components/input/index.d.ts +1 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/{input-value.svelte → input-control.svelte} +14 -24
- package/dist/components/input/input-control.svelte.d.ts +26 -0
- package/dist/components/input/input-icon.svelte +1 -1
- package/dist/components/input/input-icon.svelte.d.ts +1 -1
- package/dist/components/input/input-placeholder.svelte +54 -56
- package/dist/components/input/input-placeholder.svelte.d.ts +2 -19
- package/dist/components/input/input-root.svelte +5 -12
- package/dist/components/input/input-root.svelte.d.ts +3 -20
- package/dist/components/input/input.stories.svelte +2 -2
- package/dist/components/input/types.d.ts +33 -0
- package/dist/components/input/types.js +1 -0
- package/dist/components/label/index.d.ts +1 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/label/label.svelte +25 -41
- package/dist/components/label/label.svelte.d.ts +3 -27
- package/dist/components/label/types.d.ts +11 -0
- package/dist/components/label/types.js +1 -0
- package/dist/components/layer/layer-inner.svelte.d.ts +2 -19
- package/dist/components/layer/layer-root.svelte.d.ts +2 -19
- package/dist/components/layer/types.d.ts +11 -0
- package/dist/components/layer/types.js +1 -0
- package/dist/components/link/types.d.ts +8 -0
- package/dist/components/link/types.js +1 -0
- package/dist/components/list/list-group.svelte +1 -1
- package/dist/components/list/list-item.svelte +1 -1
- package/dist/components/list/list-root.svelte +6 -1
- package/dist/components/list/list-title.svelte +1 -1
- package/dist/components/list/types.d.ts +8 -0
- package/dist/components/list/types.js +1 -0
- package/dist/components/menu/index.d.ts +1 -0
- package/dist/components/menu/index.js +1 -0
- package/dist/components/menu/menu-list.svelte +1 -1
- package/dist/components/menu/types.d.ts +15 -0
- package/dist/components/menu/types.js +1 -0
- package/dist/components/popover/bond.svelte.d.ts +2 -0
- package/dist/components/popover/bond.svelte.js +1 -1
- package/dist/components/popover/index.d.ts +1 -0
- package/dist/components/popover/index.js +1 -0
- package/dist/components/popover/popover-arrow.svelte +111 -117
- package/dist/components/popover/popover-arrow.svelte.d.ts +3 -20
- package/dist/components/popover/popover-content.svelte +139 -147
- package/dist/components/popover/popover-content.svelte.d.ts +3 -17
- package/dist/components/popover/popover-indicator.svelte +1 -1
- package/dist/components/popover/popover-root.svelte +4 -18
- package/dist/components/popover/popover-root.svelte.d.ts +1 -15
- package/dist/components/popover/popover-trigger.svelte +3 -12
- package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
- package/dist/components/popover/types.d.ts +61 -0
- package/dist/components/popover/types.js +1 -0
- package/dist/components/portal/active-portal.svelte +8 -2
- package/dist/components/portal/active-portal.svelte.d.ts +2 -2
- 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 +2 -19
- package/dist/components/portal/portal-root.svelte +83 -88
- package/dist/components/portal/portal-root.svelte.d.ts +2 -22
- package/dist/components/portal/teleport.svelte +50 -49
- package/dist/components/portal/teleport.svelte.d.ts +5 -23
- package/dist/components/portal/types.d.ts +39 -0
- package/dist/components/portal/types.js +1 -0
- package/dist/components/radio/radio-group.stories.svelte +4 -4
- package/dist/components/radio/radio.svelte +109 -109
- package/dist/components/radio/radio.svelte.d.ts +14 -36
- package/dist/components/root/root.css +24 -66
- package/dist/components/root/root.svelte +121 -121
- package/dist/components/root/types.d.ts +8 -0
- package/dist/components/root/types.js +1 -0
- package/dist/components/scrollable/index.d.ts +1 -0
- package/dist/components/scrollable/index.js +1 -0
- package/dist/components/scrollable/scrollable-container.svelte +82 -89
- package/dist/components/scrollable/scrollable-container.svelte.d.ts +2 -6
- package/dist/components/scrollable/scrollable-content.svelte +41 -51
- package/dist/components/scrollable/scrollable-content.svelte.d.ts +1 -6
- package/dist/components/scrollable/scrollable-root.svelte +100 -120
- package/dist/components/scrollable/scrollable-root.svelte.d.ts +3 -19
- package/dist/components/scrollable/scrollable-thumb.svelte +75 -86
- package/dist/components/scrollable/scrollable-thumb.svelte.d.ts +1 -7
- package/dist/components/scrollable/scrollable-track.svelte +59 -70
- package/dist/components/scrollable/scrollable-track.svelte.d.ts +1 -7
- package/dist/components/scrollable/types.d.ts +62 -0
- package/dist/components/scrollable/types.js +1 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/index.js +1 -0
- package/dist/components/sidebar/sidebar-content.svelte +2 -16
- package/dist/components/sidebar/sidebar-content.svelte.d.ts +2 -9
- package/dist/components/sidebar/sidebar-root.svelte +4 -23
- package/dist/components/sidebar/sidebar-root.svelte.d.ts +2 -13
- package/dist/components/sidebar/types.d.ts +30 -0
- package/dist/components/sidebar/types.js +1 -0
- package/dist/components/stack/stack-item.svelte +5 -1
- package/dist/components/stack/stack-root.svelte +5 -1
- package/dist/components/stack/stack-root.svelte.d.ts +2 -19
- package/dist/components/stack/types.d.ts +12 -0
- package/dist/components/stack/types.js +1 -0
- package/dist/components/tabs/index.d.ts +1 -0
- package/dist/components/tabs/index.js +1 -0
- package/dist/components/tabs/tab/tab-body.svelte +52 -61
- package/dist/components/tabs/tab/tab-body.svelte.d.ts +2 -8
- package/dist/components/tabs/tab/tab-description.svelte +41 -50
- package/dist/components/tabs/tab/tab-description.svelte.d.ts +2 -8
- package/dist/components/tabs/tab/tab-header.svelte +71 -81
- package/dist/components/tabs/tab/tab-header.svelte.d.ts +2 -11
- package/dist/components/tabs/tab/tab-root.svelte +86 -81
- package/dist/components/tabs/tabs-body.svelte +1 -1
- package/dist/components/tabs/tabs-header.svelte +1 -1
- package/dist/components/tabs/tabs-root.svelte +1 -1
- package/dist/components/tabs/types.d.ts +55 -0
- package/dist/components/tabs/types.js +1 -0
- package/dist/components/textarea/index.d.ts +1 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/textarea-input.svelte +2 -1
- package/dist/components/textarea/types.d.ts +28 -0
- package/dist/components/textarea/types.js +1 -0
- package/dist/components/toast/index.d.ts +1 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/toast/toast-description.svelte +38 -44
- package/dist/components/toast/toast-description.svelte.d.ts +8 -34
- package/dist/components/toast/toast-root.svelte +61 -74
- package/dist/components/toast/toast-root.svelte.d.ts +4 -43
- package/dist/components/toast/toast-title.svelte +35 -43
- package/dist/components/toast/toast-title.svelte.d.ts +2 -34
- package/dist/components/toast/types.d.ts +40 -0
- package/dist/components/toast/types.js +1 -0
- package/dist/components/tooltip/types.d.ts +13 -0
- package/dist/components/tooltip/types.js +1 -0
- package/dist/components/tree/index.d.ts +1 -0
- package/dist/components/tree/index.js +1 -0
- package/dist/components/tree/tree-body.svelte +39 -50
- package/dist/components/tree/tree-body.svelte.d.ts +2 -10
- package/dist/components/tree/tree-header.svelte +54 -66
- package/dist/components/tree/tree-header.svelte.d.ts +3 -29
- package/dist/components/tree/tree-indicator.svelte +40 -50
- package/dist/components/tree/tree-indicator.svelte.d.ts +3 -9
- package/dist/components/tree/tree-root.svelte +65 -80
- package/dist/components/tree/tree-root.svelte.d.ts +2 -12
- package/dist/components/tree/types.d.ts +59 -0
- package/dist/components/tree/types.js +1 -0
- package/dist/components/virtual/types.d.ts +23 -0
- package/dist/components/virtual/types.js +1 -0
- package/dist/components/virtual/virtual-root.svelte +239 -258
- package/dist/components/virtual/virtual-root.svelte.d.ts +1 -18
- package/dist/context/preset.svelte.d.ts +1 -1
- package/llm/composition.md +395 -395
- package/llm/crafting.md +838 -838
- package/llm/motion.md +970 -970
- package/llm/philosophy.md +23 -23
- package/llm/preset-variant-integration.md +516 -516
- package/llm/preset.md +383 -383
- package/llm/styling.md +216 -216
- package/llm/usage.md +46 -46
- package/llm/variants.md +712 -712
- package/package.json +437 -437
- package/dist/components/input/input-value.svelte.d.ts +0 -19
|
@@ -1,26 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
declare function $$render<E extends keyof HTMLElementTagNameMap = 'h3', B extends Base = Base>(): {
|
|
1
|
+
import { type Base } from '../atom';
|
|
2
|
+
declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
4
3
|
props: CardTitleProps<E, B>;
|
|
5
|
-
exports: {
|
|
4
|
+
exports: {
|
|
5
|
+
CardTitleProps: typeof CardTitleProps;
|
|
6
|
+
};
|
|
6
7
|
bindings: "";
|
|
7
8
|
slots: {};
|
|
8
9
|
events: {};
|
|
9
10
|
};
|
|
10
|
-
declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = '
|
|
11
|
+
declare class __sveltets_Render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> {
|
|
11
12
|
props(): ReturnType<typeof $$render<E, B>>['props'];
|
|
12
13
|
events(): ReturnType<typeof $$render<E, B>>['events'];
|
|
13
14
|
slots(): ReturnType<typeof $$render<E, B>>['slots'];
|
|
14
15
|
bindings(): "";
|
|
15
|
-
exports(): {
|
|
16
|
+
exports(): {
|
|
17
|
+
CardTitleProps: typeof CardTitleProps;
|
|
18
|
+
};
|
|
16
19
|
}
|
|
17
20
|
interface $$IsomorphicComponent {
|
|
18
|
-
new <E extends keyof HTMLElementTagNameMap = '
|
|
21
|
+
new <E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<E, B>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<E, B>['props']>, ReturnType<__sveltets_Render<E, B>['events']>, ReturnType<__sveltets_Render<E, B>['slots']>> & {
|
|
19
22
|
$$bindings?: ReturnType<__sveltets_Render<E, B>['bindings']>;
|
|
20
23
|
} & ReturnType<__sveltets_Render<E, B>['exports']>;
|
|
21
|
-
<E extends keyof HTMLElementTagNameMap = '
|
|
24
|
+
<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(internal: unknown, props: ReturnType<__sveltets_Render<E, B>['props']> & {}): ReturnType<__sveltets_Render<E, B>['exports']>;
|
|
22
25
|
z_$$bindings?: ReturnType<__sveltets_Render<any, any>['bindings']>;
|
|
23
26
|
}
|
|
24
27
|
declare const CardTitle: $$IsomorphicComponent;
|
|
25
|
-
type CardTitle<E extends keyof HTMLElementTagNameMap = '
|
|
28
|
+
type CardTitle<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = InstanceType<typeof CardTitle<E, B>>;
|
|
26
29
|
export default CardTitle;
|
|
@@ -2,7 +2,47 @@ import type { Snippet } from 'svelte';
|
|
|
2
2
|
import type { CardBond } from './bond.svelte';
|
|
3
3
|
import type { HtmlAtomProps, Base } from '../atom';
|
|
4
4
|
import type { Factory } from '../../types';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Extend this interface to add custom card root properties in your application.
|
|
7
|
+
*/
|
|
8
|
+
export interface CardExtendProps {
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Extend this interface to add custom card header properties in your application.
|
|
12
|
+
*/
|
|
13
|
+
export interface CardHeaderExtendProps {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Extend this interface to add custom card body/content properties in your application.
|
|
17
|
+
*/
|
|
18
|
+
export interface CardBodyExtendProps {
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extend this interface to add custom card footer properties in your application.
|
|
22
|
+
*/
|
|
23
|
+
export interface CardFooterExtendProps {
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Extend this interface to add custom card title properties in your application.
|
|
27
|
+
*/
|
|
28
|
+
export interface CardTitleExtendProps {
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Extend this interface to add custom card subtitle properties in your application.
|
|
32
|
+
*/
|
|
33
|
+
export interface CardSubtitleExtendProps {
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Extend this interface to add custom card description properties in your application.
|
|
37
|
+
*/
|
|
38
|
+
export interface CardDescriptionExtendProps {
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Extend this interface to add custom card media properties in your application.
|
|
42
|
+
*/
|
|
43
|
+
export interface CardMediaExtendProps {
|
|
44
|
+
}
|
|
45
|
+
export interface CardRootProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends Omit<HtmlAtomProps<E, B>, 'children'>, CardExtendProps {
|
|
6
46
|
disabled?: boolean;
|
|
7
47
|
factory?: Factory<CardBond>;
|
|
8
48
|
children?: Snippet<[{
|
|
@@ -10,4 +50,19 @@ export type CardRootProps<E extends keyof HTMLElementTagNameMap = 'div', B exten
|
|
|
10
50
|
}]>;
|
|
11
51
|
onclick?: (event: MouseEvent) => void;
|
|
12
52
|
onkeydown?: (event: KeyboardEvent) => void;
|
|
13
|
-
}
|
|
53
|
+
}
|
|
54
|
+
export interface CardHeaderProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, CardHeaderExtendProps {
|
|
55
|
+
}
|
|
56
|
+
export interface CardBodyProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, CardBodyExtendProps {
|
|
57
|
+
}
|
|
58
|
+
export interface CardFooterProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, CardFooterExtendProps {
|
|
59
|
+
}
|
|
60
|
+
export interface CardTitleProps<E extends keyof HTMLElementTagNameMap = 'h3', B extends Base = Base> extends HtmlAtomProps<E, B>, CardTitleExtendProps {
|
|
61
|
+
}
|
|
62
|
+
export interface CardSubtitleProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> extends HtmlAtomProps<E, B>, CardSubtitleExtendProps {
|
|
63
|
+
}
|
|
64
|
+
export interface CardDescriptionProps<E extends keyof HTMLElementTagNameMap = 'p', B extends Base = Base> extends HtmlAtomProps<E, B>, CardDescriptionExtendProps {
|
|
65
|
+
}
|
|
66
|
+
export interface CardMediaProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> extends HtmlAtomProps<E, B>, CardMediaExtendProps {
|
|
67
|
+
}
|
|
68
|
+
export type CardContentProps<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base> = CardBodyProps<E, B>;
|
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
+
import { circOut } from 'svelte/easing';
|
|
2
3
|
import type { HTMLInputAttributes } from 'svelte/elements';
|
|
3
4
|
import { scale } from 'svelte/transition';
|
|
4
|
-
import type { CheckboxProps } from './types';
|
|
5
5
|
import { Icon } from '../icon';
|
|
6
6
|
import { HtmlAtom } from '../atom';
|
|
7
7
|
import CheckmarkRegularIcon from '../../icons/icon-checkmark.svelte';
|
|
8
|
-
import './checkbox.css';
|
|
9
8
|
import { DURATION } from '../../shared';
|
|
10
|
-
import {
|
|
9
|
+
import type { CheckboxProps } from './types';
|
|
10
|
+
import './checkbox.css';
|
|
11
11
|
|
|
12
12
|
let {
|
|
13
13
|
class: klass = '',
|
|
14
14
|
checked = $bindable(false),
|
|
15
|
-
indeterminate = $bindable(),
|
|
15
|
+
indeterminate = $bindable(false),
|
|
16
16
|
value = $bindable(undefined),
|
|
17
17
|
group = $bindable([]),
|
|
18
18
|
id,
|
|
19
|
+
name,
|
|
19
20
|
checkedContent,
|
|
20
21
|
indeterminateContent,
|
|
21
22
|
enter,
|
|
@@ -31,29 +32,25 @@
|
|
|
31
32
|
|
|
32
33
|
let checkboxElement: HTMLInputElement | undefined = $state();
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
// Computed state for visual representation
|
|
36
|
+
const isChecked = $derived(checked === true);
|
|
37
|
+
const isIndeterminate = $derived(indeterminate === true);
|
|
38
|
+
const showCheckmark = $derived(isChecked && !isIndeterminate);
|
|
36
39
|
|
|
40
|
+
function handleChange(ev: Event) {
|
|
37
41
|
onchange?.(ev, {
|
|
38
|
-
checked,
|
|
42
|
+
checked: checked,
|
|
39
43
|
value: checked,
|
|
40
44
|
type: 'boolean'
|
|
41
45
|
});
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
function handleInput(ev: Event) {
|
|
45
|
-
const currentTarget = ev.currentTarget as HTMLInputElement;
|
|
46
|
-
const _checked = currentTarget?.checked ?? false;
|
|
47
|
-
|
|
48
49
|
oninput?.(ev, {
|
|
49
|
-
checked:
|
|
50
|
-
value:
|
|
50
|
+
checked: checked,
|
|
51
|
+
value: checked,
|
|
51
52
|
type: 'boolean'
|
|
52
53
|
});
|
|
53
|
-
|
|
54
|
-
if (ev.defaultPrevented) {
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
54
|
}
|
|
58
55
|
|
|
59
56
|
function handleClick(ev: MouseEvent) {
|
|
@@ -63,7 +60,18 @@
|
|
|
63
60
|
return;
|
|
64
61
|
}
|
|
65
62
|
|
|
66
|
-
|
|
63
|
+
// Handle indeterminate → checked → unchecked cycle
|
|
64
|
+
if (indeterminate) {
|
|
65
|
+
// Indeterminate → checked
|
|
66
|
+
indeterminate = false;
|
|
67
|
+
checked = true;
|
|
68
|
+
} else {
|
|
69
|
+
// Toggle checked state
|
|
70
|
+
checked = !checked;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// Trigger input event manually if needed
|
|
74
|
+
handleInput(ev);
|
|
67
75
|
}
|
|
68
76
|
</script>
|
|
69
77
|
|
|
@@ -71,15 +79,16 @@
|
|
|
71
79
|
<!-- svelte-ignore a11y_no_noninteractive_element_interactions -->
|
|
72
80
|
<HtmlAtom
|
|
73
81
|
preset="checkbox"
|
|
74
|
-
as="
|
|
82
|
+
as="div"
|
|
75
83
|
class={[
|
|
76
|
-
'checkbox-root border-border outline-primary bg-foreground
|
|
77
|
-
|
|
78
|
-
!checked && '',
|
|
84
|
+
'checkbox-root border-border outline-primary bg-input text-foreground aspect-square h-5 w-fit cursor-pointer rounded-sm border outline-0 outline-offset-2 transition-colors duration-100',
|
|
85
|
+
isChecked && 'bg-foreground',
|
|
79
86
|
'$preset',
|
|
80
87
|
klass,
|
|
81
88
|
'relative'
|
|
82
89
|
]}
|
|
90
|
+
role="checkbox"
|
|
91
|
+
aria-checked={isIndeterminate ? 'mixed' : isChecked}
|
|
83
92
|
{enter}
|
|
84
93
|
{exit}
|
|
85
94
|
{initial}
|
|
@@ -87,6 +96,7 @@
|
|
|
87
96
|
{...restProps}
|
|
88
97
|
>
|
|
89
98
|
<input
|
|
99
|
+
bind:this={checkboxElement}
|
|
90
100
|
bind:checked
|
|
91
101
|
bind:group
|
|
92
102
|
bind:indeterminate
|
|
@@ -94,34 +104,35 @@
|
|
|
94
104
|
class="checkbox-input pointer-events-none"
|
|
95
105
|
{value}
|
|
96
106
|
{id}
|
|
107
|
+
{name}
|
|
97
108
|
onchange={handleChange}
|
|
98
109
|
oninput={handleInput}
|
|
99
110
|
{onblur}
|
|
100
111
|
{onfocus}
|
|
101
112
|
hidden
|
|
102
|
-
|
|
103
|
-
checkboxElement = node;
|
|
104
|
-
}}
|
|
113
|
+
tabindex="-1"
|
|
105
114
|
/>
|
|
106
115
|
|
|
107
|
-
{#if
|
|
116
|
+
{#if isIndeterminate}
|
|
108
117
|
{#if indeterminateContent}
|
|
109
118
|
<HtmlAtom
|
|
110
119
|
preset="checkbox.indeterminate"
|
|
111
|
-
class={[
|
|
120
|
+
class={[
|
|
121
|
+
'checkbox-indeterminate pointer-events-none flex size-full items-center justify-center p-1'
|
|
122
|
+
]}
|
|
112
123
|
base={indeterminateContent}
|
|
113
124
|
/>
|
|
114
125
|
{:else}
|
|
115
126
|
<HtmlAtom
|
|
116
127
|
preset="checkbox.indeterminate"
|
|
117
128
|
class={[
|
|
118
|
-
'checkbox-indeterminate text-foreground flex size-full items-center justify-center
|
|
129
|
+
'checkbox-indeterminate text-foreground pointer-events-none flex size-full items-center justify-center p-1'
|
|
119
130
|
]}
|
|
120
131
|
>
|
|
121
132
|
<div class={['size-full rounded-xs bg-current']}></div>
|
|
122
133
|
</HtmlAtom>
|
|
123
134
|
{/if}
|
|
124
|
-
{:else if
|
|
135
|
+
{:else if showCheckmark}
|
|
125
136
|
{#if checkedContent}
|
|
126
137
|
<HtmlAtom
|
|
127
138
|
preset="checkbox.checkmark"
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type Component, type Snippet } from 'svelte';
|
|
2
2
|
import { type HtmlAtomProps } from '../atom';
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Extend this interface to add custom checkbox properties in your application.
|
|
5
|
+
*/
|
|
6
|
+
export interface CheckboxExtendProps {
|
|
7
|
+
}
|
|
8
|
+
export interface CheckboxProps extends HtmlAtomProps<'button'>, CheckboxExtendProps {
|
|
4
9
|
value?: string;
|
|
5
10
|
group?: string[];
|
|
6
11
|
checked?: boolean;
|
|
@@ -12,4 +17,4 @@ export type CheckboxProps = HtmlAtomProps<'button'> & {
|
|
|
12
17
|
onchange?: (ev?: Event, options?: {
|
|
13
18
|
checked: boolean;
|
|
14
19
|
}) => void;
|
|
15
|
-
}
|
|
20
|
+
}
|
|
@@ -1,52 +1,39 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
{bond}
|
|
41
|
-
preset="collapsible.body"
|
|
42
|
-
class={['$preset', klass]}
|
|
43
|
-
onmount={onmount?.bind(bond.state)}
|
|
44
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
45
|
-
animate={animate?.bind(bond.state)}
|
|
46
|
-
enter={enter?.bind(bond.state)}
|
|
47
|
-
exit={exit?.bind(bond.state)}
|
|
48
|
-
initial={initial?.bind(bond.state)}
|
|
49
|
-
{...bodyProps}
|
|
50
|
-
>
|
|
51
|
-
{@render children?.({ collapsible: bond })}
|
|
52
|
-
</HtmlAtom>
|
|
1
|
+
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { HtmlAtom, type Base } from '../atom';
|
|
3
|
+
import { CollapsibleBond } from './bond.svelte';
|
|
4
|
+
import type { CollapsibleBodyProps } from './types';
|
|
5
|
+
|
|
6
|
+
const bond = CollapsibleBond.get();
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
class: klass = '',
|
|
10
|
+
children = undefined,
|
|
11
|
+
onmount = undefined,
|
|
12
|
+
ondestroy = undefined,
|
|
13
|
+
animate = undefined,
|
|
14
|
+
enter = undefined,
|
|
15
|
+
exit = undefined,
|
|
16
|
+
initial = undefined,
|
|
17
|
+
...restProps
|
|
18
|
+
}: CollapsibleBodyProps<E, B> = $props();
|
|
19
|
+
|
|
20
|
+
const bodyProps = $derived({
|
|
21
|
+
...bond?.body(),
|
|
22
|
+
...restProps
|
|
23
|
+
});
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<HtmlAtom
|
|
27
|
+
{bond}
|
|
28
|
+
preset="collapsible.body"
|
|
29
|
+
class={['border-border', '$preset', klass]}
|
|
30
|
+
onmount={onmount?.bind(bond.state)}
|
|
31
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
32
|
+
animate={animate?.bind(bond.state)}
|
|
33
|
+
enter={enter?.bind(bond.state)}
|
|
34
|
+
exit={exit?.bind(bond.state)}
|
|
35
|
+
initial={initial?.bind(bond.state)}
|
|
36
|
+
{...bodyProps}
|
|
37
|
+
>
|
|
38
|
+
{@render children?.({ collapsible: bond })}
|
|
39
|
+
</HtmlAtom>
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
collapsible?: CollapsibleBond;
|
|
4
|
-
}]>;
|
|
5
|
-
}>;
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
import { CollapsibleBond } from './bond.svelte';
|
|
8
|
-
import type { Override } from '../../types';
|
|
9
|
-
import { type HtmlAtomProps, type Base } from '../atom';
|
|
1
|
+
import { type Base } from '../atom';
|
|
2
|
+
import type { CollapsibleBodyProps } from './types';
|
|
10
3
|
declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
11
4
|
props: CollapsibleBodyProps<E, B>;
|
|
12
5
|
exports: {};
|
|
@@ -1,52 +1,39 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
-
{bond}
|
|
41
|
-
preset="collapsible.header"
|
|
42
|
-
class={['flex cursor-pointer items-center gap-2', '$preset', klass]}
|
|
43
|
-
onmount={onmount?.bind(bond.state)}
|
|
44
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
45
|
-
animate={animate?.bind(bond.state)}
|
|
46
|
-
enter={enter?.bind(bond.state)}
|
|
47
|
-
exit={exit?.bind(bond.state)}
|
|
48
|
-
initial={initial?.bind(bond.state)}
|
|
49
|
-
{...collapsibleProps}
|
|
50
|
-
>
|
|
51
|
-
{@render children?.({ collapsible: bond })}
|
|
52
|
-
</HtmlAtom>
|
|
1
|
+
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { HtmlAtom, type Base } from '../atom';
|
|
3
|
+
import type { CollapsibleHeaderProps } from './types';
|
|
4
|
+
import { CollapsibleBond } from './bond.svelte';
|
|
5
|
+
|
|
6
|
+
const bond = CollapsibleBond.get();
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
class: klass = '',
|
|
10
|
+
children = undefined,
|
|
11
|
+
onmount = undefined,
|
|
12
|
+
ondestroy = undefined,
|
|
13
|
+
animate = undefined,
|
|
14
|
+
enter = undefined,
|
|
15
|
+
exit = undefined,
|
|
16
|
+
initial = undefined,
|
|
17
|
+
...restProps
|
|
18
|
+
}: CollapsibleHeaderProps<E, B> = $props();
|
|
19
|
+
|
|
20
|
+
const collapsibleProps = $derived({
|
|
21
|
+
...bond?.header(),
|
|
22
|
+
...restProps
|
|
23
|
+
});
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<HtmlAtom
|
|
27
|
+
{bond}
|
|
28
|
+
preset="collapsible.header"
|
|
29
|
+
class={['border-border flex cursor-pointer items-center gap-2', '$preset', klass]}
|
|
30
|
+
onmount={onmount?.bind(bond.state)}
|
|
31
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
32
|
+
animate={animate?.bind(bond.state)}
|
|
33
|
+
enter={enter?.bind(bond.state)}
|
|
34
|
+
exit={exit?.bind(bond.state)}
|
|
35
|
+
initial={initial?.bind(bond.state)}
|
|
36
|
+
{...collapsibleProps}
|
|
37
|
+
>
|
|
38
|
+
{@render children?.({ collapsible: bond })}
|
|
39
|
+
</HtmlAtom>
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
collapsible?: CollapsibleBond;
|
|
4
|
-
}]>;
|
|
5
|
-
}>;
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
import { CollapsibleBond } from './bond.svelte';
|
|
8
|
-
import type { Override } from '../../types';
|
|
9
|
-
import { type HtmlAtomProps, type Base } from '../atom';
|
|
1
|
+
import { type Base } from '../atom';
|
|
2
|
+
import type { CollapsibleHeaderProps } from './types';
|
|
10
3
|
declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
11
4
|
props: CollapsibleHeaderProps<E, B>;
|
|
12
5
|
exports: {};
|
|
@@ -1,65 +1,50 @@
|
|
|
1
|
-
<script
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
const
|
|
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
|
-
class={['flex size-4 items-center justify-center', '$preset', klass]}
|
|
52
|
-
onmount={onmount?.bind(bond.state)}
|
|
53
|
-
ondestroy={ondestroy?.bind(bond.state)}
|
|
54
|
-
animate={animate?.bind(bond.state)}
|
|
55
|
-
enter={enter?.bind(bond.state)}
|
|
56
|
-
exit={exit?.bind(bond.state)}
|
|
57
|
-
initial={initial?.bind(bond.state)}
|
|
58
|
-
{...indicatorProps}
|
|
59
|
-
>
|
|
60
|
-
{#if children}
|
|
61
|
-
{@render children?.({ collapsible: bond })}
|
|
62
|
-
{:else}
|
|
63
|
-
<Icon src={IconArrowDown} />
|
|
64
|
-
{/if}
|
|
65
|
-
</HtmlAtom>
|
|
1
|
+
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
2
|
+
import { animate as motion } from 'motion';
|
|
3
|
+
import { Icon } from '../icon';
|
|
4
|
+
import { HtmlAtom, type Base } from '../atom';
|
|
5
|
+
import IconArrowDown from '../../icons/icon-arrow-down.svelte';
|
|
6
|
+
import { CollapsibleBond } from './bond.svelte';
|
|
7
|
+
import type { CollapsibleIndicatorProps } from './types';
|
|
8
|
+
|
|
9
|
+
const bond = CollapsibleBond.get();
|
|
10
|
+
const isOpen = $derived(bond?.state.props.open ?? false);
|
|
11
|
+
|
|
12
|
+
let {
|
|
13
|
+
class: klass = '',
|
|
14
|
+
children = undefined,
|
|
15
|
+
onmount = undefined,
|
|
16
|
+
ondestroy = undefined,
|
|
17
|
+
animate = _animate,
|
|
18
|
+
enter = undefined,
|
|
19
|
+
exit = undefined,
|
|
20
|
+
initial = undefined,
|
|
21
|
+
...restProps
|
|
22
|
+
}: CollapsibleIndicatorProps<E, B> = $props();
|
|
23
|
+
const indicatorProps = $derived({
|
|
24
|
+
...bond?.indicator(),
|
|
25
|
+
...restProps
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
function _animate(node: HTMLElement) {
|
|
29
|
+
motion(node, { rotate: 180 * +isOpen }, { duration: 0.3, ease: 'anticipate' });
|
|
30
|
+
}
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<HtmlAtom
|
|
34
|
+
{bond}
|
|
35
|
+
preset="collapsible.indicator"
|
|
36
|
+
class={['border-border flex size-4 items-center justify-center', '$preset', klass]}
|
|
37
|
+
onmount={onmount?.bind(bond.state)}
|
|
38
|
+
ondestroy={ondestroy?.bind(bond.state)}
|
|
39
|
+
animate={animate?.bind(bond.state)}
|
|
40
|
+
enter={enter?.bind(bond.state)}
|
|
41
|
+
exit={exit?.bind(bond.state)}
|
|
42
|
+
initial={initial?.bind(bond.state)}
|
|
43
|
+
{...indicatorProps}
|
|
44
|
+
>
|
|
45
|
+
{#if children}
|
|
46
|
+
{@render children?.({ collapsible: bond })}
|
|
47
|
+
{:else}
|
|
48
|
+
<Icon src={IconArrowDown} />
|
|
49
|
+
{/if}
|
|
50
|
+
</HtmlAtom>
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
collapsible?: CollapsibleBond;
|
|
4
|
-
}]>;
|
|
5
|
-
}>;
|
|
6
|
-
import type { Snippet } from 'svelte';
|
|
7
|
-
import { CollapsibleBond } from './bond.svelte';
|
|
8
|
-
import type { Override } from '../../types';
|
|
9
|
-
import { type HtmlAtomProps, type Base } from '../atom';
|
|
1
|
+
import { type Base } from '../atom';
|
|
2
|
+
import type { CollapsibleIndicatorProps } from './types';
|
|
10
3
|
declare function $$render<E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base>(): {
|
|
11
|
-
props:
|
|
4
|
+
props: CollapsibleIndicatorProps<E, B>;
|
|
12
5
|
exports: {};
|
|
13
6
|
bindings: "";
|
|
14
7
|
slots: {};
|