@ark-ui/react 1.0.0 → 1.1.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 (94) hide show
  1. package/CHANGELOG.md +19 -57
  2. package/README.md +60 -67
  3. package/accordion/accordion.stories.d.ts +0 -1
  4. package/color-picker/color-picker-format-select.cjs +21 -0
  5. package/color-picker/color-picker-format-select.d.ts +6 -0
  6. package/color-picker/color-picker-format-select.mjs +17 -0
  7. package/color-picker/color-picker-format-trigger.cjs +19 -0
  8. package/color-picker/color-picker-format-trigger.d.ts +6 -0
  9. package/color-picker/color-picker-format-trigger.mjs +15 -0
  10. package/color-picker/color-picker-swatch-context.cjs +15 -0
  11. package/color-picker/color-picker-swatch-context.d.ts +6 -0
  12. package/color-picker/color-picker-swatch-context.mjs +10 -0
  13. package/color-picker/color-picker-swatch-indicator.cjs +21 -0
  14. package/color-picker/color-picker-swatch-indicator.d.ts +6 -0
  15. package/color-picker/color-picker-swatch-indicator.mjs +17 -0
  16. package/color-picker/color-picker-swatch-trigger.cjs +4 -1
  17. package/color-picker/color-picker-swatch-trigger.d.ts +1 -5
  18. package/color-picker/color-picker-swatch-trigger.mjs +4 -1
  19. package/color-picker/color-picker-swatch.cjs +4 -3
  20. package/color-picker/color-picker-swatch.mjs +4 -3
  21. package/color-picker/color-picker-transparency-grid.d.ts +2 -5
  22. package/color-picker/color-picker.cjs +3 -1
  23. package/color-picker/color-picker.mjs +3 -1
  24. package/color-picker/index.cjs +10 -0
  25. package/color-picker/index.d.ts +10 -3
  26. package/color-picker/index.mjs +7 -1
  27. package/color-picker/use-color-picker.cjs +1 -1
  28. package/color-picker/use-color-picker.d.ts +4 -1
  29. package/color-picker/use-color-picker.mjs +1 -1
  30. package/dialog/dialog-backdrop.cjs +6 -4
  31. package/dialog/dialog-backdrop.mjs +6 -4
  32. package/dialog/dialog.cjs +2 -1
  33. package/dialog/dialog.mjs +2 -1
  34. package/file-upload/file-upload-context.cjs +15 -0
  35. package/file-upload/file-upload-context.d.ts +6 -0
  36. package/file-upload/file-upload-context.mjs +10 -0
  37. package/file-upload/file-upload-dropzone.cjs +24 -0
  38. package/file-upload/file-upload-dropzone.d.ts +6 -0
  39. package/file-upload/file-upload-dropzone.mjs +20 -0
  40. package/file-upload/file-upload-item-context.cjs +15 -0
  41. package/file-upload/file-upload-item-context.d.ts +6 -0
  42. package/file-upload/file-upload-item-context.mjs +10 -0
  43. package/file-upload/file-upload-item-delete-trigger.cjs +21 -0
  44. package/file-upload/file-upload-item-delete-trigger.d.ts +6 -0
  45. package/file-upload/file-upload-item-delete-trigger.mjs +17 -0
  46. package/file-upload/file-upload-item-group.cjs +24 -0
  47. package/file-upload/file-upload-item-group.d.ts +8 -0
  48. package/file-upload/file-upload-item-group.mjs +20 -0
  49. package/file-upload/file-upload-item-name.cjs +24 -0
  50. package/file-upload/file-upload-item-name.d.ts +6 -0
  51. package/file-upload/file-upload-item-name.mjs +20 -0
  52. package/file-upload/file-upload-item-preview.cjs +31 -0
  53. package/file-upload/file-upload-item-preview.d.ts +6 -0
  54. package/file-upload/file-upload-item-preview.mjs +27 -0
  55. package/file-upload/file-upload-item-size-text.cjs +24 -0
  56. package/file-upload/file-upload-item-size-text.d.ts +6 -0
  57. package/file-upload/file-upload-item-size-text.mjs +20 -0
  58. package/file-upload/file-upload-item.cjs +24 -0
  59. package/file-upload/file-upload-item.d.ts +8 -0
  60. package/file-upload/file-upload-item.mjs +20 -0
  61. package/file-upload/file-upload-label.cjs +19 -0
  62. package/file-upload/file-upload-label.d.ts +6 -0
  63. package/file-upload/file-upload-label.mjs +15 -0
  64. package/file-upload/file-upload-trigger.cjs +21 -0
  65. package/file-upload/file-upload-trigger.d.ts +6 -0
  66. package/file-upload/file-upload-trigger.mjs +17 -0
  67. package/file-upload/file-upload.cjs +42 -0
  68. package/file-upload/file-upload.d.ts +9 -0
  69. package/file-upload/file-upload.mjs +38 -0
  70. package/file-upload/file-upload.stories.d.ts +7 -0
  71. package/file-upload/file-upload.test.d.ts +1 -0
  72. package/file-upload/index.cjs +41 -0
  73. package/file-upload/index.d.ts +27 -0
  74. package/file-upload/index.mjs +27 -0
  75. package/file-upload/use-file-upload.cjs +47 -0
  76. package/file-upload/use-file-upload.d.ts +8 -0
  77. package/file-upload/use-file-upload.mjs +24 -0
  78. package/index.cjs +68 -38
  79. package/index.d.ts +1 -0
  80. package/index.mjs +15 -0
  81. package/menu/menu-positioner.cjs +6 -0
  82. package/menu/menu-positioner.mjs +6 -0
  83. package/menu/menu-trigger.cjs +10 -1
  84. package/menu/menu-trigger.mjs +10 -1
  85. package/number-input/number-input.cjs +35 -30
  86. package/number-input/number-input.d.ts +5 -4
  87. package/number-input/number-input.mjs +35 -30
  88. package/number-input/number-input.stories.d.ts +1 -0
  89. package/package.json +53 -45
  90. package/radio-group/radio-group.stories.d.ts +1 -1
  91. package/select/select.stories.d.ts +1 -0
  92. package/slider/slider.stories.d.ts +1 -1
  93. package/toast/create-toaster.cjs +1 -1
  94. package/toast/create-toaster.mjs +1 -1
@@ -0,0 +1,6 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export interface FileUploadItemSizeTextProps extends HTMLArkProps<'div'> {
5
+ }
6
+ export declare const FileUploadItemSizeText: ForwardRefExoticComponent<FileUploadItemSizeTextProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { ark } from '../factory.mjs';
6
+ import { useFileUploadContext } from './file-upload-context.mjs';
7
+ import { useFileUploadItemContext } from './file-upload-item-context.mjs';
8
+
9
+ const FileUploadItemSizeText = forwardRef(
10
+ (props, ref) => {
11
+ const { children, ...rest } = props;
12
+ const api = useFileUploadContext();
13
+ const item = useFileUploadItemContext();
14
+ const mergedProps = mergeProps(api.getItemSizeTextProps(item), rest);
15
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: children || api.getFileSize(item.file) });
16
+ }
17
+ );
18
+ FileUploadItemSizeText.displayName = "FileUploadItemSizeText";
19
+
20
+ export { FileUploadItemSizeText };
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const createSplitProps = require('../create-split-props.cjs');
10
+ const factory = require('../factory.cjs');
11
+ const runIfFn = require('../run-if-fn.cjs');
12
+ const fileUploadContext = require('./file-upload-context.cjs');
13
+ const fileUploadItemContext = require('./file-upload-item-context.cjs');
14
+
15
+ const FileUploadItem = react.forwardRef((props, ref) => {
16
+ const [itemProps, { children, ...localProps }] = createSplitProps.createSplitProps()(props, ["file"]);
17
+ const api = fileUploadContext.useFileUploadContext();
18
+ const mergedProps = react$1.mergeProps(api.getItemProps(itemProps), localProps);
19
+ const view = runIfFn.runIfFn(children, api);
20
+ return /* @__PURE__ */ jsxRuntime.jsx(fileUploadItemContext.FileUploadItemProvider, { value: itemProps, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.li, { ...mergedProps, ref, children: view }) });
21
+ });
22
+ FileUploadItem.displayName = "FileUploadItem";
23
+
24
+ exports.FileUploadItem = FileUploadItem;
@@ -0,0 +1,8 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import type { ItemProps } from '@zag-js/file-upload';
4
+ import { type HTMLArkProps } from '../factory';
5
+ import type { Assign } from '../types';
6
+ export interface FileUploadItemProps extends Assign<HTMLArkProps<'ul'>, ItemProps> {
7
+ }
8
+ export declare const FileUploadItem: ForwardRefExoticComponent<FileUploadItemProps & RefAttributes<HTMLLIElement>>;
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { createSplitProps } from '../create-split-props.mjs';
6
+ import { ark } from '../factory.mjs';
7
+ import { runIfFn } from '../run-if-fn.mjs';
8
+ import { useFileUploadContext } from './file-upload-context.mjs';
9
+ import { FileUploadItemProvider } from './file-upload-item-context.mjs';
10
+
11
+ const FileUploadItem = forwardRef((props, ref) => {
12
+ const [itemProps, { children, ...localProps }] = createSplitProps()(props, ["file"]);
13
+ const api = useFileUploadContext();
14
+ const mergedProps = mergeProps(api.getItemProps(itemProps), localProps);
15
+ const view = runIfFn(children, api);
16
+ return /* @__PURE__ */ jsx(FileUploadItemProvider, { value: itemProps, children: /* @__PURE__ */ jsx(ark.li, { ...mergedProps, ref, children: view }) });
17
+ });
18
+ FileUploadItem.displayName = "FileUploadItem";
19
+
20
+ export { FileUploadItem };
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const factory = require('../factory.cjs');
10
+ const fileUploadContext = require('./file-upload-context.cjs');
11
+
12
+ const FileUploadLabel = react.forwardRef((props, ref) => {
13
+ const api = fileUploadContext.useFileUploadContext();
14
+ const mergedProps = react$1.mergeProps(api.labelProps, props);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.label, { ...mergedProps, ref });
16
+ });
17
+ FileUploadLabel.displayName = "FileUploadLabel";
18
+
19
+ exports.FileUploadLabel = FileUploadLabel;
@@ -0,0 +1,6 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export interface FileUploadLabelProps extends HTMLArkProps<'label'> {
5
+ }
6
+ export declare const FileUploadLabel: ForwardRefExoticComponent<FileUploadLabelProps & RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { ark } from '../factory.mjs';
6
+ import { useFileUploadContext } from './file-upload-context.mjs';
7
+
8
+ const FileUploadLabel = forwardRef((props, ref) => {
9
+ const api = useFileUploadContext();
10
+ const mergedProps = mergeProps(api.labelProps, props);
11
+ return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });
12
+ });
13
+ FileUploadLabel.displayName = "FileUploadLabel";
14
+
15
+ export { FileUploadLabel };
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const factory = require('../factory.cjs');
10
+ const fileUploadContext = require('./file-upload-context.cjs');
11
+
12
+ const FileUploadTrigger = react.forwardRef(
13
+ (props, ref) => {
14
+ const api = fileUploadContext.useFileUploadContext();
15
+ const mergedProps = react$1.mergeProps(api.triggerProps, props);
16
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.button, { ...mergedProps, ref });
17
+ }
18
+ );
19
+ FileUploadTrigger.displayName = "FileUploadTrigger";
20
+
21
+ exports.FileUploadTrigger = FileUploadTrigger;
@@ -0,0 +1,6 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type HTMLArkProps } from '../factory';
4
+ export interface FileUploadTriggerProps extends HTMLArkProps<'button'> {
5
+ }
6
+ export declare const FileUploadTrigger: ForwardRefExoticComponent<FileUploadTriggerProps & RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { ark } from '../factory.mjs';
6
+ import { useFileUploadContext } from './file-upload-context.mjs';
7
+
8
+ const FileUploadTrigger = forwardRef(
9
+ (props, ref) => {
10
+ const api = useFileUploadContext();
11
+ const mergedProps = mergeProps(api.triggerProps, props);
12
+ return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });
13
+ }
14
+ );
15
+ FileUploadTrigger.displayName = "FileUploadTrigger";
16
+
17
+ export { FileUploadTrigger };
@@ -0,0 +1,42 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const createSplitProps = require('../create-split-props.cjs');
10
+ const factory = require('../factory.cjs');
11
+ const runIfFn = require('../run-if-fn.cjs');
12
+ const fileUploadContext = require('./file-upload-context.cjs');
13
+ const useFileUpload = require('./use-file-upload.cjs');
14
+
15
+ const FileUpload = react.forwardRef((props, ref) => {
16
+ const [useFileUploadProps, { children, ...divProps }] = createSplitProps.createSplitProps()(
17
+ props,
18
+ [
19
+ "accept",
20
+ "allowDrop",
21
+ "dir",
22
+ "disabled",
23
+ "files",
24
+ "getRootNode",
25
+ "id",
26
+ "isValidFile",
27
+ "locale",
28
+ "maxFiles",
29
+ "maxFileSize",
30
+ "minFileSize",
31
+ "name",
32
+ "onFilesChange"
33
+ ]
34
+ );
35
+ const api = useFileUpload.useFileUpload(useFileUploadProps);
36
+ const mergedProps = react$1.mergeProps(api.rootProps, divProps);
37
+ const view = runIfFn.runIfFn(children, api);
38
+ return /* @__PURE__ */ jsxRuntime.jsx(fileUploadContext.FileUploadProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: view }) });
39
+ });
40
+ FileUpload.displayName = "FileUpload";
41
+
42
+ exports.FileUpload = FileUpload;
@@ -0,0 +1,9 @@
1
+ import { ForwardRefExoticComponent, RefAttributes, type ReactNode } from 'react';
2
+ import { type HTMLArkProps } from '../factory';
3
+ import type { Assign } from '../types';
4
+ import { type UseFileUploadProps, type UseFileUploadReturn } from './use-file-upload';
5
+ export interface FileUploadProps extends Assign<HTMLArkProps<'div'>, UseFileUploadProps & {
6
+ children?: ((api: UseFileUploadReturn) => ReactNode) | ReactNode;
7
+ }> {
8
+ }
9
+ export declare const FileUpload: ForwardRefExoticComponent<FileUploadProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,38 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { createSplitProps } from '../create-split-props.mjs';
6
+ import { ark } from '../factory.mjs';
7
+ import { runIfFn } from '../run-if-fn.mjs';
8
+ import { FileUploadProvider } from './file-upload-context.mjs';
9
+ import { useFileUpload } from './use-file-upload.mjs';
10
+
11
+ const FileUpload = forwardRef((props, ref) => {
12
+ const [useFileUploadProps, { children, ...divProps }] = createSplitProps()(
13
+ props,
14
+ [
15
+ "accept",
16
+ "allowDrop",
17
+ "dir",
18
+ "disabled",
19
+ "files",
20
+ "getRootNode",
21
+ "id",
22
+ "isValidFile",
23
+ "locale",
24
+ "maxFiles",
25
+ "maxFileSize",
26
+ "minFileSize",
27
+ "name",
28
+ "onFilesChange"
29
+ ]
30
+ );
31
+ const api = useFileUpload(useFileUploadProps);
32
+ const mergedProps = mergeProps(api.rootProps, divProps);
33
+ const view = runIfFn(children, api);
34
+ return /* @__PURE__ */ jsx(FileUploadProvider, { value: api, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view }) });
35
+ });
36
+ FileUpload.displayName = "FileUpload";
37
+
38
+ export { FileUpload };
@@ -0,0 +1,7 @@
1
+ import { JSX } from 'react/jsx-runtime';
2
+ import type { Meta } from '@storybook/react';
3
+ import { FileUpload } from './';
4
+ type FileUploadType = typeof FileUpload;
5
+ declare const meta: Meta<FileUploadType>;
6
+ export default meta;
7
+ export declare const Basic: () => JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const fileUpload = require('./file-upload.cjs');
7
+ const fileUploadContext = require('./file-upload-context.cjs');
8
+ const fileUploadDropzone = require('./file-upload-dropzone.cjs');
9
+ const fileUploadItem = require('./file-upload-item.cjs');
10
+ const fileUploadItemDeleteTrigger = require('./file-upload-item-delete-trigger.cjs');
11
+ const fileUploadItemGroup = require('./file-upload-item-group.cjs');
12
+ const fileUploadItemName = require('./file-upload-item-name.cjs');
13
+ const fileUploadItemPreview = require('./file-upload-item-preview.cjs');
14
+ const fileUploadItemSizeText = require('./file-upload-item-size-text.cjs');
15
+ const fileUploadLabel = require('./file-upload-label.cjs');
16
+ const fileUploadTrigger = require('./file-upload-trigger.cjs');
17
+
18
+ const FileUpload = Object.assign(fileUpload.FileUpload, {
19
+ Root: fileUpload.FileUpload,
20
+ Dropzone: fileUploadDropzone.FileUploadDropzone,
21
+ Label: fileUploadLabel.FileUploadLabel,
22
+ Trigger: fileUploadTrigger.FileUploadTrigger,
23
+ ItemGroup: fileUploadItemGroup.FileUploadItemGroup,
24
+ Item: fileUploadItem.FileUploadItem,
25
+ ItemName: fileUploadItemName.FileUploadItemName,
26
+ ItemPreview: fileUploadItemPreview.FileUploadItemPreview,
27
+ ItemSizeText: fileUploadItemSizeText.FileUploadItemSizeText,
28
+ ItemDeleteTrigger: fileUploadItemDeleteTrigger.FileUploadItemDeleteTrigger
29
+ });
30
+
31
+ exports.useFileUploadContext = fileUploadContext.useFileUploadContext;
32
+ exports.FileUploadDropzone = fileUploadDropzone.FileUploadDropzone;
33
+ exports.FileUploadItem = fileUploadItem.FileUploadItem;
34
+ exports.FileUploadItemDeleteTrigger = fileUploadItemDeleteTrigger.FileUploadItemDeleteTrigger;
35
+ exports.FileUploadItemGroup = fileUploadItemGroup.FileUploadItemGroup;
36
+ exports.FileUploadItemName = fileUploadItemName.FileUploadItemName;
37
+ exports.FileUploadItemPreview = fileUploadItemPreview.FileUploadItemPreview;
38
+ exports.FileUploadItemSizeText = fileUploadItemSizeText.FileUploadItemSizeText;
39
+ exports.FileUploadLabel = fileUploadLabel.FileUploadLabel;
40
+ exports.FileUploadTrigger = fileUploadTrigger.FileUploadTrigger;
41
+ exports.FileUpload = FileUpload;
@@ -0,0 +1,27 @@
1
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
+ /// <reference types="react" />
3
+ import { type FileUploadProps } from './file-upload';
4
+ import { useFileUploadContext, type FileUploadContext } from './file-upload-context';
5
+ import { FileUploadDropzone, type FileUploadDropzoneProps } from './file-upload-dropzone';
6
+ import { FileUploadItem, type FileUploadItemProps } from './file-upload-item';
7
+ import { FileUploadItemDeleteTrigger, type FileUploadItemDeleteTriggerProps } from './file-upload-item-delete-trigger';
8
+ import { FileUploadItemGroup, type FileUploadItemGroupProps } from './file-upload-item-group';
9
+ import { FileUploadItemName, type FileUploadItemNameProps } from './file-upload-item-name';
10
+ import { FileUploadItemPreview, type FileUploadItemPreviewProps } from './file-upload-item-preview';
11
+ import { FileUploadItemSizeText, type FileUploadItemSizeTextProps } from './file-upload-item-size-text';
12
+ import { FileUploadLabel, type FileUploadLabelProps } from './file-upload-label';
13
+ import { FileUploadTrigger, type FileUploadTriggerProps } from './file-upload-trigger';
14
+ declare const FileUpload: ForwardRefExoticComponent<FileUploadProps & RefAttributes<HTMLDivElement>> & {
15
+ Root: ForwardRefExoticComponent<FileUploadProps & RefAttributes<HTMLDivElement>>;
16
+ Dropzone: ForwardRefExoticComponent<FileUploadDropzoneProps & RefAttributes<HTMLDivElement>>;
17
+ Label: ForwardRefExoticComponent<FileUploadLabelProps & RefAttributes<HTMLLabelElement>>;
18
+ Trigger: ForwardRefExoticComponent<FileUploadTriggerProps & RefAttributes<HTMLButtonElement>>;
19
+ ItemGroup: ForwardRefExoticComponent<FileUploadItemGroupProps & RefAttributes<HTMLUListElement>>;
20
+ Item: ForwardRefExoticComponent<FileUploadItemProps & RefAttributes<HTMLLIElement>>;
21
+ ItemName: ForwardRefExoticComponent<FileUploadItemNameProps & RefAttributes<HTMLDivElement>>;
22
+ ItemPreview: ForwardRefExoticComponent<FileUploadItemPreviewProps & RefAttributes<HTMLImageElement>>;
23
+ ItemSizeText: ForwardRefExoticComponent<FileUploadItemSizeTextProps & RefAttributes<HTMLDivElement>>;
24
+ ItemDeleteTrigger: ForwardRefExoticComponent<FileUploadItemDeleteTriggerProps & RefAttributes<HTMLButtonElement>>;
25
+ };
26
+ export { FileUpload, FileUploadDropzone, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemGroup, FileUploadItemName, FileUploadItemPreview, FileUploadItemSizeText, FileUploadLabel, FileUploadTrigger, useFileUploadContext, };
27
+ export type { FileUploadContext, FileUploadDropzoneProps, FileUploadItemDeleteTriggerProps, FileUploadItemGroupProps, FileUploadItemNameProps, FileUploadItemPreviewProps, FileUploadItemProps, FileUploadItemSizeTextProps, FileUploadLabelProps, FileUploadProps, FileUploadTriggerProps, };
@@ -0,0 +1,27 @@
1
+ 'use client';
2
+ import { FileUpload as FileUpload$1 } from './file-upload.mjs';
3
+ export { useFileUploadContext } from './file-upload-context.mjs';
4
+ import { FileUploadDropzone } from './file-upload-dropzone.mjs';
5
+ import { FileUploadItem } from './file-upload-item.mjs';
6
+ import { FileUploadItemDeleteTrigger } from './file-upload-item-delete-trigger.mjs';
7
+ import { FileUploadItemGroup } from './file-upload-item-group.mjs';
8
+ import { FileUploadItemName } from './file-upload-item-name.mjs';
9
+ import { FileUploadItemPreview } from './file-upload-item-preview.mjs';
10
+ import { FileUploadItemSizeText } from './file-upload-item-size-text.mjs';
11
+ import { FileUploadLabel } from './file-upload-label.mjs';
12
+ import { FileUploadTrigger } from './file-upload-trigger.mjs';
13
+
14
+ const FileUpload = Object.assign(FileUpload$1, {
15
+ Root: FileUpload$1,
16
+ Dropzone: FileUploadDropzone,
17
+ Label: FileUploadLabel,
18
+ Trigger: FileUploadTrigger,
19
+ ItemGroup: FileUploadItemGroup,
20
+ Item: FileUploadItem,
21
+ ItemName: FileUploadItemName,
22
+ ItemPreview: FileUploadItemPreview,
23
+ ItemSizeText: FileUploadItemSizeText,
24
+ ItemDeleteTrigger: FileUploadItemDeleteTrigger
25
+ });
26
+
27
+ export { FileUpload, FileUploadDropzone, FileUploadItem, FileUploadItemDeleteTrigger, FileUploadItemGroup, FileUploadItemName, FileUploadItemPreview, FileUploadItemSizeText, FileUploadLabel, FileUploadTrigger };
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const fileUpload = require('@zag-js/file-upload');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ require('../environment/index.cjs');
10
+ const useEvent = require('../use-event.cjs');
11
+ const environmentContext = require('../environment/environment-context.cjs');
12
+
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);
28
+ }
29
+
30
+ const fileUpload__namespace = /*#__PURE__*/_interopNamespaceDefault(fileUpload);
31
+
32
+ const useFileUpload = (props = {}) => {
33
+ const initialContext = {
34
+ id: react.useId(),
35
+ getRootNode: environmentContext.useEnvironmentContext(),
36
+ ...props
37
+ };
38
+ const context = {
39
+ ...initialContext,
40
+ isValidFile: useEvent.useEvent(props.isValidFile),
41
+ onFilesChange: useEvent.useEvent(props.onFilesChange, { sync: true })
42
+ };
43
+ const [state, send] = react$1.useMachine(fileUpload__namespace.machine(initialContext), { context });
44
+ return fileUpload__namespace.connect(state, send, react$1.normalizeProps);
45
+ };
46
+
47
+ exports.useFileUpload = useFileUpload;
@@ -0,0 +1,8 @@
1
+ import * as fileUpload from '@zag-js/file-upload';
2
+ import { type PropTypes } from '@zag-js/react';
3
+ import { type Optional } from '../types';
4
+ export interface UseFileUploadProps extends Optional<fileUpload.Context, 'id'> {
5
+ }
6
+ export interface UseFileUploadReturn extends fileUpload.Api<PropTypes> {
7
+ }
8
+ export declare const useFileUpload: (props?: UseFileUploadProps) => UseFileUploadReturn;
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ import * as fileUpload from '@zag-js/file-upload';
3
+ import { useMachine, normalizeProps } from '@zag-js/react';
4
+ import { useId } from 'react';
5
+ import '../environment/index.mjs';
6
+ import { useEvent } from '../use-event.mjs';
7
+ import { useEnvironmentContext } from '../environment/environment-context.mjs';
8
+
9
+ const useFileUpload = (props = {}) => {
10
+ const initialContext = {
11
+ id: useId(),
12
+ getRootNode: useEnvironmentContext(),
13
+ ...props
14
+ };
15
+ const context = {
16
+ ...initialContext,
17
+ isValidFile: useEvent(props.isValidFile),
18
+ onFilesChange: useEvent(props.onFilesChange, { sync: true })
19
+ };
20
+ const [state, send] = useMachine(fileUpload.machine(initialContext), { context });
21
+ return fileUpload.connect(state, send, normalizeProps);
22
+ };
23
+
24
+ export { useFileUpload };
package/index.cjs CHANGED
@@ -13,26 +13,27 @@ const index$7 = require('./dialog/index.cjs');
13
13
  const index$8 = require('./editable/index.cjs');
14
14
  const index$9 = require('./environment/index.cjs');
15
15
  const factory = require('./factory.cjs');
16
- const index$a = require('./hover-card/index.cjs');
17
- const index$b = require('./menu/index.cjs');
18
- const index$c = require('./number-input/index.cjs');
19
- const index$d = require('./pagination/index.cjs');
20
- const index$e = require('./pin-input/index.cjs');
21
- const index$f = require('./popover/index.cjs');
16
+ const index$a = require('./file-upload/index.cjs');
17
+ const index$b = require('./hover-card/index.cjs');
18
+ const index$c = require('./menu/index.cjs');
19
+ const index$d = require('./number-input/index.cjs');
20
+ const index$e = require('./pagination/index.cjs');
21
+ const index$f = require('./pin-input/index.cjs');
22
+ const index$g = require('./popover/index.cjs');
22
23
  const portal = require('./portal.cjs');
23
- const index$g = require('./presence/index.cjs');
24
- const index$h = require('./radio-group/index.cjs');
25
- const index$i = require('./rating-group/index.cjs');
26
- const index$j = require('./segment-group/index.cjs');
27
- const index$k = require('./select/index.cjs');
28
- const index$l = require('./slider/index.cjs');
29
- const index$m = require('./splitter/index.cjs');
30
- const index$n = require('./switch/index.cjs');
31
- const index$o = require('./tabs/index.cjs');
32
- const index$p = require('./tags-input/index.cjs');
33
- const index$q = require('./toast/index.cjs');
34
- const index$r = require('./toggle-group/index.cjs');
35
- const index$s = require('./tooltip/index.cjs');
24
+ const index$h = require('./presence/index.cjs');
25
+ const index$i = require('./radio-group/index.cjs');
26
+ const index$j = require('./rating-group/index.cjs');
27
+ const index$k = require('./segment-group/index.cjs');
28
+ const index$l = require('./select/index.cjs');
29
+ const index$m = require('./slider/index.cjs');
30
+ const index$n = require('./splitter/index.cjs');
31
+ const index$o = require('./switch/index.cjs');
32
+ const index$p = require('./tabs/index.cjs');
33
+ const index$q = require('./tags-input/index.cjs');
34
+ const index$r = require('./toast/index.cjs');
35
+ const index$s = require('./toggle-group/index.cjs');
36
+ const index$t = require('./tooltip/index.cjs');
36
37
  const accordionItem = require('./accordion/accordion-item.cjs');
37
38
  const accordionItemContent = require('./accordion/accordion-item-content.cjs');
38
39
  const accordionItemIndicator = require('./accordion/accordion-item-indicator.cjs');
@@ -65,14 +66,18 @@ const colorPickerChannelSliderTrack = require('./color-picker/color-picker-chann
65
66
  const colorPickerContent = require('./color-picker/color-picker-content.cjs');
66
67
  const colorPickerControl = require('./color-picker/color-picker-control.cjs');
67
68
  const colorPickerEyeDropperTrigger = require('./color-picker/color-picker-eye-dropper-trigger.cjs');
69
+ const colorPickerFormatSelect = require('./color-picker/color-picker-format-select.cjs');
70
+ const colorPickerFormatTrigger = require('./color-picker/color-picker-format-trigger.cjs');
68
71
  const colorPickerLabel = require('./color-picker/color-picker-label.cjs');
69
72
  const colorPickerPositioner = require('./color-picker/color-picker-positioner.cjs');
70
73
  const colorPickerSwatch = require('./color-picker/color-picker-swatch.cjs');
71
74
  const colorPickerSwatchGroup = require('./color-picker/color-picker-swatch-group.cjs');
75
+ const colorPickerSwatchIndicator = require('./color-picker/color-picker-swatch-indicator.cjs');
72
76
  const colorPickerSwatchTrigger = require('./color-picker/color-picker-swatch-trigger.cjs');
73
77
  const colorPickerTransparencyGrid = require('./color-picker/color-picker-transparency-grid.cjs');
74
78
  const colorPickerTrigger = require('./color-picker/color-picker-trigger.cjs');
75
79
  const colorPickerValueText = require('./color-picker/color-picker-value-text.cjs');
80
+ const colorPickerView = require('./color-picker/color-picker-view.cjs');
76
81
  const colorPickerAreaContext = require('./color-picker/color-picker-area-context.cjs');
77
82
  const colorPickerChannelSliderContext = require('./color-picker/color-picker-channel-slider-context.cjs');
78
83
  const colorPickerContext = require('./color-picker/color-picker-context.cjs');
@@ -133,6 +138,16 @@ const editablePreview = require('./editable/editable-preview.cjs');
133
138
  const editableSubmitTrigger = require('./editable/editable-submit-trigger.cjs');
134
139
  const editableContext = require('./editable/editable-context.cjs');
135
140
  const environmentContext = require('./environment/environment-context.cjs');
141
+ const fileUploadDropzone = require('./file-upload/file-upload-dropzone.cjs');
142
+ const fileUploadItem = require('./file-upload/file-upload-item.cjs');
143
+ const fileUploadItemDeleteTrigger = require('./file-upload/file-upload-item-delete-trigger.cjs');
144
+ const fileUploadItemGroup = require('./file-upload/file-upload-item-group.cjs');
145
+ const fileUploadItemName = require('./file-upload/file-upload-item-name.cjs');
146
+ const fileUploadItemPreview = require('./file-upload/file-upload-item-preview.cjs');
147
+ const fileUploadItemSizeText = require('./file-upload/file-upload-item-size-text.cjs');
148
+ const fileUploadLabel = require('./file-upload/file-upload-label.cjs');
149
+ const fileUploadTrigger = require('./file-upload/file-upload-trigger.cjs');
150
+ const fileUploadContext = require('./file-upload/file-upload-context.cjs');
136
151
  const hoverCardArrow = require('./hover-card/hover-card-arrow.cjs');
137
152
  const hoverCardArrowTip = require('./hover-card/hover-card-arrow-tip.cjs');
138
153
  const hoverCardContent = require('./hover-card/hover-card-content.cjs');
@@ -274,26 +289,27 @@ exports.Editable = index$8.Editable;
274
289
  exports.Environment = index$9.Environment;
275
290
  exports.ark = factory.ark;
276
291
  exports.jsxFactory = factory.jsxFactory;
277
- exports.HoverCard = index$a.HoverCard;
278
- exports.Menu = index$b.Menu;
279
- exports.NumberInput = index$c.NumberInput;
280
- exports.Pagination = index$d.Pagination;
281
- exports.PinInput = index$e.PinInput;
282
- exports.Popover = index$f.Popover;
292
+ exports.FileUpload = index$a.FileUpload;
293
+ exports.HoverCard = index$b.HoverCard;
294
+ exports.Menu = index$c.Menu;
295
+ exports.NumberInput = index$d.NumberInput;
296
+ exports.Pagination = index$e.Pagination;
297
+ exports.PinInput = index$f.PinInput;
298
+ exports.Popover = index$g.Popover;
283
299
  exports.Portal = portal.Portal;
284
- exports.Presence = index$g.Presence;
285
- exports.RadioGroup = index$h.RadioGroup;
286
- exports.RatingGroup = index$i.RatingGroup;
287
- exports.SegmentGroup = index$j.SegmentGroup;
288
- exports.Select = index$k.Select;
289
- exports.Slider = index$l.Slider;
290
- exports.Splitter = index$m.Splitter;
291
- exports.Switch = index$n.Switch;
292
- exports.Tabs = index$o.Tabs;
293
- exports.TagsInput = index$p.TagsInput;
294
- exports.Toast = index$q.Toast;
295
- exports.ToggleGroup = index$r.ToggleGroup;
296
- exports.Tooltip = index$s.Tooltip;
300
+ exports.Presence = index$h.Presence;
301
+ exports.RadioGroup = index$i.RadioGroup;
302
+ exports.RatingGroup = index$j.RatingGroup;
303
+ exports.SegmentGroup = index$k.SegmentGroup;
304
+ exports.Select = index$l.Select;
305
+ exports.Slider = index$m.Slider;
306
+ exports.Splitter = index$n.Splitter;
307
+ exports.Switch = index$o.Switch;
308
+ exports.Tabs = index$p.Tabs;
309
+ exports.TagsInput = index$q.TagsInput;
310
+ exports.Toast = index$r.Toast;
311
+ exports.ToggleGroup = index$s.ToggleGroup;
312
+ exports.Tooltip = index$t.Tooltip;
297
313
  exports.AccordionItem = accordionItem.AccordionItem;
298
314
  exports.AccordionItemContent = accordionItemContent.AccordionItemContent;
299
315
  exports.AccordionItemIndicator = accordionItemIndicator.AccordionItemIndicator;
@@ -326,14 +342,18 @@ exports.ColorPickerChannelSliderTrack = colorPickerChannelSliderTrack.ColorPicke
326
342
  exports.ColorPickerContent = colorPickerContent.ColorPickerContent;
327
343
  exports.ColorPickerControl = colorPickerControl.ColorPickerControl;
328
344
  exports.ColorPickerEyeDropperTrigger = colorPickerEyeDropperTrigger.ColorPickerEyeDropperTrigger;
345
+ exports.ColorPickerFormatSelect = colorPickerFormatSelect.ColorPickerFormatSelect;
346
+ exports.ColorPickerFormatTrigger = colorPickerFormatTrigger.ColorPickerFormatTrigger;
329
347
  exports.ColorPickerLabel = colorPickerLabel.ColorPickerLabel;
330
348
  exports.ColorPickerPositioner = colorPickerPositioner.ColorPickerPositioner;
331
349
  exports.ColorPickerSwatch = colorPickerSwatch.ColorPickerSwatch;
332
350
  exports.ColorPickerSwatchGroup = colorPickerSwatchGroup.ColorPickerSwatchGroup;
351
+ exports.ColorPickerSwatchIndicator = colorPickerSwatchIndicator.ColorPickerSwatchIndicator;
333
352
  exports.ColorPickerSwatchTrigger = colorPickerSwatchTrigger.ColorPickerSwatchTrigger;
334
353
  exports.ColorPickerTransparencyGrid = colorPickerTransparencyGrid.ColorPickerTransparencyGrid;
335
354
  exports.ColorPickerTrigger = colorPickerTrigger.ColorPickerTrigger;
336
355
  exports.ColorPickerValueText = colorPickerValueText.ColorPickerValueText;
356
+ exports.ColorPickerView = colorPickerView.ColorPickerView;
337
357
  exports.useColorPickerAreaContext = colorPickerAreaContext.useColorPickerAreaContext;
338
358
  exports.useColorPickerChannelSliderContext = colorPickerChannelSliderContext.useColorPickerChannelSliderContext;
339
359
  exports.useColorPickerContext = colorPickerContext.useColorPickerContext;
@@ -394,6 +414,16 @@ exports.EditablePreview = editablePreview.EditablePreview;
394
414
  exports.EditableSubmitTrigger = editableSubmitTrigger.EditableSubmitTrigger;
395
415
  exports.useEditableContext = editableContext.useEditableContext;
396
416
  exports.useEnvironmentContext = environmentContext.useEnvironmentContext;
417
+ exports.FileUploadDropzone = fileUploadDropzone.FileUploadDropzone;
418
+ exports.FileUploadItem = fileUploadItem.FileUploadItem;
419
+ exports.FileUploadItemDeleteTrigger = fileUploadItemDeleteTrigger.FileUploadItemDeleteTrigger;
420
+ exports.FileUploadItemGroup = fileUploadItemGroup.FileUploadItemGroup;
421
+ exports.FileUploadItemName = fileUploadItemName.FileUploadItemName;
422
+ exports.FileUploadItemPreview = fileUploadItemPreview.FileUploadItemPreview;
423
+ exports.FileUploadItemSizeText = fileUploadItemSizeText.FileUploadItemSizeText;
424
+ exports.FileUploadLabel = fileUploadLabel.FileUploadLabel;
425
+ exports.FileUploadTrigger = fileUploadTrigger.FileUploadTrigger;
426
+ exports.useFileUploadContext = fileUploadContext.useFileUploadContext;
397
427
  exports.HoverCardArrow = hoverCardArrow.HoverCardArrow;
398
428
  exports.HoverCardArrowTip = hoverCardArrowTip.HoverCardArrowTip;
399
429
  exports.HoverCardContent = hoverCardContent.HoverCardContent;
package/index.d.ts CHANGED
@@ -9,6 +9,7 @@ export * from './dialog';
9
9
  export * from './editable';
10
10
  export * from './environment';
11
11
  export * from './factory';
12
+ export * from './file-upload';
12
13
  export * from './hover-card';
13
14
  export * from './menu';
14
15
  export * from './number-input';