@ark-ui/svelte 5.14.1 → 5.16.0

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 (148) hide show
  1. package/dist/components/accordion/accordion-root.svelte +1 -4
  2. package/dist/components/anatomy.d.ts +1 -0
  3. package/dist/components/anatomy.js +1 -0
  4. package/dist/components/angle-slider/angle-slider-root.svelte +1 -3
  5. package/dist/components/bottom-sheet/bottom-sheet-content.svelte +4 -2
  6. package/dist/components/bottom-sheet/bottom-sheet-grabber-indicator.svelte +4 -2
  7. package/dist/components/carousel/carousel-autoplay-indicator.svelte +4 -2
  8. package/dist/components/checkbox/use-checkbox-group.svelte.js +9 -5
  9. package/dist/components/checkbox/use-checkbox.svelte.js +1 -1
  10. package/dist/components/color-picker/color-picker-area-background.svelte +4 -2
  11. package/dist/components/color-picker/color-picker-channel-input.svelte +1 -3
  12. package/dist/components/color-picker/color-picker-channel-slider-label.svelte +4 -2
  13. package/dist/components/color-picker/color-picker-channel-slider-thumb.svelte +4 -2
  14. package/dist/components/color-picker/color-picker-channel-slider-track.svelte +4 -2
  15. package/dist/components/color-picker/color-picker-channel-slider-value-text.svelte +4 -2
  16. package/dist/components/color-picker/color-picker-eye-dropper-trigger.svelte +4 -2
  17. package/dist/components/color-picker/color-picker-format-trigger.svelte +4 -2
  18. package/dist/components/color-picker/color-picker-root.svelte +1 -4
  19. package/dist/components/color-picker/color-picker-swatch-indicator.svelte +4 -2
  20. package/dist/components/color-picker/color-picker-swatch-trigger.svelte +5 -5
  21. package/dist/components/color-picker/color-picker-transparency-grid.svelte +5 -5
  22. package/dist/components/combobox/combobox-root-provider.svelte +5 -6
  23. package/dist/components/combobox/combobox-root.svelte +5 -6
  24. package/dist/components/date-picker/date-picker-preset-trigger.svelte +1 -3
  25. package/dist/components/date-picker/date-picker-root-provider.svelte +1 -3
  26. package/dist/components/date-picker/date-picker-root.svelte +5 -5
  27. package/dist/components/date-picker/date-picker-table-cell-trigger.svelte +4 -2
  28. package/dist/components/date-picker/date-picker-table-cell.svelte +1 -3
  29. package/dist/components/date-picker/date-picker-value-text.svelte +69 -0
  30. package/dist/components/date-picker/date-picker-value-text.svelte.d.ts +28 -0
  31. package/dist/components/date-picker/date-picker.anatomy.d.ts +1 -1
  32. package/dist/components/date-picker/date-picker.anatomy.js +1 -1
  33. package/dist/components/date-picker/date-picker.d.ts +1 -0
  34. package/dist/components/date-picker/date-picker.js +1 -0
  35. package/dist/components/date-picker/index.d.ts +1 -0
  36. package/dist/components/date-picker/index.js +1 -0
  37. package/dist/components/factory/factory.svelte +2 -0
  38. package/dist/components/fieldset/fieldset-error-text.svelte +3 -1
  39. package/dist/components/fieldset/use-fieldset.svelte.d.ts +5 -0
  40. package/dist/components/fieldset/use-fieldset.svelte.js +5 -0
  41. package/dist/components/file-upload/file-upload-item-delete-trigger.svelte +4 -2
  42. package/dist/components/file-upload/file-upload-item-preview-image.svelte +4 -2
  43. package/dist/components/file-upload/file-upload-root.svelte +1 -0
  44. package/dist/components/floating-panel/floating-panel-close-trigger.svelte +4 -2
  45. package/dist/components/floating-panel/floating-panel-resize-trigger.svelte +5 -5
  46. package/dist/components/floating-panel/floating-panel-root.svelte +1 -3
  47. package/dist/components/floating-panel/floating-panel-stage-trigger.svelte +5 -5
  48. package/dist/components/focus-trap/focus-trap.svelte +4 -5
  49. package/dist/components/image-cropper/image-cropper-root-provider.svelte +4 -8
  50. package/dist/components/image-cropper/image-cropper-root-provider.svelte.d.ts +3 -7
  51. package/dist/components/json-tree-view/json-tree-view-root-provider.svelte +13 -2
  52. package/dist/components/json-tree-view/json-tree-view-root.svelte +1 -2
  53. package/dist/components/json-tree-view/use-json-tree-view.svelte.d.ts +9 -3
  54. package/dist/components/json-tree-view/use-json-tree-view.svelte.js +13 -2
  55. package/dist/components/listbox/listbox-root-provider.svelte +5 -4
  56. package/dist/components/listbox/listbox-root.svelte +4 -2
  57. package/dist/components/marquee/marquee-root.svelte +1 -3
  58. package/dist/components/menu/menu-radio-item-group.svelte +1 -3
  59. package/dist/components/navigation-menu/index.d.ts +18 -0
  60. package/dist/components/navigation-menu/index.js +17 -0
  61. package/dist/components/navigation-menu/navigation-menu-arrow.svelte +19 -0
  62. package/dist/components/navigation-menu/navigation-menu-arrow.svelte.d.ts +8 -0
  63. package/dist/components/navigation-menu/navigation-menu-content.svelte +61 -0
  64. package/dist/components/navigation-menu/navigation-menu-content.svelte.d.ts +9 -0
  65. package/dist/components/navigation-menu/navigation-menu-context.svelte +18 -0
  66. package/dist/components/navigation-menu/navigation-menu-context.svelte.d.ts +8 -0
  67. package/dist/components/navigation-menu/navigation-menu-indicator.svelte +29 -0
  68. package/dist/components/navigation-menu/navigation-menu-indicator.svelte.d.ts +8 -0
  69. package/dist/components/navigation-menu/navigation-menu-item-indicator.svelte +25 -0
  70. package/dist/components/navigation-menu/navigation-menu-item-indicator.svelte.d.ts +8 -0
  71. package/dist/components/navigation-menu/navigation-menu-item.svelte +26 -0
  72. package/dist/components/navigation-menu/navigation-menu-item.svelte.d.ts +9 -0
  73. package/dist/components/navigation-menu/navigation-menu-link.svelte +32 -0
  74. package/dist/components/navigation-menu/navigation-menu-link.svelte.d.ts +9 -0
  75. package/dist/components/navigation-menu/navigation-menu-list.svelte +19 -0
  76. package/dist/components/navigation-menu/navigation-menu-list.svelte.d.ts +8 -0
  77. package/dist/components/navigation-menu/navigation-menu-root-provider.svelte +35 -0
  78. package/dist/components/navigation-menu/navigation-menu-root-provider.svelte.d.ts +13 -0
  79. package/dist/components/navigation-menu/navigation-menu-root.svelte +58 -0
  80. package/dist/components/navigation-menu/navigation-menu-root.svelte.d.ts +10 -0
  81. package/dist/components/navigation-menu/navigation-menu-trigger.svelte +34 -0
  82. package/dist/components/navigation-menu/navigation-menu-trigger.svelte.d.ts +9 -0
  83. package/dist/components/navigation-menu/navigation-menu-viewport-positioner.svelte +36 -0
  84. package/dist/components/navigation-menu/navigation-menu-viewport-positioner.svelte.d.ts +13 -0
  85. package/dist/components/navigation-menu/navigation-menu-viewport.svelte +34 -0
  86. package/dist/components/navigation-menu/navigation-menu-viewport.svelte.d.ts +8 -0
  87. package/dist/components/navigation-menu/navigation-menu.anatomy.d.ts +1 -0
  88. package/dist/components/navigation-menu/navigation-menu.anatomy.js +1 -0
  89. package/dist/components/navigation-menu/navigation-menu.d.ts +14 -0
  90. package/dist/components/navigation-menu/navigation-menu.js +13 -0
  91. package/dist/components/navigation-menu/use-navigation-menu-context.d.ts +4 -0
  92. package/dist/components/navigation-menu/use-navigation-menu-context.js +4 -0
  93. package/dist/components/navigation-menu/use-navigation-menu-item-props-context.d.ts +3 -0
  94. package/dist/components/navigation-menu/use-navigation-menu-item-props-context.js +5 -0
  95. package/dist/components/navigation-menu/use-navigation-menu-viewport-props-context.d.ts +3 -0
  96. package/dist/components/navigation-menu/use-navigation-menu-viewport-props-context.js +5 -0
  97. package/dist/components/navigation-menu/use-navigation-menu.svelte.d.ts +9 -0
  98. package/dist/components/navigation-menu/use-navigation-menu.svelte.js +20 -0
  99. package/dist/components/number-input/number-input-decrement-trigger.svelte +4 -2
  100. package/dist/components/number-input/number-input-increment-trigger.svelte +4 -2
  101. package/dist/components/number-input/split-number-input-props.svelte.d.ts +1 -1
  102. package/dist/components/number-input/split-number-input-props.svelte.js +1 -0
  103. package/dist/components/pagination/index.d.ts +2 -0
  104. package/dist/components/pagination/index.js +2 -0
  105. package/dist/components/pagination/pagination-first-trigger.svelte +18 -0
  106. package/dist/components/pagination/pagination-first-trigger.svelte.d.ts +8 -0
  107. package/dist/components/pagination/pagination-last-trigger.svelte +18 -0
  108. package/dist/components/pagination/pagination-last-trigger.svelte.d.ts +8 -0
  109. package/dist/components/pagination/pagination-root.svelte +1 -0
  110. package/dist/components/pagination/pagination.d.ts +2 -0
  111. package/dist/components/pagination/pagination.js +2 -0
  112. package/dist/components/password-input/password-input-root-provider.svelte +2 -2
  113. package/dist/components/password-input/password-input-root-provider.svelte.d.ts +2 -2
  114. package/dist/components/password-input/password-input-visibility-trigger.svelte +4 -2
  115. package/dist/components/pin-input/pin-input-root-provider.svelte +3 -2
  116. package/dist/components/pin-input/pin-input-root-provider.svelte.d.ts +2 -2
  117. package/dist/components/progress/progress-root.svelte +1 -3
  118. package/dist/components/qr-code/qr-code-download-trigger.svelte +1 -3
  119. package/dist/components/radio-group/radio-group-item-hidden-input.svelte +4 -2
  120. package/dist/components/radio-group/radio-group-root.svelte +2 -0
  121. package/dist/components/radio-group/use-radio-group.svelte.js +8 -0
  122. package/dist/components/segment-group/segment-group-item-hidden-input.svelte +4 -2
  123. package/dist/components/segment-group/split-segment-group-props.svelte.d.ts +1 -1
  124. package/dist/components/segment-group/split-segment-group-props.svelte.js +2 -0
  125. package/dist/components/select/select-item.svelte +5 -4
  126. package/dist/components/select/select-root-provider.svelte +5 -5
  127. package/dist/components/select/select-root.svelte +5 -6
  128. package/dist/components/signature-pad/signature-pad-clear-trigger.svelte +4 -2
  129. package/dist/components/slider/slider-root.svelte +1 -0
  130. package/dist/components/splitter/splitter-resize-trigger-indicator.svelte +4 -2
  131. package/dist/components/splitter/splitter-resize-trigger.svelte +1 -3
  132. package/dist/components/steps/steps-root.svelte +4 -1
  133. package/dist/components/tabs/tabs-root-provider.svelte +1 -4
  134. package/dist/components/tags-input/tags-input-item-delete-trigger.svelte +4 -2
  135. package/dist/components/tags-input/tags-input-root.svelte +1 -0
  136. package/dist/components/tooltip/tooltip-root.svelte +2 -1
  137. package/dist/components/tooltip/tooltip-root.svelte.d.ts +2 -1
  138. package/dist/components/tour/index.d.ts +3 -1
  139. package/dist/components/tour/index.js +2 -0
  140. package/dist/components/tour/tour-action-trigger.svelte +1 -3
  141. package/dist/components/tour/wait-for-event.d.ts +6 -0
  142. package/dist/components/tour/wait-for-event.js +19 -0
  143. package/dist/components/tree-view/tree-view-branch-indent-guide.svelte +4 -2
  144. package/dist/components/tree-view/tree-view-root-provider.svelte +5 -5
  145. package/dist/components/tree-view/tree-view-root.svelte +1 -4
  146. package/dist/components/tree-view/tree-view-split-props.d.ts +1 -1
  147. package/dist/components/tree-view/tree-view-split-props.js +1 -0
  148. package/package.json +75 -73
@@ -72,6 +72,11 @@ export const useFieldset = (inProps = {}) => {
72
72
  });
73
73
  const api = $derived({
74
74
  setRootRef,
75
+ ids: {
76
+ legend: legendId,
77
+ errorText: errorTextId,
78
+ helperText: helperTextId,
79
+ },
75
80
  disabled,
76
81
  invalid,
77
82
  getRootProps,
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface FileUploadItemDeleteTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
- export interface FileUploadItemDeleteTriggerProps
6
- extends Assign<HTMLProps<'button'>, FileUploadItemDeleteTriggerBaseProps> {}
5
+ export interface FileUploadItemDeleteTriggerProps extends Assign<
6
+ HTMLProps<'button'>,
7
+ FileUploadItemDeleteTriggerBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
3
 
4
4
  export interface FileUploadItemPreviewImageBaseProps extends PolymorphicProps<'img'>, RefAttribute {}
5
- export interface FileUploadItemPreviewImageProps
6
- extends Assign<HTMLProps<'img'>, FileUploadItemPreviewImageBaseProps> {}
5
+ export interface FileUploadItemPreviewImageProps extends Assign<
6
+ HTMLProps<'img'>,
7
+ FileUploadItemPreviewImageBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -37,6 +37,7 @@
37
37
  'onFileChange',
38
38
  'onFileReject',
39
39
  'preventDocumentDrop',
40
+ 'readOnly',
40
41
  'required',
41
42
  'translations',
42
43
  'transformFiles',
@@ -2,8 +2,10 @@
2
2
  import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types.js'
3
3
 
4
4
  export interface FloatingPanelCloseTriggerBaseProps extends PolymorphicProps<'button'>, RefAttribute {}
5
- export interface FloatingPanelCloseTriggerProps
6
- extends Assign<HTMLProps<'button'>, FloatingPanelCloseTriggerBaseProps> {}
5
+ export interface FloatingPanelCloseTriggerProps extends Assign<
6
+ HTMLProps<'button'>,
7
+ FloatingPanelCloseTriggerBaseProps
8
+ > {}
7
9
  </script>
8
10
 
9
11
  <script lang="ts">
@@ -3,11 +3,11 @@
3
3
  import type { ResizeTriggerProps } from '@zag-js/floating-panel'
4
4
 
5
5
  export interface FloatingPanelResizeTriggerBaseProps
6
- extends ResizeTriggerProps,
7
- PolymorphicProps<'div'>,
8
- RefAttribute {}
9
- export interface FloatingPanelResizeTriggerProps
10
- extends Assign<HTMLProps<'div'>, FloatingPanelResizeTriggerBaseProps> {}
6
+ extends ResizeTriggerProps, PolymorphicProps<'div'>, RefAttribute {}
7
+ export interface FloatingPanelResizeTriggerProps extends Assign<
8
+ HTMLProps<'div'>,
9
+ FloatingPanelResizeTriggerBaseProps
10
+ > {}
11
11
  </script>
12
12
 
13
13
  <script lang="ts">
@@ -5,9 +5,7 @@
5
5
  import type { UseFloatingPanelProps } from './use-floating-panel.svelte.js'
6
6
 
7
7
  export interface FloatingPanelRootBaseProps
8
- extends UseFloatingPanelProps,
9
- UsePresenceProps,
10
- PolymorphicProps<'div'> {}
8
+ extends UseFloatingPanelProps, UsePresenceProps, PolymorphicProps<'div'> {}
11
9
  export interface FloatingPanelRootProps extends FloatingPanelRootBaseProps {
12
10
  children?: Snippet
13
11
  }
@@ -3,11 +3,11 @@
3
3
  import type { StageTriggerProps } from '@zag-js/floating-panel'
4
4
 
5
5
  export interface FloatingPanelStageTriggerBaseProps
6
- extends StageTriggerProps,
7
- PolymorphicProps<'button'>,
8
- RefAttribute {}
9
- export interface FloatingPanelStageTriggerProps
10
- extends Assign<HTMLProps<'button'>, FloatingPanelStageTriggerBaseProps> {}
6
+ extends StageTriggerProps, PolymorphicProps<'button'>, RefAttribute {}
7
+ export interface FloatingPanelStageTriggerProps extends Assign<
8
+ HTMLProps<'button'>,
9
+ FloatingPanelStageTriggerBaseProps
10
+ > {}
11
11
  </script>
12
12
 
13
13
  <script lang="ts">
@@ -4,11 +4,10 @@
4
4
  import { type FocusTrapOptions, trapFocus } from '@zag-js/focus-trap'
5
5
  import { Ark } from '../factory/index.js'
6
6
 
7
- export interface TrapOptions
8
- extends Pick<
9
- FocusTrapOptions,
10
- 'onActivate' | 'onDeactivate' | 'initialFocus' | 'fallbackFocus' | 'returnFocusOnDeactivate' | 'setReturnFocus'
11
- > {
7
+ export interface TrapOptions extends Pick<
8
+ FocusTrapOptions,
9
+ 'onActivate' | 'onDeactivate' | 'initialFocus' | 'fallbackFocus' | 'returnFocusOnDeactivate' | 'setReturnFocus'
10
+ > {
12
11
  /**
13
12
  * Whether the focus trap is disabled.
14
13
  */
@@ -1,16 +1,12 @@
1
1
  <script module lang="ts">
2
- import type { Snippet } from 'svelte'
3
- import type { PolymorphicProps, RefAttribute } from '../../types'
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
4
3
  import type { UseImageCropperReturn } from './use-image-cropper.svelte'
5
4
 
6
- interface RootProviderProps {
5
+ export interface ImageCropperRootProviderBaseProps extends PolymorphicProps<'div'>, RefAttribute {
7
6
  value: UseImageCropperReturn
8
7
  }
9
-
10
- export interface ImageCropperRootProviderBaseProps extends RootProviderProps, PolymorphicProps<'div'>, RefAttribute {}
11
- export interface ImageCropperRootProviderProps extends ImageCropperRootProviderBaseProps {
12
- children?: Snippet
13
- }
8
+ export interface ImageCropperRootProviderProps
9
+ extends Assign<HTMLProps<'div'>, ImageCropperRootProviderBaseProps> {}
14
10
  </script>
15
11
 
16
12
  <script lang="ts">
@@ -1,13 +1,9 @@
1
- import type { Snippet } from 'svelte';
2
- import type { PolymorphicProps, RefAttribute } from '../../types';
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
3
2
  import type { UseImageCropperReturn } from './use-image-cropper.svelte';
4
- interface RootProviderProps {
3
+ export interface ImageCropperRootProviderBaseProps extends PolymorphicProps<'div'>, RefAttribute {
5
4
  value: UseImageCropperReturn;
6
5
  }
7
- export interface ImageCropperRootProviderBaseProps extends RootProviderProps, PolymorphicProps<'div'>, RefAttribute {
8
- }
9
- export interface ImageCropperRootProviderProps extends ImageCropperRootProviderBaseProps {
10
- children?: Snippet;
6
+ export interface ImageCropperRootProviderProps extends Assign<HTMLProps<'div'>, ImageCropperRootProviderBaseProps> {
11
7
  }
12
8
  declare const ImageCropperRootProvider: import("svelte").Component<ImageCropperRootProviderProps, {}, "ref">;
13
9
  type ImageCropperRootProvider = ReturnType<typeof ImageCropperRootProvider>;
@@ -1,12 +1,23 @@
1
1
  <script lang="ts">
2
2
  import type { JsonNode } from '@zag-js/json-tree-utils'
3
3
  import { TreeViewRootProvider, type TreeViewRootProviderProps } from '../tree-view'
4
+ import { JsonTreeViewPropsProvider } from './json-tree-view-props-context'
5
+ import type { UseJsonTreeViewReturn } from './use-json-tree-view.svelte'
4
6
 
5
7
  export interface JsonTreeViewRootProviderProps extends TreeViewRootProviderProps<JsonNode> {}
6
8
 
7
- const props: JsonTreeViewRootProviderProps = $props()
9
+ const { value, ...props }: JsonTreeViewRootProviderProps = $props()
10
+
11
+ const jsonTreeView = value as unknown as UseJsonTreeViewReturn
12
+
13
+ const treeView = $derived(() => {
14
+ const { options: _, ...rest } = jsonTreeView()
15
+ return rest
16
+ })
17
+
18
+ JsonTreeViewPropsProvider(() => jsonTreeView().options)
8
19
  </script>
9
20
 
10
- <TreeViewRootProvider data-scope="json-tree-view" {...props}>
21
+ <TreeViewRootProvider data-scope="json-tree-view" value={treeView} {...props}>
11
22
  {@render props.children?.()}
12
23
  </TreeViewRootProvider>
@@ -17,8 +17,7 @@
17
17
  }
18
18
 
19
19
  export interface JsonTreeViewRootProps
20
- extends Omit<TreeViewRootProps<JsonNode>, 'collection'>,
21
- JsonTreeViewRootBaseProps {}
20
+ extends Omit<TreeViewRootProps<JsonNode>, 'collection'>, JsonTreeViewRootBaseProps {}
22
21
 
23
22
  const { data, defaultExpandedDepth, ...props }: JsonTreeViewRootProps = $props()
24
23
 
@@ -1,10 +1,16 @@
1
+ import type { Accessor } from '../../types';
1
2
  import { type JsonNode } from '@zag-js/json-tree-utils';
3
+ import type { PropTypes } from '@zag-js/svelte';
4
+ import type * as treeView from '@zag-js/tree-view';
2
5
  import type { MaybeFunction } from '@zag-js/utils';
3
- import { type UseTreeViewProps, type UseTreeViewReturn } from '../tree-view';
4
- export interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, 'collection'> {
6
+ import { type UseTreeViewProps } from '../tree-view';
7
+ import type { JsonTreeViewOptions } from './json-tree-view-props-context';
8
+ export interface UseJsonTreeViewProps extends Omit<UseTreeViewProps<JsonNode>, 'collection'>, JsonTreeViewOptions {
5
9
  data: unknown;
6
10
  defaultExpandedDepth?: number;
7
11
  }
8
- export interface UseJsonTreeViewReturn extends UseTreeViewReturn<JsonNode> {
12
+ export interface UseJsonTreeViewReturn extends Accessor<treeView.Api<PropTypes, JsonNode> & {
13
+ options: JsonTreeViewOptions;
14
+ }> {
9
15
  }
10
16
  export declare const useJsonTreeView: (props: MaybeFunction<UseJsonTreeViewProps>) => UseJsonTreeViewReturn;
@@ -1,11 +1,20 @@
1
1
  import { runIfFn } from '../../utils/run-if-fn';
2
2
  import { getRootNode, nodeToString, nodeToValue } from '@zag-js/json-tree-utils';
3
3
  import { untrack } from 'svelte';
4
+ import { createSplitProps } from '../../utils/create-split-props';
4
5
  import { createTreeCollection, useTreeView } from '../tree-view';
5
6
  import { getBranchValues } from './get-branch-value';
7
+ const splitJsonTreeViewProps = createSplitProps();
6
8
  export const useJsonTreeView = (props) => {
9
+ const [jsonTreeProps, localProps] = splitJsonTreeViewProps(runIfFn(props), [
10
+ 'maxPreviewItems',
11
+ 'collapseStringsAfterLength',
12
+ 'quotesOnKeys',
13
+ 'groupArraysAfterLength',
14
+ 'showNonenumerable',
15
+ ]);
7
16
  const machineProps = $derived.by(() => {
8
- const { data, defaultExpandedDepth, ...restProps } = runIfFn(props);
17
+ const { data, defaultExpandedDepth, ...restProps } = localProps;
9
18
  const collection = createTreeCollection({
10
19
  nodeToValue,
11
20
  nodeToString,
@@ -19,5 +28,7 @@ export const useJsonTreeView = (props) => {
19
28
  typeahead: false,
20
29
  };
21
30
  });
22
- return useTreeView(() => machineProps);
31
+ const treeView = useTreeView(() => machineProps);
32
+ const api = $derived({ ...treeView(), options: jsonTreeProps });
33
+ return () => api;
23
34
  };
@@ -6,10 +6,11 @@
6
6
  }
7
7
 
8
8
  export interface ListboxRootProviderBaseProps<T extends CollectionItem>
9
- extends PolymorphicProps<'div'>,
10
- RootProviderProps<T> {}
11
- export interface ListboxRootProviderProps<T extends CollectionItem>
12
- extends Assign<HTMLProps<'div'>, ListboxRootProviderBaseProps<T>> {}
9
+ extends PolymorphicProps<'div'>, RootProviderProps<T> {}
10
+ export interface ListboxRootProviderProps<T extends CollectionItem> extends Assign<
11
+ HTMLProps<'div'>,
12
+ ListboxRootProviderBaseProps<T>
13
+ > {}
13
14
 
14
15
  export type ListboxRootProviderComponent<P = {}> = <T extends CollectionItem>(
15
16
  props: Assign<ListboxRootProviderProps<T>, P>,
@@ -6,8 +6,10 @@
6
6
  import type { UseListboxProps } from './use-listbox.svelte.js'
7
7
 
8
8
  export interface ListboxRootBaseProps<T extends CollectionItem> extends UseListboxProps<T>, PolymorphicProps<'div'> {}
9
- export interface ListboxRootProps<T extends CollectionItem>
10
- extends Assign<HTMLProps<'div'>, ListboxRootBaseProps<T>> {}
9
+ export interface ListboxRootProps<T extends CollectionItem> extends Assign<
10
+ HTMLProps<'div'>,
11
+ ListboxRootBaseProps<T>
12
+ > {}
11
13
 
12
14
  export type ListboxRootComponentProps<T extends CollectionItem = CollectionItem, P = {}> = Assign<
13
15
  ListboxRootProps<T>,
@@ -3,9 +3,7 @@
3
3
  import type { UseMarqueeProps } from './use-marquee.svelte'
4
4
 
5
5
  export interface MarqueeRootBaseProps
6
- extends Optional<UseMarqueeProps, 'id'>,
7
- PolymorphicProps<'div'>,
8
- RefAttribute {}
6
+ extends Optional<UseMarqueeProps, 'id'>, PolymorphicProps<'div'>, RefAttribute {}
9
7
  export interface MarqueeRootProps extends Assign<HTMLProps<'div'>, MarqueeRootBaseProps> {}
10
8
  </script>
11
9
 
@@ -5,9 +5,7 @@
5
5
  type OptionalUseMenuItemGroupContext = Optional<ReturnType<UseMenuItemGroupContext>, 'id'>
6
6
 
7
7
  export interface MenuRadioItemGroupBaseProps
8
- extends OptionalUseMenuItemGroupContext,
9
- PolymorphicProps<'div'>,
10
- RefAttribute {}
8
+ extends OptionalUseMenuItemGroupContext, PolymorphicProps<'div'>, RefAttribute {}
11
9
  export interface MenuRadioItemGroupProps extends Assign<HTMLProps<'div'>, MenuRadioItemGroupBaseProps> {}
12
10
  </script>
13
11
 
@@ -0,0 +1,18 @@
1
+ export type { ValueChangeDetails as NavigationMenuValueChangeDetails } from '@zag-js/navigation-menu';
2
+ export { default as NavigationMenuArrow, type NavigationMenuArrowBaseProps, type NavigationMenuArrowProps, } from './navigation-menu-arrow.svelte';
3
+ export { default as NavigationMenuContent, type NavigationMenuContentBaseProps, type NavigationMenuContentProps, } from './navigation-menu-content.svelte';
4
+ export { default as NavigationMenuContext, type NavigationMenuContextProps } from './navigation-menu-context.svelte';
5
+ export { default as NavigationMenuIndicator, type NavigationMenuIndicatorBaseProps, type NavigationMenuIndicatorProps, } from './navigation-menu-indicator.svelte';
6
+ export { default as NavigationMenuItem, type NavigationMenuItemBaseProps, type NavigationMenuItemProps, } from './navigation-menu-item.svelte';
7
+ export { default as NavigationMenuItemIndicator, type NavigationMenuItemIndicatorBaseProps, type NavigationMenuItemIndicatorProps, } from './navigation-menu-item-indicator.svelte';
8
+ export { default as NavigationMenuLink, type NavigationMenuLinkBaseProps, type NavigationMenuLinkProps, } from './navigation-menu-link.svelte';
9
+ export { default as NavigationMenuList, type NavigationMenuListBaseProps, type NavigationMenuListProps, } from './navigation-menu-list.svelte';
10
+ export { default as NavigationMenuRoot, type NavigationMenuRootBaseProps, type NavigationMenuRootProps, } from './navigation-menu-root.svelte';
11
+ export { default as NavigationMenuRootProvider, type NavigationMenuRootProviderBaseProps, type NavigationMenuRootProviderProps, } from './navigation-menu-root-provider.svelte';
12
+ export { default as NavigationMenuTrigger, type NavigationMenuTriggerBaseProps, type NavigationMenuTriggerProps, } from './navigation-menu-trigger.svelte';
13
+ export { default as NavigationMenuViewport, type NavigationMenuViewportBaseProps, type NavigationMenuViewportProps, } from './navigation-menu-viewport.svelte';
14
+ export { default as NavigationMenuViewportPositioner, type NavigationMenuViewportPositionerBaseProps, type NavigationMenuViewportPositionerProps, } from './navigation-menu-viewport-positioner.svelte';
15
+ export { navigationMenuAnatomy } from './navigation-menu.anatomy';
16
+ export { useNavigationMenu, type UseNavigationMenuProps, type UseNavigationMenuReturn, } from './use-navigation-menu.svelte';
17
+ export { useNavigationMenuContext, type UseNavigationMenuContext } from './use-navigation-menu-context';
18
+ export * as NavigationMenu from './navigation-menu';
@@ -0,0 +1,17 @@
1
+ export { default as NavigationMenuArrow, } from './navigation-menu-arrow.svelte';
2
+ export { default as NavigationMenuContent, } from './navigation-menu-content.svelte';
3
+ export { default as NavigationMenuContext } from './navigation-menu-context.svelte';
4
+ export { default as NavigationMenuIndicator, } from './navigation-menu-indicator.svelte';
5
+ export { default as NavigationMenuItem, } from './navigation-menu-item.svelte';
6
+ export { default as NavigationMenuItemIndicator, } from './navigation-menu-item-indicator.svelte';
7
+ export { default as NavigationMenuLink, } from './navigation-menu-link.svelte';
8
+ export { default as NavigationMenuList, } from './navigation-menu-list.svelte';
9
+ export { default as NavigationMenuRoot, } from './navigation-menu-root.svelte';
10
+ export { default as NavigationMenuRootProvider, } from './navigation-menu-root-provider.svelte';
11
+ export { default as NavigationMenuTrigger, } from './navigation-menu-trigger.svelte';
12
+ export { default as NavigationMenuViewport, } from './navigation-menu-viewport.svelte';
13
+ export { default as NavigationMenuViewportPositioner, } from './navigation-menu-viewport-positioner.svelte';
14
+ export { navigationMenuAnatomy } from './navigation-menu.anatomy';
15
+ export { useNavigationMenu, } from './use-navigation-menu.svelte';
16
+ export { useNavigationMenuContext } from './use-navigation-menu-context';
17
+ export * as NavigationMenu from './navigation-menu';
@@ -0,0 +1,19 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface NavigationMenuArrowBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface NavigationMenuArrowProps extends Assign<HTMLProps<'div'>, NavigationMenuArrowBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '@zag-js/svelte'
10
+ import { Ark } from '../factory'
11
+ import { useNavigationMenuContext } from './use-navigation-menu-context'
12
+
13
+ let { ref = $bindable(null), ...props }: NavigationMenuArrowProps = $props()
14
+
15
+ const navigationMenu = useNavigationMenuContext()
16
+ const mergedProps = $derived(mergeProps(navigationMenu().getArrowProps(), props))
17
+ </script>
18
+
19
+ <Ark as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface NavigationMenuArrowBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface NavigationMenuArrowProps extends Assign<HTMLProps<'div'>, NavigationMenuArrowBaseProps> {
5
+ }
6
+ declare const NavigationMenuArrow: import("svelte").Component<NavigationMenuArrowProps, {}, "ref">;
7
+ type NavigationMenuArrow = ReturnType<typeof NavigationMenuArrow>;
8
+ export default NavigationMenuArrow;
@@ -0,0 +1,61 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+ import type { ContentProps } from '@zag-js/navigation-menu'
4
+
5
+ export interface NavigationMenuContentBaseProps
6
+ extends Partial<ContentProps>, PolymorphicProps<'div'>, RefAttribute {}
7
+ export interface NavigationMenuContentProps extends Assign<HTMLProps<'div'>, NavigationMenuContentBaseProps> {}
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { createSplitProps } from '../../utils/create-split-props'
12
+ import { useRenderStrategyPropsContext } from '../../utils/render-strategy'
13
+ import { mergeProps } from '@zag-js/svelte'
14
+ import type { RequiredBy } from '@zag-js/types'
15
+ import { Ark } from '../factory'
16
+ import { Portal } from '../portal'
17
+ import { usePresence } from '../presence'
18
+ import { useNavigationMenuContext } from './use-navigation-menu-context'
19
+ import { useNavigationMenuItemPropsContext } from './use-navigation-menu-item-props-context'
20
+
21
+ let { ref = $bindable(null), ...props }: NavigationMenuContentProps = $props()
22
+
23
+ const splitContentProps = createSplitProps<ContentProps>()
24
+
25
+ const navigationMenu = useNavigationMenuContext()
26
+ const itemContext = useNavigationMenuItemPropsContext()
27
+
28
+ const value = $derived(props.value ?? itemContext()?.value)
29
+
30
+ const combinedProps = $derived(mergeProps(props, { value }) as RequiredBy<NavigationMenuContentProps, 'value'>)
31
+ const [contentProps, localProps] = $derived(splitContentProps(combinedProps, ['value']))
32
+
33
+ const renderStrategyProps = useRenderStrategyPropsContext()
34
+
35
+ const presence = usePresence(() => ({
36
+ ...renderStrategyProps,
37
+ present: navigationMenu().value === value,
38
+ }))
39
+
40
+ const mergedProps = $derived(
41
+ mergeProps(navigationMenu().getContentProps(contentProps), presence().getPresenceProps(), localProps),
42
+ )
43
+
44
+ const viewportNode = $derived(navigationMenu().getViewportNode())
45
+
46
+ function setNode(node: Element | null) {
47
+ presence().setNode(node)
48
+ }
49
+ </script>
50
+
51
+ {#if navigationMenu().isViewportRendered && viewportNode}
52
+ <div {...navigationMenu().getViewportProxyProps(contentProps)}></div>
53
+ <div {...navigationMenu().getTriggerProxyProps(contentProps)}></div>
54
+ <Portal container={viewportNode}>
55
+ {#if !presence().unmounted}
56
+ <Ark as="div" bind:ref {...mergedProps} {@attach setNode} />
57
+ {/if}
58
+ </Portal>
59
+ {:else if !presence().unmounted}
60
+ <Ark as="div" bind:ref {...mergedProps} {@attach setNode} />
61
+ {/if}
@@ -0,0 +1,9 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ import type { ContentProps } from '@zag-js/navigation-menu';
3
+ export interface NavigationMenuContentBaseProps extends Partial<ContentProps>, PolymorphicProps<'div'>, RefAttribute {
4
+ }
5
+ export interface NavigationMenuContentProps extends Assign<HTMLProps<'div'>, NavigationMenuContentBaseProps> {
6
+ }
7
+ declare const NavigationMenuContent: import("svelte").Component<NavigationMenuContentProps, {}, "ref">;
8
+ type NavigationMenuContent = ReturnType<typeof NavigationMenuContent>;
9
+ export default NavigationMenuContent;
@@ -0,0 +1,18 @@
1
+ <script module lang="ts">
2
+ import type { Snippet } from 'svelte'
3
+ import type { UseNavigationMenuContext } from './use-navigation-menu-context'
4
+
5
+ export interface NavigationMenuContextProps {
6
+ render?: Snippet<[UseNavigationMenuContext]>
7
+ }
8
+ </script>
9
+
10
+ <script lang="ts">
11
+ import { useNavigationMenuContext } from './use-navigation-menu-context'
12
+
13
+ const { render }: NavigationMenuContextProps = $props()
14
+
15
+ const context = useNavigationMenuContext()
16
+ </script>
17
+
18
+ {@render render?.(context)}
@@ -0,0 +1,8 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { UseNavigationMenuContext } from './use-navigation-menu-context';
3
+ export interface NavigationMenuContextProps {
4
+ render?: Snippet<[UseNavigationMenuContext]>;
5
+ }
6
+ declare const NavigationMenuContext: import("svelte").Component<NavigationMenuContextProps, {}, "">;
7
+ type NavigationMenuContext = ReturnType<typeof NavigationMenuContext>;
8
+ export default NavigationMenuContext;
@@ -0,0 +1,29 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface NavigationMenuIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface NavigationMenuIndicatorProps extends Assign<HTMLProps<'div'>, NavigationMenuIndicatorBaseProps> {}
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import { mergeProps } from '@zag-js/svelte'
10
+ import { Ark } from '../factory'
11
+ import { usePresence } from '../presence'
12
+ import { useNavigationMenuContext } from './use-navigation-menu-context'
13
+ import { useRenderStrategyPropsContext } from '../../utils/render-strategy'
14
+
15
+ let { ref = $bindable(null), ...props }: NavigationMenuIndicatorProps = $props()
16
+
17
+ const navigationMenu = useNavigationMenuContext()
18
+ const renderStrategyProps = useRenderStrategyPropsContext()
19
+ const presence = usePresence(() => ({ ...renderStrategyProps, present: navigationMenu().open }))
20
+ const mergedProps = $derived(mergeProps(navigationMenu().getIndicatorProps(), presence().getPresenceProps(), props))
21
+
22
+ function setNode(node: Element | null) {
23
+ presence().setNode(node)
24
+ }
25
+ </script>
26
+
27
+ {#if !presence().unmounted}
28
+ <Ark as="div" bind:ref {...mergedProps} {@attach setNode} />
29
+ {/if}
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface NavigationMenuIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface NavigationMenuIndicatorProps extends Assign<HTMLProps<'div'>, NavigationMenuIndicatorBaseProps> {
5
+ }
6
+ declare const NavigationMenuIndicator: import("svelte").Component<NavigationMenuIndicatorProps, {}, "ref">;
7
+ type NavigationMenuIndicator = ReturnType<typeof NavigationMenuIndicator>;
8
+ export default NavigationMenuIndicator;
@@ -0,0 +1,25 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+
4
+ export interface NavigationMenuItemIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {}
5
+ export interface NavigationMenuItemIndicatorProps extends Assign<
6
+ HTMLProps<'div'>,
7
+ NavigationMenuItemIndicatorBaseProps
8
+ > {}
9
+ </script>
10
+
11
+ <script lang="ts">
12
+ import { mergeProps } from '@zag-js/svelte'
13
+ import { Ark } from '../factory'
14
+ import { useNavigationMenuContext } from './use-navigation-menu-context'
15
+ import { useNavigationMenuItemPropsContext } from './use-navigation-menu-item-props-context'
16
+
17
+ let { ref = $bindable(null), ...props }: NavigationMenuItemIndicatorProps = $props()
18
+
19
+ const navigationMenu = useNavigationMenuContext()
20
+ const itemProps = useNavigationMenuItemPropsContext()
21
+
22
+ const mergedProps = $derived(mergeProps(navigationMenu().getItemIndicatorProps(itemProps()), props))
23
+ </script>
24
+
25
+ <Ark as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,8 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ export interface NavigationMenuItemIndicatorBaseProps extends PolymorphicProps<'div'>, RefAttribute {
3
+ }
4
+ export interface NavigationMenuItemIndicatorProps extends Assign<HTMLProps<'div'>, NavigationMenuItemIndicatorBaseProps> {
5
+ }
6
+ declare const NavigationMenuItemIndicator: import("svelte").Component<NavigationMenuItemIndicatorProps, {}, "ref">;
7
+ type NavigationMenuItemIndicator = ReturnType<typeof NavigationMenuItemIndicator>;
8
+ export default NavigationMenuItemIndicator;
@@ -0,0 +1,26 @@
1
+ <script module lang="ts">
2
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types'
3
+ import type { ItemProps } from '@zag-js/navigation-menu'
4
+
5
+ export interface NavigationMenuItemBaseProps extends ItemProps, PolymorphicProps<'div'>, RefAttribute {}
6
+ export interface NavigationMenuItemProps extends Assign<HTMLProps<'div'>, NavigationMenuItemBaseProps> {}
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { mergeProps } from '@zag-js/svelte'
11
+ import { Ark } from '../factory'
12
+ import { useNavigationMenuContext } from './use-navigation-menu-context'
13
+ import { NavigationMenuItemPropsProvider } from './use-navigation-menu-item-props-context'
14
+ import { createSplitProps } from '../../utils/create-split-props'
15
+
16
+ let { ref = $bindable(null), ...props }: NavigationMenuItemProps = $props()
17
+ const splitItemProps = createSplitProps<ItemProps>()
18
+ const [itemProps, localProps] = $derived(splitItemProps(props, ['disabled', 'value']))
19
+
20
+ const navigationMenu = useNavigationMenuContext()
21
+ const mergedProps = $derived(mergeProps(navigationMenu().getItemProps(itemProps), localProps))
22
+
23
+ NavigationMenuItemPropsProvider(() => itemProps)
24
+ </script>
25
+
26
+ <Ark as="div" bind:ref {...mergedProps} />
@@ -0,0 +1,9 @@
1
+ import type { Assign, HTMLProps, PolymorphicProps, RefAttribute } from '../../types';
2
+ import type { ItemProps } from '@zag-js/navigation-menu';
3
+ export interface NavigationMenuItemBaseProps extends ItemProps, PolymorphicProps<'div'>, RefAttribute {
4
+ }
5
+ export interface NavigationMenuItemProps extends Assign<HTMLProps<'div'>, NavigationMenuItemBaseProps> {
6
+ }
7
+ declare const NavigationMenuItem: import("svelte").Component<NavigationMenuItemProps, {}, "ref">;
8
+ type NavigationMenuItem = ReturnType<typeof NavigationMenuItem>;
9
+ export default NavigationMenuItem;