@praxisui/list 10.0.0-rc.0 → 10.0.0-rc.11
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 +29 -0
- package/ai/component-registry.json +239 -4
- package/fesm2022/praxisui-list.mjs +816 -76
- package/package.json +7 -6
- package/src/lib/praxis-list.json-api.md +143 -19
- package/types/praxisui-list.d.ts +71 -70
package/package.json
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/list",
|
|
3
|
-
"version": "10.0.0-rc.
|
|
3
|
+
"version": "10.0.0-rc.11",
|
|
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
|
+
"@angular/cdk": "^21.0.0",
|
|
8
9
|
"@angular/material": "^21.0.0",
|
|
9
|
-
"@praxisui/dynamic-fields": "^10.0.0-rc.
|
|
10
|
+
"@praxisui/dynamic-fields": "^10.0.0-rc.11",
|
|
10
11
|
"rxjs": ">=7 <9",
|
|
11
12
|
"@angular/forms": "^21.0.0",
|
|
12
13
|
"@angular/router": "^21.0.0",
|
|
13
|
-
"@praxisui/ai": "^10.0.0-rc.
|
|
14
|
-
"@praxisui/core": "^10.0.0-rc.
|
|
15
|
-
"@praxisui/rich-content": "^10.0.0-rc.
|
|
16
|
-
"@praxisui/settings-panel": "^10.0.0-rc.
|
|
14
|
+
"@praxisui/ai": "^10.0.0-rc.11",
|
|
15
|
+
"@praxisui/core": "^10.0.0-rc.11",
|
|
16
|
+
"@praxisui/rich-content": "^10.0.0-rc.11",
|
|
17
|
+
"@praxisui/settings-panel": "^10.0.0-rc.11"
|
|
17
18
|
},
|
|
18
19
|
"dependencies": {
|
|
19
20
|
"tslib": "^2.3.0",
|
|
@@ -534,18 +534,19 @@ interface PraxisListConfig {
|
|
|
534
534
|
|
|
535
535
|
#### Layout API
|
|
536
536
|
|
|
537
|
-
| Caminho | Status | Observacao
|
|
538
|
-
| ---------------------------- | ------------- |
|
|
539
|
-
| `layout.variant` | Active | `list/cards/tiles`
|
|
540
|
-
| `layout.density` | Active | classe `density-*`
|
|
541
|
-
| `layout.itemSpacing` | Active | classe `item-spacing-*`
|
|
542
|
-
| `layout.
|
|
543
|
-
| `layout.
|
|
544
|
-
| `layout.
|
|
545
|
-
| `layout.
|
|
546
|
-
| `layout.
|
|
547
|
-
| `layout.
|
|
548
|
-
| `layout.
|
|
537
|
+
| Caminho | Status | Observacao |
|
|
538
|
+
| ---------------------------- | ------------- | ---------------------------------------------------------- |
|
|
539
|
+
| `layout.variant` | Active | `list/cards/tiles` |
|
|
540
|
+
| `layout.density` | Active | classe `density-*` |
|
|
541
|
+
| `layout.itemSpacing` | Active | classe `item-spacing-*` |
|
|
542
|
+
| `layout.itemAppearance` | Active | `flat/card` (isola itens em cartões sob `variant: 'list'`) |
|
|
543
|
+
| `layout.lines` | Active | linhas de texto + classe `lines-*` |
|
|
544
|
+
| `layout.dividers` | Active | divisores no modo `list` |
|
|
545
|
+
| `layout.model` | Active | classe `model-*` |
|
|
546
|
+
| `layout.groupBy` | Active | agrupamento em `sections$` |
|
|
547
|
+
| `layout.pageSize` | Active | page size inicial |
|
|
548
|
+
| `layout.stickySectionHeader` | Declared-only | sem sticky runtime |
|
|
549
|
+
| `layout.virtualScroll` | Declared-only | sem virtual scroll runtime |
|
|
549
550
|
|
|
550
551
|
#### Skin API
|
|
551
552
|
|
|
@@ -634,7 +635,7 @@ Slots suportados:
|
|
|
634
635
|
|
|
635
636
|
Tipos funcionais no runtime:
|
|
636
637
|
|
|
637
|
-
- `text`, `icon`, `image`, `chip`, `rating`, `currency`, `date`, `html`, `metric`, `compose`, `component`.
|
|
638
|
+
- `text`, `icon`, `image`, `chip`, `rating`, `currency`, `date`, `datetime`, `relative`, `html`, `metric`, `compose`, `component`.
|
|
638
639
|
|
|
639
640
|
Inferencia opcional:
|
|
640
641
|
|
|
@@ -765,15 +766,21 @@ Semantica de execucao:
|
|
|
765
766
|
Suporte principal:
|
|
766
767
|
|
|
767
768
|
- placeholders: `${item.campo}`;
|
|
768
|
-
-
|
|
769
|
-
-
|
|
769
|
+
- coalescência em placeholders: `${item.displayName ?? item.name ?? item.id}`;
|
|
770
|
+
- pipes em placeholder: `bool`, `date`, `datetime`, `relative`, `map`, `number`, `currency`;
|
|
771
|
+
- pipes top-level pós-expressão: `|bool:True:False`, `|map:k=v`, `|relative:locale`, `|datetime:locale:style`, `|date:locale:style`.
|
|
770
772
|
|
|
771
773
|
Exemplos validos:
|
|
772
774
|
|
|
773
775
|
- `${item.active|bool:Ativo:Inativo}`
|
|
774
776
|
- `${item.createdAt|date:pt-BR:short}`
|
|
777
|
+
- `${item.occurredAt|datetime:pt-BR:short}`
|
|
778
|
+
- `${item.occurredAt|relative:pt-BR}` (exibe *"há 5 minutos"*)
|
|
775
779
|
- `${item.status|map:done=Concluido;pending=Pendente}`
|
|
776
780
|
- `${item.total|number:pt-BR:compact}`
|
|
781
|
+
- `${item.amount|currency:BRL:pt-BR}`
|
|
782
|
+
- `${item.occurredAt}|relative:pt-BR` (pipe top-level)
|
|
783
|
+
- `${item.createdAt}|datetime:pt-BR:short` (pipe top-level)
|
|
777
784
|
|
|
778
785
|
##### `actions[].showIf`
|
|
779
786
|
|
|
@@ -958,25 +965,142 @@ Recomendacao corporativa:
|
|
|
958
965
|
### Minimal valid
|
|
959
966
|
|
|
960
967
|
```json
|
|
961
|
-
{
|
|
968
|
+
{
|
|
969
|
+
"layout": {
|
|
970
|
+
"variant": "list"
|
|
971
|
+
},
|
|
972
|
+
"templating": {
|
|
973
|
+
"primary": {
|
|
974
|
+
"type": "text",
|
|
975
|
+
"expr": "${item.name}"
|
|
976
|
+
}
|
|
977
|
+
}
|
|
978
|
+
}
|
|
962
979
|
```
|
|
963
980
|
|
|
964
981
|
### Typical/common
|
|
965
982
|
|
|
966
983
|
```json
|
|
967
|
-
{
|
|
984
|
+
{
|
|
985
|
+
"layout": {
|
|
986
|
+
"variant": "list",
|
|
987
|
+
"density": "comfortable",
|
|
988
|
+
"itemSpacing": "default"
|
|
989
|
+
},
|
|
990
|
+
"templating": {
|
|
991
|
+
"leading": {
|
|
992
|
+
"type": "icon",
|
|
993
|
+
"expr": "person"
|
|
994
|
+
},
|
|
995
|
+
"primary": {
|
|
996
|
+
"type": "text",
|
|
997
|
+
"expr": "${item.nomeCompleto}"
|
|
998
|
+
},
|
|
999
|
+
"secondary": {
|
|
1000
|
+
"type": "text",
|
|
1001
|
+
"expr": "${item.cargo} · ${item.departamento}"
|
|
1002
|
+
},
|
|
1003
|
+
"meta": {
|
|
1004
|
+
"type": "date",
|
|
1005
|
+
"expr": "${item.dataAdmissao}"
|
|
1006
|
+
}
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
968
1009
|
```
|
|
969
1010
|
|
|
970
1011
|
### Advanced
|
|
971
1012
|
|
|
972
1013
|
```json
|
|
973
|
-
{
|
|
1014
|
+
{
|
|
1015
|
+
"layout": {
|
|
1016
|
+
"variant": "list",
|
|
1017
|
+
"itemAppearance": "card",
|
|
1018
|
+
"itemSpacing": "compact"
|
|
1019
|
+
},
|
|
1020
|
+
"skin": {
|
|
1021
|
+
"type": "glass"
|
|
1022
|
+
},
|
|
1023
|
+
"templating": {
|
|
1024
|
+
"leading": {
|
|
1025
|
+
"type": "icon",
|
|
1026
|
+
"expr": "${item.severidade|map:CRITICA=warning,ALTA=error_outline,MEDIA=info}",
|
|
1027
|
+
"color": "${item.severidade|map:CRITICA=warn,ALTA=warn,MEDIA=primary}"
|
|
1028
|
+
},
|
|
1029
|
+
"primary": {
|
|
1030
|
+
"type": "text",
|
|
1031
|
+
"expr": "${item.titulo}"
|
|
1032
|
+
},
|
|
1033
|
+
"secondary": {
|
|
1034
|
+
"type": "text",
|
|
1035
|
+
"expr": "${item.localizacao} · Protocolo ${item.protocolo}"
|
|
1036
|
+
},
|
|
1037
|
+
"meta": {
|
|
1038
|
+
"type": "relative",
|
|
1039
|
+
"expr": "${item.abertoEm}"
|
|
1040
|
+
},
|
|
1041
|
+
"metaPlacement": "side"
|
|
1042
|
+
},
|
|
1043
|
+
"actions": [
|
|
1044
|
+
{
|
|
1045
|
+
"id": "dispatch",
|
|
1046
|
+
"label": "Despachar",
|
|
1047
|
+
"icon": "send",
|
|
1048
|
+
"kind": "icon"
|
|
1049
|
+
}
|
|
1050
|
+
]
|
|
1051
|
+
}
|
|
974
1052
|
```
|
|
975
1053
|
|
|
976
1054
|
### Enterprise scenario
|
|
977
1055
|
|
|
978
1056
|
```json
|
|
979
|
-
{
|
|
1057
|
+
{
|
|
1058
|
+
"dataSource": {
|
|
1059
|
+
"resourcePath": "incidentes",
|
|
1060
|
+
"sort": {
|
|
1061
|
+
"field": "abertoEm",
|
|
1062
|
+
"direction": "desc"
|
|
1063
|
+
}
|
|
1064
|
+
},
|
|
1065
|
+
"layout": {
|
|
1066
|
+
"variant": "list",
|
|
1067
|
+
"itemAppearance": "card",
|
|
1068
|
+
"pageSize": 20
|
|
1069
|
+
},
|
|
1070
|
+
"i18n": {
|
|
1071
|
+
"locale": "pt-BR",
|
|
1072
|
+
"currency": "BRL"
|
|
1073
|
+
},
|
|
1074
|
+
"selection": {
|
|
1075
|
+
"mode": "multiple",
|
|
1076
|
+
"compareBy": "id",
|
|
1077
|
+
"return": "id"
|
|
1078
|
+
},
|
|
1079
|
+
"templating": {
|
|
1080
|
+
"leading": {
|
|
1081
|
+
"type": "chip",
|
|
1082
|
+
"expr": "${item.codigo}",
|
|
1083
|
+
"variant": "outlined"
|
|
1084
|
+
},
|
|
1085
|
+
"primary": {
|
|
1086
|
+
"type": "text",
|
|
1087
|
+
"expr": "${item.nome ?? item.titulo}"
|
|
1088
|
+
},
|
|
1089
|
+
"secondary": {
|
|
1090
|
+
"type": "text",
|
|
1091
|
+
"expr": "${item.resumo}"
|
|
1092
|
+
},
|
|
1093
|
+
"meta": {
|
|
1094
|
+
"type": "datetime",
|
|
1095
|
+
"expr": "${item.dataCriacao}|pt-BR:short"
|
|
1096
|
+
}
|
|
1097
|
+
},
|
|
1098
|
+
"ui": {
|
|
1099
|
+
"showSearch": true,
|
|
1100
|
+
"searchField": "titulo",
|
|
1101
|
+
"showSort": true
|
|
1102
|
+
}
|
|
1103
|
+
}
|
|
980
1104
|
```
|
|
981
1105
|
|
|
982
1106
|
## Known limitations and mismatches
|
package/types/praxisui-list.d.ts
CHANGED
|
@@ -4,13 +4,12 @@ import * as i0 from '@angular/core';
|
|
|
4
4
|
import { OnInit, OnChanges, AfterViewInit, OnDestroy, EventEmitter, SimpleChanges, ChangeDetectorRef, DoCheck, Provider } from '@angular/core';
|
|
5
5
|
import { MatPaginatorSelectConfig, PageEvent } from '@angular/material/paginator';
|
|
6
6
|
import { FormGroup, FormControl } from '@angular/forms';
|
|
7
|
-
import * as _praxisui_core from '@praxisui/core';
|
|
8
7
|
import { PraxisExportFormat, PraxisExportScope, PraxisRuntimeConditionalEffectRule, JsonLogicExpression, RichContentDocument, ResourceRecordOpenRef, GlobalActionRef, LocalizationConfig, AiCapability, PraxisDataQueryContext, RichBlockNode, RichBlockHostCapabilities, SurfaceOpenActionEditorComponent, GlobalActionCatalogEntry, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, RichPresenterNode, RichComposeNode, ComponentDocMeta, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
|
|
9
8
|
import { BaseAiAdapter, AiResponseCompileResult, PatchResult, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
10
9
|
import { SettingsValueProvider } from '@praxisui/settings-panel';
|
|
11
10
|
import * as _praxisui_list from '@praxisui/list';
|
|
12
11
|
|
|
13
|
-
type TemplateType = 'text' | 'icon' | 'image' | 'chip' | 'rating' | 'currency' | 'date' | 'html' | 'slot' | 'metric' | 'compose' | 'component';
|
|
12
|
+
type TemplateType = 'text' | 'icon' | 'image' | 'chip' | 'rating' | 'currency' | 'date' | 'datetime' | 'relative' | 'html' | 'slot' | 'metric' | 'compose' | 'component';
|
|
14
13
|
interface TemplateDef {
|
|
15
14
|
type: TemplateType;
|
|
16
15
|
expr?: string;
|
|
@@ -147,6 +146,45 @@ interface ListSlotOverrideRule extends Omit<PraxisRuntimeConditionalEffectRule<L
|
|
|
147
146
|
condition?: JsonLogicExpression | null;
|
|
148
147
|
effects?: ListSlotOverrideEffect[];
|
|
149
148
|
}
|
|
149
|
+
interface PraxisListVirtualScrollConfig {
|
|
150
|
+
enabled: boolean;
|
|
151
|
+
itemSize?: number;
|
|
152
|
+
minBufferPx?: number;
|
|
153
|
+
maxBufferPx?: number;
|
|
154
|
+
viewportHeight?: string;
|
|
155
|
+
}
|
|
156
|
+
interface PraxisListItemAction {
|
|
157
|
+
id: string;
|
|
158
|
+
icon?: string;
|
|
159
|
+
label?: string;
|
|
160
|
+
color?: string;
|
|
161
|
+
tooltip?: string;
|
|
162
|
+
kind?: 'icon' | 'button' | 'menu-item';
|
|
163
|
+
buttonVariant?: 'stroked' | 'raised' | 'flat';
|
|
164
|
+
showIf?: JsonLogicExpression | null;
|
|
165
|
+
visibleWhen?: JsonLogicExpression | null;
|
|
166
|
+
disabledWhen?: JsonLogicExpression | null;
|
|
167
|
+
/**
|
|
168
|
+
* Condição HATEOAS canônica: se especificado, a ação só é exibida
|
|
169
|
+
* se o item possuir o link correspondente em `item._links[hateoasRel]` ou `item.links[hateoasRel]`.
|
|
170
|
+
*/
|
|
171
|
+
hateoasRel?: string;
|
|
172
|
+
emitPayload?: 'item' | 'id' | 'value';
|
|
173
|
+
action?: 'surface.open' | string;
|
|
174
|
+
recordOpen?: ResourceRecordOpenRef;
|
|
175
|
+
globalAction?: GlobalActionRef;
|
|
176
|
+
command?: string;
|
|
177
|
+
params?: Record<string, unknown>;
|
|
178
|
+
emitLocal?: boolean;
|
|
179
|
+
showLoading?: boolean;
|
|
180
|
+
placement?: 'actions' | 'trailing' | 'menu';
|
|
181
|
+
confirmation?: {
|
|
182
|
+
title?: string;
|
|
183
|
+
message?: string;
|
|
184
|
+
type?: 'danger' | 'warning' | 'info';
|
|
185
|
+
};
|
|
186
|
+
requiresConfirmation?: boolean;
|
|
187
|
+
}
|
|
150
188
|
interface PraxisListConfig {
|
|
151
189
|
id?: string;
|
|
152
190
|
dataSource?: {
|
|
@@ -159,12 +197,13 @@ interface PraxisListConfig {
|
|
|
159
197
|
variant?: 'list' | 'cards' | 'tiles';
|
|
160
198
|
density?: 'default' | 'comfortable' | 'compact';
|
|
161
199
|
itemSpacing?: 'none' | 'tight' | 'default' | 'relaxed';
|
|
200
|
+
itemAppearance?: 'flat' | 'card' | 'capsule';
|
|
162
201
|
lines?: 1 | 2 | 3;
|
|
163
202
|
dividers?: 'none' | 'between' | 'all';
|
|
164
203
|
model?: 'standard' | 'media' | 'hotel';
|
|
165
204
|
groupBy?: string;
|
|
166
205
|
stickySectionHeader?: boolean;
|
|
167
|
-
virtualScroll?: boolean;
|
|
206
|
+
virtualScroll?: boolean | PraxisListVirtualScrollConfig;
|
|
168
207
|
pageSize?: number;
|
|
169
208
|
rowLayout?: {
|
|
170
209
|
type?: 'grid' | 'flex';
|
|
@@ -284,27 +323,10 @@ interface PraxisListConfig {
|
|
|
284
323
|
errorTemplate?: TemplateDef;
|
|
285
324
|
};
|
|
286
325
|
};
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
color?: string;
|
|
292
|
-
kind?: 'icon' | 'button';
|
|
293
|
-
buttonVariant?: 'stroked' | 'raised' | 'flat';
|
|
294
|
-
showIf?: JsonLogicExpression | null;
|
|
295
|
-
emitPayload?: 'item' | 'id' | 'value';
|
|
296
|
-
action?: 'surface.open';
|
|
297
|
-
recordOpen?: ResourceRecordOpenRef;
|
|
298
|
-
globalAction?: GlobalActionRef;
|
|
299
|
-
emitLocal?: boolean;
|
|
300
|
-
showLoading?: boolean;
|
|
301
|
-
placement?: 'actions' | 'trailing';
|
|
302
|
-
confirmation?: {
|
|
303
|
-
title?: string;
|
|
304
|
-
message?: string;
|
|
305
|
-
type?: 'danger' | 'warning' | 'info';
|
|
306
|
-
};
|
|
307
|
-
}>;
|
|
326
|
+
/** Ações declarativas de item governadas (compatível com itemActions) */
|
|
327
|
+
actions?: PraxisListItemAction[];
|
|
328
|
+
/** Ações declarativas de item com HATEOAS e despacho canônico */
|
|
329
|
+
itemActions?: PraxisListItemAction[];
|
|
308
330
|
i18n?: PraxisListI18nConfig;
|
|
309
331
|
ui?: {
|
|
310
332
|
showSearch?: boolean;
|
|
@@ -488,6 +510,8 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
488
510
|
form?: FormGroup | null;
|
|
489
511
|
set enableCustomization(value: boolean);
|
|
490
512
|
get enableCustomization(): boolean;
|
|
513
|
+
itemActions?: PraxisListItemAction[];
|
|
514
|
+
virtualScroll?: boolean | PraxisListVirtualScrollConfig;
|
|
491
515
|
itemClick: EventEmitter<ListItemEvent>;
|
|
492
516
|
actionClick: EventEmitter<ListActionEvent>;
|
|
493
517
|
selectionChange: EventEmitter<ListSelectionEvent>;
|
|
@@ -669,27 +693,17 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
669
693
|
hasSkeleton(): boolean;
|
|
670
694
|
skeletonCount(): number;
|
|
671
695
|
skeletonItems(): any[];
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
globalAction?: GlobalActionRef;
|
|
684
|
-
emitLocal?: boolean;
|
|
685
|
-
showLoading?: boolean;
|
|
686
|
-
placement?: "actions" | "trailing";
|
|
687
|
-
confirmation?: {
|
|
688
|
-
title?: string;
|
|
689
|
-
message?: string;
|
|
690
|
-
type?: "danger" | "warning" | "info";
|
|
691
|
-
};
|
|
692
|
-
}[];
|
|
696
|
+
isVirtualScrollEnabled(): boolean;
|
|
697
|
+
virtualScrollItemSize(): number;
|
|
698
|
+
virtualScrollMinBufferPx(): number;
|
|
699
|
+
virtualScrollMaxBufferPx(): number;
|
|
700
|
+
virtualScrollViewportHeight(): string;
|
|
701
|
+
virtualScrollItems(sections: ListSection<any>[] | null | undefined, items: any[] | null | undefined): any[];
|
|
702
|
+
trackByVirtualItem: (index: number, item: any) => any;
|
|
703
|
+
private warnOnIncompatibleVirtualScroll;
|
|
704
|
+
effectiveActions(): PraxisListItemAction[];
|
|
705
|
+
hasHateoasLink(item: any, rel: string): boolean;
|
|
706
|
+
visibleActions(item: any, placement?: 'actions' | 'trailing' | 'menu'): PraxisListItemAction[];
|
|
693
707
|
onItemClick(item: any, index: number, section?: string): void;
|
|
694
708
|
onRowActivate(item: any, index: number, section?: string): void;
|
|
695
709
|
onExpandToggle(event: Event, item: any, index: number): void;
|
|
@@ -844,6 +858,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
844
858
|
private toBoolean;
|
|
845
859
|
private prettyLabel;
|
|
846
860
|
private mapDateStyle;
|
|
861
|
+
private mapDateTimeStyle;
|
|
847
862
|
starIcon(index: number, ratingValue: string | number): string;
|
|
848
863
|
isThemeColor(color?: string): boolean;
|
|
849
864
|
chipStyle(color?: string, variant?: 'filled' | 'outlined'): string;
|
|
@@ -881,7 +896,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
881
896
|
private normalizeExpansionItems;
|
|
882
897
|
private normalizeKeyValueItems;
|
|
883
898
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisList, never>;
|
|
884
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisList, "praxis-list", never, { "config": { "alias": "config"; "required": false; }; "listId": { "alias": "listId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "form": { "alias": "form"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, { "itemClick": "itemClick"; "actionClick": "actionClick"; "selectionChange": "selectionChange"; "exportAction": "exportAction"; "configPatchChange": "configPatchChange"; }, never, never, true, never>;
|
|
899
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisList, "praxis-list", never, { "config": { "alias": "config"; "required": false; }; "listId": { "alias": "listId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "form": { "alias": "form"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "itemActions": { "alias": "itemActions"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; }, { "itemClick": "itemClick"; "actionClick": "actionClick"; "selectionChange": "selectionChange"; "exportAction": "exportAction"; "configPatchChange": "configPatchChange"; }, never, never, true, never>;
|
|
885
900
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
886
901
|
}
|
|
887
902
|
|
|
@@ -1821,6 +1836,9 @@ declare function evaluateTemplate(def: TemplateDef | undefined, item: any, optio
|
|
|
1821
1836
|
variant?: 'filled' | 'outlined';
|
|
1822
1837
|
};
|
|
1823
1838
|
} | null;
|
|
1839
|
+
declare function safeFormatDate(date: Date, format?: string, locale?: string, style?: string): string;
|
|
1840
|
+
declare function safeFormatDateTime(date: Date, format?: string, locale?: string, style?: string): string;
|
|
1841
|
+
declare function formatRelativeTime(date: Date, locale?: string, baseDate?: Date): string;
|
|
1824
1842
|
|
|
1825
1843
|
type ListRichContentP0Node = RichPresenterNode | RichComposeNode;
|
|
1826
1844
|
declare function isListTemplateSupportedByRichContentP0(template?: TemplateDef | null): boolean;
|
|
@@ -1828,6 +1846,7 @@ declare function mapListTemplateToRichContentP0(template?: TemplateDef | null):
|
|
|
1828
1846
|
|
|
1829
1847
|
declare function adaptSelection(config: PraxisListConfig | undefined, items: any[]): ListSelectionEvent;
|
|
1830
1848
|
|
|
1849
|
+
declare const PRAXIS_LIST_INSERTION_PRESETS: NonNullable<ComponentDocMeta['insertionPresets']>;
|
|
1831
1850
|
declare const PRAXIS_LIST_COMPONENT_METADATA: ComponentDocMeta;
|
|
1832
1851
|
declare function providePraxisListMetadata(): Provider;
|
|
1833
1852
|
|
|
@@ -1986,9 +2005,10 @@ declare class PraxisListDocPageComponent {
|
|
|
1986
2005
|
model: "hotel";
|
|
1987
2006
|
groupBy: undefined;
|
|
1988
2007
|
itemSpacing?: "none" | "tight" | "default" | "relaxed";
|
|
2008
|
+
itemAppearance?: "flat" | "card" | "capsule";
|
|
1989
2009
|
dividers?: "none" | "between" | "all";
|
|
1990
2010
|
stickySectionHeader?: boolean;
|
|
1991
|
-
virtualScroll?: boolean;
|
|
2011
|
+
virtualScroll?: boolean | _praxisui_list.PraxisListVirtualScrollConfig;
|
|
1992
2012
|
pageSize?: number;
|
|
1993
2013
|
rowLayout?: {
|
|
1994
2014
|
type?: "grid" | "flex";
|
|
@@ -2108,27 +2128,8 @@ declare class PraxisListDocPageComponent {
|
|
|
2108
2128
|
errorTemplate?: _praxisui_list.TemplateDef;
|
|
2109
2129
|
};
|
|
2110
2130
|
};
|
|
2111
|
-
actions?:
|
|
2112
|
-
|
|
2113
|
-
icon?: string;
|
|
2114
|
-
label?: string;
|
|
2115
|
-
color?: string;
|
|
2116
|
-
kind?: "icon" | "button";
|
|
2117
|
-
buttonVariant?: "stroked" | "raised" | "flat";
|
|
2118
|
-
showIf?: _praxisui_core.JsonLogicExpression | null;
|
|
2119
|
-
emitPayload?: "item" | "id" | "value";
|
|
2120
|
-
action?: "surface.open";
|
|
2121
|
-
recordOpen?: _praxisui_core.ResourceRecordOpenRef;
|
|
2122
|
-
globalAction?: _praxisui_core.GlobalActionRef;
|
|
2123
|
-
emitLocal?: boolean;
|
|
2124
|
-
showLoading?: boolean;
|
|
2125
|
-
placement?: "actions" | "trailing";
|
|
2126
|
-
confirmation?: {
|
|
2127
|
-
title?: string;
|
|
2128
|
-
message?: string;
|
|
2129
|
-
type?: "danger" | "warning" | "info";
|
|
2130
|
-
};
|
|
2131
|
-
}>;
|
|
2131
|
+
actions?: _praxisui_list.PraxisListItemAction[];
|
|
2132
|
+
itemActions?: _praxisui_list.PraxisListItemAction[];
|
|
2132
2133
|
i18n?: _praxisui_list.PraxisListI18nConfig;
|
|
2133
2134
|
ui?: {
|
|
2134
2135
|
showSearch?: boolean;
|
|
@@ -2955,5 +2956,5 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2955
2956
|
readonly 'Advanced row CSS': "CSS avançado da linha";
|
|
2956
2957
|
};
|
|
2957
2958
|
|
|
2958
|
-
export { ExecutiveAlertsComponent, ExecutiveBadgeComponent, ExecutiveOwnerComponent, LIST_AI_CAPABILITIES, ListDataService, ListSkinService, PRAXIS_LIST_AUTHORING_MANIFEST, PRAXIS_LIST_COMPONENT_METADATA, PRAXIS_LIST_EN_US, PRAXIS_LIST_I18N_NAMESPACE, PRAXIS_LIST_PT_BR, PraxisList, PraxisListConfigEditor, PraxisListDocPageComponent, PraxisListJsonConfigEditorComponent, PraxisListWidgetConfigEditor, adaptSelection, buildListApplyPlan, createListAuthoringDocument, evalExpr, evaluateTemplate, inferListAuthoringDocument, inferTemplatingFromSchema, isListTemplateSupportedByRichContentP0, mapListTemplateToRichContentP0, normalizeListActionPayloads, normalizeListAuthoringDocument, normalizeListConfig, parseLegacyOrListDocument, projectListAuthoringDocument, providePraxisListI18n, providePraxisListMetadata, serializeListAuthoringDocument, toCanonicalListConfig, validateListAuthoringDocument };
|
|
2959
|
-
export type { Capability, CapabilityCatalog, CapabilityCategory, EditorDiagnostic, EditorDocument, ExecutiveAlert, JsonEditorEvent, JsonValidationResult, ListActionEvent, ListApplyPlan, ListAuthoringDocument, ListExpansionSectionDef, ListExpansionSectionType, ListFeatureDef, ListItemEvent, ListItemStyleEffect, ListItemStyleRule, ListProjectionContext, ListRemoteLoadError, ListRichContentP0Node, ListRowLayoutSlot, ListRuntimeContext, ListSchemaInferencePlan, ListSection, ListSelectionEvent, ListSlotOverrideEffect, ListSlotOverrideRule, ListTemplatingSlot, ListValidationContext, PraxisListConfig, PraxisListExportConfig, PraxisListI18nConfig, PraxisListWidgetEditorInputs, PraxisListWidgetEditorValue, TemplateDef, TemplateEvaluatorOptions, TemplateFeatureDef, TemplateType, TemplatingFeatureDef, ValueKind };
|
|
2959
|
+
export { ExecutiveAlertsComponent, ExecutiveBadgeComponent, ExecutiveOwnerComponent, LIST_AI_CAPABILITIES, ListDataService, ListSkinService, PRAXIS_LIST_AUTHORING_MANIFEST, PRAXIS_LIST_COMPONENT_METADATA, PRAXIS_LIST_EN_US, PRAXIS_LIST_I18N_NAMESPACE, PRAXIS_LIST_INSERTION_PRESETS, PRAXIS_LIST_PT_BR, PraxisList, PraxisListConfigEditor, PraxisListDocPageComponent, PraxisListJsonConfigEditorComponent, PraxisListWidgetConfigEditor, adaptSelection, buildListApplyPlan, createListAuthoringDocument, evalExpr, evaluateTemplate, formatRelativeTime, inferListAuthoringDocument, inferTemplatingFromSchema, isListTemplateSupportedByRichContentP0, mapListTemplateToRichContentP0, normalizeListActionPayloads, normalizeListAuthoringDocument, normalizeListConfig, parseLegacyOrListDocument, projectListAuthoringDocument, providePraxisListI18n, providePraxisListMetadata, safeFormatDate, safeFormatDateTime, serializeListAuthoringDocument, toCanonicalListConfig, validateListAuthoringDocument };
|
|
2960
|
+
export type { Capability, CapabilityCatalog, CapabilityCategory, EditorDiagnostic, EditorDocument, ExecutiveAlert, JsonEditorEvent, JsonValidationResult, ListActionEvent, ListApplyPlan, ListAuthoringDocument, ListExpansionSectionDef, ListExpansionSectionType, ListFeatureDef, ListItemEvent, ListItemStyleEffect, ListItemStyleRule, ListProjectionContext, ListRemoteLoadError, ListRichContentP0Node, ListRowLayoutSlot, ListRuntimeContext, ListSchemaInferencePlan, ListSection, ListSelectionEvent, ListSlotOverrideEffect, ListSlotOverrideRule, ListTemplatingSlot, ListValidationContext, PraxisListConfig, PraxisListExportConfig, PraxisListI18nConfig, PraxisListItemAction, PraxisListVirtualScrollConfig, PraxisListWidgetEditorInputs, PraxisListWidgetEditorValue, TemplateDef, TemplateEvaluatorOptions, TemplateFeatureDef, TemplateType, TemplatingFeatureDef, ValueKind };
|