UNPKG

@salla.sa/twilight-components

Version:
48 lines (47 loc) 1.7 kB
import { type EventEmitter } from "../../stencil-public-runtime"; import { type CustomField } from "../salla-user-profile/interfaces"; export declare class SallaCustomFields { /** The list of custom fields to render. Can be a JSON string or an array of objects. */ fields: string | CustomField[]; /** Whether the fields can be edited by the user. */ isEditable: boolean; /** The URL to send file uploads to. */ fileUploadUrl: string; private parsedFields; private fieldErrors; private isSubmitting; /** Emitted when a field's value changes. */ fieldChanged: EventEmitter<{ fieldId: string | number; value: unknown; isValid: boolean; }>; /** Emitted when a file is successfully uploaded or encounters an error. */ fileUploaded: EventEmitter<{ fieldId: string | number; file: File; isValid: boolean; }>; private get dragAndDropText(); private get browseText(); private get saveButtonText(); /** Update the displayed fields programmatically. */ setFields(fields: CustomField[]): Promise<void>; /** Gets the current values of all fields, formatted for submission. */ getFieldValues(): Promise<{ [key: string]: unknown; }>; /** Validates all required fields and updates the error state. Returns true if valid. */ validateFields(): Promise<boolean>; private handleFieldChange; private handleFileUpload; private clearFieldError; private setFieldError; private renderTextField; private renderFileField; private renderField; componentWillLoad(): void; private parseFields; private handleSubmit; render(): any; }