@svelte-atoms/core 1.0.0-alpha.24 → 1.0.0-alpha.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/accordion-root.svelte +1 -1
- package/dist/components/accordion/accordion-root.svelte.d.ts +2 -2
- package/dist/components/accordion/item/accordion-item-body.svelte +1 -1
- package/dist/components/accordion/item/accordion-item-header.svelte +5 -1
- package/dist/components/accordion/item/accordion-item-indicator.svelte +1 -1
- package/dist/components/accordion/item/accordion-item-root.svelte +1 -1
- package/dist/components/alert/alert-actions.svelte +1 -1
- package/dist/components/alert/alert-actions.svelte.d.ts +1 -0
- package/dist/components/alert/alert-close-button.svelte +1 -1
- package/dist/components/alert/alert-close-button.svelte.d.ts +1 -0
- package/dist/components/alert/alert-content.svelte +1 -1
- package/dist/components/alert/alert-content.svelte.d.ts +1 -0
- package/dist/components/alert/alert-description.svelte +1 -1
- package/dist/components/alert/alert-icon.svelte +1 -1
- package/dist/components/alert/alert-root.svelte +1 -1
- package/dist/components/alert/alert-title.svelte +1 -1
- package/dist/components/atom/html-atom.svelte +147 -16
- package/dist/components/atom/html-atom.svelte.d.ts +4 -2
- package/dist/components/atom/types.d.ts +7 -0
- package/dist/components/badge/badge.svelte +1 -1
- 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 +41 -1
- package/dist/components/button/button.stories.svelte.d.ts +6 -14
- package/dist/components/button/button.svelte +1 -1
- package/dist/components/button/button.svelte.d.ts +4 -1
- package/dist/components/button/types.d.ts +1 -1
- package/dist/components/card/card-body.svelte +1 -1
- package/dist/components/card/card-description.svelte +1 -1
- package/dist/components/card/card-footer.svelte +1 -1
- package/dist/components/card/card-header.svelte +1 -1
- package/dist/components/card/card-media.svelte +1 -1
- package/dist/components/card/card-subtitle.svelte +1 -1
- package/dist/components/card/card-title.svelte +5 -1
- package/dist/components/checkbox/checkbox.svelte +39 -28
- package/dist/components/checkbox/checkbox.svelte.d.ts +1 -1
- 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 +1 -1
- 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.d.ts +2 -2
- package/dist/components/combobox/combobox-trigger.svelte +1 -1
- package/dist/components/combobox/compobox-item.svelte +1 -1
- package/dist/components/container/container.svelte +1 -1
- package/dist/components/datagrid/datagrid-body.svelte +1 -1
- package/dist/components/datagrid/datagrid-footer.svelte +1 -1
- package/dist/components/datagrid/datagrid-header.svelte +1 -1
- package/dist/components/datagrid/datagrid-root.svelte +1 -1
- package/dist/components/datagrid/td/datagrid-td.svelte +1 -1
- package/dist/components/datagrid/th/datagrid-th-sort-icon.svelte +1 -1
- package/dist/components/datagrid/th/datagrid-th.svelte +1 -1
- package/dist/components/dialog/dialog-body.svelte +1 -1
- package/dist/components/dialog/dialog-close-button.svelte +1 -1
- package/dist/components/dialog/dialog-content.svelte +8 -11
- 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 +123 -120
- package/dist/components/dialog/dialog-root.svelte.d.ts +3 -1
- package/dist/components/dialog/dialog-title.svelte +1 -1
- package/dist/components/drawer/drawer-backdrop.svelte +1 -1
- package/dist/components/drawer/drawer-backdrop.svelte.d.ts +1 -0
- package/dist/components/drawer/drawer-body.svelte +1 -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 +118 -113
- package/dist/components/drawer/drawer-root.svelte.d.ts +5 -2
- package/dist/components/drawer/drawer-title.svelte +1 -1
- package/dist/components/dropdown/dropdown-placeholder.svelte +1 -1
- package/dist/components/dropdown/dropdown-query.svelte +1 -1
- package/dist/components/dropdown/dropdown-trigger.svelte +1 -1
- package/dist/components/dropdown/dropdown-value.svelte +1 -3
- 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/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 +7 -0
- package/dist/components/form/field/field-control.svelte.d.ts +2 -2
- package/dist/components/form/form.stories.svelte +3 -3
- package/dist/components/icon/icon.svelte.d.ts +1 -0
- package/dist/components/input/atoms.d.ts +5 -1
- package/dist/components/input/atoms.js +5 -1
- package/dist/components/input/{input-value.svelte → input-control.svelte} +14 -20
- package/dist/components/input/input-control.svelte.d.ts +27 -0
- package/dist/components/input/input-icon.svelte +1 -1
- package/dist/components/input/input-placeholder.svelte +1 -3
- package/dist/components/input/input-placeholder.svelte.d.ts +1 -0
- package/dist/components/input/input-root.svelte +5 -12
- package/dist/components/input/input-root.svelte.d.ts +3 -19
- package/dist/components/input/input.stories.svelte +2 -2
- package/dist/components/input/types.d.ts +22 -0
- package/dist/components/input/types.js +1 -0
- package/dist/components/label/label.svelte.d.ts +1 -0
- package/dist/components/layer/layer-inner.svelte.d.ts +1 -0
- package/dist/components/layer/layer-root.svelte.d.ts +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/menu/menu-list.svelte +1 -1
- package/dist/components/popover/bond.svelte.d.ts +2 -0
- package/dist/components/popover/bond.svelte.js +1 -1
- package/dist/components/popover/popover-arrow.svelte +111 -117
- package/dist/components/popover/popover-arrow.svelte.d.ts +2 -2
- 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 +49 -63
- package/dist/components/popover/popover-root.svelte.d.ts +1 -15
- package/dist/components/popover/popover-trigger.svelte +47 -56
- package/dist/components/popover/popover-trigger.svelte.d.ts +2 -8
- package/dist/components/popover/types.d.ts +39 -0
- package/dist/components/popover/types.js +1 -0
- package/dist/components/portal/active-portal.svelte +22 -16
- package/dist/components/portal/active-portal.svelte.d.ts +2 -2
- package/dist/components/portal/portal-inner.svelte +1 -1
- package/dist/components/portal/portal-inner.svelte.d.ts +1 -0
- package/dist/components/portal/portal-root.svelte +1 -1
- package/dist/components/portal/portal-root.svelte.d.ts +1 -0
- package/dist/components/portal/teleport.svelte +55 -49
- package/dist/components/portal/teleport.svelte.d.ts +4 -2
- package/dist/components/radio/radio-group.stories.svelte +4 -4
- package/dist/components/radio/radio.svelte +3 -3
- package/dist/components/radio/radio.svelte.d.ts +2 -2
- package/dist/components/root/root.css +24 -66
- package/dist/components/root/root.svelte +1 -1
- 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 +19 -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 +1 -0
- package/dist/components/tabs/tab/tab-body.svelte +1 -1
- package/dist/components/tabs/tab/tab-description.svelte +1 -1
- package/dist/components/tabs/tab/tab-header.svelte +2 -2
- package/dist/components/tabs/tab/tab-root.svelte +6 -1
- 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/textarea/textarea-input.svelte +2 -1
- package/dist/components/toast/toast-description.svelte +1 -1
- package/dist/components/toast/toast-description.svelte.d.ts +1 -0
- package/dist/components/toast/toast-root.svelte +1 -1
- package/dist/components/toast/toast-root.svelte.d.ts +1 -0
- package/dist/components/toast/toast-title.svelte +1 -1
- package/dist/components/toast/toast-title.svelte.d.ts +1 -0
- 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 -0
- package/dist/components/tree/tree-indicator.svelte +1 -1
- package/dist/components/tree/tree-root.svelte +1 -1
- package/dist/context/preset.svelte.d.ts +4 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/variant.d.ts +213 -0
- package/dist/utils/variant.js +137 -0
- package/llm/composition.md +395 -0
- package/llm/crafting.md +838 -0
- package/llm/motion.md +970 -0
- package/llm/philosophy.md +23 -0
- package/llm/preset-variant-integration.md +516 -0
- package/llm/preset.md +383 -0
- package/llm/styling.md +216 -0
- package/llm/usage.md +46 -0
- package/llm/variants.md +712 -0
- package/package.json +2 -1
- package/dist/components/input/input-value.svelte.d.ts +0 -19
|
@@ -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"
|
|
@@ -2,6 +2,6 @@ import type { HTMLInputAttributes } from 'svelte/elements';
|
|
|
2
2
|
import type { CheckboxProps } from './types';
|
|
3
3
|
import './checkbox.css';
|
|
4
4
|
type $$ComponentProps = CheckboxProps & Exclude<HTMLInputAttributes, 'type'>;
|
|
5
|
-
declare const Checkbox: import("svelte").Component<$$ComponentProps, {}, "
|
|
5
|
+
declare const Checkbox: import("svelte").Component<$$ComponentProps, {}, "value" | "group" | "checked" | "indeterminate">;
|
|
6
6
|
type Checkbox = ReturnType<typeof Checkbox>;
|
|
7
7
|
export default Checkbox;
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<HtmlAtom
|
|
40
40
|
{bond}
|
|
41
41
|
preset="collapsible.header"
|
|
42
|
-
class={['flex cursor-pointer items-center gap-2', '$preset', klass]}
|
|
42
|
+
class={['border-border flex cursor-pointer items-center gap-2', '$preset', klass]}
|
|
43
43
|
onmount={onmount?.bind(bond.state)}
|
|
44
44
|
ondestroy={ondestroy?.bind(bond.state)}
|
|
45
45
|
animate={animate?.bind(bond.state)}
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
<HtmlAtom
|
|
49
49
|
{bond}
|
|
50
50
|
preset="collapsible.indicator"
|
|
51
|
-
class={['flex size-4 items-center justify-center', '$preset', klass]}
|
|
51
|
+
class={['border-border flex size-4 items-center justify-center', '$preset', klass]}
|
|
52
52
|
onmount={onmount?.bind(bond.state)}
|
|
53
53
|
ondestroy={ondestroy?.bind(bond.state)}
|
|
54
54
|
animate={animate?.bind(bond.state)}
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
<HtmlAtom
|
|
73
73
|
{bond}
|
|
74
74
|
preset="collapsible"
|
|
75
|
-
class={['flex w-full flex-col overflow-hidden', '$preset', klass]}
|
|
75
|
+
class={['border-border flex w-full flex-col overflow-hidden', '$preset', klass]}
|
|
76
76
|
onmount={onmount?.bind(bond.state)}
|
|
77
77
|
ondestroy={ondestroy?.bind(bond.state)}
|
|
78
78
|
animate={animate?.bind(bond.state)}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { default as Root } from './combobox-root.svelte';
|
|
2
2
|
export { default as Trigger } from './combobox-trigger.svelte';
|
|
3
3
|
export { default as Item } from './compobox-item.svelte';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated use Combobox.Control instead
|
|
6
|
+
*/
|
|
7
|
+
export { default as Input } from './combobox-control.svelte';
|
|
8
|
+
export { default as Control } from './combobox-control.svelte';
|
|
5
9
|
export { Arrow, Indicator, List } from '../dropdown/atoms';
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { default as Root } from './combobox-root.svelte';
|
|
2
2
|
export { default as Trigger } from './combobox-trigger.svelte';
|
|
3
3
|
export { default as Item } from './compobox-item.svelte';
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated use Combobox.Control instead
|
|
6
|
+
*/
|
|
7
|
+
export { default as Input } from './combobox-control.svelte';
|
|
8
|
+
export { default as Control } from './combobox-control.svelte';
|
|
5
9
|
export { Arrow, Indicator, List } from '../dropdown/atoms';
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
);
|
|
38
38
|
</script>
|
|
39
39
|
|
|
40
|
-
<Input.
|
|
40
|
+
<Input.Control
|
|
41
41
|
{value}
|
|
42
|
-
preset="combobox.
|
|
43
|
-
class={['flex-1 py-1', '$preset', klass]}
|
|
42
|
+
preset="combobox.control"
|
|
43
|
+
class={['border-border flex-1 py-1', '$preset', klass]}
|
|
44
44
|
enter={enter?.bind(bond.state)}
|
|
45
45
|
exit={exit?.bind(bond.state)}
|
|
46
46
|
initial={initial?.bind(bond.state)}
|
package/dist/components/combobox/{combobox-input.svelte.d.ts → combobox-control.svelte.d.ts}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const
|
|
1
|
+
declare const ComboboxControl: import("svelte").Component<{
|
|
2
2
|
class?: string;
|
|
3
3
|
children?: any;
|
|
4
4
|
onmount?: any;
|
|
@@ -8,5 +8,5 @@ declare const ComboboxInput: import("svelte").Component<{
|
|
|
8
8
|
exit?: any;
|
|
9
9
|
initial?: any;
|
|
10
10
|
} & Record<string, any>, {}, "">;
|
|
11
|
-
type
|
|
12
|
-
export default
|
|
11
|
+
type ComboboxControl = ReturnType<typeof ComboboxControl>;
|
|
12
|
+
export default ComboboxControl;
|
|
@@ -18,7 +18,7 @@ declare function $$render<D>(): {
|
|
|
18
18
|
exports: {
|
|
19
19
|
getBond: () => ComboboxBond<D>;
|
|
20
20
|
};
|
|
21
|
-
bindings: "values" | "
|
|
21
|
+
bindings: "values" | "value" | "text" | "open" | "query";
|
|
22
22
|
slots: {};
|
|
23
23
|
events: {};
|
|
24
24
|
};
|
|
@@ -26,7 +26,7 @@ declare class __sveltets_Render<D> {
|
|
|
26
26
|
props(): ReturnType<typeof $$render<D>>['props'];
|
|
27
27
|
events(): ReturnType<typeof $$render<D>>['events'];
|
|
28
28
|
slots(): ReturnType<typeof $$render<D>>['slots'];
|
|
29
|
-
bindings(): "values" | "
|
|
29
|
+
bindings(): "values" | "value" | "text" | "open" | "query";
|
|
30
30
|
exports(): {
|
|
31
31
|
getBond: () => ComboboxBond<D>;
|
|
32
32
|
};
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<HtmlAtom
|
|
37
37
|
{bond}
|
|
38
38
|
preset="datagrid.header"
|
|
39
|
-
class={['col-span-full grid grid-cols-subgrid', '$preset', klass]}
|
|
39
|
+
class={['border-border col-span-full grid grid-cols-subgrid', '$preset', klass]}
|
|
40
40
|
enter={enter?.bind(bond.state)}
|
|
41
41
|
exit={exit?.bind(bond.state)}
|
|
42
42
|
initial={initial?.bind(bond.state)}
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
<HtmlAtom
|
|
46
46
|
{bond}
|
|
47
47
|
preset="datagrid"
|
|
48
|
-
class={['datagrid-root w-full gap-x-0 gap-y-0', '$preset', klass]}
|
|
48
|
+
class={['border-border', 'datagrid-root w-full gap-x-0 gap-y-0', '$preset', klass]}
|
|
49
49
|
style="--template-columns:{bond.state.template}"
|
|
50
50
|
enter={enter?.bind(bond.state)}
|
|
51
51
|
exit={exit?.bind(bond.state)}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
}}
|
|
66
66
|
{bond}
|
|
67
67
|
preset="datagrid.td"
|
|
68
|
-
class={['flex h-full items-center py-2 text-left', '$preset', klass]}
|
|
68
|
+
class={['border-border flex h-full items-center py-2 text-left', '$preset', klass]}
|
|
69
69
|
enter={enter?.bind(bond.state)}
|
|
70
70
|
exit={exit?.bind(bond.state)}
|
|
71
71
|
initial={initial?.bind(bond.state)}
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
{as}
|
|
42
42
|
{bond}
|
|
43
43
|
preset="dialog.close-button"
|
|
44
|
-
class={['cursor-pointer', '$preset', klass]}
|
|
44
|
+
class={['border-border cursor-pointer', '$preset', klass]}
|
|
45
45
|
enter={enter?.bind(bond.state)}
|
|
46
46
|
exit={exit?.bind(bond.state)}
|
|
47
47
|
initial={initial?.bind(bond.state)}
|
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
<script lang="ts" generics="E extends keyof HTMLElementTagNameMap = 'div', B extends Base = Base">
|
|
9
9
|
import { animate as motion } from 'motion';
|
|
10
|
-
import {
|
|
10
|
+
import { DURATION } from '../../shared';
|
|
11
11
|
import { HtmlAtom, type HtmlAtomProps, type Base } from '../atom';
|
|
12
|
+
import { DialogBond } from './bond.svelte';
|
|
12
13
|
|
|
13
14
|
const bond = DialogBond.get();
|
|
14
15
|
|
|
@@ -32,20 +33,16 @@
|
|
|
32
33
|
const open = $derived(bond?.state?.props?.open ?? false);
|
|
33
34
|
|
|
34
35
|
function _animate(node: HTMLElement) {
|
|
36
|
+
if (open) {
|
|
37
|
+
bond?.elements.root?.show?.();
|
|
38
|
+
}
|
|
39
|
+
|
|
35
40
|
motion(
|
|
36
41
|
node,
|
|
37
42
|
{ scale: 0.9 + 0.1 * +open, opacity: +open },
|
|
38
43
|
{
|
|
39
|
-
duration:
|
|
40
|
-
ease: 'anticipate'
|
|
41
|
-
onComplete: () => {
|
|
42
|
-
if (!open) {
|
|
43
|
-
const root = bond?.elements.root;
|
|
44
|
-
|
|
45
|
-
root?.close?.();
|
|
46
|
-
console.log(root);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
44
|
+
duration: DURATION.normal / 1000,
|
|
45
|
+
ease: 'anticipate'
|
|
49
46
|
}
|
|
50
47
|
);
|
|
51
48
|
}
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
<HtmlAtom
|
|
33
33
|
{bond}
|
|
34
34
|
preset="dialog.header"
|
|
35
|
-
class={['flex w-full px-4 text-xl', '$preset', klass]}
|
|
35
|
+
class={['border-border', 'flex w-full px-4 text-xl', '$preset', klass]}
|
|
36
36
|
enter={enter?.bind(bond.state)}
|
|
37
37
|
exit={exit?.bind(bond.state)}
|
|
38
38
|
initial={initial?.bind(bond.state)}
|