/**
 * `<Tooltip.Viewport>` — Solid 2 port of Base UI React's `TooltipViewport`.
 *
 * Solid 2.0-native rewire (§1 wave 2): replaces `renderElement` with
 * `dynamic(() => props.as ?? "div")` and inlines `data-instant`
 * via a getter on the merged props bag.
 */

import { dynamic } from "@solidjs/web";
import { createMemo, omit } from "solid-js";
import { mergeRootProps } from "../../internals/merge-root-props.jsx";
import { resolveClassStyle } from "../../internals/resolve-class-style.jsx";
import { useTooltipRootContext } from "../tooltip-root-context.jsx";
/**
 * A viewport for displaying content transitions inside a tooltip.
 */
export function TooltipViewport(props) {
  const root = useTooltipRootContext();
  const state = createMemo(() => ({
    instant: root.instantType()
  }));
  const internal = {
    get "data-instant"() {
      const v = state().instant;
      return v ? v : undefined;
    }
  };
  const userClassStyle = resolveClassStyle(props, () => state());
  const userProps = omit(props, "as", "class", "style", "attrs");
  let merged = mergeRootProps(internal, userClassStyle);
  merged = mergeRootProps(merged, userProps);
  const Tag = dynamic(() => props.as ?? "div");
  return <Tag {...merged} />;
}
//# sourceMappingURL=tooltip-viewport.jsx.map
