@ark-ui/react 5.34.1 → 5.36.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 (195) hide show
  1. package/dist/components/anatomy.cjs +5 -0
  2. package/dist/components/anatomy.d.cts +1 -0
  3. package/dist/components/anatomy.d.ts +1 -0
  4. package/dist/components/anatomy.js +1 -0
  5. package/dist/components/clipboard/clipboard-root.cjs +1 -0
  6. package/dist/components/clipboard/clipboard-root.js +1 -0
  7. package/dist/components/date-input/date-input-context.cjs +10 -0
  8. package/dist/components/date-input/date-input-context.d.cts +6 -0
  9. package/dist/components/date-input/date-input-context.d.ts +6 -0
  10. package/dist/components/date-input/date-input-context.js +6 -0
  11. package/dist/components/date-input/date-input-control.cjs +19 -0
  12. package/dist/components/date-input/date-input-control.d.cts +7 -0
  13. package/dist/components/date-input/date-input-control.d.ts +7 -0
  14. package/dist/components/date-input/date-input-control.js +15 -0
  15. package/dist/components/date-input/date-input-hidden-input.cjs +22 -0
  16. package/dist/components/date-input/date-input-hidden-input.d.cts +8 -0
  17. package/dist/components/date-input/date-input-hidden-input.d.ts +8 -0
  18. package/dist/components/date-input/date-input-hidden-input.js +18 -0
  19. package/dist/components/date-input/date-input-label.cjs +19 -0
  20. package/dist/components/date-input/date-input-label.d.cts +7 -0
  21. package/dist/components/date-input/date-input-label.d.ts +7 -0
  22. package/dist/components/date-input/date-input-label.js +15 -0
  23. package/dist/components/date-input/date-input-root-provider.cjs +21 -0
  24. package/dist/components/date-input/date-input-root-provider.d.cts +12 -0
  25. package/dist/components/date-input/date-input-root-provider.d.ts +12 -0
  26. package/dist/components/date-input/date-input-root-provider.js +17 -0
  27. package/dist/components/date-input/date-input-root.cjs +55 -0
  28. package/dist/components/date-input/date-input-root.d.cts +9 -0
  29. package/dist/components/date-input/date-input-root.d.ts +9 -0
  30. package/dist/components/date-input/date-input-root.js +51 -0
  31. package/dist/components/date-input/date-input-segment-context.cjs +17 -0
  32. package/dist/components/date-input/date-input-segment-context.d.cts +6 -0
  33. package/dist/components/date-input/date-input-segment-context.d.ts +6 -0
  34. package/dist/components/date-input/date-input-segment-context.js +13 -0
  35. package/dist/components/date-input/date-input-segment-group.cjs +23 -0
  36. package/dist/components/date-input/date-input-segment-group.d.cts +8 -0
  37. package/dist/components/date-input/date-input-segment-group.d.ts +8 -0
  38. package/dist/components/date-input/date-input-segment-group.js +19 -0
  39. package/dist/components/date-input/date-input-segment.cjs +27 -0
  40. package/dist/components/date-input/date-input-segment.d.cts +8 -0
  41. package/dist/components/date-input/date-input-segment.d.ts +8 -0
  42. package/dist/components/date-input/date-input-segment.js +23 -0
  43. package/dist/components/date-input/date-input.anatomy.d.cts +1 -0
  44. package/dist/components/date-input/date-input.anatomy.d.ts +1 -0
  45. package/dist/components/date-input/date-input.cjs +25 -0
  46. package/dist/components/date-input/date-input.d.cts +9 -0
  47. package/dist/components/date-input/date-input.d.ts +9 -0
  48. package/dist/components/date-input/date-input.js +9 -0
  49. package/dist/components/date-input/index.cjs +36 -0
  50. package/dist/components/date-input/index.d.cts +14 -0
  51. package/dist/components/date-input/index.d.ts +14 -0
  52. package/dist/components/date-input/index.js +14 -0
  53. package/dist/components/date-input/use-date-input-context.cjs +15 -0
  54. package/dist/components/date-input/use-date-input-context.d.cts +5 -0
  55. package/dist/components/date-input/use-date-input-context.d.ts +5 -0
  56. package/dist/components/date-input/use-date-input-context.js +10 -0
  57. package/dist/components/date-input/use-date-input-segment-group-props-context.cjs +16 -0
  58. package/dist/components/date-input/use-date-input-segment-group-props-context.d.cts +5 -0
  59. package/dist/components/date-input/use-date-input-segment-group-props-context.d.ts +5 -0
  60. package/dist/components/date-input/use-date-input-segment-group-props-context.js +11 -0
  61. package/dist/components/date-input/use-date-input.cjs +40 -0
  62. package/dist/components/date-input/use-date-input.d.cts +6 -0
  63. package/dist/components/date-input/use-date-input.d.ts +6 -0
  64. package/dist/components/date-input/use-date-input.js +17 -0
  65. package/dist/components/dialog/dialog-trigger.cjs +7 -3
  66. package/dist/components/dialog/dialog-trigger.d.cts +4 -2
  67. package/dist/components/dialog/dialog-trigger.d.ts +4 -2
  68. package/dist/components/dialog/dialog-trigger.js +7 -3
  69. package/dist/components/dialog/dialog.d.cts +1 -1
  70. package/dist/components/dialog/dialog.d.ts +1 -1
  71. package/dist/components/dialog/index.d.cts +1 -1
  72. package/dist/components/dialog/index.d.ts +1 -1
  73. package/dist/components/drawer/drawer-description.cjs +19 -0
  74. package/dist/components/drawer/drawer-description.d.cts +7 -0
  75. package/dist/components/drawer/drawer-description.d.ts +7 -0
  76. package/dist/components/drawer/drawer-description.js +15 -0
  77. package/dist/components/drawer/drawer-swipe-area.cjs +19 -0
  78. package/dist/components/drawer/drawer-swipe-area.d.cts +7 -0
  79. package/dist/components/drawer/drawer-swipe-area.d.ts +7 -0
  80. package/dist/components/drawer/drawer-swipe-area.js +15 -0
  81. package/dist/components/drawer/drawer-trigger.cjs +7 -3
  82. package/dist/components/drawer/drawer-trigger.d.cts +4 -2
  83. package/dist/components/drawer/drawer-trigger.d.ts +4 -2
  84. package/dist/components/drawer/drawer-trigger.js +7 -3
  85. package/dist/components/drawer/drawer.cjs +4 -0
  86. package/dist/components/drawer/drawer.d.cts +3 -1
  87. package/dist/components/drawer/drawer.d.ts +3 -1
  88. package/dist/components/drawer/drawer.js +2 -0
  89. package/dist/components/drawer/index.cjs +4 -0
  90. package/dist/components/drawer/index.d.cts +3 -1
  91. package/dist/components/drawer/index.d.ts +3 -1
  92. package/dist/components/drawer/index.js +2 -0
  93. package/dist/components/field/field-item.cjs +54 -0
  94. package/dist/components/field/field-item.d.cts +10 -0
  95. package/dist/components/field/field-item.d.ts +10 -0
  96. package/dist/components/field/field-item.js +50 -0
  97. package/dist/components/field/field-root.cjs +2 -1
  98. package/dist/components/field/field-root.js +2 -1
  99. package/dist/components/field/field.cjs +2 -0
  100. package/dist/components/field/field.d.cts +1 -0
  101. package/dist/components/field/field.d.ts +1 -0
  102. package/dist/components/field/field.js +1 -0
  103. package/dist/components/field/use-field.cjs +11 -3
  104. package/dist/components/field/use-field.d.cts +4 -0
  105. package/dist/components/field/use-field.d.ts +4 -0
  106. package/dist/components/field/use-field.js +11 -3
  107. package/dist/components/floating-panel/floating-panel-root.cjs +3 -0
  108. package/dist/components/floating-panel/floating-panel-root.js +3 -0
  109. package/dist/components/frame/frame.cjs +1 -1
  110. package/dist/components/frame/frame.js +1 -1
  111. package/dist/components/hover-card/hover-card-trigger.cjs +4 -1
  112. package/dist/components/hover-card/hover-card-trigger.d.cts +4 -2
  113. package/dist/components/hover-card/hover-card-trigger.d.ts +4 -2
  114. package/dist/components/hover-card/hover-card-trigger.js +4 -1
  115. package/dist/components/hover-card/hover-card.d.cts +1 -1
  116. package/dist/components/hover-card/hover-card.d.ts +1 -1
  117. package/dist/components/hover-card/index.d.cts +1 -1
  118. package/dist/components/hover-card/index.d.ts +1 -1
  119. package/dist/components/index.cjs +35 -0
  120. package/dist/components/index.d.cts +1 -0
  121. package/dist/components/index.d.ts +1 -0
  122. package/dist/components/index.js +17 -0
  123. package/dist/components/listbox/listbox-input.cjs +1 -1
  124. package/dist/components/listbox/listbox-input.js +1 -1
  125. package/dist/components/menu/index.d.cts +1 -1
  126. package/dist/components/menu/index.d.ts +1 -1
  127. package/dist/components/menu/menu-root.cjs +3 -0
  128. package/dist/components/menu/menu-root.js +3 -0
  129. package/dist/components/menu/menu-trigger.cjs +7 -3
  130. package/dist/components/menu/menu-trigger.d.cts +4 -2
  131. package/dist/components/menu/menu-trigger.d.ts +4 -2
  132. package/dist/components/menu/menu-trigger.js +7 -3
  133. package/dist/components/menu/menu.d.cts +1 -1
  134. package/dist/components/menu/menu.d.ts +1 -1
  135. package/dist/components/navigation-menu/navigation-menu-root.cjs +1 -0
  136. package/dist/components/navigation-menu/navigation-menu-root.js +1 -0
  137. package/dist/components/pin-input/pin-input-root.cjs +2 -0
  138. package/dist/components/pin-input/pin-input-root.js +2 -0
  139. package/dist/components/popover/index.d.cts +1 -1
  140. package/dist/components/popover/index.d.ts +1 -1
  141. package/dist/components/popover/popover-trigger.cjs +7 -3
  142. package/dist/components/popover/popover-trigger.d.cts +4 -2
  143. package/dist/components/popover/popover-trigger.d.ts +4 -2
  144. package/dist/components/popover/popover-trigger.js +7 -3
  145. package/dist/components/popover/popover.d.cts +1 -1
  146. package/dist/components/popover/popover.d.ts +1 -1
  147. package/dist/components/select/select-root.cjs +1 -0
  148. package/dist/components/select/select-root.js +1 -0
  149. package/dist/components/splitter/create-splitter-registry.cjs +31 -0
  150. package/dist/components/splitter/create-splitter-registry.d.cts +6 -0
  151. package/dist/components/splitter/create-splitter-registry.d.ts +6 -0
  152. package/dist/components/splitter/create-splitter-registry.js +8 -0
  153. package/dist/components/splitter/index.cjs +2 -0
  154. package/dist/components/splitter/index.d.cts +1 -0
  155. package/dist/components/splitter/index.d.ts +1 -0
  156. package/dist/components/splitter/index.js +1 -0
  157. package/dist/components/splitter/splitter-root.cjs +1 -0
  158. package/dist/components/splitter/splitter-root.js +1 -0
  159. package/dist/components/splitter/splitter.cjs +2 -0
  160. package/dist/components/splitter/splitter.d.cts +1 -0
  161. package/dist/components/splitter/splitter.d.ts +1 -0
  162. package/dist/components/splitter/splitter.js +1 -0
  163. package/dist/components/tags-input/tags-input-root.cjs +2 -0
  164. package/dist/components/tags-input/tags-input-root.js +2 -0
  165. package/dist/components/timer/timer-root.cjs +1 -0
  166. package/dist/components/timer/timer-root.js +1 -0
  167. package/dist/components/tooltip/index.d.cts +1 -1
  168. package/dist/components/tooltip/index.d.ts +1 -1
  169. package/dist/components/tooltip/tooltip-trigger.cjs +4 -1
  170. package/dist/components/tooltip/tooltip-trigger.d.cts +4 -2
  171. package/dist/components/tooltip/tooltip-trigger.d.ts +4 -2
  172. package/dist/components/tooltip/tooltip-trigger.js +4 -1
  173. package/dist/components/tooltip/tooltip.d.cts +1 -1
  174. package/dist/components/tooltip/tooltip.d.ts +1 -1
  175. package/dist/components/tree-view/tree-view-root.cjs +1 -0
  176. package/dist/components/tree-view/tree-view-root.js +1 -0
  177. package/dist/index.cjs +39 -0
  178. package/dist/index.js +19 -0
  179. package/dist/providers/index.cjs +4 -0
  180. package/dist/providers/index.d.cts +1 -0
  181. package/dist/providers/index.d.ts +1 -0
  182. package/dist/providers/index.js +2 -0
  183. package/dist/providers/interaction/index.cjs +11 -0
  184. package/dist/providers/interaction/index.d.cts +2 -0
  185. package/dist/providers/interaction/index.d.ts +2 -0
  186. package/dist/providers/interaction/index.js +2 -0
  187. package/dist/providers/interaction/use-focus-visible.cjs +26 -0
  188. package/dist/providers/interaction/use-focus-visible.d.cts +5 -0
  189. package/dist/providers/interaction/use-focus-visible.d.ts +5 -0
  190. package/dist/providers/interaction/use-focus-visible.js +22 -0
  191. package/dist/providers/interaction/use-interaction-modality.cjs +19 -0
  192. package/dist/providers/interaction/use-interaction-modality.d.cts +3 -0
  193. package/dist/providers/interaction/use-interaction-modality.d.ts +3 -0
  194. package/dist/providers/interaction/use-interaction-modality.js +15 -0
  195. package/package.json +77 -75
@@ -2,19 +2,23 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
+ import { createSplitProps } from '../../utils/create-split-props.js';
5
6
  import { ark } from '../factory.js';
6
7
  import { usePresenceContext } from '../presence/use-presence-context.js';
7
8
  import { useDrawerContext } from './use-drawer-context.js';
8
9
 
10
+ const splitTriggerProps = createSplitProps();
9
11
  const DrawerTrigger = forwardRef((props, ref) => {
12
+ const [triggerProps, localProps] = splitTriggerProps(props, ["value"]);
10
13
  const drawer = useDrawerContext();
11
14
  const presence = usePresenceContext();
15
+ const triggerPropsRaw = drawer.getTriggerProps(triggerProps);
12
16
  const mergedProps = mergeProps(
13
17
  {
14
- ...drawer.getTriggerProps(),
15
- "aria-controls": presence.unmounted ? void 0 : drawer.getTriggerProps()["aria-controls"]
18
+ ...triggerPropsRaw,
19
+ "aria-controls": presence.unmounted ? void 0 : triggerPropsRaw["aria-controls"]
16
20
  },
17
- props
21
+ localProps
18
22
  );
19
23
  return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });
20
24
  });
@@ -5,6 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const drawerBackdrop = require('./drawer-backdrop.cjs');
6
6
  const drawerCloseTrigger = require('./drawer-close-trigger.cjs');
7
7
  const drawerContent = require('./drawer-content.cjs');
8
+ const drawerDescription = require('./drawer-description.cjs');
8
9
  const drawerContext = require('./drawer-context.cjs');
9
10
  const drawerIndent = require('./drawer-indent.cjs');
10
11
  const drawerIndentBackground = require('./drawer-indent-background.cjs');
@@ -14,6 +15,7 @@ const drawerGrabberIndicator = require('./drawer-grabber-indicator.cjs');
14
15
  const drawerRoot = require('./drawer-root.cjs');
15
16
  const drawerRootProvider = require('./drawer-root-provider.cjs');
16
17
  const drawerStack = require('./drawer-stack.cjs');
18
+ const drawerSwipeArea = require('./drawer-swipe-area.cjs');
17
19
  const drawerTitle = require('./drawer-title.cjs');
18
20
  const drawerTrigger = require('./drawer-trigger.cjs');
19
21
 
@@ -22,6 +24,7 @@ const drawerTrigger = require('./drawer-trigger.cjs');
22
24
  exports.Backdrop = drawerBackdrop.DrawerBackdrop;
23
25
  exports.CloseTrigger = drawerCloseTrigger.DrawerCloseTrigger;
24
26
  exports.Content = drawerContent.DrawerContent;
27
+ exports.Description = drawerDescription.DrawerDescription;
25
28
  exports.Context = drawerContext.DrawerContext;
26
29
  exports.Indent = drawerIndent.DrawerIndent;
27
30
  exports.IndentBackground = drawerIndentBackground.DrawerIndentBackground;
@@ -31,5 +34,6 @@ exports.GrabberIndicator = drawerGrabberIndicator.DrawerGrabberIndicator;
31
34
  exports.Root = drawerRoot.DrawerRoot;
32
35
  exports.RootProvider = drawerRootProvider.DrawerRootProvider;
33
36
  exports.Stack = drawerStack.DrawerStack;
37
+ exports.SwipeArea = drawerSwipeArea.DrawerSwipeArea;
34
38
  exports.Title = drawerTitle.DrawerTitle;
35
39
  exports.Trigger = drawerTrigger.DrawerTrigger;
@@ -1,7 +1,8 @@
1
- export type { OpenChangeDetails, SnapPointChangeDetails } from '@zag-js/drawer';
1
+ export type { OpenChangeDetails, SnapPointChangeDetails, TriggerValueChangeDetails } from '@zag-js/drawer';
2
2
  export { DrawerBackdrop as Backdrop, type DrawerBackdropBaseProps as BackdropBaseProps, type DrawerBackdropProps as BackdropProps, } from './drawer-backdrop';
3
3
  export { DrawerCloseTrigger as CloseTrigger, type DrawerCloseTriggerBaseProps as CloseTriggerBaseProps, type DrawerCloseTriggerProps as CloseTriggerProps, } from './drawer-close-trigger';
4
4
  export { DrawerContent as Content, type DrawerContentBaseProps as ContentBaseProps, type DrawerContentProps as ContentProps, } from './drawer-content';
5
+ export { DrawerDescription as Description, type DrawerDescriptionBaseProps as DescriptionBaseProps, type DrawerDescriptionProps as DescriptionProps, } from './drawer-description';
5
6
  export { DrawerContext as Context, type DrawerContextProps as ContextProps } from './drawer-context';
6
7
  export { DrawerIndent as Indent, type DrawerIndentBaseProps as IndentBaseProps, type DrawerIndentProps as IndentProps, } from './drawer-indent';
7
8
  export { DrawerIndentBackground as IndentBackground, type DrawerIndentBackgroundBaseProps as IndentBackgroundBaseProps, type DrawerIndentBackgroundProps as IndentBackgroundProps, } from './drawer-indent-background';
@@ -11,5 +12,6 @@ export { DrawerGrabberIndicator as GrabberIndicator, type DrawerGrabberIndicator
11
12
  export { DrawerRoot as Root, type DrawerRootBaseProps as RootBaseProps, type DrawerRootProps as RootProps, } from './drawer-root';
12
13
  export { DrawerRootProvider as RootProvider, type DrawerRootProviderBaseProps as RootProviderBaseProps, type DrawerRootProviderProps as RootProviderProps, } from './drawer-root-provider';
13
14
  export { DrawerStack as Stack, type DrawerStackProps as StackProps } from './drawer-stack';
15
+ export { DrawerSwipeArea as SwipeArea, type DrawerSwipeAreaBaseProps as SwipeAreaBaseProps, type DrawerSwipeAreaProps as SwipeAreaProps, } from './drawer-swipe-area';
14
16
  export { DrawerTitle as Title, type DrawerTitleBaseProps as TitleBaseProps, type DrawerTitleProps as TitleProps, } from './drawer-title';
15
17
  export { DrawerTrigger as Trigger, type DrawerTriggerBaseProps as TriggerBaseProps, type DrawerTriggerProps as TriggerProps, } from './drawer-trigger';
@@ -1,7 +1,8 @@
1
- export type { OpenChangeDetails, SnapPointChangeDetails } from '@zag-js/drawer';
1
+ export type { OpenChangeDetails, SnapPointChangeDetails, TriggerValueChangeDetails } from '@zag-js/drawer';
2
2
  export { DrawerBackdrop as Backdrop, type DrawerBackdropBaseProps as BackdropBaseProps, type DrawerBackdropProps as BackdropProps, } from './drawer-backdrop';
3
3
  export { DrawerCloseTrigger as CloseTrigger, type DrawerCloseTriggerBaseProps as CloseTriggerBaseProps, type DrawerCloseTriggerProps as CloseTriggerProps, } from './drawer-close-trigger';
4
4
  export { DrawerContent as Content, type DrawerContentBaseProps as ContentBaseProps, type DrawerContentProps as ContentProps, } from './drawer-content';
5
+ export { DrawerDescription as Description, type DrawerDescriptionBaseProps as DescriptionBaseProps, type DrawerDescriptionProps as DescriptionProps, } from './drawer-description';
5
6
  export { DrawerContext as Context, type DrawerContextProps as ContextProps } from './drawer-context';
6
7
  export { DrawerIndent as Indent, type DrawerIndentBaseProps as IndentBaseProps, type DrawerIndentProps as IndentProps, } from './drawer-indent';
7
8
  export { DrawerIndentBackground as IndentBackground, type DrawerIndentBackgroundBaseProps as IndentBackgroundBaseProps, type DrawerIndentBackgroundProps as IndentBackgroundProps, } from './drawer-indent-background';
@@ -11,5 +12,6 @@ export { DrawerGrabberIndicator as GrabberIndicator, type DrawerGrabberIndicator
11
12
  export { DrawerRoot as Root, type DrawerRootBaseProps as RootBaseProps, type DrawerRootProps as RootProps, } from './drawer-root';
12
13
  export { DrawerRootProvider as RootProvider, type DrawerRootProviderBaseProps as RootProviderBaseProps, type DrawerRootProviderProps as RootProviderProps, } from './drawer-root-provider';
13
14
  export { DrawerStack as Stack, type DrawerStackProps as StackProps } from './drawer-stack';
15
+ export { DrawerSwipeArea as SwipeArea, type DrawerSwipeAreaBaseProps as SwipeAreaBaseProps, type DrawerSwipeAreaProps as SwipeAreaProps, } from './drawer-swipe-area';
14
16
  export { DrawerTitle as Title, type DrawerTitleBaseProps as TitleBaseProps, type DrawerTitleProps as TitleProps, } from './drawer-title';
15
17
  export { DrawerTrigger as Trigger, type DrawerTriggerBaseProps as TriggerBaseProps, type DrawerTriggerProps as TriggerProps, } from './drawer-trigger';
@@ -1,6 +1,7 @@
1
1
  export { DrawerBackdrop as Backdrop } from './drawer-backdrop.js';
2
2
  export { DrawerCloseTrigger as CloseTrigger } from './drawer-close-trigger.js';
3
3
  export { DrawerContent as Content } from './drawer-content.js';
4
+ export { DrawerDescription as Description } from './drawer-description.js';
4
5
  export { DrawerContext as Context } from './drawer-context.js';
5
6
  export { DrawerIndent as Indent } from './drawer-indent.js';
6
7
  export { DrawerIndentBackground as IndentBackground } from './drawer-indent-background.js';
@@ -10,5 +11,6 @@ export { DrawerGrabberIndicator as GrabberIndicator } from './drawer-grabber-ind
10
11
  export { DrawerRoot as Root } from './drawer-root.js';
11
12
  export { DrawerRootProvider as RootProvider } from './drawer-root-provider.js';
12
13
  export { DrawerStack as Stack } from './drawer-stack.js';
14
+ export { DrawerSwipeArea as SwipeArea } from './drawer-swipe-area.js';
13
15
  export { DrawerTitle as Title } from './drawer-title.js';
14
16
  export { DrawerTrigger as Trigger } from './drawer-trigger.js';
@@ -5,6 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
  const drawerBackdrop = require('./drawer-backdrop.cjs');
6
6
  const drawerCloseTrigger = require('./drawer-close-trigger.cjs');
7
7
  const drawerContent = require('./drawer-content.cjs');
8
+ const drawerDescription = require('./drawer-description.cjs');
8
9
  const drawerContext = require('./drawer-context.cjs');
9
10
  const drawerPositioner = require('./drawer-positioner.cjs');
10
11
  const drawerGrabber = require('./drawer-grabber.cjs');
@@ -16,6 +17,7 @@ const drawerTrigger = require('./drawer-trigger.cjs');
16
17
  const drawerIndent = require('./drawer-indent.cjs');
17
18
  const drawerIndentBackground = require('./drawer-indent-background.cjs');
18
19
  const drawerStack = require('./drawer-stack.cjs');
20
+ const drawerSwipeArea = require('./drawer-swipe-area.cjs');
19
21
  const useDrawer = require('./use-drawer.cjs');
20
22
  const useDrawerContext = require('./use-drawer-context.cjs');
21
23
  const useDrawerStackContext = require('./use-drawer-stack-context.cjs');
@@ -27,6 +29,7 @@ const drawer$1 = require('@zag-js/drawer');
27
29
  exports.DrawerBackdrop = drawerBackdrop.DrawerBackdrop;
28
30
  exports.DrawerCloseTrigger = drawerCloseTrigger.DrawerCloseTrigger;
29
31
  exports.DrawerContent = drawerContent.DrawerContent;
32
+ exports.DrawerDescription = drawerDescription.DrawerDescription;
30
33
  exports.DrawerContext = drawerContext.DrawerContext;
31
34
  exports.DrawerPositioner = drawerPositioner.DrawerPositioner;
32
35
  exports.DrawerGrabber = drawerGrabber.DrawerGrabber;
@@ -38,6 +41,7 @@ exports.DrawerTrigger = drawerTrigger.DrawerTrigger;
38
41
  exports.DrawerIndent = drawerIndent.DrawerIndent;
39
42
  exports.DrawerIndentBackground = drawerIndentBackground.DrawerIndentBackground;
40
43
  exports.DrawerStack = drawerStack.DrawerStack;
44
+ exports.DrawerSwipeArea = drawerSwipeArea.DrawerSwipeArea;
41
45
  exports.useDrawer = useDrawer.useDrawer;
42
46
  exports.useDrawerContext = useDrawerContext.useDrawerContext;
43
47
  exports.useDrawerStackContext = useDrawerStackContext.useDrawerStackContext;
@@ -1,7 +1,8 @@
1
- export type { OpenChangeDetails as DrawerOpenChangeDetails, SnapPointChangeDetails as DrawerSnapPointChangeDetails, } from '@zag-js/drawer';
1
+ export type { OpenChangeDetails as DrawerOpenChangeDetails, SnapPointChangeDetails as DrawerSnapPointChangeDetails, TriggerValueChangeDetails as DrawerTriggerValueChangeDetails, } from '@zag-js/drawer';
2
2
  export { DrawerBackdrop, type DrawerBackdropBaseProps, type DrawerBackdropProps } from './drawer-backdrop';
3
3
  export { DrawerCloseTrigger, type DrawerCloseTriggerBaseProps, type DrawerCloseTriggerProps, } from './drawer-close-trigger';
4
4
  export { DrawerContent, type DrawerContentBaseProps, type DrawerContentProps } from './drawer-content';
5
+ export { DrawerDescription, type DrawerDescriptionBaseProps, type DrawerDescriptionProps } from './drawer-description';
5
6
  export { DrawerContext, type DrawerContextProps } from './drawer-context';
6
7
  export { DrawerPositioner, type DrawerPositionerBaseProps, type DrawerPositionerProps } from './drawer-positioner';
7
8
  export { DrawerGrabber, type DrawerGrabberBaseProps, type DrawerGrabberProps } from './drawer-grabber';
@@ -13,6 +14,7 @@ export { DrawerTrigger, type DrawerTriggerBaseProps, type DrawerTriggerProps } f
13
14
  export { DrawerIndent, type DrawerIndentBaseProps, type DrawerIndentProps } from './drawer-indent';
14
15
  export { DrawerIndentBackground, type DrawerIndentBackgroundBaseProps, type DrawerIndentBackgroundProps, } from './drawer-indent-background';
15
16
  export { DrawerStack, type DrawerStackProps } from './drawer-stack';
17
+ export { DrawerSwipeArea, type DrawerSwipeAreaBaseProps, type DrawerSwipeAreaProps } from './drawer-swipe-area';
16
18
  export { drawerAnatomy } from './drawer.anatomy';
17
19
  export { useDrawer, type UseDrawerProps, type UseDrawerReturn } from './use-drawer';
18
20
  export { useDrawerContext, type UseDrawerContext } from './use-drawer-context';
@@ -1,7 +1,8 @@
1
- export type { OpenChangeDetails as DrawerOpenChangeDetails, SnapPointChangeDetails as DrawerSnapPointChangeDetails, } from '@zag-js/drawer';
1
+ export type { OpenChangeDetails as DrawerOpenChangeDetails, SnapPointChangeDetails as DrawerSnapPointChangeDetails, TriggerValueChangeDetails as DrawerTriggerValueChangeDetails, } from '@zag-js/drawer';
2
2
  export { DrawerBackdrop, type DrawerBackdropBaseProps, type DrawerBackdropProps } from './drawer-backdrop';
3
3
  export { DrawerCloseTrigger, type DrawerCloseTriggerBaseProps, type DrawerCloseTriggerProps, } from './drawer-close-trigger';
4
4
  export { DrawerContent, type DrawerContentBaseProps, type DrawerContentProps } from './drawer-content';
5
+ export { DrawerDescription, type DrawerDescriptionBaseProps, type DrawerDescriptionProps } from './drawer-description';
5
6
  export { DrawerContext, type DrawerContextProps } from './drawer-context';
6
7
  export { DrawerPositioner, type DrawerPositionerBaseProps, type DrawerPositionerProps } from './drawer-positioner';
7
8
  export { DrawerGrabber, type DrawerGrabberBaseProps, type DrawerGrabberProps } from './drawer-grabber';
@@ -13,6 +14,7 @@ export { DrawerTrigger, type DrawerTriggerBaseProps, type DrawerTriggerProps } f
13
14
  export { DrawerIndent, type DrawerIndentBaseProps, type DrawerIndentProps } from './drawer-indent';
14
15
  export { DrawerIndentBackground, type DrawerIndentBackgroundBaseProps, type DrawerIndentBackgroundProps, } from './drawer-indent-background';
15
16
  export { DrawerStack, type DrawerStackProps } from './drawer-stack';
17
+ export { DrawerSwipeArea, type DrawerSwipeAreaBaseProps, type DrawerSwipeAreaProps } from './drawer-swipe-area';
16
18
  export { drawerAnatomy } from './drawer.anatomy';
17
19
  export { useDrawer, type UseDrawerProps, type UseDrawerReturn } from './use-drawer';
18
20
  export { useDrawerContext, type UseDrawerContext } from './use-drawer-context';
@@ -1,6 +1,7 @@
1
1
  export { DrawerBackdrop } from './drawer-backdrop.js';
2
2
  export { DrawerCloseTrigger } from './drawer-close-trigger.js';
3
3
  export { DrawerContent } from './drawer-content.js';
4
+ export { DrawerDescription } from './drawer-description.js';
4
5
  export { DrawerContext } from './drawer-context.js';
5
6
  export { DrawerPositioner } from './drawer-positioner.js';
6
7
  export { DrawerGrabber } from './drawer-grabber.js';
@@ -12,6 +13,7 @@ export { DrawerTrigger } from './drawer-trigger.js';
12
13
  export { DrawerIndent } from './drawer-indent.js';
13
14
  export { DrawerIndentBackground } from './drawer-indent-background.js';
14
15
  export { DrawerStack } from './drawer-stack.js';
16
+ export { DrawerSwipeArea } from './drawer-swipe-area.js';
15
17
  export { useDrawer } from './use-drawer.js';
16
18
  export { useDrawerContext } from './use-drawer-context.js';
17
19
  export { useDrawerStackContext } from './use-drawer-stack-context.js';
@@ -0,0 +1,54 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react = require('react');
8
+ const field_anatomy = require('./field.anatomy.cjs');
9
+ const useFieldContext = require('./use-field-context.cjs');
10
+
11
+ const FieldItem = (props) => {
12
+ const { value, children } = props;
13
+ const parentField = useFieldContext.useFieldContext();
14
+ const itemField = react.useMemo(() => {
15
+ if (!parentField) {
16
+ throw new Error("Field.Item must be used within Field.Root");
17
+ }
18
+ const controlId = `field::${parentField.ids.control}::item::${value}`;
19
+ const labelId = `${controlId}::label`;
20
+ const getControlProps = () => ({
21
+ ...parentField.getInputProps(),
22
+ id: controlId
23
+ });
24
+ return {
25
+ ...parentField,
26
+ ids: {
27
+ ...parentField.ids,
28
+ control: controlId,
29
+ label: labelId
30
+ },
31
+ getLabelProps: () => ({
32
+ ...parentField.getLabelProps(),
33
+ id: labelId,
34
+ htmlFor: controlId
35
+ }),
36
+ getInputProps: () => ({
37
+ ...getControlProps(),
38
+ ...field_anatomy.parts.input.attrs
39
+ }),
40
+ getSelectProps: () => ({
41
+ ...getControlProps(),
42
+ ...field_anatomy.parts.select.attrs
43
+ }),
44
+ getTextareaProps: () => ({
45
+ ...getControlProps(),
46
+ ...field_anatomy.parts.textarea.attrs
47
+ })
48
+ };
49
+ }, [parentField, value]);
50
+ return /* @__PURE__ */ jsxRuntime.jsx(useFieldContext.FieldProvider, { value: itemField, children });
51
+ };
52
+ FieldItem.displayName = "FieldItem";
53
+
54
+ exports.FieldItem = FieldItem;
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export interface FieldItemBaseProps {
3
+ value: string;
4
+ }
5
+ export interface FieldItemProps extends PropsWithChildren<FieldItemBaseProps> {
6
+ }
7
+ export declare const FieldItem: {
8
+ (props: FieldItemProps): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
@@ -0,0 +1,10 @@
1
+ import { PropsWithChildren } from 'react';
2
+ export interface FieldItemBaseProps {
3
+ value: string;
4
+ }
5
+ export interface FieldItemProps extends PropsWithChildren<FieldItemBaseProps> {
6
+ }
7
+ export declare const FieldItem: {
8
+ (props: FieldItemProps): import("react/jsx-runtime").JSX.Element;
9
+ displayName: string;
10
+ };
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useMemo } from 'react';
4
+ import { parts } from './field.anatomy.js';
5
+ import { useFieldContext, FieldProvider } from './use-field-context.js';
6
+
7
+ const FieldItem = (props) => {
8
+ const { value, children } = props;
9
+ const parentField = useFieldContext();
10
+ const itemField = useMemo(() => {
11
+ if (!parentField) {
12
+ throw new Error("Field.Item must be used within Field.Root");
13
+ }
14
+ const controlId = `field::${parentField.ids.control}::item::${value}`;
15
+ const labelId = `${controlId}::label`;
16
+ const getControlProps = () => ({
17
+ ...parentField.getInputProps(),
18
+ id: controlId
19
+ });
20
+ return {
21
+ ...parentField,
22
+ ids: {
23
+ ...parentField.ids,
24
+ control: controlId,
25
+ label: labelId
26
+ },
27
+ getLabelProps: () => ({
28
+ ...parentField.getLabelProps(),
29
+ id: labelId,
30
+ htmlFor: controlId
31
+ }),
32
+ getInputProps: () => ({
33
+ ...getControlProps(),
34
+ ...parts.input.attrs
35
+ }),
36
+ getSelectProps: () => ({
37
+ ...getControlProps(),
38
+ ...parts.select.attrs
39
+ }),
40
+ getTextareaProps: () => ({
41
+ ...getControlProps(),
42
+ ...parts.textarea.attrs
43
+ })
44
+ };
45
+ }, [parentField, value]);
46
+ return /* @__PURE__ */ jsx(FieldProvider, { value: itemField, children });
47
+ };
48
+ FieldItem.displayName = "FieldItem";
49
+
50
+ export { FieldItem };
@@ -20,7 +20,8 @@ const FieldRoot = react.forwardRef((props, ref) => {
20
20
  "disabled",
21
21
  "invalid",
22
22
  "readOnly",
23
- "required"
23
+ "required",
24
+ "target"
24
25
  ]);
25
26
  const field = useField.useField(useFieldProps);
26
27
  const mergedProps = react$1.mergeProps(field.getRootProps(), localProps);
@@ -16,7 +16,8 @@ const FieldRoot = forwardRef((props, ref) => {
16
16
  "disabled",
17
17
  "invalid",
18
18
  "readOnly",
19
- "required"
19
+ "required",
20
+ "target"
20
21
  ]);
21
22
  const field = useField(useFieldProps);
22
23
  const mergedProps = mergeProps(field.getRootProps(), localProps);
@@ -6,6 +6,7 @@ const fieldContext = require('./field-context.cjs');
6
6
  const fieldErrorText = require('./field-error-text.cjs');
7
7
  const fieldHelperText = require('./field-helper-text.cjs');
8
8
  const fieldInput = require('./field-input.cjs');
9
+ const fieldItem = require('./field-item.cjs');
9
10
  const fieldLabel = require('./field-label.cjs');
10
11
  const fieldRequiredIndicator = require('./field-required-indicator.cjs');
11
12
  const fieldRoot = require('./field-root.cjs');
@@ -19,6 +20,7 @@ exports.Context = fieldContext.FieldContext;
19
20
  exports.ErrorText = fieldErrorText.FieldErrorText;
20
21
  exports.HelperText = fieldHelperText.FieldHelperText;
21
22
  exports.Input = fieldInput.FieldInput;
23
+ exports.Item = fieldItem.FieldItem;
22
24
  exports.Label = fieldLabel.FieldLabel;
23
25
  exports.RequiredIndicator = fieldRequiredIndicator.FieldRequiredIndicator;
24
26
  exports.Root = fieldRoot.FieldRoot;
@@ -2,6 +2,7 @@ export { FieldContext as Context, type FieldContextProps as ContextProps } from
2
2
  export { FieldErrorText as ErrorText, type FieldErrorTextBaseProps as ErrorTextBaseProps, type FieldErrorTextProps as ErrorTextProps, } from './field-error-text';
3
3
  export { FieldHelperText as HelperText, type FieldHelperTextBaseProps as HelperTextBaseProps, type FieldHelperTextProps as HelperTextProps, } from './field-helper-text';
4
4
  export { FieldInput as Input, type FieldInputBaseProps as InputBaseProps, type FieldInputProps as InputProps, } from './field-input';
5
+ export { FieldItem as Item, type FieldItemBaseProps as ItemBaseProps, type FieldItemProps as ItemProps, } from './field-item';
5
6
  export { FieldLabel as Label, type FieldLabelBaseProps as LabelBaseProps, type FieldLabelProps as LabelProps, } from './field-label';
6
7
  export { FieldRequiredIndicator as RequiredIndicator, type FieldRequiredIndicatorBaseProps as RequiredIndicatorBaseProps, type FieldRequiredIndicatorProps as RequiredIndicatorProps, } from './field-required-indicator';
7
8
  export { FieldRoot as Root, type FieldRootBaseProps as RootBaseProps, type FieldRootProps as RootProps, } from './field-root';
@@ -2,6 +2,7 @@ export { FieldContext as Context, type FieldContextProps as ContextProps } from
2
2
  export { FieldErrorText as ErrorText, type FieldErrorTextBaseProps as ErrorTextBaseProps, type FieldErrorTextProps as ErrorTextProps, } from './field-error-text';
3
3
  export { FieldHelperText as HelperText, type FieldHelperTextBaseProps as HelperTextBaseProps, type FieldHelperTextProps as HelperTextProps, } from './field-helper-text';
4
4
  export { FieldInput as Input, type FieldInputBaseProps as InputBaseProps, type FieldInputProps as InputProps, } from './field-input';
5
+ export { FieldItem as Item, type FieldItemBaseProps as ItemBaseProps, type FieldItemProps as ItemProps, } from './field-item';
5
6
  export { FieldLabel as Label, type FieldLabelBaseProps as LabelBaseProps, type FieldLabelProps as LabelProps, } from './field-label';
6
7
  export { FieldRequiredIndicator as RequiredIndicator, type FieldRequiredIndicatorBaseProps as RequiredIndicatorBaseProps, type FieldRequiredIndicatorProps as RequiredIndicatorProps, } from './field-required-indicator';
7
8
  export { FieldRoot as Root, type FieldRootBaseProps as RootBaseProps, type FieldRootProps as RootProps, } from './field-root';
@@ -2,6 +2,7 @@ export { FieldContext as Context } from './field-context.js';
2
2
  export { FieldErrorText as ErrorText } from './field-error-text.js';
3
3
  export { FieldHelperText as HelperText } from './field-helper-text.js';
4
4
  export { FieldInput as Input } from './field-input.js';
5
+ export { FieldItem as Item } from './field-item.js';
5
6
  export { FieldLabel as Label } from './field-label.js';
6
7
  export { FieldRequiredIndicator as RequiredIndicator } from './field-required-indicator.js';
7
8
  export { FieldRoot as Root } from './field-root.js';
@@ -13,7 +13,14 @@ const field_anatomy = require('./field.anatomy.cjs');
13
13
  const useField = (props = {}) => {
14
14
  const fieldset = useFieldsetContext.useFieldsetContext();
15
15
  const env = useEnvironmentContext.useEnvironmentContext();
16
- const { ids, disabled = Boolean(fieldset?.disabled), invalid = false, readOnly = false, required = false } = props;
16
+ const {
17
+ ids,
18
+ target,
19
+ disabled = Boolean(fieldset?.disabled),
20
+ invalid = false,
21
+ readOnly = false,
22
+ required = false
23
+ } = props;
17
24
  const [hasErrorText, setHasErrorText] = react.useState(false);
18
25
  const [hasHelperText, setHasHelperText] = react.useState(false);
19
26
  const uid = react.useId();
@@ -55,6 +62,7 @@ const useField = (props = {}) => {
55
62
  }),
56
63
  [disabled, invalid, readOnly, rootId]
57
64
  );
65
+ const targetControlId = target ? `field::${id}::item::${target}` : void 0;
58
66
  const getLabelProps = react.useMemo(
59
67
  () => () => ({
60
68
  ...field_anatomy.parts.label.attrs,
@@ -63,9 +71,9 @@ const useField = (props = {}) => {
63
71
  "data-invalid": domQuery.dataAttr(invalid),
64
72
  "data-readonly": domQuery.dataAttr(readOnly),
65
73
  "data-required": domQuery.dataAttr(required),
66
- htmlFor: id
74
+ htmlFor: targetControlId ?? id
67
75
  }),
68
- [disabled, invalid, readOnly, required, id, labelId]
76
+ [disabled, invalid, readOnly, required, id, labelId, targetControlId]
69
77
  );
70
78
  const getControlProps = react.useMemo(
71
79
  () => () => ({
@@ -32,6 +32,10 @@ export interface UseFieldProps {
32
32
  * Indicates whether the field is read-only.
33
33
  */
34
34
  readOnly?: boolean | undefined;
35
+ /**
36
+ * The target field item value the label should point to.
37
+ */
38
+ target?: string | undefined;
35
39
  }
36
40
  export type UseFieldReturn = ReturnType<typeof useField>;
37
41
  export declare const useField: (props?: UseFieldProps) => {
@@ -32,6 +32,10 @@ export interface UseFieldProps {
32
32
  * Indicates whether the field is read-only.
33
33
  */
34
34
  readOnly?: boolean | undefined;
35
+ /**
36
+ * The target field item value the label should point to.
37
+ */
38
+ target?: string | undefined;
35
39
  }
36
40
  export type UseFieldReturn = ReturnType<typeof useField>;
37
41
  export declare const useField: (props?: UseFieldProps) => {
@@ -9,7 +9,14 @@ import { parts } from './field.anatomy.js';
9
9
  const useField = (props = {}) => {
10
10
  const fieldset = useFieldsetContext();
11
11
  const env = useEnvironmentContext();
12
- const { ids, disabled = Boolean(fieldset?.disabled), invalid = false, readOnly = false, required = false } = props;
12
+ const {
13
+ ids,
14
+ target,
15
+ disabled = Boolean(fieldset?.disabled),
16
+ invalid = false,
17
+ readOnly = false,
18
+ required = false
19
+ } = props;
13
20
  const [hasErrorText, setHasErrorText] = useState(false);
14
21
  const [hasHelperText, setHasHelperText] = useState(false);
15
22
  const uid = useId();
@@ -51,6 +58,7 @@ const useField = (props = {}) => {
51
58
  }),
52
59
  [disabled, invalid, readOnly, rootId]
53
60
  );
61
+ const targetControlId = target ? `field::${id}::item::${target}` : void 0;
54
62
  const getLabelProps = useMemo(
55
63
  () => () => ({
56
64
  ...parts.label.attrs,
@@ -59,9 +67,9 @@ const useField = (props = {}) => {
59
67
  "data-invalid": dataAttr(invalid),
60
68
  "data-readonly": dataAttr(readOnly),
61
69
  "data-required": dataAttr(required),
62
- htmlFor: id
70
+ htmlFor: targetControlId ?? id
63
71
  }),
64
- [disabled, invalid, readOnly, required, id, labelId]
72
+ [disabled, invalid, readOnly, required, id, labelId, targetControlId]
65
73
  );
66
74
  const getControlProps = useMemo(
67
75
  () => () => ({
@@ -27,8 +27,10 @@ const FloatingPanelRoot = (props) => {
27
27
  "getAnchorPosition",
28
28
  "getBoundaryEl",
29
29
  "gridSize",
30
+ "finalFocusEl",
30
31
  "id",
31
32
  "ids",
33
+ "initialFocusEl",
32
34
  "lockAspectRatio",
33
35
  "maxSize",
34
36
  "minSize",
@@ -42,6 +44,7 @@ const FloatingPanelRoot = (props) => {
42
44
  "persistRect",
43
45
  "position",
44
46
  "resizable",
47
+ "restoreFocus",
45
48
  "size",
46
49
  "strategy",
47
50
  "translations"
@@ -23,8 +23,10 @@ const FloatingPanelRoot = (props) => {
23
23
  "getAnchorPosition",
24
24
  "getBoundaryEl",
25
25
  "gridSize",
26
+ "finalFocusEl",
26
27
  "id",
27
28
  "ids",
29
+ "initialFocusEl",
28
30
  "lockAspectRatio",
29
31
  "maxSize",
30
32
  "minSize",
@@ -38,6 +40,7 @@ const FloatingPanelRoot = (props) => {
38
40
  "persistRect",
39
41
  "position",
40
42
  "resizable",
43
+ "restoreFocus",
41
44
  "size",
42
45
  "strategy",
43
46
  "translations"
@@ -33,7 +33,7 @@ const Frame = react.forwardRef((props, ref) => {
33
33
  setMountNode(getMountNode(frameRef));
34
34
  }, [frameRef, srcDoc]);
35
35
  react.useEffect(() => {
36
- if (!frameRef || !frameRef.contentDocument) return;
36
+ if (!frameRef?.contentDocument) return;
37
37
  const win = frameRef.contentWindow;
38
38
  if (!win) return;
39
39
  const mountNode2 = getMountNode(frameRef);
@@ -29,7 +29,7 @@ const Frame = forwardRef((props, ref) => {
29
29
  setMountNode(getMountNode(frameRef));
30
30
  }, [frameRef, srcDoc]);
31
31
  useEffect(() => {
32
- if (!frameRef || !frameRef.contentDocument) return;
32
+ if (!frameRef?.contentDocument) return;
33
33
  const win = frameRef.contentWindow;
34
34
  if (!win) return;
35
35
  const mountNode2 = getMountNode(frameRef);
@@ -6,12 +6,15 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
+ const createSplitProps = require('../../utils/create-split-props.cjs');
9
10
  const factory = require('../factory.cjs');
10
11
  const useHoverCardContext = require('./use-hover-card-context.cjs');
11
12
 
13
+ const splitTriggerProps = createSplitProps.createSplitProps();
12
14
  const HoverCardTrigger = react.forwardRef((props, ref) => {
15
+ const [triggerProps, localProps] = splitTriggerProps(props, ["value"]);
13
16
  const hoverCard = useHoverCardContext.useHoverCardContext();
14
- const mergedProps = react$1.mergeProps(hoverCard.getTriggerProps(), props);
17
+ const mergedProps = react$1.mergeProps(hoverCard.getTriggerProps(triggerProps), localProps);
15
18
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.button, { ...mergedProps, ref });
16
19
  });
17
20
  HoverCardTrigger.displayName = "HoverCardTrigger";
@@ -1,7 +1,9 @@
1
+ import { TriggerProps } from '@zag-js/hover-card';
2
+ import { Assign } from '../../types';
1
3
  import { HTMLProps, PolymorphicProps } from '../factory';
2
4
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
- export interface HoverCardTriggerBaseProps extends PolymorphicProps {
5
+ export interface HoverCardTriggerBaseProps extends TriggerProps, PolymorphicProps {
4
6
  }
5
- export interface HoverCardTriggerProps extends HTMLProps<'button'>, HoverCardTriggerBaseProps {
7
+ export interface HoverCardTriggerProps extends Assign<HTMLProps<'button'>, HoverCardTriggerBaseProps> {
6
8
  }
7
9
  export declare const HoverCardTrigger: ForwardRefExoticComponent<HoverCardTriggerProps & RefAttributes<HTMLButtonElement>>;
@@ -1,7 +1,9 @@
1
+ import { TriggerProps } from '@zag-js/hover-card';
2
+ import { Assign } from '../../types';
1
3
  import { HTMLProps, PolymorphicProps } from '../factory';
2
4
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
- export interface HoverCardTriggerBaseProps extends PolymorphicProps {
5
+ export interface HoverCardTriggerBaseProps extends TriggerProps, PolymorphicProps {
4
6
  }
5
- export interface HoverCardTriggerProps extends HTMLProps<'button'>, HoverCardTriggerBaseProps {
7
+ export interface HoverCardTriggerProps extends Assign<HTMLProps<'button'>, HoverCardTriggerBaseProps> {
6
8
  }
7
9
  export declare const HoverCardTrigger: ForwardRefExoticComponent<HoverCardTriggerProps & RefAttributes<HTMLButtonElement>>;
@@ -2,12 +2,15 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
+ import { createSplitProps } from '../../utils/create-split-props.js';
5
6
  import { ark } from '../factory.js';
6
7
  import { useHoverCardContext } from './use-hover-card-context.js';
7
8
 
9
+ const splitTriggerProps = createSplitProps();
8
10
  const HoverCardTrigger = forwardRef((props, ref) => {
11
+ const [triggerProps, localProps] = splitTriggerProps(props, ["value"]);
9
12
  const hoverCard = useHoverCardContext();
10
- const mergedProps = mergeProps(hoverCard.getTriggerProps(), props);
13
+ const mergedProps = mergeProps(hoverCard.getTriggerProps(triggerProps), localProps);
11
14
  return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });
12
15
  });
13
16
  HoverCardTrigger.displayName = "HoverCardTrigger";
@@ -1,4 +1,4 @@
1
- export type { FocusOutsideEvent, InteractOutsideEvent, OpenChangeDetails, PointerDownOutsideEvent, } from '@zag-js/hover-card';
1
+ export type { FocusOutsideEvent, InteractOutsideEvent, OpenChangeDetails, PointerDownOutsideEvent, TriggerValueChangeDetails, } from '@zag-js/hover-card';
2
2
  export { HoverCardArrow as Arrow, type HoverCardArrowBaseProps as ArrowBaseProps, type HoverCardArrowProps as ArrowProps, } from './hover-card-arrow';
3
3
  export { HoverCardArrowTip as ArrowTip, type HoverCardArrowTipBaseProps as ArrowTipBaseProps, type HoverCardArrowTipProps as ArrowTipProps, } from './hover-card-arrow-tip';
4
4
  export { HoverCardContent as Content, type HoverCardContentBaseProps as ContentBaseProps, type HoverCardContentProps as ContentProps, } from './hover-card-content';
@@ -1,4 +1,4 @@
1
- export type { FocusOutsideEvent, InteractOutsideEvent, OpenChangeDetails, PointerDownOutsideEvent, } from '@zag-js/hover-card';
1
+ export type { FocusOutsideEvent, InteractOutsideEvent, OpenChangeDetails, PointerDownOutsideEvent, TriggerValueChangeDetails, } from '@zag-js/hover-card';
2
2
  export { HoverCardArrow as Arrow, type HoverCardArrowBaseProps as ArrowBaseProps, type HoverCardArrowProps as ArrowProps, } from './hover-card-arrow';
3
3
  export { HoverCardArrowTip as ArrowTip, type HoverCardArrowTipBaseProps as ArrowTipBaseProps, type HoverCardArrowTipProps as ArrowTipProps, } from './hover-card-arrow-tip';
4
4
  export { HoverCardContent as Content, type HoverCardContentBaseProps as ContentBaseProps, type HoverCardContentProps as ContentProps, } from './hover-card-content';