@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
package/index.mjs CHANGED
@@ -9,6 +9,7 @@ export { Dialog } from './dialog/index.mjs';
9
9
  export { Editable } from './editable/index.mjs';
10
10
  export { Environment } from './environment/index.mjs';
11
11
  export { ark, jsxFactory } from './factory.mjs';
12
+ export { FileUpload } from './file-upload/index.mjs';
12
13
  export { HoverCard } from './hover-card/index.mjs';
13
14
  export { Menu } from './menu/index.mjs';
14
15
  export { NumberInput } from './number-input/index.mjs';
@@ -61,14 +62,18 @@ export { ColorPickerChannelSliderTrack } from './color-picker/color-picker-chann
61
62
  export { ColorPickerContent } from './color-picker/color-picker-content.mjs';
62
63
  export { ColorPickerControl } from './color-picker/color-picker-control.mjs';
63
64
  export { ColorPickerEyeDropperTrigger } from './color-picker/color-picker-eye-dropper-trigger.mjs';
65
+ export { ColorPickerFormatSelect } from './color-picker/color-picker-format-select.mjs';
66
+ export { ColorPickerFormatTrigger } from './color-picker/color-picker-format-trigger.mjs';
64
67
  export { ColorPickerLabel } from './color-picker/color-picker-label.mjs';
65
68
  export { ColorPickerPositioner } from './color-picker/color-picker-positioner.mjs';
66
69
  export { ColorPickerSwatch } from './color-picker/color-picker-swatch.mjs';
67
70
  export { ColorPickerSwatchGroup } from './color-picker/color-picker-swatch-group.mjs';
71
+ export { ColorPickerSwatchIndicator } from './color-picker/color-picker-swatch-indicator.mjs';
68
72
  export { ColorPickerSwatchTrigger } from './color-picker/color-picker-swatch-trigger.mjs';
69
73
  export { ColorPickerTransparencyGrid } from './color-picker/color-picker-transparency-grid.mjs';
70
74
  export { ColorPickerTrigger } from './color-picker/color-picker-trigger.mjs';
71
75
  export { ColorPickerValueText } from './color-picker/color-picker-value-text.mjs';
76
+ export { ColorPickerView } from './color-picker/color-picker-view.mjs';
72
77
  export { useColorPickerAreaContext } from './color-picker/color-picker-area-context.mjs';
73
78
  export { useColorPickerChannelSliderContext } from './color-picker/color-picker-channel-slider-context.mjs';
74
79
  export { useColorPickerContext } from './color-picker/color-picker-context.mjs';
@@ -129,6 +134,16 @@ export { EditablePreview } from './editable/editable-preview.mjs';
129
134
  export { EditableSubmitTrigger } from './editable/editable-submit-trigger.mjs';
130
135
  export { useEditableContext } from './editable/editable-context.mjs';
131
136
  export { useEnvironmentContext } from './environment/environment-context.mjs';
137
+ export { FileUploadDropzone } from './file-upload/file-upload-dropzone.mjs';
138
+ export { FileUploadItem } from './file-upload/file-upload-item.mjs';
139
+ export { FileUploadItemDeleteTrigger } from './file-upload/file-upload-item-delete-trigger.mjs';
140
+ export { FileUploadItemGroup } from './file-upload/file-upload-item-group.mjs';
141
+ export { FileUploadItemName } from './file-upload/file-upload-item-name.mjs';
142
+ export { FileUploadItemPreview } from './file-upload/file-upload-item-preview.mjs';
143
+ export { FileUploadItemSizeText } from './file-upload/file-upload-item-size-text.mjs';
144
+ export { FileUploadLabel } from './file-upload/file-upload-label.mjs';
145
+ export { FileUploadTrigger } from './file-upload/file-upload-trigger.mjs';
146
+ export { useFileUploadContext } from './file-upload/file-upload-context.mjs';
132
147
  export { HoverCardArrow } from './hover-card/hover-card-arrow.mjs';
133
148
  export { HoverCardArrowTip } from './hover-card/hover-card-arrow-tip.mjs';
134
149
  export { HoverCardContent } from './hover-card/hover-card-content.mjs';
@@ -7,11 +7,17 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
+ require('../presence/index.cjs');
10
11
  const menuContext = require('./menu-context.cjs');
12
+ const presenceContext = require('../presence/presence-context.cjs');
11
13
 
12
14
  const MenuPositioner = react.forwardRef((props, ref) => {
13
15
  const api = menuContext.useMenuContext();
14
16
  const mergedProps = react$1.mergeProps(api?.positionerProps ?? {}, props);
17
+ const presenceApi = presenceContext.usePresenceContext();
18
+ if (presenceApi.isUnmounted) {
19
+ return null;
20
+ }
15
21
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
16
22
  });
17
23
  MenuPositioner.displayName = "MenuPositioner";
@@ -3,11 +3,17 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.mjs';
6
+ import '../presence/index.mjs';
6
7
  import { useMenuContext } from './menu-context.mjs';
8
+ import { usePresenceContext } from '../presence/presence-context.mjs';
7
9
 
8
10
  const MenuPositioner = forwardRef((props, ref) => {
9
11
  const api = useMenuContext();
10
12
  const mergedProps = mergeProps(api?.positionerProps ?? {}, props);
13
+ const presenceApi = usePresenceContext();
14
+ if (presenceApi.isUnmounted) {
15
+ return null;
16
+ }
11
17
  return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
12
18
  });
13
19
  MenuPositioner.displayName = "MenuPositioner";
@@ -7,11 +7,20 @@ const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const factory = require('../factory.cjs');
10
+ require('../presence/index.cjs');
10
11
  const menuContext = require('./menu-context.cjs');
12
+ const presenceContext = require('../presence/presence-context.cjs');
11
13
 
12
14
  const MenuTrigger = react.forwardRef((props, ref) => {
13
15
  const api = menuContext.useMenuContext();
14
- const mergedProps = react$1.mergeProps(api?.triggerProps ?? {}, props);
16
+ const presenceApi = presenceContext.usePresenceContext();
17
+ const mergedProps = react$1.mergeProps(
18
+ {
19
+ ...api.triggerProps,
20
+ "aria-controls": presenceApi.isUnmounted ? void 0 : api.triggerProps["aria-controls"]
21
+ },
22
+ props
23
+ );
15
24
  return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.button, { ...mergedProps, ref });
16
25
  });
17
26
  MenuTrigger.displayName = "MenuTrigger";
@@ -3,11 +3,20 @@ import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { ark } from '../factory.mjs';
6
+ import '../presence/index.mjs';
6
7
  import { useMenuContext } from './menu-context.mjs';
8
+ import { usePresenceContext } from '../presence/presence-context.mjs';
7
9
 
8
10
  const MenuTrigger = forwardRef((props, ref) => {
9
11
  const api = useMenuContext();
10
- const mergedProps = mergeProps(api?.triggerProps ?? {}, props);
12
+ const presenceApi = usePresenceContext();
13
+ const mergedProps = mergeProps(
14
+ {
15
+ ...api.triggerProps,
16
+ "aria-controls": presenceApi.isUnmounted ? void 0 : api.triggerProps["aria-controls"]
17
+ },
18
+ props
19
+ );
11
20
  return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });
12
21
  });
13
22
  MenuTrigger.displayName = "MenuTrigger";
@@ -8,42 +8,47 @@ const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
9
  const createSplitProps = require('../create-split-props.cjs');
10
10
  const factory = require('../factory.cjs');
11
+ const runIfFn = require('../run-if-fn.cjs');
11
12
  const numberInputContext = require('./number-input-context.cjs');
12
13
  const useNumberInput = require('./use-number-input.cjs');
13
14
 
14
15
  const NumberInput = react.forwardRef((props, ref) => {
15
- const [useNumberInputProps, divProps] = createSplitProps.createSplitProps()(props, [
16
- "allowMouseWheel",
17
- "allowOverflow",
18
- "clampValueOnBlur",
19
- "defaultValue",
20
- "dir",
21
- "disabled",
22
- "focusInputOnChange",
23
- "form",
24
- "formatOptions",
25
- "getRootNode",
26
- "id",
27
- "ids",
28
- "inputMode",
29
- "invalid",
30
- "locale",
31
- "max",
32
- "min",
33
- "name",
34
- "onFocusChange",
35
- "onValueChange",
36
- "onValueInvalid",
37
- "pattern",
38
- "readOnly",
39
- "spinOnPress",
40
- "step",
41
- "translations",
42
- "value"
43
- ]);
16
+ const [useNumberInputProps, { children, ...divProps }] = createSplitProps.createSplitProps()(
17
+ props,
18
+ [
19
+ "allowMouseWheel",
20
+ "allowOverflow",
21
+ "clampValueOnBlur",
22
+ "defaultValue",
23
+ "dir",
24
+ "disabled",
25
+ "focusInputOnChange",
26
+ "form",
27
+ "formatOptions",
28
+ "getRootNode",
29
+ "id",
30
+ "ids",
31
+ "inputMode",
32
+ "invalid",
33
+ "locale",
34
+ "max",
35
+ "min",
36
+ "name",
37
+ "onFocusChange",
38
+ "onValueChange",
39
+ "onValueInvalid",
40
+ "pattern",
41
+ "readOnly",
42
+ "spinOnPress",
43
+ "step",
44
+ "translations",
45
+ "value"
46
+ ]
47
+ );
44
48
  const api = useNumberInput.useNumberInput(useNumberInputProps);
45
49
  const mergedProps = react$1.mergeProps(api.rootProps, divProps);
46
- return /* @__PURE__ */ jsxRuntime.jsx(numberInputContext.NumberInputProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) });
50
+ const view = runIfFn.runIfFn(children, api);
51
+ return /* @__PURE__ */ jsxRuntime.jsx(numberInputContext.NumberInputProvider, { value: api, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: view }) });
47
52
  });
48
53
  NumberInput.displayName = "NumberInput";
49
54
 
@@ -1,8 +1,9 @@
1
- import { ForwardRefExoticComponent, RefAttributes } from 'react';
2
- /// <reference types="react" />
1
+ import { ForwardRefExoticComponent, RefAttributes, type ReactNode } from 'react';
3
2
  import { type HTMLArkProps } from '../factory';
4
3
  import { type Assign } from '../types';
5
- import { type UseNumberInputProps } from './use-number-input';
6
- export interface NumberInputProps extends Assign<HTMLArkProps<'div'>, UseNumberInputProps> {
4
+ import { type UseNumberInputProps, type UseNumberInputReturn } from './use-number-input';
5
+ export interface NumberInputProps extends Assign<Assign<HTMLArkProps<'div'>, {
6
+ children?: ReactNode | ((api: UseNumberInputReturn) => ReactNode);
7
+ }>, UseNumberInputProps> {
7
8
  }
8
9
  export declare const NumberInput: ForwardRefExoticComponent<NumberInputProps & RefAttributes<HTMLDivElement>>;
@@ -4,42 +4,47 @@ import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
5
  import { createSplitProps } from '../create-split-props.mjs';
6
6
  import { ark } from '../factory.mjs';
7
+ import { runIfFn } from '../run-if-fn.mjs';
7
8
  import { NumberInputProvider } from './number-input-context.mjs';
8
9
  import { useNumberInput } from './use-number-input.mjs';
9
10
 
10
11
  const NumberInput = forwardRef((props, ref) => {
11
- const [useNumberInputProps, divProps] = createSplitProps()(props, [
12
- "allowMouseWheel",
13
- "allowOverflow",
14
- "clampValueOnBlur",
15
- "defaultValue",
16
- "dir",
17
- "disabled",
18
- "focusInputOnChange",
19
- "form",
20
- "formatOptions",
21
- "getRootNode",
22
- "id",
23
- "ids",
24
- "inputMode",
25
- "invalid",
26
- "locale",
27
- "max",
28
- "min",
29
- "name",
30
- "onFocusChange",
31
- "onValueChange",
32
- "onValueInvalid",
33
- "pattern",
34
- "readOnly",
35
- "spinOnPress",
36
- "step",
37
- "translations",
38
- "value"
39
- ]);
12
+ const [useNumberInputProps, { children, ...divProps }] = createSplitProps()(
13
+ props,
14
+ [
15
+ "allowMouseWheel",
16
+ "allowOverflow",
17
+ "clampValueOnBlur",
18
+ "defaultValue",
19
+ "dir",
20
+ "disabled",
21
+ "focusInputOnChange",
22
+ "form",
23
+ "formatOptions",
24
+ "getRootNode",
25
+ "id",
26
+ "ids",
27
+ "inputMode",
28
+ "invalid",
29
+ "locale",
30
+ "max",
31
+ "min",
32
+ "name",
33
+ "onFocusChange",
34
+ "onValueChange",
35
+ "onValueInvalid",
36
+ "pattern",
37
+ "readOnly",
38
+ "spinOnPress",
39
+ "step",
40
+ "translations",
41
+ "value"
42
+ ]
43
+ );
40
44
  const api = useNumberInput(useNumberInputProps);
41
45
  const mergedProps = mergeProps(api.rootProps, divProps);
42
- return /* @__PURE__ */ jsx(NumberInputProvider, { value: api, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });
46
+ const view = runIfFn(children, api);
47
+ return /* @__PURE__ */ jsx(NumberInputProvider, { value: api, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: view }) });
43
48
  });
44
49
  NumberInput.displayName = "NumberInput";
45
50
 
@@ -12,3 +12,4 @@ export declare const MouseWheel: () => JSX.Element;
12
12
  export declare const NoClamp: () => JSX.Element;
13
13
  export declare const FormUsage: () => JSX.Element;
14
14
  export declare const Formatted: () => JSX.Element;
15
+ export declare const RenderFn: () => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ark-ui/react",
3
- "version": "1.0.0",
3
+ "version": "1.1.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",
@@ -13,6 +13,7 @@
13
13
  "dialog",
14
14
  "editable",
15
15
  "environment",
16
+ "file upload",
16
17
  "hover card",
17
18
  "menu",
18
19
  "number input",
@@ -59,42 +60,43 @@
59
60
  "release-it": "release-it --config ../../../release-it.json"
60
61
  },
61
62
  "dependencies": {
62
- "@ark-ui/anatomy": "1.0.0",
63
- "@zag-js/accordion": "0.28.0",
64
- "@zag-js/avatar": "0.28.0",
65
- "@zag-js/carousel": "0.28.0",
66
- "@zag-js/checkbox": "0.28.0",
67
- "@zag-js/color-picker": "0.28.0",
68
- "@zag-js/color-utils": "0.28.0",
69
- "@zag-js/combobox": "0.28.0",
70
- "@zag-js/core": "0.28.0",
71
- "@zag-js/date-picker": "0.28.0",
72
- "@zag-js/date-utils": "0.28.0",
73
- "@zag-js/dialog": "0.28.0",
74
- "@zag-js/editable": "0.28.0",
75
- "@zag-js/hover-card": "0.28.0",
76
- "@zag-js/menu": "0.28.0",
77
- "@zag-js/number-input": "0.28.0",
78
- "@zag-js/pagination": "0.28.0",
79
- "@zag-js/pin-input": "0.28.0",
80
- "@zag-js/popover": "0.28.0",
81
- "@zag-js/presence": "0.28.0",
82
- "@zag-js/radio-group": "0.28.0",
83
- "@zag-js/rating-group": "0.28.0",
84
- "@zag-js/react": "0.28.0",
85
- "@zag-js/select": "0.28.0",
86
- "@zag-js/slider": "0.28.0",
87
- "@zag-js/splitter": "0.28.0",
88
- "@zag-js/switch": "0.28.0",
89
- "@zag-js/tabs": "0.28.0",
90
- "@zag-js/tags-input": "0.28.0",
91
- "@zag-js/toast": "0.28.0",
92
- "@zag-js/toggle-group": "0.28.0",
93
- "@zag-js/tooltip": "0.28.0",
94
- "@zag-js/types": "0.28.0"
63
+ "@ark-ui/anatomy": "1.1.0",
64
+ "@zag-js/accordion": "0.30.0",
65
+ "@zag-js/avatar": "0.30.0",
66
+ "@zag-js/carousel": "0.30.0",
67
+ "@zag-js/checkbox": "0.30.0",
68
+ "@zag-js/color-picker": "0.30.0",
69
+ "@zag-js/color-utils": "0.30.0",
70
+ "@zag-js/combobox": "0.30.0",
71
+ "@zag-js/core": "0.30.0",
72
+ "@zag-js/date-picker": "0.30.0",
73
+ "@zag-js/date-utils": "0.30.0",
74
+ "@zag-js/dialog": "0.30.0",
75
+ "@zag-js/editable": "0.30.0",
76
+ "@zag-js/file-upload": "0.30.0",
77
+ "@zag-js/hover-card": "0.30.0",
78
+ "@zag-js/menu": "0.30.0",
79
+ "@zag-js/number-input": "0.30.0",
80
+ "@zag-js/pagination": "0.30.0",
81
+ "@zag-js/pin-input": "0.30.0",
82
+ "@zag-js/popover": "0.30.0",
83
+ "@zag-js/presence": "0.30.0",
84
+ "@zag-js/radio-group": "0.30.0",
85
+ "@zag-js/rating-group": "0.30.0",
86
+ "@zag-js/react": "0.30.0",
87
+ "@zag-js/select": "0.30.0",
88
+ "@zag-js/slider": "0.30.0",
89
+ "@zag-js/splitter": "0.30.0",
90
+ "@zag-js/switch": "0.30.0",
91
+ "@zag-js/tabs": "0.30.0",
92
+ "@zag-js/tags-input": "0.30.0",
93
+ "@zag-js/toast": "0.30.0",
94
+ "@zag-js/toggle-group": "0.30.0",
95
+ "@zag-js/tooltip": "0.30.0",
96
+ "@zag-js/types": "0.30.0"
95
97
  },
96
98
  "devDependencies": {
97
- "@release-it/keep-a-changelog": "4.0.0",
99
+ "@release-it/keep-a-changelog": "5.0.0",
98
100
  "@storybook/addon-a11y": "7.5.3",
99
101
  "@storybook/addon-essentials": "7.5.3",
100
102
  "@storybook/addons": "7.5.3",
@@ -102,29 +104,30 @@
102
104
  "@storybook/react-vite": "7.5.3",
103
105
  "@testing-library/dom": "9.3.3",
104
106
  "@testing-library/jest-dom": "6.1.4",
105
- "@testing-library/react": "14.1.0",
107
+ "@testing-library/react": "14.1.2",
106
108
  "@testing-library/user-event": "14.5.1",
107
- "@types/jsdom": "21.1.5",
109
+ "@types/jsdom": "21.1.6",
108
110
  "@types/react": "18.2.37",
109
- "@types/react-dom": "18.2.15",
111
+ "@types/react-dom": "18.2.16",
110
112
  "@types/testing-library__jest-dom": "5.14.9",
111
- "@typescript-eslint/eslint-plugin": "6.10.0",
112
- "@typescript-eslint/parser": "6.10.0",
113
- "@vitejs/plugin-react": "4.1.1",
113
+ "@typescript-eslint/eslint-plugin": "6.12.0",
114
+ "@typescript-eslint/parser": "6.12.0",
115
+ "@vitejs/plugin-react": "4.2.0",
114
116
  "@vitest/coverage-v8": "0.34.6",
115
- "eslint": "8.53.0",
117
+ "eslint": "8.54.0",
116
118
  "eslint-plugin-react": "7.33.2",
117
119
  "eslint-plugin-react-hooks": "4.6.0",
118
- "globby": "13.2.2",
120
+ "globby": "14.0.0",
119
121
  "jsdom": "22.1.0",
120
122
  "lucide-react": "0.292.0",
121
123
  "react": "18.2.0",
122
124
  "react-dom": "18.2.0",
123
125
  "react-frame-component": "5.2.6",
124
- "release-it": "16.2.1",
126
+ "react-hook-form": "7.48.2",
127
+ "release-it": "17.0.0",
125
128
  "resize-observer-polyfill": "1.5.1",
126
129
  "storybook": "7.5.3",
127
- "typescript": "5.2.2",
130
+ "typescript": "5.3.2",
128
131
  "vite": "4.5.0",
129
132
  "vite-plugin-dts": "3.6.3",
130
133
  "vitest": "0.34.6"
@@ -195,6 +198,11 @@
195
198
  "import": "./environment/index.mjs",
196
199
  "require": "./environment/index.cjs"
197
200
  },
201
+ "./file-upload": {
202
+ "types": "./file-upload/index.d.ts",
203
+ "import": "./file-upload/index.mjs",
204
+ "require": "./file-upload/index.cjs"
205
+ },
198
206
  "./hover-card": {
199
207
  "types": "./hover-card/index.d.ts",
200
208
  "import": "./hover-card/index.mjs",
@@ -7,4 +7,4 @@ export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
8
  export declare const Disabled: () => JSX.Element;
9
9
  export declare const InitialValue: () => JSX.Element;
10
- export declare const OnChange: () => JSX.Element;
10
+ export declare const OnEvent: () => JSX.Element;
@@ -8,3 +8,4 @@ export declare const Basic: () => JSX.Element;
8
8
  export declare const Advanced: () => JSX.Element;
9
9
  export declare const Multiple: () => JSX.Element;
10
10
  export declare const Controlled: () => JSX.Element;
11
+ export declare const FormLibrary: () => JSX.Element;
@@ -5,6 +5,7 @@ type SliderType = typeof Slider;
5
5
  declare const meta: Meta<SliderType>;
6
6
  export default meta;
7
7
  export declare const Basic: () => JSX.Element;
8
+ export declare const Range: () => JSX.Element;
8
9
  export declare const WithMarks: () => JSX.Element;
9
10
  export declare const InitialValue: () => JSX.Element;
10
11
  export declare const MinMax: () => JSX.Element;
@@ -12,4 +13,3 @@ export declare const Step: () => JSX.Element;
12
13
  export declare const OnEvent: () => JSX.Element;
13
14
  export declare const Vertical: () => JSX.Element;
14
15
  export declare const CenterOrigin: () => JSX.Element;
15
- export declare const Advanced: () => JSX.Element;
@@ -45,7 +45,7 @@ const createToaster = (props) => {
45
45
  }, []);
46
46
  const mergedProps = react.mergeProps(api.getGroupProps({ placement }), props2);
47
47
  const toasts = api.toastsByPlacement[placement] ?? [];
48
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.ol, { ...mergedProps, ref, children: toasts.map((toast2) => /* @__PURE__ */ jsxRuntime.jsx(ToastProviderFactory, { service: toast2 }, service.id)) });
48
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.ol, { ...mergedProps, ref, children: toasts.map((toast2) => /* @__PURE__ */ jsxRuntime.jsx(ToastProviderFactory, { service: toast2 }, toast2.id)) });
49
49
  });
50
50
  Toaster.displayName = "ToastGroup";
51
51
  return [Toaster, api];
@@ -22,7 +22,7 @@ const createToaster = (props) => {
22
22
  }, []);
23
23
  const mergedProps = mergeProps(api.getGroupProps({ placement }), props2);
24
24
  const toasts = api.toastsByPlacement[placement] ?? [];
25
- return /* @__PURE__ */ jsx(ark.ol, { ...mergedProps, ref, children: toasts.map((toast2) => /* @__PURE__ */ jsx(ToastProviderFactory, { service: toast2 }, service.id)) });
25
+ return /* @__PURE__ */ jsx(ark.ol, { ...mergedProps, ref, children: toasts.map((toast2) => /* @__PURE__ */ jsx(ToastProviderFactory, { service: toast2 }, toast2.id)) });
26
26
  });
27
27
  Toaster.displayName = "ToastGroup";
28
28
  return [Toaster, api];