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

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

// src/components/clipboard/clipboard-context.tsx
var ClipboardContext = (props) => props.children(useClipboardContext());

// src/components/clipboard/clipboard-control.tsx
import { mergeProps } from "@zag-js/solid";
var ClipboardControl = (props) => {
  const api = useClipboardContext();
  const mergedProps = mergeProps(() => api().getControlProps(), props);
  return <ark.div {...mergedProps} />;
};

// src/components/clipboard/clipboard-indicator.tsx
import { mergeProps as mergeProps2 } from "@zag-js/solid";
import { Show, children } from "solid-js";
var ClipboardIndicator = (props) => {
  const [indicatorProps, localProps] = createSplitProps()(props, ["copied"]);
  const api = useClipboardContext();
  const mergedProps = mergeProps2(api().getIndicatorProps({ copied: api().copied }), localProps);
  const getChildren = children(() => localProps.children);
  return <ark.div {...mergedProps}>
      <Show when={api().copied} fallback={getChildren()}>
        {indicatorProps.copied}
      </Show>
    </ark.div>;
};

// src/components/clipboard/clipboard-input.tsx
import { mergeProps as mergeProps3 } from "@zag-js/solid";
var ClipboardInput = (props) => {
  const api = useClipboardContext();
  const mergedProps = mergeProps3(() => api().getInputProps(), props);
  return <ark.input {...mergedProps} />;
};

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

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

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

// src/components/clipboard/clipboard-root.tsx
var ClipboardRoot = (props) => {
  const [useClipboardProps, localProps] = createSplitProps()(props, [
    "defaultValue",
    "id",
    "ids",
    "onStatusChange",
    "onValueChange",
    "timeout",
    "translations",
    "value"
  ]);
  const api = useClipboard(useClipboardProps);
  const mergedProps = mergeProps5(() => api().getRootProps(), localProps);
  return <ClipboardProvider value={api}>
      <ark.div {...mergedProps} />
    </ClipboardProvider>;
};

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

// src/components/clipboard/clipboard-trigger.tsx
import { mergeProps as mergeProps7 } from "@zag-js/solid";
var ClipboardTrigger = (props) => {
  const api = useClipboardContext();
  const mergedProps = mergeProps7(() => api().getTriggerProps(), props);
  return <ark.button {...mergedProps} />;
};

// src/components/clipboard/clipboard-value-text.tsx
import { mergeProps as mergeProps8 } from "@zag-js/solid";
var ClipboardValueText = (props) => {
  const api = useClipboardContext();
  const mergedProps = mergeProps8(props);
  return <ark.span {...mergedProps}>{props.children || api().value}</ark.span>;
};

// src/components/clipboard/clipboard.ts
var clipboard_exports = {};
__export(clipboard_exports, {
  Context: () => ClipboardContext,
  Control: () => ClipboardControl,
  Indicator: () => ClipboardIndicator,
  Input: () => ClipboardInput,
  Label: () => ClipboardLabel,
  Root: () => ClipboardRoot,
  RootProvider: () => ClipboardRootProvider,
  Trigger: () => ClipboardTrigger,
  ValueText: () => ClipboardValueText
});

export {
  useClipboardContext,
  ClipboardContext,
  ClipboardControl,
  ClipboardIndicator,
  ClipboardInput,
  ClipboardLabel,
  useClipboard,
  ClipboardRoot,
  ClipboardRootProvider,
  ClipboardTrigger,
  ClipboardValueText,
  clipboard_exports
};
