import {
  usePresence
} from "./OEGORBLT.jsx";
import {
  composeRefs
} from "./PT2CJE3O.jsx";
import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";
import {
  createContext
} from "./UZJJWJQM.jsx";

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

// src/components/presence/split-presence-props.ts
var splitPresenceProps = (props) => createSplitProps()(props, [
  "immediate",
  "lazyMount",
  "onExitComplete",
  "present",
  "skipAnimationOnMount",
  "unmountOnExit"
]);

// src/components/presence/presence.tsx
var Presence = (props) => {
  const [presenceProps, localProps] = splitPresenceProps(props);
  const api = usePresence(presenceProps);
  const mergedProps = mergeProps(() => api().presenceProps, localProps);
  return <Show when={!api().unmounted}>
      <ark.div {...mergedProps} ref={composeRefs(api().ref, props.ref)} data-scope="presence" data-part="root" />
    </Show>;
};

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

export {
  splitPresenceProps,
  Presence,
  PresenceProvider,
  usePresenceContext
};
