@praxisui/dynamic-form 10.0.0-rc.22 → 10.0.0-rc.24

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-10-15T06:07:49.426Z",
3
+ "generatedAt": "2026-10-15T13:55:17.858Z",
4
4
  "packageName": "@praxisui/dynamic-form",
5
- "packageVersion": "10.0.0-rc.22",
5
+ "packageVersion": "10.0.0-rc.24",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 2,
@@ -897,7 +897,6 @@
897
897
  }
898
898
  ],
899
899
  "configEditor": {
900
- "component": "[ref:PraxisDynamicFormWidgetConfigEditor]",
901
900
  "title": "Configurar formulário"
902
901
  },
903
902
  "authoringManifestRef": {
@@ -10361,7 +10360,6 @@
10361
10360
  }
10362
10361
  ],
10363
10362
  "configEditor": {
10364
- "component": "[ref:PraxisFilterFormWidgetConfigEditor]",
10365
10363
  "title": "Configurar filtro"
10366
10364
  },
10367
10365
  "authoringManifestRef": {
@@ -33618,103 +33618,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
33618
33618
  type: Output
33619
33619
  }] } });
33620
33620
 
33621
- class PraxisFilterFormWidgetConfigEditor {
33622
- inputs = null;
33623
- widgetKey;
33624
- formEditor;
33625
- isDirty$ = new BehaviorSubject(false);
33626
- isValid$ = new BehaviorSubject(true);
33627
- isBusy$ = new BehaviorSubject(false);
33628
- subscription = new Subscription();
33629
- ngAfterViewInit() {
33630
- if (!this.formEditor) {
33631
- return;
33632
- }
33633
- this.formEditor.supportsPresentationSettings = false;
33634
- this.initializeChildEditor();
33635
- this.subscription.add(this.formEditor.isDirty$.subscribe((value) => this.isDirty$.next(value)));
33636
- this.subscription.add(this.formEditor.isValid$.subscribe((value) => this.isValid$.next(value)));
33637
- this.subscription.add(this.formEditor.isBusy$.subscribe((value) => this.isBusy$.next(value)));
33638
- }
33639
- ngOnDestroy() {
33640
- this.subscription.unsubscribe();
33641
- }
33642
- getSettingsValue() {
33643
- return this.buildValue(this.formEditor?.getSettingsValue());
33644
- }
33645
- onSave() {
33646
- return this.buildValue(this.formEditor?.onSave?.() ?? this.formEditor?.getSettingsValue());
33647
- }
33648
- reset() {
33649
- this.formEditor?.reset?.();
33650
- }
33651
- initializeChildEditor() {
33652
- const document = this.createDocumentFromInputs();
33653
- const serialized = serializeDynamicFormAuthoringDocument(document);
33654
- const editor = this.formEditor;
33655
- editor.onJsonConfigChange?.(serialized);
33656
- editor.initialDocument = document;
33657
- editor.initialConfig = document.config;
33658
- editor.updateDirtyState?.('filter-form-widget-config-init');
33659
- editor.isDirty$?.next(false);
33660
- editor.isValid$?.next(true);
33661
- }
33662
- buildValue(rawDocument) {
33663
- const document = parseLegacyOrDynamicFormDocument(rawDocument ?? this.createDocumentFromInputs());
33664
- return {
33665
- inputs: {
33666
- ...(this.inputs ?? {}),
33667
- config: document.config,
33668
- formId: this.inputs?.formId ?? this.widgetKey,
33669
- resourcePath: this.inputs?.resourcePath,
33670
- mode: document.bindings?.mode ?? this.inputs?.mode ?? 'create',
33671
- },
33672
- };
33673
- }
33674
- createDocumentFromInputs() {
33675
- return parseLegacyOrDynamicFormDocument({
33676
- kind: 'praxis.dynamic-form.editor',
33677
- version: 1,
33678
- config: this.inputs?.config ?? { sections: [], fieldMetadata: [] },
33679
- bindings: {
33680
- mode: this.normalizeMode(this.inputs?.mode) ?? 'create',
33681
- },
33682
- });
33683
- }
33684
- normalizeMode(value) {
33685
- return value === 'create' || value === 'edit' || value === 'view'
33686
- ? value
33687
- : undefined;
33688
- }
33689
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
33690
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: PraxisFilterFormWidgetConfigEditor, isStandalone: true, selector: "praxis-filter-form-widget-config-editor", inputs: { inputs: "inputs", widgetKey: "widgetKey" }, viewQueries: [{ propertyName: "formEditor", first: true, predicate: ["formEditor"], descendants: true }], ngImport: i0, template: `
33691
- <section data-testid="filter-form-widget-config-editor">
33692
- <praxis-dynamic-form-config-editor #formEditor />
33693
- </section>
33694
- `, isInline: true, dependencies: [{ kind: "component", type: PraxisDynamicFormConfigEditor, selector: "praxis-dynamic-form-config-editor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33695
- }
33696
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, decorators: [{
33697
- type: Component,
33698
- args: [{
33699
- selector: 'praxis-filter-form-widget-config-editor',
33700
- standalone: true,
33701
- imports: [PraxisDynamicFormConfigEditor],
33702
- template: `
33703
- <section data-testid="filter-form-widget-config-editor">
33704
- <praxis-dynamic-form-config-editor #formEditor />
33705
- </section>
33706
- `,
33707
- changeDetection: ChangeDetectionStrategy.OnPush,
33708
- }]
33709
- }], propDecorators: { inputs: [{
33710
- type: Input
33711
- }], widgetKey: [{
33712
- type: Input
33713
- }], formEditor: [{
33714
- type: ViewChild,
33715
- args: ['formEditor']
33716
- }] } });
33717
-
33718
33621
  const PRAXIS_FILTER_FORM_PHASE1_PORTS = [
33719
33622
  {
33720
33623
  id: 'config',
@@ -33781,7 +33684,7 @@ const PRAXIS_FILTER_FORM_COMPONENT_METADATA = {
33781
33684
  description: 'Filter form driven by FormConfig and fieldMetadata.',
33782
33685
  icon: 'filter_alt',
33783
33686
  configEditor: {
33784
- component: PraxisFilterFormWidgetConfigEditor,
33687
+ loadComponent: async () => (await Promise.resolve().then(function () { return praxisFilterFormWidgetConfigEditor; })).PraxisFilterFormWidgetConfigEditor,
33785
33688
  title: 'Configurar filtro',
33786
33689
  },
33787
33690
  authoringManifestRef: {
@@ -33857,6 +33760,108 @@ function providePraxisFilterFormMetadata() {
33857
33760
  };
33858
33761
  }
33859
33762
 
33763
+ class PraxisFilterFormWidgetConfigEditor {
33764
+ inputs = null;
33765
+ widgetKey;
33766
+ formEditor;
33767
+ isDirty$ = new BehaviorSubject(false);
33768
+ isValid$ = new BehaviorSubject(true);
33769
+ isBusy$ = new BehaviorSubject(false);
33770
+ subscription = new Subscription();
33771
+ ngAfterViewInit() {
33772
+ if (!this.formEditor) {
33773
+ return;
33774
+ }
33775
+ this.formEditor.supportsPresentationSettings = false;
33776
+ this.initializeChildEditor();
33777
+ this.subscription.add(this.formEditor.isDirty$.subscribe((value) => this.isDirty$.next(value)));
33778
+ this.subscription.add(this.formEditor.isValid$.subscribe((value) => this.isValid$.next(value)));
33779
+ this.subscription.add(this.formEditor.isBusy$.subscribe((value) => this.isBusy$.next(value)));
33780
+ }
33781
+ ngOnDestroy() {
33782
+ this.subscription.unsubscribe();
33783
+ }
33784
+ getSettingsValue() {
33785
+ return this.buildValue(this.formEditor?.getSettingsValue());
33786
+ }
33787
+ onSave() {
33788
+ return this.buildValue(this.formEditor?.onSave?.() ?? this.formEditor?.getSettingsValue());
33789
+ }
33790
+ reset() {
33791
+ this.formEditor?.reset?.();
33792
+ }
33793
+ initializeChildEditor() {
33794
+ const document = this.createDocumentFromInputs();
33795
+ const serialized = serializeDynamicFormAuthoringDocument(document);
33796
+ const editor = this.formEditor;
33797
+ editor.onJsonConfigChange?.(serialized);
33798
+ editor.initialDocument = document;
33799
+ editor.initialConfig = document.config;
33800
+ editor.updateDirtyState?.('filter-form-widget-config-init');
33801
+ editor.isDirty$?.next(false);
33802
+ editor.isValid$?.next(true);
33803
+ }
33804
+ buildValue(rawDocument) {
33805
+ const document = parseLegacyOrDynamicFormDocument(rawDocument ?? this.createDocumentFromInputs());
33806
+ return {
33807
+ inputs: {
33808
+ ...(this.inputs ?? {}),
33809
+ config: document.config,
33810
+ formId: this.inputs?.formId ?? this.widgetKey,
33811
+ resourcePath: this.inputs?.resourcePath,
33812
+ mode: document.bindings?.mode ?? this.inputs?.mode ?? 'create',
33813
+ },
33814
+ };
33815
+ }
33816
+ createDocumentFromInputs() {
33817
+ return parseLegacyOrDynamicFormDocument({
33818
+ kind: 'praxis.dynamic-form.editor',
33819
+ version: 1,
33820
+ config: this.inputs?.config ?? { sections: [], fieldMetadata: [] },
33821
+ bindings: {
33822
+ mode: this.normalizeMode(this.inputs?.mode) ?? 'create',
33823
+ },
33824
+ });
33825
+ }
33826
+ normalizeMode(value) {
33827
+ return value === 'create' || value === 'edit' || value === 'view'
33828
+ ? value
33829
+ : undefined;
33830
+ }
33831
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, deps: [], target: i0.ɵɵFactoryTarget.Component });
33832
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.14", type: PraxisFilterFormWidgetConfigEditor, isStandalone: true, selector: "praxis-filter-form-widget-config-editor", inputs: { inputs: "inputs", widgetKey: "widgetKey" }, viewQueries: [{ propertyName: "formEditor", first: true, predicate: ["formEditor"], descendants: true }], ngImport: i0, template: `
33833
+ <section data-testid="filter-form-widget-config-editor">
33834
+ <praxis-dynamic-form-config-editor #formEditor />
33835
+ </section>
33836
+ `, isInline: true, dependencies: [{ kind: "component", type: PraxisDynamicFormConfigEditor, selector: "praxis-dynamic-form-config-editor" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
33837
+ }
33838
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisFilterFormWidgetConfigEditor, decorators: [{
33839
+ type: Component,
33840
+ args: [{
33841
+ selector: 'praxis-filter-form-widget-config-editor',
33842
+ standalone: true,
33843
+ imports: [PraxisDynamicFormConfigEditor],
33844
+ template: `
33845
+ <section data-testid="filter-form-widget-config-editor">
33846
+ <praxis-dynamic-form-config-editor #formEditor />
33847
+ </section>
33848
+ `,
33849
+ changeDetection: ChangeDetectionStrategy.OnPush,
33850
+ }]
33851
+ }], propDecorators: { inputs: [{
33852
+ type: Input
33853
+ }], widgetKey: [{
33854
+ type: Input
33855
+ }], formEditor: [{
33856
+ type: ViewChild,
33857
+ args: ['formEditor']
33858
+ }] } });
33859
+
33860
+ var praxisFilterFormWidgetConfigEditor = /*#__PURE__*/Object.freeze({
33861
+ __proto__: null,
33862
+ PraxisFilterFormWidgetConfigEditor: PraxisFilterFormWidgetConfigEditor
33863
+ });
33864
+
33860
33865
  class PraxisDynamicFormWidgetConfigEditor {
33861
33866
  inputs = null;
33862
33867
  widgetKey;
@@ -34086,6 +34091,11 @@ function isRecord(value) {
34086
34091
  return value !== null && typeof value === 'object' && !Array.isArray(value);
34087
34092
  }
34088
34093
 
34094
+ var praxisDynamicFormWidgetConfigEditor = /*#__PURE__*/Object.freeze({
34095
+ __proto__: null,
34096
+ PraxisDynamicFormWidgetConfigEditor: PraxisDynamicFormWidgetConfigEditor
34097
+ });
34098
+
34089
34099
  // Owner-qualified dictionary keys work through the registry's existing editorial
34090
34100
  // resolver without requiring a consuming builder to know the form's namespace.
34091
34101
  const FORM_EDITORIAL_LABELS = {
@@ -34356,7 +34366,7 @@ const PRAXIS_DYNAMIC_FORM_COMPONENT_METADATA = {
34356
34366
  source: 'PRAXIS_DYNAMIC_FORM_AUTHORING_MANIFEST',
34357
34367
  },
34358
34368
  configEditor: {
34359
- component: PraxisDynamicFormWidgetConfigEditor,
34369
+ loadComponent: async () => (await Promise.resolve().then(function () { return praxisDynamicFormWidgetConfigEditor; })).PraxisDynamicFormWidgetConfigEditor,
34360
34370
  contextResolver: ({ materializedInputs }) => ({
34361
34371
  context: {
34362
34372
  effectiveConfig: materializedInputs?.['config'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-form",
3
- "version": "10.0.0-rc.22",
3
+ "version": "10.0.0-rc.24",
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": "^21.0.0",
@@ -9,13 +9,13 @@
9
9
  "@angular/forms": "^21.0.0",
10
10
  "@angular/material": "^21.0.0",
11
11
  "@angular/router": "^21.0.0",
12
- "@praxisui/ai": "^10.0.0-rc.22",
13
- "@praxisui/dynamic-fields": "^10.0.0-rc.22",
14
- "@praxisui/metadata-editor": "^10.0.0-rc.22",
15
- "@praxisui/rich-content": "^10.0.0-rc.22",
16
- "@praxisui/settings-panel": "^10.0.0-rc.22",
17
- "@praxisui/visual-builder": "^10.0.0-rc.22",
18
- "@praxisui/core": "^10.0.0-rc.22",
12
+ "@praxisui/ai": "^10.0.0-rc.24",
13
+ "@praxisui/dynamic-fields": "^10.0.0-rc.24",
14
+ "@praxisui/metadata-editor": "^10.0.0-rc.24",
15
+ "@praxisui/rich-content": "^10.0.0-rc.24",
16
+ "@praxisui/settings-panel": "^10.0.0-rc.24",
17
+ "@praxisui/visual-builder": "^10.0.0-rc.24",
18
+ "@praxisui/core": "^10.0.0-rc.24",
19
19
  "rxjs": "^7.8.0"
20
20
  },
21
21
  "dependencies": {