ui-ingredients 0.21.0 → 0.21.1

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.
Files changed (59) hide show
  1. package/dist/accordion/accordion-item-content.svelte +55 -55
  2. package/dist/accordion/accordion-root.svelte +66 -66
  3. package/dist/alert-dialog/alert-dialog-backdrop.svelte +49 -49
  4. package/dist/alert-dialog/alert-dialog-root.svelte +48 -48
  5. package/dist/avatar/avatar-root.svelte +46 -46
  6. package/dist/carousel/carousel-root.svelte +56 -56
  7. package/dist/checkbox/checkbox-root.svelte +59 -59
  8. package/dist/clipboard/clipboard-root.svelte +52 -52
  9. package/dist/collapsible/collapsible-root.svelte +75 -75
  10. package/dist/color-picker/color-picker-root.svelte +87 -87
  11. package/dist/combobox/combobox-root.svelte +101 -101
  12. package/dist/combobox/combobox-trigger.svelte +41 -41
  13. package/dist/date-picker/date-picker-root.svelte +89 -89
  14. package/dist/dialog/dialog-backdrop.svelte +45 -45
  15. package/dist/dialog/dialog-root.svelte +48 -48
  16. package/dist/drawer/drawer-backdrop.svelte +45 -45
  17. package/dist/drawer/drawer-root.svelte +48 -48
  18. package/dist/editable/editable-root.svelte +74 -74
  19. package/dist/field/field-error-text.svelte +50 -50
  20. package/dist/field/field-root.svelte +63 -63
  21. package/dist/file-upload/file-upload-root.svelte +66 -66
  22. package/dist/floating-panel/floating-panel-root.svelte +47 -47
  23. package/dist/hover-card/hover-card-root.svelte +52 -52
  24. package/dist/menu/menu-root.svelte +74 -74
  25. package/dist/number-input/number-input-root.svelte +74 -74
  26. package/dist/pagination/pagination-root.svelte +57 -57
  27. package/dist/pin-input/pin-input-root.svelte +68 -68
  28. package/dist/popover/popover-root.svelte +60 -60
  29. package/dist/presence/presence.svelte +48 -48
  30. package/dist/progress/progress-root.svelte +54 -54
  31. package/dist/qr-code/qr-code-root.svelte +48 -48
  32. package/dist/radio-group/radio-group-root.svelte +56 -56
  33. package/dist/rating-group/rating-group-root.svelte +63 -63
  34. package/dist/segment-group/segment-group-root.svelte +58 -58
  35. package/dist/select/select-root.svelte +88 -88
  36. package/dist/signature-pad/signature-pad-root.svelte +59 -59
  37. package/dist/slider/slider-root.svelte +69 -69
  38. package/dist/splitter/splitter-root.svelte +53 -53
  39. package/dist/steps/steps-completed-content.svelte +51 -51
  40. package/dist/steps/steps-content.svelte +55 -55
  41. package/dist/steps/steps-root.svelte +65 -65
  42. package/dist/switch/switch-root.svelte +59 -59
  43. package/dist/tabs/tabs-root.svelte +57 -57
  44. package/dist/tags-input/tags-input-root.svelte +74 -74
  45. package/dist/time-picker/time-picker-root.svelte +81 -81
  46. package/dist/timer/timer-root.svelte +55 -55
  47. package/dist/toast/create-toaster.svelte.d.ts +1 -1
  48. package/dist/toast/toast-actor.svelte +19 -19
  49. package/dist/toast/toast-actor.svelte.d.ts +3 -3
  50. package/dist/toast/toaster.svelte +19 -21
  51. package/dist/toast/toaster.svelte.d.ts +1 -1
  52. package/dist/toggle/toggle-root.svelte +50 -50
  53. package/dist/toggle-group/toggle-group-root.svelte +58 -58
  54. package/dist/tooltip/tooltip-root.svelte +44 -44
  55. package/dist/tour/tour-backdrop.svelte +44 -44
  56. package/dist/tour/tour-root.svelte +47 -47
  57. package/dist/tree-view/tree-view-branch-content.svelte +55 -55
  58. package/dist/tree-view/tree-view-root.svelte +68 -68
  59. package/package.json +5 -5
@@ -1,57 +1,57 @@
1
- <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
3
- import type {
4
- CreatePaginationProps,
5
- CreatePaginationReturn,
6
- } from './create-pagination.svelte.js';
7
-
8
- export interface PaginationProps
9
- extends Assign<
10
- HtmlIngredientProps<'div', HTMLDivElement, CreatePaginationReturn>,
11
- CreatePaginationProps
12
- > {}
13
- </script>
14
-
15
- <script lang="ts">
16
- import {mergeProps} from '../merge-props.js';
17
- import {reflect} from '@zag-js/svelte';
18
- import {createSplitProps} from '@zag-js/utils';
19
- import {createPagination} from './create-pagination.svelte.js';
20
- import {setPaginationContext} from './pagination-context.svelte.js';
21
-
22
- let {
23
- ref = $bindable(null),
24
- asChild,
25
- children,
26
- ...props
27
- }: PaginationProps = $props();
28
-
29
- let [createPaginationProps, localProps] = $derived(
30
- createSplitProps<CreatePaginationProps>([
31
- 'id',
32
- 'ids',
33
- 'type',
34
- 'page',
35
- 'pageSize',
36
- 'count',
37
- 'siblingCount',
38
- 'translations',
39
- 'onPageChange',
40
- 'onPageSizeChange',
41
- ])(props),
42
- );
43
-
44
- let pagination = createPagination(reflect(() => createPaginationProps));
45
-
46
- let mergedProps = $derived(mergeProps(pagination.getRootProps(), localProps));
47
-
48
- setPaginationContext(pagination);
49
- </script>
50
-
51
- {#if asChild}
52
- {@render asChild(mergedProps, pagination)}
53
- {:else}
54
- <div bind:this={ref} {...mergedProps}>
55
- {@render children?.(pagination)}
56
- </div>
57
- {/if}
1
+ <script lang="ts" module>
2
+ import type {Assign, HtmlIngredientProps} from '../types.js';
3
+ import type {
4
+ CreatePaginationProps,
5
+ CreatePaginationReturn,
6
+ } from './create-pagination.svelte.js';
7
+
8
+ export interface PaginationProps
9
+ extends Assign<
10
+ HtmlIngredientProps<'div', HTMLDivElement, CreatePaginationReturn>,
11
+ CreatePaginationProps
12
+ > {}
13
+ </script>
14
+
15
+ <script lang="ts">
16
+ import {mergeProps} from '../merge-props.js';
17
+ import {reflect} from '@zag-js/svelte';
18
+ import {createSplitProps} from '@zag-js/utils';
19
+ import {createPagination} from './create-pagination.svelte.js';
20
+ import {setPaginationContext} from './pagination-context.svelte.js';
21
+
22
+ let {
23
+ ref = $bindable(null),
24
+ asChild,
25
+ children,
26
+ ...props
27
+ }: PaginationProps = $props();
28
+
29
+ let [createPaginationProps, localProps] = $derived(
30
+ createSplitProps<CreatePaginationProps>([
31
+ 'id',
32
+ 'ids',
33
+ 'type',
34
+ 'page',
35
+ 'pageSize',
36
+ 'count',
37
+ 'siblingCount',
38
+ 'translations',
39
+ 'onPageChange',
40
+ 'onPageSizeChange',
41
+ ])(props),
42
+ );
43
+
44
+ let pagination = createPagination(reflect(() => createPaginationProps));
45
+
46
+ let mergedProps = $derived(mergeProps(pagination.getRootProps(), localProps));
47
+
48
+ setPaginationContext(pagination);
49
+ </script>
50
+
51
+ {#if asChild}
52
+ {@render asChild(mergedProps, pagination)}
53
+ {:else}
54
+ <div bind:this={ref} {...mergedProps}>
55
+ {@render children?.(pagination)}
56
+ </div>
57
+ {/if}
@@ -1,68 +1,68 @@
1
- <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
3
- import type {
4
- CreatePinInputProps,
5
- CreatePinInputReturn,
6
- } from './create-pin-input.svelte.js';
7
-
8
- export interface PinInputProps
9
- extends Assign<
10
- HtmlIngredientProps<'div', HTMLDivElement, CreatePinInputReturn>,
11
- CreatePinInputProps
12
- > {}
13
- </script>
14
-
15
- <script lang="ts">
16
- import {mergeProps} from '../merge-props.js';
17
- import {reflect} from '@zag-js/svelte';
18
- import {createSplitProps} from '@zag-js/utils';
19
- import {createPinInputContext} from './create-pin-input.svelte.js';
20
- import {setPinInputContext} from './pin-input-context.svelte.js';
21
-
22
- let {
23
- ref = $bindable(null),
24
- asChild,
25
- children,
26
- ...props
27
- }: PinInputProps = $props();
28
-
29
- let [createPinInputProps, localProps] = $derived(
30
- createSplitProps<CreatePinInputProps>([
31
- 'id',
32
- 'ids',
33
- 'otp',
34
- 'form',
35
- 'mask',
36
- 'name',
37
- 'type',
38
- 'value',
39
- 'pattern',
40
- 'invalid',
41
- 'disabled',
42
- 'readOnly',
43
- 'required',
44
- 'autoFocus',
45
- 'placeholder',
46
- 'translations',
47
- 'selectOnFocus',
48
- 'blurOnComplete',
49
- 'onValueChange',
50
- 'onValueInvalid',
51
- 'onValueComplete',
52
- ])(props),
53
- );
54
-
55
- let pinInput = createPinInputContext(reflect(() => createPinInputProps));
56
-
57
- let mergedProps = $derived(mergeProps(pinInput.getRootProps(), localProps));
58
-
59
- setPinInputContext(pinInput);
60
- </script>
61
-
62
- {#if asChild}
63
- {@render asChild(mergedProps, pinInput)}
64
- {:else}
65
- <div bind:this={ref} {...mergedProps}>
66
- {@render children?.(pinInput)}
67
- </div>
68
- {/if}
1
+ <script lang="ts" module>
2
+ import type {Assign, HtmlIngredientProps} from '../types.js';
3
+ import type {
4
+ CreatePinInputProps,
5
+ CreatePinInputReturn,
6
+ } from './create-pin-input.svelte.js';
7
+
8
+ export interface PinInputProps
9
+ extends Assign<
10
+ HtmlIngredientProps<'div', HTMLDivElement, CreatePinInputReturn>,
11
+ CreatePinInputProps
12
+ > {}
13
+ </script>
14
+
15
+ <script lang="ts">
16
+ import {mergeProps} from '../merge-props.js';
17
+ import {reflect} from '@zag-js/svelte';
18
+ import {createSplitProps} from '@zag-js/utils';
19
+ import {createPinInputContext} from './create-pin-input.svelte.js';
20
+ import {setPinInputContext} from './pin-input-context.svelte.js';
21
+
22
+ let {
23
+ ref = $bindable(null),
24
+ asChild,
25
+ children,
26
+ ...props
27
+ }: PinInputProps = $props();
28
+
29
+ let [createPinInputProps, localProps] = $derived(
30
+ createSplitProps<CreatePinInputProps>([
31
+ 'id',
32
+ 'ids',
33
+ 'otp',
34
+ 'form',
35
+ 'mask',
36
+ 'name',
37
+ 'type',
38
+ 'value',
39
+ 'pattern',
40
+ 'invalid',
41
+ 'disabled',
42
+ 'readOnly',
43
+ 'required',
44
+ 'autoFocus',
45
+ 'placeholder',
46
+ 'translations',
47
+ 'selectOnFocus',
48
+ 'blurOnComplete',
49
+ 'onValueChange',
50
+ 'onValueInvalid',
51
+ 'onValueComplete',
52
+ ])(props),
53
+ );
54
+
55
+ let pinInput = createPinInputContext(reflect(() => createPinInputProps));
56
+
57
+ let mergedProps = $derived(mergeProps(pinInput.getRootProps(), localProps));
58
+
59
+ setPinInputContext(pinInput);
60
+ </script>
61
+
62
+ {#if asChild}
63
+ {@render asChild(mergedProps, pinInput)}
64
+ {:else}
65
+ <div bind:this={ref} {...mergedProps}>
66
+ {@render children?.(pinInput)}
67
+ </div>
68
+ {/if}
@@ -1,60 +1,60 @@
1
- <script lang="ts" module>
2
- import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
3
- import type {Snippet} from 'svelte';
4
- import type {
5
- CreatePopoverProps,
6
- CreatePopoverReturn,
7
- } from './create-popover.svelte.js';
8
-
9
- export interface PopoverProps
10
- extends CreatePopoverProps,
11
- PresenceStrategyProps {
12
- children?: Snippet<[CreatePopoverReturn]>;
13
- }
14
- </script>
15
-
16
- <script lang="ts">
17
- import {createPresence} from '../presence/create-presence.svelte.js';
18
- import {setPresenceContext} from '../presence/presence-context.svelte.js';
19
- import {reflect} from '@zag-js/svelte';
20
- import {createSplitProps} from '@zag-js/utils';
21
- import {createPopover} from './create-popover.svelte.js';
22
- import {setPopoverContext} from './popover-context.svelte.js';
23
-
24
- let {children, ...props}: PopoverProps = $props();
25
-
26
- let [createPopoverProps, presenceStrategyProps] = $derived(
27
- createSplitProps<CreatePopoverProps>([
28
- 'id',
29
- 'ids',
30
- 'open',
31
- 'openControlled',
32
- 'modal',
33
- 'autoFocus',
34
- 'portalled',
35
- 'positioning',
36
- 'closeOnEscape',
37
- 'initialFocusEl',
38
- 'persistentElements',
39
- 'closeOnInteractOutside',
40
- 'onOpenChange',
41
- 'onFocusOutside',
42
- 'onEscapeKeyDown',
43
- 'onInteractOutside',
44
- 'onPointerDownOutside',
45
- ])(props),
46
- );
47
-
48
- let popover = createPopover(reflect(() => createPopoverProps));
49
- let presence = createPresence(
50
- reflect(() => ({
51
- ...presenceStrategyProps,
52
- present: popover.open,
53
- })),
54
- );
55
-
56
- setPopoverContext(popover);
57
- setPresenceContext(presence);
58
- </script>
59
-
60
- {@render children?.(popover)}
1
+ <script lang="ts" module>
2
+ import type {PresenceStrategyProps} from '../presence/create-presence.svelte.js';
3
+ import type {Snippet} from 'svelte';
4
+ import type {
5
+ CreatePopoverProps,
6
+ CreatePopoverReturn,
7
+ } from './create-popover.svelte.js';
8
+
9
+ export interface PopoverProps
10
+ extends CreatePopoverProps,
11
+ PresenceStrategyProps {
12
+ children?: Snippet<[CreatePopoverReturn]>;
13
+ }
14
+ </script>
15
+
16
+ <script lang="ts">
17
+ import {createPresence} from '../presence/create-presence.svelte.js';
18
+ import {setPresenceContext} from '../presence/presence-context.svelte.js';
19
+ import {reflect} from '@zag-js/svelte';
20
+ import {createSplitProps} from '@zag-js/utils';
21
+ import {createPopover} from './create-popover.svelte.js';
22
+ import {setPopoverContext} from './popover-context.svelte.js';
23
+
24
+ let {children, ...props}: PopoverProps = $props();
25
+
26
+ let [createPopoverProps, presenceStrategyProps] = $derived(
27
+ createSplitProps<CreatePopoverProps>([
28
+ 'id',
29
+ 'ids',
30
+ 'open',
31
+ 'openControlled',
32
+ 'modal',
33
+ 'autoFocus',
34
+ 'portalled',
35
+ 'positioning',
36
+ 'closeOnEscape',
37
+ 'initialFocusEl',
38
+ 'persistentElements',
39
+ 'closeOnInteractOutside',
40
+ 'onOpenChange',
41
+ 'onFocusOutside',
42
+ 'onEscapeKeyDown',
43
+ 'onInteractOutside',
44
+ 'onPointerDownOutside',
45
+ ])(props),
46
+ );
47
+
48
+ let popover = createPopover(reflect(() => createPopoverProps));
49
+ let presence = createPresence(
50
+ reflect(() => ({
51
+ ...presenceStrategyProps,
52
+ present: popover.open,
53
+ })),
54
+ );
55
+
56
+ setPopoverContext(popover);
57
+ setPresenceContext(presence);
58
+ </script>
59
+
60
+ {@render children?.(popover)}
@@ -1,48 +1,48 @@
1
- <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
3
- import type {CreatePresenceProps} from './create-presence.svelte.js';
4
-
5
- export interface PresenceProps
6
- extends Assign<
7
- HtmlIngredientProps<'div', HTMLDivElement, never, Action>,
8
- CreatePresenceProps
9
- > {}
10
- </script>
11
-
12
- <script lang="ts">
13
- import {mergeProps} from '../merge-props.js';
14
- import {reflect} from '@zag-js/svelte';
15
- import {createSplitProps} from '@zag-js/utils';
16
- import type {Action} from 'svelte/action';
17
- import type {HTMLAttributes} from 'svelte/elements';
18
- import {createPresence} from './create-presence.svelte.js';
19
-
20
- let {asChild, children, ...props}: PresenceProps = $props();
21
-
22
- let [createPresenceProps, localProps] = $derived(
23
- createSplitProps<CreatePresenceProps>([
24
- 'present',
25
- 'lazyMount',
26
- 'keepMounted',
27
- ])(props),
28
- );
29
-
30
- let presence = createPresence(reflect(() => createPresenceProps));
31
-
32
- let mergedProps = $derived(
33
- mergeProps<HTMLAttributes<HTMLDivElement>>(
34
- presence.getPresenceProps(),
35
- localProps,
36
- ),
37
- );
38
- </script>
39
-
40
- {#if presence.mounted}
41
- {#if asChild}
42
- {@render asChild(presence.setReference, mergedProps)}
43
- {:else}
44
- <div use:presence.setReference {...mergedProps}>
45
- {@render children?.()}
46
- </div>
47
- {/if}
48
- {/if}
1
+ <script lang="ts" module>
2
+ import type {Assign, HtmlIngredientProps} from '../types.js';
3
+ import type {CreatePresenceProps} from './create-presence.svelte.js';
4
+
5
+ export interface PresenceProps
6
+ extends Assign<
7
+ HtmlIngredientProps<'div', HTMLDivElement, never, Action>,
8
+ CreatePresenceProps
9
+ > {}
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ import {mergeProps} from '../merge-props.js';
14
+ import {reflect} from '@zag-js/svelte';
15
+ import {createSplitProps} from '@zag-js/utils';
16
+ import type {Action} from 'svelte/action';
17
+ import type {HTMLAttributes} from 'svelte/elements';
18
+ import {createPresence} from './create-presence.svelte.js';
19
+
20
+ let {asChild, children, ...props}: PresenceProps = $props();
21
+
22
+ let [createPresenceProps, localProps] = $derived(
23
+ createSplitProps<CreatePresenceProps>([
24
+ 'present',
25
+ 'lazyMount',
26
+ 'keepMounted',
27
+ ])(props),
28
+ );
29
+
30
+ let presence = createPresence(reflect(() => createPresenceProps));
31
+
32
+ let mergedProps = $derived(
33
+ mergeProps<HTMLAttributes<HTMLDivElement>>(
34
+ presence.getPresenceProps(),
35
+ localProps,
36
+ ),
37
+ );
38
+ </script>
39
+
40
+ {#if presence.mounted}
41
+ {#if asChild}
42
+ {@render asChild(presence.setReference, mergedProps)}
43
+ {:else}
44
+ <div use:presence.setReference {...mergedProps}>
45
+ {@render children?.()}
46
+ </div>
47
+ {/if}
48
+ {/if}
@@ -1,54 +1,54 @@
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 {mergeProps} from '../merge-props.js';
17
- import {reflect} from '@zag-js/svelte';
18
- import {createSplitProps} from '@zag-js/utils';
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
- 'value',
36
- 'orientation',
37
- 'translations',
38
- ])(props),
39
- );
40
-
41
- let progress = createProgress(reflect(() => createProgressProps));
42
-
43
- let mergedProps = $derived(mergeProps(progress.getRootProps(), localProps));
44
-
45
- setProgressContext(progress);
46
- </script>
47
-
48
- {#if asChild}
49
- {@render asChild(mergedProps, progress)}
50
- {:else}
51
- <div bind:this={ref} {...mergedProps}>
52
- {@render children?.(progress)}
53
- </div>
54
- {/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 {mergeProps} from '../merge-props.js';
17
+ import {reflect} from '@zag-js/svelte';
18
+ import {createSplitProps} from '@zag-js/utils';
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
+ 'value',
36
+ 'orientation',
37
+ 'translations',
38
+ ])(props),
39
+ );
40
+
41
+ let progress = createProgress(reflect(() => createProgressProps));
42
+
43
+ let mergedProps = $derived(mergeProps(progress.getRootProps(), localProps));
44
+
45
+ setProgressContext(progress);
46
+ </script>
47
+
48
+ {#if asChild}
49
+ {@render asChild(mergedProps, progress)}
50
+ {:else}
51
+ <div bind:this={ref} {...mergedProps}>
52
+ {@render children?.(progress)}
53
+ </div>
54
+ {/if}
@@ -1,48 +1,48 @@
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 {mergeProps} from '../merge-props.js';
17
- import {reflect} from '@zag-js/svelte';
18
- import {createSplitProps} from '@zag-js/utils';
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>(['id', 'ids', 'value', 'encoding'])(
31
- props,
32
- ),
33
- );
34
-
35
- let qrCode = createQRCode(reflect(() => createQrCodeProps));
36
-
37
- let mergedProps = $derived(mergeProps(qrCode.getRootProps(), localProps));
38
-
39
- setQrCodeContext(qrCode);
40
- </script>
41
-
42
- {#if asChild}
43
- {@render asChild(mergedProps, qrCode)}
44
- {:else}
45
- <div bind:this={ref} {...mergedProps}>
46
- {@render children?.(qrCode)}
47
- </div>
48
- {/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 {mergeProps} from '../merge-props.js';
17
+ import {reflect} from '@zag-js/svelte';
18
+ import {createSplitProps} from '@zag-js/utils';
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>(['id', 'ids', 'value', 'encoding'])(
31
+ props,
32
+ ),
33
+ );
34
+
35
+ let qrCode = createQRCode(reflect(() => createQrCodeProps));
36
+
37
+ let mergedProps = $derived(mergeProps(qrCode.getRootProps(), localProps));
38
+
39
+ setQrCodeContext(qrCode);
40
+ </script>
41
+
42
+ {#if asChild}
43
+ {@render asChild(mergedProps, qrCode)}
44
+ {:else}
45
+ <div bind:this={ref} {...mergedProps}>
46
+ {@render children?.(qrCode)}
47
+ </div>
48
+ {/if}