@praxisui/crud 8.0.0-beta.9 → 8.0.0-beta.91

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.9",
3
+ "version": "8.0.0-beta.91",
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.9",
9
- "@praxisui/table": "^8.0.0-beta.9",
10
- "@praxisui/core": "^8.0.0-beta.9",
11
- "@praxisui/dynamic-fields": "^8.0.0-beta.9",
12
- "@praxisui/settings-panel": "^8.0.0-beta.9"
6
+ "@angular/common": "^21.0.0",
7
+ "@angular/core": "^21.0.0",
8
+ "@praxisui/dynamic-form": "^8.0.0-beta.91",
9
+ "@praxisui/table": "^8.0.0-beta.91",
10
+ "@praxisui/core": "^8.0.0-beta.91",
11
+ "@praxisui/dynamic-fields": "^8.0.0-beta.91",
12
+ "@praxisui/settings-panel": "^8.0.0-beta.91",
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.91",
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, ResourceSurfaceCatalogItem, 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';
@@ -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;
@@ -266,7 +276,7 @@ declare class PraxisCrudComponent implements OnChanges {
266
276
  private getCrudActionLabel;
267
277
  private tx;
268
278
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PraxisCrudComponent, never>;
269
- 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>;
270
280
  }
271
281
 
272
282
  type CrudDrawerResultType = 'save' | 'delete' | 'close';
@@ -400,6 +410,8 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
400
410
  }
401
411
  declare const CRUD_AI_CAPABILITIES: CapabilityCatalog;
402
412
 
413
+ declare const PRAXIS_CRUD_AUTHORING_MANIFEST: ComponentAuthoringManifest;
414
+
403
415
  declare function createCrudAuthoringDocument(source: {
404
416
  metadata?: unknown;
405
417
  }): CrudAuthoringDocument;
@@ -446,7 +458,7 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
446
458
  private lastExternalSignature;
447
459
  readonly effectiveCrudId: _angular_core.Signal<string | null>;
448
460
  readonly isReadonly: _angular_core.Signal<boolean>;
449
- readonly diagnostics: _angular_core.Signal<CrudEditorDiagnostic[]>;
461
+ readonly diagnostics: _angular_core.Signal<_praxisui_crud.CrudEditorDiagnostic[]>;
450
462
  readonly errorCount: _angular_core.Signal<number>;
451
463
  readonly warningCount: _angular_core.Signal<number>;
452
464
  readonly serializedDocument: _angular_core.Signal<string>;
@@ -477,7 +489,7 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
477
489
  readonly showHealthMap: _angular_core.Signal<boolean>;
478
490
  readonly groupedDiagnostics: _angular_core.Signal<{
479
491
  section: CrudEditorSectionKey;
480
- issues: CrudEditorDiagnostic[];
492
+ issues: _praxisui_crud.CrudEditorDiagnostic[];
481
493
  hasError: boolean;
482
494
  }[]>;
483
495
  constructor();
@@ -584,6 +596,39 @@ declare class CrudMetadataEditorComponent implements SettingsValueProvider {
584
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>;
585
597
  }
586
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
+
587
632
  type OpenCrudMetadataEditorOptions = {
588
633
  id?: string;
589
634
  title?: string;
@@ -595,5 +640,5 @@ type OpenCrudMetadataEditorOptions = {
595
640
  };
596
641
  declare function openCrudMetadataEditor(settings: SettingsPanelService, opts?: OpenCrudMetadataEditorOptions): _praxisui_settings_panel.SettingsPanelRef;
597
642
 
598
- export { CRUD_AI_CAPABILITIES, CrudLauncherService, CrudMetadataEditorComponent, CrudPageHeaderComponent, DialogService, DynamicFormDialogHostComponent, PRAXIS_CRUD_COMPONENT_METADATA, PraxisCrudComponent, assertCrudMetadata, createCrudAuthoringDocument, findCrudAction, normalizeCrudAuthoringDocument, openCrudMetadataEditor, parseLegacyOrCrudDocument, providePraxisCrudMetadata, serializeCrudAuthoringDocument, validateCrudAuthoringDocument };
599
- 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 };