import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  useEnvironmentContext
} from "./D2Z5BEON.jsx";
import {
  createContext
} from "./TVCIHLER.jsx";
import {
  runIfFn
} from "./KGOB2IMX.jsx";
import {
  __export
} from "./7IUG3E2V.jsx";

// src/components/timer/timer-action-trigger.tsx
import { mergeProps } from "@zag-js/solid";

// src/components/timer/use-timer-context.ts
var [TimerProvider, useTimerContext] = createContext({
  hookName: "useTimerContext",
  providerName: "<TimerProvider />"
});

// src/components/timer/timer-action-trigger.tsx
var TimerActionTrigger = (props) => {
  const [actionTriggerProps, localProps] = createSplitProps()(props, ["action"]);
  const timer2 = useTimerContext();
  const mergedProps = mergeProps(() => timer2().getActionTriggerProps(actionTriggerProps), localProps);
  return <ark.button {...mergedProps} />;
};

// src/components/timer/timer-area.tsx
import { mergeProps as mergeProps2 } from "@zag-js/solid";
var TimerArea = (props) => {
  const timer2 = useTimerContext();
  const mergedProps = mergeProps2(() => timer2().getAreaProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/timer/timer-context.tsx
var TimerContext = (props) => props.children(useTimerContext());

// src/components/timer/timer-control.tsx
import { mergeProps as mergeProps3 } from "@zag-js/solid";
var TimerControl = (props) => {
  const timer2 = useTimerContext();
  const mergedProps = mergeProps3(() => timer2().getControlProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/timer/timer-item.tsx
import { mergeProps as mergeProps4 } from "@zag-js/solid";
var TimerItem = (props) => {
  const [itemProps, localProps] = createSplitProps()(props, ["type"]);
  const timer2 = useTimerContext();
  const mergedProps = mergeProps4(() => timer2().getItemProps(itemProps), localProps);
  return <ark.div {...mergedProps}>{timer2().formattedTime[itemProps.type]}</ark.div>;
};

// src/components/timer/timer-root.tsx
import { mergeProps as mergeProps5 } from "@zag-js/solid";

// src/components/timer/use-timer.ts
import { normalizeProps, useMachine } from "@zag-js/solid";
import * as timer from "@zag-js/timer";
import { createMemo, createUniqueId } from "solid-js";
var useTimer = (props) => {
  const id = createUniqueId();
  const environment = useEnvironmentContext();
  const machineProps = createMemo(() => ({
    id,
    getRootNode: environment().getRootNode,
    ...runIfFn(props)
  }));
  const service = useMachine(timer.machine, machineProps);
  return createMemo(() => timer.connect(service, normalizeProps));
};

// src/components/timer/timer-root.tsx
var TimerRoot = (props) => {
  const [useTimerProps, localProps] = createSplitProps()(props, [
    "id",
    "ids",
    "autoStart",
    "interval",
    "countdown",
    "startMs",
    "targetMs",
    "onComplete",
    "onTick"
  ]);
  const timer2 = useTimer(useTimerProps);
  const mergedProps = mergeProps5(() => timer2().getRootProps(), localProps);
  return <TimerProvider value={timer2}>
      <ark.div {...mergedProps} />
    </TimerProvider>;
};

// src/components/timer/timer-root-provider.tsx
import { mergeProps as mergeProps6 } from "@zag-js/solid";
var TimerRootProvider = (props) => {
  const [{ value: timer2 }, localProps] = createSplitProps()(props, ["value"]);
  const mergedProps = mergeProps6(() => timer2().getRootProps(), localProps);
  return <TimerProvider value={timer2}>
      <ark.div {...mergedProps} />
    </TimerProvider>;
};

// src/components/timer/timer-separator.tsx
import { mergeProps as mergeProps7 } from "@zag-js/solid";
var TimerSeparator = (props) => {
  const timer2 = useTimerContext();
  const mergedProps = mergeProps7(() => timer2().getSeparatorProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/timer/timer.anatomy.ts
import { anatomy } from "@zag-js/timer";

// src/components/timer/timer.ts
var timer_exports = {};
__export(timer_exports, {
  ActionTrigger: () => TimerActionTrigger,
  Area: () => TimerArea,
  Context: () => TimerContext,
  Control: () => TimerControl,
  Item: () => TimerItem,
  Root: () => TimerRoot,
  RootProvider: () => TimerRootProvider,
  Separator: () => TimerSeparator
});

export {
  useTimerContext,
  TimerActionTrigger,
  TimerArea,
  TimerContext,
  TimerControl,
  TimerItem,
  useTimer,
  TimerRoot,
  TimerRootProvider,
  TimerSeparator,
  anatomy,
  timer_exports
};
