ui-ingredients 0.0.5 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +75 -75
- package/dist/accordion/context.svelte.js +1 -1
- package/dist/accordion/item-content.svelte +22 -13
- package/dist/accordion/item-indicator.svelte +22 -13
- package/dist/accordion/item-trigger.svelte +22 -13
- package/dist/accordion/item.svelte +35 -24
- package/dist/accordion/root.svelte +61 -40
- package/dist/avatar/fallback.svelte +21 -12
- package/dist/avatar/image.svelte +19 -10
- package/dist/avatar/root.svelte +46 -29
- package/dist/carousel/indicator-group.svelte +21 -12
- package/dist/carousel/indicator.svelte +31 -20
- package/dist/carousel/item-group.svelte +21 -12
- package/dist/carousel/item.svelte +22 -12
- package/dist/carousel/next-trigger.svelte +21 -12
- package/dist/carousel/prev-trigger.svelte +21 -12
- package/dist/carousel/root.svelte +58 -40
- package/dist/carousel/viewport.svelte +21 -12
- package/dist/checkbox/control.svelte +21 -12
- package/dist/checkbox/hidden-input.svelte +19 -10
- package/dist/checkbox/indicator.svelte +21 -12
- package/dist/checkbox/label.svelte +21 -12
- package/dist/checkbox/root.svelte +62 -44
- package/dist/clipboard/control.svelte +21 -12
- package/dist/clipboard/indicator.svelte +23 -12
- package/dist/clipboard/input.svelte +19 -10
- package/dist/clipboard/label.svelte +21 -12
- package/dist/clipboard/root.svelte +51 -30
- package/dist/clipboard/trigger.svelte +21 -12
- package/dist/collapsible/content.svelte +21 -12
- package/dist/collapsible/root.svelte +57 -36
- package/dist/collapsible/trigger.svelte +19 -12
- package/dist/combobox/clear-trigger.svelte +21 -12
- package/dist/combobox/content.svelte +21 -12
- package/dist/combobox/context.svelte.js +3 -3
- package/dist/combobox/control.svelte +21 -12
- package/dist/combobox/input.svelte +19 -10
- package/dist/combobox/item-group-label.svelte +29 -20
- package/dist/combobox/item-group.svelte +26 -14
- package/dist/combobox/item-indicator.svelte +22 -13
- package/dist/combobox/item-text.svelte +26 -17
- package/dist/combobox/item.svelte +35 -24
- package/dist/combobox/label.svelte +21 -12
- package/dist/combobox/list.svelte +21 -12
- package/dist/combobox/positioner.svelte +21 -12
- package/dist/combobox/root.svelte +122 -104
- package/dist/combobox/trigger.svelte +21 -12
- package/dist/dialog/backdrop.svelte +21 -12
- package/dist/dialog/close-trigger.svelte +21 -12
- package/dist/dialog/content.svelte +21 -12
- package/dist/dialog/description.svelte +21 -12
- package/dist/dialog/positioner.svelte +21 -12
- package/dist/dialog/root.svelte +22 -10
- package/dist/dialog/title.svelte +21 -12
- package/dist/dialog/trigger.svelte +21 -12
- package/dist/hover-card/arrow-tip.svelte +21 -12
- package/dist/hover-card/arrow.svelte +21 -12
- package/dist/hover-card/content.svelte +21 -12
- package/dist/hover-card/positioner.svelte +21 -12
- package/dist/hover-card/root.svelte +25 -10
- package/dist/hover-card/trigger.svelte +21 -12
- package/dist/number-input/control.svelte +21 -12
- package/dist/number-input/decrement-trigger.svelte +22 -12
- package/dist/number-input/increment-trigger.svelte +22 -12
- package/dist/number-input/input.svelte +19 -10
- package/dist/number-input/label.svelte +21 -12
- package/dist/number-input/root.svelte +93 -72
- package/dist/number-input/scrubber.svelte +21 -12
- package/dist/pagination/ellipsis.svelte +23 -12
- package/dist/pagination/item.svelte +31 -20
- package/dist/pagination/next-trigger.svelte +21 -12
- package/dist/pagination/prev-trigger.svelte +21 -12
- package/dist/pagination/root.svelte +63 -42
- package/dist/pin-input/clear-trigger.svelte +25 -17
- package/dist/pin-input/hidden-input.svelte +19 -10
- package/dist/pin-input/input.svelte +20 -10
- package/dist/pin-input/label.svelte +21 -12
- package/dist/pin-input/root.svelte +82 -64
- package/dist/popover/arrow-tip.svelte +21 -12
- package/dist/popover/arrow.svelte +21 -12
- package/dist/popover/close-trigger.svelte +21 -12
- package/dist/popover/content.svelte +21 -12
- package/dist/popover/description.svelte +21 -12
- package/dist/popover/positioner.svelte +21 -12
- package/dist/popover/root.svelte +22 -10
- package/dist/popover/title.svelte +21 -12
- package/dist/popover/trigger.svelte +21 -12
- package/dist/portal/root.svelte +20 -10
- package/dist/presence/root.svelte +39 -27
- package/dist/progress/circle-range.svelte +21 -12
- package/dist/progress/circle-track.svelte +21 -12
- package/dist/progress/circle.svelte +21 -12
- package/dist/progress/label.svelte +21 -12
- package/dist/progress/range.svelte +21 -12
- package/dist/progress/root.svelte +54 -36
- package/dist/progress/track.svelte +21 -12
- package/dist/progress/value-text.svelte +25 -16
- package/dist/radio-group/context.svelte.js +1 -1
- package/dist/radio-group/indicator.svelte +21 -12
- package/dist/radio-group/item-control.svelte +22 -13
- package/dist/radio-group/item-hidden-input.svelte +20 -11
- package/dist/radio-group/item-text.svelte +22 -13
- package/dist/radio-group/item.svelte +37 -26
- package/dist/radio-group/label.svelte +21 -12
- package/dist/radio-group/root.svelte +61 -40
- package/dist/select/clear-trigger.svelte +21 -12
- package/dist/select/content.svelte +21 -12
- package/dist/select/context.svelte.js +3 -3
- package/dist/select/control.svelte +21 -12
- package/dist/select/hidden-select.svelte +21 -12
- package/dist/select/indicator.svelte +21 -12
- package/dist/select/item-group-label.svelte +24 -15
- package/dist/select/item-group.svelte +26 -14
- package/dist/select/item-indicator.svelte +22 -13
- package/dist/select/item-text.svelte +26 -17
- package/dist/select/item.svelte +35 -24
- package/dist/select/label.svelte +21 -12
- package/dist/select/list.svelte +21 -12
- package/dist/select/positioner.svelte +21 -12
- package/dist/select/root.svelte +96 -78
- package/dist/select/trigger.svelte +21 -12
- package/dist/select/value-text.svelte +27 -18
- package/dist/slider/context.svelte.js +1 -1
- package/dist/slider/control.svelte +21 -12
- package/dist/slider/hidden-input.svelte +20 -11
- package/dist/slider/label.svelte +21 -12
- package/dist/slider/marker-group.svelte +21 -12
- package/dist/slider/marker.svelte +29 -19
- package/dist/slider/range.svelte +21 -12
- package/dist/slider/root.svelte +84 -66
- package/dist/slider/thumb.svelte +35 -24
- package/dist/slider/track.svelte +21 -12
- package/dist/slider/value-text.svelte +25 -16
- package/dist/steps/content.svelte +22 -12
- package/dist/steps/indicator.svelte +22 -13
- package/dist/steps/item.svelte +24 -13
- package/dist/steps/list.svelte +21 -12
- package/dist/steps/next-trigger.svelte +21 -12
- package/dist/steps/prev-trigger.svelte +21 -12
- package/dist/steps/progress.svelte +21 -12
- package/dist/steps/root.svelte +56 -38
- package/dist/steps/separator.svelte +22 -13
- package/dist/steps/trigger.svelte +22 -13
- package/dist/switch/control.svelte +21 -12
- package/dist/switch/hidden-input.svelte +19 -10
- package/dist/switch/label.svelte +21 -12
- package/dist/switch/root.svelte +64 -46
- package/dist/switch/thumb.svelte +21 -12
- package/dist/tabs/content.svelte +22 -12
- package/dist/tabs/list.svelte +21 -12
- package/dist/tabs/root.svelte +57 -42
- package/dist/tabs/trigger.svelte +22 -12
- package/dist/toast/action-trigger.svelte +21 -12
- package/dist/toast/actor.svelte +22 -11
- package/dist/toast/close-trigger.svelte +21 -12
- package/dist/toast/description.svelte +25 -16
- package/dist/toast/root.svelte +25 -16
- package/dist/toast/title.svelte +25 -16
- package/dist/toast/toaster.svelte +40 -25
- package/dist/toggle-group/item.svelte +22 -12
- package/dist/toggle-group/root.svelte +61 -40
- package/dist/tooltip/arrow-tip.svelte +21 -12
- package/dist/tooltip/arrow.svelte +21 -12
- package/dist/tooltip/content.svelte +21 -12
- package/dist/tooltip/positioner.svelte +21 -12
- package/dist/tooltip/root.svelte +22 -10
- package/dist/tooltip/trigger.svelte +21 -12
- package/package.json +6 -14
@@ -1,30 +1,51 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
import {
|
5
|
-
import {
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
let
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign, OptionalId, WithoutChildren} from '../types.js';
|
3
|
+
import type {Snippet} from 'svelte';
|
4
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
5
|
+
import type {
|
6
|
+
CreateClipboardContextProps,
|
7
|
+
CreateClipboardContextReturn,
|
8
|
+
} from './context.svelte.js';
|
9
|
+
|
10
|
+
export interface ClipboardProps
|
11
|
+
extends Assign<
|
12
|
+
WithoutChildren<SvelteHTMLElements['div']>,
|
13
|
+
OptionalId<CreateClipboardContextProps>
|
14
|
+
> {
|
15
|
+
children?: Snippet<[CreateClipboardContextReturn]>;
|
16
|
+
}
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<script lang="ts">
|
20
|
+
import {uuid} from '../utils.svelte.js';
|
21
|
+
import {mergeProps} from '@zag-js/svelte';
|
22
|
+
import {createClipboardContext, setClipboardContext} from './context.svelte.js';
|
23
|
+
|
24
|
+
let {
|
25
|
+
id = uuid(),
|
26
|
+
ids,
|
27
|
+
value,
|
28
|
+
timeout,
|
29
|
+
onStatusChange,
|
30
|
+
getRootNode,
|
31
|
+
children,
|
32
|
+
...props
|
33
|
+
}: ClipboardProps = $props();
|
34
|
+
|
35
|
+
let context = createClipboardContext({
|
36
|
+
id,
|
37
|
+
ids,
|
38
|
+
value: $state.snapshot(value),
|
39
|
+
timeout,
|
40
|
+
onStatusChange,
|
41
|
+
getRootNode,
|
42
|
+
});
|
43
|
+
|
44
|
+
let attrs = $derived(mergeProps(props, context.getRootProps()));
|
45
|
+
|
46
|
+
setClipboardContext(context);
|
47
|
+
</script>
|
48
|
+
|
49
|
+
<div {...attrs}>
|
50
|
+
{@render children?.(context)}
|
51
|
+
</div>
|
@@ -1,12 +1,21 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ClipboardTriggerProps extends Assign<SvelteHTMLElements['button'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useClipboardContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ClipboardTriggerProps = $props();
|
13
|
+
|
14
|
+
let context = useClipboardContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getTriggerProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<button type="button" {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</button>
|
@@ -1,12 +1,21 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface CollapsibleContentProps extends Assign<SvelteHTMLElements['div'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useCollapsibleContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: CollapsibleContentProps = $props();
|
13
|
+
|
14
|
+
let context = useCollapsibleContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getContentProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<div {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</div>
|
@@ -1,36 +1,57 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
import {
|
5
|
-
import {
|
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
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign, OptionalId, WithoutChildren} from '../types.js';
|
3
|
+
import type {Snippet} from 'svelte';
|
4
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
5
|
+
import type {
|
6
|
+
CreateCollapsibleContextProps,
|
7
|
+
CreateCollapsibleContextReturn,
|
8
|
+
} from './context.svelte.js';
|
9
|
+
|
10
|
+
export interface CollapsibleProps
|
11
|
+
extends Assign<
|
12
|
+
WithoutChildren<SvelteHTMLElements['div']>,
|
13
|
+
OptionalId<CreateCollapsibleContextProps>
|
14
|
+
> {
|
15
|
+
children?: Snippet<[CreateCollapsibleContextReturn]>;
|
16
|
+
}
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<script lang="ts">
|
20
|
+
import {uuid} from '../utils.svelte.js';
|
21
|
+
import {mergeProps} from '@zag-js/svelte';
|
22
|
+
import {createCollapsibleContext, setCollapsibleContext} from './context.svelte.js';
|
23
|
+
|
24
|
+
let {
|
25
|
+
id = uuid(),
|
26
|
+
ids,
|
27
|
+
dir,
|
28
|
+
open,
|
29
|
+
'open.controlled': openControlled,
|
30
|
+
disabled,
|
31
|
+
onOpenChange,
|
32
|
+
onExitComplete,
|
33
|
+
getRootNode,
|
34
|
+
children,
|
35
|
+
...props
|
36
|
+
}: CollapsibleProps = $props();
|
37
|
+
|
38
|
+
let context = createCollapsibleContext({
|
39
|
+
id,
|
40
|
+
ids,
|
41
|
+
dir,
|
42
|
+
open,
|
43
|
+
'open.controlled': openControlled,
|
44
|
+
disabled,
|
45
|
+
onOpenChange,
|
46
|
+
onExitComplete,
|
47
|
+
getRootNode,
|
48
|
+
});
|
49
|
+
|
50
|
+
let mergedProps = $derived(mergeProps(props, context.getRootProps()));
|
51
|
+
|
52
|
+
setCollapsibleContext(context);
|
53
|
+
</script>
|
54
|
+
|
55
|
+
<div {...mergedProps}>
|
56
|
+
{@render children?.(context)}
|
57
|
+
</div>
|
@@ -1,12 +1,19 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface CollapsibleTriggerProps extends Assign<SvelteHTMLElements['button'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useCollapsibleContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: CollapsibleTriggerProps = $props();
|
13
|
+
let context = useCollapsibleContext();
|
14
|
+
let mergedProps = $derived(mergeProps(props, context.getTriggerProps()));
|
15
|
+
</script>
|
16
|
+
|
17
|
+
<button type="button" {...mergedProps}>
|
18
|
+
{@render children?.()}
|
19
|
+
</button>
|
@@ -1,12 +1,21 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxClearTriggerProps extends Assign<SvelteHTMLElements['button'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ComboboxClearTriggerProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getClearTriggerProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<button type="button" {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</button>
|
@@ -1,12 +1,21 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxContentProps extends Assign<SvelteHTMLElements['div'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ComboboxContentProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getContentProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<div {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</div>
|
@@ -19,19 +19,19 @@ export function createComboboxContext(props) {
|
|
19
19
|
return api;
|
20
20
|
}
|
21
21
|
export function setComboboxContext(value) {
|
22
|
-
setContext('Combobox',
|
22
|
+
setContext('Combobox', value);
|
23
23
|
}
|
24
24
|
export function useComboboxContext() {
|
25
25
|
return getContext('Combobox');
|
26
26
|
}
|
27
27
|
export function setComboboxItemContext(value) {
|
28
|
-
setContext('ComboboxItem',
|
28
|
+
setContext('ComboboxItem', value);
|
29
29
|
}
|
30
30
|
export function useComboboxItemContext() {
|
31
31
|
return getContext('ComboboxItem');
|
32
32
|
}
|
33
33
|
export function setComboboxItemGroupContext(value) {
|
34
|
-
setContext('ComboboxItemGroup',
|
34
|
+
setContext('ComboboxItemGroup', value);
|
35
35
|
}
|
36
36
|
export function useComboboxItemGroupContext() {
|
37
37
|
return getContext('ComboboxItemGroup');
|
@@ -1,12 +1,21 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxControlProps extends Assign<SvelteHTMLElements['div'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ComboboxControlProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getControlProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<div {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</div>
|
@@ -1,10 +1,19 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxInputProps extends Assign<SvelteHTMLElements['input'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {...props}: ComboboxInputProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getInputProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<input {...attrs} />
|
@@ -1,20 +1,29 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
mergeProps
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
)
|
15
|
-
);
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxItemGroupLabelProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext, useComboboxItemGroupContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ComboboxItemGroupLabelProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
let itemGroupContext = useComboboxItemGroupContext();
|
16
|
+
|
17
|
+
let attrs = $derived(
|
18
|
+
mergeProps(
|
19
|
+
props,
|
20
|
+
context.getItemGroupLabelProps({
|
21
|
+
htmlFor: itemGroupContext.id,
|
22
|
+
}),
|
23
|
+
),
|
24
|
+
);
|
25
|
+
</script>
|
26
|
+
|
27
|
+
<span {...attrs}>
|
28
|
+
{@render children?.()}
|
29
|
+
</span>
|
@@ -1,14 +1,26 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
{
|
14
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign, OptionalId} from '../types.js';
|
3
|
+
import type {ItemGroupProps} from '@zag-js/combobox';
|
4
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
5
|
+
|
6
|
+
export interface ComboboxItemGroupProps
|
7
|
+
extends Assign<SvelteHTMLElements['div'], OptionalId<ItemGroupProps>> {}
|
8
|
+
</script>
|
9
|
+
|
10
|
+
<script lang="ts">
|
11
|
+
import {uuid} from '../utils.svelte.js';
|
12
|
+
import {mergeProps} from '@zag-js/svelte';
|
13
|
+
import {setComboboxItemGroupContext, useComboboxContext} from './context.svelte.js';
|
14
|
+
|
15
|
+
let {id = uuid(), children, ...props}: ComboboxItemGroupProps = $props();
|
16
|
+
|
17
|
+
let context = useComboboxContext();
|
18
|
+
|
19
|
+
let attrs = $derived(mergeProps(props, context.getItemGroupProps({id})));
|
20
|
+
|
21
|
+
setComboboxItemGroupContext({id});
|
22
|
+
</script>
|
23
|
+
|
24
|
+
<div {...attrs}>
|
25
|
+
{@render children?.()}
|
26
|
+
</div>
|
@@ -1,13 +1,22 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
{
|
13
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxItemIndicatorProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext, useComboboxItemContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ComboboxItemIndicatorProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
let itemContext = useComboboxItemContext();
|
16
|
+
|
17
|
+
let attrs = $derived(mergeProps(props, context.getItemIndicatorProps(itemContext)));
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<span {...attrs}>
|
21
|
+
{@render children?.()}
|
22
|
+
</span>
|
@@ -1,17 +1,26 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
{
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface ComboboxItemTextProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useComboboxContext, useComboboxItemContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: ComboboxItemTextProps = $props();
|
13
|
+
|
14
|
+
let context = useComboboxContext();
|
15
|
+
let itemContext = useComboboxItemContext();
|
16
|
+
|
17
|
+
let attrs = $derived(mergeProps(props, context.getItemTextProps(itemContext)));
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<span {...attrs}>
|
21
|
+
{#if children}
|
22
|
+
{@render children?.()}
|
23
|
+
{:else}
|
24
|
+
{context.collection.stringifyItem(itemContext.item)}
|
25
|
+
{/if}
|
26
|
+
</span>
|