@ark-ui/react 2.1.1 → 2.2.1
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.
- package/CHANGELOG.md +53 -0
- package/accordion/accordion-context.d.ts +1 -2
- package/accordion/accordion-item-content.cjs +4 -12
- package/accordion/accordion-item-content.mjs +4 -12
- package/accordion/accordion-item-trigger.cjs +3 -3
- package/accordion/accordion-item-trigger.mjs +3 -3
- package/accordion/accordion-item.cjs +21 -13
- package/accordion/accordion-item.d.ts +4 -3
- package/accordion/accordion-item.mjs +21 -13
- package/accordion/accordion-root.cjs +3 -4
- package/accordion/accordion-root.d.ts +2 -2
- package/accordion/accordion-root.mjs +3 -4
- package/clipboard/clipboard-indicator.cjs +1 -1
- package/clipboard/clipboard-indicator.mjs +1 -1
- package/collapsible/collapsible-content.cjs +24 -0
- package/collapsible/collapsible-content.d.ts +6 -0
- package/collapsible/collapsible-content.mjs +20 -0
- package/collapsible/collapsible-context.cjs +15 -0
- package/collapsible/collapsible-context.d.ts +6 -0
- package/collapsible/collapsible-context.mjs +10 -0
- package/collapsible/collapsible-root.cjs +22 -0
- package/collapsible/collapsible-root.d.ts +8 -0
- package/collapsible/collapsible-root.mjs +18 -0
- package/collapsible/collapsible-trigger.cjs +21 -0
- package/collapsible/collapsible-trigger.d.ts +6 -0
- package/collapsible/collapsible-trigger.mjs +17 -0
- package/collapsible/collapsible.cjs +13 -0
- package/collapsible/collapsible.d.ts +4 -0
- package/collapsible/collapsible.mjs +3 -0
- package/collapsible/index.cjs +17 -0
- package/collapsible/index.d.ts +8 -0
- package/collapsible/index.mjs +6 -0
- package/collapsible/split-collapsible-props.cjs +22 -0
- package/collapsible/split-collapsible-props.d.ts +2 -0
- package/collapsible/split-collapsible-props.mjs +18 -0
- package/collapsible/use-collapsible.cjs +55 -0
- package/collapsible/use-collapsible.d.ts +17 -0
- package/collapsible/use-collapsible.mjs +32 -0
- package/dialog/dialog-backdrop.cjs +3 -3
- package/dialog/dialog-backdrop.mjs +3 -3
- package/dialog/dialog-root.cjs +3 -2
- package/dialog/dialog-root.mjs +3 -2
- package/factory.cjs +16 -12
- package/factory.mjs +17 -13
- package/index.cjs +10 -3
- package/index.d.ts +1 -0
- package/index.mjs +6 -1
- package/menu/menu-item-group.d.ts +2 -2
- package/package.json +61 -54
- package/presence/index.cjs +0 -3
- package/presence/index.d.ts +2 -3
- package/presence/index.mjs +0 -1
- package/presence/split-presence-props.cjs +6 -8
- package/presence/split-presence-props.d.ts +1 -1
- package/presence/split-presence-props.mjs +6 -8
- package/presence/use-presence.d.ts +2 -11
- package/render-strategy.cjs +18 -0
- package/render-strategy.d.ts +16 -0
- package/render-strategy.mjs +12 -0
- package/splitter/splitter-root.cjs +0 -1
- package/splitter/splitter-root.mjs +0 -1
- package/splitter/use-splitter.cjs +1 -2
- package/splitter/use-splitter.mjs +1 -2
- package/tabs/tab-content.cjs +3 -3
- package/tabs/tab-content.mjs +3 -3
- package/tabs/tabs-root.cjs +3 -4
- package/tabs/tabs-root.d.ts +2 -2
- package/tabs/tabs-root.mjs +3 -4
- package/toast/create-toaster.d.ts +2 -1
- package/tree-view/tree-view-branch-indicator.cjs +1 -7
- package/tree-view/tree-view-branch-indicator.mjs +1 -7
- package/tree-view/tree-view-root.cjs +2 -1
- package/tree-view/tree-view-root.mjs +2 -1
- package/tree-view/use-tree-view.cjs +2 -2
- package/tree-view/use-tree-view.d.ts +6 -2
- package/tree-view/use-tree-view.mjs +2 -2
- package/presence/presence-props-context.cjs +0 -17
- package/presence/presence-props-context.d.ts +0 -6
- package/presence/presence-props-context.mjs +0 -12
|
@@ -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
|
|
17
|
-
const presenceApi = usePresence.usePresence(
|
|
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
|
|
13
|
-
const presenceApi = usePresence(
|
|
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;
|
package/dialog/dialog-root.cjs
CHANGED
|
@@ -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(
|
|
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;
|
package/dialog/dialog-root.mjs
CHANGED
|
@@ -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(
|
|
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
|
|
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.
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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/
|
|
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 =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
@@ -41,6 +41,11 @@ const clipboardLabel = require('./clipboard/clipboard-label.cjs');
|
|
|
41
41
|
const clipboardRoot = require('./clipboard/clipboard-root.cjs');
|
|
42
42
|
const clipboardTrigger = require('./clipboard/clipboard-trigger.cjs');
|
|
43
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');
|
|
44
49
|
const colorPickerArea = require('./color-picker/color-picker-area.cjs');
|
|
45
50
|
const colorPickerAreaBackground = require('./color-picker/color-picker-area-background.cjs');
|
|
46
51
|
const colorPickerAreaContext = require('./color-picker/color-picker-area-context.cjs');
|
|
@@ -212,7 +217,6 @@ const popover = require('./popover/popover.cjs');
|
|
|
212
217
|
const portal = require('./portal.cjs');
|
|
213
218
|
const presence = require('./presence/presence.cjs');
|
|
214
219
|
const presenceContext = require('./presence/presence-context.cjs');
|
|
215
|
-
const presencePropsContext = require('./presence/presence-props-context.cjs');
|
|
216
220
|
const splitPresenceProps = require('./presence/split-presence-props.cjs');
|
|
217
221
|
const usePresence = require('./presence/use-presence.cjs');
|
|
218
222
|
const progressCircle = require('./progress/progress-circle.cjs');
|
|
@@ -384,6 +388,11 @@ exports.ClipboardLabel = clipboardLabel.ClipboardLabel;
|
|
|
384
388
|
exports.ClipboardRoot = clipboardRoot.ClipboardRoot;
|
|
385
389
|
exports.ClipboardTrigger = clipboardTrigger.ClipboardTrigger;
|
|
386
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;
|
|
387
396
|
exports.ColorPickerArea = colorPickerArea.ColorPickerArea;
|
|
388
397
|
exports.ColorPickerAreaBackground = colorPickerAreaBackground.ColorPickerAreaBackground;
|
|
389
398
|
exports.useColorPickerAreaContext = colorPickerAreaContext.useColorPickerAreaContext;
|
|
@@ -557,8 +566,6 @@ exports.Portal = portal.Portal;
|
|
|
557
566
|
exports.Presence = presence.Presence;
|
|
558
567
|
exports.PresenceProvider = presenceContext.PresenceProvider;
|
|
559
568
|
exports.usePresenceContext = presenceContext.usePresenceContext;
|
|
560
|
-
exports.PresencePropsProvider = presencePropsContext.PresencePropsProvider;
|
|
561
|
-
exports.usePresencePropsContext = presencePropsContext.usePresencePropsContext;
|
|
562
569
|
exports.splitPresenceProps = splitPresenceProps.splitPresenceProps;
|
|
563
570
|
exports.usePresence = usePresence.usePresence;
|
|
564
571
|
exports.ProgressCircle = progressCircle.ProgressCircle;
|
package/index.d.ts
CHANGED
package/index.mjs
CHANGED
|
@@ -42,6 +42,12 @@ export { ClipboardRoot } from './clipboard/clipboard-root.mjs';
|
|
|
42
42
|
export { ClipboardTrigger } from './clipboard/clipboard-trigger.mjs';
|
|
43
43
|
import * as clipboard from './clipboard/clipboard.mjs';
|
|
44
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 };
|
|
45
51
|
export { ColorPickerArea } from './color-picker/color-picker-area.mjs';
|
|
46
52
|
export { ColorPickerAreaBackground } from './color-picker/color-picker-area-background.mjs';
|
|
47
53
|
export { useColorPickerAreaContext } from './color-picker/color-picker-area-context.mjs';
|
|
@@ -225,7 +231,6 @@ export { popover as Popover };
|
|
|
225
231
|
export { Portal } from './portal.mjs';
|
|
226
232
|
export { Presence } from './presence/presence.mjs';
|
|
227
233
|
export { PresenceProvider, usePresenceContext } from './presence/presence-context.mjs';
|
|
228
|
-
export { PresencePropsProvider, usePresencePropsContext } from './presence/presence-props-context.mjs';
|
|
229
234
|
export { splitPresenceProps } from './presence/split-presence-props.mjs';
|
|
230
235
|
export { usePresence } from './presence/use-presence.mjs';
|
|
231
236
|
export { ProgressCircle } from './progress/progress-circle.mjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
2
|
/// <reference types="react" />
|
|
3
|
-
import type {
|
|
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'>,
|
|
6
|
+
export interface MenuItemGroupProps extends Assign<HTMLArkProps<'div'>, ItemGroupProps> {
|
|
7
7
|
}
|
|
8
8
|
export declare const MenuItemGroup: ForwardRefExoticComponent<MenuItemGroupProps & RefAttributes<HTMLDivElement>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ark-ui/react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.1",
|
|
4
4
|
"description": "A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"accordion",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"carousel",
|
|
9
9
|
"checkbox",
|
|
10
10
|
"clipboard",
|
|
11
|
+
"collapsible",
|
|
11
12
|
"color picker",
|
|
12
13
|
"combobox",
|
|
13
14
|
"date picker",
|
|
@@ -64,65 +65,66 @@
|
|
|
64
65
|
"release-it": "release-it --config ../../../release-it.json"
|
|
65
66
|
},
|
|
66
67
|
"dependencies": {
|
|
67
|
-
"@ark-ui/anatomy": "2.
|
|
68
|
-
"@zag-js/accordion": "0.
|
|
69
|
-
"@zag-js/avatar": "0.
|
|
70
|
-
"@zag-js/carousel": "0.
|
|
71
|
-
"@zag-js/checkbox": "0.
|
|
72
|
-
"@zag-js/clipboard": "0.
|
|
73
|
-
"@zag-js/collapsible": "0.
|
|
74
|
-
"@zag-js/color-picker": "0.
|
|
75
|
-
"@zag-js/color-utils": "0.
|
|
76
|
-
"@zag-js/combobox": "0.
|
|
77
|
-
"@zag-js/
|
|
78
|
-
"@zag-js/date-
|
|
79
|
-
"@zag-js/
|
|
80
|
-
"@zag-js/
|
|
81
|
-
"@zag-js/
|
|
82
|
-
"@zag-js/
|
|
83
|
-
"@zag-js/
|
|
84
|
-
"@zag-js/
|
|
85
|
-
"@zag-js/
|
|
86
|
-
"@zag-js/
|
|
87
|
-
"@zag-js/
|
|
88
|
-
"@zag-js/
|
|
89
|
-
"@zag-js/
|
|
90
|
-
"@zag-js/
|
|
91
|
-
"@zag-js/
|
|
92
|
-
"@zag-js/
|
|
93
|
-
"@zag-js/
|
|
94
|
-
"@zag-js/
|
|
95
|
-
"@zag-js/
|
|
96
|
-
"@zag-js/
|
|
97
|
-
"@zag-js/
|
|
98
|
-
"@zag-js/
|
|
99
|
-
"@zag-js/
|
|
100
|
-
"@zag-js/
|
|
101
|
-
"@zag-js/
|
|
102
|
-
"@zag-js/
|
|
103
|
-
"@zag-js/
|
|
104
|
-
"@zag-js/
|
|
68
|
+
"@ark-ui/anatomy": "2.3.1",
|
|
69
|
+
"@zag-js/accordion": "0.38.0",
|
|
70
|
+
"@zag-js/avatar": "0.38.0",
|
|
71
|
+
"@zag-js/carousel": "0.38.0",
|
|
72
|
+
"@zag-js/checkbox": "0.38.0",
|
|
73
|
+
"@zag-js/clipboard": "0.38.0",
|
|
74
|
+
"@zag-js/collapsible": "0.38.0",
|
|
75
|
+
"@zag-js/color-picker": "0.38.0",
|
|
76
|
+
"@zag-js/color-utils": "0.38.0",
|
|
77
|
+
"@zag-js/combobox": "0.38.0",
|
|
78
|
+
"@zag-js/core": "0.38.0",
|
|
79
|
+
"@zag-js/date-picker": "0.38.0",
|
|
80
|
+
"@zag-js/date-utils": "0.38.0",
|
|
81
|
+
"@zag-js/dialog": "0.38.0",
|
|
82
|
+
"@zag-js/editable": "0.38.0",
|
|
83
|
+
"@zag-js/file-upload": "0.38.0",
|
|
84
|
+
"@zag-js/hover-card": "0.38.0",
|
|
85
|
+
"@zag-js/i18n-utils": "0.38.0",
|
|
86
|
+
"@zag-js/menu": "0.38.0",
|
|
87
|
+
"@zag-js/number-input": "0.38.0",
|
|
88
|
+
"@zag-js/pagination": "0.38.0",
|
|
89
|
+
"@zag-js/pin-input": "0.38.0",
|
|
90
|
+
"@zag-js/popover": "0.38.0",
|
|
91
|
+
"@zag-js/presence": "0.38.0",
|
|
92
|
+
"@zag-js/progress": "0.38.0",
|
|
93
|
+
"@zag-js/radio-group": "0.38.0",
|
|
94
|
+
"@zag-js/rating-group": "0.38.0",
|
|
95
|
+
"@zag-js/react": "0.38.0",
|
|
96
|
+
"@zag-js/select": "0.38.0",
|
|
97
|
+
"@zag-js/slider": "0.38.0",
|
|
98
|
+
"@zag-js/splitter": "0.38.0",
|
|
99
|
+
"@zag-js/switch": "0.38.0",
|
|
100
|
+
"@zag-js/tabs": "0.38.0",
|
|
101
|
+
"@zag-js/tags-input": "0.38.0",
|
|
102
|
+
"@zag-js/toast": "0.38.0",
|
|
103
|
+
"@zag-js/toggle-group": "0.38.0",
|
|
104
|
+
"@zag-js/tooltip": "0.38.0",
|
|
105
|
+
"@zag-js/tree-view": "0.38.0",
|
|
106
|
+
"@zag-js/types": "0.38.0"
|
|
105
107
|
},
|
|
106
108
|
"devDependencies": {
|
|
107
109
|
"@release-it/keep-a-changelog": "5.0.0",
|
|
108
|
-
"@storybook/addon-a11y": "7.6.
|
|
109
|
-
"@storybook/addon-essentials": "7.6.
|
|
110
|
-
"@storybook/addons": "7.6.
|
|
111
|
-
"@storybook/react": "7.6.
|
|
112
|
-
"@storybook/react-vite": "7.6.
|
|
110
|
+
"@storybook/addon-a11y": "7.6.17",
|
|
111
|
+
"@storybook/addon-essentials": "7.6.17",
|
|
112
|
+
"@storybook/addons": "7.6.17",
|
|
113
|
+
"@storybook/react": "7.6.17",
|
|
114
|
+
"@storybook/react-vite": "7.6.17",
|
|
113
115
|
"@testing-library/dom": "9.3.4",
|
|
114
116
|
"@testing-library/jest-dom": "6.4.2",
|
|
115
117
|
"@testing-library/react": "14.2.1",
|
|
116
118
|
"@testing-library/user-event": "14.5.2",
|
|
117
119
|
"@types/jsdom": "21.1.6",
|
|
118
|
-
"@types/react": "18.2.
|
|
120
|
+
"@types/react": "18.2.58",
|
|
119
121
|
"@types/react-dom": "18.2.19",
|
|
120
122
|
"@types/testing-library__jest-dom": "5.14.9",
|
|
121
|
-
"@typescript-eslint/eslint-plugin": "
|
|
122
|
-
"@typescript-eslint/parser": "
|
|
123
|
+
"@typescript-eslint/eslint-plugin": "7.0.2",
|
|
124
|
+
"@typescript-eslint/parser": "7.0.2",
|
|
123
125
|
"@vitejs/plugin-react": "4.2.1",
|
|
124
|
-
"@vitest/coverage-v8": "1.
|
|
125
|
-
"eslint": "8.
|
|
126
|
+
"@vitest/coverage-v8": "1.3.1",
|
|
127
|
+
"eslint": "8.57.0",
|
|
126
128
|
"eslint-plugin-jest-dom": "5.1.0",
|
|
127
129
|
"eslint-plugin-react": "7.33.2",
|
|
128
130
|
"eslint-plugin-react-hooks": "4.6.0",
|
|
@@ -133,13 +135,13 @@
|
|
|
133
135
|
"react-dom": "18.2.0",
|
|
134
136
|
"react-frame-component": "5.2.6",
|
|
135
137
|
"react-hook-form": "7.50.1",
|
|
136
|
-
"release-it": "17.
|
|
138
|
+
"release-it": "17.1.1",
|
|
137
139
|
"resize-observer-polyfill": "1.5.1",
|
|
138
|
-
"storybook": "7.6.
|
|
140
|
+
"storybook": "7.6.17",
|
|
139
141
|
"typescript": "5.3.3",
|
|
140
|
-
"vite": "5.1.
|
|
141
|
-
"vite-plugin-dts": "3.7.
|
|
142
|
-
"vitest": "1.
|
|
142
|
+
"vite": "5.1.4",
|
|
143
|
+
"vite-plugin-dts": "3.7.3",
|
|
144
|
+
"vitest": "1.3.1"
|
|
143
145
|
},
|
|
144
146
|
"peerDependencies": {
|
|
145
147
|
"react": ">=18.0.0",
|
|
@@ -182,6 +184,11 @@
|
|
|
182
184
|
"import": "./clipboard/index.mjs",
|
|
183
185
|
"require": "./clipboard/index.cjs"
|
|
184
186
|
},
|
|
187
|
+
"./collapsible": {
|
|
188
|
+
"types": "./collapsible/index.d.ts",
|
|
189
|
+
"import": "./collapsible/index.mjs",
|
|
190
|
+
"require": "./collapsible/index.cjs"
|
|
191
|
+
},
|
|
185
192
|
"./color-picker": {
|
|
186
193
|
"types": "./color-picker/index.d.ts",
|
|
187
194
|
"import": "./color-picker/index.mjs",
|
package/presence/index.cjs
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const presence = require('./presence.cjs');
|
|
6
6
|
const presenceContext = require('./presence-context.cjs');
|
|
7
|
-
const presencePropsContext = require('./presence-props-context.cjs');
|
|
8
7
|
const splitPresenceProps = require('./split-presence-props.cjs');
|
|
9
8
|
const usePresence = require('./use-presence.cjs');
|
|
10
9
|
|
|
@@ -13,7 +12,5 @@ const usePresence = require('./use-presence.cjs');
|
|
|
13
12
|
exports.Presence = presence.Presence;
|
|
14
13
|
exports.PresenceProvider = presenceContext.PresenceProvider;
|
|
15
14
|
exports.usePresenceContext = presenceContext.usePresenceContext;
|
|
16
|
-
exports.PresencePropsProvider = presencePropsContext.PresencePropsProvider;
|
|
17
|
-
exports.usePresencePropsContext = presencePropsContext.usePresencePropsContext;
|
|
18
15
|
exports.splitPresenceProps = splitPresenceProps.splitPresenceProps;
|
|
19
16
|
exports.usePresence = usePresence.usePresence;
|
package/presence/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Presence, type PresenceProps } from './presence';
|
|
2
2
|
import { PresenceProvider, usePresenceContext, type PresenceContext } from './presence-context';
|
|
3
|
-
import { PresencePropsProvider, usePresencePropsContext, type PresencePropsContext } from './presence-props-context';
|
|
4
3
|
import { splitPresenceProps } from './split-presence-props';
|
|
5
4
|
import { usePresence, type UsePresenceProps, type UsePresenceReturn } from './use-presence';
|
|
6
|
-
export { Presence,
|
|
7
|
-
export type { PresenceContext, PresenceProps,
|
|
5
|
+
export { Presence, PresenceProvider, splitPresenceProps, usePresence, usePresenceContext };
|
|
6
|
+
export type { PresenceContext, PresenceProps, UsePresenceProps, UsePresenceReturn };
|
package/presence/index.mjs
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { Presence } from './presence.mjs';
|
|
2
2
|
export { PresenceProvider, usePresenceContext } from './presence-context.mjs';
|
|
3
|
-
export { PresencePropsProvider, usePresencePropsContext } from './presence-props-context.mjs';
|
|
4
3
|
export { splitPresenceProps } from './split-presence-props.mjs';
|
|
5
4
|
export { usePresence } from './use-presence.mjs';
|
|
@@ -5,13 +5,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
|
|
6
6
|
const createSplitProps = require('../create-split-props.cjs');
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
]);
|
|
15
|
-
}
|
|
8
|
+
const splitPresenceProps = (props) => createSplitProps.createSplitProps()(props, [
|
|
9
|
+
"lazyMount",
|
|
10
|
+
"onExitComplete",
|
|
11
|
+
"present",
|
|
12
|
+
"unmountOnExit"
|
|
13
|
+
]);
|
|
16
14
|
|
|
17
15
|
exports.splitPresenceProps = splitPresenceProps;
|