import { PropertyValueMap } from "lit"; import { FormBuilderField, FFormInputElements, FormBuilderValues, ValidationResults, FormBuilderState, FormBuilderLabel, FormBuilderCategory, FormBuilderGap, FormBuilderSize, FormBuilderVariant } from "../../types"; import { FRoot } from "@nonfx/flow-core"; import { Ref } from "lit/directives/ref.js"; import { SimpleSubject } from "@nonfx/flow-core-config"; export declare class FFormBuilder extends FRoot { /** * css loaded from scss file */ static styles: import("lit").CSSResult[]; /** * @attribute formbuilder name */ name: string; /** * @attribute formbuilder config */ label?: FormBuilderLabel; /** * @attribute formbuilder config */ field?: FormBuilderField; /** * @attribute key value pair of values */ values?: FormBuilderValues; /** * @attribute Controls size of all input elements within the form */ size?: FormBuilderSize; /** * @attribute Variants are various visual representations of all elements inside form. */ variant?: FormBuilderVariant; /** * @attribute Categories are various visual representations of all elements inside form. */ category?: FormBuilderCategory; /** * @attribute Gap is used to define the gap between the elements */ gap?: FormBuilderGap; /** * @attribute group separator */ separator?: boolean; fieldRef: Ref; state: FormBuilderState; lastState?: FormBuilderState; showWhenSubject: SimpleSubject; inputTimeout: ReturnType; /** * responsible for rendering form */ render(): import("lit-html").TemplateResult<1>; /** * Check if submit is triggerred by external element * @param event */ checkSubmit(event: MouseEvent): void; handleKeyUp(event: KeyboardEvent): void; /** * Form's submit event handler * @param event */ onSubmit(event: SubmitEvent): void; /** * Emit submit event with data if validaiton is successful */ submit(): void; updateValidationState(all: ValidationResults): void; /** * updated hook of lit element * @param _changedProperties */ protected updated(_changedProperties: PropertyValueMap | Map): Promise; /** * showWhen handler */ onShowWhen(): void; onShowWhenExecution(): void; /** * Validation of whole form * @param silent whether to display validaiton message or not */ validateForm(silent?: boolean): Promise<{ result: boolean; message: string | null; name: string; label?: FormBuilderLabel | string; rule: import("../../types").FormBuilderGenericValidationRule["name"]; }[]>; /** * dispatching form-builder input event */ dispatchInputEvent(): void; /** * dispatching `state-change` event for consumer */ dispatchStateChangeEvent(): void; /** * dispatch showWhen event so that root will publish new form values */ dispatchShowWhenEvent(): void; /** * Whenever form removed from DOM */ disconnectedCallback(): void; }