@ark-ui/react 4.0.0 → 4.1.1

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 (87) hide show
  1. package/dist/components/accordion/accordion-item.cjs +1 -0
  2. package/dist/components/accordion/accordion-item.js +1 -0
  3. package/dist/components/color-picker/color-picker-content.cjs +3 -2
  4. package/dist/components/color-picker/color-picker-content.js +3 -2
  5. package/dist/components/combobox/combobox-content.cjs +3 -2
  6. package/dist/components/combobox/combobox-content.js +3 -2
  7. package/dist/components/date-picker/date-picker-content.cjs +3 -6
  8. package/dist/components/date-picker/date-picker-content.js +3 -6
  9. package/dist/components/dialog/dialog-backdrop.cjs +3 -2
  10. package/dist/components/dialog/dialog-backdrop.js +3 -2
  11. package/dist/components/dialog/dialog-content.cjs +3 -2
  12. package/dist/components/dialog/dialog-content.js +3 -2
  13. package/dist/components/factory.cjs +12 -4
  14. package/dist/components/factory.js +12 -4
  15. package/dist/components/field/field-textarea.cjs +2 -2
  16. package/dist/components/field/field-textarea.js +1 -1
  17. package/dist/components/file-upload/file-upload-item-preview-image.cjs +1 -1
  18. package/dist/components/file-upload/file-upload-item-preview-image.js +1 -1
  19. package/dist/components/hover-card/hover-card-content.cjs +3 -2
  20. package/dist/components/hover-card/hover-card-content.js +3 -2
  21. package/dist/components/index.cjs +19 -0
  22. package/dist/components/index.d.cts +1 -0
  23. package/dist/components/index.d.ts +1 -0
  24. package/dist/components/index.js +9 -0
  25. package/dist/components/menu/menu-content.cjs +3 -2
  26. package/dist/components/menu/menu-content.js +3 -2
  27. package/dist/components/popover/popover-content.cjs +3 -2
  28. package/dist/components/popover/popover-content.js +3 -2
  29. package/dist/components/presence/presence.cjs +4 -2
  30. package/dist/components/presence/presence.js +4 -2
  31. package/dist/components/presence/use-presence.cjs +2 -3
  32. package/dist/components/presence/use-presence.d.cts +2 -3
  33. package/dist/components/presence/use-presence.d.ts +2 -3
  34. package/dist/components/presence/use-presence.js +2 -3
  35. package/dist/components/select/select-content.cjs +3 -2
  36. package/dist/components/select/select-content.js +3 -2
  37. package/dist/components/tabs/tab-content.cjs +3 -2
  38. package/dist/components/tabs/tab-content.js +3 -2
  39. package/dist/components/time-picker/index.cjs +5 -0
  40. package/dist/components/time-picker/index.d.cts +1 -0
  41. package/dist/components/time-picker/index.d.ts +1 -0
  42. package/dist/components/time-picker/index.js +1 -0
  43. package/dist/components/time-picker/time-picker-content.cjs +3 -6
  44. package/dist/components/time-picker/time-picker-content.js +3 -6
  45. package/dist/components/time-picker/use-time-picker.cjs +3 -8
  46. package/dist/components/time-picker/use-time-picker.d.cts +2 -14
  47. package/dist/components/time-picker/use-time-picker.d.ts +2 -14
  48. package/dist/components/time-picker/use-time-picker.js +3 -8
  49. package/dist/components/toggle/index.cjs +21 -0
  50. package/dist/components/toggle/index.d.cts +7 -0
  51. package/dist/components/toggle/index.d.ts +7 -0
  52. package/dist/components/toggle/index.js +8 -0
  53. package/dist/components/toggle/toggle-context.cjs +10 -0
  54. package/dist/components/toggle/toggle-context.d.cts +6 -0
  55. package/dist/components/toggle/toggle-context.d.ts +6 -0
  56. package/dist/components/toggle/toggle-context.js +6 -0
  57. package/dist/components/toggle/toggle-indicator.cjs +20 -0
  58. package/dist/components/toggle/toggle-indicator.d.cts +11 -0
  59. package/dist/components/toggle/toggle-indicator.d.ts +11 -0
  60. package/dist/components/toggle/toggle-indicator.js +16 -0
  61. package/dist/components/toggle/toggle-root.cjs +27 -0
  62. package/dist/components/toggle/toggle-root.d.cts +8 -0
  63. package/dist/components/toggle/toggle-root.d.ts +8 -0
  64. package/dist/components/toggle/toggle-root.js +23 -0
  65. package/dist/components/toggle/toggle.anatomy.cjs +12 -0
  66. package/dist/components/toggle/toggle.anatomy.d.cts +3 -0
  67. package/dist/components/toggle/toggle.anatomy.d.ts +3 -0
  68. package/dist/components/toggle/toggle.anatomy.js +7 -0
  69. package/dist/components/toggle/toggle.cjs +15 -0
  70. package/dist/components/toggle/toggle.d.cts +4 -0
  71. package/dist/components/toggle/toggle.d.ts +4 -0
  72. package/dist/components/toggle/toggle.js +4 -0
  73. package/dist/components/toggle/use-toggle-context.cjs +15 -0
  74. package/dist/components/toggle/use-toggle-context.d.cts +5 -0
  75. package/dist/components/toggle/use-toggle-context.d.ts +5 -0
  76. package/dist/components/toggle/use-toggle-context.js +10 -0
  77. package/dist/components/toggle/use-toggle.cjs +48 -0
  78. package/dist/components/toggle/use-toggle.d.cts +35 -0
  79. package/dist/components/toggle/use-toggle.d.ts +35 -0
  80. package/dist/components/toggle/use-toggle.js +44 -0
  81. package/dist/components/tooltip/tooltip-content.cjs +3 -2
  82. package/dist/components/tooltip/tooltip-content.js +3 -2
  83. package/dist/index.cjs +19 -0
  84. package/dist/index.js +9 -0
  85. package/dist/utils/compose-refs.d.cts +2 -2
  86. package/dist/utils/compose-refs.d.ts +2 -2
  87. package/package.json +78 -71
@@ -6,7 +6,6 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const presence = require('@zag-js/presence');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
- const composeRefs = require('../../utils/compose-refs.cjs');
10
9
  const useEvent = require('../../utils/use-event.cjs');
11
10
 
12
11
  function _interopNamespaceDefault(e) {
@@ -41,12 +40,12 @@ const usePresence = (props) => {
41
40
  wasEverPresent.current = true;
42
41
  }
43
42
  const unmounted = !api.present && !wasEverPresent.current && lazyMount || unmountOnExit && !api.present && wasEverPresent.current;
44
- const getPresenceProps = (ref) => ({
45
- ref: composeRefs.composeRefs(api.setNode, ref),
43
+ const getPresenceProps = () => ({
46
44
  "data-state": props.present ? "open" : "closed",
47
45
  hidden: !api.present
48
46
  });
49
47
  return {
48
+ ref: api.setNode,
50
49
  getPresenceProps,
51
50
  present: api.present,
52
51
  unmounted
@@ -1,4 +1,3 @@
1
- import { ForwardedRef } from 'react';
2
1
  import { Optional } from '../../types';
3
2
  import { RenderStrategyProps } from '../../utils/render-strategy';
4
3
  import * as presence from '@zag-js/presence';
@@ -6,8 +5,8 @@ export interface UsePresenceProps extends Optional<presence.Context, 'present'>,
6
5
  }
7
6
  export type UsePresenceReturn = ReturnType<typeof usePresence>;
8
7
  export declare const usePresence: (props: UsePresenceProps) => {
9
- getPresenceProps: <T extends HTMLElement>(ref: ForwardedRef<T>) => {
10
- ref: ForwardedRef<T>;
8
+ ref: (node: HTMLElement | null) => void;
9
+ getPresenceProps: () => {
11
10
  'data-state': string;
12
11
  hidden: boolean;
13
12
  };
@@ -1,4 +1,3 @@
1
- import { ForwardedRef } from 'react';
2
1
  import { Optional } from '../../types';
3
2
  import { RenderStrategyProps } from '../../utils/render-strategy';
4
3
  import * as presence from '@zag-js/presence';
@@ -6,8 +5,8 @@ export interface UsePresenceProps extends Optional<presence.Context, 'present'>,
6
5
  }
7
6
  export type UsePresenceReturn = ReturnType<typeof usePresence>;
8
7
  export declare const usePresence: (props: UsePresenceProps) => {
9
- getPresenceProps: <T extends HTMLElement>(ref: ForwardedRef<T>) => {
10
- ref: ForwardedRef<T>;
8
+ ref: (node: HTMLElement | null) => void;
9
+ getPresenceProps: () => {
11
10
  'data-state': string;
12
11
  hidden: boolean;
13
12
  };
@@ -2,7 +2,6 @@
2
2
  import * as presence from '@zag-js/presence';
3
3
  import { useMachine, normalizeProps } from '@zag-js/react';
4
4
  import { useRef } from 'react';
5
- import { composeRefs } from '../../utils/compose-refs.js';
6
5
  import { useEvent } from '../../utils/use-event.js';
7
6
 
8
7
  const usePresence = (props) => {
@@ -18,12 +17,12 @@ const usePresence = (props) => {
18
17
  wasEverPresent.current = true;
19
18
  }
20
19
  const unmounted = !api.present && !wasEverPresent.current && lazyMount || unmountOnExit && !api.present && wasEverPresent.current;
21
- const getPresenceProps = (ref) => ({
22
- ref: composeRefs(api.setNode, ref),
20
+ const getPresenceProps = () => ({
23
21
  "data-state": props.present ? "open" : "closed",
24
22
  hidden: !api.present
25
23
  });
26
24
  return {
25
+ ref: api.setNode,
27
26
  getPresenceProps,
28
27
  present: api.present,
29
28
  unmounted
@@ -6,6 +6,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
+ const composeRefs = require('../../utils/compose-refs.cjs');
9
10
  const factory = require('../factory.cjs');
10
11
  const usePresenceContext = require('../presence/use-presence-context.cjs');
11
12
  const useSelectContext = require('./use-select-context.cjs');
@@ -13,11 +14,11 @@ const useSelectContext = require('./use-select-context.cjs');
13
14
  const SelectContent = react.forwardRef((props, ref) => {
14
15
  const select = useSelectContext.useSelectContext();
15
16
  const presence = usePresenceContext.usePresenceContext();
16
- const mergedProps = react$1.mergeProps(select.getContentProps(), presence.getPresenceProps(ref), props);
17
+ const mergedProps = react$1.mergeProps(select.getContentProps(), presence.getPresenceProps(), props);
17
18
  if (presence.unmounted) {
18
19
  return null;
19
20
  }
20
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps });
21
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref: composeRefs.composeRefs(presence.ref, ref) });
21
22
  });
22
23
  SelectContent.displayName = "SelectContent";
23
24
 
@@ -2,6 +2,7 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
+ import { composeRefs } from '../../utils/compose-refs.js';
5
6
  import { ark } from '../factory.js';
6
7
  import { usePresenceContext } from '../presence/use-presence-context.js';
7
8
  import { useSelectContext } from './use-select-context.js';
@@ -9,11 +10,11 @@ import { useSelectContext } from './use-select-context.js';
9
10
  const SelectContent = forwardRef((props, ref) => {
10
11
  const select = useSelectContext();
11
12
  const presence = usePresenceContext();
12
- const mergedProps = mergeProps(select.getContentProps(), presence.getPresenceProps(ref), props);
13
+ const mergedProps = mergeProps(select.getContentProps(), presence.getPresenceProps(), props);
13
14
  if (presence.unmounted) {
14
15
  return null;
15
16
  }
16
- return /* @__PURE__ */ jsx(ark.div, { ...mergedProps });
17
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });
17
18
  });
18
19
  SelectContent.displayName = "SelectContent";
19
20
 
@@ -6,6 +6,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
+ const composeRefs = require('../../utils/compose-refs.cjs');
9
10
  const createSplitProps = require('../../utils/create-split-props.cjs');
10
11
  const renderStrategy = require('../../utils/render-strategy.cjs');
11
12
  const factory = require('../factory.cjs');
@@ -24,10 +25,10 @@ const TabContent = react.forwardRef((props, ref) => {
24
25
  });
25
26
  const mergedProps = react$1.mergeProps(
26
27
  tabs.getContentProps(contentProps),
27
- presence.getPresenceProps(ref),
28
+ presence.getPresenceProps(),
28
29
  localProps
29
30
  );
30
- return /* @__PURE__ */ jsxRuntime.jsx(usePresenceContext.PresenceProvider, { value: presence, children: presence.unmounted ? null : /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps }) });
31
+ return /* @__PURE__ */ jsxRuntime.jsx(usePresenceContext.PresenceProvider, { value: presence, children: presence.unmounted ? null : /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref: composeRefs.composeRefs(presence.ref, ref) }) });
31
32
  });
32
33
  TabContent.displayName = "TabContent";
33
34
 
@@ -2,6 +2,7 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
+ import { composeRefs } from '../../utils/compose-refs.js';
5
6
  import { createSplitProps } from '../../utils/create-split-props.js';
6
7
  import { useRenderStrategyPropsContext } from '../../utils/render-strategy.js';
7
8
  import { ark } from '../factory.js';
@@ -20,10 +21,10 @@ const TabContent = forwardRef((props, ref) => {
20
21
  });
21
22
  const mergedProps = mergeProps(
22
23
  tabs.getContentProps(contentProps),
23
- presence.getPresenceProps(ref),
24
+ presence.getPresenceProps(),
24
25
  localProps
25
26
  );
26
- return /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: presence.unmounted ? null : /* @__PURE__ */ jsx(ark.div, { ...mergedProps }) });
27
+ return /* @__PURE__ */ jsx(PresenceProvider, { value: presence, children: presence.unmounted ? null : /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) }) });
27
28
  });
28
29
  TabContent.displayName = "TabContent";
29
30
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
+ const date = require('@internationalized/date');
5
6
  const timePickerCell = require('./time-picker-cell.cjs');
6
7
  const timePickerClearTrigger = require('./time-picker-clear-trigger.cjs');
7
8
  const timePickerColumn = require('./time-picker-column.cjs');
@@ -21,6 +22,10 @@ const timePicker = require('./time-picker.cjs');
21
22
 
22
23
 
23
24
 
25
+ Object.defineProperty(exports, "parseTime", {
26
+ enumerable: true,
27
+ get: () => date.parseTime
28
+ });
24
29
  exports.TimePickerCell = timePickerCell.TimePickerCell;
25
30
  exports.TimePickerClearTrigger = timePickerClearTrigger.TimePickerClearTrigger;
26
31
  exports.TimePickerColumn = timePickerColumn.TimePickerColumn;
@@ -1,3 +1,4 @@
1
+ export { parseTime } from '@internationalized/date';
1
2
  export type { FocusChangeDetails as TimePickerFocusChangeDetails, OpenChangeDetails as TimePickerOpenChangeDetails, ValueChangeDetails as TimePickerValueChangeDetails, } from '@zag-js/time-picker';
2
3
  export { TimePickerCell, type TimePickerCellBaseProps, type TimePickerCellProps, } from './time-picker-cell';
3
4
  export { TimePickerClearTrigger, type TimePickerClearTriggerBaseProps, type TimePickerClearTriggerProps, } from './time-picker-clear-trigger';
@@ -1,3 +1,4 @@
1
+ export { parseTime } from '@internationalized/date';
1
2
  export type { FocusChangeDetails as TimePickerFocusChangeDetails, OpenChangeDetails as TimePickerOpenChangeDetails, ValueChangeDetails as TimePickerValueChangeDetails, } from '@zag-js/time-picker';
2
3
  export { TimePickerCell, type TimePickerCellBaseProps, type TimePickerCellProps, } from './time-picker-cell';
3
4
  export { TimePickerClearTrigger, type TimePickerClearTriggerBaseProps, type TimePickerClearTriggerProps, } from './time-picker-clear-trigger';
@@ -1,3 +1,4 @@
1
+ export { parseTime } from '@internationalized/date';
1
2
  export { TimePickerCell } from './time-picker-cell.js';
2
3
  export { TimePickerClearTrigger } from './time-picker-clear-trigger.js';
3
4
  export { TimePickerColumn } from './time-picker-column.js';
@@ -6,6 +6,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
6
6
  const jsxRuntime = require('react/jsx-runtime');
7
7
  const react$1 = require('@zag-js/react');
8
8
  const react = require('react');
9
+ const composeRefs = require('../../utils/compose-refs.cjs');
9
10
  const factory = require('../factory.cjs');
10
11
  const usePresenceContext = require('../presence/use-presence-context.cjs');
11
12
  const useTimePickerContext = require('./use-time-picker-context.cjs');
@@ -14,15 +15,11 @@ const TimePickerContent = react.forwardRef(
14
15
  (props, ref) => {
15
16
  const timePicker = useTimePickerContext.useTimePickerContext();
16
17
  const presence = usePresenceContext.usePresenceContext();
17
- const mergedProps = react$1.mergeProps(
18
- timePicker.getContentProps(),
19
- presence.getPresenceProps(ref),
20
- props
21
- );
18
+ const mergedProps = react$1.mergeProps(timePicker.getContentProps(), presence.getPresenceProps(), props);
22
19
  if (presence.unmounted) {
23
20
  return null;
24
21
  }
25
- return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
22
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref: composeRefs.composeRefs(presence.ref, ref) });
26
23
  }
27
24
  );
28
25
  TimePickerContent.displayName = "TimePickerContent";
@@ -2,6 +2,7 @@
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import { mergeProps } from '@zag-js/react';
4
4
  import { forwardRef } from 'react';
5
+ import { composeRefs } from '../../utils/compose-refs.js';
5
6
  import { ark } from '../factory.js';
6
7
  import { usePresenceContext } from '../presence/use-presence-context.js';
7
8
  import { useTimePickerContext } from './use-time-picker-context.js';
@@ -10,15 +11,11 @@ const TimePickerContent = forwardRef(
10
11
  (props, ref) => {
11
12
  const timePicker = useTimePickerContext();
12
13
  const presence = usePresenceContext();
13
- const mergedProps = mergeProps(
14
- timePicker.getContentProps(),
15
- presence.getPresenceProps(ref),
16
- props
17
- );
14
+ const mergedProps = mergeProps(timePicker.getContentProps(), presence.getPresenceProps(), props);
18
15
  if (presence.unmounted) {
19
16
  return null;
20
17
  }
21
- return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
18
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref: composeRefs(presence.ref, ref) });
22
19
  }
23
20
  );
24
21
  TimePickerContent.displayName = "TimePickerContent";
@@ -3,7 +3,6 @@
3
3
 
4
4
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
5
 
6
- const date = require('@internationalized/date');
7
6
  const react$1 = require('@zag-js/react');
8
7
  const timePicker = require('@zag-js/time-picker');
9
8
  const react = require('react');
@@ -39,16 +38,12 @@ const useTimePicker = (props = {}) => {
39
38
  getRootNode,
40
39
  open: props.defaultOpen,
41
40
  "open.controlled": props.open !== void 0,
42
- ...props,
43
- min: props.min ? date.parseTime(props.min) : void 0,
44
- max: props.max ? date.parseTime(props.max) : void 0,
45
- value: props.defaultValue ? date.parseTime(props.defaultValue) : void 0
41
+ value: props.defaultValue,
42
+ ...props
46
43
  };
47
44
  const context = {
48
45
  ...initialContext,
49
- min: props.min ? date.parseTime(props.min) : void 0,
50
- max: props.max ? date.parseTime(props.max) : void 0,
51
- value: props.value ? date.parseTime(props.value) : void 0,
46
+ value: props.value,
52
47
  onValueChange: useEvent.useEvent(props.onValueChange),
53
48
  onFocusChange: useEvent.useEvent(props.onFocusChange),
54
49
  onOpenChange: useEvent.useEvent(props.onOpenChange)
@@ -1,7 +1,7 @@
1
1
  import { PropTypes } from '@zag-js/react';
2
2
  import { Optional } from '../../types';
3
3
  import * as timePicker from '@zag-js/time-picker';
4
- export interface UseTimePickerProps extends Optional<Omit<timePicker.Context, 'dir' | 'getRootNode' | 'min' | 'max' | 'open.controlled' | 'value'>, 'id'> {
4
+ export interface UseTimePickerProps extends Optional<Omit<timePicker.Context, 'dir' | 'getRootNode' | 'open.controlled'>, 'id'> {
5
5
  /**
6
6
  * The initial open state of the time picker when it is first rendered.
7
7
  * Use when you do not need to control its open state.
@@ -11,19 +11,7 @@ export interface UseTimePickerProps extends Optional<Omit<timePicker.Context, 'd
11
11
  * The initial value of the time picker when it is first rendered.
12
12
  * Use when you do not need to control the state of the time picker.
13
13
  */
14
- defaultValue?: string;
15
- /**
16
- * The minimum time that can be selected.
17
- */
18
- min?: string;
19
- /**
20
- * The maximum time that can be selected.
21
- */
22
- max?: string;
23
- /**
24
- * The value of the time picker
25
- */
26
- value?: string;
14
+ defaultValue?: timePicker.Context['value'];
27
15
  }
28
16
  export interface UseTimePickerReturn extends timePicker.Api<PropTypes> {
29
17
  }
@@ -1,7 +1,7 @@
1
1
  import { PropTypes } from '@zag-js/react';
2
2
  import { Optional } from '../../types';
3
3
  import * as timePicker from '@zag-js/time-picker';
4
- export interface UseTimePickerProps extends Optional<Omit<timePicker.Context, 'dir' | 'getRootNode' | 'min' | 'max' | 'open.controlled' | 'value'>, 'id'> {
4
+ export interface UseTimePickerProps extends Optional<Omit<timePicker.Context, 'dir' | 'getRootNode' | 'open.controlled'>, 'id'> {
5
5
  /**
6
6
  * The initial open state of the time picker when it is first rendered.
7
7
  * Use when you do not need to control its open state.
@@ -11,19 +11,7 @@ export interface UseTimePickerProps extends Optional<Omit<timePicker.Context, 'd
11
11
  * The initial value of the time picker when it is first rendered.
12
12
  * Use when you do not need to control the state of the time picker.
13
13
  */
14
- defaultValue?: string;
15
- /**
16
- * The minimum time that can be selected.
17
- */
18
- min?: string;
19
- /**
20
- * The maximum time that can be selected.
21
- */
22
- max?: string;
23
- /**
24
- * The value of the time picker
25
- */
26
- value?: string;
14
+ defaultValue?: timePicker.Context['value'];
27
15
  }
28
16
  export interface UseTimePickerReturn extends timePicker.Api<PropTypes> {
29
17
  }
@@ -1,5 +1,4 @@
1
1
  'use client';
2
- import { parseTime } from '@internationalized/date';
3
2
  import { useMachine, normalizeProps } from '@zag-js/react';
4
3
  import * as timePicker from '@zag-js/time-picker';
5
4
  import { useId } from 'react';
@@ -16,16 +15,12 @@ const useTimePicker = (props = {}) => {
16
15
  getRootNode,
17
16
  open: props.defaultOpen,
18
17
  "open.controlled": props.open !== void 0,
19
- ...props,
20
- min: props.min ? parseTime(props.min) : void 0,
21
- max: props.max ? parseTime(props.max) : void 0,
22
- value: props.defaultValue ? parseTime(props.defaultValue) : void 0
18
+ value: props.defaultValue,
19
+ ...props
23
20
  };
24
21
  const context = {
25
22
  ...initialContext,
26
- min: props.min ? parseTime(props.min) : void 0,
27
- max: props.max ? parseTime(props.max) : void 0,
28
- value: props.value ? parseTime(props.value) : void 0,
23
+ value: props.value,
29
24
  onValueChange: useEvent(props.onValueChange),
30
25
  onFocusChange: useEvent(props.onFocusChange),
31
26
  onOpenChange: useEvent(props.onOpenChange)
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const toggleContext = require('./toggle-context.cjs');
6
+ const toggleIndicator = require('./toggle-indicator.cjs');
7
+ const toggleRoot = require('./toggle-root.cjs');
8
+ const toggle_anatomy = require('./toggle.anatomy.cjs');
9
+ const useToggle = require('./use-toggle.cjs');
10
+ const useToggleContext = require('./use-toggle-context.cjs');
11
+ const toggle = require('./toggle.cjs');
12
+
13
+
14
+
15
+ exports.ToggleContext = toggleContext.ToggleContext;
16
+ exports.ToggleIndicator = toggleIndicator.ToggleIndicator;
17
+ exports.ToggleRoot = toggleRoot.ToggleRoot;
18
+ exports.toggleAnatomy = toggle_anatomy.toggleAnatomy;
19
+ exports.useToggle = useToggle.useToggle;
20
+ exports.useToggleContext = useToggleContext.useToggleContext;
21
+ exports.Toggle = toggle;
@@ -0,0 +1,7 @@
1
+ export { ToggleContext, type ToggleContextProps } from './toggle-context';
2
+ export { ToggleIndicator, type ToggleIndicatorProps, type ToggleIndicatorBaseProps, } from './toggle-indicator';
3
+ export { ToggleRoot, type ToggleRootBaseProps, type ToggleRootProps } from './toggle-root';
4
+ export { toggleAnatomy } from './toggle.anatomy';
5
+ export { useToggle, type UseToggleProps, type UseToggleReturn } from './use-toggle';
6
+ export { useToggleContext, type UseToggleContext } from './use-toggle-context';
7
+ export * as Toggle from './toggle';
@@ -0,0 +1,7 @@
1
+ export { ToggleContext, type ToggleContextProps } from './toggle-context';
2
+ export { ToggleIndicator, type ToggleIndicatorProps, type ToggleIndicatorBaseProps, } from './toggle-indicator';
3
+ export { ToggleRoot, type ToggleRootBaseProps, type ToggleRootProps } from './toggle-root';
4
+ export { toggleAnatomy } from './toggle.anatomy';
5
+ export { useToggle, type UseToggleProps, type UseToggleReturn } from './use-toggle';
6
+ export { useToggleContext, type UseToggleContext } from './use-toggle-context';
7
+ export * as Toggle from './toggle';
@@ -0,0 +1,8 @@
1
+ export { ToggleContext } from './toggle-context.js';
2
+ export { ToggleIndicator } from './toggle-indicator.js';
3
+ export { ToggleRoot } from './toggle-root.js';
4
+ export { toggleAnatomy } from './toggle.anatomy.js';
5
+ export { useToggle } from './use-toggle.js';
6
+ export { useToggleContext } from './use-toggle-context.js';
7
+ import * as toggle from './toggle.js';
8
+ export { toggle as Toggle };
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const useToggleContext = require('./use-toggle-context.cjs');
7
+
8
+ const ToggleContext = (props) => props.children(useToggleContext.useToggleContext());
9
+
10
+ exports.ToggleContext = ToggleContext;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ import { UseToggleContext } from './use-toggle-context';
3
+ export interface ToggleContextProps {
4
+ children: (context: UseToggleContext) => ReactNode;
5
+ }
6
+ export declare const ToggleContext: (props: ToggleContextProps) => ReactNode;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ import { UseToggleContext } from './use-toggle-context';
3
+ export interface ToggleContextProps {
4
+ children: (context: UseToggleContext) => ReactNode;
5
+ }
6
+ export declare const ToggleContext: (props: ToggleContextProps) => ReactNode;
@@ -0,0 +1,6 @@
1
+ 'use client';
2
+ import { useToggleContext } from './use-toggle-context.js';
3
+
4
+ const ToggleContext = (props) => props.children(useToggleContext());
5
+
6
+ export { ToggleContext };
@@ -0,0 +1,20 @@
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 useToggleContext = require('./use-toggle-context.cjs');
11
+
12
+ const ToggleIndicator = react.forwardRef((props, ref) => {
13
+ const { children, fallback, ...restProps } = props;
14
+ const toggle = useToggleContext.useToggleContext();
15
+ const mergedProps = react$1.mergeProps(toggle.getIndicatorProps(), restProps);
16
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: toggle.pressed ? children : fallback });
17
+ });
18
+ ToggleIndicator.displayName = "ToggleIndicator";
19
+
20
+ exports.ToggleIndicator = ToggleIndicator;
@@ -0,0 +1,11 @@
1
+ import { HTMLArkProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ export interface ToggleIndicatorBaseProps {
4
+ /**
5
+ * The fallback content to render when the toggle is not pressed.
6
+ */
7
+ fallback?: React.ReactNode;
8
+ }
9
+ export interface ToggleIndicatorProps extends HTMLArkProps<'div'>, ToggleIndicatorBaseProps {
10
+ }
11
+ export declare const ToggleIndicator: ForwardRefExoticComponent<ToggleIndicatorProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ import { HTMLArkProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+ export interface ToggleIndicatorBaseProps {
4
+ /**
5
+ * The fallback content to render when the toggle is not pressed.
6
+ */
7
+ fallback?: React.ReactNode;
8
+ }
9
+ export interface ToggleIndicatorProps extends HTMLArkProps<'div'>, ToggleIndicatorBaseProps {
10
+ }
11
+ export declare const ToggleIndicator: ForwardRefExoticComponent<ToggleIndicatorProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,16 @@
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 { useToggleContext } from './use-toggle-context.js';
7
+
8
+ const ToggleIndicator = forwardRef((props, ref) => {
9
+ const { children, fallback, ...restProps } = props;
10
+ const toggle = useToggleContext();
11
+ const mergedProps = mergeProps(toggle.getIndicatorProps(), restProps);
12
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: toggle.pressed ? children : fallback });
13
+ });
14
+ ToggleIndicator.displayName = "ToggleIndicator";
15
+
16
+ export { ToggleIndicator };
@@ -0,0 +1,27 @@
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 useToggle = require('./use-toggle.cjs');
12
+ const useToggleContext = require('./use-toggle-context.cjs');
13
+
14
+ const ToggleRoot = react.forwardRef((props, ref) => {
15
+ const [useToggleProps, localProps] = createSplitProps.createSplitProps()(props, [
16
+ "pressed",
17
+ "defaultPressed",
18
+ "disabled",
19
+ "onPressedChange"
20
+ ]);
21
+ const toggle = useToggle.useToggle(useToggleProps);
22
+ const mergedProps = react$1.mergeProps(toggle.getRootProps(), localProps);
23
+ return /* @__PURE__ */ jsxRuntime.jsx(useToggleContext.ToggleProvider, { value: toggle, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.button, { ...mergedProps, ref }) });
24
+ });
25
+ ToggleRoot.displayName = "ToggleRoot";
26
+
27
+ exports.ToggleRoot = ToggleRoot;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseToggleProps } from './use-toggle';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+ export interface ToggleRootBaseProps extends UseToggleProps, PolymorphicProps {
5
+ }
6
+ export interface ToggleRootProps extends HTMLProps<'button'>, ToggleRootBaseProps {
7
+ }
8
+ export declare const ToggleRoot: ForwardRefExoticComponent<ToggleRootProps & RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseToggleProps } from './use-toggle';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+ export interface ToggleRootBaseProps extends UseToggleProps, PolymorphicProps {
5
+ }
6
+ export interface ToggleRootProps extends HTMLProps<'button'>, ToggleRootBaseProps {
7
+ }
8
+ export declare const ToggleRoot: ForwardRefExoticComponent<ToggleRootProps & RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,23 @@
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 { useToggle } from './use-toggle.js';
8
+ import { ToggleProvider } from './use-toggle-context.js';
9
+
10
+ const ToggleRoot = forwardRef((props, ref) => {
11
+ const [useToggleProps, localProps] = createSplitProps()(props, [
12
+ "pressed",
13
+ "defaultPressed",
14
+ "disabled",
15
+ "onPressedChange"
16
+ ]);
17
+ const toggle = useToggle(useToggleProps);
18
+ const mergedProps = mergeProps(toggle.getRootProps(), localProps);
19
+ return /* @__PURE__ */ jsx(ToggleProvider, { value: toggle, children: /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref }) });
20
+ });
21
+ ToggleRoot.displayName = "ToggleRoot";
22
+
23
+ export { ToggleRoot };
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const anatomy = require('@zag-js/anatomy');
7
+
8
+ const toggleAnatomy = anatomy.createAnatomy("toggle", ["root", "indicator"]);
9
+ const parts = toggleAnatomy.build();
10
+
11
+ exports.parts = parts;
12
+ exports.toggleAnatomy = toggleAnatomy;
@@ -0,0 +1,3 @@
1
+ import { Anatomy, AnatomyPart } from '@zag-js/anatomy';
2
+ export declare const toggleAnatomy: Anatomy<"root" | "indicator">;
3
+ export declare const parts: Record<"root" | "indicator", AnatomyPart>;
@@ -0,0 +1,3 @@
1
+ import { Anatomy, AnatomyPart } from '@zag-js/anatomy';
2
+ export declare const toggleAnatomy: Anatomy<"root" | "indicator">;
3
+ export declare const parts: Record<"root" | "indicator", AnatomyPart>;
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { createAnatomy } from '@zag-js/anatomy';
3
+
4
+ const toggleAnatomy = createAnatomy("toggle", ["root", "indicator"]);
5
+ const parts = toggleAnatomy.build();
6
+
7
+ export { parts, toggleAnatomy };