import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  useEnvironmentContext
} from "./HDGILMRT.jsx";
import {
  useLocaleContext
} from "./HOPBYFHD.jsx";
import {
  runIfFn
} from "./KGOB2IMX.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  createContext
} from "./UZJJWJQM.jsx";
import {
  __export
} from "./7IUG3E2V.jsx";

// src/components/progress/progress-circle.tsx
import { mergeProps } from "@zag-js/solid";

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

// src/components/progress/progress-circle.tsx
var ProgressCircle = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps(() => api().getCircleProps(), props);
  return <ark.svg {...mergedProps} />;
};

// src/components/progress/progress-circle-range.tsx
import { mergeProps as mergeProps2 } from "@zag-js/solid";
var ProgressCircleRange = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps2(() => api().getCircleRangeProps(), props);
  return <ark.circle {...mergedProps} />;
};

// src/components/progress/progress-circle-track.tsx
import { mergeProps as mergeProps3 } from "@zag-js/solid";
var ProgressCircleTrack = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps3(() => api().getCircleTrackProps(), props);
  return <ark.circle {...mergedProps} />;
};

// src/components/progress/progress-context.tsx
var ProgressContext = (props) => props.children(useProgressContext());

// src/components/progress/progress-label.tsx
import { mergeProps as mergeProps4 } from "@zag-js/solid";
var ProgressLabel = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps4(() => api().getLabelProps(), props);
  return <ark.span {...mergedProps} />;
};

// src/components/progress/progress-range.tsx
import { mergeProps as mergeProps5 } from "@zag-js/solid";
var ProgressRange = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps5(() => api().getRangeProps(), props);
  return <ark.div {...mergedProps} />;
};

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

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

// src/components/progress/progress-root.tsx
var ProgressRoot = (props) => {
  const [progressProps, localProps] = createSplitProps()(props, [
    "defaultValue",
    "formatOptions",
    "id",
    "ids",
    "locale",
    "max",
    "min",
    "onValueChange",
    "orientation",
    "translations",
    "value"
  ]);
  const api = useProgress(progressProps);
  const mergedProps = mergeProps6(() => api().getRootProps(), localProps);
  return <ProgressProvider value={api}>
      <ark.div {...mergedProps} />
    </ProgressProvider>;
};

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

// src/components/progress/progress-track.tsx
import { mergeProps as mergeProps8 } from "@zag-js/solid";
var ProgressTrack = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps8(() => api().getTrackProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/progress/progress-value-text.tsx
import { mergeProps as mergeProps9 } from "@zag-js/solid";
var ProgressValueText = (props) => {
  const api = useProgressContext();
  const mergedProps = mergeProps9(() => api().getValueTextProps(), props);
  return <ark.span {...mergedProps}>{props.children || api().percentAsString}</ark.span>;
};

// src/components/progress/progress-view.tsx
import { mergeProps as mergeProps10 } from "@zag-js/solid";
var ProgressView = (props) => {
  const [state, localProps] = createSplitProps()(props, ["state"]);
  const api = useProgressContext();
  const mergedProps = mergeProps10(() => api().getViewProps(state), localProps);
  return <ark.span {...mergedProps} />;
};

// src/components/progress/progress.ts
var progress_exports = {};
__export(progress_exports, {
  Circle: () => ProgressCircle,
  CircleRange: () => ProgressCircleRange,
  CircleTrack: () => ProgressCircleTrack,
  Context: () => ProgressContext,
  Label: () => ProgressLabel,
  Range: () => ProgressRange,
  Root: () => ProgressRoot,
  RootProvider: () => ProgressRootProvider,
  Track: () => ProgressTrack,
  ValueText: () => ProgressValueText,
  View: () => ProgressView
});

export {
  useProgressContext,
  ProgressCircle,
  ProgressCircleRange,
  ProgressCircleTrack,
  ProgressContext,
  ProgressLabel,
  ProgressRange,
  useProgress,
  ProgressRoot,
  ProgressRootProvider,
  ProgressTrack,
  ProgressValueText,
  ProgressView,
  progress_exports
};
