import type { InputHTMLAttributes } from "react" import { mergeSlotWiring } from "./slotWiring.ts" /** * The props a **cloning ancestor** injects into the control below it. * * `Field` and `Tooltip` both take one child and `cloneElement` onto * it — "cloned, not wrapped", which is what lets a `Field` go around * an ``, a `Select`, or an app's own control without changing * that control's layout. The contract has a hole in it the moment two * of them are nested: * * ```tsx * * * * * * ``` * * `Field` clones onto the **`Tooltip` element**, so `id`, * `aria-describedby`, `aria-invalid` and `required` are handed to a * component that declares none of them — and `cloneElement` does not * care. React drops them without a warning, TypeScript never sees * them (`Children.only` returns a `ReactElement` with `any` props), * every test still passes, and the render is pixel-identical. The * `