@ark-ui/react 3.4.0-1 → 3.4.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 (147) hide show
  1. package/dist/components/checkbox/checkbox-hidden-input.cjs +3 -1
  2. package/dist/components/checkbox/checkbox-hidden-input.js +3 -1
  3. package/dist/components/checkbox/use-checkbox.cjs +10 -0
  4. package/dist/components/checkbox/use-checkbox.js +10 -0
  5. package/dist/components/color-picker/color-picker-hidden-input.cjs +3 -1
  6. package/dist/components/color-picker/color-picker-hidden-input.js +3 -1
  7. package/dist/components/color-picker/color-picker-root.cjs +1 -0
  8. package/dist/components/color-picker/color-picker-root.js +1 -0
  9. package/dist/components/color-picker/use-color-picker.cjs +9 -0
  10. package/dist/components/color-picker/use-color-picker.js +9 -0
  11. package/dist/components/combobox/combobox-input.cjs +3 -1
  12. package/dist/components/combobox/combobox-input.js +3 -1
  13. package/dist/components/combobox/combobox-root.cjs +1 -0
  14. package/dist/components/combobox/combobox-root.js +1 -0
  15. package/dist/components/combobox/use-combobox.cjs +10 -0
  16. package/dist/components/combobox/use-combobox.js +10 -0
  17. package/dist/components/dialog/dialog-description.d.cts +1 -1
  18. package/dist/components/dialog/dialog-description.d.ts +1 -1
  19. package/dist/components/editable/editable-input.cjs +3 -1
  20. package/dist/components/editable/editable-input.js +3 -1
  21. package/dist/components/editable/editable-root.cjs +1 -0
  22. package/dist/components/editable/editable-root.js +1 -0
  23. package/dist/components/editable/use-editable.cjs +10 -0
  24. package/dist/components/editable/use-editable.js +10 -0
  25. package/dist/components/field/field-context.cjs +10 -0
  26. package/dist/components/field/field-context.d.cts +7 -0
  27. package/dist/components/field/field-context.d.ts +7 -0
  28. package/dist/components/field/field-context.js +6 -0
  29. package/dist/components/field/field-error-text.cjs +22 -0
  30. package/dist/components/field/field-error-text.d.cts +8 -0
  31. package/dist/components/field/field-error-text.d.ts +8 -0
  32. package/dist/components/field/field-error-text.js +18 -0
  33. package/dist/components/field/field-helper-text.cjs +19 -0
  34. package/dist/components/field/field-helper-text.d.cts +8 -0
  35. package/dist/components/field/field-helper-text.d.ts +8 -0
  36. package/dist/components/field/field-helper-text.js +15 -0
  37. package/dist/components/field/field-input.cjs +19 -0
  38. package/dist/components/field/field-input.d.cts +8 -0
  39. package/dist/components/field/field-input.d.ts +8 -0
  40. package/dist/components/field/field-input.js +15 -0
  41. package/dist/components/field/field-label.cjs +19 -0
  42. package/dist/components/field/field-label.d.cts +8 -0
  43. package/dist/components/field/field-label.d.ts +8 -0
  44. package/dist/components/field/field-label.js +15 -0
  45. package/dist/components/field/field-root-provider.cjs +22 -0
  46. package/dist/components/field/field-root-provider.d.cts +13 -0
  47. package/dist/components/field/field-root-provider.d.ts +13 -0
  48. package/dist/components/field/field-root-provider.js +18 -0
  49. package/dist/components/field/field-root.cjs +29 -0
  50. package/dist/components/field/field-root.d.cts +9 -0
  51. package/dist/components/field/field-root.d.ts +9 -0
  52. package/dist/components/field/field-root.js +25 -0
  53. package/dist/components/field/field-select.cjs +19 -0
  54. package/dist/components/field/field-select.d.cts +8 -0
  55. package/dist/components/field/field-select.d.ts +8 -0
  56. package/dist/components/field/field-select.js +15 -0
  57. package/dist/components/field/field-textarea.cjs +19 -0
  58. package/dist/components/field/field-textarea.d.cts +8 -0
  59. package/dist/components/field/field-textarea.d.ts +8 -0
  60. package/dist/components/field/field-textarea.js +15 -0
  61. package/dist/components/field/field.cjs +25 -0
  62. package/dist/components/field/field.d.cts +9 -0
  63. package/dist/components/field/field.d.ts +9 -0
  64. package/dist/components/field/field.js +9 -0
  65. package/dist/components/field/index.cjs +29 -0
  66. package/dist/components/field/index.d.cts +11 -0
  67. package/dist/components/field/index.d.ts +11 -0
  68. package/dist/components/field/index.js +12 -0
  69. package/dist/components/field/use-field-context.cjs +16 -0
  70. package/dist/components/field/use-field-context.d.cts +6 -0
  71. package/dist/components/field/use-field-context.d.ts +6 -0
  72. package/dist/components/field/use-field-context.js +11 -0
  73. package/dist/components/field/use-field.cjs +110 -0
  74. package/dist/components/field/use-field.d.cts +100 -0
  75. package/dist/components/field/use-field.d.ts +100 -0
  76. package/dist/components/field/use-field.js +106 -0
  77. package/dist/components/file-upload/file-upload-hidden-input.cjs +3 -1
  78. package/dist/components/file-upload/file-upload-hidden-input.js +3 -1
  79. package/dist/components/file-upload/file-upload-root.cjs +1 -0
  80. package/dist/components/file-upload/file-upload-root.js +1 -0
  81. package/dist/components/file-upload/use-file-upload.cjs +8 -0
  82. package/dist/components/file-upload/use-file-upload.js +8 -0
  83. package/dist/components/index.cjs +24 -0
  84. package/dist/components/index.d.cts +1 -0
  85. package/dist/components/index.d.ts +1 -0
  86. package/dist/components/index.js +13 -0
  87. package/dist/components/menu/menu-checkbox-item.cjs +2 -2
  88. package/dist/components/menu/menu-checkbox-item.js +2 -2
  89. package/dist/components/menu/menu-radio-item.cjs +2 -2
  90. package/dist/components/menu/menu-radio-item.js +2 -2
  91. package/dist/components/number-input/number-input-input.cjs +3 -1
  92. package/dist/components/number-input/number-input-input.js +3 -1
  93. package/dist/components/number-input/number-input-root.cjs +1 -0
  94. package/dist/components/number-input/number-input-root.js +1 -0
  95. package/dist/components/number-input/use-number-input.cjs +10 -0
  96. package/dist/components/number-input/use-number-input.js +10 -0
  97. package/dist/components/pin-input/pin-input-hidden-input.cjs +3 -1
  98. package/dist/components/pin-input/pin-input-hidden-input.js +3 -1
  99. package/dist/components/pin-input/pin-input-root.cjs +2 -0
  100. package/dist/components/pin-input/pin-input-root.js +2 -0
  101. package/dist/components/pin-input/use-pin-input.cjs +10 -0
  102. package/dist/components/pin-input/use-pin-input.js +10 -0
  103. package/dist/components/popover/popover-description.d.cts +1 -1
  104. package/dist/components/popover/popover-description.d.ts +1 -1
  105. package/dist/components/portal/portal.cjs +8 -2
  106. package/dist/components/portal/portal.js +8 -2
  107. package/dist/components/rating-group/rating-group-hidden-input.cjs +3 -1
  108. package/dist/components/rating-group/rating-group-hidden-input.js +3 -1
  109. package/dist/components/rating-group/rating-group-root.cjs +1 -0
  110. package/dist/components/rating-group/rating-group-root.js +1 -0
  111. package/dist/components/rating-group/use-rating-group.cjs +9 -0
  112. package/dist/components/rating-group/use-rating-group.js +9 -0
  113. package/dist/components/select/select-hidden-select.cjs +3 -1
  114. package/dist/components/select/select-hidden-select.js +3 -1
  115. package/dist/components/select/select-root.cjs +1 -0
  116. package/dist/components/select/select-root.js +1 -0
  117. package/dist/components/select/use-select.cjs +10 -0
  118. package/dist/components/select/use-select.js +10 -0
  119. package/dist/components/signature-pad/index.cjs +2 -0
  120. package/dist/components/signature-pad/index.d.cts +1 -0
  121. package/dist/components/signature-pad/index.d.ts +1 -0
  122. package/dist/components/signature-pad/index.js +1 -0
  123. package/dist/components/signature-pad/signature-pad-hidden-input.cjs +25 -0
  124. package/dist/components/signature-pad/signature-pad-hidden-input.d.cts +10 -0
  125. package/dist/components/signature-pad/signature-pad-hidden-input.d.ts +10 -0
  126. package/dist/components/signature-pad/signature-pad-hidden-input.js +21 -0
  127. package/dist/components/signature-pad/signature-pad-root.cjs +4 -1
  128. package/dist/components/signature-pad/signature-pad-root.js +4 -1
  129. package/dist/components/signature-pad/signature-pad.cjs +2 -0
  130. package/dist/components/signature-pad/signature-pad.d.cts +1 -0
  131. package/dist/components/signature-pad/signature-pad.d.ts +1 -0
  132. package/dist/components/signature-pad/signature-pad.js +1 -0
  133. package/dist/components/signature-pad/use-signature-pad.cjs +9 -0
  134. package/dist/components/signature-pad/use-signature-pad.js +9 -0
  135. package/dist/components/switch/switch-hidden-input.cjs +3 -1
  136. package/dist/components/switch/switch-hidden-input.js +3 -1
  137. package/dist/components/switch/use-switch.cjs +10 -0
  138. package/dist/components/switch/use-switch.js +10 -0
  139. package/dist/components/tags-input/tags-input-hidden-input.cjs +3 -1
  140. package/dist/components/tags-input/tags-input-hidden-input.js +3 -1
  141. package/dist/components/tags-input/tags-input-root.cjs +1 -0
  142. package/dist/components/tags-input/tags-input-root.js +1 -0
  143. package/dist/components/tags-input/use-tags-input.cjs +10 -0
  144. package/dist/components/tags-input/use-tags-input.js +10 -0
  145. package/dist/index.cjs +24 -0
  146. package/dist/index.js +13 -0
  147. package/package.json +60 -49
@@ -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 useFieldContext = require('./use-field-context.cjs');
11
+
12
+ const FieldLabel = react.forwardRef((props, ref) => {
13
+ const field = useFieldContext.useFieldContext();
14
+ const mergedProps = react$1.mergeProps(field?.getLabelProps(), props);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.label, { ...mergedProps, ref });
16
+ });
17
+ FieldLabel.displayName = "FieldLabel";
18
+
19
+ exports.FieldLabel = FieldLabel;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface FieldLabelBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface FieldLabelProps extends HTMLProps<'label'>, FieldLabelBaseProps {
7
+ }
8
+ export declare const FieldLabel: ForwardRefExoticComponent<FieldLabelProps & RefAttributes<HTMLLabelElement>>;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface FieldLabelBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface FieldLabelProps extends HTMLProps<'label'>, FieldLabelBaseProps {
7
+ }
8
+ export declare const FieldLabel: ForwardRefExoticComponent<FieldLabelProps & 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.js';
6
+ import { useFieldContext } from './use-field-context.js';
7
+
8
+ const FieldLabel = forwardRef((props, ref) => {
9
+ const field = useFieldContext();
10
+ const mergedProps = mergeProps(field?.getLabelProps(), props);
11
+ return /* @__PURE__ */ jsx(ark.label, { ...mergedProps, ref });
12
+ });
13
+ FieldLabel.displayName = "FieldLabel";
14
+
15
+ export { FieldLabel };
@@ -0,0 +1,22 @@
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('../../utils/create-split-props.cjs');
10
+ const factory = require('../factory.cjs');
11
+ const useFieldContext = require('./use-field-context.cjs');
12
+
13
+ const FieldRootProvider = react.forwardRef(
14
+ (props, ref) => {
15
+ const [{ value: field }, localProps] = createSplitProps.createSplitProps()(props, ["value"]);
16
+ const mergedProps = react$1.mergeProps(field.getRootProps(), localProps);
17
+ return /* @__PURE__ */ jsxRuntime.jsx(useFieldContext.FieldProvider, { value: field, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) });
18
+ }
19
+ );
20
+ FieldRootProvider.displayName = "FieldRootProvider";
21
+
22
+ exports.FieldRootProvider = FieldRootProvider;
@@ -0,0 +1,13 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseFieldReturn } from './use-field';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ interface RootProviderProps {
6
+ value: UseFieldReturn;
7
+ }
8
+ export interface FieldRootProviderBaseProps extends RootProviderProps, PolymorphicProps {
9
+ }
10
+ export interface FieldRootProviderProps extends HTMLProps<'div'>, FieldRootProviderBaseProps {
11
+ }
12
+ export declare const FieldRootProvider: ForwardRefExoticComponent<FieldRootProviderProps & RefAttributes<HTMLDivElement>>;
13
+ export {};
@@ -0,0 +1,13 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseFieldReturn } from './use-field';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ interface RootProviderProps {
6
+ value: UseFieldReturn;
7
+ }
8
+ export interface FieldRootProviderBaseProps extends RootProviderProps, PolymorphicProps {
9
+ }
10
+ export interface FieldRootProviderProps extends HTMLProps<'div'>, FieldRootProviderBaseProps {
11
+ }
12
+ export declare const FieldRootProvider: ForwardRefExoticComponent<FieldRootProviderProps & RefAttributes<HTMLDivElement>>;
13
+ export {};
@@ -0,0 +1,18 @@
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 '../../utils/create-split-props.js';
6
+ import { ark } from '../factory.js';
7
+ import { FieldProvider } from './use-field-context.js';
8
+
9
+ const FieldRootProvider = forwardRef(
10
+ (props, ref) => {
11
+ const [{ value: field }, localProps] = createSplitProps()(props, ["value"]);
12
+ const mergedProps = mergeProps(field.getRootProps(), localProps);
13
+ return /* @__PURE__ */ jsx(FieldProvider, { value: field, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });
14
+ }
15
+ );
16
+ FieldRootProvider.displayName = "FieldRootProvider";
17
+
18
+ export { FieldRootProvider };
@@ -0,0 +1,29 @@
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 composeRefs = require('../../utils/compose-refs.cjs');
10
+ const createSplitProps = require('../../utils/create-split-props.cjs');
11
+ const factory = require('../factory.cjs');
12
+ const useField = require('./use-field.cjs');
13
+ const useFieldContext = require('./use-field-context.cjs');
14
+
15
+ const FieldRoot = react.forwardRef((props, ref) => {
16
+ const [useFieldProps, localProps] = createSplitProps.createSplitProps()(props, [
17
+ "id",
18
+ "disabled",
19
+ "invalid",
20
+ "readOnly",
21
+ "required"
22
+ ]);
23
+ const field = useField.useField(useFieldProps);
24
+ const mergedProps = react$1.mergeProps(field.getRootProps(), localProps);
25
+ return /* @__PURE__ */ jsxRuntime.jsx(useFieldContext.FieldProvider, { value: field, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref: composeRefs.composeRefs(ref, field.refs.rootRef) }) });
26
+ });
27
+ FieldRoot.displayName = "FieldRoot";
28
+
29
+ exports.FieldRoot = FieldRoot;
@@ -0,0 +1,9 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseFieldProps } from './use-field';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface FieldRootBaseProps extends UseFieldProps, PolymorphicProps {
6
+ }
7
+ export interface FieldRootProps extends HTMLProps<'div'>, FieldRootBaseProps {
8
+ }
9
+ export declare const FieldRoot: ForwardRefExoticComponent<FieldRootProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseFieldProps } from './use-field';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface FieldRootBaseProps extends UseFieldProps, PolymorphicProps {
6
+ }
7
+ export interface FieldRootProps extends HTMLProps<'div'>, FieldRootBaseProps {
8
+ }
9
+ export declare const FieldRoot: ForwardRefExoticComponent<FieldRootProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { composeRefs } from '../../utils/compose-refs.js';
6
+ import { createSplitProps } from '../../utils/create-split-props.js';
7
+ import { ark } from '../factory.js';
8
+ import { useField } from './use-field.js';
9
+ import { FieldProvider } from './use-field-context.js';
10
+
11
+ const FieldRoot = forwardRef((props, ref) => {
12
+ const [useFieldProps, localProps] = createSplitProps()(props, [
13
+ "id",
14
+ "disabled",
15
+ "invalid",
16
+ "readOnly",
17
+ "required"
18
+ ]);
19
+ const field = useField(useFieldProps);
20
+ const mergedProps = mergeProps(field.getRootProps(), localProps);
21
+ return /* @__PURE__ */ jsx(FieldProvider, { value: field, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(ref, field.refs.rootRef) }) });
22
+ });
23
+ FieldRoot.displayName = "FieldRoot";
24
+
25
+ export { FieldRoot };
@@ -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 useFieldContext = require('./use-field-context.cjs');
11
+
12
+ const FieldSelect = react.forwardRef((props, ref) => {
13
+ const field = useFieldContext.useFieldContext();
14
+ const mergedProps = react$1.mergeProps(field?.getSelectProps(), props);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.select, { ...mergedProps, ref });
16
+ });
17
+ FieldSelect.displayName = "FieldSelect";
18
+
19
+ exports.FieldSelect = FieldSelect;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface FieldSelectBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface FieldSelectProps extends HTMLProps<'select'>, FieldSelectBaseProps {
7
+ }
8
+ export declare const FieldSelect: ForwardRefExoticComponent<FieldSelectProps & RefAttributes<HTMLSelectElement>>;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface FieldSelectBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface FieldSelectProps extends HTMLProps<'select'>, FieldSelectBaseProps {
7
+ }
8
+ export declare const FieldSelect: ForwardRefExoticComponent<FieldSelectProps & RefAttributes<HTMLSelectElement>>;
@@ -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.js';
6
+ import { useFieldContext } from './use-field-context.js';
7
+
8
+ const FieldSelect = forwardRef((props, ref) => {
9
+ const field = useFieldContext();
10
+ const mergedProps = mergeProps(field?.getSelectProps(), props);
11
+ return /* @__PURE__ */ jsx(ark.select, { ...mergedProps, ref });
12
+ });
13
+ FieldSelect.displayName = "FieldSelect";
14
+
15
+ export { FieldSelect };
@@ -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 core = require('@zag-js/core');
8
+ const react = require('react');
9
+ const factory = require('../factory.cjs');
10
+ const useFieldContext = require('./use-field-context.cjs');
11
+
12
+ const FieldTextarea = react.forwardRef((props, ref) => {
13
+ const field = useFieldContext.useFieldContext();
14
+ const mergedProps = core.mergeProps(field?.getTextareaProps(), props);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.textarea, { ...mergedProps, ref });
16
+ });
17
+ FieldTextarea.displayName = "FieldTextarea";
18
+
19
+ exports.FieldTextarea = FieldTextarea;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface FieldTextareaBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface FieldTextareaProps extends HTMLProps<'textarea'>, FieldTextareaBaseProps {
7
+ }
8
+ export declare const FieldTextarea: ForwardRefExoticComponent<FieldTextareaProps & RefAttributes<HTMLTextAreaElement>>;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface FieldTextareaBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface FieldTextareaProps extends HTMLProps<'textarea'>, FieldTextareaBaseProps {
7
+ }
8
+ export declare const FieldTextarea: ForwardRefExoticComponent<FieldTextareaProps & RefAttributes<HTMLTextAreaElement>>;
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/core';
4
+ import { forwardRef } from 'react';
5
+ import { ark } from '../factory.js';
6
+ import { useFieldContext } from './use-field-context.js';
7
+
8
+ const FieldTextarea = forwardRef((props, ref) => {
9
+ const field = useFieldContext();
10
+ const mergedProps = mergeProps(field?.getTextareaProps(), props);
11
+ return /* @__PURE__ */ jsx(ark.textarea, { ...mergedProps, ref });
12
+ });
13
+ FieldTextarea.displayName = "FieldTextarea";
14
+
15
+ export { FieldTextarea };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const fieldRoot = require('./field-root.cjs');
6
+ const fieldRootProvider = require('./field-root-provider.cjs');
7
+ const fieldLabel = require('./field-label.cjs');
8
+ const fieldInput = require('./field-input.cjs');
9
+ const fieldTextarea = require('./field-textarea.cjs');
10
+ const fieldSelect = require('./field-select.cjs');
11
+ const fieldHelperText = require('./field-helper-text.cjs');
12
+ const fieldErrorText = require('./field-error-text.cjs');
13
+ const fieldContext = require('./field-context.cjs');
14
+
15
+
16
+
17
+ exports.Root = fieldRoot.FieldRoot;
18
+ exports.RootProvider = fieldRootProvider.FieldRootProvider;
19
+ exports.Label = fieldLabel.FieldLabel;
20
+ exports.Input = fieldInput.FieldInput;
21
+ exports.Textarea = fieldTextarea.FieldTextarea;
22
+ exports.Select = fieldSelect.FieldSelect;
23
+ exports.HelperText = fieldHelperText.FieldHelperText;
24
+ exports.ErrorText = fieldErrorText.FieldErrorText;
25
+ exports.Context = fieldContext.FieldContext;
@@ -0,0 +1,9 @@
1
+ export { FieldRoot as Root, type FieldRootProps as RootProps, type FieldRootBaseProps as RootBaseProps, } from './field-root';
2
+ export { FieldRootProvider as RootProvider, type FieldRootProviderProps as RootProviderProps, type FieldRootProviderBaseProps as RootProviderBaseProps, } from './field-root-provider';
3
+ export { FieldLabel as Label, type FieldLabelProps as LabelProps, type FieldLabelBaseProps as LabelBaseProps, } from './field-label';
4
+ export { FieldInput as Input, type FieldInputProps as InputProps, type FieldInputBaseProps as InputBaseProps, } from './field-input';
5
+ export { FieldTextarea as Textarea, type FieldTextareaProps as TextareaProps, type FieldTextareaBaseProps as TextareaBaseProps, } from './field-textarea';
6
+ export { FieldSelect as Select, type FieldSelectProps as SelectProps, type FieldSelectBaseProps as SelectBaseProps, } from './field-select';
7
+ export { FieldHelperText as HelperText, type FieldHelperTextProps as HelperTextProps, type FieldHelperTextBaseProps as HelperTextBaseProps, } from './field-helper-text';
8
+ export { FieldErrorText as ErrorText, type FieldErrorTextProps as ErrorTextProps, type FieldErrorTextBaseProps as ErrorTextBaseProps, } from './field-error-text';
9
+ export { FieldContext as Context, type FieldContextProps as ContextProps } from './field-context';
@@ -0,0 +1,9 @@
1
+ export { FieldRoot as Root, type FieldRootProps as RootProps, type FieldRootBaseProps as RootBaseProps, } from './field-root';
2
+ export { FieldRootProvider as RootProvider, type FieldRootProviderProps as RootProviderProps, type FieldRootProviderBaseProps as RootProviderBaseProps, } from './field-root-provider';
3
+ export { FieldLabel as Label, type FieldLabelProps as LabelProps, type FieldLabelBaseProps as LabelBaseProps, } from './field-label';
4
+ export { FieldInput as Input, type FieldInputProps as InputProps, type FieldInputBaseProps as InputBaseProps, } from './field-input';
5
+ export { FieldTextarea as Textarea, type FieldTextareaProps as TextareaProps, type FieldTextareaBaseProps as TextareaBaseProps, } from './field-textarea';
6
+ export { FieldSelect as Select, type FieldSelectProps as SelectProps, type FieldSelectBaseProps as SelectBaseProps, } from './field-select';
7
+ export { FieldHelperText as HelperText, type FieldHelperTextProps as HelperTextProps, type FieldHelperTextBaseProps as HelperTextBaseProps, } from './field-helper-text';
8
+ export { FieldErrorText as ErrorText, type FieldErrorTextProps as ErrorTextProps, type FieldErrorTextBaseProps as ErrorTextBaseProps, } from './field-error-text';
9
+ export { FieldContext as Context, type FieldContextProps as ContextProps } from './field-context';
@@ -0,0 +1,9 @@
1
+ export { FieldRoot as Root } from './field-root.js';
2
+ export { FieldRootProvider as RootProvider } from './field-root-provider.js';
3
+ export { FieldLabel as Label } from './field-label.js';
4
+ export { FieldInput as Input } from './field-input.js';
5
+ export { FieldTextarea as Textarea } from './field-textarea.js';
6
+ export { FieldSelect as Select } from './field-select.js';
7
+ export { FieldHelperText as HelperText } from './field-helper-text.js';
8
+ export { FieldErrorText as ErrorText } from './field-error-text.js';
9
+ export { FieldContext as Context } from './field-context.js';
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const fieldContext = require('./field-context.cjs');
6
+ const fieldErrorText = require('./field-error-text.cjs');
7
+ const fieldHelperText = require('./field-helper-text.cjs');
8
+ const fieldInput = require('./field-input.cjs');
9
+ const fieldLabel = require('./field-label.cjs');
10
+ const fieldSelect = require('./field-select.cjs');
11
+ const fieldRoot = require('./field-root.cjs');
12
+ const fieldRootProvider = require('./field-root-provider.cjs');
13
+ const fieldTextarea = require('./field-textarea.cjs');
14
+ const useFieldContext = require('./use-field-context.cjs');
15
+ const field = require('./field.cjs');
16
+
17
+
18
+
19
+ exports.FieldContext = fieldContext.FieldContext;
20
+ exports.FieldErrorText = fieldErrorText.FieldErrorText;
21
+ exports.FieldHelperText = fieldHelperText.FieldHelperText;
22
+ exports.FieldInput = fieldInput.FieldInput;
23
+ exports.FieldLabel = fieldLabel.FieldLabel;
24
+ exports.FieldSelect = fieldSelect.FieldSelect;
25
+ exports.FieldRoot = fieldRoot.FieldRoot;
26
+ exports.FieldRootProvider = fieldRootProvider.FieldRootProvider;
27
+ exports.FieldTextarea = fieldTextarea.FieldTextarea;
28
+ exports.useFieldContext = useFieldContext.useFieldContext;
29
+ exports.Field = field;
@@ -0,0 +1,11 @@
1
+ export { FieldContext, type FieldContextProps } from './field-context';
2
+ export { FieldErrorText, type FieldErrorTextBaseProps, type FieldErrorTextProps, } from './field-error-text';
3
+ export { FieldHelperText, type FieldHelperTextBaseProps, type FieldHelperTextProps, } from './field-helper-text';
4
+ export { FieldInput, type FieldInputBaseProps, type FieldInputProps } from './field-input';
5
+ export { FieldLabel, type FieldLabelBaseProps, type FieldLabelProps } from './field-label';
6
+ export { FieldSelect, type FieldSelectBaseProps, type FieldSelectProps } from './field-select';
7
+ export { FieldRoot, type FieldRootBaseProps, type FieldRootProps } from './field-root';
8
+ export { FieldRootProvider, type FieldRootProviderBaseProps, type FieldRootProviderProps, } from './field-root-provider';
9
+ export { FieldTextarea, type FieldTextareaBaseProps, type FieldTextareaProps, } from './field-textarea';
10
+ export { useFieldContext, type UseFieldContext } from './use-field-context';
11
+ export * as Field from './field';
@@ -0,0 +1,11 @@
1
+ export { FieldContext, type FieldContextProps } from './field-context';
2
+ export { FieldErrorText, type FieldErrorTextBaseProps, type FieldErrorTextProps, } from './field-error-text';
3
+ export { FieldHelperText, type FieldHelperTextBaseProps, type FieldHelperTextProps, } from './field-helper-text';
4
+ export { FieldInput, type FieldInputBaseProps, type FieldInputProps } from './field-input';
5
+ export { FieldLabel, type FieldLabelBaseProps, type FieldLabelProps } from './field-label';
6
+ export { FieldSelect, type FieldSelectBaseProps, type FieldSelectProps } from './field-select';
7
+ export { FieldRoot, type FieldRootBaseProps, type FieldRootProps } from './field-root';
8
+ export { FieldRootProvider, type FieldRootProviderBaseProps, type FieldRootProviderProps, } from './field-root-provider';
9
+ export { FieldTextarea, type FieldTextareaBaseProps, type FieldTextareaProps, } from './field-textarea';
10
+ export { useFieldContext, type UseFieldContext } from './use-field-context';
11
+ export * as Field from './field';
@@ -0,0 +1,12 @@
1
+ export { FieldContext } from './field-context.js';
2
+ export { FieldErrorText } from './field-error-text.js';
3
+ export { FieldHelperText } from './field-helper-text.js';
4
+ export { FieldInput } from './field-input.js';
5
+ export { FieldLabel } from './field-label.js';
6
+ export { FieldSelect } from './field-select.js';
7
+ export { FieldRoot } from './field-root.js';
8
+ export { FieldRootProvider } from './field-root-provider.js';
9
+ export { FieldTextarea } from './field-textarea.js';
10
+ export { useFieldContext } from './use-field-context.js';
11
+ import * as field from './field.js';
12
+ export { field as Field };
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const createContext = require('../../utils/create-context.cjs');
7
+
8
+ const [FieldProvider, useFieldContext] = createContext.createContext({
9
+ name: "FieldContext",
10
+ hookName: "useFieldContext",
11
+ providerName: "<FieldProvider />",
12
+ strict: false
13
+ });
14
+
15
+ exports.FieldProvider = FieldProvider;
16
+ exports.useFieldContext = useFieldContext;
@@ -0,0 +1,6 @@
1
+ import { UseFieldReturn } from './use-field';
2
+ import { Provider } from 'react';
3
+
4
+ export interface UseFieldContext extends UseFieldReturn {
5
+ }
6
+ export declare const FieldProvider: Provider<UseFieldContext>, useFieldContext: () => UseFieldContext;
@@ -0,0 +1,6 @@
1
+ import { UseFieldReturn } from './use-field';
2
+ import { Provider } from 'react';
3
+
4
+ export interface UseFieldContext extends UseFieldReturn {
5
+ }
6
+ export declare const FieldProvider: Provider<UseFieldContext>, useFieldContext: () => UseFieldContext;
@@ -0,0 +1,11 @@
1
+ 'use client';
2
+ import { createContext } from '../../utils/create-context.js';
3
+
4
+ const [FieldProvider, useFieldContext] = createContext({
5
+ name: "FieldContext",
6
+ hookName: "useFieldContext",
7
+ providerName: "<FieldProvider />",
8
+ strict: false
9
+ });
10
+
11
+ export { FieldProvider, useFieldContext };
@@ -0,0 +1,110 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const anatomy = require('@ark-ui/anatomy');
7
+ const domQuery = require('@zag-js/dom-query');
8
+ const react = require('react');
9
+
10
+ const parts = anatomy.fieldAnatomy.build();
11
+ const useField = (props) => {
12
+ const { required = false, disabled = false, invalid = false, readOnly = false } = props;
13
+ const [hasErrorText, setHasErrorText] = react.useState(false);
14
+ const [hasHelperText, setHasHelperText] = react.useState(false);
15
+ const id = props.id ?? react.useId();
16
+ const rootRef = react.useRef(null);
17
+ const errorTextId = `field::${id}::error-text`;
18
+ const helperTextId = `field::${id}::helper-text`;
19
+ const labelId = `field::${id}::label`;
20
+ react.useLayoutEffect(() => {
21
+ const rootNode = rootRef.current;
22
+ if (!rootNode) return;
23
+ const win = domQuery.getWindow(rootNode);
24
+ const doc = win.document;
25
+ const checkTextElements = () => {
26
+ setHasErrorText(!!doc.getElementById(errorTextId));
27
+ setHasHelperText(!!doc.getElementById(helperTextId));
28
+ };
29
+ checkTextElements();
30
+ const observer = new win.MutationObserver(checkTextElements);
31
+ observer.observe(rootNode, { childList: true, subtree: true });
32
+ return () => observer.disconnect();
33
+ }, [errorTextId, helperTextId]);
34
+ const getRootProps = () => ({
35
+ ...parts.root.attrs,
36
+ role: "group",
37
+ "data-disabled": dataAttr(disabled),
38
+ "data-invalid": dataAttr(invalid),
39
+ "data-readonly": dataAttr(readOnly)
40
+ });
41
+ const getLabelProps = () => ({
42
+ ...parts.label.attrs,
43
+ id: labelId,
44
+ "data-disabled": dataAttr(disabled),
45
+ "data-invalid": dataAttr(invalid),
46
+ "data-readonly": dataAttr(readOnly),
47
+ htmlFor: id
48
+ });
49
+ const labelIds = [];
50
+ if (hasErrorText && invalid) labelIds.push(errorTextId);
51
+ if (hasHelperText) labelIds.push(helperTextId);
52
+ const getControlProps = () => ({
53
+ "aria-describedby": labelIds.join(" ") || void 0,
54
+ "aria-invalid": ariaAttr(invalid),
55
+ "aria-required": ariaAttr(required),
56
+ "aria-readonly": ariaAttr(readOnly),
57
+ id,
58
+ required,
59
+ disabled,
60
+ readOnly
61
+ });
62
+ const getInputProps = () => ({
63
+ ...getControlProps(),
64
+ ...parts.input.attrs
65
+ });
66
+ const getTextareaProps = () => ({
67
+ ...getControlProps(),
68
+ ...parts.textarea.attrs
69
+ });
70
+ const getSelectProps = () => ({
71
+ ...getControlProps(),
72
+ ...parts.select.attrs
73
+ });
74
+ const getHelperTextProps = () => ({
75
+ id: helperTextId,
76
+ ...parts.helperText.attrs
77
+ });
78
+ const getErrorTextProps = () => ({
79
+ id: errorTextId,
80
+ ...parts.errorText.attrs,
81
+ "aria-live": "polite"
82
+ });
83
+ return {
84
+ ariaDescribedby: labelIds.join(" "),
85
+ ids: {
86
+ control: id,
87
+ label: labelId,
88
+ errorText: errorTextId,
89
+ helperText: helperTextId
90
+ },
91
+ refs: {
92
+ rootRef
93
+ },
94
+ disabled,
95
+ invalid,
96
+ readOnly,
97
+ required,
98
+ getLabelProps,
99
+ getRootProps,
100
+ getInputProps,
101
+ getTextareaProps,
102
+ getSelectProps,
103
+ getHelperTextProps,
104
+ getErrorTextProps
105
+ };
106
+ };
107
+ const dataAttr = (condition) => condition ? "" : void 0;
108
+ const ariaAttr = (condition) => condition ? true : void 0;
109
+
110
+ exports.useField = useField;