import {
  toggleAnatomy
} from "./24WXBTEA.jsx";
import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  createContext
} from "./UZJJWJQM.jsx";
import {
  __export
} from "./7IUG3E2V.jsx";

// src/components/toggle/toggle.ts
var toggle_exports = {};
__export(toggle_exports, {
  Context: () => ToggleContext,
  Indicator: () => ToggleIndicator,
  Root: () => ToggleRoot,
  toggleAnatomy: () => toggleAnatomy
});

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

// src/components/toggle/toggle-context.tsx
var ToggleContext = (props) => props.children(useToggleContext());

// src/components/toggle/toggle-indicator.tsx
import { mergeProps } from "@zag-js/solid";
import { Show, splitProps } from "solid-js";
var ToggleIndicator = (props) => {
  const [baseProps, restProps] = splitProps(props, ["children", "fallback"]);
  const toggle2 = useToggleContext();
  const mergedProps = mergeProps(() => toggle2().getIndicatorProps(), restProps);
  return <ark.div {...mergedProps}>
      <Show when={toggle2().pressed} fallback={baseProps.fallback}>
        {baseProps.children}
      </Show>
    </ark.div>;
};

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

// src/components/toggle/use-toggle.ts
import { normalizeProps, useMachine } from "@zag-js/solid";
import * as toggle from "@zag-js/toggle";
import { createMemo } from "solid-js";
function useToggle(props) {
  const service = useMachine(toggle.machine, props);
  return createMemo(() => toggle.connect(service, normalizeProps));
}

// src/components/toggle/toggle-root.tsx
var ToggleRoot = (props) => {
  const [useToggleProps, localProps] = createSplitProps()(props, [
    "pressed",
    "defaultPressed",
    "disabled",
    "onPressedChange"
  ]);
  const toggle2 = useToggle(useToggleProps);
  const mergedProps = mergeProps2(() => toggle2().getRootProps(), localProps);
  return <ToggleProvider value={toggle2}>
      <ark.button {...mergedProps} />
    </ToggleProvider>;
};

export {
  useToggleContext,
  ToggleContext,
  ToggleIndicator,
  useToggle,
  ToggleRoot,
  toggle_exports
};
