@praxisui/list 8.0.0-beta.2 → 8.0.0-beta.21
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 +113 -6
- package/docs/2026-03-executive-list-platform-backlog.md +140 -0
- package/docs/2026-03-executive-list-reference-checklist.md +110 -0
- package/docs/2026-04-navigation-open-route-release-note.md +40 -0
- package/docs/adr/2026-03-list-authoring-protocol.md +98 -0
- package/docs/adr/2026-03-list-inline-expansion-v1.md +309 -0
- package/fesm2022/praxisui-list.mjs +3906 -274
- package/index.d.ts +216 -62
- package/package.json +9 -3
- package/src/lib/components/praxis-list-skin-preview.json-api.md +459 -0
- package/src/lib/editors/praxis-list-config-editor.json-api.md +523 -0
- package/src/lib/praxis-list.json-api.md +954 -0
package/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as rxjs from 'rxjs';
|
|
2
2
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { OnInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges, ChangeDetectorRef, DoCheck, Provider } from '@angular/core';
|
|
4
|
+
import { OnInit, OnChanges, OnDestroy, EventEmitter, SimpleChanges, ChangeDetectorRef, DoCheck, AfterViewInit, Provider } from '@angular/core';
|
|
5
5
|
import { MatSelectionListChange } from '@angular/material/list';
|
|
6
|
+
import { MatPaginatorSelectConfig, PageEvent } from '@angular/material/paginator';
|
|
6
7
|
import { FormGroup, FormControl } from '@angular/forms';
|
|
7
8
|
import * as _praxisui_core from '@praxisui/core';
|
|
8
|
-
import { JsonLogicExpression, LocalizationConfig, AiCapability, RichBlockNode, GlobalActionCatalogEntry, SurfaceOpenPayload, RichPresenterNode, RichComposeNode, ComponentDocMeta, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
|
|
9
|
-
import { BaseAiAdapter, PatchResult } from '@praxisui/ai';
|
|
9
|
+
import { PraxisExportFormat, PraxisExportScope, PraxisRuntimeConditionalEffectRule, JsonLogicExpression, GlobalActionRef, LocalizationConfig, AiCapability, RichBlockNode, GlobalActionCatalogEntry, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, RichPresenterNode, RichComposeNode, ComponentDocMeta, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, ComponentAuthoringManifest } from '@praxisui/core';
|
|
10
|
+
import { BaseAiAdapter, PatchResult, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
|
|
10
11
|
import { SettingsValueProvider } from '@praxisui/settings-panel';
|
|
11
12
|
|
|
12
13
|
type TemplateType = 'text' | 'icon' | 'image' | 'chip' | 'rating' | 'currency' | 'date' | 'html' | 'slot' | 'metric' | 'compose' | 'component';
|
|
@@ -117,6 +118,31 @@ interface ListExpansionSectionDef {
|
|
|
117
118
|
}
|
|
118
119
|
type ListTemplatingSlot = 'leading' | 'primary' | 'secondary' | 'meta' | 'trailing' | 'identity' | 'balance' | 'limit' | 'risk' | 'alerts' | 'owner';
|
|
119
120
|
type ListRowLayoutSlot = ListTemplatingSlot | 'actions' | 'expand';
|
|
121
|
+
interface ListItemStyleEffect {
|
|
122
|
+
kind?: 'item-style';
|
|
123
|
+
class?: string;
|
|
124
|
+
style?: string;
|
|
125
|
+
border?: string;
|
|
126
|
+
background?: string;
|
|
127
|
+
}
|
|
128
|
+
interface ListSlotOverrideEffect {
|
|
129
|
+
kind?: 'slot-override';
|
|
130
|
+
template?: TemplateDef;
|
|
131
|
+
class?: string;
|
|
132
|
+
style?: string;
|
|
133
|
+
hide?: boolean;
|
|
134
|
+
}
|
|
135
|
+
interface ListItemStyleRule extends Omit<PraxisRuntimeConditionalEffectRule<ListItemStyleEffect>, 'condition' | 'effects'>, ListItemStyleEffect {
|
|
136
|
+
id: string;
|
|
137
|
+
condition?: JsonLogicExpression | null;
|
|
138
|
+
effects?: ListItemStyleEffect[];
|
|
139
|
+
}
|
|
140
|
+
interface ListSlotOverrideRule extends Omit<PraxisRuntimeConditionalEffectRule<ListSlotOverrideEffect>, 'condition' | 'effects'>, ListSlotOverrideEffect {
|
|
141
|
+
id: string;
|
|
142
|
+
slot: ListTemplatingSlot;
|
|
143
|
+
condition?: JsonLogicExpression | null;
|
|
144
|
+
effects?: ListSlotOverrideEffect[];
|
|
145
|
+
}
|
|
120
146
|
interface PraxisListConfig {
|
|
121
147
|
id?: string;
|
|
122
148
|
dataSource?: {
|
|
@@ -176,6 +202,7 @@ interface PraxisListConfig {
|
|
|
176
202
|
compareBy?: string;
|
|
177
203
|
return?: 'value' | 'item' | 'id';
|
|
178
204
|
};
|
|
205
|
+
export?: PraxisListExportConfig;
|
|
179
206
|
interaction?: {
|
|
180
207
|
expandable?: boolean;
|
|
181
208
|
expandTrigger?: 'row' | 'icon' | 'row+icon';
|
|
@@ -210,23 +237,8 @@ interface PraxisListConfig {
|
|
|
210
237
|
};
|
|
211
238
|
};
|
|
212
239
|
rules?: {
|
|
213
|
-
itemStyles?:
|
|
214
|
-
|
|
215
|
-
condition?: JsonLogicExpression | null;
|
|
216
|
-
class?: string;
|
|
217
|
-
style?: string;
|
|
218
|
-
border?: string;
|
|
219
|
-
background?: string;
|
|
220
|
-
}>;
|
|
221
|
-
slotOverrides?: Array<{
|
|
222
|
-
id: string;
|
|
223
|
-
slot: ListTemplatingSlot;
|
|
224
|
-
condition?: JsonLogicExpression | null;
|
|
225
|
-
template?: TemplateDef;
|
|
226
|
-
class?: string;
|
|
227
|
-
style?: string;
|
|
228
|
-
hide?: boolean;
|
|
229
|
-
}>;
|
|
240
|
+
itemStyles?: ListItemStyleRule[];
|
|
241
|
+
slotOverrides?: ListSlotOverrideRule[];
|
|
230
242
|
};
|
|
231
243
|
expansion?: {
|
|
232
244
|
sections?: ListExpansionSectionDef[];
|
|
@@ -277,8 +289,7 @@ interface PraxisListConfig {
|
|
|
277
289
|
buttonVariant?: 'stroked' | 'raised' | 'flat';
|
|
278
290
|
showIf?: JsonLogicExpression | null;
|
|
279
291
|
emitPayload?: 'item' | 'id' | 'value';
|
|
280
|
-
|
|
281
|
-
globalPayload?: any;
|
|
292
|
+
globalAction?: GlobalActionRef;
|
|
282
293
|
emitLocal?: boolean;
|
|
283
294
|
showLoading?: boolean;
|
|
284
295
|
placement?: 'actions' | 'trailing';
|
|
@@ -310,9 +321,22 @@ interface PraxisListConfig {
|
|
|
310
321
|
itemClick?: string;
|
|
311
322
|
actionClick?: string;
|
|
312
323
|
selectionChange?: string;
|
|
324
|
+
exportAction?: string;
|
|
313
325
|
loaded?: string;
|
|
314
326
|
};
|
|
315
327
|
}
|
|
328
|
+
interface PraxisListExportConfig {
|
|
329
|
+
enabled?: boolean;
|
|
330
|
+
formats?: PraxisExportFormat[];
|
|
331
|
+
general?: {
|
|
332
|
+
scope?: PraxisExportScope;
|
|
333
|
+
includeHeaders?: boolean;
|
|
334
|
+
maxRows?: number;
|
|
335
|
+
defaultFileName?: string;
|
|
336
|
+
includeFields?: string[] | 'all';
|
|
337
|
+
applyFormatting?: boolean;
|
|
338
|
+
};
|
|
339
|
+
}
|
|
316
340
|
interface ListItemEvent {
|
|
317
341
|
item: any;
|
|
318
342
|
index: number;
|
|
@@ -365,8 +389,15 @@ declare class ListDataService<T = any> {
|
|
|
365
389
|
nextPage(): void;
|
|
366
390
|
prevPage(): void;
|
|
367
391
|
setPageSize(size: number): void;
|
|
392
|
+
setPage(pageNumber: number, pageSize: number): void;
|
|
368
393
|
setSort(sort: string[]): void;
|
|
369
394
|
setQuery(q: Record<string, any>): void;
|
|
395
|
+
getPageStateSnapshot(): {
|
|
396
|
+
pageNumber: number;
|
|
397
|
+
pageSize: number;
|
|
398
|
+
sort?: string[];
|
|
399
|
+
};
|
|
400
|
+
getQuerySnapshot(): Record<string, any>;
|
|
370
401
|
groupedStream(): Observable<ListSection<T>[]>;
|
|
371
402
|
private buildConfigSignature;
|
|
372
403
|
private buildLocalDataSignature;
|
|
@@ -381,10 +412,15 @@ declare class ListDataService<T = any> {
|
|
|
381
412
|
declare class ListAiAdapter extends BaseAiAdapter<PraxisListConfig> {
|
|
382
413
|
private list;
|
|
383
414
|
componentName: string;
|
|
415
|
+
componentId: string;
|
|
416
|
+
componentType: string;
|
|
384
417
|
constructor(list: PraxisList);
|
|
385
418
|
getCurrentConfig(): PraxisListConfig;
|
|
386
419
|
getCapabilities(): AiCapability[];
|
|
387
420
|
getRuntimeState(): Record<string, any>;
|
|
421
|
+
getDataProfile(): Record<string, any>;
|
|
422
|
+
getSchemaFields(): Record<string, any>[];
|
|
423
|
+
getAuthoringContext(): Record<string, any>;
|
|
388
424
|
createSnapshot(): PraxisListConfig;
|
|
389
425
|
restoreSnapshot(snapshot: PraxisListConfig): Promise<void>;
|
|
390
426
|
applyPatch(patch: Partial<PraxisListConfig>, _intent?: string): Promise<PatchResult>;
|
|
@@ -417,6 +453,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
417
453
|
itemClick: EventEmitter<ListItemEvent>;
|
|
418
454
|
actionClick: EventEmitter<ListActionEvent>;
|
|
419
455
|
selectionChange: EventEmitter<ListSelectionEvent>;
|
|
456
|
+
exportAction: EventEmitter<any>;
|
|
420
457
|
items$: rxjs.Observable<any[]>;
|
|
421
458
|
sections$: rxjs.Observable<ListSection<any>[]>;
|
|
422
459
|
loading$: rxjs.Observable<boolean>;
|
|
@@ -435,6 +472,13 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
435
472
|
inlineCss: string;
|
|
436
473
|
readonly cspNonce: string | null;
|
|
437
474
|
aiAdapter: ListAiAdapter;
|
|
475
|
+
aiAssistantOpen: boolean;
|
|
476
|
+
aiAssistantPrompt: string;
|
|
477
|
+
aiAssistantViewState: PraxisAssistantTurnViewState | null;
|
|
478
|
+
aiAssistantLayout: PraxisAssistantShellLayout;
|
|
479
|
+
readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
|
|
480
|
+
private aiAssistantController;
|
|
481
|
+
private aiAssistantStateSubscription;
|
|
438
482
|
private readonly storage;
|
|
439
483
|
private readonly skin;
|
|
440
484
|
private inferredForPath;
|
|
@@ -448,6 +492,14 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
448
492
|
private readonly logger;
|
|
449
493
|
private readonly jsonLogic;
|
|
450
494
|
private readonly i18n;
|
|
495
|
+
private readonly collectionExport;
|
|
496
|
+
private readonly paginatorIntl;
|
|
497
|
+
private readonly snackBar;
|
|
498
|
+
private readonly aiApi;
|
|
499
|
+
private readonly assistantSessions;
|
|
500
|
+
private readonly aiTurnOrchestrator;
|
|
501
|
+
private readonly aiAssistantSessionEffect;
|
|
502
|
+
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
451
503
|
private readonly logContext;
|
|
452
504
|
private readonly route;
|
|
453
505
|
private readonly globalActions;
|
|
@@ -464,6 +516,8 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
464
516
|
private readonly destroy$;
|
|
465
517
|
actionLoadingState: Record<string, boolean>;
|
|
466
518
|
private expandedItemKeys;
|
|
519
|
+
exportBusy: boolean;
|
|
520
|
+
exportStatusMessage: string;
|
|
467
521
|
private readonly listRuleContextOptions;
|
|
468
522
|
ngOnInit(): void;
|
|
469
523
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -495,6 +549,9 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
495
549
|
itemRuleStyle(item: any): string | undefined;
|
|
496
550
|
rowLayoutItemStyle(item: any): string | undefined;
|
|
497
551
|
rowLayoutItemClass(item: any): string | undefined;
|
|
552
|
+
private resolveItemStyleEffect;
|
|
553
|
+
private resolveSlotOverrideEffect;
|
|
554
|
+
private firstConditionalEffect;
|
|
498
555
|
hasRowLayoutGrid(): boolean;
|
|
499
556
|
rowLayoutColumns(): ListRowLayoutColumnViewModel[];
|
|
500
557
|
rowLayoutTrackColumn(index: number, column: ListRowLayoutColumnViewModel): string;
|
|
@@ -561,8 +618,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
561
618
|
buttonVariant?: "stroked" | "raised" | "flat";
|
|
562
619
|
showIf?: JsonLogicExpression | null;
|
|
563
620
|
emitPayload?: "item" | "id" | "value";
|
|
564
|
-
|
|
565
|
-
globalPayload?: any;
|
|
621
|
+
globalAction?: GlobalActionRef;
|
|
566
622
|
emitLocal?: boolean;
|
|
567
623
|
showLoading?: boolean;
|
|
568
624
|
placement?: "actions" | "trailing";
|
|
@@ -582,16 +638,65 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
582
638
|
expansionRegionAriaLabel(item: any): string;
|
|
583
639
|
emptyStateLabel(): string;
|
|
584
640
|
onActionClick(ev: MouseEvent, actionId: string, item: any, index: number): Promise<void>;
|
|
585
|
-
private isGlobalCommand;
|
|
586
641
|
private resolveActionPayload;
|
|
587
642
|
private resolveTemplate;
|
|
643
|
+
private isDeferredTemplateExpressionKey;
|
|
588
644
|
private resolveStringTemplate;
|
|
589
645
|
private lookup;
|
|
590
646
|
onSelectionChange(_change: MatSelectionListChange): void;
|
|
647
|
+
listExportFormats(): PraxisExportFormat[];
|
|
648
|
+
exportIcon(format: PraxisExportFormat): string;
|
|
649
|
+
onExportAction(format: PraxisExportFormat): Promise<void>;
|
|
650
|
+
private buildListExportRequest;
|
|
651
|
+
private resolveEffectiveExportScope;
|
|
652
|
+
private buildListExportSelection;
|
|
653
|
+
private resolveListExportLoadedItems;
|
|
654
|
+
private buildListExportFields;
|
|
655
|
+
private collectListExportFieldKeys;
|
|
656
|
+
private normalizeListSelectionValue;
|
|
657
|
+
private resolveListSelectionKey;
|
|
658
|
+
private hasListExportQuery;
|
|
659
|
+
private getListQuerySnapshot;
|
|
660
|
+
private getListPageStateSnapshot;
|
|
661
|
+
private resolveListExportTotal;
|
|
662
|
+
private parseListExportSort;
|
|
663
|
+
private downloadExportResult;
|
|
664
|
+
private triggerExportDownload;
|
|
665
|
+
private showExportFeedback;
|
|
666
|
+
private resolveExportFileName;
|
|
667
|
+
private getExportFileExtension;
|
|
668
|
+
private getExportMimeType;
|
|
669
|
+
private cloneForExportEvent;
|
|
591
670
|
openConfigEditor(): void;
|
|
671
|
+
openAiAssistant(): void;
|
|
672
|
+
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
673
|
+
closeAiAssistant(): void;
|
|
674
|
+
onAiAssistantPromptChange(prompt: string): void;
|
|
675
|
+
onAiAssistantSubmit(prompt: string): void;
|
|
676
|
+
onAiAssistantApply(): void;
|
|
677
|
+
onAiAssistantRetry(): void;
|
|
678
|
+
onAiAssistantCancel(): void;
|
|
679
|
+
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
680
|
+
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
681
|
+
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
682
|
+
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
683
|
+
private initializeAiAssistantController;
|
|
684
|
+
private buildAiAssistantContextItems;
|
|
685
|
+
private buildAiAssistantContextSnapshot;
|
|
686
|
+
private syncAiAssistantSession;
|
|
687
|
+
private hasAiAssistantSessionState;
|
|
688
|
+
private resolveAiAssistantSessionId;
|
|
689
|
+
private resolveAiAssistantOwnerId;
|
|
690
|
+
private resolveAiAssistantRouteKey;
|
|
691
|
+
private resolveAiAssistantSummary;
|
|
692
|
+
private resolveAiAssistantBadge;
|
|
693
|
+
private resolveAiAssistantIcon;
|
|
592
694
|
nextPage(): void;
|
|
593
695
|
prevPage(): void;
|
|
594
696
|
setPageSize(ps: number): void;
|
|
697
|
+
onPageChange(event: PageEvent): void;
|
|
698
|
+
listPageSizeOptions(): number[];
|
|
699
|
+
remoteTotalLabel(total: number | null | undefined): string;
|
|
595
700
|
onSortChange(val: string): void;
|
|
596
701
|
onSearchInput(val: string): void;
|
|
597
702
|
sortOptionValue(op: any): string;
|
|
@@ -604,6 +709,9 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
604
709
|
pageNumber: number;
|
|
605
710
|
pageSize: number;
|
|
606
711
|
}, total: number): number;
|
|
712
|
+
private syncPaginatorIntl;
|
|
713
|
+
private formatPaginatorRangeLabel;
|
|
714
|
+
private isEnglishLocaleValue;
|
|
607
715
|
applyConfigFromAdapter(newCfg: PraxisListConfig): void;
|
|
608
716
|
private applyAuthoringPayload;
|
|
609
717
|
private buildListEditorRuntimeContext;
|
|
@@ -669,19 +777,19 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
669
777
|
private mergePlainObjects;
|
|
670
778
|
private buildActionLoadingKey;
|
|
671
779
|
private ensureActionItemObjectId;
|
|
672
|
-
private warnGlobalCommandUnavailableOnce;
|
|
673
780
|
private buildLogOptions;
|
|
674
781
|
private toggleExpanded;
|
|
675
782
|
private syncExpansionState;
|
|
676
783
|
private itemExpansionKey;
|
|
677
|
-
|
|
784
|
+
t(key: string, fallback: string): string;
|
|
785
|
+
private tWithLocale;
|
|
678
786
|
private ensureExpansionItemObjectId;
|
|
679
787
|
private sanitizeDomId;
|
|
680
788
|
private evaluateExpansionExpr;
|
|
681
789
|
private normalizeExpansionItems;
|
|
682
790
|
private normalizeKeyValueItems;
|
|
683
791
|
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisList, never>;
|
|
684
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisList, "praxis-list", never, { "config": { "alias": "config"; "required": false; }; "listId": { "alias": "listId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "form": { "alias": "form"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, { "itemClick": "itemClick"; "actionClick": "actionClick"; "selectionChange": "selectionChange"; }, never, never, true, never>;
|
|
792
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisList, "praxis-list", never, { "config": { "alias": "config"; "required": false; }; "listId": { "alias": "listId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "form": { "alias": "form"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, { "itemClick": "itemClick"; "actionClick": "actionClick"; "selectionChange": "selectionChange"; "exportAction": "exportAction"; }, never, never, true, never>;
|
|
685
793
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
686
794
|
}
|
|
687
795
|
|
|
@@ -1294,18 +1402,24 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1294
1402
|
ensureConfirmation(action: any): void;
|
|
1295
1403
|
setConfirmationField(action: any, field: 'title' | 'message', value: string): void;
|
|
1296
1404
|
applyConfirmationPreset(action: any, type?: 'danger' | 'warning' | 'info' | ''): void;
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1405
|
+
applyGlobalActionPayloadExample(action: any): void;
|
|
1406
|
+
globalActionPayloadExampleHint(action: any): string;
|
|
1407
|
+
globalActionPayloadSchemaTooltip(action: any): string;
|
|
1408
|
+
onActionGlobalActionIdChange(action: any, actionId: string): void;
|
|
1409
|
+
getGlobalActionPayloadText(action: {
|
|
1410
|
+
globalAction?: GlobalActionRef;
|
|
1411
|
+
}): string;
|
|
1412
|
+
onGlobalActionPayloadTextChange(action: any, value: string): void;
|
|
1413
|
+
isGlobalActionPayloadInvalid(action: {
|
|
1414
|
+
globalAction?: GlobalActionRef;
|
|
1415
|
+
}): boolean;
|
|
1301
1416
|
isSurfaceOpenCommand(action: {
|
|
1302
|
-
|
|
1417
|
+
globalAction?: GlobalActionRef;
|
|
1303
1418
|
}): boolean;
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
globalPayload?: string;
|
|
1419
|
+
getSurfaceOpenGlobalActionPayload(action: {
|
|
1420
|
+
globalAction?: GlobalActionRef;
|
|
1307
1421
|
}): SurfaceOpenPayload;
|
|
1308
|
-
|
|
1422
|
+
onSurfaceOpenGlobalActionPayloadChange(action: any, payload: SurfaceOpenPayload): void;
|
|
1309
1423
|
onGlobalActionSelected(id?: string): void;
|
|
1310
1424
|
private addGlobalActionFromCatalog;
|
|
1311
1425
|
metaTypeConfig(type?: string): {
|
|
@@ -1365,6 +1479,11 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1365
1479
|
private getGlobalActionEntryLabel;
|
|
1366
1480
|
private getGlobalActionEntryDescription;
|
|
1367
1481
|
private getGlobalActionSchema;
|
|
1482
|
+
getGlobalActionId(action: {
|
|
1483
|
+
globalAction?: GlobalActionRef;
|
|
1484
|
+
}): string;
|
|
1485
|
+
private parseGlobalActionPayloadText;
|
|
1486
|
+
private looksLikeJsonPayload;
|
|
1368
1487
|
private normalizeSurfaceOpenPayload;
|
|
1369
1488
|
verify(): void;
|
|
1370
1489
|
inferFromFields(): void;
|
|
@@ -1382,6 +1501,35 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1382
1501
|
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisListConfigEditor, "praxis-list-config-editor", never, { "config": { "alias": "config"; "required": false; }; "listId": { "alias": "listId"; "required": false; }; }, {}, never, never, true, never>;
|
|
1383
1502
|
}
|
|
1384
1503
|
|
|
1504
|
+
interface PraxisListWidgetEditorInputs {
|
|
1505
|
+
config?: PraxisListConfig | null;
|
|
1506
|
+
listId?: string;
|
|
1507
|
+
[key: string]: unknown;
|
|
1508
|
+
}
|
|
1509
|
+
interface PraxisListWidgetEditorValue {
|
|
1510
|
+
inputs: PraxisListWidgetEditorInputs;
|
|
1511
|
+
}
|
|
1512
|
+
declare class PraxisListWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
1513
|
+
inputs: PraxisListWidgetEditorInputs | null;
|
|
1514
|
+
widgetKey?: string;
|
|
1515
|
+
listEditor?: PraxisListConfigEditor;
|
|
1516
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
1517
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
1518
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
1519
|
+
private readonly subscription;
|
|
1520
|
+
get config(): PraxisListConfig;
|
|
1521
|
+
get listId(): string | undefined;
|
|
1522
|
+
ngAfterViewInit(): void;
|
|
1523
|
+
ngOnDestroy(): void;
|
|
1524
|
+
getSettingsValue(): PraxisListWidgetEditorValue;
|
|
1525
|
+
onSave(): PraxisListWidgetEditorValue;
|
|
1526
|
+
reset(): void;
|
|
1527
|
+
private initializeChildEditor;
|
|
1528
|
+
private buildValue;
|
|
1529
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisListWidgetConfigEditor, never>;
|
|
1530
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PraxisListWidgetConfigEditor, "praxis-list-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; }, {}, never, never, true, never>;
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1385
1533
|
declare function createListAuthoringDocument(source: {
|
|
1386
1534
|
config?: unknown;
|
|
1387
1535
|
}): ListAuthoringDocument;
|
|
@@ -1458,10 +1606,14 @@ declare function providePraxisListMetadata(): Provider;
|
|
|
1458
1606
|
declare module '@praxisui/core' {
|
|
1459
1607
|
interface AiCapabilityCategoryMap {
|
|
1460
1608
|
meta: true;
|
|
1609
|
+
export: true;
|
|
1461
1610
|
skin: true;
|
|
1462
1611
|
selection: true;
|
|
1463
1612
|
templating: true;
|
|
1464
1613
|
actions: true;
|
|
1614
|
+
interaction: true;
|
|
1615
|
+
expansion: true;
|
|
1616
|
+
rules: true;
|
|
1465
1617
|
ui: true;
|
|
1466
1618
|
i18n: true;
|
|
1467
1619
|
a11y: true;
|
|
@@ -1477,6 +1629,8 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
1477
1629
|
}
|
|
1478
1630
|
declare const LIST_AI_CAPABILITIES: CapabilityCatalog;
|
|
1479
1631
|
|
|
1632
|
+
declare const PRAXIS_LIST_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
1633
|
+
|
|
1480
1634
|
type DemoScenario = 'operations' | 'executive-expansion' | 'catalog' | 'empty';
|
|
1481
1635
|
type DemoVariant = 'list' | 'cards' | 'tiles';
|
|
1482
1636
|
type DemoDensity = 'default' | 'comfortable' | 'compact';
|
|
@@ -1643,6 +1797,7 @@ declare class PraxisListDocPageComponent {
|
|
|
1643
1797
|
inlineStyle?: string;
|
|
1644
1798
|
} | undefined;
|
|
1645
1799
|
id?: string;
|
|
1800
|
+
export?: PraxisListExportConfig;
|
|
1646
1801
|
interaction?: {
|
|
1647
1802
|
expandable?: boolean;
|
|
1648
1803
|
expandTrigger?: "row" | "icon" | "row+icon";
|
|
@@ -1677,23 +1832,8 @@ declare class PraxisListDocPageComponent {
|
|
|
1677
1832
|
};
|
|
1678
1833
|
};
|
|
1679
1834
|
rules?: {
|
|
1680
|
-
itemStyles?:
|
|
1681
|
-
|
|
1682
|
-
condition?: _praxisui_core.JsonLogicExpression | null;
|
|
1683
|
-
class?: string;
|
|
1684
|
-
style?: string;
|
|
1685
|
-
border?: string;
|
|
1686
|
-
background?: string;
|
|
1687
|
-
}>;
|
|
1688
|
-
slotOverrides?: Array<{
|
|
1689
|
-
id: string;
|
|
1690
|
-
slot: ListTemplatingSlot;
|
|
1691
|
-
condition?: _praxisui_core.JsonLogicExpression | null;
|
|
1692
|
-
template?: TemplateDef;
|
|
1693
|
-
class?: string;
|
|
1694
|
-
style?: string;
|
|
1695
|
-
hide?: boolean;
|
|
1696
|
-
}>;
|
|
1835
|
+
itemStyles?: ListItemStyleRule[];
|
|
1836
|
+
slotOverrides?: ListSlotOverrideRule[];
|
|
1697
1837
|
};
|
|
1698
1838
|
expansion?: {
|
|
1699
1839
|
sections?: ListExpansionSectionDef[];
|
|
@@ -1744,8 +1884,7 @@ declare class PraxisListDocPageComponent {
|
|
|
1744
1884
|
buttonVariant?: "stroked" | "raised" | "flat";
|
|
1745
1885
|
showIf?: _praxisui_core.JsonLogicExpression | null;
|
|
1746
1886
|
emitPayload?: "item" | "id" | "value";
|
|
1747
|
-
|
|
1748
|
-
globalPayload?: any;
|
|
1887
|
+
globalAction?: _praxisui_core.GlobalActionRef;
|
|
1749
1888
|
emitLocal?: boolean;
|
|
1750
1889
|
showLoading?: boolean;
|
|
1751
1890
|
placement?: "actions" | "trailing";
|
|
@@ -1777,6 +1916,7 @@ declare class PraxisListDocPageComponent {
|
|
|
1777
1916
|
itemClick?: string;
|
|
1778
1917
|
actionClick?: string;
|
|
1779
1918
|
selectionChange?: string;
|
|
1919
|
+
exportAction?: string;
|
|
1780
1920
|
loaded?: string;
|
|
1781
1921
|
};
|
|
1782
1922
|
};
|
|
@@ -1813,6 +1953,13 @@ declare const PRAXIS_LIST_EN_US: {
|
|
|
1813
1953
|
readonly collapseDetails: "Collapse details";
|
|
1814
1954
|
readonly itemDetails: "Item details";
|
|
1815
1955
|
readonly emptyState: "No items available";
|
|
1956
|
+
readonly 'pagination.itemsPerPage': "Items per page:";
|
|
1957
|
+
readonly 'pagination.nextPage': "Next page";
|
|
1958
|
+
readonly 'pagination.previousPage': "Previous page";
|
|
1959
|
+
readonly 'pagination.firstPage': "First page";
|
|
1960
|
+
readonly 'pagination.lastPage': "Last page";
|
|
1961
|
+
readonly 'pagination.total': "Total";
|
|
1962
|
+
readonly 'export.button': "Export";
|
|
1816
1963
|
readonly Data: "Data";
|
|
1817
1964
|
readonly Actions: "Actions";
|
|
1818
1965
|
readonly Layout: "Layout";
|
|
@@ -1838,7 +1985,7 @@ declare const PRAXIS_LIST_EN_US: {
|
|
|
1838
1985
|
readonly 'Global action (Praxis)': "Global action (Praxis)";
|
|
1839
1986
|
readonly '-- Select --': "-- Select --";
|
|
1840
1987
|
readonly 'No global action registered.': "No global action registered.";
|
|
1841
|
-
readonly 'Select to add with a global
|
|
1988
|
+
readonly 'Select to add with a structured global action.': "Select to add with a structured global action.";
|
|
1842
1989
|
readonly 'Action type': "Action type";
|
|
1843
1990
|
readonly Icon: "Icon";
|
|
1844
1991
|
readonly Button: "Button";
|
|
@@ -1872,7 +2019,7 @@ declare const PRAXIS_LIST_EN_US: {
|
|
|
1872
2019
|
readonly 'Emit local event too': "Emit local event too";
|
|
1873
2020
|
readonly JSON: "JSON";
|
|
1874
2021
|
readonly ID: "ID";
|
|
1875
|
-
readonly '
|
|
2022
|
+
readonly 'Global action': "Global action";
|
|
1876
2023
|
readonly Catalog: "Catalog";
|
|
1877
2024
|
readonly Danger: "Danger";
|
|
1878
2025
|
readonly Warning: "Warning";
|
|
@@ -2041,6 +2188,13 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2041
2188
|
readonly collapseDetails: "Recolher detalhes";
|
|
2042
2189
|
readonly itemDetails: "Detalhes do item";
|
|
2043
2190
|
readonly emptyState: "Nenhum item disponível";
|
|
2191
|
+
readonly 'pagination.itemsPerPage': "Itens por página:";
|
|
2192
|
+
readonly 'pagination.nextPage': "Próxima página";
|
|
2193
|
+
readonly 'pagination.previousPage': "Página anterior";
|
|
2194
|
+
readonly 'pagination.firstPage': "Primeira página";
|
|
2195
|
+
readonly 'pagination.lastPage': "Última página";
|
|
2196
|
+
readonly 'pagination.total': "Total";
|
|
2197
|
+
readonly 'export.button': "Exportar";
|
|
2044
2198
|
readonly Data: "Dados";
|
|
2045
2199
|
readonly Actions: "Ações";
|
|
2046
2200
|
readonly Layout: "Layout";
|
|
@@ -2066,7 +2220,7 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2066
2220
|
readonly 'Global action (Praxis)': "Ação global (Praxis)";
|
|
2067
2221
|
readonly '-- Select --': "-- Selecionar --";
|
|
2068
2222
|
readonly 'No global action registered.': "Nenhuma ação global registrada.";
|
|
2069
|
-
readonly 'Select to add with a global
|
|
2223
|
+
readonly 'Select to add with a structured global action.': "Selecione para adicionar com uma ação global estruturada.";
|
|
2070
2224
|
readonly 'Action type': "Tipo de ação";
|
|
2071
2225
|
readonly Icon: "Ícone";
|
|
2072
2226
|
readonly Button: "Botão";
|
|
@@ -2100,7 +2254,7 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2100
2254
|
readonly 'Emit local event too': "Emitir evento local também";
|
|
2101
2255
|
readonly JSON: "JSON";
|
|
2102
2256
|
readonly ID: "ID";
|
|
2103
|
-
readonly '
|
|
2257
|
+
readonly 'Global action': "Ação global";
|
|
2104
2258
|
readonly Catalog: "Catálogo";
|
|
2105
2259
|
readonly Danger: "Perigo";
|
|
2106
2260
|
readonly Warning: "Aviso";
|
|
@@ -2260,5 +2414,5 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2260
2414
|
readonly 'CSS class example (add this to your global styles):': "Exemplo de classe CSS (adicione isto aos seus estilos globais):";
|
|
2261
2415
|
};
|
|
2262
2416
|
|
|
2263
|
-
export { ExecutiveAlertsComponent, ExecutiveBadgeComponent, ExecutiveOwnerComponent, LIST_AI_CAPABILITIES, ListDataService, ListSkinService, PRAXIS_LIST_COMPONENT_METADATA, PRAXIS_LIST_EN_US, PRAXIS_LIST_I18N_NAMESPACE, PRAXIS_LIST_PT_BR, PraxisList, PraxisListConfigEditor, PraxisListDocPageComponent, PraxisListJsonConfigEditorComponent, adaptSelection, buildListApplyPlan, createListAuthoringDocument, evalExpr, evaluateTemplate, inferListAuthoringDocument, inferTemplatingFromSchema, isListTemplateSupportedByRichContentP0, mapListTemplateToRichContentP0, normalizeListActionPayloads, normalizeListAuthoringDocument, normalizeListConfig, parseLegacyOrListDocument, projectListAuthoringDocument, providePraxisListI18n, providePraxisListMetadata, serializeListAuthoringDocument, toCanonicalListConfig, validateListAuthoringDocument };
|
|
2264
|
-
export type { Capability, CapabilityCatalog, CapabilityCategory, EditorDiagnostic, EditorDocument, ExecutiveAlert, JsonEditorEvent, JsonValidationResult, ListActionEvent, ListApplyPlan, ListAuthoringDocument, ListExpansionSectionDef, ListExpansionSectionType, ListFeatureDef, ListItemEvent, ListProjectionContext, ListRichContentP0Node, ListRowLayoutSlot, ListRuntimeContext, ListSchemaInferencePlan, ListSection, ListSelectionEvent, ListTemplatingSlot, ListValidationContext, PraxisListConfig, PraxisListI18nConfig, TemplateDef, TemplateEvaluatorOptions, TemplateFeatureDef, TemplateType, TemplatingFeatureDef, ValueKind };
|
|
2417
|
+
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 };
|
|
2418
|
+
export type { Capability, CapabilityCatalog, CapabilityCategory, EditorDiagnostic, EditorDocument, ExecutiveAlert, JsonEditorEvent, JsonValidationResult, ListActionEvent, ListApplyPlan, ListAuthoringDocument, ListExpansionSectionDef, ListExpansionSectionType, ListFeatureDef, ListItemEvent, ListItemStyleEffect, ListItemStyleRule, ListProjectionContext, ListRichContentP0Node, ListRowLayoutSlot, ListRuntimeContext, ListSchemaInferencePlan, ListSection, ListSelectionEvent, ListSlotOverrideEffect, ListSlotOverrideRule, ListTemplatingSlot, ListValidationContext, PraxisListConfig, PraxisListExportConfig, PraxisListI18nConfig, PraxisListWidgetEditorInputs, PraxisListWidgetEditorValue, TemplateDef, TemplateEvaluatorOptions, TemplateFeatureDef, TemplateType, TemplatingFeatureDef, ValueKind };
|
package/package.json
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/list",
|
|
3
|
-
"version": "8.0.0-beta.
|
|
3
|
+
"version": "8.0.0-beta.21",
|
|
4
4
|
"description": "List components and helpers for Praxis UI.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": ">=16 <21",
|
|
7
7
|
"@angular/core": ">=16 <21",
|
|
8
8
|
"@angular/material": ">=16 <21",
|
|
9
|
-
"@praxisui/dynamic-fields": "^8.0.0-beta.
|
|
10
|
-
"rxjs": ">=7 <9"
|
|
9
|
+
"@praxisui/dynamic-fields": "^8.0.0-beta.21",
|
|
10
|
+
"rxjs": ">=7 <9",
|
|
11
|
+
"@angular/forms": ">=16 <21",
|
|
12
|
+
"@angular/router": ">=16 <21",
|
|
13
|
+
"@praxisui/ai": "^8.0.0-beta.21",
|
|
14
|
+
"@praxisui/core": "^8.0.0-beta.21",
|
|
15
|
+
"@praxisui/rich-content": "^8.0.0-beta.21",
|
|
16
|
+
"@praxisui/settings-panel": "^8.0.0-beta.21"
|
|
11
17
|
},
|
|
12
18
|
"dependencies": {
|
|
13
19
|
"tslib": "^2.3.0",
|