@ark-ui/react 1.0.0-beta.2 → 1.0.0-beta.4

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 (72) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/accordion/accordion-item-content.cjs +11 -2
  3. package/accordion/accordion-item-content.d.ts +1 -1
  4. package/accordion/accordion-item-content.mjs +11 -2
  5. package/carousel/carousel.stories.d.ts +2 -0
  6. package/color-picker/color-picker-content.cjs +10 -1
  7. package/color-picker/color-picker-content.d.ts +3 -1
  8. package/color-picker/color-picker-content.mjs +10 -1
  9. package/color-picker/color-picker.stories.d.ts +1 -0
  10. package/combobox/combobox-content.cjs +1 -1
  11. package/combobox/combobox-content.d.ts +1 -1
  12. package/combobox/combobox-content.mjs +1 -1
  13. package/date-picker/date-picker-content.cjs +10 -1
  14. package/date-picker/date-picker-content.d.ts +3 -1
  15. package/date-picker/date-picker-content.mjs +10 -1
  16. package/date-picker/date-picker.cjs +1 -1
  17. package/date-picker/date-picker.mjs +1 -1
  18. package/date-picker/date-picker.stories.d.ts +1 -0
  19. package/dialog/dialog-backdrop.cjs +1 -1
  20. package/dialog/dialog-backdrop.d.ts +1 -1
  21. package/dialog/dialog-backdrop.mjs +1 -1
  22. package/dialog/dialog-content.cjs +1 -1
  23. package/dialog/dialog-content.d.ts +1 -1
  24. package/dialog/dialog-content.mjs +1 -1
  25. package/hover-card/hover-card-content.cjs +1 -1
  26. package/hover-card/hover-card-content.d.ts +1 -1
  27. package/hover-card/hover-card-content.mjs +1 -1
  28. package/index.cjs +2 -2
  29. package/index.mjs +1 -1
  30. package/menu/index.d.ts +1 -1
  31. package/menu/menu-content.cjs +1 -1
  32. package/menu/menu-content.d.ts +1 -1
  33. package/menu/menu-content.mjs +1 -1
  34. package/menu/menu-item-group-label.cjs +1 -1
  35. package/menu/menu-item-group-label.d.ts +3 -3
  36. package/menu/menu-item-group-label.mjs +1 -1
  37. package/menu/menu.stories.d.ts +4 -1
  38. package/number-input/number-input.stories.d.ts +6 -1
  39. package/package.json +48 -48
  40. package/pin-input/pin-input.stories.d.ts +5 -0
  41. package/popover/popover-content.cjs +1 -1
  42. package/popover/popover-content.d.ts +1 -1
  43. package/popover/popover-content.mjs +1 -1
  44. package/popover/popover.stories.d.ts +4 -1
  45. package/presence/index.d.ts +2 -2
  46. package/presence/presence.cjs +2 -2
  47. package/presence/presence.d.ts +5 -1
  48. package/presence/presence.mjs +2 -2
  49. package/presence/split-presence-props.d.ts +1 -1
  50. package/radio-group/radio-group.stories.d.ts +3 -0
  51. package/rating-group/rating-group.stories.d.ts +6 -0
  52. package/segment-group/segment-group.stories.d.ts +3 -0
  53. package/select/select-content.cjs +1 -1
  54. package/select/select-content.d.ts +1 -1
  55. package/select/select-content.mjs +1 -1
  56. package/select/select-control.cjs +4 -1
  57. package/select/select-control.mjs +5 -2
  58. package/select/select.stories.d.ts +1 -1
  59. package/slider/index.cjs +4 -4
  60. package/slider/index.d.ts +4 -4
  61. package/slider/index.mjs +4 -4
  62. package/slider/{slider-output.cjs → slider-value-text.cjs} +5 -5
  63. package/slider/{slider-output.d.ts → slider-value-text.d.ts} +2 -2
  64. package/slider/{slider-output.mjs → slider-value-text.mjs} +5 -5
  65. package/slider/slider.stories.d.ts +9 -2
  66. package/tabs/tab-content.d.ts +1 -1
  67. package/tags-input/tags-input.stories.d.ts +6 -0
  68. package/toast/toast.stories.d.ts +2 -0
  69. package/toggle-group/toggle-group.stories.d.ts +1 -1
  70. package/tooltip/tooltip-content.cjs +1 -1
  71. package/tooltip/tooltip-content.d.ts +1 -1
  72. package/tooltip/tooltip-content.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,11 +1,27 @@
1
1
  ---
2
2
  id: changelog
3
3
  name: Changelog
4
- description: All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to and this project adheres to Semantic Versioning.
4
+ description: All notable changes to this project will be documented in this file.
5
5
  ---
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.0.0-beta.4] - 2023-10-31
10
+
11
+ ### Fixed
12
+
13
+ - Resolved an accessibility issue with `Select`
14
+
15
+ ## [1.0.0-beta.3] - 2023-10-26
16
+
17
+ ### Added
18
+
19
+ - Added support to lazy mount the `DatePicker` and `ColorPicker` components using the `Presence` component
20
+
21
+ ### Changed
22
+
23
+ - Improved accessibility of all disclosure components when lazy mounting is enabled.
24
+
9
25
  ## [1.0.0-beta.2] - 2023-10-25
10
26
 
11
27
  ### Added
@@ -183,7 +199,7 @@ import { anatomy } from '@ark-ui/anatomy/accordion'
183
199
 
184
200
  ### Added
185
201
 
186
- - Support for standalone component imports: Developers can now import individual components, such as `@ark-ui/react/tabs` instead of the full `@ark-ui/react` package. This is a significant feature for those working with bundlers that do not support tree-shaking. By allowing imports of individual components, we ensure a reduced bundle size when the full package import is not necessary.
202
+ - Support for standalone component imports: Developers can now import individual components, such as `@ark-ui/react/src/srctabs` instead of the full `@ark-ui/react` package. This is a significant feature for those working with bundlers that do not support tree-shaking. By allowing imports of individual components, we ensure a reduced bundle size when the full package import is not necessary.
187
203
 
188
204
  ## [0.7.0] - 2023-06-23
189
205
 
@@ -15,8 +15,17 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
15
15
  const AccordionItemContent = react.forwardRef(
16
16
  function AccordionItemContent2(props, ref) {
17
17
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
18
- const api = accordionItemContext.useAccordionItemContext();
19
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(AccordionInnerContent, { ref, ...localProps }) });
18
+ const api = accordionContext.useAccordionContext();
19
+ const item = accordionItemContext.useAccordionItemContext();
20
+ return /* @__PURE__ */ jsxRuntime.jsx(
21
+ index.Presence,
22
+ {
23
+ present: item.isOpen,
24
+ ...presenceProps,
25
+ fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.getItemContentProps(item) }),
26
+ children: /* @__PURE__ */ jsxRuntime.jsx(AccordionInnerContent, { ref, ...localProps })
27
+ }
28
+ );
20
29
  }
21
30
  );
22
31
  const AccordionInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface AccordionItemContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface AccordionItemContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const AccordionItemContent: ForwardRefExoticComponent<AccordionItemContentProps & RefAttributes<HTMLDivElement>>;
@@ -11,8 +11,17 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
11
11
  const AccordionItemContent = forwardRef(
12
12
  function AccordionItemContent2(props, ref) {
13
13
  const [presenceProps, localProps] = splitPresenceProps(props);
14
- const api = useAccordionItemContext();
15
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(AccordionInnerContent, { ref, ...localProps }) });
14
+ const api = useAccordionContext();
15
+ const item = useAccordionItemContext();
16
+ return /* @__PURE__ */ jsx(
17
+ Presence,
18
+ {
19
+ present: item.isOpen,
20
+ ...presenceProps,
21
+ fallback: /* @__PURE__ */ jsx("div", { ...api.getItemContentProps(item) }),
22
+ children: /* @__PURE__ */ jsx(AccordionInnerContent, { ref, ...localProps })
23
+ }
24
+ );
16
25
  }
17
26
  );
18
27
  const AccordionInnerContent = forwardRef(
@@ -5,3 +5,5 @@ type CarouselType = typeof Carousel;
5
5
  declare const meta: Meta<CarouselType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Controlled: () => JSX.Element;
9
+ export declare const Customized: () => JSX.Element;
@@ -7,15 +7,24 @@ 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 index = require('../presence/index.cjs');
10
11
  const colorPickerContext = require('./color-picker-context.cjs');
12
+ const splitPresenceProps = require('../presence/split-presence-props.cjs');
11
13
 
12
14
  const ColorPickerContent = react.forwardRef(
13
15
  (props, ref) => {
16
+ const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
17
+ const api = colorPickerContext.useColorPickerContext();
18
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(ColorPickerInnerContent, { ref, ...localProps }) });
19
+ }
20
+ );
21
+ ColorPickerContent.displayName = "ColorPickerContent";
22
+ const ColorPickerInnerContent = react.forwardRef(
23
+ function ColorPickerInnerContent2(props, ref) {
14
24
  const api = colorPickerContext.useColorPickerContext();
15
25
  const mergedProps = react$1.mergeProps(api.contentProps, props);
16
26
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
17
27
  }
18
28
  );
19
- ColorPickerContent.displayName = "ColorPickerContent";
20
29
 
21
30
  exports.ColorPickerContent = ColorPickerContent;
@@ -1,6 +1,8 @@
1
1
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type HTMLArkProps } from '../factory';
4
- export interface ColorPickerContentProps extends HTMLArkProps<'div'> {
4
+ import { type PresenceProps } from '../presence';
5
+ import type { Assign } from '../types';
6
+ export interface ColorPickerContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
5
7
  }
6
8
  export declare const ColorPickerContent: ForwardRefExoticComponent<ColorPickerContentProps & RefAttributes<HTMLDivElement>>;
@@ -3,15 +3,24 @@ 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 { Presence } from '../presence/index.mjs';
6
7
  import { useColorPickerContext } from './color-picker-context.mjs';
8
+ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
7
9
 
8
10
  const ColorPickerContent = forwardRef(
9
11
  (props, ref) => {
12
+ const [presenceProps, localProps] = splitPresenceProps(props);
13
+ const api = useColorPickerContext();
14
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(ColorPickerInnerContent, { ref, ...localProps }) });
15
+ }
16
+ );
17
+ ColorPickerContent.displayName = "ColorPickerContent";
18
+ const ColorPickerInnerContent = forwardRef(
19
+ function ColorPickerInnerContent2(props, ref) {
10
20
  const api = useColorPickerContext();
11
21
  const mergedProps = mergeProps(api.contentProps, props);
12
22
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
13
23
  }
14
24
  );
15
- ColorPickerContent.displayName = "ColorPickerContent";
16
25
 
17
26
  export { ColorPickerContent };
@@ -5,3 +5,4 @@ type ColorPickerType = typeof ColorPicker;
5
5
  declare const meta: Meta<ColorPickerType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Controlled: () => JSX.Element;
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const ComboboxContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = comboboxContext.useComboboxContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(ComboboxInnerContent, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(ComboboxInnerContent, { ref, ...localProps }) });
18
18
  });
19
19
  ComboboxContent.displayName = "ComboboxContent";
20
20
  const ComboboxInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface ComboboxContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface ComboboxContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const ComboboxContent: ForwardRefExoticComponent<ComboboxContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const ComboboxContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = useComboboxContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(ComboboxInnerContent, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(ComboboxInnerContent, { ref, ...localProps }) });
14
14
  });
15
15
  ComboboxContent.displayName = "ComboboxContent";
16
16
  const ComboboxInnerContent = forwardRef(
@@ -7,15 +7,24 @@ 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 index = require('../presence/index.cjs');
10
11
  const datePickerContext = require('./date-picker-context.cjs');
12
+ const splitPresenceProps = require('../presence/split-presence-props.cjs');
11
13
 
12
14
  const DatePickerContent = react.forwardRef(
13
15
  (props, ref) => {
16
+ const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
17
+ const api = datePickerContext.useDatePickerContext();
18
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(DatePickerInnerContent, { ref, ...localProps }) });
19
+ }
20
+ );
21
+ DatePickerContent.displayName = "DatePickerContent";
22
+ const DatePickerInnerContent = react.forwardRef(
23
+ function DatePickerInnerContent2(props, ref) {
14
24
  const api = datePickerContext.useDatePickerContext();
15
25
  const mergedProps = react$1.mergeProps(api.contentProps, props);
16
26
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
17
27
  }
18
28
  );
19
- DatePickerContent.displayName = "DatePickerContent";
20
29
 
21
30
  exports.DatePickerContent = DatePickerContent;
@@ -1,6 +1,8 @@
1
1
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type HTMLArkProps } from '../factory';
4
- export interface DatePickerContentProps extends HTMLArkProps<'div'> {
4
+ import { type PresenceProps } from '../presence';
5
+ import type { Assign } from '../types';
6
+ export interface DatePickerContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
5
7
  }
6
8
  export declare const DatePickerContent: ForwardRefExoticComponent<DatePickerContentProps & RefAttributes<HTMLDivElement>>;
@@ -3,15 +3,24 @@ 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 { Presence } from '../presence/index.mjs';
6
7
  import { useDatePickerContext } from './date-picker-context.mjs';
8
+ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
7
9
 
8
10
  const DatePickerContent = forwardRef(
9
11
  (props, ref) => {
12
+ const [presenceProps, localProps] = splitPresenceProps(props);
13
+ const api = useDatePickerContext();
14
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(DatePickerInnerContent, { ref, ...localProps }) });
15
+ }
16
+ );
17
+ DatePickerContent.displayName = "DatePickerContent";
18
+ const DatePickerInnerContent = forwardRef(
19
+ function DatePickerInnerContent2(props, ref) {
10
20
  const api = useDatePickerContext();
11
21
  const mergedProps = mergeProps(api.contentProps, props);
12
22
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
13
23
  }
14
24
  );
15
- DatePickerContent.displayName = "DatePickerContent";
16
25
 
17
26
  export { DatePickerContent };
@@ -16,6 +16,7 @@ const DatePicker = react.forwardRef((props, ref) => {
16
16
  const [datePickerProps, { children, ...localProps }] = createSplitProps.createSplitProps()(
17
17
  props,
18
18
  [
19
+ "closeOnSelect",
19
20
  "defaultValue",
20
21
  "dir",
21
22
  "disabled",
@@ -25,7 +26,6 @@ const DatePicker = react.forwardRef((props, ref) => {
25
26
  "getRootNode",
26
27
  "id",
27
28
  "ids",
28
- "inline",
29
29
  "isDateUnavailable",
30
30
  "isDateUnavailable",
31
31
  "locale",
@@ -12,6 +12,7 @@ const DatePicker = forwardRef((props, ref) => {
12
12
  const [datePickerProps, { children, ...localProps }] = createSplitProps()(
13
13
  props,
14
14
  [
15
+ "closeOnSelect",
15
16
  "defaultValue",
16
17
  "dir",
17
18
  "disabled",
@@ -21,7 +22,6 @@ const DatePicker = forwardRef((props, ref) => {
21
22
  "getRootNode",
22
23
  "id",
23
24
  "ids",
24
- "inline",
25
25
  "isDateUnavailable",
26
26
  "isDateUnavailable",
27
27
  "locale",
@@ -5,3 +5,4 @@ type DatePickerType = typeof DatePicker;
5
5
  declare const meta: Meta<DatePickerType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const RangeWithSingleGrid: () => JSX.Element;
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const DialogBackdrop = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = dialogContext.useDialogContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(DialogInnerBackdrop, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.backdropProps }), children: /* @__PURE__ */ jsxRuntime.jsx(DialogInnerBackdrop, { ref, ...localProps }) });
18
18
  });
19
19
  DialogBackdrop.displayName = "DialogBackdrop";
20
20
  const DialogInnerBackdrop = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface DialogBackdropProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface DialogBackdropProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const DialogBackdrop: ForwardRefExoticComponent<DialogBackdropProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const DialogBackdrop = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = useDialogContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(DialogInnerBackdrop, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.backdropProps }), children: /* @__PURE__ */ jsx(DialogInnerBackdrop, { ref, ...localProps }) });
14
14
  });
15
15
  DialogBackdrop.displayName = "DialogBackdrop";
16
16
  const DialogInnerBackdrop = forwardRef(
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const DialogContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = dialogContext.useDialogContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(DialogInnerContent, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(DialogInnerContent, { ref, ...localProps }) });
18
18
  });
19
19
  DialogContent.displayName = "DialogContent";
20
20
  const DialogInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface DialogContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface DialogContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const DialogContent: ForwardRefExoticComponent<DialogContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const DialogContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = useDialogContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(DialogInnerContent, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(DialogInnerContent, { ref, ...localProps }) });
14
14
  });
15
15
  DialogContent.displayName = "DialogContent";
16
16
  const DialogInnerContent = forwardRef(
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const HoverCardContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = hoverCardContext.useHoverCardContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(HoverCardInnerContent, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(HoverCardInnerContent, { ref, ...localProps }) });
18
18
  });
19
19
  HoverCardContent.displayName = "HoverCardContent";
20
20
  const HoverCardInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface HoverCardContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface HoverCardContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const HoverCardContent: ForwardRefExoticComponent<HoverCardContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const HoverCardContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = useHoverCardContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(HoverCardInnerContent, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(HoverCardInnerContent, { ref, ...localProps }) });
14
14
  });
15
15
  HoverCardContent.displayName = "HoverCardContent";
16
16
  const HoverCardInnerContent = forwardRef(
package/index.cjs CHANGED
@@ -217,10 +217,10 @@ const sliderControl = require('./slider/slider-control.cjs');
217
217
  const sliderLabel = require('./slider/slider-label.cjs');
218
218
  const sliderMarker = require('./slider/slider-marker.cjs');
219
219
  const sliderMarkerGroup = require('./slider/slider-marker-group.cjs');
220
- const sliderOutput = require('./slider/slider-output.cjs');
221
220
  const sliderRange = require('./slider/slider-range.cjs');
222
221
  const sliderThumb = require('./slider/slider-thumb.cjs');
223
222
  const sliderTrack = require('./slider/slider-track.cjs');
223
+ const sliderValueText = require('./slider/slider-value-text.cjs');
224
224
  const sliderContext = require('./slider/slider-context.cjs');
225
225
  const splitterPanel = require('./splitter/splitter-panel.cjs');
226
226
  const splitterResizeTrigger = require('./splitter/splitter-resize-trigger.cjs');
@@ -475,10 +475,10 @@ exports.SliderControl = sliderControl.SliderControl;
475
475
  exports.SliderLabel = sliderLabel.SliderLabel;
476
476
  exports.SliderMarker = sliderMarker.SliderMarker;
477
477
  exports.SliderMarkerGroup = sliderMarkerGroup.SliderMarkerGroup;
478
- exports.SliderOutput = sliderOutput.SliderOutput;
479
478
  exports.SliderRange = sliderRange.SliderRange;
480
479
  exports.SliderThumb = sliderThumb.SliderThumb;
481
480
  exports.SliderTrack = sliderTrack.SliderTrack;
481
+ exports.SliderValueText = sliderValueText.SliderValueText;
482
482
  exports.useSliderContext = sliderContext.useSliderContext;
483
483
  exports.SplitterPanel = splitterPanel.SplitterPanel;
484
484
  exports.SplitterResizeTrigger = splitterResizeTrigger.SplitterResizeTrigger;
package/index.mjs CHANGED
@@ -213,10 +213,10 @@ export { SliderControl } from './slider/slider-control.mjs';
213
213
  export { SliderLabel } from './slider/slider-label.mjs';
214
214
  export { SliderMarker } from './slider/slider-marker.mjs';
215
215
  export { SliderMarkerGroup } from './slider/slider-marker-group.mjs';
216
- export { SliderOutput } from './slider/slider-output.mjs';
217
216
  export { SliderRange } from './slider/slider-range.mjs';
218
217
  export { SliderThumb } from './slider/slider-thumb.mjs';
219
218
  export { SliderTrack } from './slider/slider-track.mjs';
219
+ export { SliderValueText } from './slider/slider-value-text.mjs';
220
220
  export { useSliderContext } from './slider/slider-context.mjs';
221
221
  export { SplitterPanel } from './splitter/splitter-panel.mjs';
222
222
  export { SplitterResizeTrigger } from './splitter/splitter-resize-trigger.mjs';
package/menu/index.d.ts CHANGED
@@ -23,7 +23,7 @@ declare const Menu: ((props: MenuProps) => JSX.Element) & {
23
23
  ContextTrigger: ForwardRefExoticComponent<MenuContextTriggerProps & RefAttributes<HTMLButtonElement>>;
24
24
  Item: ForwardRefExoticComponent<MenuItemProps & RefAttributes<HTMLDivElement>>;
25
25
  ItemGroup: ForwardRefExoticComponent<MenuItemGroupProps & RefAttributes<HTMLDivElement>>;
26
- ItemGroupLabel: ForwardRefExoticComponent<MenuItemGroupLabelProps & RefAttributes<HTMLLabelElement>>;
26
+ ItemGroupLabel: ForwardRefExoticComponent<MenuItemGroupLabelProps & RefAttributes<HTMLDivElement>>;
27
27
  OptionItem: ForwardRefExoticComponent<MenuOptionItemProps & RefAttributes<HTMLDivElement>>;
28
28
  Positioner: ForwardRefExoticComponent<MenuPositionerProps & RefAttributes<HTMLDivElement>>;
29
29
  Separator: ForwardRefExoticComponent<MenuSeparatorProps & RefAttributes<HTMLHRElement>>;
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const MenuContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = menuContext.useMenuContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api?.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(MenuInnerContent, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api?.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(MenuInnerContent, { ref, ...localProps }) });
18
18
  });
19
19
  MenuContent.displayName = "MenuContent";
20
20
  const MenuInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface MenuContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface MenuContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const MenuContent: ForwardRefExoticComponent<MenuContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const MenuContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = useMenuContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api?.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(MenuInnerContent, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api?.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(MenuInnerContent, { ref, ...localProps }) });
14
14
  });
15
15
  MenuContent.displayName = "MenuContent";
16
16
  const MenuInnerContent = forwardRef(
@@ -15,7 +15,7 @@ const MenuItemGroupLabel = react.forwardRef(
15
15
  const [labelProps, htmlProps] = createSplitProps.createSplitProps()(props, ["htmlFor"]);
16
16
  const api = menuContext.useMenuContext();
17
17
  const mergedProps = react$1.mergeProps(api?.getItemGroupLabelProps(labelProps) ?? {}, htmlProps);
18
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.label, { ...mergedProps, ref });
18
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
19
19
  }
20
20
  );
21
21
  MenuItemGroupLabel.displayName = "MenuItemGroupLabel";
@@ -2,10 +2,10 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type Assign } from '../types';
5
- interface MenuItemGroupLabelParams {
5
+ interface ItemGroupLabelProps {
6
6
  htmlFor: string;
7
7
  }
8
- export interface MenuItemGroupLabelProps extends Assign<HTMLArkProps<'label'>, MenuItemGroupLabelParams> {
8
+ export interface MenuItemGroupLabelProps extends Assign<HTMLArkProps<'div'>, ItemGroupLabelProps> {
9
9
  }
10
- export declare const MenuItemGroupLabel: ForwardRefExoticComponent<MenuItemGroupLabelProps & RefAttributes<HTMLLabelElement>>;
10
+ export declare const MenuItemGroupLabel: ForwardRefExoticComponent<MenuItemGroupLabelProps & RefAttributes<HTMLDivElement>>;
11
11
  export {};
@@ -11,7 +11,7 @@ const MenuItemGroupLabel = forwardRef(
11
11
  const [labelProps, htmlProps] = createSplitProps()(props, ["htmlFor"]);
12
12
  const api = useMenuContext();
13
13
  const mergedProps = mergeProps(api?.getItemGroupLabelProps(labelProps) ?? {}, htmlProps);
14
- return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });
14
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
15
15
  }
16
16
  );
17
17
  MenuItemGroupLabel.displayName = "MenuItemGroupLabel";
@@ -5,7 +5,10 @@ type MenuType = typeof Menu;
5
5
  declare const meta: Meta<MenuType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Controlled: () => JSX.Element;
8
9
  export declare const Group: () => JSX.Element;
9
- export declare const Options: () => JSX.Element;
10
+ export declare const Separator: () => JSX.Element;
11
+ export declare const ContextMenu: () => JSX.Element;
10
12
  export declare const SubMenu: () => JSX.Element;
13
+ export declare const Options: () => JSX.Element;
11
14
  export declare const ComplexSubMenu: () => JSX.Element;
@@ -5,5 +5,10 @@ type NumberInputType = typeof NumberInput.Root;
5
5
  declare const meta: Meta<NumberInputType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
- export declare const MouseWheel: () => JSX.Element;
8
+ export declare const MinMax: () => JSX.Element;
9
9
  export declare const FractionDigits: () => JSX.Element;
10
+ export declare const Scrubber: () => JSX.Element;
11
+ export declare const MouseWheel: () => JSX.Element;
12
+ export declare const NoClamp: () => JSX.Element;
13
+ export declare const FormUsage: () => JSX.Element;
14
+ export declare const Formatted: () => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ark-ui/react",
3
- "version": "1.0.0-beta.2",
3
+ "version": "1.0.0-beta.4",
4
4
  "description": "A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.",
5
5
  "keywords": [
6
6
  "accordion",
@@ -60,74 +60,74 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "@ark-ui/anatomy": "1.0.0-beta.1",
63
- "@zag-js/accordion": "0.26.0",
64
- "@zag-js/anatomy": "0.26.0",
65
- "@zag-js/avatar": "0.26.0",
66
- "@zag-js/carousel": "0.26.0",
67
- "@zag-js/checkbox": "0.26.0",
68
- "@zag-js/color-picker": "0.26.0",
69
- "@zag-js/color-utils": "0.26.0",
70
- "@zag-js/combobox": "0.26.0",
71
- "@zag-js/core": "0.26.0",
72
- "@zag-js/date-picker": "0.26.0",
73
- "@zag-js/date-utils": "0.26.0",
74
- "@zag-js/dialog": "0.26.0",
75
- "@zag-js/editable": "0.26.0",
76
- "@zag-js/hover-card": "0.26.0",
77
- "@zag-js/menu": "0.26.0",
78
- "@zag-js/number-input": "0.26.0",
79
- "@zag-js/pagination": "0.26.0",
80
- "@zag-js/pin-input": "0.26.0",
81
- "@zag-js/popover": "0.26.0",
82
- "@zag-js/presence": "0.26.0",
83
- "@zag-js/radio-group": "0.26.0",
84
- "@zag-js/rating-group": "0.26.0",
85
- "@zag-js/react": "0.26.0",
86
- "@zag-js/select": "0.26.0",
87
- "@zag-js/slider": "0.26.0",
88
- "@zag-js/splitter": "0.26.0",
89
- "@zag-js/switch": "0.26.0",
90
- "@zag-js/tabs": "0.26.0",
91
- "@zag-js/tags-input": "0.26.0",
92
- "@zag-js/toast": "0.26.0",
93
- "@zag-js/toggle-group": "0.26.0",
94
- "@zag-js/tooltip": "0.26.0",
95
- "@zag-js/types": "0.26.0"
63
+ "@zag-js/accordion": "0.27.1",
64
+ "@zag-js/anatomy": "0.27.1",
65
+ "@zag-js/avatar": "0.27.1",
66
+ "@zag-js/carousel": "0.27.1",
67
+ "@zag-js/checkbox": "0.27.1",
68
+ "@zag-js/color-picker": "0.27.1",
69
+ "@zag-js/color-utils": "0.27.1",
70
+ "@zag-js/combobox": "0.27.1",
71
+ "@zag-js/core": "0.27.1",
72
+ "@zag-js/date-picker": "0.27.1",
73
+ "@zag-js/date-utils": "0.27.1",
74
+ "@zag-js/dialog": "0.27.1",
75
+ "@zag-js/editable": "0.27.1",
76
+ "@zag-js/hover-card": "0.27.1",
77
+ "@zag-js/menu": "0.27.1",
78
+ "@zag-js/number-input": "0.27.1",
79
+ "@zag-js/pagination": "0.27.1",
80
+ "@zag-js/pin-input": "0.27.1",
81
+ "@zag-js/popover": "0.27.1",
82
+ "@zag-js/presence": "0.27.1",
83
+ "@zag-js/radio-group": "0.27.1",
84
+ "@zag-js/rating-group": "0.27.1",
85
+ "@zag-js/react": "0.27.1",
86
+ "@zag-js/select": "0.27.1",
87
+ "@zag-js/slider": "0.27.1",
88
+ "@zag-js/splitter": "0.27.1",
89
+ "@zag-js/switch": "0.27.1",
90
+ "@zag-js/tabs": "0.27.1",
91
+ "@zag-js/tags-input": "0.27.1",
92
+ "@zag-js/toast": "0.27.1",
93
+ "@zag-js/toggle-group": "0.27.1",
94
+ "@zag-js/tooltip": "0.27.1",
95
+ "@zag-js/types": "0.27.1"
96
96
  },
97
97
  "devDependencies": {
98
98
  "@release-it/keep-a-changelog": "4.0.0",
99
- "@storybook/addon-a11y": "7.5.1",
100
- "@storybook/addon-essentials": "7.5.1",
101
- "@storybook/addons": "7.5.1",
102
- "@storybook/react": "7.5.1",
103
- "@storybook/react-vite": "7.5.1",
99
+ "@storybook/addon-a11y": "7.5.2",
100
+ "@storybook/addon-essentials": "7.5.2",
101
+ "@storybook/addons": "7.5.2",
102
+ "@storybook/react": "7.5.2",
103
+ "@storybook/react-vite": "7.5.2",
104
104
  "@testing-library/dom": "9.3.3",
105
105
  "@testing-library/jest-dom": "6.1.4",
106
106
  "@testing-library/react": "14.0.0",
107
107
  "@testing-library/user-event": "14.5.1",
108
108
  "@types/jsdom": "21.1.4",
109
- "@types/react": "18.2.28",
110
- "@types/react-dom": "18.2.13",
109
+ "@types/react": "18.2.33",
110
+ "@types/react-dom": "18.2.14",
111
111
  "@types/testing-library__jest-dom": "5.14.9",
112
- "@typescript-eslint/eslint-plugin": "6.8.0",
113
- "@typescript-eslint/parser": "6.8.0",
112
+ "@typescript-eslint/eslint-plugin": "6.9.1",
113
+ "@typescript-eslint/parser": "6.9.1",
114
114
  "@vitejs/plugin-react": "4.1.0",
115
115
  "@vitest/coverage-v8": "0.34.6",
116
- "eslint": "8.51.0",
116
+ "eslint": "8.52.0",
117
117
  "eslint-plugin-react": "7.33.2",
118
118
  "eslint-plugin-react-hooks": "4.6.0",
119
119
  "globby": "13.2.2",
120
120
  "jsdom": "22.1.0",
121
- "lucide-react": "0.288.0",
121
+ "lucide-react": "0.291.0",
122
122
  "react": "18.2.0",
123
123
  "react-dom": "18.2.0",
124
124
  "react-frame-component": "5.2.6",
125
125
  "release-it": "16.2.1",
126
126
  "resize-observer-polyfill": "1.5.1",
127
- "storybook": "7.5.1",
127
+ "storybook": "7.5.2",
128
128
  "typescript": "5.2.2",
129
- "vite": "4.4.11",
130
- "vite-plugin-dts": "3.6.0",
129
+ "vite": "4.5.0",
130
+ "vite-plugin-dts": "3.6.3",
131
131
  "vitest": "0.34.6"
132
132
  },
133
133
  "peerDependencies": {
@@ -5,3 +5,8 @@ type PinInputType = typeof PinInput;
5
5
  declare const meta: Meta<PinInputType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const InitialValue: () => JSX.Element;
9
+ export declare const Customized: () => JSX.Element;
10
+ export declare const Blurred: () => JSX.Element;
11
+ export declare const OTPMode: () => JSX.Element;
12
+ export declare const WithMask: () => JSX.Element;
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const PopoverContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = popoverContext.usePopoverContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(PopoverInnerContent, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(PopoverInnerContent, { ref, ...localProps }) });
18
18
  });
19
19
  PopoverContent.displayName = "PopoverContent";
20
20
  const PopoverInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface PopoverContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface PopoverContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const PopoverContent: ForwardRefExoticComponent<PopoverContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const PopoverContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = usePopoverContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(PopoverInnerContent, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(PopoverInnerContent, { ref, ...localProps }) });
14
14
  });
15
15
  PopoverContent.displayName = "PopoverContent";
16
16
  const PopoverInnerContent = forwardRef(
@@ -5,8 +5,11 @@ type PopoverType = typeof Popover;
5
5
  declare const meta: Meta<PopoverType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Portalled: () => JSX.Element;
9
+ export declare const OnOpenChange: () => JSX.Element;
8
10
  export declare const Controlled: () => JSX.Element;
9
11
  export declare const RenderFn: () => JSX.Element;
10
12
  export declare const Arrow: () => JSX.Element;
11
- export declare const Positioning: () => JSX.Element;
12
13
  export declare const CloseBehavior: () => JSX.Element;
14
+ export declare const Positioning: () => JSX.Element;
15
+ export declare const Modal: () => JSX.Element;
@@ -2,8 +2,8 @@ import { ReactElement, JSXElementConstructor } from 'react';
2
2
  /// <reference types="react" />
3
3
  import { type PresenceProps } from './presence';
4
4
  import { splitPresenceProps } from './split-presence-props';
5
- declare const Presence: ((props: PresenceProps) => ReactElement<any, string | JSXElementConstructor<any>> | null) & {
6
- Root: (props: PresenceProps) => ReactElement<any, string | JSXElementConstructor<any>> | null;
5
+ declare const Presence: ((props: PresenceProps) => ReactElement<any, string | JSXElementConstructor<any>> | undefined) & {
6
+ Root: (props: PresenceProps) => ReactElement<any, string | JSXElementConstructor<any>> | undefined;
7
7
  };
8
8
  export { Presence, splitPresenceProps };
9
9
  export type { PresenceProps };
@@ -9,14 +9,14 @@ const createSplitProps = require('../create-split-props.cjs');
9
9
  const usePresence = require('./use-presence.cjs');
10
10
 
11
11
  const Presence = (props) => {
12
- const [presenceProps, { children, lazyMount, unmountOnExit }] = createSplitProps.createSplitProps()(props, ["present", "onExitComplete"]);
12
+ const [presenceProps, { children, lazyMount, fallback, unmountOnExit }] = createSplitProps.createSplitProps()(props, ["present", "onExitComplete"]);
13
13
  const api = usePresence.usePresence(presenceProps);
14
14
  const wasEverPresent = react.useRef(false);
15
15
  if (api.isPresent) {
16
16
  wasEverPresent.current = true;
17
17
  }
18
18
  if (!api.isPresent && !wasEverPresent.current && lazyMount || unmountOnExit && !api.isPresent && wasEverPresent.current) {
19
- return null;
19
+ return fallback;
20
20
  }
21
21
  const onlyChild = react.Children.only(children);
22
22
  return react.cloneElement(onlyChild, {
@@ -15,5 +15,9 @@ export interface PresenceProps extends UsePresenceProps {
15
15
  * @default false
16
16
  */
17
17
  unmountOnExit?: boolean;
18
+ /**
19
+ * A fallback to render the component is not present.
20
+ */
21
+ fallback?: ReactElement;
18
22
  }
19
- export declare const Presence: (props: PresenceProps) => ReactElement<any, string | JSXElementConstructor<any>> | null;
23
+ export declare const Presence: (props: PresenceProps) => ReactElement<any, string | JSXElementConstructor<any>> | undefined;
@@ -5,14 +5,14 @@ import { createSplitProps } from '../create-split-props.mjs';
5
5
  import { usePresence } from './use-presence.mjs';
6
6
 
7
7
  const Presence = (props) => {
8
- const [presenceProps, { children, lazyMount, unmountOnExit }] = createSplitProps()(props, ["present", "onExitComplete"]);
8
+ const [presenceProps, { children, lazyMount, fallback, unmountOnExit }] = createSplitProps()(props, ["present", "onExitComplete"]);
9
9
  const api = usePresence(presenceProps);
10
10
  const wasEverPresent = useRef(false);
11
11
  if (api.isPresent) {
12
12
  wasEverPresent.current = true;
13
13
  }
14
14
  if (!api.isPresent && !wasEverPresent.current && lazyMount || unmountOnExit && !api.isPresent && wasEverPresent.current) {
15
- return null;
15
+ return fallback;
16
16
  }
17
17
  const onlyChild = Children.only(children);
18
18
  return cloneElement(onlyChild, {
@@ -1,2 +1,2 @@
1
1
  import type { PresenceProps } from './presence';
2
- export declare function splitPresenceProps<T>(props: T & Omit<PresenceProps, 'children'>): [Omit<PresenceProps, "children">, Omit<T & Omit<PresenceProps, "children">, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">];
2
+ export declare function splitPresenceProps<T>(props: T & Omit<PresenceProps, 'children'>): [Omit<PresenceProps, "children" | "fallback">, Omit<T & Omit<PresenceProps, "children">, "present" | "onExitComplete" | "lazyMount" | "unmountOnExit">];
@@ -5,3 +5,6 @@ type RadioGroupType = typeof RadioGroup;
5
5
  declare const meta: Meta<RadioGroupType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Disabled: () => JSX.Element;
9
+ export declare const InitialValue: () => JSX.Element;
10
+ export declare const OnChange: () => JSX.Element;
@@ -5,3 +5,9 @@ type RatingGroupType = typeof RatingGroup;
5
5
  declare const meta: Meta<RatingGroupType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const HalfRatings: () => JSX.Element;
9
+ export declare const InitialValue: () => JSX.Element;
10
+ export declare const Controlled: () => JSX.Element;
11
+ export declare const Disabled: () => JSX.Element;
12
+ export declare const ReadOnly: () => JSX.Element;
13
+ export declare const FormUsage: () => JSX.Element;
@@ -5,3 +5,6 @@ type SegmentGroupType = typeof SegmentGroup;
5
5
  declare const meta: Meta<SegmentGroupType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const InitialValue: () => JSX.Element;
9
+ export declare const Controlled: () => JSX.Element;
10
+ export declare const Disabled: () => JSX.Element;
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const SelectContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, localProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = selectContext.useSelectContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(SelectInnerContent, { ref, ...localProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(SelectInnerContent, { ref, ...localProps }) });
18
18
  });
19
19
  SelectContent.displayName = "SelectContent";
20
20
  const SelectInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface SelectContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface SelectContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const SelectContent: ForwardRefExoticComponent<SelectContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const SelectContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, localProps] = splitPresenceProps(props);
12
12
  const api = useSelectContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(SelectInnerContent, { ref, ...localProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(SelectInnerContent, { ref, ...localProps }) });
14
14
  });
15
15
  SelectContent.displayName = "SelectContent";
16
16
  const SelectInnerContent = forwardRef(
@@ -12,7 +12,10 @@ const selectContext = require('./select-context.cjs');
12
12
  const SelectControl = react.forwardRef((props, ref) => {
13
13
  const api = selectContext.useSelectContext();
14
14
  const mergedProps = react$1.mergeProps(api.controlProps, props);
15
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
15
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
16
+ /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }),
17
+ /* @__PURE__ */ jsxRuntime.jsx("select", { ...api.hiddenSelectProps, children: api.collection.toArray().map((option) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: option.value, children: option.label }, option.value)) })
18
+ ] });
16
19
  });
17
20
  SelectControl.displayName = "SelectControl";
18
21
 
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsx } from 'react/jsx-runtime';
2
+ import { jsxs, Fragment, 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';
@@ -8,7 +8,10 @@ import { useSelectContext } from './select-context.mjs';
8
8
  const SelectControl = forwardRef((props, ref) => {
9
9
  const api = useSelectContext();
10
10
  const mergedProps = mergeProps(api.controlProps, props);
11
- return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
11
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
12
+ /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }),
13
+ /* @__PURE__ */ jsx("select", { ...api.hiddenSelectProps, children: api.collection.toArray().map((option) => /* @__PURE__ */ jsx("option", { value: option.value, children: option.label }, option.value)) })
14
+ ] });
12
15
  });
13
16
  SelectControl.displayName = "SelectControl";
14
17
 
@@ -6,5 +6,5 @@ declare const meta: Meta<SelectType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
8
  export declare const Advanced: () => JSX.Element;
9
- export declare const Controlled: () => JSX.Element;
10
9
  export declare const Multiple: () => JSX.Element;
10
+ export declare const Controlled: () => JSX.Element;
package/slider/index.cjs CHANGED
@@ -9,10 +9,10 @@ const sliderControl = require('./slider-control.cjs');
9
9
  const sliderLabel = require('./slider-label.cjs');
10
10
  const sliderMarker = require('./slider-marker.cjs');
11
11
  const sliderMarkerGroup = require('./slider-marker-group.cjs');
12
- const sliderOutput = require('./slider-output.cjs');
13
12
  const sliderRange = require('./slider-range.cjs');
14
13
  const sliderThumb = require('./slider-thumb.cjs');
15
14
  const sliderTrack = require('./slider-track.cjs');
15
+ const sliderValueText = require('./slider-value-text.cjs');
16
16
 
17
17
  const Slider = Object.assign(slider.Slider, {
18
18
  Root: slider.Slider,
@@ -20,10 +20,10 @@ const Slider = Object.assign(slider.Slider, {
20
20
  Label: sliderLabel.SliderLabel,
21
21
  Marker: sliderMarker.SliderMarker,
22
22
  MarkerGroup: sliderMarkerGroup.SliderMarkerGroup,
23
- Output: sliderOutput.SliderOutput,
24
23
  Range: sliderRange.SliderRange,
25
24
  Thumb: sliderThumb.SliderThumb,
26
- Track: sliderTrack.SliderTrack
25
+ Track: sliderTrack.SliderTrack,
26
+ ValueText: sliderValueText.SliderValueText
27
27
  });
28
28
 
29
29
  exports.useSliderContext = sliderContext.useSliderContext;
@@ -31,8 +31,8 @@ exports.SliderControl = sliderControl.SliderControl;
31
31
  exports.SliderLabel = sliderLabel.SliderLabel;
32
32
  exports.SliderMarker = sliderMarker.SliderMarker;
33
33
  exports.SliderMarkerGroup = sliderMarkerGroup.SliderMarkerGroup;
34
- exports.SliderOutput = sliderOutput.SliderOutput;
35
34
  exports.SliderRange = sliderRange.SliderRange;
36
35
  exports.SliderThumb = sliderThumb.SliderThumb;
37
36
  exports.SliderTrack = sliderTrack.SliderTrack;
37
+ exports.SliderValueText = sliderValueText.SliderValueText;
38
38
  exports.Slider = Slider;
package/slider/index.d.ts CHANGED
@@ -6,20 +6,20 @@ import { SliderControl, type SliderControlProps } from './slider-control';
6
6
  import { SliderLabel, type SliderLabelProps } from './slider-label';
7
7
  import { SliderMarker, type SliderMarkerProps } from './slider-marker';
8
8
  import { SliderMarkerGroup, type SliderMarkerGroupProps } from './slider-marker-group';
9
- import { SliderOutput, type SliderOutputProps } from './slider-output';
10
9
  import { SliderRange, type SliderRangeProps } from './slider-range';
11
10
  import { SliderThumb, type SliderThumbProps } from './slider-thumb';
12
11
  import { SliderTrack, type SliderTrackProps } from './slider-track';
12
+ import { SliderValueText, type SliderValueTextProps } from './slider-value-text';
13
13
  declare const Slider: ForwardRefExoticComponent<SliderProps & RefAttributes<HTMLDivElement>> & {
14
14
  Root: ForwardRefExoticComponent<SliderProps & RefAttributes<HTMLDivElement>>;
15
15
  Control: ForwardRefExoticComponent<SliderControlProps & RefAttributes<HTMLDivElement>>;
16
16
  Label: ForwardRefExoticComponent<SliderLabelProps & RefAttributes<HTMLLabelElement>>;
17
17
  Marker: ForwardRefExoticComponent<SliderMarkerProps & RefAttributes<HTMLSpanElement>>;
18
18
  MarkerGroup: ForwardRefExoticComponent<SliderMarkerGroupProps & RefAttributes<HTMLDivElement>>;
19
- Output: ForwardRefExoticComponent<SliderOutputProps & RefAttributes<HTMLOutputElement>>;
20
19
  Range: ForwardRefExoticComponent<SliderRangeProps & RefAttributes<HTMLDivElement>>;
21
20
  Thumb: ForwardRefExoticComponent<SliderThumbProps & RefAttributes<HTMLDivElement>>;
22
21
  Track: ForwardRefExoticComponent<SliderTrackProps & RefAttributes<HTMLDivElement>>;
22
+ ValueText: ForwardRefExoticComponent<SliderValueTextProps & RefAttributes<HTMLDivElement>>;
23
23
  };
24
- export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderOutput, SliderRange, SliderThumb, SliderTrack, useSliderContext, };
25
- export type { SliderContext, SliderControlProps, SliderLabelProps, SliderMarkerGroupProps, SliderMarkerProps, SliderOutputProps, SliderProps, SliderRangeProps, SliderThumbProps, SliderTrackProps, };
24
+ export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText, useSliderContext, };
25
+ export type { SliderContext, SliderControlProps, SliderLabelProps, SliderMarkerGroupProps, SliderMarkerProps, SliderProps, SliderRangeProps, SliderThumbProps, SliderTrackProps, SliderValueTextProps, };
package/slider/index.mjs CHANGED
@@ -5,10 +5,10 @@ import { SliderControl } from './slider-control.mjs';
5
5
  import { SliderLabel } from './slider-label.mjs';
6
6
  import { SliderMarker } from './slider-marker.mjs';
7
7
  import { SliderMarkerGroup } from './slider-marker-group.mjs';
8
- import { SliderOutput } from './slider-output.mjs';
9
8
  import { SliderRange } from './slider-range.mjs';
10
9
  import { SliderThumb } from './slider-thumb.mjs';
11
10
  import { SliderTrack } from './slider-track.mjs';
11
+ import { SliderValueText } from './slider-value-text.mjs';
12
12
 
13
13
  const Slider = Object.assign(Slider$1, {
14
14
  Root: Slider$1,
@@ -16,10 +16,10 @@ const Slider = Object.assign(Slider$1, {
16
16
  Label: SliderLabel,
17
17
  Marker: SliderMarker,
18
18
  MarkerGroup: SliderMarkerGroup,
19
- Output: SliderOutput,
20
19
  Range: SliderRange,
21
20
  Thumb: SliderThumb,
22
- Track: SliderTrack
21
+ Track: SliderTrack,
22
+ ValueText: SliderValueText
23
23
  });
24
24
 
25
- export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderOutput, SliderRange, SliderThumb, SliderTrack };
25
+ export { Slider, SliderControl, SliderLabel, SliderMarker, SliderMarkerGroup, SliderRange, SliderThumb, SliderTrack, SliderValueText };
@@ -10,13 +10,13 @@ const factory = require('../factory.cjs');
10
10
  const runIfFn = require('../run-if-fn.cjs');
11
11
  const sliderContext = require('./slider-context.cjs');
12
12
 
13
- const SliderOutput = react.forwardRef((props, ref) => {
13
+ const SliderValueText = react.forwardRef((props, ref) => {
14
14
  const { children, ...rest } = props;
15
15
  const api = sliderContext.useSliderContext();
16
- const mergedProps = react$1.mergeProps(api.outputProps, rest);
16
+ const mergedProps = react$1.mergeProps(api.valueTextProps, rest);
17
17
  const view = runIfFn.runIfFn(children, api);
18
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.output, { ...mergedProps, ref, children: view });
18
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: view });
19
19
  });
20
- SliderOutput.displayName = "SliderOutput";
20
+ SliderValueText.displayName = "SliderValueText";
21
21
 
22
- exports.SliderOutput = SliderOutput;
22
+ exports.SliderValueText = SliderValueText;
@@ -2,8 +2,8 @@ import { ForwardRefExoticComponent, RefAttributes, type ReactNode } from 'react'
2
2
  import { type HTMLArkProps } from '../factory';
3
3
  import { type Assign } from '../types';
4
4
  import { type UseSliderReturn } from './use-slider';
5
- export interface SliderOutputProps extends Assign<HTMLArkProps<'output'>, {
5
+ export interface SliderValueTextProps extends Assign<HTMLArkProps<'output'>, {
6
6
  children?: ((api: UseSliderReturn) => ReactNode) | ReactNode;
7
7
  }> {
8
8
  }
9
- export declare const SliderOutput: ForwardRefExoticComponent<SliderOutputProps & RefAttributes<HTMLOutputElement>>;
9
+ export declare const SliderValueText: ForwardRefExoticComponent<SliderValueTextProps & RefAttributes<HTMLDivElement>>;
@@ -6,13 +6,13 @@ import { ark } from '../factory.mjs';
6
6
  import { runIfFn } from '../run-if-fn.mjs';
7
7
  import { useSliderContext } from './slider-context.mjs';
8
8
 
9
- const SliderOutput = forwardRef((props, ref) => {
9
+ const SliderValueText = forwardRef((props, ref) => {
10
10
  const { children, ...rest } = props;
11
11
  const api = useSliderContext();
12
- const mergedProps = mergeProps(api.outputProps, rest);
12
+ const mergedProps = mergeProps(api.valueTextProps, rest);
13
13
  const view = runIfFn(children, api);
14
- return /* @__PURE__ */ jsx(ark.output, { ...mergedProps, ref, children: view });
14
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view });
15
15
  });
16
- SliderOutput.displayName = "SliderOutput";
16
+ SliderValueText.displayName = "SliderValueText";
17
17
 
18
- export { SliderOutput };
18
+ export { SliderValueText };
@@ -1,8 +1,15 @@
1
1
  import { JSX } from 'react/jsx-runtime';
2
2
  import type { Meta } from '@storybook/react';
3
- import { Slider } from '.';
3
+ import { Slider } from './';
4
4
  type SliderType = typeof Slider;
5
5
  declare const meta: Meta<SliderType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
- export declare const WithDefaultValue: () => JSX.Element;
8
+ export declare const WithMarks: () => JSX.Element;
9
+ export declare const InitialValue: () => JSX.Element;
10
+ export declare const MinMax: () => JSX.Element;
11
+ export declare const Step: () => JSX.Element;
12
+ export declare const OnEvent: () => JSX.Element;
13
+ export declare const Vertical: () => JSX.Element;
14
+ export declare const CenterOrigin: () => JSX.Element;
15
+ export declare const Advanced: () => JSX.Element;
@@ -3,7 +3,7 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type ContentProps } from '@zag-js/tabs';
4
4
  import { type HTMLArkProps } from '../factory';
5
5
  import { type TabPresenceProps } from './tab-presence';
6
- export interface TabContentProps extends InnerTabContentProps, Omit<TabPresenceProps, 'children'> {
6
+ export interface TabContentProps extends InnerTabContentProps, Omit<TabPresenceProps, 'children' | 'fallback'> {
7
7
  }
8
8
  export declare const TabContent: ForwardRefExoticComponent<TabContentProps & RefAttributes<HTMLDivElement>>;
9
9
  type InnerTabContentProps = HTMLArkProps<'div'> & ContentProps;
@@ -6,3 +6,9 @@ declare const meta: Meta<TagsInputType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
8
  export declare const InitialValue: () => JSX.Element;
9
+ export declare const MaxWithOverflow: () => JSX.Element;
10
+ export declare const Validated: () => JSX.Element;
11
+ export declare const BlurBehavior: () => JSX.Element;
12
+ export declare const PasteBehavior: () => JSX.Element;
13
+ export declare const DisabledEditing: () => JSX.Element;
14
+ export declare const OnEvent: () => JSX.Element;
@@ -3,3 +3,5 @@ import type { Meta } from '@storybook/react';
3
3
  declare const meta: Meta;
4
4
  export default meta;
5
5
  export declare const Basic: () => JSX.Element;
6
+ export declare const Customized: () => JSX.Element;
7
+ export declare const CustomRender: () => JSX.Element;
@@ -5,5 +5,5 @@ type ToggleGroupType = typeof ToggleGroup;
5
5
  declare const meta: Meta<ToggleGroupType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
- export declare const Initialvalue: () => JSX.Element;
8
+ export declare const InitialValue: () => JSX.Element;
9
9
  export declare const Multiple: () => JSX.Element;
@@ -14,7 +14,7 @@ const splitPresenceProps = require('../presence/split-presence-props.cjs');
14
14
  const TooltipContent = react.forwardRef((props, ref) => {
15
15
  const [presenceProps, tooltipContentProps] = splitPresenceProps.splitPresenceProps(props);
16
16
  const api = tooltipContext.useTooltipContext();
17
- return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsxRuntime.jsx(TooltipInnerContent, { ref, ...tooltipContentProps }) });
17
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsxRuntime.jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsxRuntime.jsx(TooltipInnerContent, { ref, ...tooltipContentProps }) });
18
18
  });
19
19
  TooltipContent.displayName = "TooltipContent";
20
20
  const TooltipInnerContent = react.forwardRef(
@@ -3,6 +3,6 @@ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  import { type HTMLArkProps } from '../factory';
4
4
  import { type PresenceProps } from '../presence';
5
5
  import type { Assign } from '../types';
6
- export interface TooltipContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children'>> {
6
+ export interface TooltipContentProps extends Assign<HTMLArkProps<'div'>, Omit<PresenceProps, 'children' | 'fallback'>> {
7
7
  }
8
8
  export declare const TooltipContent: ForwardRefExoticComponent<TooltipContentProps & RefAttributes<HTMLDivElement>>;
@@ -10,7 +10,7 @@ import { splitPresenceProps } from '../presence/split-presence-props.mjs';
10
10
  const TooltipContent = forwardRef((props, ref) => {
11
11
  const [presenceProps, tooltipContentProps] = splitPresenceProps(props);
12
12
  const api = useTooltipContext();
13
- return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, children: /* @__PURE__ */ jsx(TooltipInnerContent, { ref, ...tooltipContentProps }) });
13
+ return /* @__PURE__ */ jsx(Presence, { present: api.isOpen, ...presenceProps, fallback: /* @__PURE__ */ jsx("div", { ...api.contentProps }), children: /* @__PURE__ */ jsx(TooltipInnerContent, { ref, ...tooltipContentProps }) });
14
14
  });
15
15
  TooltipContent.displayName = "TooltipContent";
16
16
  const TooltipInnerContent = forwardRef(