{"version":3,"file":"Label.types.mjs","sourceRoot":"","sources":["../../../src/components/Label/Label.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport type { TextProps } from '../Text';\n\n/**\n * `Label` extends `TextProps` so consumers can pass any Text styling override\n * (`color`, `fontWeight`, `variant`, `textAlign`, etc.) directly. The `asChild`\n * prop is owned by the component (it always renders into a semantic\n * `<label>` element) and is intentionally excluded.\n */\nexport type LabelProps = Omit<TextProps, 'asChild' | 'children'> &\n  Omit<ComponentProps<'label'>, keyof TextProps | 'className'> & {\n    /**\n     * The `id` of the form input this label is associated with. When set,\n     * clicking the label focuses the corresponding input — the standard HTML\n     * `<label htmlFor>` form-association behavior. The component also adds\n     * `cursor-pointer` to communicate the affordance.\n     */\n    htmlFor?: string;\n    /**\n     * Optional prop for additional CSS classes applied to the `<label>`\n     * element. Merged with the component's defaults via `twMerge`.\n     */\n    className?: string;\n    /**\n     * The label content.\n     */\n    children: ReactNode;\n  };\n"]}