@ark-ui/react 4.8.0 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/dist/components/date-picker/date-picker-input.cjs +8 -2
  2. package/dist/components/date-picker/date-picker-input.d.cts +1 -1
  3. package/dist/components/date-picker/date-picker-input.d.ts +1 -1
  4. package/dist/components/date-picker/date-picker-input.js +8 -2
  5. package/dist/components/date-picker/date-picker-root.cjs +47 -38
  6. package/dist/components/date-picker/date-picker-root.d.cts +1 -1
  7. package/dist/components/date-picker/date-picker-root.d.ts +1 -1
  8. package/dist/components/date-picker/date-picker-root.js +47 -38
  9. package/dist/components/date-picker/use-date-picker.cjs +18 -15
  10. package/dist/components/date-picker/use-date-picker.d.cts +8 -6
  11. package/dist/components/date-picker/use-date-picker.d.ts +8 -6
  12. package/dist/components/date-picker/use-date-picker.js +4 -1
  13. package/dist/components/file-upload/file-upload-dropzone.cjs +12 -7
  14. package/dist/components/file-upload/file-upload-dropzone.d.cts +3 -2
  15. package/dist/components/file-upload/file-upload-dropzone.d.ts +3 -2
  16. package/dist/components/file-upload/file-upload-dropzone.js +12 -7
  17. package/dist/components/file-upload/file-upload-item-preview-image.cjs +5 -1
  18. package/dist/components/file-upload/file-upload-item-preview-image.d.cts +1 -1
  19. package/dist/components/file-upload/file-upload-item-preview-image.d.ts +1 -1
  20. package/dist/components/file-upload/file-upload-item-preview-image.js +5 -1
  21. package/dist/components/tour/tour-progress-text.cjs +1 -1
  22. package/dist/components/tour/tour-progress-text.d.cts +1 -1
  23. package/dist/components/tour/tour-progress-text.d.ts +1 -1
  24. package/dist/components/tour/tour-progress-text.js +1 -1
  25. package/package.json +59 -59
@@ -11,9 +11,15 @@ const factory = require('../factory.cjs');
11
11
  const useDatePickerContext = require('./use-date-picker-context.cjs');
12
12
 
13
13
  const DatePickerInput = react.forwardRef((props, ref) => {
14
- const [inputProps, localProps] = createSplitProps.createSplitProps()(props, ["index"]);
14
+ const [inputProps, localProps] = createSplitProps.createSplitProps()(props, [
15
+ "index",
16
+ "fixOnBlur"
17
+ ]);
15
18
  const datePicker = useDatePickerContext.useDatePickerContext();
16
- const mergedProps = react$1.mergeProps(datePicker.getInputProps(inputProps), localProps);
19
+ const mergedProps = react$1.mergeProps(
20
+ datePicker.getInputProps(inputProps),
21
+ localProps
22
+ );
17
23
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.input, { ...mergedProps, ref });
18
24
  });
19
25
  DatePickerInput.displayName = "DatePickerInput";
@@ -3,6 +3,6 @@ import { HTMLProps, PolymorphicProps } from '../factory';
3
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
4
  export interface DatePickerInputBaseProps extends InputProps, PolymorphicProps {
5
5
  }
6
- export interface DatePickerInputProps extends HTMLProps<'input'>, DatePickerInputBaseProps {
6
+ export interface DatePickerInputProps extends HTMLProps<"input">, DatePickerInputBaseProps {
7
7
  }
8
8
  export declare const DatePickerInput: ForwardRefExoticComponent<DatePickerInputProps & RefAttributes<HTMLInputElement>>;
@@ -3,6 +3,6 @@ import { HTMLProps, PolymorphicProps } from '../factory';
3
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
4
  export interface DatePickerInputBaseProps extends InputProps, PolymorphicProps {
5
5
  }
6
- export interface DatePickerInputProps extends HTMLProps<'input'>, DatePickerInputBaseProps {
6
+ export interface DatePickerInputProps extends HTMLProps<"input">, DatePickerInputBaseProps {
7
7
  }
8
8
  export declare const DatePickerInput: ForwardRefExoticComponent<DatePickerInputProps & RefAttributes<HTMLInputElement>>;
@@ -7,9 +7,15 @@ import { ark } from '../factory.js';
7
7
  import { useDatePickerContext } from './use-date-picker-context.js';
8
8
 
9
9
  const DatePickerInput = forwardRef((props, ref) => {
10
- const [inputProps, localProps] = createSplitProps()(props, ["index"]);
10
+ const [inputProps, localProps] = createSplitProps()(props, [
11
+ "index",
12
+ "fixOnBlur"
13
+ ]);
11
14
  const datePicker = useDatePickerContext();
12
- const mergedProps = mergeProps(datePicker.getInputProps(inputProps), localProps);
15
+ const mergedProps = mergeProps(
16
+ datePicker.getInputProps(inputProps),
17
+ localProps
18
+ );
13
19
  return /* @__PURE__ */ jsx(ark.input, { ...mergedProps, ref });
14
20
  });
15
21
  DatePickerInput.displayName = "DatePickerInput";
@@ -14,44 +14,53 @@ const usePresenceContext = require('../presence/use-presence-context.cjs');
14
14
  const useDatePicker = require('./use-date-picker.cjs');
15
15
  const useDatePickerContext = require('./use-date-picker-context.cjs');
16
16
 
17
- const DatePickerRoot = react.forwardRef((props, ref) => {
18
- const [presenceProps, datePickerProps] = splitPresenceProps.splitPresenceProps(props);
19
- const [useDatePickerProps, localProps] = createSplitProps.createSplitProps()(datePickerProps, [
20
- "closeOnSelect",
21
- "defaultOpen",
22
- "defaultValue",
23
- "disabled",
24
- "fixedWeeks",
25
- "focusedValue",
26
- "format",
27
- "id",
28
- "ids",
29
- "isDateUnavailable",
30
- "isDateUnavailable",
31
- "locale",
32
- "max",
33
- "min",
34
- "name",
35
- "numOfMonths",
36
- "onFocusChange",
37
- "onOpenChange",
38
- "onValueChange",
39
- "onViewChange",
40
- "open",
41
- "positioning",
42
- "readOnly",
43
- "selectionMode",
44
- "startOfWeek",
45
- "timeZone",
46
- "translations",
47
- "value",
48
- "view"
49
- ]);
50
- const datePicker = useDatePicker.useDatePicker(useDatePickerProps);
51
- const presence = usePresence.usePresence(react$1.mergeProps({ present: datePicker.open }, presenceProps));
52
- const mergedProps = react$1.mergeProps(datePicker.getRootProps(), localProps);
53
- return /* @__PURE__ */ jsxRuntime.jsx(useDatePickerContext.DatePickerProvider, { value: datePicker, children: /* @__PURE__ */ jsxRuntime.jsx(usePresenceContext.PresenceProvider, { value: presence, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) }) });
54
- });
17
+ const DatePickerRoot = react.forwardRef(
18
+ (props, ref) => {
19
+ const [presenceProps, datePickerProps] = splitPresenceProps.splitPresenceProps(props);
20
+ const [useDatePickerProps, localProps] = createSplitProps.createSplitProps()(datePickerProps, [
21
+ "closeOnSelect",
22
+ "defaultOpen",
23
+ "defaultValue",
24
+ "defaultView",
25
+ "disabled",
26
+ "fixedWeeks",
27
+ "focusedValue",
28
+ "format",
29
+ "id",
30
+ "ids",
31
+ "isDateUnavailable",
32
+ "isDateUnavailable",
33
+ "locale",
34
+ "max",
35
+ "maxView",
36
+ "min",
37
+ "minView",
38
+ "name",
39
+ "numOfMonths",
40
+ "onFocusChange",
41
+ "onOpenChange",
42
+ "onValueChange",
43
+ "onViewChange",
44
+ "open",
45
+ "parse",
46
+ "placeholder",
47
+ "positioning",
48
+ "readOnly",
49
+ "selectionMode",
50
+ "startOfWeek",
51
+ "timeZone",
52
+ "translations",
53
+ "value",
54
+ "view"
55
+ ]);
56
+ const datePicker = useDatePicker.useDatePicker(useDatePickerProps);
57
+ const presence = usePresence.usePresence(
58
+ react$1.mergeProps({ present: datePicker.open }, presenceProps)
59
+ );
60
+ const mergedProps = react$1.mergeProps(datePicker.getRootProps(), localProps);
61
+ return /* @__PURE__ */ jsxRuntime.jsx(useDatePickerContext.DatePickerProvider, { value: datePicker, children: /* @__PURE__ */ jsxRuntime.jsx(usePresenceContext.PresenceProvider, { value: presence, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) }) });
62
+ }
63
+ );
55
64
  DatePickerRoot.displayName = "DatePickerRoot";
56
65
 
57
66
  exports.DatePickerRoot = DatePickerRoot;
@@ -5,6 +5,6 @@ import { UseDatePickerProps } from './use-date-picker';
5
5
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
6
6
  export interface DatePickerRootBaseProps extends UseDatePickerProps, UsePresenceProps, PolymorphicProps {
7
7
  }
8
- export interface DatePickerRootProps extends Assign<HTMLProps<'div'>, DatePickerRootBaseProps> {
8
+ export interface DatePickerRootProps extends Assign<HTMLProps<"div">, DatePickerRootBaseProps> {
9
9
  }
10
10
  export declare const DatePickerRoot: ForwardRefExoticComponent<DatePickerRootProps & RefAttributes<HTMLDivElement>>;
@@ -5,6 +5,6 @@ import { UseDatePickerProps } from './use-date-picker';
5
5
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
6
6
  export interface DatePickerRootBaseProps extends UseDatePickerProps, UsePresenceProps, PolymorphicProps {
7
7
  }
8
- export interface DatePickerRootProps extends Assign<HTMLProps<'div'>, DatePickerRootBaseProps> {
8
+ export interface DatePickerRootProps extends Assign<HTMLProps<"div">, DatePickerRootBaseProps> {
9
9
  }
10
10
  export declare const DatePickerRoot: ForwardRefExoticComponent<DatePickerRootProps & RefAttributes<HTMLDivElement>>;
@@ -10,44 +10,53 @@ import { PresenceProvider } from '../presence/use-presence-context.js';
10
10
  import { useDatePicker } from './use-date-picker.js';
11
11
  import { DatePickerProvider } from './use-date-picker-context.js';
12
12
 
13
- const DatePickerRoot = forwardRef((props, ref) => {
14
- const [presenceProps, datePickerProps] = splitPresenceProps(props);
15
- const [useDatePickerProps, localProps] = createSplitProps()(datePickerProps, [
16
- "closeOnSelect",
17
- "defaultOpen",
18
- "defaultValue",
19
- "disabled",
20
- "fixedWeeks",
21
- "focusedValue",
22
- "format",
23
- "id",
24
- "ids",
25
- "isDateUnavailable",
26
- "isDateUnavailable",
27
- "locale",
28
- "max",
29
- "min",
30
- "name",
31
- "numOfMonths",
32
- "onFocusChange",
33
- "onOpenChange",
34
- "onValueChange",
35
- "onViewChange",
36
- "open",
37
- "positioning",
38
- "readOnly",
39
- "selectionMode",
40
- "startOfWeek",
41
- "timeZone",
42
- "translations",
43
- "value",
44
- "view"
45
- ]);
46
- const datePicker = useDatePicker(useDatePickerProps);
47
- const presence = usePresence(mergeProps({ present: datePicker.open }, presenceProps));
48
- const mergedProps = mergeProps(datePicker.getRootProps(), localProps);
49
- return /* @__PURE__ */ jsx(DatePickerProvider, { value: datePicker, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });
50
- });
13
+ const DatePickerRoot = forwardRef(
14
+ (props, ref) => {
15
+ const [presenceProps, datePickerProps] = splitPresenceProps(props);
16
+ const [useDatePickerProps, localProps] = createSplitProps()(datePickerProps, [
17
+ "closeOnSelect",
18
+ "defaultOpen",
19
+ "defaultValue",
20
+ "defaultView",
21
+ "disabled",
22
+ "fixedWeeks",
23
+ "focusedValue",
24
+ "format",
25
+ "id",
26
+ "ids",
27
+ "isDateUnavailable",
28
+ "isDateUnavailable",
29
+ "locale",
30
+ "max",
31
+ "maxView",
32
+ "min",
33
+ "minView",
34
+ "name",
35
+ "numOfMonths",
36
+ "onFocusChange",
37
+ "onOpenChange",
38
+ "onValueChange",
39
+ "onViewChange",
40
+ "open",
41
+ "parse",
42
+ "placeholder",
43
+ "positioning",
44
+ "readOnly",
45
+ "selectionMode",
46
+ "startOfWeek",
47
+ "timeZone",
48
+ "translations",
49
+ "value",
50
+ "view"
51
+ ]);
52
+ const datePicker = useDatePicker(useDatePickerProps);
53
+ const presence = usePresence(
54
+ mergeProps({ present: datePicker.open }, presenceProps)
55
+ );
56
+ const mergedProps = mergeProps(datePicker.getRootProps(), localProps);
57
+ return /* @__PURE__ */ jsx(DatePickerProvider, { value: datePicker, children: /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) }) });
58
+ }
59
+ );
51
60
  DatePickerRoot.displayName = "DatePickerRoot";
52
61
 
53
62
  export { DatePickerRoot };
@@ -11,20 +11,20 @@ const useLocaleContext = require('../../providers/locale/use-locale-context.cjs'
11
11
  const useEvent = require('../../utils/use-event.cjs');
12
12
 
13
13
  function _interopNamespaceDefault(e) {
14
- const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
15
- if (e) {
16
- for (const k in e) {
17
- if (k !== 'default') {
18
- const d = Object.getOwnPropertyDescriptor(e, k);
19
- Object.defineProperty(n, k, d.get ? d : {
20
- enumerable: true,
21
- get: () => e[k]
22
- });
23
- }
24
- }
25
- }
26
- n.default = e;
27
- return Object.freeze(n);
14
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
15
+ if (e) {
16
+ for (const k in e) {
17
+ if (k !== 'default') {
18
+ const d = Object.getOwnPropertyDescriptor(e, k);
19
+ Object.defineProperty(n, k, d.get ? d : {
20
+ enumerable: true,
21
+ get: () => e[k]
22
+ });
23
+ }
24
+ }
25
+ }
26
+ n.default = e;
27
+ return Object.freeze(n);
28
28
  }
29
29
 
30
30
  const datePicker__namespace = /*#__PURE__*/_interopNamespaceDefault(datePicker);
@@ -39,6 +39,7 @@ const useDatePicker = (props = {}) => {
39
39
  open: props.defaultOpen,
40
40
  "open.controlled": props.open !== void 0,
41
41
  value: props.defaultValue,
42
+ view: props.defaultView,
42
43
  ...props
43
44
  };
44
45
  const context = {
@@ -49,7 +50,9 @@ const useDatePicker = (props = {}) => {
49
50
  onViewChange: useEvent.useEvent(props.onViewChange),
50
51
  onOpenChange: useEvent.useEvent(props.onOpenChange)
51
52
  };
52
- const [state, send] = react$1.useMachine(datePicker__namespace.machine(initialContext), { context });
53
+ const [state, send] = react$1.useMachine(datePicker__namespace.machine(initialContext), {
54
+ context
55
+ });
53
56
  return datePicker__namespace.connect(state, send, react$1.normalizeProps);
54
57
  };
55
58
 
@@ -1,17 +1,19 @@
1
1
  import { PropTypes } from '@zag-js/react';
2
2
  import { Optional } from '../../types';
3
- import * as datePicker from '@zag-js/date-picker';
4
- export interface UseDatePickerProps extends Optional<Omit<datePicker.Context, 'dir' | 'getRootNode' | 'parse' | 'open.controlled'>, 'id'> {
3
+ import * as datePicker from "@zag-js/date-picker";
4
+ export interface UseDatePickerProps extends Optional<Omit<datePicker.Context, "dir" | "getRootNode" | "open.controlled">, "id"> {
5
5
  /**
6
6
  * The initial open state of the date picker when it is first rendered.
7
- * Use when you do not need to control its open state.
8
7
  */
9
- defaultOpen?: datePicker.Context['open'];
8
+ defaultOpen?: datePicker.Context["open"];
10
9
  /**
11
10
  * The initial value of the date picker when it is first rendered.
12
- * Use when you do not need to control the state of the date picker.
13
11
  */
14
- defaultValue?: datePicker.Context['value'];
12
+ defaultValue?: datePicker.Context["value"];
13
+ /**
14
+ * The initial view of the date picker when it is first rendered.
15
+ */
16
+ defaultView?: datePicker.Context["view"];
15
17
  }
16
18
  export interface UseDatePickerReturn extends datePicker.Api<PropTypes> {
17
19
  }
@@ -1,17 +1,19 @@
1
1
  import { PropTypes } from '@zag-js/react';
2
2
  import { Optional } from '../../types';
3
- import * as datePicker from '@zag-js/date-picker';
4
- export interface UseDatePickerProps extends Optional<Omit<datePicker.Context, 'dir' | 'getRootNode' | 'parse' | 'open.controlled'>, 'id'> {
3
+ import * as datePicker from "@zag-js/date-picker";
4
+ export interface UseDatePickerProps extends Optional<Omit<datePicker.Context, "dir" | "getRootNode" | "open.controlled">, "id"> {
5
5
  /**
6
6
  * The initial open state of the date picker when it is first rendered.
7
- * Use when you do not need to control its open state.
8
7
  */
9
- defaultOpen?: datePicker.Context['open'];
8
+ defaultOpen?: datePicker.Context["open"];
10
9
  /**
11
10
  * The initial value of the date picker when it is first rendered.
12
- * Use when you do not need to control the state of the date picker.
13
11
  */
14
- defaultValue?: datePicker.Context['value'];
12
+ defaultValue?: datePicker.Context["value"];
13
+ /**
14
+ * The initial view of the date picker when it is first rendered.
15
+ */
16
+ defaultView?: datePicker.Context["view"];
15
17
  }
16
18
  export interface UseDatePickerReturn extends datePicker.Api<PropTypes> {
17
19
  }
@@ -16,6 +16,7 @@ const useDatePicker = (props = {}) => {
16
16
  open: props.defaultOpen,
17
17
  "open.controlled": props.open !== void 0,
18
18
  value: props.defaultValue,
19
+ view: props.defaultView,
19
20
  ...props
20
21
  };
21
22
  const context = {
@@ -26,7 +27,9 @@ const useDatePicker = (props = {}) => {
26
27
  onViewChange: useEvent(props.onViewChange),
27
28
  onOpenChange: useEvent(props.onOpenChange)
28
29
  };
29
- const [state, send] = useMachine(datePicker.machine(initialContext), { context });
30
+ const [state, send] = useMachine(datePicker.machine(initialContext), {
31
+ context
32
+ });
30
33
  return datePicker.connect(state, send, normalizeProps);
31
34
  };
32
35
 
@@ -6,16 +6,21 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
+ const createSplitProps = require('../../utils/create-split-props.cjs');
9
10
  const factory = require('../factory.cjs');
10
11
  const useFileUploadContext = require('./use-file-upload-context.cjs');
11
12
 
12
- const FileUploadDropzone = react.forwardRef(
13
- (props, ref) => {
14
- const fileUpload = useFileUploadContext.useFileUploadContext();
15
- const mergedProps = react$1.mergeProps(fileUpload.getDropzoneProps(), props);
16
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
17
- }
18
- );
13
+ const FileUploadDropzone = react.forwardRef((props, ref) => {
14
+ const [dropzoneProps, localProps] = createSplitProps.createSplitProps()(props, [
15
+ "disableClick"
16
+ ]);
17
+ const fileUpload = useFileUploadContext.useFileUploadContext();
18
+ const mergedProps = react$1.mergeProps(
19
+ fileUpload.getDropzoneProps(dropzoneProps),
20
+ localProps
21
+ );
22
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
23
+ });
19
24
  FileUploadDropzone.displayName = "FileUploadDropzone";
20
25
 
21
26
  exports.FileUploadDropzone = FileUploadDropzone;
@@ -1,7 +1,8 @@
1
+ import { DropzoneProps } from '@zag-js/file-upload';
1
2
  import { HTMLProps, PolymorphicProps } from '../factory';
2
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
- export interface FileUploadDropzoneBaseProps extends PolymorphicProps {
4
+ export interface FileUploadDropzoneBaseProps extends PolymorphicProps, DropzoneProps {
4
5
  }
5
- export interface FileUploadDropzoneProps extends HTMLProps<'div'>, FileUploadDropzoneBaseProps {
6
+ export interface FileUploadDropzoneProps extends HTMLProps<"div">, FileUploadDropzoneBaseProps {
6
7
  }
7
8
  export declare const FileUploadDropzone: ForwardRefExoticComponent<FileUploadDropzoneProps & RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,8 @@
1
+ import { DropzoneProps } from '@zag-js/file-upload';
1
2
  import { HTMLProps, PolymorphicProps } from '../factory';
2
3
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
- export interface FileUploadDropzoneBaseProps extends PolymorphicProps {
4
+ export interface FileUploadDropzoneBaseProps extends PolymorphicProps, DropzoneProps {
4
5
  }
5
- export interface FileUploadDropzoneProps extends HTMLProps<'div'>, FileUploadDropzoneBaseProps {
6
+ export interface FileUploadDropzoneProps extends HTMLProps<"div">, FileUploadDropzoneBaseProps {
6
7
  }
7
8
  export declare const FileUploadDropzone: ForwardRefExoticComponent<FileUploadDropzoneProps & RefAttributes<HTMLDivElement>>;
@@ -2,16 +2,21 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
+ import { createSplitProps } from '../../utils/create-split-props.js';
5
6
  import { ark } from '../factory.js';
6
7
  import { useFileUploadContext } from './use-file-upload-context.js';
7
8
 
8
- const FileUploadDropzone = forwardRef(
9
- (props, ref) => {
10
- const fileUpload = useFileUploadContext();
11
- const mergedProps = mergeProps(fileUpload.getDropzoneProps(), props);
12
- return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
13
- }
14
- );
9
+ const FileUploadDropzone = forwardRef((props, ref) => {
10
+ const [dropzoneProps, localProps] = createSplitProps()(props, [
11
+ "disableClick"
12
+ ]);
13
+ const fileUpload = useFileUploadContext();
14
+ const mergedProps = mergeProps(
15
+ fileUpload.getDropzoneProps(dropzoneProps),
16
+ localProps
17
+ );
18
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
19
+ });
15
20
  FileUploadDropzone.displayName = "FileUploadDropzone";
16
21
 
17
22
  export { FileUploadDropzone };
@@ -14,10 +14,14 @@ const FileUploadItemPreviewImage = react.forwardRef((props, ref) => {
14
14
  const [url, setUrl] = react.useState("");
15
15
  const fileUpload = useFileUploadContext.useFileUploadContext();
16
16
  const itemProps = useFileUploadItemPropsContext.useFileUploadItemPropsContext();
17
- const mergedProps = react$1.mergeProps(fileUpload.getItemPreviewImageProps({ ...itemProps, url }), props);
17
+ const mergedProps = react$1.mergeProps(
18
+ fileUpload.getItemPreviewImageProps({ ...itemProps, url }),
19
+ props
20
+ );
18
21
  react.useEffect(() => {
19
22
  return fileUpload.createFileUrl(itemProps.file, (url2) => setUrl(url2));
20
23
  }, [itemProps, fileUpload]);
24
+ if (!url) return null;
21
25
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.img, { ...mergedProps, ref });
22
26
  });
23
27
  FileUploadItemPreviewImage.displayName = "FileUploadItemPreviewImage";
@@ -2,6 +2,6 @@ import { HTMLProps, PolymorphicProps } from '../factory';
2
2
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  export interface FileUploadItemPreviewImageBaseProps extends PolymorphicProps {
4
4
  }
5
- export interface FileUploadItemPreviewImageProps extends HTMLProps<'img'>, FileUploadItemPreviewImageBaseProps {
5
+ export interface FileUploadItemPreviewImageProps extends HTMLProps<"img">, FileUploadItemPreviewImageBaseProps {
6
6
  }
7
7
  export declare const FileUploadItemPreviewImage: ForwardRefExoticComponent<FileUploadItemPreviewImageProps & RefAttributes<HTMLImageElement>>;
@@ -2,6 +2,6 @@ import { HTMLProps, PolymorphicProps } from '../factory';
2
2
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  export interface FileUploadItemPreviewImageBaseProps extends PolymorphicProps {
4
4
  }
5
- export interface FileUploadItemPreviewImageProps extends HTMLProps<'img'>, FileUploadItemPreviewImageBaseProps {
5
+ export interface FileUploadItemPreviewImageProps extends HTMLProps<"img">, FileUploadItemPreviewImageBaseProps {
6
6
  }
7
7
  export declare const FileUploadItemPreviewImage: ForwardRefExoticComponent<FileUploadItemPreviewImageProps & RefAttributes<HTMLImageElement>>;
@@ -10,10 +10,14 @@ const FileUploadItemPreviewImage = forwardRef((props, ref) => {
10
10
  const [url, setUrl] = useState("");
11
11
  const fileUpload = useFileUploadContext();
12
12
  const itemProps = useFileUploadItemPropsContext();
13
- const mergedProps = mergeProps(fileUpload.getItemPreviewImageProps({ ...itemProps, url }), props);
13
+ const mergedProps = mergeProps(
14
+ fileUpload.getItemPreviewImageProps({ ...itemProps, url }),
15
+ props
16
+ );
14
17
  useEffect(() => {
15
18
  return fileUpload.createFileUrl(itemProps.file, (url2) => setUrl(url2));
16
19
  }, [itemProps, fileUpload]);
20
+ if (!url) return null;
17
21
  return /* @__PURE__ */ jsx(ark.img, { ...mergedProps, ref });
18
22
  });
19
23
  FileUploadItemPreviewImage.displayName = "FileUploadItemPreviewImage";
@@ -12,7 +12,7 @@ const useTourContext = require('./use-tour-context.cjs');
12
12
  const TourProgressText = react.forwardRef((props, ref) => {
13
13
  const tour = useTourContext.useTourContext();
14
14
  const mergedProps = react$1.mergeProps(tour.getProgressTextProps(), props);
15
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: mergedProps.children || tour.getProgressText() });
16
16
  });
17
17
  TourProgressText.displayName = "TourProgressText";
18
18
 
@@ -2,6 +2,6 @@ import { HTMLProps, PolymorphicProps } from '../factory';
2
2
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  export interface TourProgressTextBaseProps extends PolymorphicProps {
4
4
  }
5
- export interface TourProgressTextProps extends HTMLProps<'div'>, TourProgressTextBaseProps {
5
+ export interface TourProgressTextProps extends HTMLProps<"div">, TourProgressTextBaseProps {
6
6
  }
7
7
  export declare const TourProgressText: ForwardRefExoticComponent<TourProgressTextProps & RefAttributes<HTMLDivElement>>;
@@ -2,6 +2,6 @@ import { HTMLProps, PolymorphicProps } from '../factory';
2
2
  import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
3
  export interface TourProgressTextBaseProps extends PolymorphicProps {
4
4
  }
5
- export interface TourProgressTextProps extends HTMLProps<'div'>, TourProgressTextBaseProps {
5
+ export interface TourProgressTextProps extends HTMLProps<"div">, TourProgressTextBaseProps {
6
6
  }
7
7
  export declare const TourProgressText: ForwardRefExoticComponent<TourProgressTextProps & RefAttributes<HTMLDivElement>>;
@@ -8,7 +8,7 @@ import { useTourContext } from './use-tour-context.js';
8
8
  const TourProgressText = forwardRef((props, ref) => {
9
9
  const tour = useTourContext();
10
10
  const mergedProps = mergeProps(tour.getProgressTextProps(), props);
11
- return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
11
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: mergedProps.children || tour.getProgressText() });
12
12
  });
13
13
  TourProgressText.displayName = "TourProgressText";
14
14
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ark-ui/react",
3
- "version": "4.8.0",
3
+ "version": "4.9.0",
4
4
  "description": "A collection of unstyled, accessible UI components for React, utilizing state machines for seamless interaction.",
5
5
  "keywords": [
6
6
  "accordion",
@@ -160,58 +160,58 @@
160
160
  },
161
161
  "sideEffects": false,
162
162
  "dependencies": {
163
- "@internationalized/date": "3.6.0",
164
- "@zag-js/accordion": "0.81.1",
165
- "@zag-js/anatomy": "0.81.1",
166
- "@zag-js/auto-resize": "0.81.1",
167
- "@zag-js/avatar": "0.81.1",
168
- "@zag-js/carousel": "0.81.1",
169
- "@zag-js/checkbox": "0.81.1",
170
- "@zag-js/clipboard": "0.81.1",
171
- "@zag-js/collapsible": "0.81.1",
172
- "@zag-js/collection": "0.81.1",
173
- "@zag-js/color-picker": "0.81.1",
174
- "@zag-js/color-utils": "0.81.1",
175
- "@zag-js/combobox": "0.81.1",
176
- "@zag-js/core": "0.81.1",
177
- "@zag-js/date-picker": "0.81.1",
178
- "@zag-js/date-utils": "0.81.1",
179
- "@zag-js/dialog": "0.81.1",
180
- "@zag-js/dom-query": "0.81.1",
181
- "@zag-js/editable": "0.81.1",
182
- "@zag-js/file-upload": "0.81.1",
183
- "@zag-js/file-utils": "0.81.1",
184
- "@zag-js/focus-trap": "0.81.1",
185
- "@zag-js/highlight-word": "0.81.1",
186
- "@zag-js/hover-card": "0.81.1",
187
- "@zag-js/i18n-utils": "0.81.1",
188
- "@zag-js/menu": "0.81.1",
189
- "@zag-js/number-input": "0.81.1",
190
- "@zag-js/pagination": "0.81.1",
191
- "@zag-js/pin-input": "0.81.1",
192
- "@zag-js/popover": "0.81.1",
193
- "@zag-js/presence": "0.81.1",
194
- "@zag-js/progress": "0.81.1",
195
- "@zag-js/qr-code": "0.81.1",
196
- "@zag-js/radio-group": "0.81.1",
197
- "@zag-js/rating-group": "0.81.1",
198
- "@zag-js/react": "0.81.1",
199
- "@zag-js/select": "0.81.1",
200
- "@zag-js/signature-pad": "0.81.1",
201
- "@zag-js/slider": "0.81.1",
202
- "@zag-js/splitter": "0.81.1",
203
- "@zag-js/steps": "0.81.1",
204
- "@zag-js/switch": "0.81.1",
205
- "@zag-js/tabs": "0.81.1",
206
- "@zag-js/tags-input": "0.81.1",
207
- "@zag-js/time-picker": "0.81.1",
208
- "@zag-js/timer": "0.81.1",
209
- "@zag-js/toast": "0.81.1",
210
- "@zag-js/toggle-group": "0.81.1",
211
- "@zag-js/tooltip": "0.81.1",
212
- "@zag-js/tour": "0.81.1",
213
- "@zag-js/tree-view": "0.81.1",
214
- "@zag-js/types": "0.81.1"
163
+ "@internationalized/date": "3.7.0",
164
+ "@zag-js/accordion": "0.82.0",
165
+ "@zag-js/anatomy": "0.82.0",
166
+ "@zag-js/auto-resize": "0.82.0",
167
+ "@zag-js/avatar": "0.82.0",
168
+ "@zag-js/carousel": "0.82.0",
169
+ "@zag-js/checkbox": "0.82.0",
170
+ "@zag-js/clipboard": "0.82.0",
171
+ "@zag-js/collapsible": "0.82.0",
172
+ "@zag-js/collection": "0.82.0",
173
+ "@zag-js/color-picker": "0.82.0",
174
+ "@zag-js/color-utils": "0.82.0",
175
+ "@zag-js/combobox": "0.82.0",
176
+ "@zag-js/core": "0.82.0",
177
+ "@zag-js/date-picker": "0.82.0",
178
+ "@zag-js/date-utils": "0.82.0",
179
+ "@zag-js/dialog": "0.82.0",
180
+ "@zag-js/dom-query": "0.82.0",
181
+ "@zag-js/editable": "0.82.0",
182
+ "@zag-js/file-upload": "0.82.0",
183
+ "@zag-js/file-utils": "0.82.0",
184
+ "@zag-js/focus-trap": "0.82.0",
185
+ "@zag-js/highlight-word": "0.82.0",
186
+ "@zag-js/hover-card": "0.82.0",
187
+ "@zag-js/i18n-utils": "0.82.0",
188
+ "@zag-js/menu": "0.82.0",
189
+ "@zag-js/number-input": "0.82.0",
190
+ "@zag-js/pagination": "0.82.0",
191
+ "@zag-js/pin-input": "0.82.0",
192
+ "@zag-js/popover": "0.82.0",
193
+ "@zag-js/presence": "0.82.0",
194
+ "@zag-js/progress": "0.82.0",
195
+ "@zag-js/qr-code": "0.82.0",
196
+ "@zag-js/radio-group": "0.82.0",
197
+ "@zag-js/rating-group": "0.82.0",
198
+ "@zag-js/react": "0.82.0",
199
+ "@zag-js/select": "0.82.0",
200
+ "@zag-js/signature-pad": "0.82.0",
201
+ "@zag-js/slider": "0.82.0",
202
+ "@zag-js/splitter": "0.82.0",
203
+ "@zag-js/steps": "0.82.0",
204
+ "@zag-js/switch": "0.82.0",
205
+ "@zag-js/tabs": "0.82.0",
206
+ "@zag-js/tags-input": "0.82.0",
207
+ "@zag-js/time-picker": "0.82.0",
208
+ "@zag-js/timer": "0.82.0",
209
+ "@zag-js/toast": "0.82.0",
210
+ "@zag-js/toggle-group": "0.82.0",
211
+ "@zag-js/tooltip": "0.82.0",
212
+ "@zag-js/tour": "0.82.0",
213
+ "@zag-js/tree-view": "0.82.0",
214
+ "@zag-js/types": "0.82.0"
215
215
  },
216
216
  "devDependencies": {
217
217
  "@biomejs/biome": "1.9.4",
@@ -225,14 +225,14 @@
225
225
  "@testing-library/react": "16.1.0",
226
226
  "@testing-library/user-event": "14.5.2",
227
227
  "@types/jsdom": "21.1.7",
228
- "@types/react": "19.0.2",
229
- "@types/react-dom": "19.0.2",
228
+ "@types/react": "19.0.7",
229
+ "@types/react-dom": "19.0.3",
230
230
  "@vitejs/plugin-react": "4.3.4",
231
- "@zag-js/stringify-state": "0.81.1",
231
+ "@zag-js/stringify-state": "0.82.0",
232
232
  "clean-package": "2.2.0",
233
233
  "globby": "14.0.2",
234
234
  "jsdom": "25.0.1",
235
- "lucide-react": "0.469.0",
235
+ "lucide-react": "0.473.0",
236
236
  "react": "19.0.0",
237
237
  "react-dom": "19.0.0",
238
238
  "react-frame-component": "5.2.7",
@@ -240,9 +240,9 @@
240
240
  "release-it": "17.11.0",
241
241
  "resize-observer-polyfill": "1.5.1",
242
242
  "storybook": "8.4.7",
243
- "typescript": "5.7.2",
243
+ "typescript": "5.7.3",
244
244
  "vite": "5.4.11",
245
- "vite-plugin-dts": "4.4.0",
245
+ "vite-plugin-dts": "4.5.0",
246
246
  "vitest": "2.1.8",
247
247
  "vitest-axe": "1.0.0-pre.3"
248
248
  },