@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
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { UsePresenceProps } from './use-presence';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const splitPresenceProps: <T extends UsePresenceProps>(props: T) => [UsePresenceProps, Omit<T, "lazyMount" | "unmountOnExit" | "onExitComplete" | "present">];
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { createSplitProps } from '../create-split-props.mjs';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
]);
|
|
11
|
-
}
|
|
4
|
+
const splitPresenceProps = (props) => createSplitProps()(props, [
|
|
5
|
+
"lazyMount",
|
|
6
|
+
"onExitComplete",
|
|
7
|
+
"present",
|
|
8
|
+
"unmountOnExit"
|
|
9
|
+
]);
|
|
12
10
|
|
|
13
11
|
export { splitPresenceProps };
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import * as presence from '@zag-js/presence';
|
|
2
2
|
import { type ForwardedRef } from 'react';
|
|
3
|
+
import type { RenderStrategyProps } from '../render-strategy';
|
|
3
4
|
import type { Optional } from '../types';
|
|
4
|
-
export interface UsePresenceProps extends Optional<presence.Context, 'present'
|
|
5
|
-
/**
|
|
6
|
-
* Whether to enable lazy mounting
|
|
7
|
-
* @default false
|
|
8
|
-
*/
|
|
9
|
-
lazyMount?: boolean;
|
|
10
|
-
/**
|
|
11
|
-
* Whether to unmount on exit.
|
|
12
|
-
* @default false
|
|
13
|
-
*/
|
|
14
|
-
unmountOnExit?: boolean;
|
|
5
|
+
export interface UsePresenceProps extends Optional<presence.Context, 'present'>, RenderStrategyProps {
|
|
15
6
|
}
|
|
16
7
|
export type UsePresenceReturn = ReturnType<typeof usePresence>;
|
|
17
8
|
export declare const usePresence: (props: UsePresenceProps) => {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
5
|
+
|
|
6
|
+
const createContext = require('./create-context.cjs');
|
|
7
|
+
const createSplitProps = require('./create-split-props.cjs');
|
|
8
|
+
|
|
9
|
+
const [RenderStrategyProvider, useRenderStrategyContext] = createContext.createContext({
|
|
10
|
+
name: "RenderStrategyContext",
|
|
11
|
+
hookName: "useRenderStrategyContext",
|
|
12
|
+
providerName: "<RenderStrategyProvider />"
|
|
13
|
+
});
|
|
14
|
+
const splitRenderStrategyProps = (props) => createSplitProps.createSplitProps()(props, ["lazyMount", "unmountOnExit"]);
|
|
15
|
+
|
|
16
|
+
exports.RenderStrategyProvider = RenderStrategyProvider;
|
|
17
|
+
exports.splitRenderStrategyProps = splitRenderStrategyProps;
|
|
18
|
+
exports.useRenderStrategyContext = useRenderStrategyContext;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Provider } from 'react';
|
|
2
|
+
/// <reference types="react" />
|
|
3
|
+
export interface RenderStrategyProps {
|
|
4
|
+
/**
|
|
5
|
+
* Whether to enable lazy mounting
|
|
6
|
+
* @default false
|
|
7
|
+
*/
|
|
8
|
+
lazyMount?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Whether to unmount on exit.
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
unmountOnExit?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const RenderStrategyProvider: Provider<RenderStrategyProps>, useRenderStrategyContext: () => RenderStrategyProps;
|
|
16
|
+
export declare const splitRenderStrategyProps: <T extends RenderStrategyProps>(props: T) => [RenderStrategyProps, Omit<T, "lazyMount" | "unmountOnExit">];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { createContext } from './create-context.mjs';
|
|
3
|
+
import { createSplitProps } from './create-split-props.mjs';
|
|
4
|
+
|
|
5
|
+
const [RenderStrategyProvider, useRenderStrategyContext] = createContext({
|
|
6
|
+
name: "RenderStrategyContext",
|
|
7
|
+
hookName: "useRenderStrategyContext",
|
|
8
|
+
providerName: "<RenderStrategyProvider />"
|
|
9
|
+
});
|
|
10
|
+
const splitRenderStrategyProps = (props) => createSplitProps()(props, ["lazyMount", "unmountOnExit"]);
|
|
11
|
+
|
|
12
|
+
export { RenderStrategyProvider, splitRenderStrategyProps, useRenderStrategyContext };
|
|
@@ -39,8 +39,7 @@ const useSplitter = (props) => {
|
|
|
39
39
|
...initialContext,
|
|
40
40
|
size: props.size,
|
|
41
41
|
onSizeChange: useEvent.useEvent(props.onSizeChange, { sync: true }),
|
|
42
|
-
onSizeChangeEnd: useEvent.useEvent(props.onSizeChangeEnd)
|
|
43
|
-
onSizeChangeStart: useEvent.useEvent(props.onSizeChangeStart)
|
|
42
|
+
onSizeChangeEnd: useEvent.useEvent(props.onSizeChangeEnd)
|
|
44
43
|
};
|
|
45
44
|
const [state, send] = react$1.useMachine(splitter__namespace.machine(initialContext), { context });
|
|
46
45
|
return splitter__namespace.connect(state, send, react$1.normalizeProps);
|
|
@@ -16,8 +16,7 @@ const useSplitter = (props) => {
|
|
|
16
16
|
...initialContext,
|
|
17
17
|
size: props.size,
|
|
18
18
|
onSizeChange: useEvent(props.onSizeChange, { sync: true }),
|
|
19
|
-
onSizeChangeEnd: useEvent(props.onSizeChangeEnd)
|
|
20
|
-
onSizeChangeStart: useEvent(props.onSizeChangeStart)
|
|
19
|
+
onSizeChangeEnd: useEvent(props.onSizeChangeEnd)
|
|
21
20
|
};
|
|
22
21
|
const [state, send] = useMachine(splitter.machine(initialContext), { context });
|
|
23
22
|
return splitter.connect(state, send, normalizeProps);
|
package/tabs/tab-content.cjs
CHANGED
|
@@ -10,15 +10,15 @@ const react = require('react');
|
|
|
10
10
|
const createSplitProps = require('../create-split-props.cjs');
|
|
11
11
|
const factory = require('../factory.cjs');
|
|
12
12
|
const presenceContext = require('../presence/presence-context.cjs');
|
|
13
|
-
const presencePropsContext = require('../presence/presence-props-context.cjs');
|
|
14
13
|
const usePresence = require('../presence/use-presence.cjs');
|
|
14
|
+
const renderStrategy = require('../render-strategy.cjs');
|
|
15
15
|
const tabsContext = require('./tabs-context.cjs');
|
|
16
16
|
|
|
17
17
|
const TabContent = react.forwardRef((props, ref) => {
|
|
18
18
|
const [contentProps, localProps] = createSplitProps.createSplitProps()(props, ["value"]);
|
|
19
19
|
const api = tabsContext.useTabsContext();
|
|
20
|
-
const
|
|
21
|
-
const presenceApi = usePresence.usePresence({ ...
|
|
20
|
+
const renderStrategyProps = renderStrategy.useRenderStrategyContext();
|
|
21
|
+
const presenceApi = usePresence.usePresence({ ...renderStrategyProps, present: api.value === props.value });
|
|
22
22
|
const mergedProps = react$1.mergeProps(
|
|
23
23
|
api.getContentProps(contentProps),
|
|
24
24
|
presenceApi.getPresenceProps(ref),
|
package/tabs/tab-content.mjs
CHANGED
|
@@ -6,15 +6,15 @@ import { forwardRef } from 'react';
|
|
|
6
6
|
import { createSplitProps } from '../create-split-props.mjs';
|
|
7
7
|
import { ark } from '../factory.mjs';
|
|
8
8
|
import { PresenceProvider } from '../presence/presence-context.mjs';
|
|
9
|
-
import { usePresencePropsContext } from '../presence/presence-props-context.mjs';
|
|
10
9
|
import { usePresence } from '../presence/use-presence.mjs';
|
|
10
|
+
import { useRenderStrategyContext } from '../render-strategy.mjs';
|
|
11
11
|
import { useTabsContext } from './tabs-context.mjs';
|
|
12
12
|
|
|
13
13
|
const TabContent = forwardRef((props, ref) => {
|
|
14
14
|
const [contentProps, localProps] = createSplitProps()(props, ["value"]);
|
|
15
15
|
const api = useTabsContext();
|
|
16
|
-
const
|
|
17
|
-
const presenceApi = usePresence({ ...
|
|
16
|
+
const renderStrategyProps = useRenderStrategyContext();
|
|
17
|
+
const presenceApi = usePresence({ ...renderStrategyProps, present: api.value === props.value });
|
|
18
18
|
const mergedProps = mergeProps(
|
|
19
19
|
api.getContentProps(contentProps),
|
|
20
20
|
presenceApi.getPresenceProps(ref),
|
package/tabs/tabs-root.cjs
CHANGED
|
@@ -8,13 +8,12 @@ const react$1 = require('@zag-js/react');
|
|
|
8
8
|
const react = require('react');
|
|
9
9
|
const createSplitProps = require('../create-split-props.cjs');
|
|
10
10
|
const factory = require('../factory.cjs');
|
|
11
|
-
const
|
|
12
|
-
const splitPresenceProps = require('../presence/split-presence-props.cjs');
|
|
11
|
+
const renderStrategy = require('../render-strategy.cjs');
|
|
13
12
|
const tabsContext = require('./tabs-context.cjs');
|
|
14
13
|
const useTabs = require('./use-tabs.cjs');
|
|
15
14
|
|
|
16
15
|
const TabsRoot = react.forwardRef((props, ref) => {
|
|
17
|
-
const [
|
|
16
|
+
const [renderStrategyProps, tabsProps] = renderStrategy.splitRenderStrategyProps(props);
|
|
18
17
|
const [useTabsProps, localprops] = createSplitProps.createSplitProps()(tabsProps, [
|
|
19
18
|
"activationMode",
|
|
20
19
|
"defaultValue",
|
|
@@ -31,7 +30,7 @@ const TabsRoot = react.forwardRef((props, ref) => {
|
|
|
31
30
|
]);
|
|
32
31
|
const api = useTabs.useTabs(useTabsProps);
|
|
33
32
|
const mergedProps = react$1.mergeProps(api.rootProps, localprops);
|
|
34
|
-
return /* @__PURE__ */ jsxRuntime.jsx(tabsContext.TabsProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
return /* @__PURE__ */ jsxRuntime.jsx(tabsContext.TabsProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(renderStrategy.RenderStrategyProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) }) });
|
|
35
34
|
});
|
|
36
35
|
TabsRoot.displayName = "TabsRoot";
|
|
37
36
|
|
package/tabs/tabs-root.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
2
|
/// <reference types="react" />
|
|
3
3
|
import { type HTMLArkProps } from '../factory';
|
|
4
|
-
import { type
|
|
4
|
+
import { type RenderStrategyProps } from '../render-strategy';
|
|
5
5
|
import { type Assign } from '../types';
|
|
6
6
|
import { type UseTabsProps } from './use-tabs';
|
|
7
|
-
export interface TabsRootProps extends Assign<HTMLArkProps<'div'>, UseTabsProps>,
|
|
7
|
+
export interface TabsRootProps extends Assign<HTMLArkProps<'div'>, UseTabsProps>, RenderStrategyProps {
|
|
8
8
|
}
|
|
9
9
|
export declare const TabsRoot: ForwardRefExoticComponent<TabsRootProps & RefAttributes<HTMLDivElement>>;
|
package/tabs/tabs-root.mjs
CHANGED
|
@@ -4,13 +4,12 @@ import { mergeProps } from '@zag-js/react';
|
|
|
4
4
|
import { forwardRef } from 'react';
|
|
5
5
|
import { createSplitProps } from '../create-split-props.mjs';
|
|
6
6
|
import { ark } from '../factory.mjs';
|
|
7
|
-
import {
|
|
8
|
-
import { splitPresenceProps } from '../presence/split-presence-props.mjs';
|
|
7
|
+
import { splitRenderStrategyProps, RenderStrategyProvider } from '../render-strategy.mjs';
|
|
9
8
|
import { TabsProvider } from './tabs-context.mjs';
|
|
10
9
|
import { useTabs } from './use-tabs.mjs';
|
|
11
10
|
|
|
12
11
|
const TabsRoot = forwardRef((props, ref) => {
|
|
13
|
-
const [
|
|
12
|
+
const [renderStrategyProps, tabsProps] = splitRenderStrategyProps(props);
|
|
14
13
|
const [useTabsProps, localprops] = createSplitProps()(tabsProps, [
|
|
15
14
|
"activationMode",
|
|
16
15
|
"defaultValue",
|
|
@@ -27,7 +26,7 @@ const TabsRoot = forwardRef((props, ref) => {
|
|
|
27
26
|
]);
|
|
28
27
|
const api = useTabs(useTabsProps);
|
|
29
28
|
const mergedProps = mergeProps(api.rootProps, localprops);
|
|
30
|
-
return /* @__PURE__ */ jsx(TabsProvider, { value: api, children: /* @__PURE__ */ jsx(
|
|
29
|
+
return /* @__PURE__ */ jsx(TabsProvider, { value: api, children: /* @__PURE__ */ jsx(RenderStrategyProvider, { value: renderStrategyProps, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });
|
|
31
30
|
});
|
|
32
31
|
TabsRoot.displayName = "TabsRoot";
|
|
33
32
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type PropTypes } from '@zag-js/react';
|
|
2
2
|
import * as toast from '@zag-js/toast';
|
|
3
3
|
import { type JSX } from 'react';
|
|
4
|
+
import { type HTMLArkProps } from '../factory';
|
|
4
5
|
import type { Optional } from '../types';
|
|
5
6
|
type GroupContext = Partial<toast.GroupMachineContext>;
|
|
6
7
|
export interface CreateToasterProps extends Omit<Optional<GroupContext, 'id'>, 'render'> {
|
|
7
8
|
placement: toast.Placement;
|
|
8
9
|
render: (api: toast.Api<PropTypes>) => JSX.Element;
|
|
9
10
|
}
|
|
10
|
-
export type CreateToasterReturn = [React.
|
|
11
|
+
export type CreateToasterReturn = [React.FC<HTMLArkProps<'ol'>>, toast.GroupApi<PropTypes>];
|
|
11
12
|
export declare const createToaster: (props: CreateToasterProps) => CreateToasterReturn;
|
|
12
13
|
export {};
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
5
5
|
|
|
6
6
|
const jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
const anatomy = require('@ark-ui/anatomy');
|
|
8
7
|
const react$1 = require('@zag-js/react');
|
|
9
8
|
const react = require('react');
|
|
10
9
|
const factory = require('../factory.cjs');
|
|
@@ -15,12 +14,7 @@ const TreeViewBranchIndicator = react.forwardRef(
|
|
|
15
14
|
(props, ref) => {
|
|
16
15
|
const api = treeViewContext.useTreeViewContext();
|
|
17
16
|
const branchProps = treeViewBranchContext.useTreeViewBranchContext();
|
|
18
|
-
const mergedProps = react$1.mergeProps(
|
|
19
|
-
api.getBranchProps(branchProps),
|
|
20
|
-
// TODO use api.getBranchIndicatorProps() when available
|
|
21
|
-
anatomy.treeViewAnatomy.build().branchIndicator.attrs,
|
|
22
|
-
props
|
|
23
|
-
);
|
|
17
|
+
const mergedProps = react$1.mergeProps(api.getBranchIndicatorProps(branchProps), props);
|
|
24
18
|
return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
|
|
25
19
|
}
|
|
26
20
|
);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx } from 'react/jsx-runtime';
|
|
3
|
-
import { treeViewAnatomy } from '@ark-ui/anatomy';
|
|
4
3
|
import { mergeProps } from '@zag-js/react';
|
|
5
4
|
import { forwardRef } from 'react';
|
|
6
5
|
import { ark } from '../factory.mjs';
|
|
@@ -11,12 +10,7 @@ const TreeViewBranchIndicator = forwardRef(
|
|
|
11
10
|
(props, ref) => {
|
|
12
11
|
const api = useTreeViewContext();
|
|
13
12
|
const branchProps = useTreeViewBranchContext();
|
|
14
|
-
const mergedProps = mergeProps(
|
|
15
|
-
api.getBranchProps(branchProps),
|
|
16
|
-
// TODO use api.getBranchIndicatorProps() when available
|
|
17
|
-
treeViewAnatomy.build().branchIndicator.attrs,
|
|
18
|
-
props
|
|
19
|
-
);
|
|
13
|
+
const mergedProps = mergeProps(api.getBranchIndicatorProps(branchProps), props);
|
|
20
14
|
return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
|
|
21
15
|
}
|
|
22
16
|
);
|
|
@@ -16,7 +16,8 @@ const TreeViewRoot = react.forwardRef((props, ref) => {
|
|
|
16
16
|
const [useTreeViewProps, { children, ...localProps }] = createSplitProps.createSplitProps()(
|
|
17
17
|
props,
|
|
18
18
|
[
|
|
19
|
-
"
|
|
19
|
+
"defaultExpandedIds",
|
|
20
|
+
"defaultSelectedIds",
|
|
20
21
|
"dir",
|
|
21
22
|
"expandedIds",
|
|
22
23
|
"focusedId",
|
|
@@ -12,7 +12,8 @@ const TreeViewRoot = forwardRef((props, ref) => {
|
|
|
12
12
|
const [useTreeViewProps, { children, ...localProps }] = createSplitProps()(
|
|
13
13
|
props,
|
|
14
14
|
[
|
|
15
|
-
"
|
|
15
|
+
"defaultExpandedIds",
|
|
16
|
+
"defaultSelectedIds",
|
|
16
17
|
"dir",
|
|
17
18
|
"expandedIds",
|
|
18
19
|
"focusedId",
|
|
@@ -32,12 +32,12 @@ const useTreeView = (props = {}) => {
|
|
|
32
32
|
const initialContext = {
|
|
33
33
|
id: react.useId(),
|
|
34
34
|
getRootNode: environmentContext.useEnvironmentContext(),
|
|
35
|
-
|
|
35
|
+
selectedIds: props.defaultSelectedIds,
|
|
36
|
+
expandedIds: props.defaultExpandedIds,
|
|
36
37
|
...props
|
|
37
38
|
};
|
|
38
39
|
const context = {
|
|
39
40
|
...initialContext,
|
|
40
|
-
focusedId: props.focusedId,
|
|
41
41
|
onFocusChange: useEvent.useEvent(props.onFocusChange, { sync: true }),
|
|
42
42
|
onExpandedChange: useEvent.useEvent(props.onExpandedChange),
|
|
43
43
|
onSelectionChange: useEvent.useEvent(props.onSelectionChange)
|
|
@@ -3,9 +3,13 @@ import * as treeView from '@zag-js/tree-view';
|
|
|
3
3
|
import { type Optional } from '../types';
|
|
4
4
|
export interface UseTreeViewProps extends Optional<treeView.Context, 'id'> {
|
|
5
5
|
/**
|
|
6
|
-
* The initial
|
|
6
|
+
* The initial selected ids of the tree view.
|
|
7
7
|
*/
|
|
8
|
-
|
|
8
|
+
defaultSelectedIds?: treeView.Context['selectedIds'];
|
|
9
|
+
/**
|
|
10
|
+
* The initial expanded ids of the tree view.
|
|
11
|
+
*/
|
|
12
|
+
defaultExpandedIds?: treeView.Context['expandedIds'];
|
|
9
13
|
}
|
|
10
14
|
export interface UseTreeViewReturn extends treeView.Api<PropTypes> {
|
|
11
15
|
}
|
|
@@ -9,12 +9,12 @@ const useTreeView = (props = {}) => {
|
|
|
9
9
|
const initialContext = {
|
|
10
10
|
id: useId(),
|
|
11
11
|
getRootNode: useEnvironmentContext(),
|
|
12
|
-
|
|
12
|
+
selectedIds: props.defaultSelectedIds,
|
|
13
|
+
expandedIds: props.defaultExpandedIds,
|
|
13
14
|
...props
|
|
14
15
|
};
|
|
15
16
|
const context = {
|
|
16
17
|
...initialContext,
|
|
17
|
-
focusedId: props.focusedId,
|
|
18
18
|
onFocusChange: useEvent(props.onFocusChange, { sync: true }),
|
|
19
19
|
onExpandedChange: useEvent(props.onExpandedChange),
|
|
20
20
|
onSelectionChange: useEvent(props.onSelectionChange)
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
'use strict';
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
5
|
-
|
|
6
|
-
const createContext = require('../create-context.cjs');
|
|
7
|
-
|
|
8
|
-
const [PresencePropsProvider, usePresencePropsContext] = createContext.createContext(
|
|
9
|
-
{
|
|
10
|
-
name: "PresencePropsContext",
|
|
11
|
-
hookName: "usePresencePropsContext",
|
|
12
|
-
providerName: "<PresencePropsProvider />"
|
|
13
|
-
}
|
|
14
|
-
);
|
|
15
|
-
|
|
16
|
-
exports.PresencePropsProvider = PresencePropsProvider;
|
|
17
|
-
exports.usePresencePropsContext = usePresencePropsContext;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Provider } from 'react';
|
|
2
|
-
/// <reference types="react" />
|
|
3
|
-
import type { UsePresenceProps } from './use-presence';
|
|
4
|
-
export interface PresencePropsContext extends UsePresenceProps {
|
|
5
|
-
}
|
|
6
|
-
export declare const PresencePropsProvider: Provider<PresencePropsContext>, usePresencePropsContext: () => PresencePropsContext;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
import { createContext } from '../create-context.mjs';
|
|
3
|
-
|
|
4
|
-
const [PresencePropsProvider, usePresencePropsContext] = createContext(
|
|
5
|
-
{
|
|
6
|
-
name: "PresencePropsContext",
|
|
7
|
-
hookName: "usePresencePropsContext",
|
|
8
|
-
providerName: "<PresencePropsProvider />"
|
|
9
|
-
}
|
|
10
|
-
);
|
|
11
|
-
|
|
12
|
-
export { PresencePropsProvider, usePresencePropsContext };
|