@praxisui/crud 8.0.0-beta.4 → 8.0.0-beta.41

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,15 +1,21 @@
1
1
  {
2
2
  "name": "@praxisui/crud",
3
- "version": "8.0.0-beta.4",
3
+ "version": "8.0.0-beta.41",
4
4
  "description": "CRUD building blocks for Praxis UI: integrates dynamic forms and tables with unified configuration and services.",
5
5
  "peerDependencies": {
6
- "@angular/common": "^20.1.0",
7
- "@angular/core": "^20.1.0",
8
- "@praxisui/dynamic-form": "^8.0.0-beta.4",
9
- "@praxisui/table": "^8.0.0-beta.4",
10
- "@praxisui/core": "^8.0.0-beta.4",
11
- "@praxisui/dynamic-fields": "^8.0.0-beta.4",
12
- "@praxisui/settings-panel": "^8.0.0-beta.4"
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0",
8
+ "@praxisui/dynamic-form": "^8.0.0-beta.41",
9
+ "@praxisui/table": "^8.0.0-beta.41",
10
+ "@praxisui/core": "^8.0.0-beta.41",
11
+ "@praxisui/dynamic-fields": "^8.0.0-beta.41",
12
+ "@praxisui/settings-panel": "^8.0.0-beta.41",
13
+ "@angular/cdk": "^21.0.0",
14
+ "@angular/forms": "^21.0.0",
15
+ "@angular/material": "^21.0.0",
16
+ "@angular/router": "^21.0.0",
17
+ "@praxisui/ai": "^8.0.0-beta.41",
18
+ "rxjs": "~7.8.0"
13
19
  },
14
20
  "dependencies": {
15
21
  "tslib": "^2.3.0"
@@ -37,18 +43,19 @@
37
43
  ],
38
44
  "sideEffects": false,
39
45
  "module": "fesm2022/praxisui-crud.mjs",
40
- "typings": "index.d.ts",
46
+ "typings": "types/praxisui-crud.d.ts",
41
47
  "exports": {
42
48
  "./package.json": {
43
49
  "default": "./package.json"
44
50
  },
45
51
  ".": {
46
- "types": "./index.d.ts",
52
+ "types": "./types/praxisui-crud.d.ts",
47
53
  "default": "./fesm2022/praxisui-crud.mjs"
48
54
  },
49
55
  "./drawer-adapter": {
50
- "types": "./drawer-adapter/index.d.ts",
56
+ "types": "./types/praxisui-crud-drawer-adapter.d.ts",
51
57
  "default": "./fesm2022/praxisui-crud-drawer-adapter.mjs"
52
58
  }
53
- }
59
+ },
60
+ "type": "module"
54
61
  }
@@ -1,12 +1,13 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { ApiEndpoint, TableConfig, PraxisDataQueryContext, FormConfig, BackConfig, RowAction, ToolbarAction, ApiUrlEntry, ResourceActionCatalogItem, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog, SettingsValueProvider } from '@praxisui/core';
2
+ import { RowAction, ToolbarAction, ApiEndpoint, ApiUrlEntry, BackConfig, TableConfig, PraxisDataQueryContext, FormConfig, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, LoadingState, RestApiLinks, ResourceCapabilitySnapshot, GenericCrudService, AsyncConfigStorage, ComponentDocMeta, AiCapabilityCatalog, AiCapability, AiCapabilityCategory, AiValueKind, ComponentAuthoringManifest, SettingsValueProvider } from '@praxisui/core';
3
3
  export { BackConfig } from '@praxisui/core';
4
4
  import * as _angular_core from '@angular/core';
5
- import { NgZone, OnChanges, EventEmitter, SimpleChanges, OnInit, Provider } from '@angular/core';
5
+ import { NgZone, OnChanges, EventEmitter, SimpleChanges, OnInit, Provider, AfterViewInit, OnDestroy } from '@angular/core';
6
6
  import { MatDialogConfig, MatDialogRef, MatDialog } from '@angular/material/dialog';
7
7
  export { MAT_DIALOG_DATA as DIALOG_DATA } from '@angular/material/dialog';
8
8
  import { ComponentType } from '@angular/cdk/portal';
9
9
  import { PraxisDynamicForm } from '@praxisui/dynamic-form';
10
+ import * as _praxisui_crud from '@praxisui/crud';
10
11
  import { BehaviorSubject } from 'rxjs';
11
12
  import * as _praxisui_settings_panel from '@praxisui/settings-panel';
12
13
  import { SettingsPanelService } from '@praxisui/settings-panel';
@@ -123,7 +124,7 @@ interface CrudValidationContext {
123
124
  }
124
125
 
125
126
  type CrudActionRuntimeEvent = {
126
- actionConfig?: ResourceActionCatalogItem | null;
127
+ actionConfig?: ResourceActionCatalogItem | ResourceSurfaceCatalogItem | null;
127
128
  };
128
129
  type CrudContextAction = {
129
130
  action: string;
@@ -162,6 +163,8 @@ declare class PraxisCrudComponent implements OnChanges {
162
163
  id: string | number;
163
164
  }>;
164
165
  error: EventEmitter<unknown>;
166
+ rowClick: EventEmitter<unknown>;
167
+ selectionChange: EventEmitter<unknown>;
165
168
  tableRuntimeConfigChange: EventEmitter<_praxisui_core.TableConfigModern>;
166
169
  crudAuthoringDocumentApplied: EventEmitter<CrudAuthoringWidgetPersistenceEvent>;
167
170
  crudAuthoringDocumentSaved: EventEmitter<CrudAuthoringWidgetPersistenceEvent>;
@@ -181,9 +184,10 @@ declare class PraxisCrudComponent implements OnChanges {
181
184
  private readonly snack;
182
185
  private readonly dialog;
183
186
  private readonly i18n;
184
- private readonly resourceDiscovery;
185
- private readonly actionOpenAdapter;
186
- private readonly surfaceOpenAdapter;
187
+ private readonly injector;
188
+ private resourceDiscoveryInstance?;
189
+ private actionOpenAdapterInstance?;
190
+ private surfaceOpenAdapterInstance?;
187
191
  private readonly global;
188
192
  private readonly surfaceService;
189
193
  private readonly componentKeys;
@@ -199,9 +203,15 @@ declare class PraxisCrudComponent implements OnChanges {
199
203
  private collectionCapabilitiesResolvedHref;
200
204
  private collectionCapabilitiesRequestSeq;
201
205
  private currentAuthoringDocument?;
206
+ private getResourceDiscovery;
207
+ private getActionOpenAdapter;
208
+ private getSurfaceOpenAdapter;
202
209
  onResetPreferences(): void;
210
+ onTableRowClick(event: unknown): void;
211
+ onTableSelectionChange(event: unknown): void;
203
212
  ngOnChanges(changes: SimpleChanges): void;
204
213
  onAction(action: string, row?: Record<string, unknown>, runtimeEvent?: CrudActionRuntimeEvent): Promise<void>;
214
+ private hasExplicitOpenBinding;
205
215
  getCurrentTableConfigSnapshot(): TableConfig | null;
206
216
  onTableMetadataChange(): void;
207
217
  onTableLoadingStateChange(state: LoadingState): void;
@@ -230,6 +240,7 @@ declare class PraxisCrudComponent implements OnChanges {
230
240
  private resolveDiscoveredActionCatalog;
231
241
  private selectDiscoveredWorkflowAction;
232
242
  private resolveProvidedWorkflowAction;
243
+ private resolveProvidedSurface;
233
244
  private selectSurfaceForCrudAction;
234
245
  private getPreferredSurfaceIdsForCrudAction;
235
246
  private isDiscoveryManagedCrudAction;
@@ -265,7 +276,7 @@ declare class PraxisCrudComponent implements OnChanges {
265
276
  private getCrudActionLabel;
266
277
  private tx;
267
278
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudComponent, never>;
268
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudComponent, "praxis-crud", never, { "metadata": { "alias": "metadata"; "required": true; }; "crudId": { "alias": "crudId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "context": { "alias": "context"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, { "configureRequested": "configureRequested"; "afterOpen": "afterOpen"; "afterClose": "afterClose"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "error": "error"; "tableRuntimeConfigChange": "tableRuntimeConfigChange"; "crudAuthoringDocumentApplied": "crudAuthoringDocumentApplied"; "crudAuthoringDocumentSaved": "crudAuthoringDocumentSaved"; }, never, never, true, never>;
279
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PraxisCrudComponent, "praxis-crud", never, { "metadata": { "alias": "metadata"; "required": true; }; "crudId": { "alias": "crudId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "context": { "alias": "context"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, { "configureRequested": "configureRequested"; "afterOpen": "afterOpen"; "afterClose": "afterClose"; "afterSave": "afterSave"; "afterDelete": "afterDelete"; "error": "error"; "rowClick": "rowClick"; "selectionChange": "selectionChange"; "tableRuntimeConfigChange": "tableRuntimeConfigChange"; "crudAuthoringDocumentApplied": "crudAuthoringDocumentApplied"; "crudAuthoringDocumentSaved": "crudAuthoringDocumentSaved"; }, never, never, true, never>;
269
280
  }
270
281
 
271
282
  type CrudDrawerResultType = 'save' | 'delete' | 'close';
@@ -399,6 +410,8 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
399
410
  }
400
411
  declare const CRUD_AI_CAPABILITIES: CapabilityCatalog;
401
412
 
413
+ declare const PRAXIS_CRUD_AUTHORING_MANIFEST: ComponentAuthoringManifest;
414
+
402
415
  declare function createCrudAuthoringDocument(source: {
403
416
  metadata?: unknown;
404
417
  }): CrudAuthoringDocument;
@@ -445,7 +458,7 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
445
458
  private lastExternalSignature;
446
459
  readonly effectiveCrudId: _angular_core.Signal<string | null>;
447
460
  readonly isReadonly: _angular_core.Signal<boolean>;
448
- readonly diagnostics: _angular_core.Signal<CrudEditorDiagnostic[]>;
461
+ readonly diagnostics: _angular_core.Signal<_praxisui_crud.CrudEditorDiagnostic[]>;
449
462
  readonly errorCount: _angular_core.Signal<number>;
450
463
  readonly warningCount: _angular_core.Signal<number>;
451
464
  readonly serializedDocument: _angular_core.Signal<string>;
@@ -476,7 +489,7 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
476
489
  readonly showHealthMap: _angular_core.Signal<boolean>;
477
490
  readonly groupedDiagnostics: _angular_core.Signal<{
478
491
  section: CrudEditorSectionKey;
479
- issues: CrudEditorDiagnostic[];
492
+ issues: _praxisui_crud.CrudEditorDiagnostic[];
480
493
  hasError: boolean;
481
494
  }[]>;
482
495
  constructor();
@@ -583,6 +596,39 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
583
596
  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>;
584
597
  }
585
598
 
599
+ interface PraxisCrudWidgetEditorInputs {
600
+ metadata?: CrudMetadata | string | null;
601
+ crudId?: string;
602
+ componentInstanceId?: string;
603
+ context?: Record<string, unknown>;
604
+ enableCustomization?: boolean;
605
+ [key: string]: unknown;
606
+ }
607
+ interface PraxisCrudWidgetEditorValue {
608
+ inputs: PraxisCrudWidgetEditorInputs;
609
+ }
610
+ declare class PraxisCrudWidgetConfigEditor implements SettingsValueProvider, AfterViewInit, OnDestroy {
611
+ inputs: PraxisCrudWidgetEditorInputs | null;
612
+ widgetKey?: string;
613
+ crudEditor?: CrudMetadataEditorComponent;
614
+ readonly isDirty$: BehaviorSubject<boolean>;
615
+ readonly isValid$: BehaviorSubject<boolean>;
616
+ readonly isBusy$: BehaviorSubject<boolean>;
617
+ private readonly subscription;
618
+ ngAfterViewInit(): void;
619
+ ngOnDestroy(): void;
620
+ get metadata(): CrudMetadata;
621
+ get effectiveCrudId(): string | null;
622
+ getSettingsValue(): PraxisCrudWidgetEditorValue;
623
+ onSave(): PraxisCrudWidgetEditorValue;
624
+ reset(): void;
625
+ private buildValue;
626
+ private createDocumentFromInputs;
627
+ private extractDocument;
628
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudWidgetConfigEditor, never>;
629
+ 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>;
630
+ }
631
+
586
632
  type OpenCrudMetadataEditorOptions = {
587
633
  id?: string;
588
634
  title?: string;
@@ -594,5 +640,5 @@ type OpenCrudMetadataEditorOptions = {
594
640
  };
595
641
  declare function openCrudMetadataEditor(settings: SettingsPanelService, opts?: OpenCrudMetadataEditorOptions): _praxisui_settings_panel.SettingsPanelRef;
596
642
 
597
- export { CRUD_AI_CAPABILITIES, CrudLauncherService, CrudMetadataEditorComponent, CrudPageHeaderComponent, DialogService, DynamicFormDialogHostComponent, PRAXIS_CRUD_COMPONENT_METADATA, PraxisCrudComponent, assertCrudMetadata, createCrudAuthoringDocument, findCrudAction, normalizeCrudAuthoringDocument, openCrudMetadataEditor, parseLegacyOrCrudDocument, providePraxisCrudMetadata, serializeCrudAuthoringDocument, validateCrudAuthoringDocument };
598
- export type { Capability, CapabilityCatalog, CapabilityCategory, CrudAction, CrudActionFormContract, CrudActionResolutionMode, CrudAuthoringDocument, CrudAuthoringWidgetPersistenceEvent, CrudDefaults, CrudEditorDiagnostic, CrudHeaderConfig, CrudHeaderVariant, CrudMetadata, CrudMetadataAssertionOptions, CrudParamMapping, CrudResource, CrudValidationContext, DialogConfig, DialogRef, FormOpenMode, OpenCrudMetadataEditorOptions, ValueKind };
643
+ export { CRUD_AI_CAPABILITIES, CrudLauncherService, CrudMetadataEditorComponent, CrudPageHeaderComponent, DialogService, DynamicFormDialogHostComponent, PRAXIS_CRUD_AUTHORING_MANIFEST, PRAXIS_CRUD_COMPONENT_METADATA, PraxisCrudComponent, PraxisCrudWidgetConfigEditor, assertCrudMetadata, createCrudAuthoringDocument, findCrudAction, normalizeCrudAuthoringDocument, openCrudMetadataEditor, parseLegacyOrCrudDocument, providePraxisCrudMetadata, serializeCrudAuthoringDocument, validateCrudAuthoringDocument };
644
+ export type { Capability, CapabilityCatalog, CapabilityCategory, CrudAction, CrudActionFormContract, CrudActionResolutionMode, CrudAuthoringDocument, CrudAuthoringWidgetPersistenceEvent, CrudDefaults, CrudEditorDiagnostic, CrudHeaderConfig, CrudHeaderVariant, CrudMetadata, CrudMetadataAssertionOptions, CrudParamMapping, CrudResource, CrudValidationContext, DialogConfig, DialogRef, FormOpenMode, OpenCrudMetadataEditorOptions, PraxisCrudWidgetEditorInputs, PraxisCrudWidgetEditorValue, ValueKind };