ui-ingredients 0.20.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 (62) 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 -37
  40. package/dist/steps/steps-completed-content.svelte.d.ts +2 -1
  41. package/dist/steps/steps-content.svelte +55 -32
  42. package/dist/steps/steps-content.svelte.d.ts +2 -1
  43. package/dist/steps/steps-root.svelte +65 -55
  44. package/dist/steps/steps-root.svelte.d.ts +2 -1
  45. package/dist/switch/switch-root.svelte +59 -59
  46. package/dist/tabs/tabs-root.svelte +57 -57
  47. package/dist/tags-input/tags-input-root.svelte +74 -74
  48. package/dist/time-picker/time-picker-root.svelte +81 -81
  49. package/dist/timer/timer-root.svelte +55 -55
  50. package/dist/toast/create-toaster.svelte.d.ts +1 -1
  51. package/dist/toast/toast-actor.svelte +19 -19
  52. package/dist/toast/toast-actor.svelte.d.ts +3 -3
  53. package/dist/toast/toaster.svelte +19 -21
  54. package/dist/toast/toaster.svelte.d.ts +1 -1
  55. package/dist/toggle/toggle-root.svelte +50 -50
  56. package/dist/toggle-group/toggle-group-root.svelte +58 -58
  57. package/dist/tooltip/tooltip-root.svelte +44 -44
  58. package/dist/tour/tour-backdrop.svelte +44 -44
  59. package/dist/tour/tour-root.svelte +47 -47
  60. package/dist/tree-view/tree-view-branch-content.svelte +55 -55
  61. package/dist/tree-view/tree-view-root.svelte +68 -68
  62. package/package.json +5 -5
@@ -1,19 +1,19 @@
1
- <script lang="ts">
2
- import * as toast$ from '@zag-js/toast';
3
- import type {Snippet} from 'svelte';
4
- import {createToast, type CreateToastReturn} from './create-toast.svelte.js';
5
- import {setToastContext} from './toast-context.svelte.js';
6
-
7
- interface Props {
8
- actor: toast$.Service;
9
- children: Snippet<[toast: CreateToastReturn]>;
10
- }
11
-
12
- let {actor, children}: Props = $props();
13
-
14
- let toast = createToast(actor);
15
-
16
- setToastContext(toast);
17
- </script>
18
-
19
- {@render children(toast)}
1
+ <script lang="ts">
2
+ import type {Service} from '@zag-js/toast';
3
+ import type {Snippet} from 'svelte';
4
+ import {createToast, type CreateToastReturn} from './create-toast.svelte.js';
5
+ import {setToastContext} from './toast-context.svelte.js';
6
+
7
+ interface Props {
8
+ actor: Service;
9
+ children?: Snippet<[toast: CreateToastReturn]>;
10
+ }
11
+
12
+ let {actor, children}: Props = $props();
13
+
14
+ let toast = createToast(actor);
15
+
16
+ setToastContext(toast);
17
+ </script>
18
+
19
+ {@render children?.(toast)}
@@ -1,4 +1,4 @@
1
- import * as toast$ from '@zag-js/toast';
1
+ import type { Service } from '@zag-js/toast';
2
2
  import type { Snippet } from 'svelte';
3
3
  import { type CreateToastReturn } from './create-toast.svelte.js';
4
4
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
@@ -15,8 +15,8 @@ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> =
15
15
  z_$$bindings?: Bindings;
16
16
  }
17
17
  declare const ToastActor: $$__sveltets_2_IsomorphicComponent<{
18
- actor: toast$.Service;
19
- children: Snippet<[toast: CreateToastReturn]>;
18
+ actor: Service;
19
+ children?: Snippet<[toast: CreateToastReturn]>;
20
20
  }, {
21
21
  [evt: string]: CustomEvent<any>;
22
22
  }, {}, {}, "">;
@@ -4,7 +4,10 @@
4
4
  import type {CreateToasterReturn} from './create-toaster.svelte.js';
5
5
 
6
6
  export interface ToasterProps
7
- extends HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn> {
7
+ extends Omit<
8
+ HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn>,
9
+ 'asChild'
10
+ > {
8
11
  toaster: CreateToasterReturn;
9
12
  }
10
13
  </script>
@@ -13,8 +16,7 @@
13
16
  import {getEnvironmentContext} from '../environment-provider/enviroment-provider-context.svelte.js';
14
17
  import {getLocaleContext} from '../locale-provider/local-provider-context.svelte.js';
15
18
  import {mergeProps} from '../merge-props.js';
16
- import {Portal} from '../portal/index.js';
17
- import {normalizeProps, useMachine} from '@zag-js/svelte';
19
+ import {normalizeProps, portal, useMachine} from '@zag-js/svelte';
18
20
  import * as toast from '@zag-js/toast';
19
21
  import type {HTMLAttributes} from 'svelte/elements';
20
22
  import ToastActor from './toast-actor.svelte';
@@ -22,22 +24,24 @@
22
24
  let {
23
25
  ref = $bindable(null),
24
26
  toaster,
25
- children: children_,
27
+ children,
26
28
  ...props
27
29
  }: ToasterProps = $props();
28
30
 
29
- const locale = getLocaleContext();
30
- const environment = getEnvironmentContext();
31
+ let locale = getLocaleContext();
32
+ let environment = getEnvironmentContext();
31
33
 
32
- let [snapshot, send] = useMachine(toaster.machine, {
34
+ let [state, send] = useMachine(toaster.machine, {
33
35
  context: {
34
- dir: locale?.dir,
36
+ get dir() {
37
+ return locale?.dir;
38
+ },
35
39
  getRootNode: environment?.getRootNode,
36
40
  },
37
41
  });
38
42
 
39
- let placement = $derived(snapshot.context.placement);
40
- let api = $derived(toast.group.connect(snapshot, send, normalizeProps));
43
+ let placement = $derived(state.context.placement);
44
+ let api = $derived(toast.group.connect(state, send, normalizeProps));
41
45
  let toasts = $derived(api.getToastsByPlacement(placement));
42
46
  let mergedProps = $derived(
43
47
  mergeProps<HTMLAttributes<HTMLDivElement>>(
@@ -47,14 +51,8 @@
47
51
  );
48
52
  </script>
49
53
 
50
- <Portal>
51
- <div bind:this={ref} {...mergedProps}>
52
- {#each toasts as toast (toast.id)}
53
- <ToastActor actor={toast}>
54
- {#snippet children(ctx)}
55
- {@render children_?.(ctx)}
56
- {/snippet}
57
- </ToastActor>
58
- {/each}
59
- </div>
60
- </Portal>
54
+ <div bind:this={ref} use:portal {...mergedProps}>
55
+ {#each toasts as toast (toast.id)}
56
+ <ToastActor actor={toast} {children} />
57
+ {/each}
58
+ </div>
@@ -1,7 +1,7 @@
1
1
  import type { HtmlIngredientProps } from '../types.js';
2
2
  import type { CreateToastReturn } from './create-toast.svelte.js';
3
3
  import type { CreateToasterReturn } from './create-toaster.svelte.js';
4
- export interface ToasterProps extends HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn> {
4
+ export interface ToasterProps extends Omit<HtmlIngredientProps<'div', HTMLDivElement, CreateToastReturn>, 'asChild'> {
5
5
  toaster: CreateToasterReturn;
6
6
  }
7
7
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
@@ -1,50 +1,50 @@
1
- <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
3
- import type {
4
- CreateToggleProps,
5
- CreateToggleReturn,
6
- } from './create-toggle.svelte.js';
7
-
8
- export interface ToggleProps
9
- extends Assign<
10
- HtmlIngredientProps<'button', HTMLButtonElement, CreateToggleReturn>,
11
- CreateToggleProps
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 {createToggle} from './create-toggle.svelte.js';
20
- import {setToggleContext} from './toggle-context.svelte.js';
21
-
22
- let {
23
- ref = $bindable(null),
24
- asChild,
25
- children,
26
- ...props
27
- }: ToggleProps = $props();
28
-
29
- let [createToggleProps, localProps] = $derived(
30
- createSplitProps<CreateToggleProps>([
31
- 'disabled',
32
- 'pressed',
33
- 'onPressedChange',
34
- ])(props),
35
- );
36
-
37
- let toggle = createToggle(reflect(() => createToggleProps));
38
-
39
- let mergedProps = $derived(mergeProps(toggle.getRootProps(), localProps));
40
-
41
- setToggleContext(toggle);
42
- </script>
43
-
44
- {#if asChild}
45
- {@render asChild(mergedProps, toggle)}
46
- {:else}
47
- <button bind:this={ref} {...mergedProps}>
48
- {@render children?.(toggle)}
49
- </button>
50
- {/if}
1
+ <script lang="ts" module>
2
+ import type {Assign, HtmlIngredientProps} from '../types.js';
3
+ import type {
4
+ CreateToggleProps,
5
+ CreateToggleReturn,
6
+ } from './create-toggle.svelte.js';
7
+
8
+ export interface ToggleProps
9
+ extends Assign<
10
+ HtmlIngredientProps<'button', HTMLButtonElement, CreateToggleReturn>,
11
+ CreateToggleProps
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 {createToggle} from './create-toggle.svelte.js';
20
+ import {setToggleContext} from './toggle-context.svelte.js';
21
+
22
+ let {
23
+ ref = $bindable(null),
24
+ asChild,
25
+ children,
26
+ ...props
27
+ }: ToggleProps = $props();
28
+
29
+ let [createToggleProps, localProps] = $derived(
30
+ createSplitProps<CreateToggleProps>([
31
+ 'disabled',
32
+ 'pressed',
33
+ 'onPressedChange',
34
+ ])(props),
35
+ );
36
+
37
+ let toggle = createToggle(reflect(() => createToggleProps));
38
+
39
+ let mergedProps = $derived(mergeProps(toggle.getRootProps(), localProps));
40
+
41
+ setToggleContext(toggle);
42
+ </script>
43
+
44
+ {#if asChild}
45
+ {@render asChild(mergedProps, toggle)}
46
+ {:else}
47
+ <button bind:this={ref} {...mergedProps}>
48
+ {@render children?.(toggle)}
49
+ </button>
50
+ {/if}
@@ -1,58 +1,58 @@
1
- <script lang="ts" module>
2
- import type {Assign, HtmlIngredientProps} from '../types.js';
3
- import type {
4
- CreateToggleGroupProps,
5
- CreateToggleGroupReturn,
6
- } from './create-toggle-group.svelte.js';
7
-
8
- export interface ToggleGroupProps
9
- extends Assign<
10
- HtmlIngredientProps<'div', HTMLDivElement, CreateToggleGroupReturn>,
11
- CreateToggleGroupProps
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 {createToggleGroup} from './create-toggle-group.svelte.js';
20
- import {setToggleGroupContext} from './toggle-group-context.svelte.js';
21
-
22
- let {
23
- ref = $bindable(null),
24
- asChild,
25
- children,
26
- ...props
27
- }: ToggleGroupProps = $props();
28
-
29
- let [createToggleGroupProps, localProps] = $derived(
30
- createSplitProps<CreateToggleGroupProps>([
31
- 'id',
32
- 'ids',
33
- 'value',
34
- 'disabled',
35
- 'multiple',
36
- 'loopFocus',
37
- 'rovingFocus',
38
- 'orientation',
39
- 'onValueChange',
40
- ])(props),
41
- );
42
-
43
- let toggleGroup = createToggleGroup(reflect(() => createToggleGroupProps));
44
-
45
- let mergedProps = $derived(
46
- mergeProps(toggleGroup.getRootProps(), localProps),
47
- );
48
-
49
- setToggleGroupContext(toggleGroup);
50
- </script>
51
-
52
- {#if asChild}
53
- {@render asChild(mergedProps, toggleGroup)}
54
- {:else}
55
- <div bind:this={ref} {...mergedProps}>
56
- {@render children?.(toggleGroup)}
57
- </div>
58
- {/if}
1
+ <script lang="ts" module>
2
+ import type {Assign, HtmlIngredientProps} from '../types.js';
3
+ import type {
4
+ CreateToggleGroupProps,
5
+ CreateToggleGroupReturn,
6
+ } from './create-toggle-group.svelte.js';
7
+
8
+ export interface ToggleGroupProps
9
+ extends Assign<
10
+ HtmlIngredientProps<'div', HTMLDivElement, CreateToggleGroupReturn>,
11
+ CreateToggleGroupProps
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 {createToggleGroup} from './create-toggle-group.svelte.js';
20
+ import {setToggleGroupContext} from './toggle-group-context.svelte.js';
21
+
22
+ let {
23
+ ref = $bindable(null),
24
+ asChild,
25
+ children,
26
+ ...props
27
+ }: ToggleGroupProps = $props();
28
+
29
+ let [createToggleGroupProps, localProps] = $derived(
30
+ createSplitProps<CreateToggleGroupProps>([
31
+ 'id',
32
+ 'ids',
33
+ 'value',
34
+ 'disabled',
35
+ 'multiple',
36
+ 'loopFocus',
37
+ 'rovingFocus',
38
+ 'orientation',
39
+ 'onValueChange',
40
+ ])(props),
41
+ );
42
+
43
+ let toggleGroup = createToggleGroup(reflect(() => createToggleGroupProps));
44
+
45
+ let mergedProps = $derived(
46
+ mergeProps(toggleGroup.getRootProps(), localProps),
47
+ );
48
+
49
+ setToggleGroupContext(toggleGroup);
50
+ </script>
51
+
52
+ {#if asChild}
53
+ {@render asChild(mergedProps, toggleGroup)}
54
+ {:else}
55
+ <div bind:this={ref} {...mergedProps}>
56
+ {@render children?.(toggleGroup)}
57
+ </div>
58
+ {/if}
@@ -1,44 +1,44 @@
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
- CreateTooltipProps,
6
- CreateTooltipReturn,
7
- } from './create-tooltip.svelte.js';
8
-
9
- export interface TooltipProps
10
- extends CreateTooltipProps,
11
- PresenceStrategyProps {
12
- children?: Snippet<[CreateTooltipReturn]>;
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 {createTooltip} from './create-tooltip.svelte.js';
22
- import {setTooltipContext} from './tooltip-context.svelte.js';
23
-
24
- let {children, ...props}: TooltipProps = $props();
25
-
26
- let [presenceStrategyProps, createTooltipProps] = $derived(
27
- createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
28
- props,
29
- ),
30
- );
31
-
32
- let tooltip = createTooltip(reflect(() => createTooltipProps));
33
- let presence = createPresence(
34
- reflect(() => ({
35
- ...presenceStrategyProps,
36
- present: tooltip.open,
37
- })),
38
- );
39
-
40
- setTooltipContext(tooltip);
41
- setPresenceContext(presence);
42
- </script>
43
-
44
- {@render children?.(tooltip)}
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
+ CreateTooltipProps,
6
+ CreateTooltipReturn,
7
+ } from './create-tooltip.svelte.js';
8
+
9
+ export interface TooltipProps
10
+ extends CreateTooltipProps,
11
+ PresenceStrategyProps {
12
+ children?: Snippet<[CreateTooltipReturn]>;
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 {createTooltip} from './create-tooltip.svelte.js';
22
+ import {setTooltipContext} from './tooltip-context.svelte.js';
23
+
24
+ let {children, ...props}: TooltipProps = $props();
25
+
26
+ let [presenceStrategyProps, createTooltipProps] = $derived(
27
+ createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
28
+ props,
29
+ ),
30
+ );
31
+
32
+ let tooltip = createTooltip(reflect(() => createTooltipProps));
33
+ let presence = createPresence(
34
+ reflect(() => ({
35
+ ...presenceStrategyProps,
36
+ present: tooltip.open,
37
+ })),
38
+ );
39
+
40
+ setTooltipContext(tooltip);
41
+ setPresenceContext(presence);
42
+ </script>
43
+
44
+ {@render children?.(tooltip)}
@@ -1,44 +1,44 @@
1
- <script lang="ts" module>
2
- import type {HtmlIngredientProps} from '../types.js';
3
-
4
- export interface TourBackdropProps
5
- extends HtmlIngredientProps<'div', HTMLDivElement> {}
6
- </script>
7
-
8
- <script lang="ts">
9
- import {mergeProps} from '../merge-props.js';
10
- import {createPresence} from '../presence/create-presence.svelte.js';
11
- import {getPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
12
- import {reflect} from '@zag-js/svelte';
13
- import {getTourContext} from './tour-context.svelte.js';
14
-
15
- let {
16
- ref = $bindable(null),
17
- asChild,
18
- children,
19
- ...props
20
- }: TourBackdropProps = $props();
21
-
22
- let tour = getTourContext();
23
- let presenceStrategyProps = getPresenceStrategyPropsContext();
24
- let presence = createPresence(
25
- reflect(() => ({
26
- ...presenceStrategyProps,
27
- present: tour.step?.backdrop ? tour.open : false,
28
- })),
29
- );
30
-
31
- let mergedProps = $derived(
32
- mergeProps(tour.getBackdropProps(), presence.getPresenceProps(), props),
33
- );
34
- </script>
35
-
36
- {#if presence.mounted}
37
- {#if asChild}
38
- {@render asChild(mergedProps)}
39
- {:else}
40
- <div bind:this={ref} use:presence.setReference {...mergedProps}>
41
- {@render children?.()}
42
- </div>
43
- {/if}
44
- {/if}
1
+ <script lang="ts" module>
2
+ import type {HtmlIngredientProps} from '../types.js';
3
+
4
+ export interface TourBackdropProps
5
+ extends HtmlIngredientProps<'div', HTMLDivElement> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import {mergeProps} from '../merge-props.js';
10
+ import {createPresence} from '../presence/create-presence.svelte.js';
11
+ import {getPresenceStrategyPropsContext} from '../presence/presence-context.svelte.js';
12
+ import {reflect} from '@zag-js/svelte';
13
+ import {getTourContext} from './tour-context.svelte.js';
14
+
15
+ let {
16
+ ref = $bindable(null),
17
+ asChild,
18
+ children,
19
+ ...props
20
+ }: TourBackdropProps = $props();
21
+
22
+ let tour = getTourContext();
23
+ let presenceStrategyProps = getPresenceStrategyPropsContext();
24
+ let presence = createPresence(
25
+ reflect(() => ({
26
+ ...presenceStrategyProps,
27
+ present: tour.step?.backdrop ? tour.open : false,
28
+ })),
29
+ );
30
+
31
+ let mergedProps = $derived(
32
+ mergeProps(tour.getBackdropProps(), presence.getPresenceProps(), props),
33
+ );
34
+ </script>
35
+
36
+ {#if presence.mounted}
37
+ {#if asChild}
38
+ {@render asChild(mergedProps)}
39
+ {:else}
40
+ <div bind:this={ref} use:presence.setReference {...mergedProps}>
41
+ {@render children?.()}
42
+ </div>
43
+ {/if}
44
+ {/if}
@@ -1,47 +1,47 @@
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
- CreateTourProps,
6
- CreateTourReturn,
7
- } from './create-tour.svelte.js';
8
-
9
- export interface TourProps extends CreateTourProps, PresenceStrategyProps {
10
- children?: Snippet<[CreateTourReturn]>;
11
- }
12
- </script>
13
-
14
- <script lang="ts">
15
- import {createPresence} from '../presence/create-presence.svelte.js';
16
- import {
17
- setPresenceContext,
18
- setPresenceStrategyPropsContext,
19
- } from '../presence/presence-context.svelte.js';
20
- import {reflect} from '@zag-js/svelte';
21
- import {createSplitProps} from '@zag-js/utils';
22
- import {createTour} from './create-tour.svelte.js';
23
- import {setTourContext} from './tour-context.svelte.js';
24
-
25
- let {children, ...props}: TourProps = $props();
26
-
27
- let [presenceStrategyProps, createTourProps] = $derived(
28
- createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
29
- props,
30
- ),
31
- );
32
-
33
- let tour = createTour(reflect(() => createTourProps));
34
-
35
- let presence = createPresence(
36
- reflect(() => ({
37
- ...presenceStrategyProps,
38
- present: tour.open,
39
- })),
40
- );
41
-
42
- setTourContext(tour);
43
- setPresenceContext(presence);
44
- setPresenceStrategyPropsContext(() => presenceStrategyProps);
45
- </script>
46
-
47
- {@render children?.(tour)}
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
+ CreateTourProps,
6
+ CreateTourReturn,
7
+ } from './create-tour.svelte.js';
8
+
9
+ export interface TourProps extends CreateTourProps, PresenceStrategyProps {
10
+ children?: Snippet<[CreateTourReturn]>;
11
+ }
12
+ </script>
13
+
14
+ <script lang="ts">
15
+ import {createPresence} from '../presence/create-presence.svelte.js';
16
+ import {
17
+ setPresenceContext,
18
+ setPresenceStrategyPropsContext,
19
+ } from '../presence/presence-context.svelte.js';
20
+ import {reflect} from '@zag-js/svelte';
21
+ import {createSplitProps} from '@zag-js/utils';
22
+ import {createTour} from './create-tour.svelte.js';
23
+ import {setTourContext} from './tour-context.svelte.js';
24
+
25
+ let {children, ...props}: TourProps = $props();
26
+
27
+ let [presenceStrategyProps, createTourProps] = $derived(
28
+ createSplitProps<PresenceStrategyProps>(['lazyMount', 'keepMounted'])(
29
+ props,
30
+ ),
31
+ );
32
+
33
+ let tour = createTour(reflect(() => createTourProps));
34
+
35
+ let presence = createPresence(
36
+ reflect(() => ({
37
+ ...presenceStrategyProps,
38
+ present: tour.open,
39
+ })),
40
+ );
41
+
42
+ setTourContext(tour);
43
+ setPresenceContext(presence);
44
+ setPresenceStrategyPropsContext(() => presenceStrategyProps);
45
+ </script>
46
+
47
+ {@render children?.(tour)}