@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
@@ -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
- "defaultFocusedId",
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
- "defaultFocusedId",
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
- focusedId: props.defaultFocusedId,
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 focused index of the tree view.
6
+ * The initial selected ids of the tree view.
7
7
  */
8
- defaultFocusedId?: treeView.Context['focusedId'];
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
- focusedId: props.defaultFocusedId,
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 };