UNPKG

jupiter-dynamic-forms

Version:

Framework-agnostic dynamic form builder for XBRL entrypoints using Web Components. Supports Angular 14+, React, Vue, and vanilla HTML.

73 lines (72 loc) 2.41 kB
import { LitElement } from 'lit'; import { XBRLFormSchema, FormData, ValidationError, FormState, ComponentConfig } from '../schema/types'; import { XBRLFormInput } from '../schema/xbrl-types'; /** * JupiterDynamicForm - Refactored Web Component using service-based architecture * * Responsibilities (Simplified): * - Component properties and reactive state * - Event delegation and coordination * - Service lifecycle management * - UI rendering and component lifecycle * - Service coordination through orchestration */ export declare class JupiterDynamicForm extends LitElement { schema?: XBRLFormSchema; xbrlInput?: XBRLFormInput; config: ComponentConfig; initialData: FormData; disabled: boolean; readonly: boolean; periodStartDate: string; periodEndDate: string; private _typedMemberData; private _columns; private _currentSchema?; private _allSections; private _selectedRoleIds; private _showFilterDialog; private _formState; private _stateManager; private _preservationService; private _submissionService; private _unsubscribeFunctions; constructor(); private _initializeServices; private _setupServiceSubscriptions; connectedCallback(): void; disconnectedCallback(): void; private _disposeServices; willUpdate(changedProperties: Map<string, any>): void; private _initializeForm; private _getDefaultSchema; private _getDefaultColumns; private _applyRoleFilter; private _shouldShowFilterButton; private _handleFilterRolesClick; private _handleFilterDialogCancel; private _handleRoleFilterApply; private _handleFieldChange; private _handleTypedMemberChange; private _validateForm; private _handleSubmit; private _handleSaveDraft; private _handleReset; private _handleSectionExpand; private _handleConceptExpand; private _handleColumnRemove; private _handleColumnAddRequest; getData(): FormData; getState(): FormState; getErrors(): ValidationError[]; setData(data: FormData): void; reset(): void; validate(): boolean; static styles: import('lit').CSSResult; render(): import('lit-html').TemplateResult<1>; private _renderFormHeader; private _renderFormSections; private _renderFormActions; private _renderFilterDialog; } //# sourceMappingURL=DynamicFormRefactored.d.ts.map