@ark-ui/react 3.7.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/README.md +1 -0
  2. package/dist/components/editable/editable-root.cjs +3 -2
  3. package/dist/components/editable/editable-root.js +3 -2
  4. package/dist/components/editable/index.d.cts +3 -0
  5. package/dist/components/editable/index.d.ts +3 -0
  6. package/dist/components/editable/use-editable.cjs +3 -1
  7. package/dist/components/editable/use-editable.d.cts +6 -1
  8. package/dist/components/editable/use-editable.d.ts +6 -1
  9. package/dist/components/editable/use-editable.js +3 -1
  10. package/dist/components/index.cjs +52 -0
  11. package/dist/components/index.d.cts +2 -0
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/components/index.js +28 -0
  14. package/dist/components/steps/index.cjs +6 -2
  15. package/dist/components/steps/index.d.cts +3 -1
  16. package/dist/components/steps/index.d.ts +3 -1
  17. package/dist/components/steps/index.js +3 -1
  18. package/dist/components/steps/steps-item-context.cjs +13 -0
  19. package/dist/components/steps/steps-item-context.d.cts +10 -0
  20. package/dist/components/steps/steps-item-context.d.ts +10 -0
  21. package/dist/components/steps/steps-item-context.js +9 -0
  22. package/dist/components/steps/steps-item.cjs +3 -1
  23. package/dist/components/steps/steps-item.js +3 -1
  24. package/dist/components/steps/use-steps-item-context.cjs +15 -0
  25. package/dist/components/steps/use-steps-item-context.d.cts +3 -4
  26. package/dist/components/steps/use-steps-item-context.d.ts +3 -4
  27. package/dist/components/steps/use-steps-item-context.js +10 -0
  28. package/dist/components/timer/index.cjs +25 -0
  29. package/dist/components/timer/index.d.cts +9 -0
  30. package/dist/components/timer/index.d.ts +9 -0
  31. package/dist/components/timer/index.js +10 -0
  32. package/dist/components/timer/timer-action-trigger.cjs +21 -0
  33. package/dist/components/timer/timer-action-trigger.d.cts +9 -0
  34. package/dist/components/timer/timer-action-trigger.d.ts +9 -0
  35. package/dist/components/timer/timer-action-trigger.js +17 -0
  36. package/dist/components/timer/timer-context.cjs +10 -0
  37. package/dist/components/timer/timer-context.d.cts +7 -0
  38. package/dist/components/timer/timer-context.d.ts +7 -0
  39. package/dist/components/timer/timer-context.js +6 -0
  40. package/dist/components/timer/timer-item.cjs +21 -0
  41. package/dist/components/timer/timer-item.d.cts +9 -0
  42. package/dist/components/timer/timer-item.d.ts +9 -0
  43. package/dist/components/timer/timer-item.js +17 -0
  44. package/dist/components/timer/timer-root-provider.cjs +22 -0
  45. package/dist/components/timer/timer-root-provider.d.cts +13 -0
  46. package/dist/components/timer/timer-root-provider.d.ts +13 -0
  47. package/dist/components/timer/timer-root-provider.js +18 -0
  48. package/dist/components/timer/timer-root.cjs +31 -0
  49. package/dist/components/timer/timer-root.d.cts +9 -0
  50. package/dist/components/timer/timer-root.d.ts +9 -0
  51. package/dist/components/timer/timer-root.js +27 -0
  52. package/dist/components/timer/timer-separator.cjs +19 -0
  53. package/dist/components/timer/timer-separator.d.cts +8 -0
  54. package/dist/components/timer/timer-separator.d.ts +8 -0
  55. package/dist/components/timer/timer-separator.js +15 -0
  56. package/dist/components/timer/timer.cjs +19 -0
  57. package/dist/components/timer/timer.d.cts +6 -0
  58. package/dist/components/timer/timer.d.ts +6 -0
  59. package/dist/components/timer/timer.js +6 -0
  60. package/dist/components/timer/use-timer-context.cjs +15 -0
  61. package/dist/components/timer/use-timer-context.d.cts +6 -0
  62. package/dist/components/timer/use-timer-context.d.ts +6 -0
  63. package/dist/components/timer/use-timer-context.js +10 -0
  64. package/dist/components/timer/use-timer.cjs +47 -0
  65. package/dist/components/timer/use-timer.d.cts +9 -0
  66. package/dist/components/timer/use-timer.d.ts +9 -0
  67. package/dist/components/timer/use-timer.js +24 -0
  68. package/dist/index.cjs +52 -0
  69. package/dist/index.js +28 -0
  70. package/package.json +67 -54
@@ -0,0 +1,9 @@
1
+ import { ActionTriggerProps } from '@zag-js/timer';
2
+ import { HTMLProps, PolymorphicProps } from '../factory';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface TimerActionTriggerBaseProps extends ActionTriggerProps, PolymorphicProps {
6
+ }
7
+ export interface TimerActionTriggerProps extends HTMLProps<'button'>, TimerActionTriggerBaseProps {
8
+ }
9
+ export declare const TimerActionTrigger: ForwardRefExoticComponent<TimerActionTriggerProps & RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { ark } from '../factory.js';
6
+ import { useTimerContext } from './use-timer-context.js';
7
+
8
+ const TimerActionTrigger = forwardRef(
9
+ (props, ref) => {
10
+ const timer = useTimerContext();
11
+ const mergedProps = mergeProps(timer.getActionTriggerProps(props), props);
12
+ return /* @__PURE__ */ jsx(ark.button, { ...mergedProps, ref });
13
+ }
14
+ );
15
+ TimerActionTrigger.displayName = "TimerActionTrigger";
16
+
17
+ export { TimerActionTrigger };
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const useTimerContext = require('./use-timer-context.cjs');
7
+
8
+ const TimerContext = (props) => props.children(useTimerContext.useTimerContext());
9
+
10
+ exports.TimerContext = TimerContext;
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { UseTimerContext } from './use-timer-context';
3
+
4
+ export interface TimerContextProps {
5
+ children: (context: UseTimerContext) => ReactNode;
6
+ }
7
+ export declare const TimerContext: (props: TimerContextProps) => ReactNode;
@@ -0,0 +1,7 @@
1
+ import { ReactNode } from 'react';
2
+ import { UseTimerContext } from './use-timer-context';
3
+
4
+ export interface TimerContextProps {
5
+ children: (context: UseTimerContext) => ReactNode;
6
+ }
7
+ export declare const TimerContext: (props: TimerContextProps) => ReactNode;
@@ -0,0 +1,6 @@
1
+ 'use client';
2
+ import { useTimerContext } from './use-timer-context.js';
3
+
4
+ const TimerContext = (props) => props.children(useTimerContext());
5
+
6
+ export { TimerContext };
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const jsxRuntime = require('react/jsx-runtime');
7
+ const react$1 = require('@zag-js/react');
8
+ const react = require('react');
9
+ const createSplitProps = require('../../utils/create-split-props.cjs');
10
+ const factory = require('../factory.cjs');
11
+ const useTimerContext = require('./use-timer-context.cjs');
12
+
13
+ const TimerItem = react.forwardRef((props, ref) => {
14
+ const [itemProps, localProps] = createSplitProps.createSplitProps()(props, ["type"]);
15
+ const timer = useTimerContext.useTimerContext();
16
+ const mergedProps = react$1.mergeProps(timer.getItemProps(itemProps), localProps);
17
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref, children: timer.formattedTime[itemProps.type] });
18
+ });
19
+ TimerItem.displayName = "TimerItem";
20
+
21
+ exports.TimerItem = TimerItem;
@@ -0,0 +1,9 @@
1
+ import { ItemProps } from '@zag-js/timer';
2
+ import { HTMLProps, PolymorphicProps } from '../factory';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface TimerItemBaseProps extends ItemProps, PolymorphicProps {
6
+ }
7
+ export interface TimerItemProps extends HTMLProps<'div'>, TimerItemBaseProps {
8
+ }
9
+ export declare const TimerItem: ForwardRefExoticComponent<TimerItemProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ import { ItemProps } from '@zag-js/timer';
2
+ import { HTMLProps, PolymorphicProps } from '../factory';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface TimerItemBaseProps extends ItemProps, PolymorphicProps {
6
+ }
7
+ export interface TimerItemProps extends HTMLProps<'div'>, TimerItemBaseProps {
8
+ }
9
+ export declare const TimerItem: ForwardRefExoticComponent<TimerItemProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { mergeProps } from '@zag-js/react';
4
+ import { forwardRef } from 'react';
5
+ import { createSplitProps } from '../../utils/create-split-props.js';
6
+ import { ark } from '../factory.js';
7
+ import { useTimerContext } from './use-timer-context.js';
8
+
9
+ const TimerItem = forwardRef((props, ref) => {
10
+ const [itemProps, localProps] = createSplitProps()(props, ["type"]);
11
+ const timer = useTimerContext();
12
+ const mergedProps = mergeProps(timer.getItemProps(itemProps), localProps);
13
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref, children: timer.formattedTime[itemProps.type] });
14
+ });
15
+ TimerItem.displayName = "TimerItem";
16
+
17
+ export { TimerItem };
@@ -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 useTimerContext = require('./use-timer-context.cjs');
12
+
13
+ const TimerRootProvider = react.forwardRef(
14
+ (props, ref) => {
15
+ const [{ value: timer }, localProps] = createSplitProps.createSplitProps()(props, ["value"]);
16
+ const mergedProps = react$1.mergeProps(timer.getRootProps(), localProps);
17
+ return /* @__PURE__ */ jsxRuntime.jsx(useTimerContext.TimerProvider, { value: timer, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) });
18
+ }
19
+ );
20
+ TimerRootProvider.displayName = "TimerRootProvider";
21
+
22
+ exports.TimerRootProvider = TimerRootProvider;
@@ -0,0 +1,13 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseTimerReturn } from './use-timer';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ interface RootProviderProps {
6
+ value: UseTimerReturn;
7
+ }
8
+ export interface TimerRootProviderBaseProps extends RootProviderProps, PolymorphicProps {
9
+ }
10
+ export interface TimerRootProviderProps extends HTMLProps<'div'>, TimerRootProviderBaseProps {
11
+ }
12
+ export declare const TimerRootProvider: ForwardRefExoticComponent<TimerRootProviderProps & RefAttributes<HTMLDivElement>>;
13
+ export {};
@@ -0,0 +1,13 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseTimerReturn } from './use-timer';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ interface RootProviderProps {
6
+ value: UseTimerReturn;
7
+ }
8
+ export interface TimerRootProviderBaseProps extends RootProviderProps, PolymorphicProps {
9
+ }
10
+ export interface TimerRootProviderProps extends HTMLProps<'div'>, TimerRootProviderBaseProps {
11
+ }
12
+ export declare const TimerRootProvider: ForwardRefExoticComponent<TimerRootProviderProps & 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 { TimerProvider } from './use-timer-context.js';
8
+
9
+ const TimerRootProvider = forwardRef(
10
+ (props, ref) => {
11
+ const [{ value: timer }, localProps] = createSplitProps()(props, ["value"]);
12
+ const mergedProps = mergeProps(timer.getRootProps(), localProps);
13
+ return /* @__PURE__ */ jsx(TimerProvider, { value: timer, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });
14
+ }
15
+ );
16
+ TimerRootProvider.displayName = "TimerRootProvider";
17
+
18
+ export { TimerRootProvider };
@@ -0,0 +1,31 @@
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 useTimer = require('./use-timer.cjs');
12
+ const useTimerContext = require('./use-timer-context.cjs');
13
+
14
+ const TimerRoot = react.forwardRef((props, ref) => {
15
+ const [useTimerProps, localProps] = createSplitProps.createSplitProps()(props, [
16
+ "id",
17
+ "autoStart",
18
+ "interval",
19
+ "countdown",
20
+ "startMs",
21
+ "targetMs",
22
+ "onComplete",
23
+ "onTick"
24
+ ]);
25
+ const timer = useTimer.useTimer(useTimerProps);
26
+ const mergedProps = react$1.mergeProps(timer.getRootProps(), localProps);
27
+ return /* @__PURE__ */ jsxRuntime.jsx(useTimerContext.TimerProvider, { value: timer, children: /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref }) });
28
+ });
29
+ TimerRoot.displayName = "TimerRoot";
30
+
31
+ exports.TimerRoot = TimerRoot;
@@ -0,0 +1,9 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseTimerProps } from './use-timer';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface TimerRootBaseProps extends UseTimerProps, PolymorphicProps {
6
+ }
7
+ export interface TimerRootProps extends HTMLProps<'div'>, TimerRootBaseProps {
8
+ }
9
+ export declare const TimerRoot: ForwardRefExoticComponent<TimerRootProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,9 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { UseTimerProps } from './use-timer';
3
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
4
+
5
+ export interface TimerRootBaseProps extends UseTimerProps, PolymorphicProps {
6
+ }
7
+ export interface TimerRootProps extends HTMLProps<'div'>, TimerRootBaseProps {
8
+ }
9
+ export declare const TimerRoot: ForwardRefExoticComponent<TimerRootProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,27 @@
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 { useTimer } from './use-timer.js';
8
+ import { TimerProvider } from './use-timer-context.js';
9
+
10
+ const TimerRoot = forwardRef((props, ref) => {
11
+ const [useTimerProps, localProps] = createSplitProps()(props, [
12
+ "id",
13
+ "autoStart",
14
+ "interval",
15
+ "countdown",
16
+ "startMs",
17
+ "targetMs",
18
+ "onComplete",
19
+ "onTick"
20
+ ]);
21
+ const timer = useTimer(useTimerProps);
22
+ const mergedProps = mergeProps(timer.getRootProps(), localProps);
23
+ return /* @__PURE__ */ jsx(TimerProvider, { value: timer, children: /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref }) });
24
+ });
25
+ TimerRoot.displayName = "TimerRoot";
26
+
27
+ export { TimerRoot };
@@ -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 useTimerContext = require('./use-timer-context.cjs');
11
+
12
+ const TimerSeparator = react.forwardRef((props, ref) => {
13
+ const timer = useTimerContext.useTimerContext();
14
+ const mergedProps = react$1.mergeProps(timer.getSeparatorProps(), props);
15
+ return /* @__PURE__ */ jsxRuntime.jsx(factory.ark.div, { ...mergedProps, ref });
16
+ });
17
+ TimerSeparator.displayName = "TimerSeparator";
18
+
19
+ exports.TimerSeparator = TimerSeparator;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface TimerSeparatorBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface TimerSeparatorProps extends HTMLProps<'div'>, TimerSeparatorBaseProps {
7
+ }
8
+ export declare const TimerSeparator: ForwardRefExoticComponent<TimerSeparatorProps & RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,8 @@
1
+ import { HTMLProps, PolymorphicProps } from '../factory';
2
+ import { ForwardRefExoticComponent, RefAttributes } from 'react';
3
+
4
+ export interface TimerSeparatorBaseProps extends PolymorphicProps {
5
+ }
6
+ export interface TimerSeparatorProps extends HTMLProps<'div'>, TimerSeparatorBaseProps {
7
+ }
8
+ export declare const TimerSeparator: ForwardRefExoticComponent<TimerSeparatorProps & RefAttributes<HTMLDivElement>>;
@@ -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 { useTimerContext } from './use-timer-context.js';
7
+
8
+ const TimerSeparator = forwardRef((props, ref) => {
9
+ const timer = useTimerContext();
10
+ const mergedProps = mergeProps(timer.getSeparatorProps(), props);
11
+ return /* @__PURE__ */ jsx(ark.div, { ...mergedProps, ref });
12
+ });
13
+ TimerSeparator.displayName = "TimerSeparator";
14
+
15
+ export { TimerSeparator };
@@ -0,0 +1,19 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const timerContext = require('./timer-context.cjs');
6
+ const timerActionTrigger = require('./timer-action-trigger.cjs');
7
+ const timerItem = require('./timer-item.cjs');
8
+ const timerSeparator = require('./timer-separator.cjs');
9
+ const timerRoot = require('./timer-root.cjs');
10
+ const timerRootProvider = require('./timer-root-provider.cjs');
11
+
12
+
13
+
14
+ exports.Context = timerContext.TimerContext;
15
+ exports.ActionTrigger = timerActionTrigger.TimerActionTrigger;
16
+ exports.Item = timerItem.TimerItem;
17
+ exports.Separator = timerSeparator.TimerSeparator;
18
+ exports.Root = timerRoot.TimerRoot;
19
+ exports.RootProvider = timerRootProvider.TimerRootProvider;
@@ -0,0 +1,6 @@
1
+ export { TimerContext as Context, type TimerContextProps as ContextProps, } from './timer-context';
2
+ export { TimerActionTrigger as ActionTrigger, type TimerActionTriggerBaseProps as ActionTriggerBaseProps, type TimerActionTriggerProps as ActionTriggerProps, } from './timer-action-trigger';
3
+ export { TimerItem as Item, type TimerItemProps as ItemProps, type TimerItemBaseProps as ItemBaseProps, } from './timer-item';
4
+ export { TimerSeparator as Separator, type TimerSeparatorProps as SeparatorProps, type TimerSeparatorBaseProps as SeparatorBaseProps, } from './timer-separator';
5
+ export { TimerRoot as Root, type TimerRootProps as RootProps, type TimerRootBaseProps as RootBaseProps, } from './timer-root';
6
+ export { TimerRootProvider as RootProvider, type TimerRootProviderProps as RootProviderBaseProps, type TimerRootProviderBaseProps as RootProviderProps, } from './timer-root-provider';
@@ -0,0 +1,6 @@
1
+ export { TimerContext as Context, type TimerContextProps as ContextProps, } from './timer-context';
2
+ export { TimerActionTrigger as ActionTrigger, type TimerActionTriggerBaseProps as ActionTriggerBaseProps, type TimerActionTriggerProps as ActionTriggerProps, } from './timer-action-trigger';
3
+ export { TimerItem as Item, type TimerItemProps as ItemProps, type TimerItemBaseProps as ItemBaseProps, } from './timer-item';
4
+ export { TimerSeparator as Separator, type TimerSeparatorProps as SeparatorProps, type TimerSeparatorBaseProps as SeparatorBaseProps, } from './timer-separator';
5
+ export { TimerRoot as Root, type TimerRootProps as RootProps, type TimerRootBaseProps as RootBaseProps, } from './timer-root';
6
+ export { TimerRootProvider as RootProvider, type TimerRootProviderProps as RootProviderBaseProps, type TimerRootProviderBaseProps as RootProviderProps, } from './timer-root-provider';
@@ -0,0 +1,6 @@
1
+ export { TimerContext as Context } from './timer-context.js';
2
+ export { TimerActionTrigger as ActionTrigger } from './timer-action-trigger.js';
3
+ export { TimerItem as Item } from './timer-item.js';
4
+ export { TimerSeparator as Separator } from './timer-separator.js';
5
+ export { TimerRoot as Root } from './timer-root.js';
6
+ export { TimerRootProvider as RootProvider } from './timer-root-provider.js';
@@ -0,0 +1,15 @@
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 [TimerProvider, useTimerContext] = createContext.createContext({
9
+ name: "TimerContext",
10
+ hookName: "useTimerContext",
11
+ providerName: "<TimerProvider />"
12
+ });
13
+
14
+ exports.TimerProvider = TimerProvider;
15
+ exports.useTimerContext = useTimerContext;
@@ -0,0 +1,6 @@
1
+ import { UseTimerReturn } from './use-timer';
2
+ import { Provider } from 'react';
3
+
4
+ export interface UseTimerContext extends UseTimerReturn {
5
+ }
6
+ export declare const TimerProvider: Provider<UseTimerContext>, useTimerContext: () => UseTimerContext;
@@ -0,0 +1,6 @@
1
+ import { UseTimerReturn } from './use-timer';
2
+ import { Provider } from 'react';
3
+
4
+ export interface UseTimerContext extends UseTimerReturn {
5
+ }
6
+ export declare const TimerProvider: Provider<UseTimerContext>, useTimerContext: () => UseTimerContext;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ import { createContext } from '../../utils/create-context.js';
3
+
4
+ const [TimerProvider, useTimerContext] = createContext({
5
+ name: "TimerContext",
6
+ hookName: "useTimerContext",
7
+ providerName: "<TimerProvider />"
8
+ });
9
+
10
+ export { TimerProvider, useTimerContext };
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
5
+
6
+ const react$1 = require('@zag-js/react');
7
+ const timer = require('@zag-js/timer');
8
+ const react = require('react');
9
+ const useEnvironmentContext = require('../../providers/environment/use-environment-context.cjs');
10
+ const useEvent = require('../../utils/use-event.cjs');
11
+
12
+ function _interopNamespaceDefault(e) {
13
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } });
14
+ if (e) {
15
+ for (const k in e) {
16
+ if (k !== 'default') {
17
+ const d = Object.getOwnPropertyDescriptor(e, k);
18
+ Object.defineProperty(n, k, d.get ? d : {
19
+ enumerable: true,
20
+ get: () => e[k]
21
+ });
22
+ }
23
+ }
24
+ }
25
+ n.default = e;
26
+ return Object.freeze(n);
27
+ }
28
+
29
+ const timer__namespace = /*#__PURE__*/_interopNamespaceDefault(timer);
30
+
31
+ const useTimer = (props) => {
32
+ const env = useEnvironmentContext.useEnvironmentContext();
33
+ const initialContext = {
34
+ id: react.useId(),
35
+ getRootNode: env.getRootNode,
36
+ ...props
37
+ };
38
+ const context = {
39
+ ...initialContext,
40
+ onComplete: useEvent.useEvent(props.onComplete),
41
+ onTick: useEvent.useEvent(props.onTick)
42
+ };
43
+ const [state, send] = react$1.useMachine(timer__namespace.machine(initialContext), { context });
44
+ return timer__namespace.connect(state, send, react$1.normalizeProps);
45
+ };
46
+
47
+ exports.useTimer = useTimer;
@@ -0,0 +1,9 @@
1
+ import { PropTypes } from '@zag-js/react';
2
+ import { Optional } from '../../types';
3
+
4
+ import * as timer from '@zag-js/timer';
5
+ export interface UseTimerProps extends Optional<Omit<timer.Context, 'dir' | 'getRootNode'>, 'id'> {
6
+ }
7
+ export interface UseTimerReturn extends timer.Api<PropTypes> {
8
+ }
9
+ export declare const useTimer: (props: UseTimerProps) => UseTimerReturn;
@@ -0,0 +1,9 @@
1
+ import { PropTypes } from '@zag-js/react';
2
+ import { Optional } from '../../types';
3
+
4
+ import * as timer from '@zag-js/timer';
5
+ export interface UseTimerProps extends Optional<Omit<timer.Context, 'dir' | 'getRootNode'>, 'id'> {
6
+ }
7
+ export interface UseTimerReturn extends timer.Api<PropTypes> {
8
+ }
9
+ export declare const useTimer: (props: UseTimerProps) => UseTimerReturn;
@@ -0,0 +1,24 @@
1
+ 'use client';
2
+ import { useMachine, normalizeProps } from '@zag-js/react';
3
+ import * as timer from '@zag-js/timer';
4
+ import { useId } from 'react';
5
+ import { useEnvironmentContext } from '../../providers/environment/use-environment-context.js';
6
+ import { useEvent } from '../../utils/use-event.js';
7
+
8
+ const useTimer = (props) => {
9
+ const env = useEnvironmentContext();
10
+ const initialContext = {
11
+ id: useId(),
12
+ getRootNode: env.getRootNode,
13
+ ...props
14
+ };
15
+ const context = {
16
+ ...initialContext,
17
+ onComplete: useEvent(props.onComplete),
18
+ onTick: useEvent(props.onTick)
19
+ };
20
+ const [state, send] = useMachine(timer.machine(initialContext), { context });
21
+ return timer.connect(state, send, normalizeProps);
22
+ };
23
+
24
+ export { useTimer };
package/dist/index.cjs CHANGED
@@ -437,6 +437,23 @@ const splitterRootProvider = require('./components/splitter/splitter-root-provid
437
437
  const useSplitter = require('./components/splitter/use-splitter.cjs');
438
438
  const useSplitterContext = require('./components/splitter/use-splitter-context.cjs');
439
439
  const splitter$1 = require('./components/splitter/splitter.cjs');
440
+ const stepsCompletedContent = require('./components/steps/steps-completed-content.cjs');
441
+ const stepsContent = require('./components/steps/steps-content.cjs');
442
+ const stepsIndicator = require('./components/steps/steps-indicator.cjs');
443
+ const stepsItem = require('./components/steps/steps-item.cjs');
444
+ const stepsItemContext = require('./components/steps/steps-item-context.cjs');
445
+ const stepsList = require('./components/steps/steps-list.cjs');
446
+ const stepsNextTrigger = require('./components/steps/steps-next-trigger.cjs');
447
+ const stepsPrevTrigger = require('./components/steps/steps-prev-trigger.cjs');
448
+ const stepsProgress = require('./components/steps/steps-progress.cjs');
449
+ const stepsRoot = require('./components/steps/steps-root.cjs');
450
+ const stepsRootProvider = require('./components/steps/steps-root-provider.cjs');
451
+ const stepsSeparator = require('./components/steps/steps-separator.cjs');
452
+ const stepsTrigger = require('./components/steps/steps-trigger.cjs');
453
+ const useSteps = require('./components/steps/use-steps.cjs');
454
+ const useStepsContext = require('./components/steps/use-steps-context.cjs');
455
+ const useStepsItemContext = require('./components/steps/use-steps-item-context.cjs');
456
+ const steps = require('./components/steps/steps.cjs');
440
457
  const switchContext = require('./components/switch/switch-context.cjs');
441
458
  const switchControl = require('./components/switch/switch-control.cjs');
442
459
  const switchHiddenInput = require('./components/switch/switch-hidden-input.cjs');
@@ -491,6 +508,15 @@ const timePickerTrigger = require('./components/time-picker/time-picker-trigger.
491
508
  const useTimePicker = require('./components/time-picker/use-time-picker.cjs');
492
509
  const useTimePickerContext = require('./components/time-picker/use-time-picker-context.cjs');
493
510
  const timePicker = require('./components/time-picker/time-picker.cjs');
511
+ const timerContext = require('./components/timer/timer-context.cjs');
512
+ const timerActionTrigger = require('./components/timer/timer-action-trigger.cjs');
513
+ const timerItem = require('./components/timer/timer-item.cjs');
514
+ const timerSeparator = require('./components/timer/timer-separator.cjs');
515
+ const timerRoot = require('./components/timer/timer-root.cjs');
516
+ const timerRootProvider = require('./components/timer/timer-root-provider.cjs');
517
+ const useTimer = require('./components/timer/use-timer.cjs');
518
+ const useTimerContext = require('./components/timer/use-timer-context.cjs');
519
+ const timer = require('./components/timer/timer.cjs');
494
520
  const createToaster = require('./components/toast/create-toaster.cjs');
495
521
  const toastActionTrigger = require('./components/toast/toast-action-trigger.cjs');
496
522
  const toastCloseTrigger = require('./components/toast/toast-close-trigger.cjs');
@@ -1011,6 +1037,23 @@ exports.SplitterRootProvider = splitterRootProvider.SplitterRootProvider;
1011
1037
  exports.useSplitter = useSplitter.useSplitter;
1012
1038
  exports.useSplitterContext = useSplitterContext.useSplitterContext;
1013
1039
  exports.Splitter = splitter$1;
1040
+ exports.StepsCompletedContent = stepsCompletedContent.StepsCompletedContent;
1041
+ exports.StepsContent = stepsContent.StepsContent;
1042
+ exports.StepsIndicator = stepsIndicator.StepsIndicator;
1043
+ exports.StepsItem = stepsItem.StepsItem;
1044
+ exports.StepsItemContext = stepsItemContext.StepsItemContext;
1045
+ exports.StepsList = stepsList.StepsList;
1046
+ exports.StepsNextTrigger = stepsNextTrigger.StepsNextTrigger;
1047
+ exports.StepsPrevTrigger = stepsPrevTrigger.StepsPrevTrigger;
1048
+ exports.StepsProgress = stepsProgress.StepsProgress;
1049
+ exports.StepsRoot = stepsRoot.StepsRoot;
1050
+ exports.StepsRootProvider = stepsRootProvider.StepsRootProvider;
1051
+ exports.StepsSeparator = stepsSeparator.StepsSeparator;
1052
+ exports.StepsTrigger = stepsTrigger.StepsTrigger;
1053
+ exports.useSteps = useSteps.useSteps;
1054
+ exports.useStepsContext = useStepsContext.useStepsContext;
1055
+ exports.useStepsItemContext = useStepsItemContext.useStepsItemContext;
1056
+ exports.Steps = steps;
1014
1057
  exports.SwitchContext = switchContext.SwitchContext;
1015
1058
  exports.SwitchControl = switchControl.SwitchControl;
1016
1059
  exports.SwitchHiddenInput = switchHiddenInput.SwitchHiddenInput;
@@ -1065,6 +1108,15 @@ exports.TimePickerTrigger = timePickerTrigger.TimePickerTrigger;
1065
1108
  exports.useTimePicker = useTimePicker.useTimePicker;
1066
1109
  exports.useTimePickerContext = useTimePickerContext.useTimePickerContext;
1067
1110
  exports.TimePicker = timePicker;
1111
+ exports.TimerContext = timerContext.TimerContext;
1112
+ exports.TimerActionTrigger = timerActionTrigger.TimerActionTrigger;
1113
+ exports.TimerItem = timerItem.TimerItem;
1114
+ exports.TimerSeparator = timerSeparator.TimerSeparator;
1115
+ exports.TimerRoot = timerRoot.TimerRoot;
1116
+ exports.TimerRootProvider = timerRootProvider.TimerRootProvider;
1117
+ exports.useTimer = useTimer.useTimer;
1118
+ exports.useTimerContext = useTimerContext.useTimerContext;
1119
+ exports.Timer = timer;
1068
1120
  exports.createToaster = createToaster.createToaster;
1069
1121
  exports.ToastActionTrigger = toastActionTrigger.ToastActionTrigger;
1070
1122
  exports.ToastCloseTrigger = toastCloseTrigger.ToastCloseTrigger;