@praxisui/list 10.0.0-rc.3 → 10.0.0-rc.5
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 +22 -0
- package/ai/component-registry.json +239 -4
- package/fesm2022/praxisui-list.mjs +785 -67
- package/package.json +7 -6
- package/src/lib/praxis-list.json-api.md +143 -19
- package/types/praxisui-list.d.ts +70 -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.5",
|
|
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.5",
|
|
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.5",
|
|
15
|
+
"@praxisui/core": "^10.0.0-rc.5",
|
|
16
|
+
"@praxisui/rich-content": "^10.0.0-rc.5",
|
|
17
|
+
"@praxisui/settings-panel": "^10.0.0-rc.5"
|
|
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,16 @@ 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
|
-
recordOpen?: ResourceRecordOpenRef;
|
|
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
|
+
effectiveActions(): PraxisListItemAction[];
|
|
704
|
+
hasHateoasLink(item: any, rel: string): boolean;
|
|
705
|
+
visibleActions(item: any, placement?: 'actions' | 'trailing' | 'menu'): PraxisListItemAction[];
|
|
693
706
|
onItemClick(item: any, index: number, section?: string): void;
|
|
694
707
|
onRowActivate(item: any, index: number, section?: string): void;
|
|
695
708
|
onExpandToggle(event: Event, item: any, index: number): void;
|
|
@@ -844,6 +857,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
844
857
|
private toBoolean;
|
|
845
858
|
private prettyLabel;
|
|
846
859
|
private mapDateStyle;
|
|
860
|
+
private mapDateTimeStyle;
|
|
847
861
|
starIcon(index: number, ratingValue: string | number): string;
|
|
848
862
|
isThemeColor(color?: string): boolean;
|
|
849
863
|
chipStyle(color?: string, variant?: 'filled' | 'outlined'): string;
|
|
@@ -881,7 +895,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
|
|
|
881
895
|
private normalizeExpansionItems;
|
|
882
896
|
private normalizeKeyValueItems;
|
|
883
897
|
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>;
|
|
898
|
+
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
899
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
886
900
|
}
|
|
887
901
|
|
|
@@ -1821,6 +1835,9 @@ declare function evaluateTemplate(def: TemplateDef | undefined, item: any, optio
|
|
|
1821
1835
|
variant?: 'filled' | 'outlined';
|
|
1822
1836
|
};
|
|
1823
1837
|
} | null;
|
|
1838
|
+
declare function safeFormatDate(date: Date, format?: string, locale?: string, style?: string): string;
|
|
1839
|
+
declare function safeFormatDateTime(date: Date, format?: string, locale?: string, style?: string): string;
|
|
1840
|
+
declare function formatRelativeTime(date: Date, locale?: string, baseDate?: Date): string;
|
|
1824
1841
|
|
|
1825
1842
|
type ListRichContentP0Node = RichPresenterNode | RichComposeNode;
|
|
1826
1843
|
declare function isListTemplateSupportedByRichContentP0(template?: TemplateDef | null): boolean;
|
|
@@ -1828,6 +1845,7 @@ declare function mapListTemplateToRichContentP0(template?: TemplateDef | null):
|
|
|
1828
1845
|
|
|
1829
1846
|
declare function adaptSelection(config: PraxisListConfig | undefined, items: any[]): ListSelectionEvent;
|
|
1830
1847
|
|
|
1848
|
+
declare const PRAXIS_LIST_INSERTION_PRESETS: NonNullable<ComponentDocMeta['insertionPresets']>;
|
|
1831
1849
|
declare const PRAXIS_LIST_COMPONENT_METADATA: ComponentDocMeta;
|
|
1832
1850
|
declare function providePraxisListMetadata(): Provider;
|
|
1833
1851
|
|
|
@@ -1986,9 +2004,10 @@ declare class PraxisListDocPageComponent {
|
|
|
1986
2004
|
model: "hotel";
|
|
1987
2005
|
groupBy: undefined;
|
|
1988
2006
|
itemSpacing?: "none" | "tight" | "default" | "relaxed";
|
|
2007
|
+
itemAppearance?: "flat" | "card" | "capsule";
|
|
1989
2008
|
dividers?: "none" | "between" | "all";
|
|
1990
2009
|
stickySectionHeader?: boolean;
|
|
1991
|
-
virtualScroll?: boolean;
|
|
2010
|
+
virtualScroll?: boolean | _praxisui_list.PraxisListVirtualScrollConfig;
|
|
1992
2011
|
pageSize?: number;
|
|
1993
2012
|
rowLayout?: {
|
|
1994
2013
|
type?: "grid" | "flex";
|
|
@@ -2108,27 +2127,8 @@ declare class PraxisListDocPageComponent {
|
|
|
2108
2127
|
errorTemplate?: _praxisui_list.TemplateDef;
|
|
2109
2128
|
};
|
|
2110
2129
|
};
|
|
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
|
-
}>;
|
|
2130
|
+
actions?: _praxisui_list.PraxisListItemAction[];
|
|
2131
|
+
itemActions?: _praxisui_list.PraxisListItemAction[];
|
|
2132
2132
|
i18n?: _praxisui_list.PraxisListI18nConfig;
|
|
2133
2133
|
ui?: {
|
|
2134
2134
|
showSearch?: boolean;
|
|
@@ -2955,5 +2955,5 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2955
2955
|
readonly 'Advanced row CSS': "CSS avançado da linha";
|
|
2956
2956
|
};
|
|
2957
2957
|
|
|
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 };
|
|
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_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 };
|
|
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, PraxisListItemAction, PraxisListVirtualScrollConfig, PraxisListWidgetEditorInputs, PraxisListWidgetEditorValue, TemplateDef, TemplateEvaluatorOptions, TemplateFeatureDef, TemplateType, TemplatingFeatureDef, ValueKind };
|