@ark-ui/react 5.37.2 → 5.38.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 (221) hide show
  1. package/dist/components/accordion/accordion.cjs +8 -0
  2. package/dist/components/accordion/accordion.js +1 -1
  3. package/dist/components/angle-slider/angle-slider.cjs +10 -0
  4. package/dist/components/angle-slider/angle-slider.js +1 -1
  5. package/dist/components/avatar/avatar.cjs +5 -0
  6. package/dist/components/avatar/avatar.js +1 -1
  7. package/dist/components/carousel/carousel.cjs +13 -0
  8. package/dist/components/carousel/carousel.js +1 -1
  9. package/dist/components/checkbox/checkbox.cjs +9 -0
  10. package/dist/components/checkbox/checkbox.js +1 -1
  11. package/dist/components/clipboard/clipboard.cjs +9 -0
  12. package/dist/components/clipboard/clipboard.js +1 -1
  13. package/dist/components/collapsible/collapsible-content.cjs +8 -5
  14. package/dist/components/collapsible/collapsible-content.js +8 -5
  15. package/dist/components/collapsible/collapsible-gate.cjs +15 -0
  16. package/dist/components/collapsible/collapsible-gate.d.cts +7 -0
  17. package/dist/components/collapsible/collapsible-gate.d.ts +7 -0
  18. package/dist/components/collapsible/collapsible-gate.js +15 -0
  19. package/dist/components/collapsible/collapsible.cjs +6 -0
  20. package/dist/components/collapsible/collapsible.js +1 -1
  21. package/dist/components/collapsible/split-collapsible-props.cjs +1 -0
  22. package/dist/components/collapsible/split-collapsible-props.d.cts +1 -1
  23. package/dist/components/collapsible/split-collapsible-props.d.ts +1 -1
  24. package/dist/components/collapsible/split-collapsible-props.js +1 -0
  25. package/dist/components/collapsible/use-collapsible.cjs +5 -2
  26. package/dist/components/collapsible/use-collapsible.d.cts +5 -1
  27. package/dist/components/collapsible/use-collapsible.d.ts +5 -1
  28. package/dist/components/collapsible/use-collapsible.js +6 -3
  29. package/dist/components/color-picker/color-picker-content.cjs +8 -4
  30. package/dist/components/color-picker/color-picker-content.js +9 -5
  31. package/dist/components/color-picker/color-picker.cjs +29 -0
  32. package/dist/components/color-picker/color-picker.js +1 -1
  33. package/dist/components/combobox/combobox-content.cjs +8 -4
  34. package/dist/components/combobox/combobox-content.js +9 -5
  35. package/dist/components/combobox/combobox.cjs +18 -0
  36. package/dist/components/combobox/combobox.js +1 -1
  37. package/dist/components/date-input/date-input.cjs +9 -0
  38. package/dist/components/date-input/date-input.js +1 -1
  39. package/dist/components/date-picker/date-picker-content.cjs +8 -4
  40. package/dist/components/date-picker/date-picker-content.js +9 -5
  41. package/dist/components/date-picker/date-picker.cjs +29 -0
  42. package/dist/components/date-picker/date-picker.js +1 -1
  43. package/dist/components/dialog/dialog-backdrop.cjs +8 -4
  44. package/dist/components/dialog/dialog-backdrop.js +9 -5
  45. package/dist/components/dialog/dialog-content.cjs +8 -4
  46. package/dist/components/dialog/dialog-content.js +9 -5
  47. package/dist/components/dialog/dialog.cjs +10 -0
  48. package/dist/components/dialog/dialog.js +1 -1
  49. package/dist/components/drawer/drawer-backdrop.cjs +8 -4
  50. package/dist/components/drawer/drawer-backdrop.js +9 -5
  51. package/dist/components/drawer/drawer-content.cjs +8 -4
  52. package/dist/components/drawer/drawer-content.js +9 -5
  53. package/dist/components/drawer/drawer.cjs +16 -0
  54. package/dist/components/drawer/drawer.js +1 -1
  55. package/dist/components/editable/editable.cjs +11 -0
  56. package/dist/components/editable/editable.js +1 -1
  57. package/dist/components/factory.cjs +5 -4
  58. package/dist/components/factory.js +6 -5
  59. package/dist/components/field/field-root.cjs +2 -1
  60. package/dist/components/field/field-root.js +3 -2
  61. package/dist/components/field/field-textarea.cjs +2 -1
  62. package/dist/components/field/field-textarea.js +3 -2
  63. package/dist/components/field/field.cjs +11 -0
  64. package/dist/components/field/field.js +1 -1
  65. package/dist/components/field/use-field.cjs +7 -15
  66. package/dist/components/field/use-field.js +7 -15
  67. package/dist/components/fieldset/fieldset-root.cjs +2 -1
  68. package/dist/components/fieldset/fieldset-root.js +3 -2
  69. package/dist/components/fieldset/fieldset.cjs +6 -0
  70. package/dist/components/fieldset/fieldset.js +1 -1
  71. package/dist/components/fieldset/use-fieldset.cjs +4 -2
  72. package/dist/components/fieldset/use-fieldset.js +4 -2
  73. package/dist/components/file-upload/file-upload.cjs +15 -0
  74. package/dist/components/file-upload/file-upload.js +1 -1
  75. package/dist/components/floating-panel/floating-panel-content.cjs +8 -4
  76. package/dist/components/floating-panel/floating-panel-content.js +9 -5
  77. package/dist/components/floating-panel/floating-panel.cjs +20 -0
  78. package/dist/components/floating-panel/floating-panel.js +1 -1
  79. package/dist/components/focus-trap/focus-trap.cjs +4 -2
  80. package/dist/components/focus-trap/focus-trap.d.cts +1 -1
  81. package/dist/components/focus-trap/focus-trap.d.ts +1 -1
  82. package/dist/components/focus-trap/focus-trap.js +5 -3
  83. package/dist/components/format/format.cjs +4 -0
  84. package/dist/components/format/format.js +1 -1
  85. package/dist/components/frame/frame.cjs +2 -1
  86. package/dist/components/frame/frame.js +3 -2
  87. package/dist/components/hover-card/hover-card-content.cjs +8 -4
  88. package/dist/components/hover-card/hover-card-content.js +9 -5
  89. package/dist/components/hover-card/hover-card.cjs +8 -0
  90. package/dist/components/hover-card/hover-card.js +1 -1
  91. package/dist/components/image-cropper/image-cropper.cjs +14 -0
  92. package/dist/components/image-cropper/image-cropper.js +1 -1
  93. package/dist/components/json-tree-view/json-tree-view.cjs +3 -0
  94. package/dist/components/json-tree-view/json-tree-view.js +1 -1
  95. package/dist/components/listbox/listbox.cjs +14 -0
  96. package/dist/components/listbox/listbox.js +1 -1
  97. package/dist/components/marquee/marquee.cjs +7 -0
  98. package/dist/components/marquee/marquee.js +1 -1
  99. package/dist/components/menu/menu-content.cjs +8 -4
  100. package/dist/components/menu/menu-content.js +9 -5
  101. package/dist/components/menu/menu.cjs +21 -0
  102. package/dist/components/menu/menu.js +1 -1
  103. package/dist/components/navigation-menu/navigation-menu-content.cjs +8 -3
  104. package/dist/components/navigation-menu/navigation-menu-content.js +9 -4
  105. package/dist/components/navigation-menu/navigation-menu-indicator.cjs +8 -3
  106. package/dist/components/navigation-menu/navigation-menu-indicator.js +9 -4
  107. package/dist/components/navigation-menu/navigation-menu-viewport.cjs +8 -3
  108. package/dist/components/navigation-menu/navigation-menu-viewport.js +9 -4
  109. package/dist/components/navigation-menu/navigation-menu.cjs +13 -0
  110. package/dist/components/navigation-menu/navigation-menu.js +1 -1
  111. package/dist/components/number-input/number-input-root.cjs +2 -0
  112. package/dist/components/number-input/number-input-root.js +2 -0
  113. package/dist/components/number-input/number-input.cjs +10 -0
  114. package/dist/components/number-input/number-input.js +1 -1
  115. package/dist/components/pagination/pagination.cjs +9 -0
  116. package/dist/components/pagination/pagination.js +1 -1
  117. package/dist/components/password-input/password-input.cjs +8 -0
  118. package/dist/components/password-input/password-input.js +1 -1
  119. package/dist/components/pin-input/pin-input.cjs +7 -0
  120. package/dist/components/pin-input/pin-input.js +1 -1
  121. package/dist/components/popover/popover-content.cjs +8 -4
  122. package/dist/components/popover/popover-content.js +9 -5
  123. package/dist/components/popover/popover.cjs +13 -0
  124. package/dist/components/popover/popover.js +1 -1
  125. package/dist/components/presence/index.d.cts +1 -0
  126. package/dist/components/presence/index.d.ts +1 -0
  127. package/dist/components/presence/presence-gate.cjs +15 -0
  128. package/dist/components/presence/presence-gate.d.cts +7 -0
  129. package/dist/components/presence/presence-gate.d.ts +7 -0
  130. package/dist/components/presence/presence-gate.js +15 -0
  131. package/dist/components/presence/presence.cjs +11 -7
  132. package/dist/components/presence/presence.js +12 -8
  133. package/dist/components/presence/split-presence-props.cjs +1 -0
  134. package/dist/components/presence/split-presence-props.d.cts +1 -1
  135. package/dist/components/presence/split-presence-props.d.ts +1 -1
  136. package/dist/components/presence/split-presence-props.js +1 -0
  137. package/dist/components/presence/use-presence.cjs +6 -3
  138. package/dist/components/presence/use-presence.d.cts +2 -1
  139. package/dist/components/presence/use-presence.d.ts +2 -1
  140. package/dist/components/presence/use-presence.js +7 -4
  141. package/dist/components/progress/progress.cjs +11 -0
  142. package/dist/components/progress/progress.js +1 -1
  143. package/dist/components/qr-code/qr-code.cjs +7 -0
  144. package/dist/components/qr-code/qr-code.js +1 -1
  145. package/dist/components/radio-group/radio-group.cjs +10 -0
  146. package/dist/components/radio-group/radio-group.js +1 -1
  147. package/dist/components/rating-group/rating-group.cjs +8 -0
  148. package/dist/components/rating-group/rating-group.js +1 -1
  149. package/dist/components/scroll-area/scroll-area.cjs +8 -0
  150. package/dist/components/scroll-area/scroll-area.js +1 -1
  151. package/dist/components/segment-group/segment-group.cjs +10 -0
  152. package/dist/components/segment-group/segment-group.js +1 -1
  153. package/dist/components/select/select-content.cjs +8 -4
  154. package/dist/components/select/select-content.js +9 -5
  155. package/dist/components/select/select.cjs +19 -0
  156. package/dist/components/select/select.js +1 -1
  157. package/dist/components/signature-pad/signature-pad.cjs +9 -0
  158. package/dist/components/signature-pad/signature-pad.js +1 -1
  159. package/dist/components/slider/slider-root.cjs +1 -0
  160. package/dist/components/slider/slider-root.js +1 -0
  161. package/dist/components/slider/slider.cjs +13 -0
  162. package/dist/components/slider/slider.js +1 -1
  163. package/dist/components/splitter/splitter.cjs +13 -0
  164. package/dist/components/splitter/splitter.js +1 -1
  165. package/dist/components/steps/steps-root-provider.cjs +1 -2
  166. package/dist/components/steps/steps-root-provider.js +1 -2
  167. package/dist/components/steps/steps.cjs +14 -0
  168. package/dist/components/steps/steps.js +1 -1
  169. package/dist/components/swap/swap-indicator.cjs +8 -4
  170. package/dist/components/swap/swap-indicator.js +9 -5
  171. package/dist/components/swap/swap-root.cjs +3 -2
  172. package/dist/components/swap/swap-root.js +3 -2
  173. package/dist/components/swap/swap.cjs +4 -0
  174. package/dist/components/swap/swap.js +1 -1
  175. package/dist/components/swap/use-swap.cjs +3 -2
  176. package/dist/components/swap/use-swap.js +3 -2
  177. package/dist/components/switch/switch.cjs +7 -0
  178. package/dist/components/switch/switch.js +1 -1
  179. package/dist/components/tabs/tab-content.cjs +8 -3
  180. package/dist/components/tabs/tab-content.js +9 -4
  181. package/dist/components/tabs/tabs.cjs +7 -0
  182. package/dist/components/tabs/tabs.js +1 -1
  183. package/dist/components/tags-input/tags-input.cjs +14 -0
  184. package/dist/components/tags-input/tags-input.js +1 -1
  185. package/dist/components/timer/timer.cjs +8 -0
  186. package/dist/components/timer/timer.js +1 -1
  187. package/dist/components/toast/create-toaster.d.cts +3 -3
  188. package/dist/components/toast/create-toaster.d.ts +3 -3
  189. package/dist/components/toast/toast.cjs +6 -0
  190. package/dist/components/toast/toast.js +1 -1
  191. package/dist/components/toast/toaster.d.cts +1 -1
  192. package/dist/components/toast/toaster.d.ts +1 -1
  193. package/dist/components/toggle/toggle.cjs +4 -0
  194. package/dist/components/toggle/toggle.js +1 -1
  195. package/dist/components/toggle-group/toggle-group.cjs +4 -0
  196. package/dist/components/toggle-group/toggle-group.js +1 -1
  197. package/dist/components/tooltip/tooltip-content.cjs +8 -4
  198. package/dist/components/tooltip/tooltip-content.js +9 -5
  199. package/dist/components/tooltip/tooltip.cjs +8 -0
  200. package/dist/components/tooltip/tooltip.js +1 -1
  201. package/dist/components/tour/tour-backdrop.cjs +9 -5
  202. package/dist/components/tour/tour-backdrop.js +10 -6
  203. package/dist/components/tour/tour-content.cjs +8 -4
  204. package/dist/components/tour/tour-content.js +9 -5
  205. package/dist/components/tour/tour-spotlight.cjs +9 -5
  206. package/dist/components/tour/tour-spotlight.js +10 -6
  207. package/dist/components/tour/tour.anatomy.d.cts +1 -1
  208. package/dist/components/tour/tour.anatomy.d.ts +1 -1
  209. package/dist/components/tour/tour.cjs +15 -0
  210. package/dist/components/tour/tour.js +1 -1
  211. package/dist/components/tree-view/tree-view.cjs +20 -0
  212. package/dist/components/tree-view/tree-view.js +1 -1
  213. package/dist/utils/compose-refs.cjs +5 -0
  214. package/dist/utils/compose-refs.d.cts +3 -2
  215. package/dist/utils/compose-refs.d.ts +3 -2
  216. package/dist/utils/compose-refs.js +5 -1
  217. package/dist/utils/render-strategy.cjs +5 -1
  218. package/dist/utils/render-strategy.d.cts +9 -1
  219. package/dist/utils/render-strategy.d.ts +9 -1
  220. package/dist/utils/render-strategy.js +5 -1
  221. package/package.json +86 -86
@@ -39,18 +39,6 @@ var useField = (props = {}) => {
39
39
  errorTextId,
40
40
  helperTextId
41
41
  ]);
42
- const labelIds = useMemo(() => {
43
- const ids = [];
44
- if (hasErrorText && invalid) ids.push(errorTextId);
45
- if (hasHelperText) ids.push(helperTextId);
46
- return ids.join(" ") || void 0;
47
- }, [
48
- invalid,
49
- errorTextId,
50
- helperTextId,
51
- hasErrorText,
52
- hasHelperText
53
- ]);
54
42
  const getRootProps = useMemo(() => () => ({
55
43
  ...parts.root.attrs,
56
44
  id: rootId,
@@ -83,8 +71,10 @@ var useField = (props = {}) => {
83
71
  labelId,
84
72
  targetControlId
85
73
  ]);
74
+ const errorMessageId = hasErrorText && invalid ? errorTextId : void 0;
86
75
  const getControlProps = useMemo(() => () => ({
87
- "aria-describedby": labelIds,
76
+ "aria-describedby": hasHelperText ? helperTextId : void 0,
77
+ "aria-errormessage": errorMessageId,
88
78
  "aria-invalid": ariaAttr(invalid),
89
79
  "data-invalid": dataAttr(invalid),
90
80
  "data-required": dataAttr(required),
@@ -94,11 +84,13 @@ var useField = (props = {}) => {
94
84
  disabled,
95
85
  readOnly
96
86
  }), [
97
- labelIds,
87
+ hasHelperText,
88
+ helperTextId,
98
89
  invalid,
99
90
  required,
100
91
  readOnly,
101
92
  id,
93
+ errorMessageId,
102
94
  disabled
103
95
  ]);
104
96
  const getInputProps = useMemo(() => () => ({
@@ -128,7 +120,7 @@ var useField = (props = {}) => {
128
120
  ...parts.requiredIndicator.attrs
129
121
  }), []);
130
122
  return {
131
- ariaDescribedby: labelIds,
123
+ ariaDescribedby: hasHelperText ? helperTextId : void 0,
132
124
  ids: {
133
125
  root: rootId,
134
126
  control: id,
@@ -17,11 +17,12 @@ var FieldsetRoot = (0, react.forwardRef)((props, ref) => {
17
17
  ]);
18
18
  const fieldset = require_use_fieldset.useFieldset(useFieldsetProps);
19
19
  const mergedProps = (0, _zag_js_react.mergeProps)(fieldset.getRootProps(), localProps);
20
+ const composedRefs = require_compose_refs.useComposedRefs(ref, fieldset.refs.rootRef);
20
21
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_use_fieldset_context.FieldsetProvider, {
21
22
  value: fieldset,
22
23
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.fieldset, {
23
24
  ...mergedProps,
24
- ref: require_compose_refs.composeRefs(ref, fieldset.refs.rootRef)
25
+ ref: composedRefs
25
26
  })
26
27
  });
27
28
  });
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { createSplitProps } from "../../utils/create-split-props.js";
3
- import { composeRefs } from "../../utils/compose-refs.js";
3
+ import { useComposedRefs } from "../../utils/compose-refs.js";
4
4
  import { ark } from "../factory.js";
5
5
  import { FieldsetProvider } from "./use-fieldset-context.js";
6
6
  import { useFieldset } from "./use-fieldset.js";
@@ -17,11 +17,12 @@ var FieldsetRoot = forwardRef((props, ref) => {
17
17
  ]);
18
18
  const fieldset = useFieldset(useFieldsetProps);
19
19
  const mergedProps = mergeProps(fieldset.getRootProps(), localProps);
20
+ const composedRefs = useComposedRefs(ref, fieldset.refs.rootRef);
20
21
  return /* @__PURE__ */ jsx(FieldsetProvider, {
21
22
  value: fieldset,
22
23
  children: /* @__PURE__ */ jsx(ark.fieldset, {
23
24
  ...mergedProps,
24
- ref: composeRefs(ref, fieldset.refs.rootRef)
25
+ ref: composedRefs
25
26
  })
26
27
  });
27
28
  });
@@ -15,6 +15,12 @@ var fieldset_exports = /* @__PURE__ */ require_runtime.__exportAll({
15
15
  RootProvider: () => require_fieldset_root_provider.FieldsetRootProvider
16
16
  });
17
17
  //#endregion
18
+ exports.Context = require_fieldset_context.FieldsetContext;
19
+ exports.ErrorText = require_fieldset_error_text.FieldsetErrorText;
20
+ exports.HelperText = require_fieldset_helper_text.FieldsetHelperText;
21
+ exports.Legend = require_fieldset_legend.FieldsetLegend;
22
+ exports.Root = require_fieldset_root.FieldsetRoot;
23
+ exports.RootProvider = require_fieldset_root_provider.FieldsetRootProvider;
18
24
  Object.defineProperty(exports, "fieldset_exports", {
19
25
  enumerable: true,
20
26
  get: function() {
@@ -15,4 +15,4 @@ var fieldset_exports = /* @__PURE__ */ __exportAll({
15
15
  RootProvider: () => FieldsetRootProvider
16
16
  });
17
17
  //#endregion
18
- export { fieldset_exports };
18
+ export { FieldsetContext as Context, FieldsetErrorText as ErrorText, FieldsetHelperText as HelperText, FieldsetLegend as Legend, FieldsetRoot as Root, FieldsetRootProvider as RootProvider, fieldset_exports };
@@ -23,9 +23,11 @@ var useFieldset = (props = {}) => {
23
23
  if (!rootNode) return;
24
24
  const checkTextElements = () => {
25
25
  const docOrShadowRoot = env.getRootNode();
26
+ const hasErrorText = !!docOrShadowRoot.getElementById(errorTextId);
27
+ const hasHelperText = !!docOrShadowRoot.getElementById(helperTextId);
26
28
  setTextElements({
27
- hasErrorText: !!docOrShadowRoot.getElementById(errorTextId),
28
- hasHelperText: !!docOrShadowRoot.getElementById(helperTextId)
29
+ hasErrorText,
30
+ hasHelperText
29
31
  });
30
32
  };
31
33
  checkTextElements();
@@ -23,9 +23,11 @@ var useFieldset = (props = {}) => {
23
23
  if (!rootNode) return;
24
24
  const checkTextElements = () => {
25
25
  const docOrShadowRoot = env.getRootNode();
26
+ const hasErrorText = !!docOrShadowRoot.getElementById(errorTextId);
27
+ const hasHelperText = !!docOrShadowRoot.getElementById(helperTextId);
26
28
  setTextElements({
27
- hasErrorText: !!docOrShadowRoot.getElementById(errorTextId),
28
- hasHelperText: !!docOrShadowRoot.getElementById(helperTextId)
29
+ hasErrorText,
30
+ hasHelperText
29
31
  });
30
32
  };
31
33
  checkTextElements();
@@ -33,6 +33,21 @@ var file_upload_exports = /* @__PURE__ */ require_runtime.__exportAll({
33
33
  Trigger: () => require_file_upload_trigger.FileUploadTrigger
34
34
  });
35
35
  //#endregion
36
+ exports.ClearTrigger = require_file_upload_clear_trigger.FileUploadClearTrigger;
37
+ exports.Context = require_file_upload_context.FileUploadContext;
38
+ exports.Dropzone = require_file_upload_dropzone.FileUploadDropzone;
39
+ exports.HiddenInput = require_file_upload_hidden_input.FileUploadHiddenInput;
40
+ exports.Item = require_file_upload_item.FileUploadItem;
41
+ exports.ItemDeleteTrigger = require_file_upload_item_delete_trigger.FileUploadItemDeleteTrigger;
42
+ exports.ItemGroup = require_file_upload_item_group.FileUploadItemGroup;
43
+ exports.ItemName = require_file_upload_item_name.FileUploadItemName;
44
+ exports.ItemPreview = require_file_upload_item_preview.FileUploadItemPreview;
45
+ exports.ItemPreviewImage = require_file_upload_item_preview_image.FileUploadItemPreviewImage;
46
+ exports.ItemSizeText = require_file_upload_item_size_text.FileUploadItemSizeText;
47
+ exports.Label = require_file_upload_label.FileUploadLabel;
48
+ exports.Root = require_file_upload_root.FileUploadRoot;
49
+ exports.RootProvider = require_file_upload_root_provider.FileUploadRootProvider;
50
+ exports.Trigger = require_file_upload_trigger.FileUploadTrigger;
36
51
  Object.defineProperty(exports, "file_upload_exports", {
37
52
  enumerable: true,
38
53
  get: function() {
@@ -33,4 +33,4 @@ var file_upload_exports = /* @__PURE__ */ __exportAll({
33
33
  Trigger: () => FileUploadTrigger
34
34
  });
35
35
  //#endregion
36
- export { file_upload_exports };
36
+ export { FileUploadClearTrigger as ClearTrigger, FileUploadContext as Context, FileUploadDropzone as Dropzone, FileUploadHiddenInput as HiddenInput, FileUploadItem as Item, FileUploadItemDeleteTrigger as ItemDeleteTrigger, FileUploadItemGroup as ItemGroup, FileUploadItemName as ItemName, FileUploadItemPreview as ItemPreview, FileUploadItemPreviewImage as ItemPreviewImage, FileUploadItemSizeText as ItemSizeText, FileUploadLabel as Label, FileUploadRoot as Root, FileUploadRootProvider as RootProvider, FileUploadTrigger as Trigger, file_upload_exports };
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  const require_compose_refs = require("../../utils/compose-refs.cjs");
3
3
  const require_factory = require("../factory.cjs");
4
+ const require_presence_gate = require("../presence/presence-gate.cjs");
4
5
  const require_use_presence_context = require("../presence/use-presence-context.cjs");
5
6
  const require_use_floating_panel_context = require("./use-floating-panel-context.cjs");
6
7
  let react = require("react");
@@ -11,10 +12,13 @@ var FloatingPanelContent = (0, react.forwardRef)((props, ref) => {
11
12
  const floatingPanel = require_use_floating_panel_context.useFloatingPanelContext();
12
13
  const presence = require_use_presence_context.usePresenceContext();
13
14
  const mergedProps = (0, _zag_js_react.mergeProps)(floatingPanel.getContentProps(), presence.getPresenceProps(), props);
14
- if (presence.unmounted) return null;
15
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
16
- ...mergedProps,
17
- ref: require_compose_refs.composeRefs(presence.ref, ref)
15
+ const composedRefs = require_compose_refs.useComposedRefs(presence.ref, ref);
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_presence_gate.PresenceGate, {
17
+ presence,
18
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
19
+ ...mergedProps,
20
+ ref: composedRefs
21
+ })
18
22
  });
19
23
  });
20
24
  FloatingPanelContent.displayName = "FloatingPanelContent";
@@ -1,6 +1,7 @@
1
1
  "use client";
2
- import { composeRefs } from "../../utils/compose-refs.js";
2
+ import { useComposedRefs } from "../../utils/compose-refs.js";
3
3
  import { ark } from "../factory.js";
4
+ import { PresenceGate } from "../presence/presence-gate.js";
4
5
  import { usePresenceContext } from "../presence/use-presence-context.js";
5
6
  import { useFloatingPanelContext } from "./use-floating-panel-context.js";
6
7
  import { forwardRef } from "react";
@@ -11,10 +12,13 @@ var FloatingPanelContent = forwardRef((props, ref) => {
11
12
  const floatingPanel = useFloatingPanelContext();
12
13
  const presence = usePresenceContext();
13
14
  const mergedProps = mergeProps(floatingPanel.getContentProps(), presence.getPresenceProps(), props);
14
- if (presence.unmounted) return null;
15
- return /* @__PURE__ */ jsx(ark.div, {
16
- ...mergedProps,
17
- ref: composeRefs(presence.ref, ref)
15
+ const composedRefs = useComposedRefs(presence.ref, ref);
16
+ return /* @__PURE__ */ jsx(PresenceGate, {
17
+ presence,
18
+ children: /* @__PURE__ */ jsx(ark.div, {
19
+ ...mergedProps,
20
+ ref: composedRefs
21
+ })
18
22
  });
19
23
  });
20
24
  FloatingPanelContent.displayName = "FloatingPanelContent";
@@ -33,9 +33,29 @@ var floating_panel_exports = /* @__PURE__ */ require_runtime.__exportAll({
33
33
  resizeTriggerAxes: () => _zag_js_floating_panel.resizeTriggerAxes
34
34
  });
35
35
  //#endregion
36
+ exports.Body = require_floating_panel_body.FloatingPanelBody;
37
+ exports.CloseTrigger = require_floating_panel_close_trigger.FloatingPanelCloseTrigger;
38
+ exports.Content = require_floating_panel_content.FloatingPanelContent;
39
+ exports.Context = require_floating_panel_context.FloatingPanelContext;
40
+ exports.Control = require_floating_panel_control.FloatingPanelControl;
41
+ exports.DragTrigger = require_floating_panel_drag_trigger.FloatingPanelDragTrigger;
42
+ exports.Header = require_floating_panel_header.FloatingPanelHeader;
43
+ exports.Positioner = require_floating_panel_positioner.FloatingPanelPositioner;
44
+ exports.ResizeTrigger = require_floating_panel_resize_trigger.FloatingPanelResizeTrigger;
45
+ exports.Root = require_floating_panel_root.FloatingPanelRoot;
46
+ exports.RootProvider = require_floating_panel_root_provider.FloatingPanelRootProvider;
47
+ exports.StageTrigger = require_floating_panel_stage_trigger.FloatingPanelStageTrigger;
48
+ exports.Title = require_floating_panel_title.FloatingPanelTitle;
49
+ exports.Trigger = require_floating_panel_trigger.FloatingPanelTrigger;
36
50
  Object.defineProperty(exports, "floating_panel_exports", {
37
51
  enumerable: true,
38
52
  get: function() {
39
53
  return floating_panel_exports;
40
54
  }
41
55
  });
56
+ Object.defineProperty(exports, "resizeTriggerAxes", {
57
+ enumerable: true,
58
+ get: function() {
59
+ return _zag_js_floating_panel.resizeTriggerAxes;
60
+ }
61
+ });
@@ -33,4 +33,4 @@ var floating_panel_exports = /* @__PURE__ */ __exportAll({
33
33
  resizeTriggerAxes: () => resizeTriggerAxes
34
34
  });
35
35
  //#endregion
36
- export { floating_panel_exports };
36
+ export { FloatingPanelBody as Body, FloatingPanelCloseTrigger as CloseTrigger, FloatingPanelContent as Content, FloatingPanelContext as Context, FloatingPanelControl as Control, FloatingPanelDragTrigger as DragTrigger, FloatingPanelHeader as Header, FloatingPanelPositioner as Positioner, FloatingPanelResizeTrigger as ResizeTrigger, FloatingPanelRoot as Root, FloatingPanelRootProvider as RootProvider, FloatingPanelStageTrigger as StageTrigger, FloatingPanelTitle as Title, FloatingPanelTrigger as Trigger, floating_panel_exports, resizeTriggerAxes };
@@ -17,15 +17,17 @@ var FocusTrap = (0, react.forwardRef)((props, ref) => {
17
17
  "initialFocus",
18
18
  "fallbackFocus",
19
19
  "returnFocusOnDeactivate",
20
- "setReturnFocus"
20
+ "setReturnFocus",
21
+ "persistentElements"
21
22
  ]);
23
+ const composedRefs = require_compose_refs.useComposedRefs(localRef, ref);
22
24
  require_use_safe_layout_effect.useSafeLayoutEffect(() => {
23
25
  const node = localRef.current;
24
26
  if (!node || trapProps.disabled) return;
25
27
  return (0, _zag_js_focus_trap.trapFocus)(node, trapProps);
26
28
  }, [ref, trapProps]);
27
29
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
28
- ref: require_compose_refs.composeRefs(localRef, ref),
30
+ ref: composedRefs,
29
31
  ...localProps
30
32
  });
31
33
  });
@@ -2,7 +2,7 @@ import { FocusTrapOptions } from '@zag-js/focus-trap';
2
2
  import { Assign } from '../../types.js';
3
3
  import { HTMLProps, PolymorphicProps } from '../factory.js';
4
4
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
- export interface TrapOptions extends Pick<FocusTrapOptions, 'onActivate' | 'onDeactivate' | 'initialFocus' | 'fallbackFocus' | 'returnFocusOnDeactivate' | 'setReturnFocus'> {
5
+ export interface TrapOptions extends Pick<FocusTrapOptions, 'onActivate' | 'onDeactivate' | 'initialFocus' | 'fallbackFocus' | 'returnFocusOnDeactivate' | 'setReturnFocus' | 'persistentElements'> {
6
6
  /**
7
7
  * Whether the focus trap is disabled.
8
8
  */
@@ -2,7 +2,7 @@ import { FocusTrapOptions } from '@zag-js/focus-trap';
2
2
  import { Assign } from '../../types.js';
3
3
  import { HTMLProps, PolymorphicProps } from '../factory.js';
4
4
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
5
- export interface TrapOptions extends Pick<FocusTrapOptions, 'onActivate' | 'onDeactivate' | 'initialFocus' | 'fallbackFocus' | 'returnFocusOnDeactivate' | 'setReturnFocus'> {
5
+ export interface TrapOptions extends Pick<FocusTrapOptions, 'onActivate' | 'onDeactivate' | 'initialFocus' | 'fallbackFocus' | 'returnFocusOnDeactivate' | 'setReturnFocus' | 'persistentElements'> {
6
6
  /**
7
7
  * Whether the focus trap is disabled.
8
8
  */
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { createSplitProps } from "../../utils/create-split-props.js";
3
- import { composeRefs } from "../../utils/compose-refs.js";
3
+ import { useComposedRefs } from "../../utils/compose-refs.js";
4
4
  import { ark } from "../factory.js";
5
5
  import { useSafeLayoutEffect } from "../../utils/use-safe-layout-effect.js";
6
6
  import { forwardRef, useRef } from "react";
@@ -17,15 +17,17 @@ var FocusTrap = forwardRef((props, ref) => {
17
17
  "initialFocus",
18
18
  "fallbackFocus",
19
19
  "returnFocusOnDeactivate",
20
- "setReturnFocus"
20
+ "setReturnFocus",
21
+ "persistentElements"
21
22
  ]);
23
+ const composedRefs = useComposedRefs(localRef, ref);
22
24
  useSafeLayoutEffect(() => {
23
25
  const node = localRef.current;
24
26
  if (!node || trapProps.disabled) return;
25
27
  return trapFocus(node, trapProps);
26
28
  }, [ref, trapProps]);
27
29
  return /* @__PURE__ */ jsx(ark.div, {
28
- ref: composeRefs(localRef, ref),
30
+ ref: composedRefs,
29
31
  ...localProps
30
32
  });
31
33
  });
@@ -11,6 +11,10 @@ var format_exports = /* @__PURE__ */ require_runtime.__exportAll({
11
11
  Time: () => require_format_time.FormatTime
12
12
  });
13
13
  //#endregion
14
+ exports.Byte = require_format_byte.FormatByte;
15
+ exports.Number = require_format_number.FormatNumber;
16
+ exports.RelativeTime = require_format_relative_time.FormatRelativeTime;
17
+ exports.Time = require_format_time.FormatTime;
14
18
  Object.defineProperty(exports, "format_exports", {
15
19
  enumerable: true,
16
20
  get: function() {
@@ -11,4 +11,4 @@ var format_exports = /* @__PURE__ */ __exportAll({
11
11
  Time: () => FormatTime
12
12
  });
13
13
  //#endregion
14
- export { format_exports };
14
+ export { FormatByte as Byte, FormatNumber as Number, FormatRelativeTime as RelativeTime, FormatTime as Time, format_exports };
@@ -17,6 +17,7 @@ var Frame = (0, react.forwardRef)((props, ref) => {
17
17
  const { children, head, onMount, onUnmount, srcDoc = initialSrcDoc, ...rest } = props;
18
18
  const [frameRef, setFrameRef] = (0, react.useState)(null);
19
19
  const [mountNode, setMountNode] = (0, react.useState)(null);
20
+ const composedRefs = require_compose_refs.useComposedRefs(ref, setFrameRef);
20
21
  require_use_safe_layout_effect.useSafeLayoutEffect(() => {
21
22
  if (!frameRef) return;
22
23
  const doc = frameRef.contentWindow?.document;
@@ -50,7 +51,7 @@ var Frame = (0, react.forwardRef)((props, ref) => {
50
51
  value: () => frameRef?.contentDocument ?? document,
51
52
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("iframe", {
52
53
  title: `frame:${(0, react.useId)()}`,
53
- ref: require_compose_refs.composeRefs(ref, setFrameRef),
54
+ ref: composedRefs,
54
55
  ...rest,
55
56
  children: [mountNode ? (0, react_dom.createPortal)(/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_frame_content.FrameContent, {
56
57
  onMount,
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { composeRefs } from "../../utils/compose-refs.js";
2
+ import { useComposedRefs } from "../../utils/compose-refs.js";
3
3
  import { EnvironmentProvider } from "../../providers/environment/environment-provider.js";
4
4
  import { useSafeLayoutEffect } from "../../utils/use-safe-layout-effect.js";
5
5
  import { FrameContent } from "./frame-content.js";
@@ -17,6 +17,7 @@ var Frame = forwardRef((props, ref) => {
17
17
  const { children, head, onMount, onUnmount, srcDoc = initialSrcDoc, ...rest } = props;
18
18
  const [frameRef, setFrameRef] = useState(null);
19
19
  const [mountNode, setMountNode] = useState(null);
20
+ const composedRefs = useComposedRefs(ref, setFrameRef);
20
21
  useSafeLayoutEffect(() => {
21
22
  if (!frameRef) return;
22
23
  const doc = frameRef.contentWindow?.document;
@@ -50,7 +51,7 @@ var Frame = forwardRef((props, ref) => {
50
51
  value: () => frameRef?.contentDocument ?? document,
51
52
  children: /* @__PURE__ */ jsxs("iframe", {
52
53
  title: `frame:${useId()}`,
53
- ref: composeRefs(ref, setFrameRef),
54
+ ref: composedRefs,
54
55
  ...rest,
55
56
  children: [mountNode ? createPortal(/* @__PURE__ */ jsx(FrameContent, {
56
57
  onMount,
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  const require_compose_refs = require("../../utils/compose-refs.cjs");
3
3
  const require_factory = require("../factory.cjs");
4
+ const require_presence_gate = require("../presence/presence-gate.cjs");
4
5
  const require_use_presence_context = require("../presence/use-presence-context.cjs");
5
6
  const require_use_hover_card_context = require("./use-hover-card-context.cjs");
6
7
  let react = require("react");
@@ -11,10 +12,13 @@ var HoverCardContent = (0, react.forwardRef)((props, ref) => {
11
12
  const hoverCard = require_use_hover_card_context.useHoverCardContext();
12
13
  const presence = require_use_presence_context.usePresenceContext();
13
14
  const mergedProps = (0, _zag_js_react.mergeProps)(hoverCard.getContentProps(), presence.getPresenceProps(), props);
14
- if (presence.unmounted) return null;
15
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
16
- ...mergedProps,
17
- ref: require_compose_refs.composeRefs(presence.ref, ref)
15
+ const composedRefs = require_compose_refs.useComposedRefs(presence.ref, ref);
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_presence_gate.PresenceGate, {
17
+ presence,
18
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
19
+ ...mergedProps,
20
+ ref: composedRefs
21
+ })
18
22
  });
19
23
  });
20
24
  HoverCardContent.displayName = "HoverCardContent";
@@ -1,6 +1,7 @@
1
1
  "use client";
2
- import { composeRefs } from "../../utils/compose-refs.js";
2
+ import { useComposedRefs } from "../../utils/compose-refs.js";
3
3
  import { ark } from "../factory.js";
4
+ import { PresenceGate } from "../presence/presence-gate.js";
4
5
  import { usePresenceContext } from "../presence/use-presence-context.js";
5
6
  import { useHoverCardContext } from "./use-hover-card-context.js";
6
7
  import { forwardRef } from "react";
@@ -11,10 +12,13 @@ var HoverCardContent = forwardRef((props, ref) => {
11
12
  const hoverCard = useHoverCardContext();
12
13
  const presence = usePresenceContext();
13
14
  const mergedProps = mergeProps(hoverCard.getContentProps(), presence.getPresenceProps(), props);
14
- if (presence.unmounted) return null;
15
- return /* @__PURE__ */ jsx(ark.div, {
16
- ...mergedProps,
17
- ref: composeRefs(presence.ref, ref)
15
+ const composedRefs = useComposedRefs(presence.ref, ref);
16
+ return /* @__PURE__ */ jsx(PresenceGate, {
17
+ presence,
18
+ children: /* @__PURE__ */ jsx(ark.div, {
19
+ ...mergedProps,
20
+ ref: composedRefs
21
+ })
18
22
  });
19
23
  });
20
24
  HoverCardContent.displayName = "HoverCardContent";
@@ -19,6 +19,14 @@ var hover_card_exports = /* @__PURE__ */ require_runtime.__exportAll({
19
19
  Trigger: () => require_hover_card_trigger.HoverCardTrigger
20
20
  });
21
21
  //#endregion
22
+ exports.Arrow = require_hover_card_arrow.HoverCardArrow;
23
+ exports.ArrowTip = require_hover_card_arrow_tip.HoverCardArrowTip;
24
+ exports.Content = require_hover_card_content.HoverCardContent;
25
+ exports.Context = require_hover_card_context.HoverCardContext;
26
+ exports.Positioner = require_hover_card_positioner.HoverCardPositioner;
27
+ exports.Root = require_hover_card_root.HoverCardRoot;
28
+ exports.RootProvider = require_hover_card_root_provider.HoverCardRootProvider;
29
+ exports.Trigger = require_hover_card_trigger.HoverCardTrigger;
22
30
  Object.defineProperty(exports, "hover_card_exports", {
23
31
  enumerable: true,
24
32
  get: function() {
@@ -19,4 +19,4 @@ var hover_card_exports = /* @__PURE__ */ __exportAll({
19
19
  Trigger: () => HoverCardTrigger
20
20
  });
21
21
  //#endregion
22
- export { hover_card_exports };
22
+ export { HoverCardArrow as Arrow, HoverCardArrowTip as ArrowTip, HoverCardContent as Content, HoverCardContext as Context, HoverCardPositioner as Positioner, HoverCardRoot as Root, HoverCardRootProvider as RootProvider, HoverCardTrigger as Trigger, hover_card_exports };
@@ -21,6 +21,20 @@ var image_cropper_exports = /* @__PURE__ */ require_runtime.__exportAll({
21
21
  handles: () => _zag_js_image_cropper.handles
22
22
  });
23
23
  //#endregion
24
+ exports.Context = require_image_cropper_context.ImageCropperContext;
25
+ exports.Grid = require_image_cropper_grid.ImageCropperGrid;
26
+ exports.Handle = require_image_cropper_handle.ImageCropperHandle;
27
+ exports.Image = require_image_cropper_image.ImageCropperImage;
28
+ exports.Root = require_image_cropper_root.ImageCropperRoot;
29
+ exports.RootProvider = require_image_cropper_root_provider.ImageCropperRootProvider;
30
+ exports.Selection = require_image_cropper_selection.ImageCropperSelection;
31
+ exports.Viewport = require_image_cropper_viewport.ImageCropperViewport;
32
+ Object.defineProperty(exports, "handles", {
33
+ enumerable: true,
34
+ get: function() {
35
+ return _zag_js_image_cropper.handles;
36
+ }
37
+ });
24
38
  Object.defineProperty(exports, "image_cropper_exports", {
25
39
  enumerable: true,
26
40
  get: function() {
@@ -21,4 +21,4 @@ var image_cropper_exports = /* @__PURE__ */ __exportAll({
21
21
  handles: () => handles
22
22
  });
23
23
  //#endregion
24
- export { image_cropper_exports };
24
+ export { ImageCropperContext as Context, ImageCropperGrid as Grid, ImageCropperHandle as Handle, ImageCropperImage as Image, ImageCropperRoot as Root, ImageCropperRootProvider as RootProvider, ImageCropperSelection as Selection, ImageCropperViewport as Viewport, handles, image_cropper_exports };
@@ -9,6 +9,9 @@ var json_tree_view_exports = /* @__PURE__ */ require_runtime.__exportAll({
9
9
  Tree: () => require_json_tree_view_tree.JsonTreeViewTree
10
10
  });
11
11
  //#endregion
12
+ exports.Root = require_json_tree_view_root.JsonTreeViewRoot;
13
+ exports.RootProvider = require_json_tree_view_root_provider.JsonTreeViewRootProvider;
14
+ exports.Tree = require_json_tree_view_tree.JsonTreeViewTree;
12
15
  Object.defineProperty(exports, "json_tree_view_exports", {
13
16
  enumerable: true,
14
17
  get: function() {
@@ -9,4 +9,4 @@ var json_tree_view_exports = /* @__PURE__ */ __exportAll({
9
9
  Tree: () => JsonTreeViewTree
10
10
  });
11
11
  //#endregion
12
- export { json_tree_view_exports };
12
+ export { JsonTreeViewRoot as Root, JsonTreeViewRootProvider as RootProvider, JsonTreeViewTree as Tree, json_tree_view_exports };
@@ -31,6 +31,20 @@ var listbox_exports = /* @__PURE__ */ require_runtime.__exportAll({
31
31
  ValueText: () => require_listbox_value_text.ListboxValueText
32
32
  });
33
33
  //#endregion
34
+ exports.Content = require_listbox_content.ListboxContent;
35
+ exports.Context = require_listbox_context.ListboxContext;
36
+ exports.Empty = require_listbox_empty.ListboxEmpty;
37
+ exports.Input = require_listbox_input.ListboxInput;
38
+ exports.Item = require_listbox_item.ListboxItem;
39
+ exports.ItemContext = require_listbox_item_context.ListboxItemContext;
40
+ exports.ItemGroup = require_listbox_item_group.ListboxItemGroup;
41
+ exports.ItemGroupLabel = require_listbox_item_group_label.ListboxItemGroupLabel;
42
+ exports.ItemIndicator = require_listbox_item_indicator.ListboxItemIndicator;
43
+ exports.ItemText = require_listbox_item_text.ListboxItemText;
44
+ exports.Label = require_listbox_label.ListboxLabel;
45
+ exports.Root = require_listbox_root.ListboxRoot;
46
+ exports.RootProvider = require_listbox_root_provider.ListboxRootProvider;
47
+ exports.ValueText = require_listbox_value_text.ListboxValueText;
34
48
  Object.defineProperty(exports, "listbox_exports", {
35
49
  enumerable: true,
36
50
  get: function() {
@@ -31,4 +31,4 @@ var listbox_exports = /* @__PURE__ */ __exportAll({
31
31
  ValueText: () => ListboxValueText
32
32
  });
33
33
  //#endregion
34
- export { listbox_exports };
34
+ export { ListboxContent as Content, ListboxContext as Context, ListboxEmpty as Empty, ListboxInput as Input, ListboxItem as Item, ListboxItemContext as ItemContext, ListboxItemGroup as ItemGroup, ListboxItemGroupLabel as ItemGroupLabel, ListboxItemIndicator as ItemIndicator, ListboxItemText as ItemText, ListboxLabel as Label, ListboxRoot as Root, ListboxRootProvider as RootProvider, ListboxValueText as ValueText, listbox_exports };
@@ -17,6 +17,13 @@ var marquee_exports = /* @__PURE__ */ require_runtime.__exportAll({
17
17
  Viewport: () => require_marquee_viewport.MarqueeViewport
18
18
  });
19
19
  //#endregion
20
+ exports.Content = require_marquee_content.MarqueeContent;
21
+ exports.Context = require_marquee_context.MarqueeContext;
22
+ exports.Edge = require_marquee_edge.MarqueeEdge;
23
+ exports.Item = require_marquee_item.MarqueeItem;
24
+ exports.Root = require_marquee_root.MarqueeRoot;
25
+ exports.RootProvider = require_marquee_root_provider.MarqueeRootProvider;
26
+ exports.Viewport = require_marquee_viewport.MarqueeViewport;
20
27
  Object.defineProperty(exports, "marquee_exports", {
21
28
  enumerable: true,
22
29
  get: function() {
@@ -17,4 +17,4 @@ var marquee_exports = /* @__PURE__ */ __exportAll({
17
17
  Viewport: () => MarqueeViewport
18
18
  });
19
19
  //#endregion
20
- export { marquee_exports };
20
+ export { MarqueeContent as Content, MarqueeContext as Context, MarqueeEdge as Edge, MarqueeItem as Item, MarqueeRoot as Root, MarqueeRootProvider as RootProvider, MarqueeViewport as Viewport, marquee_exports };
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  const require_compose_refs = require("../../utils/compose-refs.cjs");
3
3
  const require_factory = require("../factory.cjs");
4
+ const require_presence_gate = require("../presence/presence-gate.cjs");
4
5
  const require_use_presence_context = require("../presence/use-presence-context.cjs");
5
6
  const require_use_menu_context = require("./use-menu-context.cjs");
6
7
  let react = require("react");
@@ -11,10 +12,13 @@ var MenuContent = (0, react.forwardRef)((props, ref) => {
11
12
  const menu = require_use_menu_context.useMenuContext();
12
13
  const presence = require_use_presence_context.usePresenceContext();
13
14
  const mergedProps = (0, _zag_js_react.mergeProps)(menu.getContentProps(), presence.getPresenceProps(), props);
14
- if (presence.unmounted) return null;
15
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
16
- ...mergedProps,
17
- ref: require_compose_refs.composeRefs(presence.ref, ref)
15
+ const composedRefs = require_compose_refs.useComposedRefs(presence.ref, ref);
16
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_presence_gate.PresenceGate, {
17
+ presence,
18
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_factory.ark.div, {
19
+ ...mergedProps,
20
+ ref: composedRefs
21
+ })
18
22
  });
19
23
  });
20
24
  MenuContent.displayName = "MenuContent";
@@ -1,6 +1,7 @@
1
1
  "use client";
2
- import { composeRefs } from "../../utils/compose-refs.js";
2
+ import { useComposedRefs } from "../../utils/compose-refs.js";
3
3
  import { ark } from "../factory.js";
4
+ import { PresenceGate } from "../presence/presence-gate.js";
4
5
  import { usePresenceContext } from "../presence/use-presence-context.js";
5
6
  import { useMenuContext } from "./use-menu-context.js";
6
7
  import { forwardRef } from "react";
@@ -11,10 +12,13 @@ var MenuContent = forwardRef((props, ref) => {
11
12
  const menu = useMenuContext();
12
13
  const presence = usePresenceContext();
13
14
  const mergedProps = mergeProps(menu.getContentProps(), presence.getPresenceProps(), props);
14
- if (presence.unmounted) return null;
15
- return /* @__PURE__ */ jsx(ark.div, {
16
- ...mergedProps,
17
- ref: composeRefs(presence.ref, ref)
15
+ const composedRefs = useComposedRefs(presence.ref, ref);
16
+ return /* @__PURE__ */ jsx(PresenceGate, {
17
+ presence,
18
+ children: /* @__PURE__ */ jsx(ark.div, {
19
+ ...mergedProps,
20
+ ref: composedRefs
21
+ })
18
22
  });
19
23
  });
20
24
  MenuContent.displayName = "MenuContent";