@praxisui/dynamic-form 3.0.0-beta.0 → 3.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { OnChanges, OnDestroy, EventEmitter, SimpleChanges, OnInit, ChangeDetectorRef, Provider, AfterViewInit, ElementRef } from '@angular/core';
3
- import { FormGroup, FormBuilder } from '@angular/forms';
3
+ import { FormGroup, FormBuilder, FormArray } from '@angular/forms';
4
4
  import { Router, ActivatedRoute } from '@angular/router';
5
5
  import { MatDialog } from '@angular/material/dialog';
6
6
  import { MatSnackBar } from '@angular/material/snack-bar';
7
7
  import { CdkDragStart, CdkDragMove, CdkDragEnd, CdkDragDrop } from '@angular/cdk/drag-drop';
8
- import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, FormSection, FormRow, FormColumn, FormConfig, FormActionButton, BackConfig, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, WidgetDefinition, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, FormConfigState, FieldDefinition, Breakpoint, ComponentDocMeta, FormSectionHeaderConfig, IconPickerService, PraxisI18nService, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
8
+ import * as _praxisui_core from '@praxisui/core';
9
+ import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, FormSection, FormRow, FormColumn, FormConfig, FormActionButton, BackConfig, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, WidgetEventEnvelope, WidgetDefinition, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, FieldDefinition, ComponentDocMeta, Breakpoint, IconPickerService, SurfaceOpenPayload, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
9
10
  import * as rxjs from 'rxjs';
10
11
  import { Observable, BehaviorSubject } from 'rxjs';
11
12
  import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
@@ -53,6 +54,7 @@ interface RuleApplicationResult {
53
54
  columnProps: Record<string, Record<string, any>>;
54
55
  }
55
56
  declare class FormRulesService {
57
+ private normalizeLegacyConditionSyntax;
56
58
  /**
57
59
  * Evaluates a set of form rules against the current value of a FormGroup.
58
60
  *
@@ -491,6 +493,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
491
493
  private hooksRegistry?;
492
494
  private hookPresets?;
493
495
  private logger?;
496
+ private readonly i18n;
494
497
  private readonly DEBUG;
495
498
  resourcePath?: string;
496
499
  resourceId?: string | number;
@@ -503,26 +506,26 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
503
506
  mode: 'create' | 'edit' | 'view';
504
507
  config: FormConfig;
505
508
  /**
506
- * Fonte de schema para construir o formulário.
507
- * 'resource' (padrão) usa o schema do recurso (/{resource}/schemas -> .../all response)
509
+ * Fonte de schema para construir o formulário.
510
+ * 'resource' (padrão) usa o schema do recurso (/{resource}/schemas -> .../all response)
508
511
  * 'filter' usa o schema do DTO de filtro (via /schemas/filtered no POST /filter request)
509
512
  */
510
513
  schemaSource: 'resource' | 'filter';
511
514
  /**
512
- * CUSTOMIZAÇÃO DE LAYOUT - NÃO confundir com edição de dados do formulário
515
+ * CUSTOMIZAÇÃO DE LAYOUT - NÃO confundir com edição de dados do formulário
513
516
  *
514
- * Este flag controla se o usuário pode customizar a ESTRUTURA do formulário:
517
+ * Este flag controla se o usuário pode customizar a ESTRUTURA do formulário:
515
518
  * - Mover sections, rows, columns
516
- * - Configurar layout e aparência
517
- * - Acessar editor de configuração
519
+ * - Configurar layout e aparência
520
+ * - Acessar editor de configuração
518
521
  *
519
- * É INDEPENDENTE do mode (view/edit/create) que controla os DADOS do registro
522
+ * É INDEPENDENTE do mode (view/edit/create) que controla os DADOS do registro
520
523
  *
521
524
  * @example
522
- * // Formulário em modo VIEW de dados + customização HABILITADA
525
+ * // Formulário em modo VIEW de dados + customização HABILITADA
523
526
  * <praxis-dynamic-form mode="view" [enableCustomization]="true">
524
527
  *
525
- * // Formulário em modo EDIT de dados + customização DESABILITADA
528
+ * // Formulário em modo EDIT de dados + customização DESABILITADA
526
529
  * <praxis-dynamic-form mode="edit" [enableCustomization]="false">
527
530
  */
528
531
  enableCustomization: boolean;
@@ -581,11 +584,8 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
581
584
  /** Forwarded from DynamicFieldLoader to allow host-side observability. */
582
585
  fieldRenderError: EventEmitter<DynamicFieldRenderErrorEvent>;
583
586
  /** Re-emits events from editorial widgets hosted before, before actions, or after the form. */
584
- widgetEvent: EventEmitter<{
587
+ widgetEvent: EventEmitter<WidgetEventEnvelope & {
585
588
  placement: "before" | "beforeActions" | "after";
586
- sourceId: string;
587
- output?: string;
588
- payload?: any;
589
589
  }>;
590
590
  isLoading: boolean;
591
591
  submitting: boolean;
@@ -641,11 +641,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
641
641
  * In-place mutations do not invalidate the cached merged context snapshot.
642
642
  */
643
643
  getEditorialWidgetContext(): Record<string, unknown>;
644
- onEditorialWidgetEvent(placement: 'before' | 'beforeActions' | 'after', event: {
645
- sourceId: string;
646
- output?: string;
647
- payload?: any;
648
- }): void;
644
+ onEditorialWidgetEvent(placement: 'before' | 'beforeActions' | 'after', event: WidgetEventEnvelope): void;
649
645
  private reactiveValidate$?;
650
646
  private warnedMissingId;
651
647
  private schemaState;
@@ -685,6 +681,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
685
681
  private hasMountedAnimation;
686
682
  private mountAnimationTimer;
687
683
  protected isMounting: boolean;
684
+ private hasBuiltFormFromConfig;
688
685
  constructor(crud: GenericCrudService<any>, fb: FormBuilder, cdr: ChangeDetectorRef, layoutService: FormLayoutService, contextService: FormContextService, rulesService: FormRulesService, settingsPanel: SettingsPanelService, dialog: MatDialog, asyncConfigStorage: AsyncConfigStorage, connectionStorage: ConnectionStorage, dynamicForm: DynamicFormService, snackBar: MatSnackBar, canvasState: CanvasStateService, dynamicLayout: DynamicFormLayoutService, errorMessages: ErrorMessageService, schemaNormalizer: SchemaNormalizerService, componentMetaRegistry: ComponentMetadataRegistry, global: GlobalConfigService, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, loadingRenderer?: PraxisLoadingRenderer | undefined, router?: Router | undefined, route?: ActivatedRoute | undefined, hooksRegistry?: FormHooksRegistry | undefined, hookPresets?: FormHookPreset[] | null | undefined, logger?: LoggerService | undefined);
689
686
  private emitLoadingState;
690
687
  private buildLoadingContext;
@@ -701,6 +698,8 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
701
698
  private formInputsKey;
702
699
  private crudBackKey;
703
700
  private tryInitializeForm;
701
+ private hasRenderableConfig;
702
+ private initializeStandaloneConfig;
704
703
  private reloadForModeChange;
705
704
  ngOnInit(): void;
706
705
  ngOnChanges(changes: SimpleChanges): void;
@@ -747,10 +746,21 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
747
746
  getSectionTitleStyle(section: FormSection): string | undefined;
748
747
  getSectionDescriptionStyle(section: FormSection): string | undefined;
749
748
  getSectionHeaderTooltip(section: FormSection): string | undefined;
749
+ getSectionHeaderActions(section: FormSection): FormSectionHeaderAction[];
750
750
  getSectionHeaderAlign(section: FormSection): 'start' | 'center' | undefined;
751
751
  getSectionGapBottom(section: FormSection): number | null;
752
752
  getSectionTitleGapBottom(section: FormSection): number | null;
753
753
  getSectionDescriptionGapBottom(section: FormSection): number | null;
754
+ getSectionHeaderActionColor(action: FormSectionHeaderAction): 'primary' | 'accent' | 'warn' | undefined;
755
+ getSectionHeaderActionTooltip(action: FormSectionHeaderAction): string;
756
+ isSectionHeaderActionDisabled(action: FormSectionHeaderAction): boolean;
757
+ getSectionHeaderActionNgClass(action: FormSectionHeaderAction): Record<string, boolean>;
758
+ getSectionHeaderActionStyles(action: FormSectionHeaderAction): Record<string, any> | null;
759
+ getSectionHeaderActionLoadingLabel(action: FormSectionHeaderAction): string;
760
+ onSectionHeaderActionClick(section: FormSection, action: FormSectionHeaderAction, event: Event): void;
761
+ private applySectionHeaderActionOverrides;
762
+ private getSectionHeaderActionEventId;
763
+ private getSectionHeaderActionRuleKeys;
754
764
  private getRowRuleProps;
755
765
  isRowVisible(row?: FormRow): boolean;
756
766
  getRowGap(row: FormRow): number | null;
@@ -759,6 +769,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
759
769
  getRowStyles(row: FormRow): Record<string, any> | null;
760
770
  getSectionIcon(section: FormSection): string | undefined;
761
771
  getSectionHeaderVisual(section: FormSection): ResolvedSectionHeaderVisual;
772
+ getSectionHeaderAvatarSize(section: FormSection): NonNullable<FormSectionHeaderConfig['size']> | null;
762
773
  private getSectionHeaderConfig;
763
774
  private getSectionHeaderFieldValue;
764
775
  private getSectionHeaderInitialsSourceValue;
@@ -793,6 +804,7 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
793
804
  getColumnPadding(column: FormColumn): number | undefined;
794
805
  getColumnStyles(column: FormColumn): Record<string, any> | null;
795
806
  private _getConfirmationMessage;
807
+ private _getConfirmationMessageForAliases;
796
808
  private _showConfirmationDialog;
797
809
  onFormAction(event: PraxisFormActionEvent): void;
798
810
  private _executeAction;
@@ -800,13 +812,13 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
800
812
  private navigateAfterSave;
801
813
  private shouldConfirmCancelOnDirty;
802
814
  /**
803
- * TOGGLE DE CUSTOMIZAÇÃO DE LAYOUT - NÃO É EDIÇÃO DE DADOS
815
+ * TOGGLE DE CUSTOMIZAÇÃO DE LAYOUT - NÃO É EDIÇÃO DE DADOS
804
816
  *
805
- * Este método alterna entre:
806
- * - Modo normal: Usuário interage com dados do formulário (conforme mode: view/edit/create)
807
- * - Modo customização: Usuário pode mover sections/rows/columns e configurar layout
817
+ * Este método alterna entre:
818
+ * - Modo normal: Usuário interage com dados do formulário (conforme mode: view/edit/create)
819
+ * - Modo customização: Usuário pode mover sections/rows/columns e configurar layout
808
820
  *
809
- * IMPORTANTE: Independe completamente do mode do formulário
821
+ * IMPORTANTE: Independe completamente do mode do formulário
810
822
  */
811
823
  toggleEditMode(): void;
812
824
  openConfigEditor(): Promise<void>;
@@ -854,10 +866,11 @@ declare class PraxisDynamicForm implements OnInit, OnChanges, OnDestroy {
854
866
  private openRowEditor;
855
867
  private openColumnEditor;
856
868
  openSectionEditor(section: any, focusTarget?: 'title' | 'description'): void;
869
+ private resolveControlTypeEditorial;
857
870
  private getControlTypeIcon;
858
871
  /**
859
- * Friendly control type name resolved from ComponentMetadataRegistry when available.
860
- * Falls back to a local map only when there is no registered metadata.
872
+ * Friendly control type name resolved from the canonical editorial resolver when available.
873
+ * Falls back only to neutral technical defaults when nothing can be resolved.
861
874
  */
862
875
  private getControlTypeName;
863
876
  private applyNullDeletionPatch;
@@ -1145,6 +1158,9 @@ declare class PraxisFilterForm implements OnChanges, OnDestroy {
1145
1158
  submit: EventEmitter<{
1146
1159
  formData: Record<string, any>;
1147
1160
  }>;
1161
+ requestSearch: EventEmitter<{
1162
+ formData: Record<string, any>;
1163
+ }>;
1148
1164
  validityChange: EventEmitter<boolean>;
1149
1165
  form: FormGroup<Record<string, any>>;
1150
1166
  private valueChangesSub?;
@@ -1153,16 +1169,24 @@ declare class PraxisFilterForm implements OnChanges, OnDestroy {
1153
1169
  ngOnChanges(changes: SimpleChanges): void;
1154
1170
  ngOnDestroy(): void;
1155
1171
  private buildForm;
1172
+ private buildRestorableValues;
1173
+ private hasExplicitDefaultValue;
1156
1174
  onFormSubmit(): void;
1157
1175
  getColumnFields(column: FormColumn): FieldMetadata[];
1176
+ get fieldMetadata(): FieldMetadata[];
1158
1177
  get hasLayout(): boolean;
1159
1178
  trackBySection(i: number, section: FormSection): string;
1160
1179
  trackByRow(i: number, _row: FormRow): string;
1161
1180
  trackByColumn(i: number, col: FormColumn): string;
1162
1181
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilterForm, never>;
1163
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterForm, "praxis-filter-form", never, { "config": { "alias": "config"; "required": true; }; "formId": { "alias": "formId"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "formReady": "formReady"; "valueChange": "valueChange"; "submit": "submit"; "validityChange": "validityChange"; }, never, never, true, never>;
1182
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilterForm, "praxis-filter-form", never, { "config": { "alias": "config"; "required": true; }; "formId": { "alias": "formId"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; }, { "formReady": "formReady"; "valueChange": "valueChange"; "submit": "submit"; "requestSearch": "requestSearch"; "validityChange": "validityChange"; }, never, never, true, never>;
1164
1183
  }
1165
1184
 
1185
+ /** Metadata for PraxisFilterForm component */
1186
+ declare const PRAXIS_FILTER_FORM_COMPONENT_METADATA: ComponentDocMeta;
1187
+ /** Provider to register PraxisFilterForm metadata. */
1188
+ declare function providePraxisFilterFormMetadata(): Provider;
1189
+
1166
1190
  /** Tokens for theme colors used across the layout editor. */
1167
1191
  declare enum LayoutColorToken {
1168
1192
  Surface = "--md-sys-color-surface",
@@ -1336,10 +1360,8 @@ declare class RowConfiguratorComponent implements OnChanges {
1336
1360
  declare class FieldConfiguratorComponent {
1337
1361
  private readonly registry;
1338
1362
  field: FieldMetadata;
1339
- private readonly controlTypeMap;
1340
1363
  private readonly categoryByType;
1341
- private readonly fallbackInfo;
1342
- get meta(): ComponentDocMeta | undefined;
1364
+ private resolveEditorialMeta;
1343
1365
  get icon(): string;
1344
1366
  get typeClass(): string;
1345
1367
  get typeSpecificClass(): string;
@@ -1442,6 +1464,19 @@ declare class CanvasToolbarComponent {
1442
1464
  static ɵcmp: i0.ɵɵComponentDeclaration<CanvasToolbarComponent, "praxis-canvas-toolbar", never, { "selectedElement": { "alias": "selectedElement"; "required": false; }; }, { "editMetadata": "editMetadata"; "delete": "delete"; "moveUp": "moveUp"; "moveDown": "moveDown"; "selectPath": "selectPath"; "requestClose": "requestClose"; "toggleReadonly": "toggleReadonly"; "toggleRequired": "toggleRequired"; "toggleHidden": "toggleHidden"; "toggleDisabled": "toggleDisabled"; }, never, never, true, never>;
1443
1465
  }
1444
1466
 
1467
+ type ActionCatalogOption = {
1468
+ id: string;
1469
+ label: string;
1470
+ description?: string;
1471
+ param?: {
1472
+ required?: boolean;
1473
+ label?: string;
1474
+ placeholder?: string;
1475
+ hint?: string;
1476
+ example?: string;
1477
+ };
1478
+ };
1479
+
1445
1480
  interface EditableFormSection extends FormSection {
1446
1481
  sectionHeader?: FormSectionHeaderConfig;
1447
1482
  appearance?: 'card' | 'plain' | 'step';
@@ -1472,7 +1507,6 @@ declare class SectionEditorComponent implements OnInit, AfterViewInit, OnDestroy
1472
1507
  private fb;
1473
1508
  private data;
1474
1509
  private iconPicker;
1475
- private i18n;
1476
1510
  focusTarget?: 'title' | 'description';
1477
1511
  fieldMetadata: FieldMetadata[];
1478
1512
  section: EditableFormSection;
@@ -1485,21 +1519,50 @@ declare class SectionEditorComponent implements OnInit, AfterViewInit, OnDestroy
1485
1519
  isDirty$: BehaviorSubject<boolean>;
1486
1520
  isValid$: BehaviorSubject<boolean>;
1487
1521
  isBusy$: BehaviorSubject<boolean>;
1522
+ private readonly globalActionCatalogSource;
1523
+ private readonly i18n;
1524
+ readonly legacyActionSpecs: _praxisui_core.GlobalActionSpec[];
1525
+ readonly globalActionCatalog: ActionCatalogOption[];
1526
+ readonly customActionValue = "__custom__";
1488
1527
  private destroy$;
1489
1528
  titleInput?: ElementRef<HTMLInputElement>;
1490
1529
  descriptionInput?: ElementRef<HTMLTextAreaElement>;
1491
1530
  constructor(fb: FormBuilder, data: {
1492
1531
  section: EditableFormSection;
1493
1532
  fieldMetadata?: FieldMetadata[];
1494
- }, iconPicker: IconPickerService, i18n: PraxisI18nService);
1533
+ }, iconPicker: IconPickerService);
1495
1534
  ngOnInit(): void;
1496
1535
  ngAfterViewInit(): void;
1497
1536
  ngOnDestroy(): void;
1498
1537
  getSettingsValue(): any;
1538
+ get headerActionsArray(): FormArray;
1539
+ getHeaderActionStylePlaceholder(): string;
1540
+ getActionCatalogLabel(spec: {
1541
+ label?: string;
1542
+ }): string;
1543
+ getHeaderActionSpecById(id: string): ActionCatalogOption | undefined;
1544
+ getHeaderActionSelectValue(value?: string): string;
1545
+ getHeaderActionParam(value?: string): string;
1546
+ getHeaderActionCustomValue(value?: string): string;
1547
+ getHeaderGlobalActionSchema(value?: string): _praxisui_core.GlobalActionUiSchema | undefined;
1548
+ getHeaderSurfaceOpenActionPayload(value?: string): SurfaceOpenPayload;
1549
+ isHeaderActionParamMissing(value?: string): boolean;
1550
+ onHeaderActionSelectChange(index: number, value: string): void;
1551
+ onHeaderActionParamChange(index: number, value: string): void;
1552
+ onHeaderActionCustomChange(index: number, value: string): void;
1553
+ pickHeaderActionIcon(index: number): Promise<void>;
1554
+ clearHeaderActionIcon(index: number): void;
1555
+ applyHeaderActionStylePreset(index: number, preset: 'default' | 'soft-pill' | 'primary-pill' | 'critical-pill'): void;
1556
+ getHeaderActionPreviewStyles(index: number): Record<string, any> | null;
1557
+ onHeaderSurfaceOpenActionPayloadChange(index: number, payload: SurfaceOpenPayload): void;
1499
1558
  pickIcon(): Promise<void>;
1500
1559
  clearIcon(): void;
1501
1560
  pickFallbackIcon(): Promise<void>;
1502
1561
  clearFallbackIcon(): void;
1562
+ addHeaderAction(): void;
1563
+ removeHeaderAction(index: number): void;
1564
+ moveHeaderActionUp(index: number): void;
1565
+ moveHeaderActionDown(index: number): void;
1503
1566
  private syncCollapsedControlState;
1504
1567
  applyPreset(key: 'default' | 'simple' | 'collapsible' | 'denseGrid'): void;
1505
1568
  setCustomColors(value: string): void;
@@ -1508,10 +1571,18 @@ declare class SectionEditorComponent implements OnInit, AfterViewInit, OnDestroy
1508
1571
  trackFieldOption(index: number, field: {
1509
1572
  value: string;
1510
1573
  }): string;
1511
- tx(key: string, fallback: string): string;
1574
+ tx(key: string, fallback: string, params?: Record<string, string | number>): string;
1512
1575
  private applyNormalizedFormValue;
1513
1576
  private normalizeSectionFormValue;
1514
1577
  private normalizeSectionHeader;
1578
+ private createHeaderActionGroup;
1579
+ private moveHeaderAction;
1580
+ private normalizeHeaderActions;
1581
+ private mapCatalogEntryToActionSpec;
1582
+ private getActionCatalogDescription;
1583
+ private headerActionStyleValidator;
1584
+ private stringifyHeaderActionStyle;
1585
+ private parseHeaderActionStyle;
1515
1586
  private normalizeOptionalString;
1516
1587
  private normalizeOptionalNumber;
1517
1588
  static ɵfac: i0.ɵɵFactoryDeclaration<SectionEditorComponent, never>;
@@ -1789,5 +1860,5 @@ declare const FORM_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
1789
1860
  */
1790
1861
  declare function getFormAiCatalog(formConfig?: FormConfig): AiCapabilityCatalog;
1791
1862
 
1792
- export { ActionsEditorComponent, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DynamicFormLayoutService, FORM_AI_CAPABILITIES, FORM_COMPONENT_AI_CAPABILITIES, FieldConfiguratorComponent, FieldEditorComponent, FormConfigService, FormContextService, FormLayoutService, JsonConfigEditorComponent, LayoutColorToken, LayoutEditorComponent, LayoutPrefsService, PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisFilterForm, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, buildDynamicFormApplyPlan, createDynamicFormAuthoringDocument, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, normalizeDynamicFormAuthoringDocument, parseLegacyOrDynamicFormDocument, providePraxisDynamicFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, serializeDynamicFormAuthoringDocument, stripLegacyFieldMetadata, toCanonicalDynamicFormConfig, validateDynamicFormAuthoringDocument, validateDynamicFormAuthoringInput };
1863
+ export { ActionsEditorComponent, CanvasStateService, CanvasToolbarComponent, ColumnEditorComponent, DynamicFormLayoutService, FORM_AI_CAPABILITIES, FORM_COMPONENT_AI_CAPABILITIES, FieldConfiguratorComponent, FieldEditorComponent, FormConfigService, FormContextService, FormLayoutService, JsonConfigEditorComponent, LayoutColorToken, LayoutEditorComponent, LayoutPrefsService, PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA, PRAXIS_FILTER_FORM_COMPONENT_METADATA, PraxisDynamicForm, PraxisDynamicFormConfigEditor, PraxisFilterForm, PraxisFormActionsComponent, RowConfiguratorComponent, RowEditorComponent, SETTINGS_PANEL_DYNAMIC_FORM_PROVIDER, SectionEditorComponent, TASK_PRESETS, applyVisibilityRules, buildDynamicFormApplyPlan, createDynamicFormAuthoringDocument, formLayoutRulesToBuilderState, getFormAiCatalog, getFormCapabilities, getFormEnum, isRuleSatisfied, normalizeDateArrays, normalizeDynamicFormAuthoringDocument, parseLegacyOrDynamicFormDocument, providePraxisDynamicFormMetadata, providePraxisFilterFormMetadata, provideSettingsPanelDynamicForm, ruleBuilderStateToFormLayoutRules, serializeDynamicFormAuthoringDocument, stripLegacyFieldMetadata, toCanonicalDynamicFormConfig, validateDynamicFormAuthoringDocument, validateDynamicFormAuthoringInput };
1793
1864
  export type { CanvasElement, CanvasElementType, CanvasPathPart, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, DynamicFieldRenderErrorEvent, DynamicFormApplyPlan, DynamicFormAuthoringDocument, DynamicFormBindings, DynamicFormContextSnapshot, DynamicFormMode, DynamicFormPresentationSnapshot, DynamicFormProjectionContext, DynamicFormRuntimeContext, DynamicFormSchemaPrefsSnapshot, DynamicFormValidationContext, EditorDiagnostic, EditorDocument, FieldPath, FieldPathContainer, FieldPathWithIndex, Capability as FormComponentCapability, CapabilityCatalog as FormComponentCapabilityCatalog, CapabilityCategory as FormComponentCapabilityCategory, ValueKind as FormComponentValueKind, FormConfigLike, IdPath, JsonEditorEvent, JsonValidationResult, LayoutChange, LayoutResult, Operation, Path, PathWithIndex, PraxisFormActionEvent, RemovePolicy, ValidationReport, ValueKind$1 as ValueKind };
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-form",
3
- "version": "3.0.0-beta.0",
3
+ "version": "3.0.0-beta.10",
4
4
  "description": "Angular dynamic form engine for Praxis UI: metadata-driven forms, hooks, and services integrating @praxisui/* packages.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",
7
7
  "@angular/core": "^20.0.0",
8
8
  "@angular/cdk": "^20.0.0",
9
- "@praxisui/settings-panel": "^3.0.0-beta.0",
10
- "@praxisui/visual-builder": "^3.0.0-beta.0",
11
- "@praxisui/specification-core": "^3.0.0-beta.0",
12
- "@praxisui/specification": "^3.0.0-beta.0",
13
- "@praxisui/core": "^3.0.0-beta.0",
14
- "@praxisui/cron-builder": "^3.0.0-beta.0"
9
+ "@praxisui/settings-panel": "^3.0.0-beta.10",
10
+ "@praxisui/visual-builder": "^3.0.0-beta.10",
11
+ "@praxisui/specification-core": "^3.0.0-beta.10",
12
+ "@praxisui/specification": "^3.0.0-beta.10",
13
+ "@praxisui/core": "^3.0.0-beta.10",
14
+ "@praxisui/cron-builder": "^3.0.0-beta.10"
15
15
  },
16
16
  "dependencies": {
17
17
  "tslib": "^2.3.0",