@ark-ui/vue 5.16.1 → 5.18.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 (136) hide show
  1. package/dist/components/checkbox/checkbox-group-provider.vue.cjs +33 -0
  2. package/dist/components/checkbox/checkbox-group-provider.vue.d.cts +23 -0
  3. package/dist/components/checkbox/checkbox-group-provider.vue.d.ts +23 -0
  4. package/dist/components/checkbox/checkbox-group-provider.vue.js +29 -0
  5. package/dist/components/checkbox/checkbox-group-provider.vue2.cjs +9 -0
  6. package/dist/components/checkbox/checkbox-group-provider.vue2.js +5 -0
  7. package/dist/components/checkbox/checkbox-group.vue.cjs +1 -1
  8. package/dist/components/checkbox/checkbox-group.vue.js +2 -2
  9. package/dist/components/checkbox/checkbox.cjs +2 -0
  10. package/dist/components/checkbox/checkbox.d.cts +1 -0
  11. package/dist/components/checkbox/checkbox.d.ts +1 -0
  12. package/dist/components/checkbox/checkbox.js +1 -0
  13. package/dist/components/checkbox/index.cjs +2 -0
  14. package/dist/components/checkbox/index.d.cts +1 -0
  15. package/dist/components/checkbox/index.d.ts +1 -0
  16. package/dist/components/checkbox/index.js +1 -0
  17. package/dist/components/checkbox/use-checkbox-group-context.cjs +2 -2
  18. package/dist/components/checkbox/use-checkbox-group-context.d.cts +1 -1
  19. package/dist/components/checkbox/use-checkbox-group-context.d.ts +1 -1
  20. package/dist/components/checkbox/use-checkbox-group-context.js +2 -2
  21. package/dist/components/collapsible/collapsible-trigger.vue.cjs +2 -2
  22. package/dist/components/collapsible/collapsible-trigger.vue.js +3 -3
  23. package/dist/components/collection/index.cjs +2 -0
  24. package/dist/components/collection/index.d.cts +2 -1
  25. package/dist/components/collection/index.d.ts +2 -1
  26. package/dist/components/collection/index.js +1 -0
  27. package/dist/components/collection/tree-collection.js +1 -1
  28. package/dist/components/collection/use-list-selection.cjs +115 -0
  29. package/dist/components/collection/use-list-selection.d.cts +104 -0
  30. package/dist/components/collection/use-list-selection.d.ts +104 -0
  31. package/dist/components/collection/use-list-selection.js +111 -0
  32. package/dist/components/combobox/combobox-item-group.vue.cjs +2 -1
  33. package/dist/components/combobox/combobox-item-group.vue.js +2 -1
  34. package/dist/components/date-picker/date-picker-table.vue.cjs +2 -1
  35. package/dist/components/date-picker/date-picker-table.vue.js +2 -1
  36. package/dist/components/date-picker/use-date-picker.cjs +0 -1
  37. package/dist/components/date-picker/use-date-picker.js +0 -1
  38. package/dist/components/file-upload/file-upload-root.vue.cjs +2 -1
  39. package/dist/components/file-upload/file-upload-root.vue.d.cts +2 -0
  40. package/dist/components/file-upload/file-upload-root.vue.d.ts +2 -0
  41. package/dist/components/file-upload/file-upload-root.vue.js +2 -1
  42. package/dist/components/file-upload/file-upload.d.cts +1 -1
  43. package/dist/components/file-upload/file-upload.d.ts +1 -1
  44. package/dist/components/file-upload/file-upload.types.d.cts +8 -0
  45. package/dist/components/file-upload/file-upload.types.d.ts +8 -0
  46. package/dist/components/file-upload/index.d.cts +1 -1
  47. package/dist/components/file-upload/index.d.ts +1 -1
  48. package/dist/components/file-upload/use-file-upload.cjs +1 -0
  49. package/dist/components/file-upload/use-file-upload.js +1 -0
  50. package/dist/components/index.cjs +12 -0
  51. package/dist/components/index.d.cts +1 -0
  52. package/dist/components/index.d.ts +1 -0
  53. package/dist/components/index.js +7 -0
  54. package/dist/components/json-tree-view/get-branch-value.cjs +18 -0
  55. package/dist/components/json-tree-view/get-branch-value.d.cts +3 -0
  56. package/dist/components/json-tree-view/get-branch-value.d.ts +3 -0
  57. package/dist/components/json-tree-view/get-branch-value.js +14 -0
  58. package/dist/components/json-tree-view/index.cjs +17 -0
  59. package/dist/components/json-tree-view/index.d.cts +5 -0
  60. package/dist/components/json-tree-view/index.d.ts +5 -0
  61. package/dist/components/json-tree-view/index.js +6 -0
  62. package/dist/components/json-tree-view/json-tree-view-key-node.vue.cjs +30 -0
  63. package/dist/components/json-tree-view/json-tree-view-key-node.vue.d.cts +14 -0
  64. package/dist/components/json-tree-view/json-tree-view-key-node.vue.d.ts +14 -0
  65. package/dist/components/json-tree-view/json-tree-view-key-node.vue.js +26 -0
  66. package/dist/components/json-tree-view/json-tree-view-key-node.vue2.cjs +9 -0
  67. package/dist/components/json-tree-view/json-tree-view-key-node.vue2.js +5 -0
  68. package/dist/components/json-tree-view/json-tree-view-node.vue.cjs +140 -0
  69. package/dist/components/json-tree-view/json-tree-view-node.vue.d.cts +28 -0
  70. package/dist/components/json-tree-view/json-tree-view-node.vue.d.ts +28 -0
  71. package/dist/components/json-tree-view/json-tree-view-node.vue.js +136 -0
  72. package/dist/components/json-tree-view/json-tree-view-node.vue2.cjs +9 -0
  73. package/dist/components/json-tree-view/json-tree-view-node.vue2.js +5 -0
  74. package/dist/components/json-tree-view/json-tree-view-props-context.cjs +10 -0
  75. package/dist/components/json-tree-view/json-tree-view-props-context.d.cts +9 -0
  76. package/dist/components/json-tree-view/json-tree-view-props-context.d.ts +9 -0
  77. package/dist/components/json-tree-view/json-tree-view-props-context.js +5 -0
  78. package/dist/components/json-tree-view/json-tree-view-root-provider.vue.cjs +28 -0
  79. package/dist/components/json-tree-view/json-tree-view-root-provider.vue.d.cts +22 -0
  80. package/dist/components/json-tree-view/json-tree-view-root-provider.vue.d.ts +22 -0
  81. package/dist/components/json-tree-view/json-tree-view-root-provider.vue.js +24 -0
  82. package/dist/components/json-tree-view/json-tree-view-root-provider.vue2.cjs +9 -0
  83. package/dist/components/json-tree-view/json-tree-view-root-provider.vue2.js +5 -0
  84. package/dist/components/json-tree-view/json-tree-view-root.vue.cjs +87 -0
  85. package/dist/components/json-tree-view/json-tree-view-root.vue.d.cts +37 -0
  86. package/dist/components/json-tree-view/json-tree-view-root.vue.d.ts +37 -0
  87. package/dist/components/json-tree-view/json-tree-view-root.vue.js +83 -0
  88. package/dist/components/json-tree-view/json-tree-view-root.vue2.cjs +9 -0
  89. package/dist/components/json-tree-view/json-tree-view-root.vue2.js +5 -0
  90. package/dist/components/json-tree-view/json-tree-view-tree.vue.cjs +51 -0
  91. package/dist/components/json-tree-view/json-tree-view-tree.vue.d.cts +27 -0
  92. package/dist/components/json-tree-view/json-tree-view-tree.vue.d.ts +27 -0
  93. package/dist/components/json-tree-view/json-tree-view-tree.vue.js +47 -0
  94. package/dist/components/json-tree-view/json-tree-view-tree.vue2.cjs +9 -0
  95. package/dist/components/json-tree-view/json-tree-view-tree.vue2.js +5 -0
  96. package/dist/components/json-tree-view/json-tree-view-value-node.vue.cjs +49 -0
  97. package/dist/components/json-tree-view/json-tree-view-value-node.vue.d.cts +28 -0
  98. package/dist/components/json-tree-view/json-tree-view-value-node.vue.d.ts +28 -0
  99. package/dist/components/json-tree-view/json-tree-view-value-node.vue.js +45 -0
  100. package/dist/components/json-tree-view/json-tree-view-value-node.vue2.cjs +9 -0
  101. package/dist/components/json-tree-view/json-tree-view-value-node.vue2.js +5 -0
  102. package/dist/components/json-tree-view/json-tree-view.cjs +13 -0
  103. package/dist/components/json-tree-view/json-tree-view.d.cts +3 -0
  104. package/dist/components/json-tree-view/json-tree-view.d.ts +3 -0
  105. package/dist/components/json-tree-view/json-tree-view.js +3 -0
  106. package/dist/components/json-tree-view/use-json-tree-view.cjs +30 -0
  107. package/dist/components/json-tree-view/use-json-tree-view.d.cts +10 -0
  108. package/dist/components/json-tree-view/use-json-tree-view.d.ts +10 -0
  109. package/dist/components/json-tree-view/use-json-tree-view.js +26 -0
  110. package/dist/components/listbox/listbox-item-group.vue.cjs +2 -1
  111. package/dist/components/listbox/listbox-item-group.vue.js +2 -1
  112. package/dist/components/menu/menu-item-group.vue.cjs +2 -1
  113. package/dist/components/menu/menu-item-group.vue.js +2 -1
  114. package/dist/components/menu/menu-radio-item-group.vue.cjs +2 -1
  115. package/dist/components/menu/menu-radio-item-group.vue.js +2 -1
  116. package/dist/components/password-input/password-input-context.vue.d.cts +9 -9
  117. package/dist/components/password-input/password-input-context.vue.d.ts +9 -9
  118. package/dist/components/select/select-item-group.vue.cjs +2 -1
  119. package/dist/components/select/select-item-group.vue.js +2 -1
  120. package/dist/components/signature-pad/signature-pad-root.vue.cjs +2 -1
  121. package/dist/components/signature-pad/signature-pad-root.vue.d.cts +2 -0
  122. package/dist/components/signature-pad/signature-pad-root.vue.d.ts +2 -0
  123. package/dist/components/signature-pad/signature-pad-root.vue.js +2 -1
  124. package/dist/components/signature-pad/signature-pad.types.d.cts +8 -0
  125. package/dist/components/signature-pad/signature-pad.types.d.ts +8 -0
  126. package/dist/components/signature-pad/use-signature-pad.cjs +1 -0
  127. package/dist/components/signature-pad/use-signature-pad.js +1 -0
  128. package/dist/components/tabs/tabs-root.vue.d.cts +1 -1
  129. package/dist/components/tabs/tabs-root.vue.d.ts +1 -1
  130. package/dist/components/toggle-group/toggle-group-root.vue.d.cts +1 -1
  131. package/dist/components/toggle-group/toggle-group-root.vue.d.ts +1 -1
  132. package/dist/components/tree-view/tree-view-root.vue.cjs +4 -1
  133. package/dist/components/tree-view/tree-view-root.vue.js +4 -1
  134. package/dist/index.cjs +12 -0
  135. package/dist/index.js +7 -0
  136. package/package.json +61 -60
@@ -0,0 +1,104 @@
1
+ import { SelectionMode } from '@zag-js/collection';
2
+ import { MaybeRef, Ref } from 'vue';
3
+ import { CollectionItem, ListCollection } from './list-collection';
4
+ export interface UseListSelectionProps<T extends CollectionItem> {
5
+ /**
6
+ * The selection mode.
7
+ */
8
+ selectionMode?: SelectionMode;
9
+ /**
10
+ * Whether the selection is deselectable.
11
+ */
12
+ deselectable?: boolean;
13
+ /**
14
+ * The initial selected values.
15
+ */
16
+ initialSelectedValues?: string[];
17
+ /**
18
+ * Whether to reset the selection when the collection changes.
19
+ */
20
+ resetOnCollectionChange?: boolean;
21
+ /**
22
+ * The collection to use.
23
+ */
24
+ collection: ListCollection<T>;
25
+ }
26
+ export declare function useListSelection<T extends CollectionItem>(props: MaybeRef<UseListSelectionProps<T>>): UseListSelectionReturn;
27
+ export interface UseListSelectionReturn {
28
+ /**
29
+ * The selected values as an array.
30
+ */
31
+ selectedValues: Ref<string[]>;
32
+ /**
33
+ * Whether the selection is empty.
34
+ */
35
+ isEmpty: Ref<boolean>;
36
+ /**
37
+ * The first selected value.
38
+ */
39
+ firstSelectedValue: Ref<string | null>;
40
+ /**
41
+ * The last selected value.
42
+ */
43
+ lastSelectedValue: Ref<string | null>;
44
+ /**
45
+ * Check if a value is selected.
46
+ */
47
+ isSelected: (value: string | null) => boolean;
48
+ /**
49
+ * Check if a value can be selected.
50
+ */
51
+ canSelect: (value: string) => boolean;
52
+ /**
53
+ * Select a value.
54
+ */
55
+ select: (value: string, forceToggle?: boolean) => void;
56
+ /**
57
+ * Deselect a value.
58
+ */
59
+ deselect: (value: string) => void;
60
+ /**
61
+ * Toggle selection of a value.
62
+ */
63
+ toggle: (value: string) => void;
64
+ /**
65
+ * Replace the selection with a single value.
66
+ */
67
+ replace: (value: string | null) => void;
68
+ /**
69
+ * Extend the selection from anchor to target.
70
+ */
71
+ extend: (anchorValue: string, targetValue: string) => void;
72
+ /**
73
+ * Set the selected values.
74
+ */
75
+ setSelectedValues: (values: string[]) => void;
76
+ /**
77
+ * Clear the selection.
78
+ */
79
+ clear: () => void;
80
+ /**
81
+ * Clear all selections.
82
+ */
83
+ resetSelection: () => void;
84
+ /**
85
+ * Returns true if all items from the collection are selected.
86
+ */
87
+ isAllSelected: () => boolean;
88
+ /**
89
+ * Returns true if at least one item from the collection is selected.
90
+ */
91
+ isSomeSelected: () => boolean;
92
+ /**
93
+ * Set the selection to a specific array of items.
94
+ */
95
+ setSelection: (selection: string[]) => void;
96
+ /**
97
+ * Set the selection mode.
98
+ */
99
+ setSelectionMode: (mode: SelectionMode) => void;
100
+ /**
101
+ * Set whether the selection is deselectable.
102
+ */
103
+ setDeselectable: (deselectable: boolean) => void;
104
+ }
@@ -0,0 +1,111 @@
1
+ import { Selection } from '@zag-js/collection';
2
+ import { computed, toValue, shallowRef, watch } from 'vue';
3
+
4
+ function useListSelection(props) {
5
+ const resolvedProps = computed(() => {
6
+ const {
7
+ collection,
8
+ selectionMode = "single",
9
+ deselectable = true,
10
+ initialSelectedValues = [],
11
+ resetOnCollectionChange = false
12
+ } = toValue(props);
13
+ return { collection, selectionMode, deselectable, initialSelectedValues, resetOnCollectionChange };
14
+ });
15
+ const createSelection = (values = []) => {
16
+ const { selectionMode, deselectable } = resolvedProps.value;
17
+ const selection2 = new Selection(values);
18
+ selection2.selectionMode = selectionMode;
19
+ selection2.deselectable = deselectable;
20
+ return selection2;
21
+ };
22
+ const init = () => {
23
+ const { initialSelectedValues } = resolvedProps.value;
24
+ return createSelection(initialSelectedValues);
25
+ };
26
+ const selection = shallowRef(init());
27
+ watch(
28
+ [() => resolvedProps.value.collection.getValues(), () => resolvedProps.value.resetOnCollectionChange],
29
+ ([, resetOnCollectionChange]) => {
30
+ if (resetOnCollectionChange) {
31
+ selection.value = createSelection();
32
+ }
33
+ }
34
+ );
35
+ const selectedValues = computed(() => Array.from(selection.value));
36
+ const isEmpty = computed(() => selection.value.isEmpty());
37
+ const firstSelectedValue = computed(() => {
38
+ const { collection } = resolvedProps.value;
39
+ return selection.value.firstSelectedValue(collection);
40
+ });
41
+ const lastSelectedValue = computed(() => {
42
+ const { collection } = resolvedProps.value;
43
+ return selection.value.lastSelectedValue(collection);
44
+ });
45
+ return {
46
+ selectedValues,
47
+ isEmpty,
48
+ firstSelectedValue,
49
+ lastSelectedValue,
50
+ isSelected: (value) => {
51
+ return selection.value.isSelected(value);
52
+ },
53
+ isAllSelected: () => {
54
+ const { collection } = resolvedProps.value;
55
+ const allValues = collection.getValues();
56
+ return allValues.length > 0 && allValues.every((value) => selection.value.isSelected(value));
57
+ },
58
+ isSomeSelected: () => {
59
+ const { collection } = resolvedProps.value;
60
+ const allValues = collection.getValues();
61
+ return allValues.some((value) => selection.value.isSelected(value));
62
+ },
63
+ canSelect: (value) => {
64
+ const { collection } = resolvedProps.value;
65
+ return selection.value.canSelect(collection, value);
66
+ },
67
+ select: (value, forceToggle) => {
68
+ const { collection } = resolvedProps.value;
69
+ selection.value = selection.value.select(collection, value, forceToggle);
70
+ },
71
+ deselect: (value) => {
72
+ selection.value = selection.value.deselect(value);
73
+ },
74
+ toggle: (value) => {
75
+ const { collection } = resolvedProps.value;
76
+ selection.value = selection.value.toggleSelection(collection, value);
77
+ },
78
+ replace: (value) => {
79
+ const { collection } = resolvedProps.value;
80
+ selection.value = selection.value.replaceSelection(collection, value);
81
+ },
82
+ extend: (anchorValue, targetValue) => {
83
+ const { collection } = resolvedProps.value;
84
+ selection.value = selection.value.extendSelection(collection, anchorValue, targetValue);
85
+ },
86
+ setSelectedValues: (values) => {
87
+ selection.value = selection.value.setSelection(values);
88
+ },
89
+ clear: () => {
90
+ selection.value = selection.value.clearSelection();
91
+ },
92
+ resetSelection: () => {
93
+ selection.value = createSelection();
94
+ },
95
+ setSelection: (newSelection) => {
96
+ selection.value = selection.value.setSelection(newSelection);
97
+ },
98
+ setSelectionMode: (mode) => {
99
+ const newSelection = selection.value.copy();
100
+ newSelection.selectionMode = mode;
101
+ selection.value = newSelection;
102
+ },
103
+ setDeselectable: (deselectable) => {
104
+ const newSelection = selection.value.copy();
105
+ newSelection.deselectable = deselectable;
106
+ selection.value = newSelection;
107
+ }
108
+ };
109
+ }
110
+
111
+ export { useListSelection };
@@ -17,7 +17,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
17
  setup(__props) {
18
18
  const props = __props;
19
19
  const combobox = useComboboxContext.useComboboxContext();
20
- const id = props.id ?? vue.useId();
20
+ const uid = vue.useId();
21
+ const id = props.id ?? uid;
21
22
  useComboboxItemGroupPropsContext.ComboboxItemGroupPropsProvider({ id });
22
23
  useForwardExpose.useForwardExpose();
23
24
  return (_ctx, _cache) => {
@@ -13,7 +13,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
13
13
  setup(__props) {
14
14
  const props = __props;
15
15
  const combobox = useComboboxContext();
16
- const id = props.id ?? useId();
16
+ const uid = useId();
17
+ const id = props.id ?? uid;
17
18
  ComboboxItemGroupPropsProvider({ id });
18
19
  useForwardExpose();
19
20
  return (_ctx, _cache) => {
@@ -21,7 +21,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21
21
  const props = __props;
22
22
  const datePicker = useDatePickerContext.useDatePickerContext();
23
23
  const viewProps = useDatePickerViewPropsContext.useDatePickerViewPropsContext();
24
- const id = props.id ?? vue.useId();
24
+ const uid = vue.useId();
25
+ const id = props.id ?? uid;
25
26
  useDatePickerTablePropsContext.DatePickerTablePropsProvider({ ...props, id, ...viewProps });
26
27
  useForwardExpose.useForwardExpose();
27
28
  return (_ctx, _cache) => {
@@ -17,7 +17,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  const props = __props;
18
18
  const datePicker = useDatePickerContext();
19
19
  const viewProps = useDatePickerViewPropsContext();
20
- const id = props.id ?? useId();
20
+ const uid = useId();
21
+ const id = props.id ?? uid;
21
22
  DatePickerTablePropsProvider({ ...props, id, ...viewProps });
22
23
  useForwardExpose();
23
24
  return (_ctx, _cache) => {
@@ -58,7 +58,6 @@ const useDatePicker = (props = {}, emit) => {
58
58
  },
59
59
  onValueChange: (details) => {
60
60
  emit?.("valueChange", details);
61
- console.log("valueChange", details);
62
61
  emit?.("update:modelValue", details.value);
63
62
  localeProps.onValueChange?.(details);
64
63
  }
@@ -35,7 +35,6 @@ const useDatePicker = (props = {}, emit) => {
35
35
  },
36
36
  onValueChange: (details) => {
37
37
  emit?.("valueChange", details);
38
- console.log("valueChange", details);
39
38
  emit?.("update:modelValue", details.value);
40
39
  localeProps.onValueChange?.(details);
41
40
  }
@@ -12,6 +12,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
12
12
  __name: "file-upload-root",
13
13
  props: /* @__PURE__ */ vue.mergeDefaults({
14
14
  accept: {},
15
+ defaultAcceptedFiles: {},
15
16
  allowDrop: { type: Boolean },
16
17
  capture: {},
17
18
  directory: { type: Boolean },
@@ -38,7 +39,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
38
39
  preventDocumentDrop: void 0,
39
40
  required: void 0
40
41
  }),
41
- emits: ["fileAccept", "fileChange", "fileReject"],
42
+ emits: ["update:acceptedFiles", "fileAccept", "fileChange", "fileReject"],
42
43
  setup(__props, { emit: __emit }) {
43
44
  const props = __props;
44
45
  const emits = __emit;
@@ -13,10 +13,12 @@ HTMLAttributes {
13
13
  export interface FileUploadRootEmits extends RootEmits {
14
14
  }
15
15
  declare const _default: __VLS_WithTemplateSlots< DefineComponent<FileUploadRootProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
16
+ "update:acceptedFiles": (files: File[]) => any;
16
17
  fileAccept: (details: FileAcceptDetails) => any;
17
18
  fileChange: (details: FileChangeDetails) => any;
18
19
  fileReject: (details: FileRejectDetails) => any;
19
20
  }, string, PublicProps, Readonly<FileUploadRootProps> & Readonly<{
21
+ "onUpdate:acceptedFiles"?: ((files: File[]) => any) | undefined;
20
22
  onFileAccept?: ((details: FileAcceptDetails) => any) | undefined;
21
23
  onFileChange?: ((details: FileChangeDetails) => any) | undefined;
22
24
  onFileReject?: ((details: FileRejectDetails) => any) | undefined;
@@ -13,10 +13,12 @@ HTMLAttributes {
13
13
  export interface FileUploadRootEmits extends RootEmits {
14
14
  }
15
15
  declare const _default: __VLS_WithTemplateSlots< DefineComponent<FileUploadRootProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
16
+ "update:acceptedFiles": (files: File[]) => any;
16
17
  fileAccept: (details: FileAcceptDetails) => any;
17
18
  fileChange: (details: FileChangeDetails) => any;
18
19
  fileReject: (details: FileRejectDetails) => any;
19
20
  }, string, PublicProps, Readonly<FileUploadRootProps> & Readonly<{
21
+ "onUpdate:acceptedFiles"?: ((files: File[]) => any) | undefined;
20
22
  onFileAccept?: ((details: FileAcceptDetails) => any) | undefined;
21
23
  onFileChange?: ((details: FileChangeDetails) => any) | undefined;
22
24
  onFileReject?: ((details: FileRejectDetails) => any) | undefined;
@@ -8,6 +8,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
8
8
  __name: "file-upload-root",
9
9
  props: /* @__PURE__ */ mergeDefaults({
10
10
  accept: {},
11
+ defaultAcceptedFiles: {},
11
12
  allowDrop: { type: Boolean },
12
13
  capture: {},
13
14
  directory: { type: Boolean },
@@ -34,7 +35,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
35
  preventDocumentDrop: void 0,
35
36
  required: void 0
36
37
  }),
37
- emits: ["fileAccept", "fileChange", "fileReject"],
38
+ emits: ["update:acceptedFiles", "fileAccept", "fileChange", "fileReject"],
38
39
  setup(__props, { emit: __emit }) {
39
40
  const props = __props;
40
41
  const emits = __emit;
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails, FileError, FileMimeType, FileRejection, } from '@zag-js/file-upload';
2
2
  export { default as ClearTrigger, type FileUploadClearTriggerBaseProps as ClearTriggerBaseProps, type FileUploadClearTriggerProps as ClearTriggerProps, } from './file-upload-clear-trigger.vue';
3
3
  export { default as Context, type FileUploadContextProps as ContextProps } from './file-upload-context.vue';
4
4
  export { default as Dropzone, type FileUploadDropzoneBaseProps as DropzoneBaseProps, type FileUploadDropzoneProps as DropzoneProps, } from './file-upload-dropzone.vue';
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails, FileChangeDetails, FileRejectDetails, FileValidateDetails, FileError, FileMimeType, FileRejection, } from '@zag-js/file-upload';
2
2
  export { default as ClearTrigger, type FileUploadClearTriggerBaseProps as ClearTriggerBaseProps, type FileUploadClearTriggerProps as ClearTriggerProps, } from './file-upload-clear-trigger.vue';
3
3
  export { default as Context, type FileUploadContextProps as ContextProps } from './file-upload-context.vue';
4
4
  export { default as Dropzone, type FileUploadDropzoneBaseProps as DropzoneBaseProps, type FileUploadDropzoneProps as DropzoneProps, } from './file-upload-dropzone.vue';
@@ -4,6 +4,10 @@ export interface RootProps {
4
4
  * The accept file types
5
5
  */
6
6
  accept?: Record<string, string[]> | fileUpload.FileMimeType | fileUpload.FileMimeType[];
7
+ /**
8
+ * The default accepted files
9
+ */
10
+ defaultAcceptedFiles?: File[];
7
11
  /**
8
12
  * Whether to allow drag and drop in the dropzone element
9
13
  * @default true
@@ -92,6 +96,10 @@ export interface RootProps {
92
96
  transformFiles?: (files: File[]) => Promise<File[]>;
93
97
  }
94
98
  export type RootEmits = {
99
+ /**
100
+ * Function called when the accepted files change
101
+ */
102
+ 'update:acceptedFiles': [files: File[]];
95
103
  /**
96
104
  * Function called when the file is accepted
97
105
  */
@@ -4,6 +4,10 @@ export interface RootProps {
4
4
  * The accept file types
5
5
  */
6
6
  accept?: Record<string, string[]> | fileUpload.FileMimeType | fileUpload.FileMimeType[];
7
+ /**
8
+ * The default accepted files
9
+ */
10
+ defaultAcceptedFiles?: File[];
7
11
  /**
8
12
  * Whether to allow drag and drop in the dropzone element
9
13
  * @default true
@@ -92,6 +96,10 @@ export interface RootProps {
92
96
  transformFiles?: (files: File[]) => Promise<File[]>;
93
97
  }
94
98
  export type RootEmits = {
99
+ /**
100
+ * Function called when the accepted files change
101
+ */
102
+ 'update:acceptedFiles': [files: File[]];
95
103
  /**
96
104
  * Function called when the file is accepted
97
105
  */
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, FileError as FileUploadFileError, FileMimeType as FileUploadFileMimeType, FileRejection as FileUploadFileRejection, } from '@zag-js/file-upload';
2
2
  export { default as FileUploadClearTrigger, type FileUploadClearTriggerBaseProps, type FileUploadClearTriggerProps, } from './file-upload-clear-trigger.vue';
3
3
  export { default as FileUploadContext, type FileUploadContextProps } from './file-upload-context.vue';
4
4
  export { default as FileUploadDropzone, type FileUploadDropzoneBaseProps, type FileUploadDropzoneProps, } from './file-upload-dropzone.vue';
@@ -1,4 +1,4 @@
1
- export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, } from '@zag-js/file-upload';
1
+ export type { FileAcceptDetails as FileUploadFileAcceptDetails, FileChangeDetails as FileUploadFileChangeDetails, FileRejectDetails as FileUploadFileRejectDetails, FileValidateDetails as FileUploadFileValidateDetails, FileError as FileUploadFileError, FileMimeType as FileUploadFileMimeType, FileRejection as FileUploadFileRejection, } from '@zag-js/file-upload';
2
2
  export { default as FileUploadClearTrigger, type FileUploadClearTriggerBaseProps, type FileUploadClearTriggerProps, } from './file-upload-clear-trigger.vue';
3
3
  export { default as FileUploadContext, type FileUploadContextProps } from './file-upload-context.vue';
4
4
  export { default as FileUploadDropzone, type FileUploadDropzoneBaseProps, type FileUploadDropzoneProps, } from './file-upload-dropzone.vue';
@@ -50,6 +50,7 @@ const useFileUpload = (props = {}, emit) => {
50
50
  getRootNode: env?.value.getRootNode,
51
51
  ...cleanProps.cleanProps(localeProps),
52
52
  onFileChange: (details) => {
53
+ emit?.("update:acceptedFiles", details.acceptedFiles);
53
54
  emit?.("fileChange", details);
54
55
  localeProps.onFileChange?.(details);
55
56
  },
@@ -27,6 +27,7 @@ const useFileUpload = (props = {}, emit) => {
27
27
  getRootNode: env?.value.getRootNode,
28
28
  ...cleanProps(localeProps),
29
29
  onFileChange: (details) => {
30
+ emit?.("update:acceptedFiles", details.acceptedFiles);
30
31
  emit?.("fileChange", details);
31
32
  localeProps.onFileChange?.(details);
32
33
  },
@@ -52,6 +52,7 @@ const carousel$1 = require('./carousel/carousel.cjs');
52
52
  const checkboxContext_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-context.vue.cjs');
53
53
  const checkboxControl_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-control.vue.cjs');
54
54
  const checkboxGroup_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-group.vue.cjs');
55
+ const checkboxGroupProvider_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-group-provider.vue.cjs');
55
56
  const checkboxHiddenInput_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-hidden-input.vue.cjs');
56
57
  const checkboxIndicator_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-indicator.vue.cjs');
57
58
  const checkboxLabel_vue_vue_type_script_setup_true_lang = require('./checkbox/checkbox-label.vue.cjs');
@@ -281,6 +282,11 @@ const hoverCardTrigger_vue_vue_type_script_setup_true_lang = require('./hover-ca
281
282
  const useHoverCard = require('./hover-card/use-hover-card.cjs');
282
283
  const useHoverCardContext = require('./hover-card/use-hover-card-context.cjs');
283
284
  const hoverCard$1 = require('./hover-card/hover-card.cjs');
285
+ const jsonTreeViewRoot_vue_vue_type_script_setup_true_lang = require('./json-tree-view/json-tree-view-root.vue.cjs');
286
+ const jsonTreeViewRootProvider_vue_vue_type_script_setup_true_lang = require('./json-tree-view/json-tree-view-root-provider.vue.cjs');
287
+ const jsonTreeViewTree_vue_vue_type_script_setup_true_lang = require('./json-tree-view/json-tree-view-tree.vue.cjs');
288
+ const useJsonTreeView = require('./json-tree-view/use-json-tree-view.cjs');
289
+ const jsonTreeView = require('./json-tree-view/json-tree-view.cjs');
284
290
  const listboxContext_vue_vue_type_script_setup_true_lang = require('./listbox/listbox-context.vue.cjs');
285
291
  const listboxContent_vue_vue_type_script_setup_true_lang = require('./listbox/listbox-content.vue.cjs');
286
292
  const listboxInput_vue_vue_type_script_setup_true_lang = require('./listbox/listbox-input.vue.cjs');
@@ -761,6 +767,7 @@ exports.Carousel = carousel$1;
761
767
  exports.CheckboxContext = checkboxContext_vue_vue_type_script_setup_true_lang.default;
762
768
  exports.CheckboxControl = checkboxControl_vue_vue_type_script_setup_true_lang.default;
763
769
  exports.CheckboxGroup = checkboxGroup_vue_vue_type_script_setup_true_lang.default;
770
+ exports.CheckboxGroupProvider = checkboxGroupProvider_vue_vue_type_script_setup_true_lang.default;
764
771
  exports.CheckboxHiddenInput = checkboxHiddenInput_vue_vue_type_script_setup_true_lang.default;
765
772
  exports.CheckboxIndicator = checkboxIndicator_vue_vue_type_script_setup_true_lang.default;
766
773
  exports.CheckboxLabel = checkboxLabel_vue_vue_type_script_setup_true_lang.default;
@@ -998,6 +1005,11 @@ exports.HoverCardTrigger = hoverCardTrigger_vue_vue_type_script_setup_true_lang.
998
1005
  exports.useHoverCard = useHoverCard.useHoverCard;
999
1006
  exports.useHoverCardContext = useHoverCardContext.useHoverCardContext;
1000
1007
  exports.HoverCard = hoverCard$1;
1008
+ exports.JsonTreeViewRoot = jsonTreeViewRoot_vue_vue_type_script_setup_true_lang.default;
1009
+ exports.JsonTreeViewRootProvider = jsonTreeViewRootProvider_vue_vue_type_script_setup_true_lang.default;
1010
+ exports.JsonTreeViewTree = jsonTreeViewTree_vue_vue_type_script_setup_true_lang.default;
1011
+ exports.useJsonTreeView = useJsonTreeView.useJsonTreeView;
1012
+ exports.JsonTreeView = jsonTreeView;
1001
1013
  exports.ListboxContext = listboxContext_vue_vue_type_script_setup_true_lang.default;
1002
1014
  exports.ListboxContent = listboxContent_vue_vue_type_script_setup_true_lang.default;
1003
1015
  exports.ListboxInput = listboxInput_vue_vue_type_script_setup_true_lang.default;
@@ -22,6 +22,7 @@ export * from './format';
22
22
  export * from './frame';
23
23
  export * from './highlight';
24
24
  export * from './hover-card';
25
+ export * from './json-tree-view';
25
26
  export * from './listbox';
26
27
  export * from './menu';
27
28
  export * from './number-input';
@@ -22,6 +22,7 @@ export * from './format';
22
22
  export * from './frame';
23
23
  export * from './highlight';
24
24
  export * from './hover-card';
25
+ export * from './json-tree-view';
25
26
  export * from './listbox';
26
27
  export * from './menu';
27
28
  export * from './number-input';
@@ -52,6 +52,7 @@ export { carousel as Carousel };
52
52
  export { default as CheckboxContext } from './checkbox/checkbox-context.vue.js';
53
53
  export { default as CheckboxControl } from './checkbox/checkbox-control.vue.js';
54
54
  export { default as CheckboxGroup } from './checkbox/checkbox-group.vue.js';
55
+ export { default as CheckboxGroupProvider } from './checkbox/checkbox-group-provider.vue.js';
55
56
  export { default as CheckboxHiddenInput } from './checkbox/checkbox-hidden-input.vue.js';
56
57
  export { default as CheckboxIndicator } from './checkbox/checkbox-indicator.vue.js';
57
58
  export { default as CheckboxLabel } from './checkbox/checkbox-label.vue.js';
@@ -295,6 +296,12 @@ export { useHoverCard } from './hover-card/use-hover-card.js';
295
296
  export { useHoverCardContext } from './hover-card/use-hover-card-context.js';
296
297
  import * as hoverCard from './hover-card/hover-card.js';
297
298
  export { hoverCard as HoverCard };
299
+ export { default as JsonTreeViewRoot } from './json-tree-view/json-tree-view-root.vue.js';
300
+ export { default as JsonTreeViewRootProvider } from './json-tree-view/json-tree-view-root-provider.vue.js';
301
+ export { default as JsonTreeViewTree } from './json-tree-view/json-tree-view-tree.vue.js';
302
+ export { useJsonTreeView } from './json-tree-view/use-json-tree-view.js';
303
+ import * as jsonTreeView from './json-tree-view/json-tree-view.js';
304
+ export { jsonTreeView as JsonTreeView };
298
305
  export { default as ListboxContext } from './listbox/listbox-context.vue.js';
299
306
  export { default as ListboxContent } from './listbox/listbox-content.vue.js';
300
307
  export { default as ListboxInput } from './listbox/listbox-input.vue.js';
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ function getBranchValues(tree, depth) {
6
+ let values = [];
7
+ tree.visit({
8
+ onEnter: (node, indexPath) => {
9
+ if (indexPath.length === 0) return;
10
+ if (tree.isBranchNode(node) && indexPath.length <= depth) {
11
+ values.push(tree.getNodeValue(node));
12
+ }
13
+ }
14
+ });
15
+ return values;
16
+ }
17
+
18
+ exports.getBranchValues = getBranchValues;
@@ -0,0 +1,3 @@
1
+ import { TreeCollection } from '@zag-js/collection';
2
+ import { JsonNode } from '@zag-js/json-tree-utils';
3
+ export declare function getBranchValues(tree: TreeCollection<JsonNode>, depth: number): string[];
@@ -0,0 +1,3 @@
1
+ import { TreeCollection } from '@zag-js/collection';
2
+ import { JsonNode } from '@zag-js/json-tree-utils';
3
+ export declare function getBranchValues(tree: TreeCollection<JsonNode>, depth: number): string[];
@@ -0,0 +1,14 @@
1
+ function getBranchValues(tree, depth) {
2
+ let values = [];
3
+ tree.visit({
4
+ onEnter: (node, indexPath) => {
5
+ if (indexPath.length === 0) return;
6
+ if (tree.isBranchNode(node) && indexPath.length <= depth) {
7
+ values.push(tree.getNodeValue(node));
8
+ }
9
+ }
10
+ });
11
+ return values;
12
+ }
13
+
14
+ export { getBranchValues };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const jsonTreeViewRoot_vue_vue_type_script_setup_true_lang = require('./json-tree-view-root.vue.cjs');
6
+ const jsonTreeViewRootProvider_vue_vue_type_script_setup_true_lang = require('./json-tree-view-root-provider.vue.cjs');
7
+ const jsonTreeViewTree_vue_vue_type_script_setup_true_lang = require('./json-tree-view-tree.vue.cjs');
8
+ const useJsonTreeView = require('./use-json-tree-view.cjs');
9
+ const jsonTreeView = require('./json-tree-view.cjs');
10
+
11
+
12
+
13
+ exports.JsonTreeViewRoot = jsonTreeViewRoot_vue_vue_type_script_setup_true_lang.default;
14
+ exports.JsonTreeViewRootProvider = jsonTreeViewRootProvider_vue_vue_type_script_setup_true_lang.default;
15
+ exports.JsonTreeViewTree = jsonTreeViewTree_vue_vue_type_script_setup_true_lang.default;
16
+ exports.useJsonTreeView = useJsonTreeView.useJsonTreeView;
17
+ exports.JsonTreeView = jsonTreeView;
@@ -0,0 +1,5 @@
1
+ export { default as JsonTreeViewRoot, type JsonTreeViewRootProps } from './json-tree-view-root.vue';
2
+ export { default as JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps, } from './json-tree-view-root-provider.vue';
3
+ export { default as JsonTreeViewTree, type JsonTreeViewTreeProps } from './json-tree-view-tree.vue';
4
+ export { useJsonTreeView, type UseJsonTreeViewProps, type UseJsonTreeViewReturn } from './use-json-tree-view';
5
+ export * as JsonTreeView from './json-tree-view';
@@ -0,0 +1,5 @@
1
+ export { default as JsonTreeViewRoot, type JsonTreeViewRootProps } from './json-tree-view-root.vue';
2
+ export { default as JsonTreeViewRootProvider, type JsonTreeViewRootProviderProps, } from './json-tree-view-root-provider.vue';
3
+ export { default as JsonTreeViewTree, type JsonTreeViewTreeProps } from './json-tree-view-tree.vue';
4
+ export { useJsonTreeView, type UseJsonTreeViewProps, type UseJsonTreeViewReturn } from './use-json-tree-view';
5
+ export * as JsonTreeView from './json-tree-view';
@@ -0,0 +1,6 @@
1
+ export { default as JsonTreeViewRoot } from './json-tree-view-root.vue.js';
2
+ export { default as JsonTreeViewRootProvider } from './json-tree-view-root-provider.vue.js';
3
+ export { default as JsonTreeViewTree } from './json-tree-view-tree.vue.js';
4
+ export { useJsonTreeView } from './use-json-tree-view.js';
5
+ import * as jsonTreeView from './json-tree-view.js';
6
+ export { jsonTreeView as JsonTreeView };
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const vue = require('vue');
6
+ const jsonTreeUtils = require('@zag-js/json-tree-utils');
7
+
8
+ const _hoisted_1 = ["data-non-enumerable"];
9
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
10
+ __name: "json-tree-view-key-node",
11
+ props: {
12
+ node: {},
13
+ showQuotes: { type: Boolean }
14
+ },
15
+ setup(__props) {
16
+ const props = __props;
17
+ const key = vue.computed(() => jsonTreeUtils.keyPathToKey(props.node.keyPath));
18
+ return (_ctx, _cache) => {
19
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
20
+ vue.createElementVNode("span", {
21
+ "data-kind": "key",
22
+ "data-non-enumerable": _ctx.node.isNonEnumerable ? "" : void 0
23
+ }, vue.toDisplayString(_ctx.showQuotes ? `"${key.value}"` : key.value), 9, _hoisted_1),
24
+ _cache[0] || (_cache[0] = vue.createElementVNode("span", { "data-kind": "colon" }, ":", -1))
25
+ ], 64);
26
+ };
27
+ }
28
+ });
29
+
30
+ exports.default = _sfc_main;