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. * * @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 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. * @csspart label - The part representing the label associated with the form field. * @csspart root - The root part. * @csspart tip - The tip part. * @csspart title - The title part. * * @cssprop {String} --form-field-background-color - The field background color CSS custom property. * @cssprop {String} --form-field-font-family - The field font family CSS custom property. * @cssprop {String} --form-field-font-letter-spacing - The field font letter spacing CSS custom property. * @cssprop {String} --form-field-font-line-height - The field font line height CSS custom property. * @cssprop {String} --form-field-font-size - The field font size CSS custom property. * @cssprop {String} --form-field-font-text-decoration - The field font text decoration CSS custom property. * @cssprop {String} --form-field-font-text-transform - The field font text transform CSS custom property. * @cssprop {String} --form-field-font-weight - The field font weight CSS custom property. * @cssprop {String} --form-field-gap - The field gap CSS custom property. * @cssprop {String} --form-field-padding-bottom - The field padding bottom CSS custom property. * @cssprop {String} --form-field-padding-left - The field padding left CSS custom property. * @cssprop {String} --form-field-padding-right - The field padding right CSS custom property. * @cssprop {String} --form-field-padding-top - The field padding top CSS custom property. * @cssprop {String} --form-field-shadow - The field shadow CSS custom property. * @cssprop {String} --form-field-shadow-blur - The field shadow blur CSS custom property. * @cssprop {String} --form-field-shadow-color - The field shadow color CSS custom property. * @cssprop {String} --form-field-shadow-offset-x - The field shadow offset x CSS custom property. * @cssprop {String} --form-field-shadow-offset-y - The field shadow offset y CSS custom property. * @cssprop {String} --form-field-shadow-spread - The field shadow spread CSS custom property. * @cssprop {String} --form-field-transition-duration - The field transition duration CSS custom property. * @cssprop {String} --form-field-transition-mode - The field transition mode CSS custom property. * @cssprop {String} --form-field-transition-property - The field transition property CSS custom property. * @cssprop {String} --form-field-translate - The field translate CSS custom property. * * @dependency mosaik-error - The Error element. * @dependency mosaik-hint - The Hint element. * @dependency mosaik-text - The Text element. * @dependency mosaik-toggletip - The Toggletip element. * * @example * Basic form field with a text box: * ```html * * * * ``` * * @example * Required form field with error message: * ```html * * * * ``` * * @public * * @remarks * Actual limitations: * - The first child of the form field must be the control element. */ 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