import { i as ComponentResolver } from "../renderer-ab9E52Bp.mjs"; import { ElementType } from "react"; //#region src/themes/mantine.d.ts /** * Element types the Mantine resolver renders into. Every slot is the * Mantine component the corresponding render function expects to find * at the call site; consumers wire these in once via * `createMantineResolver`. * * `Text` is required so read-only scalars render as a styled Mantine * `` element instead of a bare ``, matching the visual * weight of the editable variants. */ interface MantineComponents { TextInput: ElementType; NumberInput: ElementType; Switch: ElementType; Select: ElementType; Fieldset: ElementType; Text: ElementType; } /** * Build a Mantine-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 createMantineResolver(components: MantineComponents): ComponentResolver; /** * Component resolver mapping schema field types to Mantine primitives — * `TextInput`, `NumberInput`, `Switch`, `Select`, `Fieldset`, `Text`. * * Built against minimal HTML stubs so the resolver is usable without * wiring up `@mantine/core` first — production usage should call * {@link createMantineResolver} with real Mantine element types. * * @group Themes * @example * ```tsx * import { TextInput, NumberInput, Switch, Select, Fieldset, Text } from "@mantine/core"; * import { createMantineResolver } from "schema-components/themes/mantine"; * * const mantineResolver = createMantineResolver({ * TextInput, NumberInput, Switch, Select, Fieldset, Text, * }); * * * * * ``` */ declare const mantineResolver: ComponentResolver; //#endregion export { MantineComponents, createMantineResolver, mantineResolver };