@praxisui/crud 6.0.0-beta.0 → 8.0.0-beta.0

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
@@ -35,7 +35,7 @@ keywords:
35
35
  - "open mode"
36
36
  - "drawer"
37
37
  - "modal"
38
- last_updated: "2026-03-07"
38
+ last_updated: "2026-04-10"
39
39
  ---
40
40
 
41
41
  # @praxisui/crud
@@ -250,6 +250,102 @@ sequenceDiagram
250
250
 
251
251
  - `projects/praxis-crud/docs/host-crud-runtime-and-openmode.md`
252
252
  - `projects/praxis-crud/docs/adr/2026-03-drawer-adapter-light-entrypoint.md`
253
+ - `projects/praxis-crud/docs/adr/2026-04-crud-authoring-surface.md`
254
+
255
+ ## Status de Authoring Visual
256
+
257
+ O `@praxisui/crud` publica hoje a superficie canonica de runtime do fluxo CRUD:
258
+
259
+ - shell `table + form`
260
+ - `crudContext`
261
+ - open modes `route`, `modal` e `drawer`
262
+ - launcher e contratos explicitos de formulario por acao
263
+
264
+ O `@praxisui/crud` tambem ja publica a Fase 1 da superficie canonica de authoring visual:
265
+
266
+ - `CrudAuthoringDocument` e helpers canonicos de parse/normalize/serialize/validate
267
+ - `CrudMetadataEditorComponent` como editor hospedavel da propria lib
268
+ - `openCrudMetadataEditor(...)` para integracao canonica com `@praxisui/settings-panel`
269
+ - round-trip minimo `abrir -> editar -> apply/save -> reabrir` para o documento canonico do CRUD
270
+ - composicao canonica com a secao inline de tabela, sem empurrar um builder paralelo para o host
271
+
272
+ Na Fase 2, essa superficie passou a cobrir um recorte mais util de `metadata.table` dentro do mesmo shell unico:
273
+
274
+ - toolbar/header visual essencial da tabela, incluindo `toolbar.layout.height` e `toolbar.actionsBackgroundColor`
275
+ - paginacao essencial
276
+ - ordenacao essencial
277
+ - mensagens de estado principais da lista
278
+ - hierarquia visual `essentials + advanced table details`, sem criar um segundo entrypoint visivel
279
+
280
+ Na Fase 3, essa superficie passou a aprofundar o authoring dos contratos de acao e formulario no proprio shell de CRUD:
281
+
282
+ - agrupamento por acao entre `binding`, `schema`, `submit` e `api`
283
+ - sinais canonicos de prontidao, pendencia e inconsistencias por grupo e por acao
284
+ - resumos editoriais no strip, no header e no topo da shell para orientar troubleshooting sem depender do bloco JSON
285
+ - disclosure inicial derivado, abrindo automaticamente acoes e blocos avancados que pedem atencao
286
+ - acabamento editorial para acoes saudaveis, com menos redundancia entre strip, header e grupos internos
287
+
288
+ Na Fase 4, essa superficie passou a cobrir o recorte minimo de apresentacao e defaults que o runtime de CRUD realmente consome:
289
+
290
+ - `defaults.modal.density`
291
+ - `defaults.modal.canMaximize`
292
+ - `defaults.modal.rememberLastState`
293
+ - `defaults.modal.startMaximized`
294
+ - `defaults.modal.disableCloseOnEsc`
295
+ - `defaults.modal.disableCloseOnBackdrop`
296
+ - `defaults.modal.fullscreenBreakpoint`
297
+ - `defaults.back.strategy`
298
+ - `defaults.back.returnTo`
299
+ - `defaults.back.confirmOnDirty`
300
+ - `actions[].back.strategy`
301
+ - `actions[].back.returnTo`
302
+ - `actions[].back.confirmOnDirty`
303
+
304
+ Fronteira fechada da Fase 4:
305
+
306
+ - o launcher e o host canonico nao consomem hoje nenhum `action.modal/*` ou outro bloco de apresentacao por acao alem de `openMode`, `formId`, `route` e `back`
307
+ - por isso a Fase 4 para aqui de forma intencional: ampliar alem disso exigiria inventar semantica nova de formulario dentro de `@praxisui/crud`, o que estaria errado para a plataforma
308
+
309
+ O que ainda nao existe como superficie publica canonica completa da lib:
310
+
311
+ - editor visual completo de toda a semantica de `TableConfig` e `FormConfig`
312
+ - builder amplo de pagina ou workflow no nivel do `@praxisui/crud`
313
+ - authoring visual de CRUD que cubra todos os recortes avancados alem das Fases 1, 2 e 3
314
+
315
+ Direcao atual da proxima fase:
316
+
317
+ - a proxima fase deve focar em input seeding e parameter mapping que o runtime de CRUD ja consome de forma canonica
318
+ - isso cobre principalmente `actions[].params` e `actions[].form.initialValue`, porque o launcher ja usa esses campos para montar `inputs` e o host de formulario ja os injeta no runtime real
319
+ - isso continua nao incluindo transformar `@praxisui/crud` em editor completo de `FormConfig`
320
+
321
+ Na Fase 5, essa direcao foi consolidada na superficie canonica de authoring do proprio `@praxisui/crud`:
322
+
323
+ - `actions[].params[]` com `from`, `to` e `name`
324
+ - `actions[].form.initialValue`
325
+ - separacao visual entre:
326
+ - valores derivados da linha selecionada
327
+ - seed fixo do formulario
328
+ - resumos avancados que ficam detalhados enquanto `submit/API` ainda pedem atencao
329
+ - resumos avancados curtos em acoes saudaveis
330
+ - indicacao explicita de que `params` e `initialValue` sao inputs opcionais do launcher, e nao trabalho bloqueante do contrato avancado
331
+
332
+ Fronteira fechada da Fase 5:
333
+
334
+ - o recorte para em `actions[].params[]` e `actions[].form.initialValue`, que ja possuem consumo canonico real no launcher e no host de formulario
335
+ - transformacoes arbitrarias de payload, authoring amplo de `FormConfig` e qualquer builder paralelo continuam fora de escopo
336
+
337
+ Leitura correta para apps host:
338
+
339
+ - se o objetivo e executar um CRUD, use o runtime da lib
340
+ - se o objetivo e authoring visual de pagina, use `@praxisui/page-builder`
341
+ - se o objetivo e authoring visual especifico de CRUD, use a superficie publica de `@praxisui/crud`; nao crie um builder local no app consumidor
342
+
343
+ Direcao de plataforma:
344
+
345
+ - o editor visual de CRUD nasce em `@praxisui/crud`
346
+ - a semantica canonica continua cobrindo metadata, tabela interna, formulario, actions, open modes e persistencia/reabertura
347
+ - hosts consumidores devem permanecer como demonstradores do contrato, nao como donos de um editor paralelo
348
+
253
349
  To build the library, run:
254
350
 
255
351
  ```bash
@@ -71,7 +71,9 @@ interface CrudDrawerAdapter {
71
71
  interface DialogConfig<D = any> extends MatDialogConfig<D> {
72
72
  disableCloseOnBackdrop?: boolean;
73
73
  disableCloseOnEsc?: boolean;
74
+ density?: 'default' | 'compact';
74
75
  canMaximize?: boolean;
76
+ rememberLastState?: boolean;
75
77
  startMaximized?: boolean;
76
78
  fullscreenBreakpoint?: number;
77
79
  }