@ariakit/react-core 0.4.2 → 0.4.3

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 (67) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/cjs/__chunks/{LEU3BIGC.cjs → 7DQ2LBH2.cjs} +2 -4
  3. package/cjs/__chunks/{OGH323OW.cjs → AJF5DT5A.cjs} +2 -2
  4. package/cjs/__chunks/{2ZW7KXDM.cjs → GYHP7IYG.cjs} +2 -2
  5. package/cjs/__chunks/{33HTKI7L.cjs → IHFGURUM.cjs} +2 -2
  6. package/cjs/__chunks/{RKBJS357.cjs → YOQXFS4U.cjs} +11 -6
  7. package/cjs/collection/collection-renderer.d.cts +3 -1
  8. package/cjs/collection/collection-renderer.d.ts +3 -1
  9. package/cjs/combobox/combobox-cancel.cjs +1 -1
  10. package/cjs/combobox/combobox-disclosure.cjs +1 -1
  11. package/cjs/combobox/combobox-item.cjs +4 -4
  12. package/cjs/combobox/combobox-row.cjs +2 -2
  13. package/cjs/composite/composite-item.cjs +2 -2
  14. package/cjs/composite/composite-overflow-disclosure.cjs +2 -2
  15. package/cjs/composite/composite-renderer.d.cts +3 -1
  16. package/cjs/composite/composite-renderer.d.ts +3 -1
  17. package/cjs/form/form-radio.cjs +3 -3
  18. package/cjs/menu/menu-item-checkbox.cjs +3 -3
  19. package/cjs/menu/menu-item-radio.cjs +5 -5
  20. package/cjs/menu/menu-item.cjs +3 -3
  21. package/cjs/radio/radio.cjs +3 -3
  22. package/cjs/select/select-item.cjs +4 -4
  23. package/cjs/select/select.cjs +1 -1
  24. package/cjs/tab/tab-panel.cjs +3 -13
  25. package/cjs/tab/tab-provider.cjs +7 -2
  26. package/cjs/tab/tab-store.cjs +7 -2
  27. package/cjs/tab/tab-store.d.cts +22 -7
  28. package/cjs/tab/tab-store.d.ts +22 -7
  29. package/cjs/tab/tab.cjs +12 -9
  30. package/cjs/toolbar/toolbar-container.cjs +3 -3
  31. package/cjs/toolbar/toolbar-input.cjs +3 -3
  32. package/cjs/toolbar/toolbar-item.cjs +3 -3
  33. package/cjs/utils/misc.d.cts +5 -3
  34. package/cjs/utils/misc.d.ts +5 -3
  35. package/cjs/utils/types.d.cts +3 -1
  36. package/cjs/utils/types.d.ts +3 -1
  37. package/esm/__chunks/{DGR3GYOB.js → APFOINTZ.js} +12 -7
  38. package/esm/__chunks/{QDVOJENT.js → C5HA76JU.js} +1 -1
  39. package/esm/__chunks/{H4YBNKTY.js → HW63KLP5.js} +1 -1
  40. package/esm/__chunks/{VGL3CETR.js → ONUY4D7O.js} +2 -4
  41. package/esm/__chunks/{DCFMDHRW.js → XK6CE2M5.js} +1 -1
  42. package/esm/collection/collection-renderer.d.ts +3 -1
  43. package/esm/combobox/combobox-cancel.js +1 -1
  44. package/esm/combobox/combobox-disclosure.js +1 -1
  45. package/esm/combobox/combobox-item.js +4 -4
  46. package/esm/combobox/combobox-row.js +3 -3
  47. package/esm/composite/composite-item.js +1 -1
  48. package/esm/composite/composite-overflow-disclosure.js +1 -1
  49. package/esm/composite/composite-renderer.d.ts +3 -1
  50. package/esm/form/form-radio.js +2 -2
  51. package/esm/menu/menu-item-checkbox.js +2 -2
  52. package/esm/menu/menu-item-radio.js +3 -3
  53. package/esm/menu/menu-item.js +2 -2
  54. package/esm/radio/radio.js +2 -2
  55. package/esm/select/select-item.js +4 -4
  56. package/esm/select/select.js +1 -1
  57. package/esm/tab/tab-panel.js +4 -14
  58. package/esm/tab/tab-provider.js +6 -1
  59. package/esm/tab/tab-store.d.ts +22 -7
  60. package/esm/tab/tab-store.js +6 -1
  61. package/esm/tab/tab.js +10 -7
  62. package/esm/toolbar/toolbar-container.js +2 -2
  63. package/esm/toolbar/toolbar-input.js +2 -2
  64. package/esm/toolbar/toolbar-item.js +2 -2
  65. package/esm/utils/misc.d.ts +5 -3
  66. package/esm/utils/types.d.ts +3 -1
  67. package/package.json +2 -2
@@ -1,4 +1,5 @@
1
1
  import * as Core from "@ariakit/core/tab/tab-store";
2
+ import type { ComboboxStore } from "../combobox/combobox-store.js";
2
3
  import type { CompositeStore, CompositeStoreFunctions, CompositeStoreOptions, CompositeStoreState } from "../composite/composite-store.js";
3
4
  import type { Store } from "../utils/store.js";
4
5
  export declare function useTabStoreProps<T extends Core.TabStore>(store: T, update: () => void, props: TabStoreProps): T & {
@@ -11,6 +12,7 @@ export declare function useTabStoreProps<T extends Core.TabStore>(store: T, upda
11
12
  };
12
13
  } & {
13
14
  composite: CompositeStore<import("../composite/composite-store.js").CompositeStoreItem> | null | undefined;
15
+ combobox: ComboboxStore<import("@ariakit/core/combobox/combobox-store").ComboboxStoreSelectedValue> | null | undefined;
14
16
  };
15
17
  /**
16
18
  * Creates a tab store to control the state of
@@ -33,10 +35,10 @@ export interface TabStoreItem extends Core.TabStoreItem {
33
35
  }
34
36
  export interface TabStoreState extends Core.TabStoreState, CompositeStoreState<TabStoreItem> {
35
37
  }
36
- export interface TabStoreFunctions extends Pick<TabStoreOptions, "composite">, Omit<Core.TabStoreFunctions, "panels" | "composite">, CompositeStoreFunctions<TabStoreItem> {
38
+ export interface TabStoreFunctions extends Pick<TabStoreOptions, "composite" | "combobox">, Omit<Core.TabStoreFunctions, "panels" | "composite" | "combobox">, CompositeStoreFunctions<TabStoreItem> {
37
39
  panels: Store<Core.TabStoreFunctions["panels"]>;
38
40
  }
39
- export interface TabStoreOptions extends Omit<Core.TabStoreOptions, "composite">, CompositeStoreOptions<TabStoreItem> {
41
+ export interface TabStoreOptions extends Omit<Core.TabStoreOptions, "composite" | "combobox">, CompositeStoreOptions<TabStoreItem> {
40
42
  /**
41
43
  * Function that will be called when the
42
44
  * [`selectedId`](https://ariakit.org/reference/tab-provider#selectedid) state
@@ -48,14 +50,27 @@ export interface TabStoreOptions extends Omit<Core.TabStoreOptions, "composite">
48
50
  setSelectedId?: (selectedId: TabStoreState["selectedId"]) => void;
49
51
  /**
50
52
  * A reference to another [composite
51
- * store](https://ariakit.org/reference/use-composite-store). It's
52
- * automatically set when rendering tabs within another composite widget like
53
- * [Combobox](https://ariakit.org/components/combobox) or
53
+ * store](https://ariakit.org/reference/use-composite-store). This is
54
+ * automatically set when rendering tabs as part of another composite widget,
55
+ * such as [Combobox](https://ariakit.org/components/combobox) or
54
56
  * [Select](https://ariakit.org/components/select).
57
+ *
58
+ * Live examples:
59
+ * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
55
60
  */
56
61
  composite?: CompositeStore | null;
62
+ /**
63
+ * A reference to a [combobox
64
+ * store](https://ariakit.org/reference/use-combobox-store). This is
65
+ * automatically set when rendering tabs inside a
66
+ * [Combobox](https://ariakit.org/components/combobox).
67
+ *
68
+ * Live examples:
69
+ * - [Combobox with tabs](https://ariakit.org/examples/combobox-tabs)
70
+ */
71
+ combobox?: ComboboxStore | null;
57
72
  }
58
- export interface TabStoreProps extends TabStoreOptions, Omit<Core.TabStoreProps, "composite"> {
73
+ export interface TabStoreProps extends TabStoreOptions, Omit<Core.TabStoreProps, "composite" | "combobox"> {
59
74
  }
60
- export interface TabStore extends TabStoreFunctions, Omit<Store<Core.TabStore>, "panels" | "composite"> {
75
+ export interface TabStore extends TabStoreFunctions, Omit<Store<Core.TabStore>, "panels" | "composite" | "combobox"> {
61
76
  }
@@ -2,11 +2,16 @@
2
2
  import {
3
3
  useTabStore,
4
4
  useTabStoreProps
5
- } from "../__chunks/DGR3GYOB.js";
5
+ } from "../__chunks/APFOINTZ.js";
6
+ import "../__chunks/N4X7J4OQ.js";
7
+ import "../__chunks/SYZHUNAU.js";
6
8
  import "../__chunks/ZR5N62ZV.js";
7
9
  import "../__chunks/LGWSZOP2.js";
8
10
  import "../__chunks/QFI3MCMR.js";
9
11
  import "../__chunks/6LTHW2TQ.js";
12
+ import "../__chunks/5B3U64HV.js";
13
+ import "../__chunks/IWHI6Y45.js";
14
+ import "../__chunks/RG6J4TID.js";
10
15
  import "../__chunks/GUCZNEAD.js";
11
16
  import "../__chunks/PWUXK5IM.js";
12
17
  import "../__chunks/WOWUAP42.js";
package/esm/tab/tab.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  CompositeItem,
4
4
  useCompositeItem
5
- } from "../__chunks/VGL3CETR.js";
5
+ } from "../__chunks/ONUY4D7O.js";
6
6
  import "../__chunks/PJ7ERAIM.js";
7
7
  import "../__chunks/IFMAUEA7.js";
8
8
  import {
@@ -86,14 +86,17 @@ var useTab = createHook(function useTab2(_a) {
86
86
  (element) => {
87
87
  if (!(store == null ? void 0 : store.composite))
88
88
  return element;
89
+ const defaultProps = {
90
+ id,
91
+ store: store.composite,
92
+ shouldRegisterItem: selected && shouldRegisterItem,
93
+ render: element
94
+ };
89
95
  return /* @__PURE__ */ jsx(
90
96
  CompositeItem,
91
- {
92
- id,
93
- render: element,
94
- store: store.composite,
95
- shouldRegisterItem: selected && shouldRegisterItem
96
- }
97
+ __spreadProps(__spreadValues({}, defaultProps), {
98
+ render: store.combobox && store.composite !== store.combobox ? /* @__PURE__ */ jsx(CompositeItem, __spreadProps(__spreadValues({}, defaultProps), { store: store.combobox })) : element
99
+ })
97
100
  );
98
101
  },
99
102
  [store, id, selected, shouldRegisterItem]
@@ -4,8 +4,8 @@ import {
4
4
  } from "../__chunks/LQCUPYIB.js";
5
5
  import {
6
6
  useToolbarItem
7
- } from "../__chunks/DCFMDHRW.js";
8
- import "../__chunks/VGL3CETR.js";
7
+ } from "../__chunks/XK6CE2M5.js";
8
+ import "../__chunks/ONUY4D7O.js";
9
9
  import "../__chunks/PJ7ERAIM.js";
10
10
  import "../__chunks/IFMAUEA7.js";
11
11
  import "../__chunks/3IEDWLST.js";
@@ -4,8 +4,8 @@ import {
4
4
  } from "../__chunks/RPGNBKKU.js";
5
5
  import {
6
6
  useToolbarItem
7
- } from "../__chunks/DCFMDHRW.js";
8
- import "../__chunks/VGL3CETR.js";
7
+ } from "../__chunks/XK6CE2M5.js";
8
+ import "../__chunks/ONUY4D7O.js";
9
9
  import "../__chunks/PJ7ERAIM.js";
10
10
  import "../__chunks/IFMAUEA7.js";
11
11
  import "../__chunks/3IEDWLST.js";
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  ToolbarItem,
4
4
  useToolbarItem
5
- } from "../__chunks/DCFMDHRW.js";
6
- import "../__chunks/VGL3CETR.js";
5
+ } from "../__chunks/XK6CE2M5.js";
6
+ import "../__chunks/ONUY4D7O.js";
7
7
  import "../__chunks/PJ7ERAIM.js";
8
8
  import "../__chunks/IFMAUEA7.js";
9
9
  import "../__chunks/3IEDWLST.js";
@@ -1,4 +1,4 @@
1
- import type { HTMLAttributes, MutableRefObject, ReactElement, RefAttributes, RefCallback } from "react";
1
+ import type { HTMLAttributes, MutableRefObject, ReactElement, Ref, RefCallback } from "react";
2
2
  /**
3
3
  * Sets both a function and object React ref.
4
4
  */
@@ -6,11 +6,13 @@ export declare function setRef<T>(ref: RefCallback<T> | MutableRefObject<T> | nu
6
6
  /**
7
7
  * Checks if an element is a valid React element with a ref.
8
8
  */
9
- export declare function isValidElementWithRef<P>(element: unknown): element is ReactElement<P> & RefAttributes<any>;
9
+ export declare function isValidElementWithRef<P>(element: unknown): element is ReactElement<P> & {
10
+ ref?: Ref<any>;
11
+ };
10
12
  /**
11
13
  * Gets the ref property from a React element.
12
14
  */
13
- export declare function getRefProperty(element: unknown): import("react").Ref<any> | undefined;
15
+ export declare function getRefProperty(element: unknown): Ref<any> | undefined;
14
16
  /**
15
17
  * Merges two sets of props.
16
18
  */
@@ -6,7 +6,9 @@ import type { AnyObject, EmptyObject } from "@ariakit/core/utils/types";
6
6
  * @example
7
7
  * const children: RenderProp = (props) => <div {...props} />;
8
8
  */
9
- export type RenderProp<P = React.HTMLAttributes<any> & React.RefAttributes<any>> = (props: P) => React.ReactNode;
9
+ export type RenderProp<P = React.HTMLAttributes<any> & {
10
+ ref?: React.Ref<any>;
11
+ }> = (props: P) => React.ReactNode;
10
12
  /**
11
13
  * The `wrapElement` prop.
12
14
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ariakit/react-core",
3
- "version": "0.4.2",
3
+ "version": "0.4.3",
4
4
  "description": "Ariakit React core",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",
@@ -30,7 +30,7 @@
30
30
  "core"
31
31
  ],
32
32
  "dependencies": {
33
- "@ariakit/core": "0.4.2",
33
+ "@ariakit/core": "0.4.3",
34
34
  "@floating-ui/dom": "^1.0.0",
35
35
  "use-sync-external-store": "^1.2.0"
36
36
  },