@salla.sa/twilight-components
Version:
Salla Web Component
48 lines (47 loc) • 1.7 kB
TypeScript
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;
}