UNPKG

@ark-ui/solid

Version:

A collection of unstyled, accessible UI components for Solid, utilizing state machines for seamless interaction.

152 lines (136 loc) 4.47 kB
import { createSplitProps } from "./6WEDGJKQ.jsx"; import { ark } from "./UFYZ7HLU.jsx"; import { useEnvironmentContext } from "./E2L62MKC.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 };