@ark-ui/react 2.1.0 → 2.2.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 (81) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/accordion/accordion-context.d.ts +1 -2
  3. package/accordion/accordion-item-content.cjs +4 -12
  4. package/accordion/accordion-item-content.mjs +4 -12
  5. package/accordion/accordion-item-trigger.cjs +3 -3
  6. package/accordion/accordion-item-trigger.mjs +3 -3
  7. package/accordion/accordion-item.cjs +21 -13
  8. package/accordion/accordion-item.d.ts +4 -3
  9. package/accordion/accordion-item.mjs +21 -13
  10. package/accordion/accordion-root.cjs +3 -4
  11. package/accordion/accordion-root.d.ts +2 -2
  12. package/accordion/accordion-root.mjs +3 -4
  13. package/clipboard/clipboard-indicator.cjs +1 -1
  14. package/clipboard/clipboard-indicator.mjs +1 -1
  15. package/clipboard/index.cjs +24 -0
  16. package/clipboard/index.mjs +10 -0
  17. package/collapsible/collapsible-content.cjs +24 -0
  18. package/collapsible/collapsible-content.d.ts +6 -0
  19. package/collapsible/collapsible-content.mjs +20 -0
  20. package/collapsible/collapsible-context.cjs +15 -0
  21. package/collapsible/collapsible-context.d.ts +6 -0
  22. package/collapsible/collapsible-context.mjs +10 -0
  23. package/collapsible/collapsible-root.cjs +22 -0
  24. package/collapsible/collapsible-root.d.ts +8 -0
  25. package/collapsible/collapsible-root.mjs +18 -0
  26. package/collapsible/collapsible-trigger.cjs +21 -0
  27. package/collapsible/collapsible-trigger.d.ts +6 -0
  28. package/collapsible/collapsible-trigger.mjs +17 -0
  29. package/collapsible/collapsible.cjs +13 -0
  30. package/collapsible/collapsible.d.ts +4 -0
  31. package/collapsible/collapsible.mjs +3 -0
  32. package/collapsible/index.cjs +17 -0
  33. package/collapsible/index.d.ts +8 -0
  34. package/collapsible/index.mjs +6 -0
  35. package/collapsible/split-collapsible-props.cjs +22 -0
  36. package/collapsible/split-collapsible-props.d.ts +2 -0
  37. package/collapsible/split-collapsible-props.mjs +18 -0
  38. package/collapsible/use-collapsible.cjs +55 -0
  39. package/collapsible/use-collapsible.d.ts +17 -0
  40. package/collapsible/use-collapsible.mjs +32 -0
  41. package/dialog/dialog-backdrop.cjs +3 -3
  42. package/dialog/dialog-backdrop.mjs +3 -3
  43. package/dialog/dialog-root.cjs +3 -2
  44. package/dialog/dialog-root.mjs +3 -2
  45. package/factory.cjs +16 -12
  46. package/factory.mjs +17 -13
  47. package/index.cjs +27 -19
  48. package/index.d.ts +1 -0
  49. package/index.mjs +16 -10
  50. package/menu/menu-item-group.d.ts +2 -2
  51. package/package.json +56 -224
  52. package/presence/index.cjs +0 -3
  53. package/presence/index.d.ts +2 -3
  54. package/presence/index.mjs +0 -1
  55. package/presence/split-presence-props.cjs +6 -8
  56. package/presence/split-presence-props.d.ts +1 -1
  57. package/presence/split-presence-props.mjs +6 -8
  58. package/presence/use-presence.d.ts +2 -11
  59. package/render-strategy.cjs +18 -0
  60. package/render-strategy.d.ts +16 -0
  61. package/render-strategy.mjs +12 -0
  62. package/splitter/splitter-root.cjs +0 -1
  63. package/splitter/splitter-root.mjs +0 -1
  64. package/splitter/use-splitter.cjs +1 -2
  65. package/splitter/use-splitter.mjs +1 -2
  66. package/tabs/tab-content.cjs +3 -3
  67. package/tabs/tab-content.mjs +3 -3
  68. package/tabs/tabs-root.cjs +3 -4
  69. package/tabs/tabs-root.d.ts +2 -2
  70. package/tabs/tabs-root.mjs +3 -4
  71. package/toast/create-toaster.d.ts +2 -1
  72. package/tree-view/tree-view-branch-indicator.cjs +1 -7
  73. package/tree-view/tree-view-branch-indicator.mjs +1 -7
  74. package/tree-view/tree-view-root.cjs +2 -1
  75. package/tree-view/tree-view-root.mjs +2 -1
  76. package/tree-view/use-tree-view.cjs +2 -2
  77. package/tree-view/use-tree-view.d.ts +6 -2
  78. package/tree-view/use-tree-view.mjs +2 -2
  79. package/presence/presence-props-context.cjs +0 -17
  80. package/presence/presence-props-context.d.ts +0 -6
  81. package/presence/presence-props-context.mjs +0 -12
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const collapsibleContent = require('./collapsible-content.cjs');
6
+ const collapsibleContext = require('./collapsible-context.cjs');
7
+ const collapsibleRoot = require('./collapsible-root.cjs');
8
+ const collapsibleTrigger = require('./collapsible-trigger.cjs');
9
+ const collapsible = require('./collapsible.cjs');
10
+
11
+
12
+
13
+ exports.CollapsibleContent = collapsibleContent.CollapsibleContent;
14
+ exports.useCollapsibleContext = collapsibleContext.useCollapsibleContext;
15
+ exports.CollapsibleRoot = collapsibleRoot.CollapsibleRoot;
16
+ exports.CollapsibleTrigger = collapsibleTrigger.CollapsibleTrigger;
17
+ exports.Collapsible = collapsible;
@@ -0,0 +1,8 @@
1
+ import type { OpenChangeDetails as CollapsibleOpenChangeDetails } from '@zag-js/collapsible';
2
+ import { CollapsibleContent, type CollapsibleContentProps } from './collapsible-content';
3
+ import { useCollapsibleContext, type CollapsibleContext } from './collapsible-context';
4
+ import { CollapsibleRoot, type CollapsibleRootProps } from './collapsible-root';
5
+ import { CollapsibleTrigger, type CollapsibleTriggerProps } from './collapsible-trigger';
6
+ export * as Collapsible from './collapsible';
7
+ export { CollapsibleContent, CollapsibleRoot, CollapsibleTrigger, useCollapsibleContext };
8
+ export type { CollapsibleContentProps, CollapsibleContext, CollapsibleOpenChangeDetails, CollapsibleRootProps, CollapsibleTriggerProps, };
@@ -0,0 +1,6 @@
1
+ export { CollapsibleContent } from './collapsible-content.mjs';
2
+ export { useCollapsibleContext } from './collapsible-context.mjs';
3
+ export { CollapsibleRoot } from './collapsible-root.mjs';
4
+ export { CollapsibleTrigger } from './collapsible-trigger.mjs';
5
+ import * as collapsible from './collapsible.mjs';
6
+ export { collapsible as Collapsible };
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const createSplitProps = require('../create-split-props.cjs');
7
+
8
+ const splitCollapsibleProps = (props) => createSplitProps.createSplitProps()(props, [
9
+ "defaultOpen",
10
+ "dir",
11
+ "disabled",
12
+ "getRootNode",
13
+ "id",
14
+ "ids",
15
+ "lazyMount",
16
+ "onExitComplete",
17
+ "onOpenChange",
18
+ "open",
19
+ "unmountOnExit"
20
+ ]);
21
+
22
+ exports.splitCollapsibleProps = splitCollapsibleProps;
@@ -0,0 +1,2 @@
1
+ import type { UseCollapsibleProps } from './use-collapsible';
2
+ export declare const splitCollapsibleProps: <T extends UseCollapsibleProps>(props: T) => [UseCollapsibleProps, Omit<T, "id" | "dir" | "disabled" | "open" | "getRootNode" | "ids" | "lazyMount" | "unmountOnExit" | "onExitComplete" | "onOpenChange" | "defaultOpen">];
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { createSplitProps } from '../create-split-props.mjs';
3
+
4
+ const splitCollapsibleProps = (props) => createSplitProps()(props, [
5
+ "defaultOpen",
6
+ "dir",
7
+ "disabled",
8
+ "getRootNode",
9
+ "id",
10
+ "ids",
11
+ "lazyMount",
12
+ "onExitComplete",
13
+ "onOpenChange",
14
+ "open",
15
+ "unmountOnExit"
16
+ ]);
17
+
18
+ export { splitCollapsibleProps };
@@ -0,0 +1,55 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const collapsible = require('@zag-js/collapsible');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const environmentContext = require('../environment/environment-context.cjs');
10
+ const useEvent = require('../use-event.cjs');
11
+
12
+ function _interopNamespaceDefault(e) {
13
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
14
+ if (e) {
15
+ for (const k in e) {
16
+ if (k !== 'default') {
17
+ const d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: () => e[k]
21
+ });
22
+ }
23
+ }
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ const collapsible__namespace = /*#__PURE__*/_interopNamespaceDefault(collapsible);
30
+
31
+ const useCollapsible = (props = {}) => {
32
+ const { lazyMount, unmountOnExit } = props;
33
+ const wasVisible = react.useRef(false);
34
+ const initialContext = {
35
+ id: react.useId(),
36
+ getRootNode: environmentContext.useEnvironmentContext(),
37
+ ...props,
38
+ open: props.defaultOpen ?? props.open,
39
+ "open.controlled": props.open !== void 0
40
+ };
41
+ const context = {
42
+ ...initialContext,
43
+ open: props.open,
44
+ onOpenChange: useEvent.useEvent(props.onOpenChange, { sync: true })
45
+ };
46
+ const [state, send] = react$1.useMachine(collapsible__namespace.machine(initialContext), { context });
47
+ const api = collapsible__namespace.connect(state, send, react$1.normalizeProps);
48
+ if (api.isVisible) {
49
+ wasVisible.current = true;
50
+ }
51
+ const isUnmounted = !api.isVisible && !wasVisible.current && lazyMount || unmountOnExit && !api.isVisible && wasVisible.current;
52
+ return { ...api, isUnmounted };
53
+ };
54
+
55
+ exports.useCollapsible = useCollapsible;
@@ -0,0 +1,17 @@
1
+ import * as collapsible from '@zag-js/collapsible';
2
+ import { type PropTypes } from '@zag-js/react';
3
+ import type { RenderStrategyProps } from '../render-strategy';
4
+ import { type Optional } from '../types';
5
+ export interface UseCollapsibleProps extends Optional<Omit<collapsible.Context, 'open.controlled'>, 'id'>, RenderStrategyProps {
6
+ /**
7
+ * The initial open state of the collpasible.
8
+ */
9
+ defaultOpen?: collapsible.Context['open'];
10
+ }
11
+ export interface UseCollapsibleReturn extends collapsible.Api<PropTypes> {
12
+ /**
13
+ * Whether the content is unmounted
14
+ */
15
+ isUnmounted?: boolean;
16
+ }
17
+ export declare const useCollapsible: (props?: UseCollapsibleProps) => UseCollapsibleReturn;
@@ -0,0 +1,32 @@
1
+ 'use client';
2
+ import * as collapsible from '@zag-js/collapsible';
3
+ import { useMachine, normalizeProps } from '@zag-js/react';
4
+ import { useRef, useId } from 'react';
5
+ import { useEnvironmentContext } from '../environment/environment-context.mjs';
6
+ import { useEvent } from '../use-event.mjs';
7
+
8
+ const useCollapsible = (props = {}) => {
9
+ const { lazyMount, unmountOnExit } = props;
10
+ const wasVisible = useRef(false);
11
+ const initialContext = {
12
+ id: useId(),
13
+ getRootNode: useEnvironmentContext(),
14
+ ...props,
15
+ open: props.defaultOpen ?? props.open,
16
+ "open.controlled": props.open !== void 0
17
+ };
18
+ const context = {
19
+ ...initialContext,
20
+ open: props.open,
21
+ onOpenChange: useEvent(props.onOpenChange, { sync: true })
22
+ };
23
+ const [state, send] = useMachine(collapsible.machine(initialContext), { context });
24
+ const api = collapsible.connect(state, send, normalizeProps);
25
+ if (api.isVisible) {
26
+ wasVisible.current = true;
27
+ }
28
+ const isUnmounted = !api.isVisible && !wasVisible.current && lazyMount || unmountOnExit && !api.isVisible && wasVisible.current;
29
+ return { ...api, isUnmounted };
30
+ };
31
+
32
+ export { useCollapsible };
@@ -7,14 +7,14 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
- const presencePropsContext = require('../presence/presence-props-context.cjs');
11
10
  const usePresence = require('../presence/use-presence.cjs');
11
+ const renderStrategy = require('../render-strategy.cjs');
12
12
  const dialogContext = require('./dialog-context.cjs');
13
13
 
14
14
  const DialogBackdrop = react.forwardRef((props, ref) => {
15
15
  const api = dialogContext.useDialogContext();
16
- const presenceProps = presencePropsContext.usePresencePropsContext();
17
- const presenceApi = usePresence.usePresence(react$1.mergeProps({ present: api.isOpen }, presenceProps));
16
+ const renderStrategyProps = renderStrategy.useRenderStrategyContext();
17
+ const presenceApi = usePresence.usePresence({ ...renderStrategyProps, present: api.isOpen });
18
18
  const mergedProps = react$1.mergeProps(api.backdropProps, presenceApi.getPresenceProps(ref), props);
19
19
  if (presenceApi.isUnmounted) {
20
20
  return null;
@@ -3,14 +3,14 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.mjs';
6
- import { usePresencePropsContext } from '../presence/presence-props-context.mjs';
7
6
  import { usePresence } from '../presence/use-presence.mjs';
7
+ import { useRenderStrategyContext } from '../render-strategy.mjs';
8
8
  import { useDialogContext } from './dialog-context.mjs';
9
9
 
10
10
  const DialogBackdrop = forwardRef((props, ref) => {
11
11
  const api = useDialogContext();
12
- const presenceProps = usePresencePropsContext();
13
- const presenceApi = usePresence(mergeProps({ present: api.isOpen }, presenceProps));
12
+ const renderStrategyProps = useRenderStrategyContext();
13
+ const presenceApi = usePresence({ ...renderStrategyProps, present: api.isOpen });
14
14
  const mergedProps = mergeProps(api.backdropProps, presenceApi.getPresenceProps(ref), props);
15
15
  if (presenceApi.isUnmounted) {
16
16
  return null;
@@ -7,19 +7,20 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react = require('@zag-js/react');
8
8
  require('react');
9
9
  const presenceContext = require('../presence/presence-context.cjs');
10
- const presencePropsContext = require('../presence/presence-props-context.cjs');
11
10
  const splitPresenceProps = require('../presence/split-presence-props.cjs');
12
11
  const usePresence = require('../presence/use-presence.cjs');
12
+ const renderStrategy = require('../render-strategy.cjs');
13
13
  const runIfFn = require('../run-if-fn.cjs');
14
14
  const dialogContext = require('./dialog-context.cjs');
15
15
  const useDialog = require('./use-dialog.cjs');
16
16
 
17
17
  const DialogRoot = (props) => {
18
18
  const [presenceProps, { children, ...localProps }] = splitPresenceProps.splitPresenceProps(props);
19
+ const [renderStrategyProps] = renderStrategy.splitRenderStrategyProps(presenceProps);
19
20
  const api = useDialog.useDialog(localProps);
20
21
  const presenceApi = usePresence.usePresence(react.mergeProps({ present: api.isOpen }, presenceProps));
21
22
  const view = runIfFn.runIfFn(children, api);
22
- return /* @__PURE__ */ jsxRuntime.jsx(dialogContext.DialogProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(presencePropsContext.PresencePropsProvider, { value: presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(presenceContext.PresenceProvider, { value: presenceApi, children: view }) }) });
23
+ return /* @__PURE__ */ jsxRuntime.jsx(dialogContext.DialogProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(renderStrategy.RenderStrategyProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsxRuntime.jsx(presenceContext.PresenceProvider, { value: presenceApi, children: view }) }) });
23
24
  };
24
25
 
25
26
  exports.DialogRoot = DialogRoot;
@@ -3,19 +3,20 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import 'react';
5
5
  import { PresenceProvider } from '../presence/presence-context.mjs';
6
- import { PresencePropsProvider } from '../presence/presence-props-context.mjs';
7
6
  import { splitPresenceProps } from '../presence/split-presence-props.mjs';
8
7
  import { usePresence } from '../presence/use-presence.mjs';
8
+ import { splitRenderStrategyProps, RenderStrategyProvider } from '../render-strategy.mjs';
9
9
  import { runIfFn } from '../run-if-fn.mjs';
10
10
  import { DialogProvider } from './dialog-context.mjs';
11
11
  import { useDialog } from './use-dialog.mjs';
12
12
 
13
13
  const DialogRoot = (props) => {
14
14
  const [presenceProps, { children, ...localProps }] = splitPresenceProps(props);
15
+ const [renderStrategyProps] = splitRenderStrategyProps(presenceProps);
15
16
  const api = useDialog(localProps);
16
17
  const presenceApi = usePresence(mergeProps({ present: api.isOpen }, presenceProps));
17
18
  const view = runIfFn(children, api);
18
- return /* @__PURE__ */ jsx(DialogProvider, { value: api, children: /* @__PURE__ */ jsx(PresencePropsProvider, { value: presenceProps, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presenceApi, children: view }) }) });
19
+ return /* @__PURE__ */ jsx(DialogProvider, { value: api, children: /* @__PURE__ */ jsx(RenderStrategyProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presenceApi, children: view }) }) });
19
20
  };
20
21
 
21
22
  export { DialogRoot };
package/factory.cjs CHANGED
@@ -2,22 +2,26 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const react$1 = require('@zag-js/react');
5
+ const core = require('@zag-js/core');
6
6
  const react = require('react');
7
7
  const composeRefs = require('./compose-refs.cjs');
8
8
 
9
9
  const withAsChild = (Component) => {
10
- const Comp = react.forwardRef((props, ref) => {
11
- const { asChild, children, ...restProps } = props;
12
- if (!asChild) {
13
- return react.createElement(Component, { ...restProps, ref }, children);
14
- }
15
- const onlyChild = react.Children.only(children);
16
- return react.isValidElement(onlyChild) ? react.cloneElement(onlyChild, {
17
- ...react$1.mergeProps(restProps, onlyChild.props),
18
- ref: ref ? composeRefs.composeRefs(ref, onlyChild.ref) : onlyChild.ref
19
- }) : null;
20
- });
10
+ const Comp = react.memo(
11
+ react.forwardRef((props, ref) => {
12
+ const { asChild, children, ...restProps } = props;
13
+ if (!asChild) {
14
+ return react.createElement(Component, { ...restProps, ref }, children);
15
+ }
16
+ const onlyChild = react.Children.only(children);
17
+ return react.isValidElement(onlyChild) ? react.cloneElement(onlyChild, {
18
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
+ ...core.mergeProps(restProps, onlyChild.props),
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
21
+ ref: ref ? composeRefs.composeRefs(ref, onlyChild.ref) : onlyChild.ref
22
+ }) : null;
23
+ })
24
+ );
21
25
  Comp.displayName = Component.displayName || Component.name;
22
26
  return Comp;
23
27
  };
package/factory.mjs CHANGED
@@ -1,19 +1,23 @@
1
- import { mergeProps } from '@zag-js/react';
2
- import { forwardRef, createElement, Children, isValidElement, cloneElement } from 'react';
1
+ import { mergeProps } from '@zag-js/core';
2
+ import { memo, forwardRef, createElement, Children, isValidElement, cloneElement } from 'react';
3
3
  import { composeRefs } from './compose-refs.mjs';
4
4
 
5
5
  const withAsChild = (Component) => {
6
- const Comp = forwardRef((props, ref) => {
7
- const { asChild, children, ...restProps } = props;
8
- if (!asChild) {
9
- return createElement(Component, { ...restProps, ref }, children);
10
- }
11
- const onlyChild = Children.only(children);
12
- return isValidElement(onlyChild) ? cloneElement(onlyChild, {
13
- ...mergeProps(restProps, onlyChild.props),
14
- ref: ref ? composeRefs(ref, onlyChild.ref) : onlyChild.ref
15
- }) : null;
16
- });
6
+ const Comp = memo(
7
+ forwardRef((props, ref) => {
8
+ const { asChild, children, ...restProps } = props;
9
+ if (!asChild) {
10
+ return createElement(Component, { ...restProps, ref }, children);
11
+ }
12
+ const onlyChild = Children.only(children);
13
+ return isValidElement(onlyChild) ? cloneElement(onlyChild, {
14
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
15
+ ...mergeProps(restProps, onlyChild.props),
16
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
+ ref: ref ? composeRefs(ref, onlyChild.ref) : onlyChild.ref
18
+ }) : null;
19
+ })
20
+ );
17
21
  Comp.displayName = Component.displayName || Component.name;
18
22
  return Comp;
19
23
  };
package/index.cjs CHANGED
@@ -32,6 +32,20 @@ const checkboxIndicator = require('./checkbox/checkbox-indicator.cjs');
32
32
  const checkboxLabel = require('./checkbox/checkbox-label.cjs');
33
33
  const checkboxRoot = require('./checkbox/checkbox-root.cjs');
34
34
  const checkbox = require('./checkbox/checkbox.cjs');
35
+ require('@zag-js/clipboard');
36
+ const clipboardContext = require('./clipboard/clipboard-context.cjs');
37
+ const clipboardControl = require('./clipboard/clipboard-control.cjs');
38
+ const clipboardIndicator = require('./clipboard/clipboard-indicator.cjs');
39
+ const clipboardInput = require('./clipboard/clipboard-input.cjs');
40
+ const clipboardLabel = require('./clipboard/clipboard-label.cjs');
41
+ const clipboardRoot = require('./clipboard/clipboard-root.cjs');
42
+ const clipboardTrigger = require('./clipboard/clipboard-trigger.cjs');
43
+ const clipboard = require('./clipboard/clipboard.cjs');
44
+ const collapsibleContent = require('./collapsible/collapsible-content.cjs');
45
+ const collapsibleContext = require('./collapsible/collapsible-context.cjs');
46
+ const collapsibleRoot = require('./collapsible/collapsible-root.cjs');
47
+ const collapsibleTrigger = require('./collapsible/collapsible-trigger.cjs');
48
+ const collapsible = require('./collapsible/collapsible.cjs');
35
49
  const colorPickerArea = require('./color-picker/color-picker-area.cjs');
36
50
  const colorPickerAreaBackground = require('./color-picker/color-picker-area-background.cjs');
37
51
  const colorPickerAreaContext = require('./color-picker/color-picker-area-context.cjs');
@@ -203,7 +217,6 @@ const popover = require('./popover/popover.cjs');
203
217
  const portal = require('./portal.cjs');
204
218
  const presence = require('./presence/presence.cjs');
205
219
  const presenceContext = require('./presence/presence-context.cjs');
206
- const presencePropsContext = require('./presence/presence-props-context.cjs');
207
220
  const splitPresenceProps = require('./presence/split-presence-props.cjs');
208
221
  const usePresence = require('./presence/use-presence.cjs');
209
222
  const progressCircle = require('./progress/progress-circle.cjs');
@@ -334,14 +347,6 @@ const treeViewLabel = require('./tree-view/tree-view-label.cjs');
334
347
  const treeViewRoot = require('./tree-view/tree-view-root.cjs');
335
348
  const treeViewTree = require('./tree-view/tree-view-tree.cjs');
336
349
  const treeView = require('./tree-view/tree-view.cjs');
337
- const clipboard = require('./clipboard/clipboard.cjs');
338
- const clipboardControl = require('./clipboard/clipboard-control.cjs');
339
- const clipboardIndicator = require('./clipboard/clipboard-indicator.cjs');
340
- const clipboardInput = require('./clipboard/clipboard-input.cjs');
341
- const clipboardLabel = require('./clipboard/clipboard-label.cjs');
342
- const clipboardRoot = require('./clipboard/clipboard-root.cjs');
343
- const clipboardTrigger = require('./clipboard/clipboard-trigger.cjs');
344
- const clipboardContext = require('./clipboard/clipboard-context.cjs');
345
350
 
346
351
 
347
352
 
@@ -375,6 +380,19 @@ exports.CheckboxIndicator = checkboxIndicator.CheckboxIndicator;
375
380
  exports.CheckboxLabel = checkboxLabel.CheckboxLabel;
376
381
  exports.CheckboxRoot = checkboxRoot.CheckboxRoot;
377
382
  exports.Checkbox = checkbox;
383
+ exports.useClipboardContext = clipboardContext.useClipboardContext;
384
+ exports.ClipboardControl = clipboardControl.ClipboardControl;
385
+ exports.ClipboardIndicator = clipboardIndicator.ClipboardIndicator;
386
+ exports.ClipboardInput = clipboardInput.ClipboardInput;
387
+ exports.ClipboardLabel = clipboardLabel.ClipboardLabel;
388
+ exports.ClipboardRoot = clipboardRoot.ClipboardRoot;
389
+ exports.ClipboardTrigger = clipboardTrigger.ClipboardTrigger;
390
+ exports.Clipboard = clipboard;
391
+ exports.CollapsibleContent = collapsibleContent.CollapsibleContent;
392
+ exports.useCollapsibleContext = collapsibleContext.useCollapsibleContext;
393
+ exports.CollapsibleRoot = collapsibleRoot.CollapsibleRoot;
394
+ exports.CollapsibleTrigger = collapsibleTrigger.CollapsibleTrigger;
395
+ exports.Collapsible = collapsible;
378
396
  exports.ColorPickerArea = colorPickerArea.ColorPickerArea;
379
397
  exports.ColorPickerAreaBackground = colorPickerAreaBackground.ColorPickerAreaBackground;
380
398
  exports.useColorPickerAreaContext = colorPickerAreaContext.useColorPickerAreaContext;
@@ -548,8 +566,6 @@ exports.Portal = portal.Portal;
548
566
  exports.Presence = presence.Presence;
549
567
  exports.PresenceProvider = presenceContext.PresenceProvider;
550
568
  exports.usePresenceContext = presenceContext.usePresenceContext;
551
- exports.PresencePropsProvider = presencePropsContext.PresencePropsProvider;
552
- exports.usePresencePropsContext = presencePropsContext.usePresencePropsContext;
553
569
  exports.splitPresenceProps = splitPresenceProps.splitPresenceProps;
554
570
  exports.usePresence = usePresence.usePresence;
555
571
  exports.ProgressCircle = progressCircle.ProgressCircle;
@@ -680,11 +696,3 @@ exports.TreeViewLabel = treeViewLabel.TreeViewLabel;
680
696
  exports.TreeViewRoot = treeViewRoot.TreeViewRoot;
681
697
  exports.TreeViewTree = treeViewTree.TreeViewTree;
682
698
  exports.TreeView = treeView;
683
- exports.Clipboard = clipboard;
684
- exports.ClipboardControl = clipboardControl.ClipboardControl;
685
- exports.ClipboardIndicator = clipboardIndicator.ClipboardIndicator;
686
- exports.ClipboardInput = clipboardInput.ClipboardInput;
687
- exports.ClipboardLabel = clipboardLabel.ClipboardLabel;
688
- exports.ClipboardRoot = clipboardRoot.ClipboardRoot;
689
- exports.ClipboardTrigger = clipboardTrigger.ClipboardTrigger;
690
- exports.useClipboardContext = clipboardContext.useClipboardContext;
package/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export * from './avatar';
3
3
  export * from './carousel';
4
4
  export * from './checkbox';
5
5
  export * from './clipboard';
6
+ export * from './collapsible';
6
7
  export * from './color-picker';
7
8
  export * from './combobox';
8
9
  export * from './date-picker';
package/index.mjs CHANGED
@@ -32,6 +32,22 @@ export { CheckboxLabel } from './checkbox/checkbox-label.mjs';
32
32
  export { CheckboxRoot } from './checkbox/checkbox-root.mjs';
33
33
  import * as checkbox from './checkbox/checkbox.mjs';
34
34
  export { checkbox as Checkbox };
35
+ import '@zag-js/clipboard';
36
+ export { useClipboardContext } from './clipboard/clipboard-context.mjs';
37
+ export { ClipboardControl } from './clipboard/clipboard-control.mjs';
38
+ export { ClipboardIndicator } from './clipboard/clipboard-indicator.mjs';
39
+ export { ClipboardInput } from './clipboard/clipboard-input.mjs';
40
+ export { ClipboardLabel } from './clipboard/clipboard-label.mjs';
41
+ export { ClipboardRoot } from './clipboard/clipboard-root.mjs';
42
+ export { ClipboardTrigger } from './clipboard/clipboard-trigger.mjs';
43
+ import * as clipboard from './clipboard/clipboard.mjs';
44
+ export { clipboard as Clipboard };
45
+ export { CollapsibleContent } from './collapsible/collapsible-content.mjs';
46
+ export { useCollapsibleContext } from './collapsible/collapsible-context.mjs';
47
+ export { CollapsibleRoot } from './collapsible/collapsible-root.mjs';
48
+ export { CollapsibleTrigger } from './collapsible/collapsible-trigger.mjs';
49
+ import * as collapsible from './collapsible/collapsible.mjs';
50
+ export { collapsible as Collapsible };
35
51
  export { ColorPickerArea } from './color-picker/color-picker-area.mjs';
36
52
  export { ColorPickerAreaBackground } from './color-picker/color-picker-area-background.mjs';
37
53
  export { useColorPickerAreaContext } from './color-picker/color-picker-area-context.mjs';
@@ -215,7 +231,6 @@ export { popover as Popover };
215
231
  export { Portal } from './portal.mjs';
216
232
  export { Presence } from './presence/presence.mjs';
217
233
  export { PresenceProvider, usePresenceContext } from './presence/presence-context.mjs';
218
- export { PresencePropsProvider, usePresencePropsContext } from './presence/presence-props-context.mjs';
219
234
  export { splitPresenceProps } from './presence/split-presence-props.mjs';
220
235
  export { usePresence } from './presence/use-presence.mjs';
221
236
  export { ProgressCircle } from './progress/progress-circle.mjs';
@@ -360,12 +375,3 @@ export { TreeViewRoot } from './tree-view/tree-view-root.mjs';
360
375
  export { TreeViewTree } from './tree-view/tree-view-tree.mjs';
361
376
  import * as treeView from './tree-view/tree-view.mjs';
362
377
  export { treeView as TreeView };
363
- import * as clipboard from './clipboard/clipboard.mjs';
364
- export { clipboard as Clipboard };
365
- export { ClipboardControl } from './clipboard/clipboard-control.mjs';
366
- export { ClipboardIndicator } from './clipboard/clipboard-indicator.mjs';
367
- export { ClipboardInput } from './clipboard/clipboard-input.mjs';
368
- export { ClipboardLabel } from './clipboard/clipboard-label.mjs';
369
- export { ClipboardRoot } from './clipboard/clipboard-root.mjs';
370
- export { ClipboardTrigger } from './clipboard/clipboard-trigger.mjs';
371
- export { useClipboardContext } from './clipboard/clipboard-context.mjs';
@@ -1,8 +1,8 @@
1
1
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  /// <reference types="react" />
3
- import type { GroupProps } from '@zag-js/menu';
3
+ import type { ItemGroupProps } from '@zag-js/menu';
4
4
  import { type HTMLArkProps } from '../factory';
5
5
  import { type Assign } from '../types';
6
- export interface MenuItemGroupProps extends Assign<HTMLArkProps<'div'>, GroupProps> {
6
+ export interface MenuItemGroupProps extends Assign<HTMLArkProps<'div'>, ItemGroupProps> {
7
7
  }
8
8
  export declare const MenuItemGroup: ForwardRefExoticComponent<MenuItemGroupProps & RefAttributes<HTMLDivElement>>;