ui-ingredients 0.31.0 → 0.31.2
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 +49 -49
- package/dist/accordion/accordion-item.svelte +64 -64
- package/dist/accordion/accordion-root.svelte +65 -65
- package/dist/alert/alert-root.svelte +45 -45
- package/dist/alert-dialog/alert-dialog-root.svelte +48 -48
- package/dist/angle-slider/angle-slider-root.svelte +58 -58
- package/dist/avatar/avatar-root.svelte +45 -45
- package/dist/carousel/carousel-root.svelte +64 -64
- package/dist/clipboard/clipboard-root.svelte +52 -52
- package/dist/collapsible/collapsible-root.svelte +73 -73
- package/dist/color-picker/color-picker-root.svelte +88 -88
- package/dist/combobox/combobox-root.svelte +102 -102
- package/dist/dialog/dialog-root.svelte +48 -48
- package/dist/drawer/drawer-root.svelte +48 -48
- package/dist/editable/editable-root.svelte +72 -72
- package/dist/field/field-root.svelte +62 -62
- package/dist/file-upload/file-upload-root.svelte +68 -68
- package/dist/floating-panel/floating-panel-root.svelte +47 -47
- package/dist/highlight/highlight.svelte +42 -42
- package/dist/hover-card/hover-card-root.svelte +51 -51
- package/dist/menu/menu-root.svelte +74 -74
- package/dist/merge-props.js +15 -17
- package/dist/number-input/number-input-root.svelte +74 -74
- package/dist/pagination/pagination-root.svelte +57 -57
- package/dist/pin-input/pin-input-root.svelte +67 -67
- package/dist/popover/popover-root.svelte +60 -60
- package/dist/presence/presence.svelte +43 -43
- package/dist/progress/progress-root.svelte +55 -55
- package/dist/qr-code/qr-code-root.svelte +52 -52
- package/dist/radio-group/radio-group-root.svelte +55 -55
- package/dist/rating-group/rating-group-root.svelte +62 -62
- package/dist/segment-group/segment-group-root.svelte +57 -57
- package/dist/select/select-root.svelte +88 -88
- package/dist/signature-pad/signature-pad-root.svelte +59 -59
- package/dist/slider/slider-root.svelte +68 -68
- package/dist/splitter/splitter-root.svelte +52 -52
- package/dist/steps/steps-root.svelte +64 -64
- package/dist/switch/switch-root.svelte +58 -58
- package/dist/tabs/tabs-root.svelte +58 -58
- package/dist/tags-input/tags-input-root.svelte +74 -74
- package/dist/time-picker/time-picker-root.svelte +81 -81
- package/dist/timer/timer-root.svelte +55 -55
- package/dist/toast/toast-actor.svelte +19 -19
- package/dist/toggle/toggle-root.svelte +49 -49
- package/dist/toggle-group/toggle-group-root.svelte +57 -57
- package/dist/tooltip/tooltip-root.svelte +44 -44
- package/dist/tour/tour-root.svelte +46 -46
- package/dist/tree-view/tree-view-branch.svelte +63 -63
- package/dist/tree-view/tree-view-root.svelte +68 -68
- package/package.json +403 -411
@@ -1,55 +1,55 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
-
import type {
|
4
|
-
CreateProgressProps,
|
5
|
-
CreateProgressReturn,
|
6
|
-
} from './create-progress.svelte.js';
|
7
|
-
|
8
|
-
export interface ProgressProps
|
9
|
-
extends Assign<
|
10
|
-
HtmlIngredientProps<'div', HTMLDivElement, CreateProgressReturn>,
|
11
|
-
CreateProgressProps
|
12
|
-
> {}
|
13
|
-
</script>
|
14
|
-
|
15
|
-
<script lang="ts">
|
16
|
-
import {reflect} from '@zag-js/svelte';
|
17
|
-
import {createSplitProps} from '../create-split-props.js';
|
18
|
-
import {mergeProps} from '../merge-props.js';
|
19
|
-
import {createProgress} from './create-progress.svelte.js';
|
20
|
-
import {setProgressContext} from './progress-context.svelte.js';
|
21
|
-
|
22
|
-
let {
|
23
|
-
ref = $bindable(null),
|
24
|
-
asChild,
|
25
|
-
children,
|
26
|
-
...props
|
27
|
-
}: ProgressProps = $props();
|
28
|
-
|
29
|
-
let [createProgressProps, localProps] = $derived(
|
30
|
-
createSplitProps<CreateProgressProps>([
|
31
|
-
'id',
|
32
|
-
'ids',
|
33
|
-
'max',
|
34
|
-
'min',
|
35
|
-
'onValueChange',
|
36
|
-
'orientation',
|
37
|
-
'translations',
|
38
|
-
'value',
|
39
|
-
])(props),
|
40
|
-
);
|
41
|
-
|
42
|
-
let progress = createProgress(reflect(() => createProgressProps));
|
43
|
-
|
44
|
-
let mergedProps = $derived(mergeProps(progress.getRootProps(), localProps));
|
45
|
-
|
46
|
-
setProgressContext(progress);
|
47
|
-
</script>
|
48
|
-
|
49
|
-
{#if asChild}
|
50
|
-
{@render asChild(mergedProps, progress)}
|
51
|
-
{:else}
|
52
|
-
<div bind:this={ref} {...mergedProps}>
|
53
|
-
{@render children?.(progress)}
|
54
|
-
</div>
|
55
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
+
import type {
|
4
|
+
CreateProgressProps,
|
5
|
+
CreateProgressReturn,
|
6
|
+
} from './create-progress.svelte.js';
|
7
|
+
|
8
|
+
export interface ProgressProps
|
9
|
+
extends Assign<
|
10
|
+
HtmlIngredientProps<'div', HTMLDivElement, CreateProgressReturn>,
|
11
|
+
CreateProgressProps
|
12
|
+
> {}
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script lang="ts">
|
16
|
+
import {reflect} from '@zag-js/svelte';
|
17
|
+
import {createSplitProps} from '../create-split-props.js';
|
18
|
+
import {mergeProps} from '../merge-props.js';
|
19
|
+
import {createProgress} from './create-progress.svelte.js';
|
20
|
+
import {setProgressContext} from './progress-context.svelte.js';
|
21
|
+
|
22
|
+
let {
|
23
|
+
ref = $bindable(null),
|
24
|
+
asChild,
|
25
|
+
children,
|
26
|
+
...props
|
27
|
+
}: ProgressProps = $props();
|
28
|
+
|
29
|
+
let [createProgressProps, localProps] = $derived(
|
30
|
+
createSplitProps<CreateProgressProps>([
|
31
|
+
'id',
|
32
|
+
'ids',
|
33
|
+
'max',
|
34
|
+
'min',
|
35
|
+
'onValueChange',
|
36
|
+
'orientation',
|
37
|
+
'translations',
|
38
|
+
'value',
|
39
|
+
])(props),
|
40
|
+
);
|
41
|
+
|
42
|
+
let progress = createProgress(reflect(() => createProgressProps));
|
43
|
+
|
44
|
+
let mergedProps = $derived(mergeProps(progress.getRootProps(), localProps));
|
45
|
+
|
46
|
+
setProgressContext(progress);
|
47
|
+
</script>
|
48
|
+
|
49
|
+
{#if asChild}
|
50
|
+
{@render asChild(mergedProps, progress)}
|
51
|
+
{:else}
|
52
|
+
<div bind:this={ref} {...mergedProps}>
|
53
|
+
{@render children?.(progress)}
|
54
|
+
</div>
|
55
|
+
{/if}
|
@@ -1,52 +1,52 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
-
import type {
|
4
|
-
CreateQrCodeProps,
|
5
|
-
CreateQrCodeReturn,
|
6
|
-
} from './create-qr-code.svelte.js';
|
7
|
-
|
8
|
-
export interface QrCodeProps
|
9
|
-
extends Assign<
|
10
|
-
HtmlIngredientProps<'div', HTMLDivElement, CreateQrCodeReturn>,
|
11
|
-
CreateQrCodeProps
|
12
|
-
> {}
|
13
|
-
</script>
|
14
|
-
|
15
|
-
<script lang="ts">
|
16
|
-
import {reflect} from '@zag-js/svelte';
|
17
|
-
import {createSplitProps} from '../create-split-props.js';
|
18
|
-
import {mergeProps} from '../merge-props.js';
|
19
|
-
import {createQRCode} from './create-qr-code.svelte.js';
|
20
|
-
import {setQrCodeContext} from './qr-code-context.svelte.js';
|
21
|
-
|
22
|
-
let {
|
23
|
-
ref = $bindable(null),
|
24
|
-
asChild,
|
25
|
-
children,
|
26
|
-
...props
|
27
|
-
}: QrCodeProps = $props();
|
28
|
-
|
29
|
-
let [createQrCodeProps, localProps] = $derived(
|
30
|
-
createSplitProps<CreateQrCodeProps>([
|
31
|
-
'encoding',
|
32
|
-
'id',
|
33
|
-
'ids',
|
34
|
-
'onValueChange',
|
35
|
-
'value',
|
36
|
-
])(props),
|
37
|
-
);
|
38
|
-
|
39
|
-
let qrCode = createQRCode(reflect(() => createQrCodeProps));
|
40
|
-
|
41
|
-
let mergedProps = $derived(mergeProps(qrCode.getRootProps(), localProps));
|
42
|
-
|
43
|
-
setQrCodeContext(qrCode);
|
44
|
-
</script>
|
45
|
-
|
46
|
-
{#if asChild}
|
47
|
-
{@render asChild(mergedProps, qrCode)}
|
48
|
-
{:else}
|
49
|
-
<div bind:this={ref} {...mergedProps}>
|
50
|
-
{@render children?.(qrCode)}
|
51
|
-
</div>
|
52
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
+
import type {
|
4
|
+
CreateQrCodeProps,
|
5
|
+
CreateQrCodeReturn,
|
6
|
+
} from './create-qr-code.svelte.js';
|
7
|
+
|
8
|
+
export interface QrCodeProps
|
9
|
+
extends Assign<
|
10
|
+
HtmlIngredientProps<'div', HTMLDivElement, CreateQrCodeReturn>,
|
11
|
+
CreateQrCodeProps
|
12
|
+
> {}
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script lang="ts">
|
16
|
+
import {reflect} from '@zag-js/svelte';
|
17
|
+
import {createSplitProps} from '../create-split-props.js';
|
18
|
+
import {mergeProps} from '../merge-props.js';
|
19
|
+
import {createQRCode} from './create-qr-code.svelte.js';
|
20
|
+
import {setQrCodeContext} from './qr-code-context.svelte.js';
|
21
|
+
|
22
|
+
let {
|
23
|
+
ref = $bindable(null),
|
24
|
+
asChild,
|
25
|
+
children,
|
26
|
+
...props
|
27
|
+
}: QrCodeProps = $props();
|
28
|
+
|
29
|
+
let [createQrCodeProps, localProps] = $derived(
|
30
|
+
createSplitProps<CreateQrCodeProps>([
|
31
|
+
'encoding',
|
32
|
+
'id',
|
33
|
+
'ids',
|
34
|
+
'onValueChange',
|
35
|
+
'value',
|
36
|
+
])(props),
|
37
|
+
);
|
38
|
+
|
39
|
+
let qrCode = createQRCode(reflect(() => createQrCodeProps));
|
40
|
+
|
41
|
+
let mergedProps = $derived(mergeProps(qrCode.getRootProps(), localProps));
|
42
|
+
|
43
|
+
setQrCodeContext(qrCode);
|
44
|
+
</script>
|
45
|
+
|
46
|
+
{#if asChild}
|
47
|
+
{@render asChild(mergedProps, qrCode)}
|
48
|
+
{:else}
|
49
|
+
<div bind:this={ref} {...mergedProps}>
|
50
|
+
{@render children?.(qrCode)}
|
51
|
+
</div>
|
52
|
+
{/if}
|
@@ -1,55 +1,55 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
-
import type {
|
4
|
-
CreateRadioGroupProps,
|
5
|
-
CreateRadioGroupReturn,
|
6
|
-
} from './create-radio-group.svelte.js';
|
7
|
-
|
8
|
-
export interface RadioGroupProps
|
9
|
-
extends Assign<
|
10
|
-
HtmlIngredientProps<'div', HTMLDivElement, CreateRadioGroupReturn>,
|
11
|
-
CreateRadioGroupProps
|
12
|
-
> {}
|
13
|
-
</script>
|
14
|
-
|
15
|
-
<script lang="ts">
|
16
|
-
import {reflect} from '@zag-js/svelte';
|
17
|
-
import {createSplitProps} from '../create-split-props.js';
|
18
|
-
import {mergeProps} from '../merge-props.js';
|
19
|
-
import {createRadioGroup} from './create-radio-group.svelte.js';
|
20
|
-
import {setRadioGroupContext} from './radio-group-context.svelte.js';
|
21
|
-
|
22
|
-
let {
|
23
|
-
ref = $bindable(null),
|
24
|
-
asChild,
|
25
|
-
children,
|
26
|
-
...props
|
27
|
-
}: RadioGroupProps = $props();
|
28
|
-
|
29
|
-
let [createRadioGroupProps, localProps] = $derived(
|
30
|
-
createSplitProps<CreateRadioGroupProps>([
|
31
|
-
'disabled',
|
32
|
-
'form',
|
33
|
-
'id',
|
34
|
-
'ids',
|
35
|
-
'name',
|
36
|
-
'onValueChange',
|
37
|
-
'orientation',
|
38
|
-
'readOnly',
|
39
|
-
'value',
|
40
|
-
])(props),
|
41
|
-
);
|
42
|
-
|
43
|
-
let radioGroup = createRadioGroup(reflect(() => createRadioGroupProps));
|
44
|
-
let mergedProps = $derived(mergeProps(radioGroup.getRootProps(), localProps));
|
45
|
-
|
46
|
-
setRadioGroupContext(radioGroup);
|
47
|
-
</script>
|
48
|
-
|
49
|
-
{#if asChild}
|
50
|
-
{@render asChild(mergedProps, radioGroup)}
|
51
|
-
{:else}
|
52
|
-
<div bind:this={ref} {...mergedProps}>
|
53
|
-
{@render children?.(radioGroup)}
|
54
|
-
</div>
|
55
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
+
import type {
|
4
|
+
CreateRadioGroupProps,
|
5
|
+
CreateRadioGroupReturn,
|
6
|
+
} from './create-radio-group.svelte.js';
|
7
|
+
|
8
|
+
export interface RadioGroupProps
|
9
|
+
extends Assign<
|
10
|
+
HtmlIngredientProps<'div', HTMLDivElement, CreateRadioGroupReturn>,
|
11
|
+
CreateRadioGroupProps
|
12
|
+
> {}
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script lang="ts">
|
16
|
+
import {reflect} from '@zag-js/svelte';
|
17
|
+
import {createSplitProps} from '../create-split-props.js';
|
18
|
+
import {mergeProps} from '../merge-props.js';
|
19
|
+
import {createRadioGroup} from './create-radio-group.svelte.js';
|
20
|
+
import {setRadioGroupContext} from './radio-group-context.svelte.js';
|
21
|
+
|
22
|
+
let {
|
23
|
+
ref = $bindable(null),
|
24
|
+
asChild,
|
25
|
+
children,
|
26
|
+
...props
|
27
|
+
}: RadioGroupProps = $props();
|
28
|
+
|
29
|
+
let [createRadioGroupProps, localProps] = $derived(
|
30
|
+
createSplitProps<CreateRadioGroupProps>([
|
31
|
+
'disabled',
|
32
|
+
'form',
|
33
|
+
'id',
|
34
|
+
'ids',
|
35
|
+
'name',
|
36
|
+
'onValueChange',
|
37
|
+
'orientation',
|
38
|
+
'readOnly',
|
39
|
+
'value',
|
40
|
+
])(props),
|
41
|
+
);
|
42
|
+
|
43
|
+
let radioGroup = createRadioGroup(reflect(() => createRadioGroupProps));
|
44
|
+
let mergedProps = $derived(mergeProps(radioGroup.getRootProps(), localProps));
|
45
|
+
|
46
|
+
setRadioGroupContext(radioGroup);
|
47
|
+
</script>
|
48
|
+
|
49
|
+
{#if asChild}
|
50
|
+
{@render asChild(mergedProps, radioGroup)}
|
51
|
+
{:else}
|
52
|
+
<div bind:this={ref} {...mergedProps}>
|
53
|
+
{@render children?.(radioGroup)}
|
54
|
+
</div>
|
55
|
+
{/if}
|
@@ -1,62 +1,62 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
-
import type {
|
4
|
-
CreateRatingGroupProps,
|
5
|
-
CreateRatingGroupReturn,
|
6
|
-
} from './create-rating-group.svelte.js';
|
7
|
-
|
8
|
-
export interface RatingGroupProps
|
9
|
-
extends Assign<
|
10
|
-
HtmlIngredientProps<'div', HTMLDivElement, CreateRatingGroupReturn>,
|
11
|
-
CreateRatingGroupProps
|
12
|
-
> {}
|
13
|
-
</script>
|
14
|
-
|
15
|
-
<script lang="ts">
|
16
|
-
import {reflect} from '@zag-js/svelte';
|
17
|
-
import {createSplitProps} from '../create-split-props.js';
|
18
|
-
import {mergeProps} from '../merge-props.js';
|
19
|
-
import {createRatingGroup} from './create-rating-group.svelte.js';
|
20
|
-
import {setRatingGroupContext} from './rating-group-context.svelte.js';
|
21
|
-
|
22
|
-
let {
|
23
|
-
ref = $bindable(null),
|
24
|
-
asChild,
|
25
|
-
children,
|
26
|
-
...props
|
27
|
-
}: RatingGroupProps = $props();
|
28
|
-
|
29
|
-
let [createRatingGroupProps, localProps] = $derived(
|
30
|
-
createSplitProps<CreateRatingGroupProps>([
|
31
|
-
'allowHalf',
|
32
|
-
'autoFocus',
|
33
|
-
'count',
|
34
|
-
'disabled',
|
35
|
-
'form',
|
36
|
-
'id',
|
37
|
-
'ids',
|
38
|
-
'name',
|
39
|
-
'onHoverChange',
|
40
|
-
'onValueChange',
|
41
|
-
'readOnly',
|
42
|
-
'required',
|
43
|
-
'translations',
|
44
|
-
'value',
|
45
|
-
])(props),
|
46
|
-
);
|
47
|
-
|
48
|
-
let ratingGroup = createRatingGroup(reflect(() => createRatingGroupProps));
|
49
|
-
let mergedProps = $derived(
|
50
|
-
mergeProps(ratingGroup.getRootProps(), localProps),
|
51
|
-
);
|
52
|
-
|
53
|
-
setRatingGroupContext(ratingGroup);
|
54
|
-
</script>
|
55
|
-
|
56
|
-
{#if asChild}
|
57
|
-
{@render asChild(mergedProps, ratingGroup)}
|
58
|
-
{:else}
|
59
|
-
<div bind:this={ref} {...mergedProps}>
|
60
|
-
{@render children?.(ratingGroup)}
|
61
|
-
</div>
|
62
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
+
import type {
|
4
|
+
CreateRatingGroupProps,
|
5
|
+
CreateRatingGroupReturn,
|
6
|
+
} from './create-rating-group.svelte.js';
|
7
|
+
|
8
|
+
export interface RatingGroupProps
|
9
|
+
extends Assign<
|
10
|
+
HtmlIngredientProps<'div', HTMLDivElement, CreateRatingGroupReturn>,
|
11
|
+
CreateRatingGroupProps
|
12
|
+
> {}
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script lang="ts">
|
16
|
+
import {reflect} from '@zag-js/svelte';
|
17
|
+
import {createSplitProps} from '../create-split-props.js';
|
18
|
+
import {mergeProps} from '../merge-props.js';
|
19
|
+
import {createRatingGroup} from './create-rating-group.svelte.js';
|
20
|
+
import {setRatingGroupContext} from './rating-group-context.svelte.js';
|
21
|
+
|
22
|
+
let {
|
23
|
+
ref = $bindable(null),
|
24
|
+
asChild,
|
25
|
+
children,
|
26
|
+
...props
|
27
|
+
}: RatingGroupProps = $props();
|
28
|
+
|
29
|
+
let [createRatingGroupProps, localProps] = $derived(
|
30
|
+
createSplitProps<CreateRatingGroupProps>([
|
31
|
+
'allowHalf',
|
32
|
+
'autoFocus',
|
33
|
+
'count',
|
34
|
+
'disabled',
|
35
|
+
'form',
|
36
|
+
'id',
|
37
|
+
'ids',
|
38
|
+
'name',
|
39
|
+
'onHoverChange',
|
40
|
+
'onValueChange',
|
41
|
+
'readOnly',
|
42
|
+
'required',
|
43
|
+
'translations',
|
44
|
+
'value',
|
45
|
+
])(props),
|
46
|
+
);
|
47
|
+
|
48
|
+
let ratingGroup = createRatingGroup(reflect(() => createRatingGroupProps));
|
49
|
+
let mergedProps = $derived(
|
50
|
+
mergeProps(ratingGroup.getRootProps(), localProps),
|
51
|
+
);
|
52
|
+
|
53
|
+
setRatingGroupContext(ratingGroup);
|
54
|
+
</script>
|
55
|
+
|
56
|
+
{#if asChild}
|
57
|
+
{@render asChild(mergedProps, ratingGroup)}
|
58
|
+
{:else}
|
59
|
+
<div bind:this={ref} {...mergedProps}>
|
60
|
+
{@render children?.(ratingGroup)}
|
61
|
+
</div>
|
62
|
+
{/if}
|
@@ -1,57 +1,57 @@
|
|
1
|
-
<script lang="ts" module>
|
2
|
-
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
-
import type {
|
4
|
-
CreateSegmentGroupProps,
|
5
|
-
CreateSegmentGroupReturn,
|
6
|
-
} from './create-segment-group.svelte.js';
|
7
|
-
|
8
|
-
export interface SegmentGroupProps
|
9
|
-
extends Assign<
|
10
|
-
HtmlIngredientProps<'div', HTMLDivElement, CreateSegmentGroupReturn>,
|
11
|
-
CreateSegmentGroupProps
|
12
|
-
> {}
|
13
|
-
</script>
|
14
|
-
|
15
|
-
<script lang="ts">
|
16
|
-
import {reflect} from '@zag-js/svelte';
|
17
|
-
import {createSplitProps} from '../create-split-props.js';
|
18
|
-
import {mergeProps} from '../merge-props.js';
|
19
|
-
import {createSegmentGroup} from './create-segment-group.svelte.js';
|
20
|
-
import {setSegmentGroupContext} from './segment-group-context.svelte.js';
|
21
|
-
|
22
|
-
let {
|
23
|
-
ref = $bindable(null),
|
24
|
-
asChild,
|
25
|
-
children,
|
26
|
-
...props
|
27
|
-
}: SegmentGroupProps = $props();
|
28
|
-
|
29
|
-
let [createSegmentGroupProps, localProps] = $derived(
|
30
|
-
createSplitProps<CreateSegmentGroupProps>([
|
31
|
-
'disabled',
|
32
|
-
'form',
|
33
|
-
'id',
|
34
|
-
'ids',
|
35
|
-
'name',
|
36
|
-
'onValueChange',
|
37
|
-
'orientation',
|
38
|
-
'readOnly',
|
39
|
-
'value',
|
40
|
-
])(props),
|
41
|
-
);
|
42
|
-
|
43
|
-
let segmentGroup = createSegmentGroup(reflect(() => createSegmentGroupProps));
|
44
|
-
let mergedProps = $derived(
|
45
|
-
mergeProps(segmentGroup.getRootProps(), localProps),
|
46
|
-
);
|
47
|
-
|
48
|
-
setSegmentGroupContext(segmentGroup);
|
49
|
-
</script>
|
50
|
-
|
51
|
-
{#if asChild}
|
52
|
-
{@render asChild(mergedProps, segmentGroup)}
|
53
|
-
{:else}
|
54
|
-
<div bind:this={ref} {...mergedProps}>
|
55
|
-
{@render children?.(segmentGroup)}
|
56
|
-
</div>
|
57
|
-
{/if}
|
1
|
+
<script lang="ts" module>
|
2
|
+
import type {Assign, HtmlIngredientProps} from '../types.js';
|
3
|
+
import type {
|
4
|
+
CreateSegmentGroupProps,
|
5
|
+
CreateSegmentGroupReturn,
|
6
|
+
} from './create-segment-group.svelte.js';
|
7
|
+
|
8
|
+
export interface SegmentGroupProps
|
9
|
+
extends Assign<
|
10
|
+
HtmlIngredientProps<'div', HTMLDivElement, CreateSegmentGroupReturn>,
|
11
|
+
CreateSegmentGroupProps
|
12
|
+
> {}
|
13
|
+
</script>
|
14
|
+
|
15
|
+
<script lang="ts">
|
16
|
+
import {reflect} from '@zag-js/svelte';
|
17
|
+
import {createSplitProps} from '../create-split-props.js';
|
18
|
+
import {mergeProps} from '../merge-props.js';
|
19
|
+
import {createSegmentGroup} from './create-segment-group.svelte.js';
|
20
|
+
import {setSegmentGroupContext} from './segment-group-context.svelte.js';
|
21
|
+
|
22
|
+
let {
|
23
|
+
ref = $bindable(null),
|
24
|
+
asChild,
|
25
|
+
children,
|
26
|
+
...props
|
27
|
+
}: SegmentGroupProps = $props();
|
28
|
+
|
29
|
+
let [createSegmentGroupProps, localProps] = $derived(
|
30
|
+
createSplitProps<CreateSegmentGroupProps>([
|
31
|
+
'disabled',
|
32
|
+
'form',
|
33
|
+
'id',
|
34
|
+
'ids',
|
35
|
+
'name',
|
36
|
+
'onValueChange',
|
37
|
+
'orientation',
|
38
|
+
'readOnly',
|
39
|
+
'value',
|
40
|
+
])(props),
|
41
|
+
);
|
42
|
+
|
43
|
+
let segmentGroup = createSegmentGroup(reflect(() => createSegmentGroupProps));
|
44
|
+
let mergedProps = $derived(
|
45
|
+
mergeProps(segmentGroup.getRootProps(), localProps),
|
46
|
+
);
|
47
|
+
|
48
|
+
setSegmentGroupContext(segmentGroup);
|
49
|
+
</script>
|
50
|
+
|
51
|
+
{#if asChild}
|
52
|
+
{@render asChild(mergedProps, segmentGroup)}
|
53
|
+
{:else}
|
54
|
+
<div bind:this={ref} {...mergedProps}>
|
55
|
+
{@render children?.(segmentGroup)}
|
56
|
+
</div>
|
57
|
+
{/if}
|