@praxisui/crud 9.0.0-beta.67 → 9.0.0-beta.69

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/README.md CHANGED
@@ -127,22 +127,39 @@ Child component semantics stay with their owners:
127
127
  CRUD actions can open by route, modal, or drawer. `CrudLauncherService` resolves the final mode from persisted overrides, action metadata, and global/default configuration.
128
128
 
129
129
  ```ts
130
- const editAction = {
130
+ const editAction: CrudAction = {
131
131
  id: 'edit',
132
- label: 'Edit',
132
+ action: 'edit',
133
+ label: 'Edit employee',
133
134
  openMode: 'drawer',
134
- route: '/employees/:id/edit',
135
+ };
136
+ ```
137
+
138
+ For canonical `create`, `view`, `edit`, and `delete` operations, prefer inferred
139
+ contracts. The runtime resolves the stable form id, request schema, submit URL,
140
+ and HTTP method from the resource path, capabilities, surfaces, and HATEOAS
141
+ links. Use an explicit form contract only when the operation deliberately
142
+ overrides that baseline:
143
+
144
+ ```ts
145
+ const explicitEditAction: CrudAction = {
146
+ id: 'edit',
147
+ action: 'edit',
148
+ label: 'Edit employee',
149
+ openMode: 'drawer',
150
+ formId: 'employee-edit',
151
+ mode: 'explicit',
135
152
  form: {
136
- formId: 'employee-edit',
137
153
  schemaUrl: '/api/employees/schemas/edit',
138
- submitUrl: '/api/employees/:id',
139
- submitMethod: 'PUT',
154
+ submitUrl: '/api/employees/{id}',
155
+ submitMethod: 'put',
140
156
  },
141
- params: [{ from: 'row.id', to: 'path.id', name: 'id' }],
142
157
  };
143
158
  ```
144
159
 
145
- Hosts that use drawer mode must provide the drawer adapter expected by the CRUD launcher. Modal mode uses the package form dialog host.
160
+ Drawer mode works without a host adapter: the package opens its standard form
161
+ dialog host with drawer presentation. Provide `CRUD_DRAWER_ADAPTER` only when a
162
+ host must replace that standard shell with a real corporate drawer implementation.
146
163
 
147
164
  ## Visual Authoring
148
165
 
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-07-09T21:47:30.990Z",
3
+ "generatedAt": "2026-07-10T17:26:58.705Z",
4
4
  "packageName": "@praxisui/crud",
5
- "packageVersion": "9.0.0-beta.67",
5
+ "packageVersion": "9.0.0-beta.69",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 2,
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@praxisui/crud",
3
- "version": "9.0.0-beta.67",
3
+ "version": "9.0.0-beta.69",
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": "^9.0.0-beta.67",
9
- "@praxisui/table": "^9.0.0-beta.67",
10
- "@praxisui/core": "^9.0.0-beta.67",
11
- "@praxisui/dynamic-fields": "^9.0.0-beta.67",
12
- "@praxisui/settings-panel": "^9.0.0-beta.67",
8
+ "@praxisui/dynamic-form": "^9.0.0-beta.69",
9
+ "@praxisui/table": "^9.0.0-beta.69",
10
+ "@praxisui/core": "^9.0.0-beta.69",
11
+ "@praxisui/dynamic-fields": "^9.0.0-beta.69",
12
+ "@praxisui/settings-panel": "^9.0.0-beta.69",
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": "^9.0.0-beta.67",
17
+ "@praxisui/ai": "^9.0.0-beta.69",
18
18
  "rxjs": "~7.8.0"
19
19
  },
20
20
  "dependencies": {