@praxisui/crud 10.0.0-rc.19 → 10.0.0-rc.21

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/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@praxisui/crud",
3
- "version": "10.0.0-rc.19",
3
+ "version": "10.0.0-rc.21",
4
4
  "description": "CRUD building blocks for Praxis UI: integrates dynamic forms and tables with unified configuration and services.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
- "@praxisui/dynamic-form": "^10.0.0-rc.19",
9
- "@praxisui/table": "^10.0.0-rc.19",
10
- "@praxisui/core": "^10.0.0-rc.19",
11
- "@praxisui/dynamic-fields": "^10.0.0-rc.19",
12
- "@praxisui/settings-panel": "^10.0.0-rc.19",
8
+ "@praxisui/dynamic-form": "^10.0.0-rc.21",
9
+ "@praxisui/table": "^10.0.0-rc.21",
10
+ "@praxisui/core": "^10.0.0-rc.21",
11
+ "@praxisui/dynamic-fields": "^10.0.0-rc.21",
12
+ "@praxisui/settings-panel": "^10.0.0-rc.21",
13
13
  "@angular/cdk": "^21.0.0",
14
14
  "@angular/forms": "^21.0.0",
15
15
  "@angular/material": "^21.0.0",
16
16
  "@angular/router": "^21.0.0",
17
- "@praxisui/ai": "^10.0.0-rc.19",
17
+ "@praxisui/ai": "^10.0.0-rc.21",
18
18
  "rxjs": "~7.8.0"
19
19
  },
20
20
  "dependencies": {
@@ -1,5 +1,5 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, BackConfig, ResourceBulkExecutionContract, ResourceSurfaceCatalogItem, MaterializedResourceIdentity, TableConfig, PraxisKpiBandConfig, PraxisDataQueryContext, FormConfig, ReactiveDeterminationExecutionEvent, DynamicDataRecord, PraxisResourceEvent, PraxisKpiBandCard, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, SurfaceDrawerRef, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider, ResourceActionCatalogItem, ResourceBulkTarget, ColumnDefinition, BulkProposalItemResult, BulkItemResult, ResourceBulkProposalDiagnostic } from '@praxisui/core';
2
+ import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, DynamicFormLayoutPolicy, BackConfig, ResourceBulkExecutionContract, ResourceSurfaceCatalogItem, MaterializedResourceIdentity, TableConfig, PraxisKpiBandConfig, PraxisKpiBandCard, PraxisDataQueryContext, FormConfig, ReactiveDeterminationExecutionEvent, DynamicDataRecord, PraxisResourceEvent, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, SurfaceDrawerRef, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider, ColumnDefinition, ResourceActionCatalogItem, ResourceBulkTarget, BulkProposalItemResult, BulkItemResult, ResourceBulkProposalDiagnostic } from '@praxisui/core';
3
3
  export { BackConfig, DynamicDataCollection, DynamicDataRecord, createDynamicRecord, extractRecordId, isDynamicDataRecord, resolveDataField } from '@praxisui/core';
4
4
  import * as _angular_core from '@angular/core';
5
5
  import { NgZone, OnChanges, TemplateRef, EventEmitter, SimpleChanges, Injector, OnInit, AfterViewInit, Provider, OnDestroy } from '@angular/core';
@@ -50,6 +50,19 @@ declare class DialogService {
50
50
 
51
51
  type FormOpenMode = 'route' | 'modal' | 'drawer';
52
52
  type CrudInteractionMode = 'interactive' | 'inspect-only';
53
+ type CrudKpiCardVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger';
54
+ type CrudKpiCardConfig = PraxisKpiBandCard & {
55
+ variant?: CrudKpiCardVariant;
56
+ };
57
+ type CrudKpiBandConfig = Omit<PraxisKpiBandConfig, 'cards'> & {
58
+ cards?: CrudKpiCardConfig[];
59
+ };
60
+ interface CrudFilterBarQuickFilter {
61
+ id: string;
62
+ label: string;
63
+ filter: any;
64
+ icon?: string;
65
+ }
53
66
  interface CrudActionRuntimeEvent {
54
67
  action?: string;
55
68
  actionConfig?: ToolbarAction | ResourceSurfaceCatalogItem | {
@@ -133,12 +146,7 @@ interface CrudFilterBarConfig {
133
146
  /** Campos do DTO de filtro a exibir inline fixos na barra de ferramentas */
134
147
  inlineFields?: string[];
135
148
  /** Habilitar filtros rápidos (true adota do schema, ou array explícito) */
136
- quickFilters?: boolean | Array<{
137
- id: string;
138
- label: string;
139
- filter: any;
140
- icon?: string;
141
- }>;
149
+ quickFilters?: boolean | CrudFilterBarQuickFilter[];
142
150
  /** Exibir botão para abrir o construtor de filtros avançados (padrão: true) */
143
151
  showAdvanced?: boolean;
144
152
  }
@@ -159,7 +167,7 @@ interface CrudMetadata {
159
167
  table?: CrudTableConfig;
160
168
  filterBar?: CrudFilterBarConfig;
161
169
  /** Configuração declarativa da faixa de resumo executivo e KPIs (Issue #33) */
162
- kpiBand?: PraxisKpiBandConfig;
170
+ kpiBand?: CrudKpiBandConfig;
163
171
  queryContext?: PraxisDataQueryContext | null;
164
172
  filterCriteria?: Record<string, unknown> | null;
165
173
  form?: FormConfig;
@@ -367,6 +375,9 @@ declare class PraxisCrudComponent implements OnChanges {
367
375
  private resolveOpeningActionLabel;
368
376
  private hasExplicitOpenBinding;
369
377
  getCurrentTableConfigSnapshot(): TableConfig | null;
378
+ getMaterializedInputSnapshot(_inputNames: readonly string[]): Record<string, unknown>;
379
+ private cloneResolvedMetadataSnapshot;
380
+ private buildMaterializedEffectiveTableConfigSnapshot;
370
381
  onTableConfigChange(config: TableConfig): void;
371
382
  onTableMetadataChange(): void;
372
383
  onTableLoadingStateChange(state: LoadingState): void;
@@ -737,9 +748,12 @@ declare function findCrudAction(actions: CrudMetadata['actions'], actionName: st
737
748
  type CrudEditorActionKey = 'create' | 'view' | 'edit';
738
749
  type CrudEditorActionGroupKey = 'binding' | 'schema' | 'submit' | 'api';
739
750
  type CrudEditorParamTarget = CrudParamMapping['to'];
740
- type CrudEditorSectionKey = 'connection' | 'defaults' | 'actions' | 'table';
751
+ type CrudEditorSectionKey = 'connection' | 'defaults' | 'actions' | 'kpis' | 'filters' | 'table';
741
752
  type CrudEditorSectionStatus = 'ready' | 'pending' | 'invalid';
742
753
  type CrudEditorHealthBucket = 'ready' | 'pending' | 'invalid';
754
+ type CrudEditorKpiFilterMode = 'none' | 'clear' | 'condition';
755
+ type CrudEditorQuickFilterMode = 'inherit' | 'disabled' | 'custom';
756
+ type CrudEditorQuickConditionMode = 'clear' | 'fieldEquals' | 'expression';
743
757
  type CrudEditorDiagnosticIssue = ReturnType<typeof validateCrudAuthoringDocument>[number];
744
758
  type CrudEditorPayload = {
745
759
  document: CrudAuthoringDocument;
@@ -752,10 +766,12 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
752
766
  readonly metadataInput: _angular_core.InputSignal<CrudMetadata | null>;
753
767
  readonly crudIdInput: _angular_core.InputSignal<string | null>;
754
768
  readonly readonlyInput: _angular_core.InputSignal<boolean>;
769
+ readonly effectiveTableConfigInput: _angular_core.InputSignal<_praxisui_core.TableConfigModern | null>;
755
770
  readonly isDirty$: BehaviorSubject<boolean>;
756
771
  readonly isValid$: BehaviorSubject<boolean>;
757
772
  readonly isBusy$: BehaviorSubject<boolean>;
758
773
  readonly actionKeys: CrudEditorActionKey[];
774
+ readonly sectionKeys: CrudEditorSectionKey[];
759
775
  readonly healthBuckets: CrudEditorHealthBucket[];
760
776
  readonly openModes: FormOpenMode[];
761
777
  readonly headerVariants: readonly ["ghost", "tonal", "outlined"];
@@ -763,14 +779,34 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
763
779
  readonly modalDensities: readonly ["default", "compact"];
764
780
  readonly backStrategies: readonly ["auto", "close", "navigate"];
765
781
  readonly paramTargets: ("routeParam" | "query" | "input")[];
782
+ readonly kpiVariants: CrudKpiCardVariant[];
783
+ readonly kpiFilterModes: CrudEditorKpiFilterMode[];
784
+ readonly quickFilterModes: CrudEditorQuickFilterMode[];
785
+ readonly quickConditionModes: CrudEditorQuickConditionMode[];
786
+ readonly selectedTabIndex: _angular_core.WritableSignal<number>;
787
+ readonly inlineFieldDraft: _angular_core.WritableSignal<string>;
766
788
  private readonly initialValueDrafts;
789
+ private readonly kpiFilterJsonDrafts;
790
+ private readonly quickFilterExpressionDrafts;
791
+ private readonly schemaResolvedColumnsSignal;
792
+ private readonly schemaResolvedFilterFieldsSignal;
793
+ private readonly destroyRef;
794
+ private readonly hostRef;
795
+ private readonly crudService;
767
796
  private readonly injectedData;
768
797
  private readonly i18n;
769
798
  private readonly currentDocument;
770
799
  private readonly initialDocument;
771
800
  private lastExternalSignature;
801
+ private lastLoadedResourceSignature;
802
+ private schemaSub?;
803
+ private schemaScopeSignature;
804
+ private schemaGeneration;
805
+ private destroyed;
772
806
  readonly effectiveCrudId: _angular_core.Signal<string | null>;
773
807
  readonly isReadonly: _angular_core.Signal<boolean>;
808
+ readonly providedEffectiveTableConfig: _angular_core.Signal<_praxisui_core.TableConfigModern | null>;
809
+ private readonly providedSnapshotOwner;
774
810
  readonly diagnostics: _angular_core.Signal<_praxisui_crud.CrudEditorDiagnostic[]>;
775
811
  readonly errorCount: _angular_core.Signal<number>;
776
812
  readonly warningCount: _angular_core.Signal<number>;
@@ -779,6 +815,25 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
779
815
  readonly resourcePath: _angular_core.Signal<string>;
780
816
  readonly resourceIdField: _angular_core.Signal<string>;
781
817
  readonly resourceEndpointKey: _angular_core.Signal<string>;
818
+ readonly resourceChangedSinceInit: _angular_core.Signal<boolean>;
819
+ readonly authoredTableColumns: _angular_core.Signal<ColumnDefinition[]>;
820
+ readonly resolvedInheritedColumns: _angular_core.Signal<ColumnDefinition[]>;
821
+ readonly effectiveTableColumns: _angular_core.Signal<ColumnDefinition[]>;
822
+ readonly isUsingInheritedResourceColumns: _angular_core.Signal<boolean>;
823
+ readonly effectiveTableConfigForEditor: _angular_core.Signal<_praxisui_core.TableConfigModern>;
824
+ readonly availableResourceFieldOptions: _angular_core.Signal<{
825
+ field: string;
826
+ header: string;
827
+ }[]>;
828
+ readonly effectiveKpiBand: _angular_core.Signal<CrudKpiBandConfig | null>;
829
+ readonly kpiBandEnabled: _angular_core.Signal<boolean>;
830
+ readonly kpiCards: _angular_core.Signal<CrudKpiCardConfig[]>;
831
+ readonly kpiBandPreviewConfig: _angular_core.Signal<CrudKpiBandConfig>;
832
+ readonly effectiveFilterBar: _angular_core.Signal<CrudFilterBarConfig | null>;
833
+ readonly filterBarShowAdvanced: _angular_core.Signal<boolean>;
834
+ readonly filterBarInlineFields: _angular_core.Signal<string[]>;
835
+ readonly filterBarQuickMode: _angular_core.Signal<CrudEditorQuickFilterMode>;
836
+ readonly filterBarQuickFilters: _angular_core.Signal<CrudFilterBarQuickFilter[]>;
782
837
  readonly defaultsOpenMode: _angular_core.Signal<FormOpenMode>;
783
838
  readonly headerShowBack: _angular_core.Signal<boolean>;
784
839
  readonly headerBackLabel: _angular_core.Signal<string>;
@@ -852,12 +907,20 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
852
907
  backDefaultsNote(): string;
853
908
  actionsOverview(): string;
854
909
  actionsOverviewNote(): string;
910
+ kpisOverview(): string;
911
+ kpisOverviewNote(): string;
912
+ filtersOverview(): string;
913
+ filtersOverviewNote(): string;
855
914
  tableOverview(): string;
856
915
  tableOverviewNote(): string;
857
916
  tableStructureSummary(): string;
858
917
  tableBehaviorSummary(): string;
859
918
  tableStatesSummary(): string;
860
919
  tableEditingFlowSummary(): string;
920
+ inheritedColumnsCountLabel(): string;
921
+ inheritedColumnsNote(): string;
922
+ focusTableColumnsAuthoring(): void;
923
+ resetToInheritedColumns(): void;
861
924
  validationOverview(): string;
862
925
  validationOverviewNote(): string;
863
926
  jsonSectionSummary(): string;
@@ -877,6 +940,42 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
877
940
  variantLabel(variant: (typeof HEADER_VARIANTS)[number]): string;
878
941
  modalDensityLabel(density: string): string;
879
942
  backStrategyLabel(strategy: string): string;
943
+ kpiCardTitle(index: number, card: CrudKpiCardConfig): string;
944
+ kpiVariantLabel(variant: CrudKpiCardVariant): string;
945
+ kpiFilterModeLabel(mode: CrudEditorKpiFilterMode): string;
946
+ kpiCardVariant(card: CrudKpiCardConfig): CrudKpiCardVariant;
947
+ kpiCardFilterMode(index: number): CrudEditorKpiFilterMode;
948
+ kpiCardFilterField(index: number): string;
949
+ kpiCardFilterValue(index: number): string;
950
+ kpiCardFilterJsonDraft(index: number): string;
951
+ setKpiBandEnabled(enabled: boolean): void;
952
+ addKpiCard(): void;
953
+ removeKpiCard(index: number): void;
954
+ moveKpiCard(index: number, delta: -1 | 1): void;
955
+ setKpiCardField(index: number, field: 'id' | 'label' | 'value' | 'caption' | 'icon', value: unknown): void;
956
+ setKpiCardVariant(index: number, variant: CrudKpiCardVariant): void;
957
+ setKpiCardFilterMode(index: number, mode: CrudEditorKpiFilterMode): void;
958
+ setKpiCardFilterCondition(index: number, field: string, rawValue: string): void;
959
+ setKpiCardFilterJson(index: number, raw: string): void;
960
+ quickFilterModeLabel(mode: CrudEditorQuickFilterMode): string;
961
+ quickConditionModeLabel(mode: CrudEditorQuickConditionMode): string;
962
+ setFilterBarShowAdvanced(showAdvanced: boolean): void;
963
+ addInlineFilterField(field: string): void;
964
+ addInlineFilterFieldFromDraft(): void;
965
+ removeInlineFilterField(field: string): void;
966
+ toggleInlineFilterField(field: string): void;
967
+ setFilterBarQuickMode(mode: CrudEditorQuickFilterMode): void;
968
+ addQuickFilter(): void;
969
+ removeQuickFilter(index: number): void;
970
+ moveQuickFilter(index: number, delta: -1 | 1): void;
971
+ setQuickFilterField(index: number, field: 'id' | 'label' | 'icon', value: unknown): void;
972
+ quickFilterConditionMode(index: number): CrudEditorQuickConditionMode;
973
+ setQuickFilterConditionMode(index: number, mode: CrudEditorQuickConditionMode): void;
974
+ quickFilterConditionField(index: number): string;
975
+ quickFilterConditionValue(index: number): string;
976
+ setQuickFilterFieldEquals(index: number, field: string, rawValue: string): void;
977
+ quickFilterExpressionDraft(index: number): string;
978
+ setQuickFilterExpression(index: number, raw: string): void;
880
979
  private actionInputsSummaryBadge;
881
980
  paramTargetLabel(target: CrudEditorParamTarget): string;
882
981
  diagnosticMessage(code: string, fallback: string): string;
@@ -894,6 +993,15 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
894
993
  setActionBackField(actionName: CrudEditorActionKey, field: 'strategy' | 'returnTo' | 'confirmOnDirty', value: unknown): void;
895
994
  setActionApiUrlEntry(actionName: CrudEditorActionKey, raw: string): void;
896
995
  setTableConfig(config: TableConfig): void;
996
+ private updateKpiBand;
997
+ private patchKpiCard;
998
+ private clearKpiFilterJsonDraft;
999
+ private updateFilterBar;
1000
+ private patchQuickFilter;
1001
+ private resourceSchemaIdentity;
1002
+ private synchronizeSchemaScope;
1003
+ private invalidateSchemaScope;
1004
+ private loadResourceSchemaColumns;
897
1005
  private patchAction;
898
1006
  private updateMetadata;
899
1007
  private buildPayload;
@@ -909,7 +1017,7 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
909
1017
  private prioritizedActionKey;
910
1018
  sectionDisplayLabel(section: CrudEditorSectionKey): string;
911
1019
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CrudMetadataEditorComponent, never>;
912
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CrudMetadataEditorComponent, "praxis-crud-metadata-editor", never, { "documentInput": { "alias": "document"; "required": false; "isSignal": true; }; "metadataInput": { "alias": "metadata"; "required": false; "isSignal": true; }; "crudIdInput": { "alias": "crudId"; "required": false; "isSignal": true; }; "readonlyInput": { "alias": "readonly"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1020
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CrudMetadataEditorComponent, "praxis-crud-metadata-editor", never, { "documentInput": { "alias": "document"; "required": false; "isSignal": true; }; "metadataInput": { "alias": "metadata"; "required": false; "isSignal": true; }; "crudIdInput": { "alias": "crudId"; "required": false; "isSignal": true; }; "readonlyInput": { "alias": "readonly"; "required": false; "isSignal": true; }; "effectiveTableConfigInput": { "alias": "effectiveTableConfig"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
913
1021
  }
914
1022
 
915
1023
  interface PraxisCrudWidgetEditorInputs {
@@ -927,6 +1035,7 @@ interface PraxisCrudWidgetEditorValue {
927
1035
  }
928
1036
  declare class PraxisCrudWidgetConfigEditor implements SettingsValueProvider, AfterViewInit, OnDestroy {
929
1037
  inputs: PraxisCrudWidgetEditorInputs | null;
1038
+ context: Record<string, unknown> | null;
930
1039
  widgetKey?: string;
931
1040
  crudEditor?: CrudMetadataEditorComponent;
932
1041
  readonly isDirty$: BehaviorSubject<boolean>;
@@ -936,15 +1045,17 @@ declare class PraxisCrudWidgetConfigEditor implements SettingsValueProvider, Aft
936
1045
  ngAfterViewInit(): void;
937
1046
  ngOnDestroy(): void;
938
1047
  get metadata(): CrudMetadata;
1048
+ get effectiveTableConfig(): TableConfig | null;
939
1049
  get effectiveCrudId(): string | null;
940
1050
  getSettingsValue(): PraxisCrudWidgetEditorValue;
941
1051
  onSave(): PraxisCrudWidgetEditorValue;
942
1052
  reset(): void;
943
1053
  private buildValue;
1054
+ private sanitizePersistedContext;
944
1055
  private createDocumentFromInputs;
945
1056
  private extractDocument;
946
1057
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudWidgetConfigEditor, never>;
947
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudWidgetConfigEditor, "praxis-crud-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; }, {}, never, never, true, never>;
1058
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudWidgetConfigEditor, "praxis-crud-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "context": { "alias": "context"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; }, {}, never, never, true, never>;
948
1059
  }
949
1060
 
950
1061
  type OpenCrudMetadataEditorOptions = {
@@ -953,6 +1064,7 @@ type OpenCrudMetadataEditorOptions = {
953
1064
  titleIcon?: string;
954
1065
  document?: CrudAuthoringDocument | null;
955
1066
  metadata?: CrudMetadata | null;
1067
+ effectiveTableConfig?: TableConfig | null;
956
1068
  crudId?: string;
957
1069
  readonly?: boolean;
958
1070
  };
@@ -1313,4 +1425,4 @@ declare class PraxisBulkEditDialogComponent {
1313
1425
  }
1314
1426
 
1315
1427
  export { CRUD_AI_CAPABILITIES, CrudLauncherService, CrudMetadataEditorComponent, CrudPageHeaderComponent, DialogService, DynamicFormDialogHostComponent, PRAXIS_CRUD_AUTHORING_MANIFEST, PRAXIS_CRUD_COMPONENT_METADATA, PraxisBulkEditDialogComponent, PraxisBulkOperationDialogComponent, PraxisCrudComponent, PraxisCrudWidgetConfigEditor, PraxisKpiBandComponent, PraxisResourcePage, assertCrudMetadata, createCrudAuthoringDocument, findCrudAction, formatKpiValue, normalizeCrudAuthoringDocument, openCrudMetadataEditor, parseLegacyOrCrudDocument, providePraxisCrudMetadata, serializeCrudAuthoringDocument, validateCrudAuthoringDocument };
1316
- export type { BulkDialogStep, BulkEditStep, Capability, CapabilityCatalog, CapabilityCategory, CrudAction, CrudActionFormContract, CrudActionResolutionMode, CrudActionRuntimeEvent, CrudAuthoringDocument, CrudAuthoringWidgetPersistenceEvent, CrudDefaults, CrudEditorDiagnostic, CrudFilterBarConfig, CrudFormReactiveDeterminationStabilityChange, CrudHeaderConfig, CrudHeaderVariant, CrudInteractionMode, CrudMetadata, CrudMetadataAssertionOptions, CrudParamMapping, CrudReactiveDeterminationStabilityChange, CrudReactiveDeterminationStabilityStatus, CrudResource, CrudTableConfig, CrudValidationContext, DialogConfig, DialogRef, EvaluatedKpiCard, FormOpenMode, OpenCrudMetadataEditorOptions, PraxisBulkEditDialogData, PraxisBulkOperationDialogData, PraxisCrudWidgetEditorInputs, PraxisCrudWidgetEditorValue, PraxisResourceDomainBadge, PraxisResourceScopeBarConfig, ValueKind };
1428
+ export type { BulkDialogStep, BulkEditStep, Capability, CapabilityCatalog, CapabilityCategory, CrudAction, CrudActionFormContract, CrudActionResolutionMode, CrudActionRuntimeEvent, CrudAuthoringDocument, CrudAuthoringWidgetPersistenceEvent, CrudDefaults, CrudEditorDiagnostic, CrudFilterBarConfig, CrudFilterBarQuickFilter, CrudFormReactiveDeterminationStabilityChange, CrudHeaderConfig, CrudHeaderVariant, CrudInteractionMode, CrudKpiBandConfig, CrudKpiCardConfig, CrudKpiCardVariant, CrudMetadata, CrudMetadataAssertionOptions, CrudParamMapping, CrudReactiveDeterminationStabilityChange, CrudReactiveDeterminationStabilityStatus, CrudResource, CrudTableConfig, CrudValidationContext, DialogConfig, DialogRef, EvaluatedKpiCard, FormOpenMode, OpenCrudMetadataEditorOptions, PraxisBulkEditDialogData, PraxisBulkOperationDialogData, PraxisCrudWidgetEditorInputs, PraxisCrudWidgetEditorValue, PraxisResourceDomainBadge, PraxisResourceScopeBarConfig, ValueKind };