@praxisui/dynamic-form 9.0.0-beta.66 → 9.0.0-beta.68

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-07-09T19:52:11.455Z",
3
+ "generatedAt": "2026-07-10T12:18:12.398Z",
4
4
  "packageName": "@praxisui/dynamic-form",
5
- "packageVersion": "9.0.0-beta.66",
5
+ "packageVersion": "9.0.0-beta.68",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 2,
@@ -19006,11 +19006,11 @@ class PraxisDynamicForm {
19006
19006
  catch { }
19007
19007
  }
19008
19008
  applyPresentationConfig(pres) {
19009
- const labelSize = pres.labelFontSize != null && pres.labelFontSize !== ''
19010
- ? `${pres.labelFontSize} px`
19009
+ const labelSize = pres.labelFontSize != null
19010
+ ? `${pres.labelFontSize}px`
19011
19011
  : this.presentationVars.labelSize;
19012
- const valueSize = pres.valueFontSize != null && pres.valueFontSize !== ''
19013
- ? `${pres.valueFontSize} px`
19012
+ const valueSize = pres.valueFontSize != null
19013
+ ? `${pres.valueFontSize}px`
19014
19014
  : this.presentationVars.valueSize;
19015
19015
  const labelPosition = pres.labelPosition === 'left' ? 'left' : 'above';
19016
19016
  const compact = !!pres.compact;
@@ -19019,8 +19019,8 @@ class PraxisDynamicForm {
19019
19019
  pres.density === 'compact'
19020
19020
  ? pres.density
19021
19021
  : this.presentationVars.density;
19022
- const labelWidth = pres.labelWidth != null && pres.labelWidth !== ''
19023
- ? `${pres.labelWidth} px`
19022
+ const labelWidth = pres.labelWidth != null
19023
+ ? `${pres.labelWidth}px`
19024
19024
  : this.presentationVars.labelWidth;
19025
19025
  const labelAlign = pres.labelAlign === 'start' ||
19026
19026
  pres.labelAlign === 'center' ||
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-form",
3
- "version": "9.0.0-beta.66",
3
+ "version": "9.0.0-beta.68",
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": "^9.0.0-beta.66",
13
- "@praxisui/dynamic-fields": "^9.0.0-beta.66",
14
- "@praxisui/metadata-editor": "^9.0.0-beta.66",
15
- "@praxisui/rich-content": "^9.0.0-beta.66",
16
- "@praxisui/settings-panel": "^9.0.0-beta.66",
17
- "@praxisui/visual-builder": "^9.0.0-beta.66",
18
- "@praxisui/core": "^9.0.0-beta.66",
12
+ "@praxisui/ai": "^9.0.0-beta.68",
13
+ "@praxisui/dynamic-fields": "^9.0.0-beta.68",
14
+ "@praxisui/metadata-editor": "^9.0.0-beta.68",
15
+ "@praxisui/rich-content": "^9.0.0-beta.68",
16
+ "@praxisui/settings-panel": "^9.0.0-beta.68",
17
+ "@praxisui/visual-builder": "^9.0.0-beta.68",
18
+ "@praxisui/core": "^9.0.0-beta.68",
19
19
  "rxjs": "^7.8.0"
20
20
  },
21
21
  "dependencies": {
@@ -133,6 +133,7 @@ Essa fronteira preserva a premissa de plataforma: o formulario materializa e exp
133
133
  | `hooks` | not-specified | not-specified | n/a | Active | Integracao de ciclo (before/after) via runtime de hooks. |
134
134
  | `hints` | not-specified | not-specified | n/a | Declared-only | Mantido no contrato/editor; sem render dedicado no template principal. |
135
135
  | `helpPresentation` | `FormHelpPresentationConfig` | No | `{ display: "inline" }` | Active | Politica visual para exibir `hint`/`helpText` dos campos sem alterar semantica dos DTOs; erros de validacao continuam inline. |
136
+ | `presentation` | `FormPresentationConfig` | No | runtime defaults | Active | Preferencias tipadas de label/value para modos read-only e presentation. Valores numericos de tamanho e largura sao materializados como comprimentos CSS em `px`; o mesmo shape alimenta o snapshot canonico do editor. |
136
137
  | `fieldMetadata[].array` | `FieldArrayConfig` | No | n/a | Active | Contrato de Editable Collection apenas quando `fieldMetadata[].controlType === "array"` ou quando `x-ui.array` foi publicado explicitamente. |
137
138
 
138
139
  Nota editorial:
@@ -7,7 +7,7 @@ import { MatDialog } from '@angular/material/dialog';
7
7
  import { MatSnackBar } from '@angular/material/snack-bar';
8
8
  import { CdkDragStart, CdkDragMove, CdkDragEnd, CdkDragDrop } from '@angular/cdk/drag-drop';
9
9
  import * as _praxisui_core from '@praxisui/core';
10
- import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormConfigWithSections, FormLayoutItem, FormActionButton, AiCapability, BackConfig, RichBlockHostCapabilities, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, RichContentDocument, JsonLogicRecord, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, ApiUrlConfig, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, EnterpriseRuntimeContextService, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, JsonLogicExpression, FormHelpPresentationConfig, GlobalActionCatalogEntry, PraxisRuntimeConditionalEffectRule, PraxisRuntimeGlobalActionEffect, SurfaceOpenPayload, GlobalActionField, PraxisEffectPolicy, FieldDefinition, ComponentDocMeta, Breakpoint, DomainRuleRequestOptions, DomainRuleService, DomainRuleMaterialization, TableConfig, IconPickerService, GlobalActionRef, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
10
+ import { AsyncConfigStorage, FormLayout, FieldMetadata, FormLayoutRule, FormRuleTargetType as FormRuleTargetType$1, PraxisJsonLogicService, FormSection, FormRow, FormColumn, FormConfig, FormConfigWithSections, FormLayoutItem, FormActionButton, AiCapability, BackConfig, FormPresentationConfig, RichBlockHostCapabilities, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, FormHooksLayout, EndpointConfig, FormSubmitEvent, FormReadyEvent, FormValueChangeEvent, SyncResult, FormInitializationError, LoadingState, FormCustomActionEvent, FormActionConfirmationEvent, RichContentDocument, JsonLogicRecord, GenericCrudService, ConnectionStorage, DynamicFormService, ErrorMessageService, SchemaNormalizerService, ComponentMetadataRegistry, GlobalConfigService, ComponentKeyService, LoadingOrchestrator, ApiUrlConfig, PraxisLoadingRenderer, FormHooksRegistry, FormHookPreset, LoggerService, EnterpriseRuntimeContextService, FormSectionHeaderAction, FormSectionHeaderConfig, FormConfigState, JsonLogicExpression, FormHelpPresentationConfig, GlobalActionCatalogEntry, PraxisRuntimeConditionalEffectRule, PraxisRuntimeGlobalActionEffect, SurfaceOpenPayload, GlobalActionField, PraxisEffectPolicy, FieldDefinition, ComponentDocMeta, Breakpoint, DomainRuleRequestOptions, DomainRuleService, DomainRuleMaterialization, TableConfig, IconPickerService, GlobalActionRef, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
11
11
  import * as rxjs from 'rxjs';
12
12
  import { Observable, BehaviorSubject } from 'rxjs';
13
13
  import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
@@ -535,16 +535,7 @@ type DynamicFormMode = 'create' | 'edit' | 'view';
535
535
  interface DynamicFormBindings {
536
536
  mode?: DynamicFormMode;
537
537
  }
538
- interface DynamicFormPresentationSnapshot {
539
- labelPosition?: 'above' | 'left';
540
- labelFontSize?: number | null;
541
- valueFontSize?: number | null;
542
- compact?: boolean;
543
- density?: 'comfortable' | 'cozy' | 'compact';
544
- labelWidth?: number | null;
545
- labelAlign?: 'start' | 'center' | 'end';
546
- valueAlign?: 'start' | 'center' | 'end';
547
- }
538
+ type DynamicFormPresentationSnapshot = FormPresentationConfig;
548
539
  interface DynamicFormSchemaPrefsSnapshot {
549
540
  notifyIfOutdated?: 'inline' | 'snackbar' | 'both' | 'none';
550
541
  snoozeMs?: number;