@ariakit/react-core 0.3.1 → 0.3.2

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 (170) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/cjs/__chunks/{6MLKTO2T.cjs → 3ULNMLN7.cjs} +2 -2
  3. package/cjs/__chunks/{SL7OXEFQ.cjs → 4ULJINEP.cjs} +2 -2
  4. package/cjs/__chunks/{C47ZNHA6.cjs → 6UXB6PRK.cjs} +2 -2
  5. package/cjs/__chunks/{OAQQQ7LS.cjs → DMTOMUIM.cjs} +2 -2
  6. package/cjs/__chunks/{P2EILHN6.cjs → E4C2KZA5.cjs} +2 -2
  7. package/cjs/__chunks/{J63NAJOO.cjs → HCQYEOCO.cjs} +2 -2
  8. package/cjs/__chunks/{WRVKUV4V.cjs → HFISYIKE.cjs} +2 -2
  9. package/cjs/__chunks/{U33H4JTD.cjs → LJBXMHCD.cjs} +2 -2
  10. package/cjs/__chunks/{BPMML63M.cjs → NATUYKIW.cjs} +2 -2
  11. package/cjs/__chunks/{ZEASCR4B.cjs → QEG5AJH6.cjs} +2 -2
  12. package/cjs/__chunks/{B4KDFSF3.cjs → WBPFHFAX.cjs} +2 -2
  13. package/cjs/__chunks/{PHDU6PLM.cjs → XOHN6PER.cjs} +2 -2
  14. package/cjs/checkbox/checkbox.d.ts +12 -9
  15. package/cjs/collection/collection.d.ts +5 -1
  16. package/cjs/combobox/combobox-cancel.d.ts +14 -9
  17. package/cjs/combobox/combobox-disclosure.d.ts +14 -9
  18. package/cjs/combobox/combobox-group-label.d.ts +16 -11
  19. package/cjs/combobox/combobox-group.d.ts +16 -11
  20. package/cjs/combobox/combobox-item-value.d.ts +14 -10
  21. package/cjs/combobox/combobox-item.d.ts +45 -20
  22. package/cjs/combobox/combobox-list.d.ts +17 -10
  23. package/cjs/combobox/combobox-popover.cjs +5 -5
  24. package/cjs/combobox/combobox-popover.d.ts +8 -7
  25. package/cjs/combobox/combobox-provider.cjs +5 -5
  26. package/cjs/combobox/combobox-row.d.ts +21 -16
  27. package/cjs/combobox/combobox-separator.d.ts +15 -10
  28. package/cjs/combobox/combobox-store.cjs +5 -5
  29. package/cjs/combobox/combobox-store.d.ts +9 -4
  30. package/cjs/combobox/combobox.d.ts +55 -36
  31. package/cjs/composite/composite-overflow-store.cjs +4 -4
  32. package/cjs/composite/composite-overflow.cjs +5 -5
  33. package/cjs/dialog/dialog-backdrop.cjs +3 -3
  34. package/cjs/dialog/dialog-provider.cjs +3 -3
  35. package/cjs/dialog/dialog-store.cjs +3 -3
  36. package/cjs/dialog/dialog.cjs +4 -4
  37. package/cjs/disclosure/disclosure-content.d.ts +9 -4
  38. package/cjs/disclosure/disclosure-provider.cjs +2 -2
  39. package/cjs/disclosure/disclosure-store.cjs +2 -2
  40. package/cjs/disclosure/disclosure-store.d.ts +1 -2
  41. package/cjs/disclosure/disclosure.d.ts +13 -6
  42. package/cjs/form/form-checkbox.d.ts +5 -1
  43. package/cjs/form/form-description.d.ts +10 -3
  44. package/cjs/form/form-error.d.ts +10 -3
  45. package/cjs/form/form-field.d.ts +17 -9
  46. package/cjs/form/form-group-label.d.ts +7 -4
  47. package/cjs/form/form-group.d.ts +5 -2
  48. package/cjs/form/form-input.d.ts +9 -4
  49. package/cjs/form/form-label.d.ts +10 -3
  50. package/cjs/form/form-push.d.ts +5 -2
  51. package/cjs/form/form-radio-group.d.ts +5 -1
  52. package/cjs/form/form-radio.d.ts +5 -1
  53. package/cjs/form/form-remove.d.ts +5 -2
  54. package/cjs/form/form-reset.d.ts +6 -2
  55. package/cjs/form/form-store.d.ts +5 -1
  56. package/cjs/form/form-submit.d.ts +5 -2
  57. package/cjs/form/form.d.ts +5 -1
  58. package/cjs/hovercard/hovercard-anchor.d.ts +11 -5
  59. package/cjs/hovercard/hovercard-arrow.d.ts +13 -8
  60. package/cjs/hovercard/hovercard-description.d.ts +14 -9
  61. package/cjs/hovercard/hovercard-disclosure.d.ts +14 -8
  62. package/cjs/hovercard/hovercard-dismiss.d.ts +11 -6
  63. package/cjs/hovercard/hovercard-heading.d.ts +14 -9
  64. package/cjs/hovercard/hovercard-provider.cjs +5 -5
  65. package/cjs/hovercard/hovercard-store.cjs +5 -5
  66. package/cjs/hovercard/hovercard-store.d.ts +1 -0
  67. package/cjs/hovercard/hovercard.cjs +6 -6
  68. package/cjs/hovercard/hovercard.d.ts +11 -5
  69. package/cjs/menu/menu-button.cjs +3 -1
  70. package/cjs/menu/menu-provider.cjs +6 -6
  71. package/cjs/menu/menu-store.cjs +6 -6
  72. package/cjs/menu/menu-store.d.ts +6 -6
  73. package/cjs/menu/menu.cjs +6 -6
  74. package/cjs/popover/popover-provider.cjs +4 -4
  75. package/cjs/popover/popover-store.cjs +4 -4
  76. package/cjs/popover/popover.cjs +5 -5
  77. package/cjs/select/select-popover.cjs +5 -5
  78. package/cjs/select/select-provider.cjs +5 -5
  79. package/cjs/select/select-store.cjs +5 -5
  80. package/cjs/select/select-store.d.ts +2 -2
  81. package/cjs/tab/tab-panel.cjs +2 -2
  82. package/cjs/tooltip/tooltip-provider.cjs +6 -6
  83. package/cjs/tooltip/tooltip-store.cjs +6 -6
  84. package/cjs/tooltip/tooltip.cjs +6 -6
  85. package/cjs/tsconfig.build.tsbuildinfo +1 -1
  86. package/esm/__chunks/{YJPXO6F5.js → 34JEM52B.js} +1 -1
  87. package/esm/__chunks/{CJPLAYFB.js → 4RP654JS.js} +1 -1
  88. package/esm/__chunks/{RA2AAYOC.js → 4SB2BYFE.js} +1 -1
  89. package/esm/__chunks/{E6GADH6Y.js → A2ONBKVT.js} +2 -2
  90. package/esm/__chunks/{RVGVDX6B.js → GP4UGJIZ.js} +1 -1
  91. package/esm/__chunks/{XEZV3AK4.js → H2BG4QDT.js} +1 -1
  92. package/esm/__chunks/{HJHTMRDC.js → HZPJPDJY.js} +1 -1
  93. package/esm/__chunks/{6LKB3PXM.js → IFNQMENS.js} +1 -1
  94. package/esm/__chunks/{MA5WD4CD.js → UQFOL5I6.js} +1 -1
  95. package/esm/__chunks/{HCTAKPNS.js → UY3UQ4QI.js} +1 -1
  96. package/esm/__chunks/{R3N4R7UZ.js → V5EW3YHP.js} +1 -1
  97. package/esm/__chunks/{NRLOAE2I.js → W575AF63.js} +1 -1
  98. package/esm/checkbox/checkbox.d.ts +12 -9
  99. package/esm/collection/collection.d.ts +5 -1
  100. package/esm/combobox/combobox-cancel.d.ts +14 -9
  101. package/esm/combobox/combobox-disclosure.d.ts +14 -9
  102. package/esm/combobox/combobox-group-label.d.ts +16 -11
  103. package/esm/combobox/combobox-group.d.ts +16 -11
  104. package/esm/combobox/combobox-item-value.d.ts +14 -10
  105. package/esm/combobox/combobox-item.d.ts +45 -20
  106. package/esm/combobox/combobox-list.d.ts +17 -10
  107. package/esm/combobox/combobox-popover.d.ts +8 -7
  108. package/esm/combobox/combobox-popover.js +4 -4
  109. package/esm/combobox/combobox-provider.js +4 -4
  110. package/esm/combobox/combobox-row.d.ts +21 -16
  111. package/esm/combobox/combobox-separator.d.ts +15 -10
  112. package/esm/combobox/combobox-store.d.ts +9 -4
  113. package/esm/combobox/combobox-store.js +4 -4
  114. package/esm/combobox/combobox.d.ts +55 -36
  115. package/esm/composite/composite-overflow-store.js +3 -3
  116. package/esm/composite/composite-overflow.js +4 -4
  117. package/esm/dialog/dialog-backdrop.js +2 -2
  118. package/esm/dialog/dialog-provider.js +2 -2
  119. package/esm/dialog/dialog-store.js +2 -2
  120. package/esm/dialog/dialog.js +3 -3
  121. package/esm/disclosure/disclosure-content.d.ts +9 -4
  122. package/esm/disclosure/disclosure-provider.js +1 -1
  123. package/esm/disclosure/disclosure-store.d.ts +1 -2
  124. package/esm/disclosure/disclosure-store.js +1 -1
  125. package/esm/disclosure/disclosure.d.ts +13 -6
  126. package/esm/form/form-checkbox.d.ts +5 -1
  127. package/esm/form/form-description.d.ts +10 -3
  128. package/esm/form/form-error.d.ts +10 -3
  129. package/esm/form/form-field.d.ts +17 -9
  130. package/esm/form/form-group-label.d.ts +7 -4
  131. package/esm/form/form-group.d.ts +5 -2
  132. package/esm/form/form-input.d.ts +9 -4
  133. package/esm/form/form-label.d.ts +10 -3
  134. package/esm/form/form-push.d.ts +5 -2
  135. package/esm/form/form-radio-group.d.ts +5 -1
  136. package/esm/form/form-radio.d.ts +5 -1
  137. package/esm/form/form-remove.d.ts +5 -2
  138. package/esm/form/form-reset.d.ts +6 -2
  139. package/esm/form/form-store.d.ts +5 -1
  140. package/esm/form/form-submit.d.ts +5 -2
  141. package/esm/form/form.d.ts +5 -1
  142. package/esm/hovercard/hovercard-anchor.d.ts +11 -5
  143. package/esm/hovercard/hovercard-arrow.d.ts +13 -8
  144. package/esm/hovercard/hovercard-description.d.ts +14 -9
  145. package/esm/hovercard/hovercard-disclosure.d.ts +14 -8
  146. package/esm/hovercard/hovercard-dismiss.d.ts +11 -6
  147. package/esm/hovercard/hovercard-heading.d.ts +14 -9
  148. package/esm/hovercard/hovercard-provider.js +4 -4
  149. package/esm/hovercard/hovercard-store.d.ts +1 -0
  150. package/esm/hovercard/hovercard-store.js +4 -4
  151. package/esm/hovercard/hovercard.d.ts +11 -5
  152. package/esm/hovercard/hovercard.js +5 -5
  153. package/esm/menu/menu-button.js +3 -1
  154. package/esm/menu/menu-provider.js +5 -5
  155. package/esm/menu/menu-store.d.ts +6 -6
  156. package/esm/menu/menu-store.js +5 -5
  157. package/esm/menu/menu.js +5 -5
  158. package/esm/popover/popover-provider.js +3 -3
  159. package/esm/popover/popover-store.js +3 -3
  160. package/esm/popover/popover.js +4 -4
  161. package/esm/select/select-popover.js +4 -4
  162. package/esm/select/select-provider.js +4 -4
  163. package/esm/select/select-store.d.ts +2 -2
  164. package/esm/select/select-store.js +4 -4
  165. package/esm/tab/tab-panel.js +1 -1
  166. package/esm/tooltip/tooltip-provider.js +5 -5
  167. package/esm/tooltip/tooltip-store.js +5 -5
  168. package/esm/tooltip/tooltip.js +5 -5
  169. package/esm/tsconfig.build.tsbuildinfo +1 -1
  170. package/package.json +2 -2
@@ -55,8 +55,11 @@ export declare const useFormPush: import("../utils/types.js").Hook<FormPushOptio
55
55
  export declare const FormPush: import("../utils/types.js").Component<FormPushOptions<"button">>;
56
56
  export interface FormPushOptions<T extends As = "button"> extends ButtonOptions<T>, CollectionItemOptions<T> {
57
57
  /**
58
- * Object returned by the `useFormStore` hook. If not provided, the parent
59
- * `Form` component's context will be used.
58
+ * Object returned by the
59
+ * [`useFormStore`](https://ariakit.org/reference/use-form-store) hook. If not
60
+ * provided, the closest [`Form`](https://ariakit.org/reference/form) or
61
+ * [`FormProvider`](https://ariakit.org/reference/form-provider) components'
62
+ * context will be used.
60
63
  */
61
64
  store?: FormStore;
62
65
  /**
@@ -23,7 +23,11 @@ export declare const useFormRadioGroup: import("../utils/types.js").Hook<FormRad
23
23
  * @see https://ariakit.org/components/form
24
24
  * @example
25
25
  * ```jsx
26
- * const form = useFormStore({ defaultValues: { color: "red" } });
26
+ * const form = useFormStore({
27
+ * defaultValues: {
28
+ * color: "red",
29
+ * },
30
+ * });
27
31
  * <Form store={form}>
28
32
  * <FormRadioGroup>
29
33
  * <FormGroupLabel>Favorite color</FormGroupLabel>
@@ -26,7 +26,11 @@ export declare const useFormRadio: import("../utils/types.js").Hook<FormRadioOpt
26
26
  * @see https://ariakit.org/components/form
27
27
  * @example
28
28
  * ```jsx
29
- * const form = useFormStore({ defaultValues: { char: "a" } });
29
+ * const form = useFormStore({
30
+ * defaultValues: {
31
+ * char: "a",
32
+ * },
33
+ * });
30
34
  * <Form store={form}>
31
35
  * <FormRadioGroup>
32
36
  * <FormGroupLabel>Favorite character</FormGroupLabel>
@@ -54,8 +54,11 @@ export declare const useFormRemove: import("../utils/types.js").Hook<FormRemoveO
54
54
  export declare const FormRemove: import("../utils/types.js").Component<FormRemoveOptions<"button">>;
55
55
  export interface FormRemoveOptions<T extends As = "button"> extends ButtonOptions<T> {
56
56
  /**
57
- * Object returned by the `useFormStore` hook. If not provided, the parent
58
- * `Form` component's context will be used.
57
+ * Object returned by the
58
+ * [`useFormStore`](https://ariakit.org/reference/use-form-store) hook. If not
59
+ * provided, the closest [`Form`](https://ariakit.org/reference/form) or
60
+ * [`FormProvider`](https://ariakit.org/reference/form-provider) components'
61
+ * context will be used.
59
62
  */
60
63
  store?: FormStore;
61
64
  /**
@@ -20,6 +20,7 @@ export declare const useFormReset: import("../utils/types.js").Hook<FormResetOpt
20
20
  * @example
21
21
  * ```jsx
22
22
  * const form = useFormStore();
23
+ *
23
24
  * <Form store={form}>
24
25
  * <FormReset>Reset</FormReset>
25
26
  * </Form>
@@ -28,8 +29,11 @@ export declare const useFormReset: import("../utils/types.js").Hook<FormResetOpt
28
29
  export declare const FormReset: import("../utils/types.js").Component<FormResetOptions<"button">>;
29
30
  export interface FormResetOptions<T extends As = "button"> extends ButtonOptions<T> {
30
31
  /**
31
- * Object returned by the `useFormStore` hook. If not provided, the parent
32
- * `Form` component's context will be used.
32
+ * Object returned by the
33
+ * [`useFormStore`](https://ariakit.org/reference/use-form-store) hook. If not
34
+ * provided, the closest [`Form`](https://ariakit.org/reference/form) or
35
+ * [`FormProvider`](https://ariakit.org/reference/form-provider) components'
36
+ * context will be used.
33
37
  */
34
38
  store?: FormStore;
35
39
  }
@@ -14,7 +14,11 @@ export declare function useFormStoreProps<T extends Omit<FormStore, "useValue" |
14
14
  * Creates a form store.
15
15
  * @example
16
16
  * ```jsx
17
- * const form = useFormStore({ defaultValues: { email: "" } });
17
+ * const form = useFormStore({
18
+ * defaultValues: {
19
+ * email: "",
20
+ * },
21
+ * });
18
22
  * <Form store={form}>
19
23
  * <FormLabel name={form.names.email}>Email</FormLabel>
20
24
  * <FormInput name={form.names.email} />
@@ -28,8 +28,11 @@ export declare const useFormSubmit: import("../utils/types.js").Hook<FormSubmitO
28
28
  export declare const FormSubmit: import("../utils/types.js").Component<FormSubmitOptions<"button">>;
29
29
  export interface FormSubmitOptions<T extends As = "button"> extends ButtonOptions<T> {
30
30
  /**
31
- * Object returned by the `useFormStore` hook. If not provided, the parent
32
- * `Form` component's context will be used.
31
+ * Object returned by the
32
+ * [`useFormStore`](https://ariakit.org/reference/use-form-store) hook. If not
33
+ * provided, the closest [`Form`](https://ariakit.org/reference/form) or
34
+ * [`FormProvider`](https://ariakit.org/reference/form-provider) components'
35
+ * context will be used.
33
36
  */
34
37
  store?: FormStore;
35
38
  /**
@@ -26,7 +26,11 @@ export declare const useForm: import("../utils/types.js").Hook<FormOptions<"form
26
26
  export declare const Form: import("../utils/types.js").Component<FormOptions<"form">>;
27
27
  export interface FormOptions<T extends As = "form"> extends Options<T> {
28
28
  /**
29
- * Object returned by the `useFormStore` hook.
29
+ * Object returned by the
30
+ * [`useFormStore`](https://ariakit.org/reference/use-form-store) hook. If not
31
+ * provided, the closest
32
+ * [`FormProvider`](https://ariakit.org/reference/form-provider) component's
33
+ * context will be used.
30
34
  */
31
35
  store?: FormStore;
32
36
  /**
@@ -16,19 +16,25 @@ import type { HovercardStore } from "./hovercard-store.js";
16
16
  */
17
17
  export declare const useHovercardAnchor: import("../utils/types.js").Hook<HovercardAnchorOptions<"a">>;
18
18
  /**
19
- * Renders an anchor element that will open a popover (`Hovercard`) on hover.
19
+ * Renders an anchor element that will open a
20
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) popup on hover.
20
21
  * @see https://ariakit.org/components/hovercard
21
22
  * @example
22
23
  * ```jsx
23
- * const hovercard = useHovercardStore();
24
- * <HovercardAnchor store={hovercard}>@username</HovercardAnchor>
25
- * <Hovercard store={hovercard}>Details</Hovercard>
24
+ * <HovercardProvider>
25
+ * <HovercardAnchor>@username</HovercardAnchor>
26
+ * <Hovercard>Details</Hovercard>
27
+ * </HovercardProvider>
26
28
  * ```
27
29
  */
28
30
  export declare const HovercardAnchor: import("../utils/types.js").Component<HovercardAnchorOptions<"a">>;
29
31
  export interface HovercardAnchorOptions<T extends As = "a"> extends FocusableOptions<T> {
30
32
  /**
31
- * Object returned by the `useHovercardStore` hook.
33
+ * Object returned by the
34
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
35
+ * hook. If not provided, the closest
36
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
37
+ * component's context will be used.
32
38
  */
33
39
  store?: HovercardStore;
34
40
  /**
@@ -20,19 +20,24 @@ export declare const useHovercardArrow: import("../utils/types.js").Hook<Hoverca
20
20
  * @see https://ariakit.org/components/hovercard
21
21
  * @example
22
22
  * ```jsx
23
- * const hovercard = useHovercardStore();
24
- * <HovercardAnchor store={hovercard}>@username</HovercardAnchor>
25
- * <Hovercard store={hovercard}>
26
- * <HovercardArrow />
27
- * Details
28
- * </Hovercard>
23
+ * <HovercardProvider>
24
+ * <HovercardAnchor>@username</HovercardAnchor>
25
+ * <Hovercard>
26
+ * <HovercardArrow />
27
+ * Details
28
+ * </Hovercard>
29
+ * </HovercardProvider>
29
30
  * ```
30
31
  */
31
32
  export declare const HovercardArrow: import("../utils/types.js").Component<HovercardArrowOptions<"div">>;
32
33
  export interface HovercardArrowOptions<T extends As = "div"> extends PopoverArrowOptions<T> {
33
34
  /**
34
- * Object returned by the `useHovercardStore` hook. If not provided, the
35
- * parent `Hovercard` component's context will be used.
35
+ * Object returned by the
36
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
37
+ * hook. If not provided, the closest
38
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) or
39
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
40
+ * components' context will be used.
36
41
  */
37
42
  store?: HovercardStore;
38
43
  }
@@ -15,23 +15,28 @@ import type { HovercardStore } from "./hovercard-store.js";
15
15
  */
16
16
  export declare const useHovercardDescription: import("../utils/types.js").Hook<HovercardDescriptionOptions<"p">>;
17
17
  /**
18
- * Renders a description in a hovercard. This component must be wrapped with
19
- * `Hovercard` so the `aria-describedby` prop is properly set on the hovercard
20
- * element.
18
+ * Renders a description in a hovercard. This component must be wrapped within
19
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) so the
20
+ * `aria-describedby` prop is properly set on the hovercard element.
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
23
  * ```jsx
24
- * const hovercard = useHovercardStore();
25
- * <Hovercard store={hovercard}>
26
- * <HovercardDescription>Description</HovercardDescription>
27
- * </Hovercard>
24
+ * <HovercardProvider>
25
+ * <Hovercard>
26
+ * <HovercardDescription>Description</HovercardDescription>
27
+ * </Hovercard>
28
+ * </HovercardProvider>
28
29
  * ```
29
30
  */
30
31
  export declare const HovercardDescription: import("../utils/types.js").Component<HovercardDescriptionOptions<"p">>;
31
32
  export interface HovercardDescriptionOptions<T extends As = "p"> extends PopoverDescriptionOptions<T> {
32
33
  /**
33
- * Object returned by the `useHovercardStore` hook. If not provided, the
34
- * parent `Hovercard` component's context will be used.
34
+ * Object returned by the
35
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
36
+ * hook. If not provided, the closest
37
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) or
38
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
39
+ * components' context will be used.
35
40
  */
36
41
  store?: HovercardStore;
37
42
  }
@@ -15,22 +15,28 @@ import type { HovercardStore } from "./hovercard-store.js";
15
15
  */
16
16
  export declare const useHovercardDisclosure: import("../utils/types.js").Hook<HovercardDisclosureOptions<"button">>;
17
17
  /**
18
- * Renders a hidden disclosure button that will be visible when the hovercard
19
- * anchor element (`HovercardAnchor`) receives keyboard focus. The user can then
20
- * navigate to the button to open the hovercard when using the keyboard.
18
+ * Renders a hidden disclosure button that will be visible when the
19
+ * [`HovercardAnchor`](https://ariakit.org/reference/hovercard-anchor) receives
20
+ * keyboard focus. The user can then navigate to the button to open the
21
+ * hovercard when using the keyboard.
21
22
  * @see https://ariakit.org/components/hovercard
22
23
  * @example
23
24
  * ```jsx
24
- * const hovercard = useHovercardStore();
25
- * <HovercardAnchor store={hovercard}>@username</HovercardAnchor>
26
- * <HovercardDisclosure store={hovercard} />
27
- * <Hovercard store={hovercard}>Details</Hovercard>
25
+ * <HovercardProvider>
26
+ * <HovercardAnchor>@username</HovercardAnchor>
27
+ * <HovercardDisclosure />
28
+ * <Hovercard>Details</Hovercard>
29
+ * </HovercardProvider>
28
30
  * ```
29
31
  */
30
32
  export declare const HovercardDisclosure: import("../utils/types.js").Component<HovercardDisclosureOptions<"button">>;
31
33
  export interface HovercardDisclosureOptions<T extends As = "button"> extends DialogDisclosureOptions<T> {
32
34
  /**
33
- * Object returned by the `useHovercardStore` hook.
35
+ * Object returned by the
36
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
37
+ * hook. If not provided, the closest
38
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
39
+ * component's context will be used.
34
40
  */
35
41
  store?: HovercardStore;
36
42
  }
@@ -19,17 +19,22 @@ export declare const useHovercardDismiss: import("../utils/types.js").Hook<Hover
19
19
  * @see https://ariakit.org/components/hovercard
20
20
  * @example
21
21
  * ```jsx
22
- * const hovercard = useHovercardStore();
23
- * <Hovercard store={hovercard}>
24
- * <HovercardDismiss />
25
- * </Hovercard>
22
+ * <HovercardProvider>
23
+ * <Hovercard>
24
+ * <HovercardDismiss />
25
+ * </Hovercard>
26
+ * </HovercardProvider>
26
27
  * ```
27
28
  */
28
29
  export declare const HovercardDismiss: import("../utils/types.js").Component<HovercardDismissOptions<"button">>;
29
30
  export interface HovercardDismissOptions<T extends As = "button"> extends PopoverDismissOptions<T> {
30
31
  /**
31
- * Object returned by the `useHovercardStore` hook. If not provided, the
32
- * parent `Hovercard` component's context will be used.
32
+ * Object returned by the
33
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
34
+ * hook. If not provided, the closest
35
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) or
36
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
37
+ * components' context will be used.
33
38
  */
34
39
  store?: HovercardStore;
35
40
  }
@@ -15,23 +15,28 @@ import type { HovercardStore } from "./hovercard-store.js";
15
15
  */
16
16
  export declare const useHovercardHeading: import("../utils/types.js").Hook<HovercardHeadingOptions<"h1">>;
17
17
  /**
18
- * Renders a heading in a hovercard. This component must be wrapped with
19
- * `Hovercard` so the `aria-labelledby` prop is properly set on the hovercard
20
- * element.
18
+ * Renders a heading in a hovercard. This component must be wrapped within
19
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) so the
20
+ * `aria-labelledby` prop is properly set on the hovercard element.
21
21
  * @see https://ariakit.org/components/hovercard
22
22
  * @example
23
23
  * ```jsx
24
- * const hovercard = useHovercardStore();
25
- * <Hovercard store={hovercard}>
26
- * <HovercardHeading>Heading</HovercardHeading>
27
- * </Hovercard>
24
+ * <HovercardProvider>
25
+ * <Hovercard>
26
+ * <HovercardHeading>Heading</HovercardHeading>
27
+ * </Hovercard>
28
+ * </HovercardProvider>
28
29
  * ```
29
30
  */
30
31
  export declare const HovercardHeading: import("../utils/types.js").Component<HovercardHeadingOptions<"h1">>;
31
32
  export interface HovercardHeadingOptions<T extends As = "h1"> extends PopoverHeadingOptions<T> {
32
33
  /**
33
- * Object returned by the `useHovercardStore` hook. If not provided, the
34
- * parent `Hovercard` component's context will be used.
34
+ * Object returned by the
35
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
36
+ * hook. If not provided, the closest
37
+ * [`Hovercard`](https://ariakit.org/reference/hovercard) or
38
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
39
+ * components' context will be used.
35
40
  */
36
41
  store?: HovercardStore;
37
42
  }
@@ -7,10 +7,10 @@ import "../__chunks/56KWVYDN.js";
7
7
  import "../__chunks/CFEUKV6C.js";
8
8
  import {
9
9
  useHovercardStore
10
- } from "../__chunks/MA5WD4CD.js";
11
- import "../__chunks/XEZV3AK4.js";
12
- import "../__chunks/HCTAKPNS.js";
13
- import "../__chunks/E6GADH6Y.js";
10
+ } from "../__chunks/UQFOL5I6.js";
11
+ import "../__chunks/H2BG4QDT.js";
12
+ import "../__chunks/UY3UQ4QI.js";
13
+ import "../__chunks/A2ONBKVT.js";
14
14
  import "../__chunks/XXO3VVQU.js";
15
15
  import "../__chunks/J7Q2EO23.js";
16
16
  import "../__chunks/CP3U4HPL.js";
@@ -8,6 +8,7 @@ export declare function useHovercardStoreProps<T extends Core.HovercardStore>(st
8
8
  * @example
9
9
  * ```jsx
10
10
  * const hovercard = useHovercardStore({ placement: "top" });
11
+ *
11
12
  * <HovercardAnchor store={hovercard}>@username</HovercardAnchor>
12
13
  * <Hovercard store={hovercard}>Details</Hovercard>
13
14
  * ```
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  useHovercardStore,
3
3
  useHovercardStoreProps
4
- } from "../__chunks/MA5WD4CD.js";
5
- import "../__chunks/XEZV3AK4.js";
6
- import "../__chunks/HCTAKPNS.js";
7
- import "../__chunks/E6GADH6Y.js";
4
+ } from "../__chunks/UQFOL5I6.js";
5
+ import "../__chunks/H2BG4QDT.js";
6
+ import "../__chunks/UY3UQ4QI.js";
7
+ import "../__chunks/A2ONBKVT.js";
8
8
  import "../__chunks/XXO3VVQU.js";
9
9
  import "../__chunks/J7Q2EO23.js";
10
10
  import "../__chunks/CP3U4HPL.js";
@@ -16,19 +16,25 @@ import type { HovercardStore } from "./hovercard-store.js";
16
16
  export declare const useHovercard: import("../utils/types.js").Hook<HovercardOptions<"div">>;
17
17
  /**
18
18
  * Renders a hovercard element, which is a popover that's usually made visible
19
- * by hovering the mouse cursor over an anchor element (`HovercardAnchor`).
19
+ * by hovering the mouse cursor over a
20
+ * [`HovercardAnchor`](https://ariakit.org/reference/hovercard-anchor).
20
21
  * @see https://ariakit.org/components/hovercard
21
22
  * @example
22
23
  * ```jsx
23
- * const hovercard = useHovercardStore();
24
- * <HovercardAnchor store={hovercard}>@username</HovercardAnchor>
25
- * <Hovercard store={hovercard}>Details</Hovercard>
24
+ * <HovercardProvider>
25
+ * <HovercardAnchor>@username</HovercardAnchor>
26
+ * <Hovercard>Details</Hovercard>
27
+ * </HovercardProvider>
26
28
  * ```
27
29
  */
28
30
  export declare const Hovercard: import("../utils/types.js").Component<HovercardOptions<"div">>;
29
31
  export interface HovercardOptions<T extends As = "div"> extends PopoverOptions<T> {
30
32
  /**
31
- * Object returned by the `useHovercardStore` hook.
33
+ * Object returned by the
34
+ * [`useHovercardStore`](https://ariakit.org/reference/use-hovercard-store)
35
+ * hook. If not provided, the closest
36
+ * [`HovercardProvider`](https://ariakit.org/reference/hovercard-provider)
37
+ * component's context will be used.
32
38
  */
33
39
  store?: HovercardStore;
34
40
  /**
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  Hovercard,
3
3
  useHovercard
4
- } from "../__chunks/YJPXO6F5.js";
4
+ } from "../__chunks/34JEM52B.js";
5
5
  import "../__chunks/X7FKJQME.js";
6
- import "../__chunks/RVGVDX6B.js";
7
- import "../__chunks/CJPLAYFB.js";
8
- import "../__chunks/NRLOAE2I.js";
6
+ import "../__chunks/GP4UGJIZ.js";
7
+ import "../__chunks/4RP654JS.js";
8
+ import "../__chunks/W575AF63.js";
9
9
  import "../__chunks/PLOINBVB.js";
10
10
  import "../__chunks/HAVCR65N.js";
11
11
  import "../__chunks/62DFK33R.js";
@@ -35,7 +35,7 @@ import "../__chunks/M4OAD5XF.js";
35
35
  import "../__chunks/BMLNRUFQ.js";
36
36
  import "../__chunks/6XXSNRNX.js";
37
37
  import "../__chunks/CFEUKV6C.js";
38
- import "../__chunks/E6GADH6Y.js";
38
+ import "../__chunks/A2ONBKVT.js";
39
39
  import "../__chunks/XXO3VVQU.js";
40
40
  import "../__chunks/J7Q2EO23.js";
41
41
  import "../__chunks/CP3U4HPL.js";
@@ -83,7 +83,9 @@ var useMenuButton = createHook(
83
83
  const parentIsMenuBar = !!parentMenuBar && !hasParentMenu;
84
84
  const disabled = props.disabled || props["aria-disabled"] === true || props["aria-disabled"] === "true";
85
85
  useEffect(() => {
86
- return sync(store, ["disclosureElement"], () => {
86
+ return sync(store, ["disclosureElement"], (state) => {
87
+ if (!state.disclosureElement)
88
+ return;
87
89
  store == null ? void 0 : store.setState("disclosureElement", ref.current);
88
90
  });
89
91
  }, [store]);
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  useMenuStore
3
- } from "../__chunks/6LKB3PXM.js";
3
+ } from "../__chunks/IFNQMENS.js";
4
4
  import {
5
5
  MenuContextProvider
6
6
  } from "../__chunks/2GC3IEM7.js";
@@ -14,10 +14,10 @@ import "../__chunks/547DFODS.js";
14
14
  import "../__chunks/5YYGDU4E.js";
15
15
  import "../__chunks/56KWVYDN.js";
16
16
  import "../__chunks/CFEUKV6C.js";
17
- import "../__chunks/MA5WD4CD.js";
18
- import "../__chunks/XEZV3AK4.js";
19
- import "../__chunks/HCTAKPNS.js";
20
- import "../__chunks/E6GADH6Y.js";
17
+ import "../__chunks/UQFOL5I6.js";
18
+ import "../__chunks/H2BG4QDT.js";
19
+ import "../__chunks/UY3UQ4QI.js";
20
+ import "../__chunks/A2ONBKVT.js";
21
21
  import "../__chunks/XXO3VVQU.js";
22
22
  import "../__chunks/J7Q2EO23.js";
23
23
  import "../__chunks/CP3U4HPL.js";
@@ -13,7 +13,7 @@ export declare function useMenuStoreProps<T extends Core.MenuStore>(store: T, up
13
13
  <K extends keyof import("@ariakit/core/combobox/combobox-store").ComboboxStoreState>(key: K): import("@ariakit/core/combobox/combobox-store").ComboboxStoreState[K];
14
14
  <V>(selector: (state: import("@ariakit/core/combobox/combobox-store").ComboboxStoreState) => V): V;
15
15
  };
16
- }) | undefined;
16
+ }) | null | undefined;
17
17
  parent: (MenuStoreFunctions<Core.MenuStoreValues> & Core.MenuStoreFunctions<Core.MenuStoreValues> & import("@ariakit/core/utils/store").Store<Core.MenuStoreState<Core.MenuStoreValues>> & {
18
18
  useState: {
19
19
  (): Core.MenuStoreState<Core.MenuStoreValues>;
@@ -24,7 +24,7 @@ export declare function useMenuStoreProps<T extends Core.MenuStore>(store: T, up
24
24
  [x: string]: string | number | boolean | (string | number)[];
25
25
  }> & import("@ariakit/core/utils/store").Store<Core.MenuStoreState<{
26
26
  [x: string]: string | number | boolean | (string | number)[];
27
- }>>) | undefined;
27
+ }>>) | null | undefined;
28
28
  menubar: (import("./menu-bar-store.js").MenuBarStoreFunctions & import("@ariakit/core/composite/composite-store").CompositeStoreFunctions<{
29
29
  id: string;
30
30
  element?: HTMLElement | null | undefined;
@@ -73,7 +73,7 @@ export declare function useMenuStoreProps<T extends Core.MenuStore>(store: T, up
73
73
  children?: string | undefined;
74
74
  }>) => V_2): V_2;
75
75
  };
76
- }) | undefined;
76
+ }) | null | undefined;
77
77
  };
78
78
  /**
79
79
  * Creates a menu store.
@@ -112,18 +112,18 @@ export interface MenuStoreOptions<T extends Values = Values> extends Core.MenuSt
112
112
  * Live examples:
113
113
  * - [Menu with Combobox](https://ariakit.org/examples/menu-combobox)
114
114
  */
115
- combobox?: ComboboxStore;
115
+ combobox?: ComboboxStore | null;
116
116
  /**
117
117
  * A reference to a parent menu store. It's automatically set when nesting
118
118
  * menus in the React tree. You should manually set this if menus aren't nested
119
119
  * in the React tree.
120
120
  */
121
- parent?: MenuStore;
121
+ parent?: MenuStore | null;
122
122
  /**
123
123
  * A reference to a menu bar store. It's automatically set when rendering
124
124
  * menus inside a menu bar in the React tree.
125
125
  */
126
- menubar?: MenuBarStore;
126
+ menubar?: MenuBarStore | null;
127
127
  }
128
128
  export type MenuStoreProps<T extends Values = Values> = MenuStoreOptions<T> & Core.MenuStoreProps<T>;
129
129
  export type MenuStore<T extends Values = Values> = MenuStoreFunctions<T> & Store<Core.MenuStore<T>>;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useMenuStore,
3
3
  useMenuStoreProps
4
- } from "../__chunks/6LKB3PXM.js";
4
+ } from "../__chunks/IFNQMENS.js";
5
5
  import "../__chunks/2GC3IEM7.js";
6
6
  import "../__chunks/QP4RN5UY.js";
7
7
  import "../__chunks/WGAKICTY.js";
@@ -13,10 +13,10 @@ import "../__chunks/547DFODS.js";
13
13
  import "../__chunks/5YYGDU4E.js";
14
14
  import "../__chunks/56KWVYDN.js";
15
15
  import "../__chunks/CFEUKV6C.js";
16
- import "../__chunks/MA5WD4CD.js";
17
- import "../__chunks/XEZV3AK4.js";
18
- import "../__chunks/HCTAKPNS.js";
19
- import "../__chunks/E6GADH6Y.js";
16
+ import "../__chunks/UQFOL5I6.js";
17
+ import "../__chunks/H2BG4QDT.js";
18
+ import "../__chunks/UY3UQ4QI.js";
19
+ import "../__chunks/A2ONBKVT.js";
20
20
  import "../__chunks/XXO3VVQU.js";
21
21
  import "../__chunks/J7Q2EO23.js";
22
22
  import "../__chunks/CP3U4HPL.js";
package/esm/menu/menu.js CHANGED
@@ -11,11 +11,11 @@ import "../__chunks/5C7J4IAS.js";
11
11
  import "../__chunks/74KKBFVP.js";
12
12
  import {
13
13
  useHovercard
14
- } from "../__chunks/YJPXO6F5.js";
14
+ } from "../__chunks/34JEM52B.js";
15
15
  import "../__chunks/X7FKJQME.js";
16
- import "../__chunks/RVGVDX6B.js";
17
- import "../__chunks/CJPLAYFB.js";
18
- import "../__chunks/NRLOAE2I.js";
16
+ import "../__chunks/GP4UGJIZ.js";
17
+ import "../__chunks/4RP654JS.js";
18
+ import "../__chunks/W575AF63.js";
19
19
  import "../__chunks/PLOINBVB.js";
20
20
  import "../__chunks/HAVCR65N.js";
21
21
  import "../__chunks/62DFK33R.js";
@@ -49,7 +49,7 @@ import {
49
49
  createElement,
50
50
  createHook
51
51
  } from "../__chunks/CFEUKV6C.js";
52
- import "../__chunks/E6GADH6Y.js";
52
+ import "../__chunks/A2ONBKVT.js";
53
53
  import "../__chunks/XXO3VVQU.js";
54
54
  import {
55
55
  useBooleanEvent,
@@ -6,9 +6,9 @@ import "../__chunks/56KWVYDN.js";
6
6
  import "../__chunks/CFEUKV6C.js";
7
7
  import {
8
8
  usePopoverStore
9
- } from "../__chunks/XEZV3AK4.js";
10
- import "../__chunks/HCTAKPNS.js";
11
- import "../__chunks/E6GADH6Y.js";
9
+ } from "../__chunks/H2BG4QDT.js";
10
+ import "../__chunks/UY3UQ4QI.js";
11
+ import "../__chunks/A2ONBKVT.js";
12
12
  import "../__chunks/XXO3VVQU.js";
13
13
  import "../__chunks/J7Q2EO23.js";
14
14
  import "../__chunks/CP3U4HPL.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  usePopoverStore,
3
3
  usePopoverStoreProps
4
- } from "../__chunks/XEZV3AK4.js";
5
- import "../__chunks/HCTAKPNS.js";
6
- import "../__chunks/E6GADH6Y.js";
4
+ } from "../__chunks/H2BG4QDT.js";
5
+ import "../__chunks/UY3UQ4QI.js";
6
+ import "../__chunks/A2ONBKVT.js";
7
7
  import "../__chunks/XXO3VVQU.js";
8
8
  import "../__chunks/J7Q2EO23.js";
9
9
  import "../__chunks/CP3U4HPL.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  Popover,
3
3
  usePopover
4
- } from "../__chunks/RVGVDX6B.js";
5
- import "../__chunks/CJPLAYFB.js";
6
- import "../__chunks/NRLOAE2I.js";
4
+ } from "../__chunks/GP4UGJIZ.js";
5
+ import "../__chunks/4RP654JS.js";
6
+ import "../__chunks/W575AF63.js";
7
7
  import "../__chunks/PLOINBVB.js";
8
8
  import "../__chunks/HAVCR65N.js";
9
9
  import "../__chunks/62DFK33R.js";
@@ -32,7 +32,7 @@ import "../__chunks/M4OAD5XF.js";
32
32
  import "../__chunks/BMLNRUFQ.js";
33
33
  import "../__chunks/6XXSNRNX.js";
34
34
  import "../__chunks/CFEUKV6C.js";
35
- import "../__chunks/E6GADH6Y.js";
35
+ import "../__chunks/A2ONBKVT.js";
36
36
  import "../__chunks/XXO3VVQU.js";
37
37
  import "../__chunks/J7Q2EO23.js";
38
38
  import "../__chunks/CP3U4HPL.js";