import type { ElementValueAccessorFn } from '../../../Forms/Accessors/Functions/ElementValueAccessorFn'; import type { FormRestoreReason } from '../../../Forms/FormRestoreReason'; import type { FormRestoreState } from '../../../Forms/FormRestoreState'; import type { FormValue } from '../../../Forms/FormValue'; import type { ElementValidatorFn } from '../../../Forms/Validators/VNext/Abstracts/Interfaces/IElementValidator'; import { CustomFormElement } from '../Abstracts/CustomFormElement'; import { ICustomFormElement } from '../Abstracts/Interfaces/ICustomFormElement'; import type { IFormFieldElementProps } from './IFormFieldElementProps'; declare const FormFieldElement_base: (abstract new (...args: Array) => import("../../../Controls/Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array) => import("../../Behaviors/Labelable").ILabelableProps) & typeof CustomFormElement & import("../../../Controls/Behaviors/Themeable").IThemeableCtor; /** * Form Field - A component that represents a form field with associated label, hints, and validation messages. * * @description * The FormFieldElement component is designed to handle the layout and presentation of form fields in a user-friendly manner. * It includes slots for displaying labels, error messages, hints, and additional information. * This component integrates with various other elements to provide a complete form field experience. * * @remarks * Actual limitations: * - The first child of the form field must be the control element. * * @name Form Field * @element mosaik-form-field * @category Forms * * @slot - The default slot for the form field control. * @slot actions - Slot for additional information or helper text. * * @csspart label - The part representing the label associated with the form field. * @csspart detail - The part representing detailed information or additional text related to the form field. * @csspart error - The part representing error messages related to the form field. * @csspart hint - The part representing hints or suggestions for the form field. * * @cssprop {String} --cell-padding-top - The padding at the top of the cell. * @cssprop {String} --cell-padding-right - The padding at the right of the cell. * @cssprop {String} --cell-padding-bottom - The padding at the bottom of the cell. * @cssprop {String} --cell-padding-left - The padding at the left of the cell. * @cssprop {String} --cell-gap - The gap between cells. * * @dependency {StackElement} - The Stack element for layout management. * @dependency {ErrorElement} - The Error element for displaying error messages. * @dependency {HintElement} - The Hint element for providing hints to the user. * @dependency {TextElement} - The Text element for displaying textual information. * @dependency {TextBoxElement} - The Text Box element for user input. * @dependency {TooltipElement} - The Tooltip element for additional contextual information. * * @example * Basic form field with a text box: * ```html * * * * ``` * * @example * Required form field with error message: * ```html * * * * ``` * * @public */ export declare class FormFieldElement extends FormFieldElement_base implements IFormFieldElementProps, ICustomFormElement { private readonly _onChange; private readonly _onReset; private readonly _onTouched; private readonly _validatorInstances; private _error; private _hint; private _info; private _required; private _validators; private _accessor; private _validationMessage; private _control; private _controlValue; private _accessorInstance; private _invalid; private _name; private _isTouched; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `error` property. * * @public * @attr */ get error(): string; set error(value: string); /** * Gets or sets the `hint` property. * * @public * @attr */ get hint(): string; set hint(value: string); /** * Gets or sets the `info` property. * * @public * @attr */ get info(): string; set info(value: string); /** * @public * @readonly */ get validators(): Array; set validators(value: Array); /** * Gets or sets the `accessor` property. * * @public */ get accessor(): ElementValueAccessorFn | null; set accessor(value: ElementValueAccessorFn | null); /** * Gets or sets the `required` property. * * @public * @attr */ get required(): boolean; set required(value: boolean); /** * Gets or sets the `validationMessage` property. * * @public * @override */ get validationMessage(): string; private set validationMessage(value); /** * Gets or sets the `invalid` property. * * @public * @attr */ get invalid(): boolean; private set invalid(value); /** * Gets or sets the `name` property. * * @public * @attr */ get name(): string; set name(value: string); /** * @public * @override */ checkValidity(): boolean; /** * @public * @override */ reportValidity(): boolean; /** * @public */ formDisabledCallback?(disabled: boolean): void; /** * @public */ formResetCallback?(): void; /** * @public */ formStateRestoreCallback?(state: FormRestoreState | null, reason: FormRestoreReason): void; /** * @public * @override */ getFormValue(): FormValue | null; /** * @protected */ protected onAccessorPropertyChange(prev?: ElementValueAccessorFn, next?: ElementValueAccessorFn): void; /** * @protected */ protected onValidatorsPropertyChange(prev?: Array, next?: Array): void; /** * @protected */ protected onDisabledPropertyChange(_prev?: boolean, next?: boolean): void; /** * @private */ private invalidate; } /** * @public */ export declare namespace FormFieldElement { type Props = IFormFieldElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-form-field': FormFieldElement; } } export {}; //# sourceMappingURL=FormFieldElement.d.ts.map