@praxisui/list 9.0.17 → 9.0.18
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
|
@@ -91,7 +91,7 @@ In remote mode, search, sort and export share a collection toolbar above the ite
|
|
|
91
91
|
- `config: PraxisListConfig`: list/card/tile configuration.
|
|
92
92
|
- `listId: string`: required stable id for persisted configuration.
|
|
93
93
|
- `componentInstanceId?: string`: disambiguates repeated instances on the same route.
|
|
94
|
-
- `configPersistenceStrategy: 'local-first' | 'input-first'`: config restore precedence.
|
|
94
|
+
- `configPersistenceStrategy: 'local-first' | 'input-first' | 'volatile'`: config restore precedence; `volatile` disables configuration reads and writes for ephemeral previews.
|
|
95
95
|
- `queryContext?: PraxisDataQueryContext`: runtime query context projected into remote data.
|
|
96
96
|
- `form?: FormGroup`: external form context for selection/form bindings.
|
|
97
97
|
- `enableCustomization: boolean`: opens editor and semantic assistant affordances.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
|
-
"generatedAt": "2026-08-
|
|
3
|
+
"generatedAt": "2026-08-24T23:27:32.982Z",
|
|
4
4
|
"packageName": "@praxisui/list",
|
|
5
|
-
"packageVersion": "9.0.
|
|
5
|
+
"packageVersion": "9.0.18",
|
|
6
6
|
"sourceRegistry": "praxis-component-registry-ingestion",
|
|
7
7
|
"sourceRegistryVersion": "1.0.0",
|
|
8
8
|
"componentCount": 1,
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
"name": "configPersistenceStrategy",
|
|
34
|
-
"type": "'local-first' | 'input-first'",
|
|
34
|
+
"type": "'local-first' | 'input-first' | 'volatile'",
|
|
35
35
|
"required": false,
|
|
36
|
-
"description": "Define
|
|
36
|
+
"description": "Define a precedência da hidratação; volatile desabilita leitura e gravação de configuração para previews efêmeros.",
|
|
37
37
|
"default": "local-first"
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -8785,9 +8785,9 @@
|
|
|
8785
8785
|
{
|
|
8786
8786
|
"chunkIndex": 0,
|
|
8787
8787
|
"chunkKind": "summary",
|
|
8788
|
-
"content": "Component ID: praxis-list\nSelector: praxis-list\nFriendly Name: Praxis List\nDescription: Lista com suporte a seleção (single/multiple), agrupamento e templates.\nLib/Package: @praxisui/list\nTags: widget, list, lista, selection, configurable\nInputs:\n - config (PraxisListConfig)\n - listId (string)\n - componentInstanceId (string)\n - configPersistenceStrategy ('local-first' | 'input-first')\n - queryContext (PraxisDataQueryContext | null)\n - form (FormGroup)\n - enableCustomization (boolean)\nOutputs:\n - itemClick (ListItemEvent)\n - actionClick (ListActionEvent)\n - selectionChange (ListSelectionEvent)\n",
|
|
8788
|
+
"content": "Component ID: praxis-list\nSelector: praxis-list\nFriendly Name: Praxis List\nDescription: Lista com suporte a seleção (single/multiple), agrupamento e templates.\nLib/Package: @praxisui/list\nTags: widget, list, lista, selection, configurable\nInputs:\n - config (PraxisListConfig)\n - listId (string)\n - componentInstanceId (string)\n - configPersistenceStrategy ('local-first' | 'input-first' | 'volatile')\n - queryContext (PraxisDataQueryContext | null)\n - form (FormGroup)\n - enableCustomization (boolean)\nOutputs:\n - itemClick (ListItemEvent)\n - actionClick (ListActionEvent)\n - selectionChange (ListSelectionEvent)\n",
|
|
8789
8789
|
"sourcePointer": "projects/praxis-list/src/lib/praxis-list.metadata.ts",
|
|
8790
|
-
"contentHash": "
|
|
8790
|
+
"contentHash": "f589cb2341d7a23ed3df996c9d11ffb8902a62747c54cf3c16187b503ab0df9a",
|
|
8791
8791
|
"sourceKind": "component_definition",
|
|
8792
8792
|
"sourceId": "praxis-list",
|
|
8793
8793
|
"corpusVersion": "1.0.0"
|
|
@@ -14584,6 +14584,9 @@ class PraxisList {
|
|
|
14584
14584
|
}
|
|
14585
14585
|
}
|
|
14586
14586
|
storageKey() {
|
|
14587
|
+
if (this.configPersistenceStrategy === 'volatile') {
|
|
14588
|
+
return null;
|
|
14589
|
+
}
|
|
14587
14590
|
const id = this.componentKeyId();
|
|
14588
14591
|
return id ? `praxis-list-config-${id}` : null;
|
|
14589
14592
|
}
|
|
@@ -15831,6 +15834,87 @@ const PRAXIS_LIST_COMPONENT_METADATA = {
|
|
|
15831
15834
|
componentId: 'praxis-list',
|
|
15832
15835
|
source: 'PRAXIS_LIST_AUTHORING_MANIFEST',
|
|
15833
15836
|
},
|
|
15837
|
+
runtimeProfiles: [
|
|
15838
|
+
{
|
|
15839
|
+
id: 'public-local-volatile',
|
|
15840
|
+
audience: 'public-untrusted',
|
|
15841
|
+
description: 'Lista efêmera com dados inline e sem efeitos externos.',
|
|
15842
|
+
constraints: [
|
|
15843
|
+
{ path: 'config.dataSource.data', operator: 'array' },
|
|
15844
|
+
{ path: 'config.dataSource.resourcePath', operator: 'absent-or-empty' },
|
|
15845
|
+
{ path: 'configPersistenceStrategy', operator: 'equals', value: 'volatile' },
|
|
15846
|
+
{ path: 'enableCustomization', operator: 'not-true' },
|
|
15847
|
+
{ path: 'config.actions', operator: 'empty-array-or-absent' },
|
|
15848
|
+
{ path: 'config.expansion', operator: 'absent-or-empty' },
|
|
15849
|
+
{ path: 'config.export.enabled', operator: 'not-true' },
|
|
15850
|
+
{
|
|
15851
|
+
path: 'config.templating.leading.type',
|
|
15852
|
+
operator: 'none-of',
|
|
15853
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15854
|
+
},
|
|
15855
|
+
{
|
|
15856
|
+
path: 'config.templating.primary.type',
|
|
15857
|
+
operator: 'none-of',
|
|
15858
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15859
|
+
},
|
|
15860
|
+
{
|
|
15861
|
+
path: 'config.templating.secondary.type',
|
|
15862
|
+
operator: 'none-of',
|
|
15863
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15864
|
+
},
|
|
15865
|
+
{
|
|
15866
|
+
path: 'config.templating.trailing.type',
|
|
15867
|
+
operator: 'none-of',
|
|
15868
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15869
|
+
},
|
|
15870
|
+
],
|
|
15871
|
+
effects: [],
|
|
15872
|
+
},
|
|
15873
|
+
{
|
|
15874
|
+
id: 'public-resource-read',
|
|
15875
|
+
audience: 'public-untrusted',
|
|
15876
|
+
description: 'Leitura de recurso público, condicionada a capabilities do backend.',
|
|
15877
|
+
constraints: [
|
|
15878
|
+
{ path: 'config.dataSource.data', operator: 'absent-or-empty' },
|
|
15879
|
+
{ path: 'config.dataSource.resourcePath', operator: 'present' },
|
|
15880
|
+
{ path: 'configPersistenceStrategy', operator: 'equals', value: 'volatile' },
|
|
15881
|
+
{ path: 'enableCustomization', operator: 'not-true' },
|
|
15882
|
+
{ path: 'config.actions', operator: 'empty-array-or-absent' },
|
|
15883
|
+
{ path: 'config.expansion', operator: 'absent-or-empty' },
|
|
15884
|
+
{ path: 'config.export.enabled', operator: 'not-true' },
|
|
15885
|
+
{
|
|
15886
|
+
path: 'config.templating.leading.type',
|
|
15887
|
+
operator: 'none-of',
|
|
15888
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15889
|
+
},
|
|
15890
|
+
{
|
|
15891
|
+
path: 'config.templating.primary.type',
|
|
15892
|
+
operator: 'none-of',
|
|
15893
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15894
|
+
},
|
|
15895
|
+
{
|
|
15896
|
+
path: 'config.templating.secondary.type',
|
|
15897
|
+
operator: 'none-of',
|
|
15898
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15899
|
+
},
|
|
15900
|
+
{
|
|
15901
|
+
path: 'config.templating.trailing.type',
|
|
15902
|
+
operator: 'none-of',
|
|
15903
|
+
values: ['image', 'html', 'component', 'slot'],
|
|
15904
|
+
},
|
|
15905
|
+
],
|
|
15906
|
+
effects: [
|
|
15907
|
+
{
|
|
15908
|
+
kind: 'resource-read',
|
|
15909
|
+
resourcePath: 'config.dataSource.resourcePath',
|
|
15910
|
+
operations: [
|
|
15911
|
+
{ operationId: 'filter', method: 'POST', pathSuffix: 'filter', role: 'primary' },
|
|
15912
|
+
{ operationId: 'all', method: 'GET', pathSuffix: 'all', role: 'fallback' },
|
|
15913
|
+
],
|
|
15914
|
+
},
|
|
15915
|
+
],
|
|
15916
|
+
},
|
|
15917
|
+
],
|
|
15834
15918
|
configEditor: {
|
|
15835
15919
|
component: PraxisListWidgetConfigEditor,
|
|
15836
15920
|
title: 'Configure list',
|
|
@@ -15839,7 +15923,7 @@ const PRAXIS_LIST_COMPONENT_METADATA = {
|
|
|
15839
15923
|
{ name: 'config', type: 'PraxisListConfig', description: 'Configuração da lista (fonte de dados, layout, seleção, templates, ações)' },
|
|
15840
15924
|
{ name: 'listId', type: 'string', description: 'Identificador da lista (obrigatório para persistência)' },
|
|
15841
15925
|
{ name: 'componentInstanceId', type: 'string', description: 'Identificador opcional para múltiplas instâncias na mesma rota' },
|
|
15842
|
-
{ name: 'configPersistenceStrategy', type: "'local-first' | 'input-first'", default: 'local-first', description: 'Define
|
|
15926
|
+
{ name: 'configPersistenceStrategy', type: "'local-first' | 'input-first' | 'volatile'", default: 'local-first', description: 'Define a precedência da hidratação; volatile desabilita leitura e gravação de configuração para previews efêmeros.' },
|
|
15843
15927
|
{ name: 'queryContext', type: 'PraxisDataQueryContext | null', description: 'Contexto runtime declarativo para filtros, ordenação e paginação sem persistir na configuração autorada.' },
|
|
15844
15928
|
{ name: 'form', type: 'FormGroup', description: 'FormGroup opcional quando integrado a formulários' },
|
|
15845
15929
|
{ name: 'enableCustomization', type: 'boolean', description: 'Input canônico para habilitar customização runtime, editor e AI assistant' },
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/list",
|
|
3
|
-
"version": "9.0.
|
|
3
|
+
"version": "9.0.18",
|
|
4
4
|
"description": "List components and helpers for Praxis UI.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
7
7
|
"@angular/core": "^21.0.0",
|
|
8
8
|
"@angular/material": "^21.0.0",
|
|
9
|
-
"@praxisui/dynamic-fields": "^9.0.
|
|
9
|
+
"@praxisui/dynamic-fields": "^9.0.18",
|
|
10
10
|
"rxjs": ">=7 <9",
|
|
11
11
|
"@angular/forms": "^21.0.0",
|
|
12
12
|
"@angular/router": "^21.0.0",
|
|
13
|
-
"@praxisui/ai": "^9.0.
|
|
14
|
-
"@praxisui/core": "^9.0.
|
|
15
|
-
"@praxisui/rich-content": "^9.0.
|
|
16
|
-
"@praxisui/settings-panel": "^9.0.
|
|
13
|
+
"@praxisui/ai": "^9.0.18",
|
|
14
|
+
"@praxisui/core": "^9.0.18",
|
|
15
|
+
"@praxisui/rich-content": "^9.0.18",
|
|
16
|
+
"@praxisui/settings-panel": "^9.0.18"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"tslib": "^2.3.0",
|
|
@@ -171,6 +171,7 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
|
|
|
171
171
|
| Binding/Path | Type | Required | Source | Runtime normalization | Notes |
|
|
172
172
|
| --------------------- | -------------------------------- | ------------- | --------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
173
173
|
| `config` | `PraxisListConfig` | Yes (logical) | component-input | convertido para `ListAuthoringDocument` antes do apply plan | Config projetada de runtime; a autoria canônica é `ListAuthoringDocument`. |
|
|
174
|
+
| `configPersistenceStrategy` | `'local-first' \| 'input-first' \| 'volatile'` | No | component-input | `volatile` elimina a chave de storage | Use `volatile` em previews efêmeros que não podem ler nem gravar configuração. |
|
|
174
175
|
| `listId` | `string` | Yes | component-input | component key builder | Necessário para escopo de persistência. |
|
|
175
176
|
| `componentInstanceId` | `string \| undefined` | No | component-input | component key scoping | Evita colisão entre instâncias da mesma lista. |
|
|
176
177
|
| `form` | `FormGroup \| null \| undefined` | No | component-input | selection adapter | Integra seleção com controle externo quando configurado. |
|
package/types/praxisui-list.d.ts
CHANGED
|
@@ -482,7 +482,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
482
482
|
config: PraxisListConfig;
|
|
483
483
|
listId: string;
|
|
484
484
|
componentInstanceId?: string;
|
|
485
|
-
configPersistenceStrategy: 'local-first' | 'input-first';
|
|
485
|
+
configPersistenceStrategy: 'local-first' | 'input-first' | 'volatile';
|
|
486
486
|
private runtimeQueryContext?;
|
|
487
487
|
set queryContext(value: PraxisDataQueryContext | null | undefined);
|
|
488
488
|
get queryContext(): PraxisDataQueryContext | null | undefined;
|