import { i as ComponentResolver } from "../renderer-ab9E52Bp.mjs"; import { ElementType } from "react"; //#region src/themes/radix.d.ts /** * Element types the Radix resolver renders into. Each Select.* slot is * passed in separately because Radix exposes those parts as nested * properties on the `Select` namespace; flattening them into the * dependency bag lets the resolver pass them straight to JSX without * touching `Select.Root`-style member expressions at render time. */ interface RadixComponents { Box: ElementType; Checkbox: ElementType; Flex: ElementType; SelectRoot: ElementType; SelectTrigger: ElementType; SelectContent: ElementType; SelectItem: ElementType; Text: ElementType; TextField: ElementType; } /** * Build a Radix-flavoured {@link ComponentResolver} bound to the * supplied element types. Each render function captures the supplied * components in a closure so two consumers can build different * resolvers from the same package without leaking element types * through module-level mutable state. * * Returns only the keys this theme actually overrides. The runtime * `mergeResolvers` call inside `` / `` * fills unset keys from `headlessResolver`, so variants this adapter * leaves unset (literal, union, discriminatedUnion, array, record, * file, unknown, …) still render via the headless fallback. * * @group Themes */ declare function createRadixResolver(components: RadixComponents): ComponentResolver; /** * Component resolver mapping schema field types to Radix Themes * primitives — `Box`, `Checkbox`, `Flex`, `Select.*`, `Text`, * `TextField`. * * Built against minimal HTML stubs so the resolver is usable without * wiring up `@radix-ui/themes` first — production usage should call * {@link createRadixResolver} with real Radix element types. * * @group Themes * @example * ```tsx * import * as Radix from "@radix-ui/themes"; * import { createRadixResolver } from "schema-components/themes/radix"; * * const radixResolver = createRadixResolver({ * Box: Radix.Box, * Checkbox: Radix.Checkbox, * Flex: Radix.Flex, * SelectRoot: Radix.Select.Root, * SelectTrigger: Radix.Select.Trigger, * SelectContent: Radix.Select.Content, * SelectItem: Radix.Select.Item, * Text: Radix.Text, * TextField: Radix.TextField.Root, * }); * * * * * ``` */ declare const radixResolver: ComponentResolver; //#endregion export { RadixComponents, createRadixResolver, radixResolver };