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
@@ -13,7 +13,7 @@ export function useRadioGroupContext() {
|
|
13
13
|
return getContext('RadioGroup');
|
14
14
|
}
|
15
15
|
export function setRadioGroupItemContext(value) {
|
16
|
-
setContext('RadioGroupItem',
|
16
|
+
setContext('RadioGroupItem', value);
|
17
17
|
}
|
18
18
|
export function useRadioGroupItemContext() {
|
19
19
|
return getContext('RadioGroupItem');
|
@@ -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 RadioGroupIndicatorProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useRadioGroupContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: RadioGroupIndicatorProps = $props();
|
13
|
+
|
14
|
+
let context = useRadioGroupContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getIndicatorProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<span {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</span>
|
@@ -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 RadioGroupItemControlProps extends Assign<SvelteHTMLElements['div'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useRadioGroupContext, useRadioGroupItemContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: RadioGroupItemControlProps = $props();
|
13
|
+
|
14
|
+
let context = useRadioGroupContext();
|
15
|
+
let itemContext = useRadioGroupItemContext();
|
16
|
+
|
17
|
+
let attrs = $derived(mergeProps(props, context.getItemControlProps(itemContext)));
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<div {...attrs}>
|
21
|
+
{@render children?.()}
|
22
|
+
</div>
|
@@ -1,11 +1,20 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface RadioGroupItemHiddenInputProps extends Assign<SvelteHTMLElements['input'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useRadioGroupContext, useRadioGroupItemContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {...props}: RadioGroupItemHiddenInputProps = $props();
|
13
|
+
|
14
|
+
let context = useRadioGroupContext();
|
15
|
+
let itemContext = useRadioGroupItemContext();
|
16
|
+
|
17
|
+
let attrs = $derived(mergeProps(props, context.getItemHiddenInputProps(itemContext)));
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<input {...attrs} />
|
@@ -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 RadioGroupItemTextProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useRadioGroupContext, useRadioGroupItemContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: RadioGroupItemTextProps = $props();
|
13
|
+
|
14
|
+
let context = useRadioGroupContext();
|
15
|
+
let itemContext = useRadioGroupItemContext();
|
16
|
+
|
17
|
+
let attrs = $derived(mergeProps(props, context.getItemTextProps(itemContext)));
|
18
|
+
</script>
|
19
|
+
|
20
|
+
<span {...attrs}>
|
21
|
+
{@render children?.()}
|
22
|
+
</span>
|
@@ -1,26 +1,37 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
import {
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
)
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {ItemProps} from '@zag-js/radio-group';
|
4
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
5
|
+
|
6
|
+
export interface RadioGroupItemProps extends Assign<SvelteHTMLElements['label'], ItemProps> {}
|
7
|
+
</script>
|
8
|
+
|
9
|
+
<script lang="ts">
|
10
|
+
import {mergeProps} from '@zag-js/svelte';
|
11
|
+
import {setRadioGroupItemContext, useRadioGroupContext} from './context.svelte.js';
|
12
|
+
|
13
|
+
let {value, invalid, disabled, children, ...props}: RadioGroupItemProps = $props();
|
14
|
+
|
15
|
+
let context = useRadioGroupContext();
|
16
|
+
|
17
|
+
let attrs = $derived(
|
18
|
+
mergeProps(
|
19
|
+
props,
|
20
|
+
context.getItemProps({
|
21
|
+
value,
|
22
|
+
invalid,
|
23
|
+
disabled,
|
24
|
+
}),
|
25
|
+
),
|
26
|
+
);
|
27
|
+
|
28
|
+
setRadioGroupItemContext({
|
29
|
+
value,
|
30
|
+
invalid,
|
31
|
+
disabled,
|
32
|
+
});
|
33
|
+
</script>
|
34
|
+
|
35
|
+
<label {...attrs}>
|
36
|
+
{@render children?.()}
|
37
|
+
</label>
|
@@ -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 RadioGroupLabelProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useRadioGroupContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: RadioGroupLabelProps = $props();
|
13
|
+
|
14
|
+
let context = useRadioGroupContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getLabelProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<span {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</span>
|
@@ -1,40 +1,61 @@
|
|
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
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
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
|
+
CreateRadioGroupContextProps,
|
7
|
+
CreateRadioGroupContextReturn,
|
8
|
+
} from './context.svelte.js';
|
9
|
+
|
10
|
+
export interface RadioGroupProps
|
11
|
+
extends Assign<
|
12
|
+
WithoutChildren<SvelteHTMLElements['div']>,
|
13
|
+
OptionalId<CreateRadioGroupContextProps>
|
14
|
+
> {
|
15
|
+
children?: Snippet<[CreateRadioGroupContextReturn]>;
|
16
|
+
}
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<script lang="ts">
|
20
|
+
import {uuid} from '../utils.svelte.js';
|
21
|
+
import {mergeProps} from '@zag-js/svelte';
|
22
|
+
import {createRadioGroupContext, setRadioGroupContext} from './context.svelte.js';
|
23
|
+
|
24
|
+
let {
|
25
|
+
id = uuid(),
|
26
|
+
ids,
|
27
|
+
dir,
|
28
|
+
form,
|
29
|
+
name,
|
30
|
+
value,
|
31
|
+
disabled,
|
32
|
+
readOnly,
|
33
|
+
orientation,
|
34
|
+
onValueChange,
|
35
|
+
getRootNode,
|
36
|
+
children,
|
37
|
+
...props
|
38
|
+
}: RadioGroupProps = $props();
|
39
|
+
|
40
|
+
let context = createRadioGroupContext({
|
41
|
+
id,
|
42
|
+
ids,
|
43
|
+
dir,
|
44
|
+
form,
|
45
|
+
name,
|
46
|
+
value: $state.snapshot(value),
|
47
|
+
disabled,
|
48
|
+
readOnly,
|
49
|
+
orientation,
|
50
|
+
onValueChange,
|
51
|
+
getRootNode,
|
52
|
+
});
|
53
|
+
|
54
|
+
let attrs = $derived(mergeProps(props, context.getRootProps()));
|
55
|
+
|
56
|
+
setRadioGroupContext(context);
|
57
|
+
</script>
|
58
|
+
|
59
|
+
<div {...attrs}>
|
60
|
+
{@render children?.(context)}
|
61
|
+
</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 SelectClearTriggerProps extends Assign<SvelteHTMLElements['button'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useSelectContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: SelectClearTriggerProps = $props();
|
13
|
+
|
14
|
+
let context = useSelectContext();
|
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 SelectContentProps extends Assign<SvelteHTMLElements['div'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useSelectContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: SelectContentProps = $props();
|
13
|
+
|
14
|
+
let context = useSelectContext();
|
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 createSelectContext(props) {
|
|
19
19
|
return api;
|
20
20
|
}
|
21
21
|
export function setSelectContext(value) {
|
22
|
-
setContext('Select',
|
22
|
+
setContext('Select', value);
|
23
23
|
}
|
24
24
|
export function useSelectContext() {
|
25
25
|
return getContext('Select');
|
26
26
|
}
|
27
27
|
export function setSelectItemGroupContext(value) {
|
28
|
-
setContext('SelectItemGroup',
|
28
|
+
setContext('SelectItemGroup', value);
|
29
29
|
}
|
30
30
|
export function useSelectItemGroupContext() {
|
31
31
|
return getContext('SelectItemGroup');
|
32
32
|
}
|
33
33
|
export function setSelectItemContext(value) {
|
34
|
-
setContext('SelectItem',
|
34
|
+
setContext('SelectItem', value);
|
35
35
|
}
|
36
36
|
export function useSelectItemContext() {
|
37
37
|
return getContext('SelectItem');
|
@@ -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 SelectControlProps extends Assign<SvelteHTMLElements['div'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useSelectContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: SelectControlProps = $props();
|
13
|
+
|
14
|
+
let context = useSelectContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getControlProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<div {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</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 SelectHiddenSelectProps extends Assign<SvelteHTMLElements['select'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useSelectContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: SelectHiddenSelectProps = $props();
|
13
|
+
|
14
|
+
let context = useSelectContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getHiddenSelectProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<select {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</select>
|
@@ -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 SelectIndicatorProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useSelectContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: SelectIndicatorProps = $props();
|
13
|
+
|
14
|
+
let context = useSelectContext();
|
15
|
+
|
16
|
+
let attrs = $derived(mergeProps(props, context.getIndicatorProps()));
|
17
|
+
</script>
|
18
|
+
|
19
|
+
<span {...attrs}>
|
20
|
+
{@render children?.()}
|
21
|
+
</span>
|
@@ -1,15 +1,24 @@
|
|
1
|
-
<script lang="ts" context="module"
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
<script lang="ts" context="module">
|
2
|
+
import type {Assign} from '../types.js';
|
3
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
4
|
+
|
5
|
+
export interface SelectItemGroupLabelProps extends Assign<SvelteHTMLElements['span'], {}> {}
|
6
|
+
</script>
|
7
|
+
|
8
|
+
<script lang="ts">
|
9
|
+
import {mergeProps} from '@zag-js/svelte';
|
10
|
+
import {useSelectContext, useSelectItemGroupContext} from './context.svelte.js';
|
11
|
+
|
12
|
+
let {children, ...props}: SelectItemGroupLabelProps = $props();
|
13
|
+
|
14
|
+
let context = useSelectContext();
|
15
|
+
let itemGroupContext = useSelectItemGroupContext();
|
16
|
+
|
17
|
+
let attrs = $derived(
|
18
|
+
mergeProps(props, context.getItemGroupLabelProps({htmlFor: itemGroupContext.id})),
|
19
|
+
);
|
20
|
+
</script>
|
21
|
+
|
22
|
+
<span {...attrs}>
|
23
|
+
{@render children?.()}
|
24
|
+
</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/select';
|
4
|
+
import type {SvelteHTMLElements} from 'svelte/elements';
|
5
|
+
|
6
|
+
export interface SelectItemGroupProps
|
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 {setSelectItemGroupContext, useSelectContext} from './context.svelte.js';
|
14
|
+
|
15
|
+
let {id = uuid(), children, ...props}: SelectItemGroupProps = $props();
|
16
|
+
|
17
|
+
let context = useSelectContext();
|
18
|
+
|
19
|
+
let attrs = $derived(mergeProps(props, context.getItemGroupProps({id})));
|
20
|
+
|
21
|
+
setSelectItemGroupContext({id});
|
22
|
+
</script>
|
23
|
+
|
24
|
+
<div {...attrs}>
|
25
|
+
{@render children?.()}
|
26
|
+
</div>
|