import {
  composeRefs
} from "./DOBZPYAN.jsx";
import {
  createSplitProps
} from "./6WEDGJKQ.jsx";
import {
  ark
} from "./UFYZ7HLU.jsx";

// src/components/focus-trap/focus-trap.tsx
import { trapFocus } from "@zag-js/focus-trap";
import { createEffect, onCleanup } from "solid-js";
var FocusTrap = (props) => {
  let localNode;
  const [trapProps, localProps] = createSplitProps()(props, [
    "disabled",
    "onActivate",
    "onDeactivate",
    "initialFocus",
    "fallbackFocus",
    "returnFocusOnDeactivate",
    "setReturnFocus"
  ]);
  createEffect(() => {
    if (!localNode || trapProps.disabled) return;
    const autoFocusNode = localNode.querySelector("[autofocus], [data-autofocus]");
    trapProps.initialFocus ||= autoFocusNode ?? void 0;
    onCleanup(trapFocus(localNode, trapProps));
  });
  return <ark.div {...localProps} ref={composeRefs((el) => localNode = el, props.ref)} />;
};

export {
  FocusTrap
};
