import {
  PresenceProvider,
  splitPresenceProps,
  usePresence,
  usePresenceContext
} from "./WC2HBDLJ.jsx";
import {
  composeRefs
} from "./DOBZPYAN.jsx";
import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  useEnvironmentContext
} from "./D2Z5BEON.jsx";
import {
  useLocaleContext
} from "./RCXMZN3G.jsx";
import {
  createContext
} from "./TVCIHLER.jsx";
import {
  runIfFn
} from "./KGOB2IMX.jsx";
import {
  __export
} from "./7IUG3E2V.jsx";

// src/components/time-picker/index.tsx
import { parseTime } from "@internationalized/date";

// src/components/time-picker/time-picker-cell.tsx
import { mergeProps } from "@zag-js/solid";

// src/components/time-picker/use-time-picker-column-props-context.ts
var [TimePickerColumnPropsProvider, useTimePickerColumnPropsContext] = createContext({
  hookName: "useTimePickerColumnPropsContext",
  providerName: "<TimePickerColumnPropsProvider />"
});

// src/components/time-picker/use-time-picker-context.ts
var [TimePickerProvider, useTimePickerContext] = createContext({
  hookName: "useTimePickerContext",
  providerName: "<TimePickerProvider />"
});

// src/components/time-picker/time-picker-cell.tsx
var TimePickerCell = (props) => {
  const [cellProps, localProps] = createSplitProps()(props, ["value"]);
  const timePicker2 = useTimePickerContext();
  const columnProps = useTimePickerColumnPropsContext();
  const unitToPropsMap = {
    hour: () => timePicker2().getHourCellProps(cellProps),
    minute: () => timePicker2().getMinuteCellProps(cellProps),
    second: () => timePicker2().getSecondCellProps(cellProps),
    period: () => timePicker2().getPeriodCellProps(cellProps)
  };
  const mergedProps = mergeProps(() => unitToPropsMap[columnProps.unit](), localProps);
  return <ark.button {...mergedProps} />;
};

// src/components/time-picker/time-picker-clear-trigger.tsx
import { mergeProps as mergeProps2 } from "@zag-js/solid";
var TimePickerClearTrigger = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps2(() => timePicker2().getClearTriggerProps(), props);
  return <ark.button {...mergedProps} />;
};

// src/components/time-picker/time-picker-column.tsx
import { mergeProps as mergeProps3 } from "@zag-js/solid";
var TimePickerColumn = (props) => {
  const [columnProps, localProps] = createSplitProps()(props, ["unit"]);
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps3(() => timePicker2().getColumnProps(columnProps), localProps);
  return <TimePickerColumnPropsProvider value={columnProps}>
      <ark.div {...mergedProps} />
    </TimePickerColumnPropsProvider>;
};

// src/components/time-picker/time-picker-content.tsx
import { mergeProps as mergeProps4 } from "@zag-js/solid";
import { Show } from "solid-js";
var TimePickerContent = (props) => {
  const timePicker2 = useTimePickerContext();
  const presenceApi = usePresenceContext();
  const mergedProps = mergeProps4(
    () => timePicker2().getContentProps(),
    () => presenceApi().presenceProps,
    props
  );
  return <Show when={!presenceApi().unmounted}>
      <ark.div {...mergedProps} ref={composeRefs(presenceApi().ref, props.ref)} />
    </Show>;
};

// src/components/time-picker/time-picker-context.tsx
var TimePickerContext = (props) => props.children(useTimePickerContext());

// src/components/time-picker/time-picker-control.tsx
import { mergeProps as mergeProps5 } from "@zag-js/solid";
var TimePickerControl = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps5(() => timePicker2().getControlProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/time-picker/time-picker-input.tsx
import { mergeProps as mergeProps6 } from "@zag-js/solid";
var TimePickerInput = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps6(() => timePicker2().getInputProps(), props);
  return <ark.input {...mergedProps} />;
};

// src/components/time-picker/time-picker-label.tsx
import { mergeProps as mergeProps7 } from "@zag-js/solid";
var TimePickerLabel = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps7(() => timePicker2().getLabelProps(), props);
  return <ark.label {...mergedProps} />;
};

// src/components/time-picker/time-picker-positioner.tsx
import { mergeProps as mergeProps8 } from "@zag-js/solid";
import { Show as Show2 } from "solid-js";
var TimePickerPositioner = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps8(() => timePicker2().getPositionerProps(), props);
  const presenceApi = usePresenceContext();
  return <Show2 when={!presenceApi().unmounted}>
      <ark.div {...mergedProps} />
    </Show2>;
};

// src/components/time-picker/time-picker-root.tsx
import { mergeProps as mergeProps9 } from "@zag-js/solid";

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

// src/components/time-picker/time-picker-root.tsx
var TimePickerRoot = (props) => {
  const [presenceProps, timePickerProps] = splitPresenceProps(props);
  const [useTimePickerProps, localProps] = createSplitProps()(timePickerProps, [
    "allowSeconds",
    "defaultOpen",
    "defaultValue",
    "disableLayer",
    "disabled",
    "id",
    "ids",
    "locale",
    "max",
    "min",
    "name",
    "onFocusChange",
    "onOpenChange",
    "onValueChange",
    "open",
    "placeholder",
    "positioning",
    "readOnly",
    "steps",
    "value"
  ]);
  const timePicker2 = useTimePicker(useTimePickerProps);
  const apiPresence = usePresence(mergeProps9(presenceProps, () => ({ present: timePicker2().open })));
  const mergedProps = mergeProps9(() => timePicker2().getRootProps(), localProps);
  return <TimePickerProvider value={timePicker2}>
      <PresenceProvider value={apiPresence}>
        <ark.div {...mergedProps} />
      </PresenceProvider>
    </TimePickerProvider>;
};

// src/components/time-picker/time-picker-root-provider.tsx
import { mergeProps as mergeProps10 } from "@zag-js/solid";
var TimePickerRootProvider = (props) => {
  const [presenceProps, timePickerProps] = splitPresenceProps(props);
  const [{ value: timePicker2 }, localProps] = createSplitProps()(timePickerProps, ["value"]);
  const apiPresence = usePresence(mergeProps10(presenceProps, () => ({ present: timePicker2().open })));
  const mergedProps = mergeProps10(() => timePicker2().getRootProps(), localProps);
  return <TimePickerProvider value={timePicker2}>
      <PresenceProvider value={apiPresence}>
        <ark.div {...mergedProps} />
      </PresenceProvider>
    </TimePickerProvider>;
};

// src/components/time-picker/time-picker-spacer.tsx
import { mergeProps as mergeProps11 } from "@zag-js/solid";
var TimePickerSpacer = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps11(() => timePicker2().getSpacerProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/time-picker/time-picker-trigger.tsx
import { mergeProps as mergeProps12 } from "@zag-js/solid";
var TimePickerTrigger = (props) => {
  const timePicker2 = useTimePickerContext();
  const mergedProps = mergeProps12(() => timePicker2().getTriggerProps(), props);
  return <ark.button {...mergedProps} />;
};

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

// src/components/time-picker/time-picker.ts
var time_picker_exports = {};
__export(time_picker_exports, {
  Cell: () => TimePickerCell,
  ClearTrigger: () => TimePickerClearTrigger,
  Column: () => TimePickerColumn,
  Content: () => TimePickerContent,
  Context: () => TimePickerContext,
  Control: () => TimePickerControl,
  Input: () => TimePickerInput,
  Label: () => TimePickerLabel,
  Positioner: () => TimePickerPositioner,
  Root: () => TimePickerRoot,
  RootProvider: () => TimePickerRootProvider,
  Spacer: () => TimePickerSpacer,
  Trigger: () => TimePickerTrigger
});

export {
  useTimePickerContext,
  TimePickerCell,
  TimePickerClearTrigger,
  TimePickerColumn,
  TimePickerContent,
  TimePickerContext,
  TimePickerControl,
  TimePickerInput,
  TimePickerLabel,
  TimePickerPositioner,
  useTimePicker,
  TimePickerRoot,
  TimePickerRootProvider,
  TimePickerSpacer,
  TimePickerTrigger,
  anatomy,
  time_picker_exports,
  parseTime
};
