@praxisui/list 8.0.0-beta.3 → 8.0.0-beta.31
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 +4322 -268
- package/index.d.ts +252 -72
- 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, PraxisDataQueryContext, RichBlockNode, GlobalActionCatalogEntry, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, RichPresenterNode, RichComposeNode, ComponentDocMeta, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, ComponentAuthoringManifest } from '@praxisui/core';
|
|
10
|
+
import { BaseAiAdapter, AiResponseCompileResult, 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,17 +412,32 @@ 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;
|
|
425
|
+
compileAiResponse(response: Record<string, unknown>): AiResponseCompileResult | null;
|
|
389
426
|
restoreSnapshot(snapshot: PraxisListConfig): Promise<void>;
|
|
390
427
|
applyPatch(patch: Partial<PraxisListConfig>, _intent?: string): Promise<PatchResult>;
|
|
391
428
|
private applyConfig;
|
|
392
429
|
private smartMergeListConfig;
|
|
393
430
|
private sanitizePatch;
|
|
394
431
|
private cloneConfig;
|
|
432
|
+
private coerceComponentEditPlanOperations;
|
|
433
|
+
private coerceOperationInput;
|
|
434
|
+
private applyManifestEffects;
|
|
435
|
+
private resolveSetValue;
|
|
436
|
+
private mergeAtPath;
|
|
437
|
+
private setAtPath;
|
|
438
|
+
private readAtPath;
|
|
439
|
+
private asRecord;
|
|
440
|
+
private trimToUndefined;
|
|
395
441
|
}
|
|
396
442
|
|
|
397
443
|
interface ListRowLayoutColumnViewModel {
|
|
@@ -404,6 +450,11 @@ interface ListRowLayoutColumnViewModel {
|
|
|
404
450
|
class?: string;
|
|
405
451
|
style?: string;
|
|
406
452
|
}
|
|
453
|
+
interface ListCardDetailSlotViewModel {
|
|
454
|
+
slot: ListTemplatingSlot;
|
|
455
|
+
label: string;
|
|
456
|
+
node: Record<string, any>;
|
|
457
|
+
}
|
|
407
458
|
declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
408
459
|
private static nextSkinScopeId;
|
|
409
460
|
private customizationEnabled;
|
|
@@ -411,12 +462,15 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
411
462
|
config: PraxisListConfig;
|
|
412
463
|
listId: string;
|
|
413
464
|
componentInstanceId?: string;
|
|
465
|
+
configPersistenceStrategy: 'local-first' | 'input-first';
|
|
466
|
+
queryContext?: PraxisDataQueryContext | null;
|
|
414
467
|
form?: FormGroup | null;
|
|
415
468
|
set enableCustomization(value: boolean);
|
|
416
469
|
get enableCustomization(): boolean;
|
|
417
470
|
itemClick: EventEmitter<ListItemEvent>;
|
|
418
471
|
actionClick: EventEmitter<ListActionEvent>;
|
|
419
472
|
selectionChange: EventEmitter<ListSelectionEvent>;
|
|
473
|
+
exportAction: EventEmitter<any>;
|
|
420
474
|
items$: rxjs.Observable<any[]>;
|
|
421
475
|
sections$: rxjs.Observable<ListSection<any>[]>;
|
|
422
476
|
loading$: rxjs.Observable<boolean>;
|
|
@@ -427,6 +481,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
427
481
|
sort?: string[];
|
|
428
482
|
}>;
|
|
429
483
|
private lastQuery;
|
|
484
|
+
private lastRuntimeQueryContextSignature;
|
|
430
485
|
private search$;
|
|
431
486
|
get layoutLines(): number;
|
|
432
487
|
boundControl: FormControl<unknown | unknown[] | null>;
|
|
@@ -435,6 +490,13 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
435
490
|
inlineCss: string;
|
|
436
491
|
readonly cspNonce: string | null;
|
|
437
492
|
aiAdapter: ListAiAdapter;
|
|
493
|
+
aiAssistantOpen: boolean;
|
|
494
|
+
aiAssistantPrompt: string;
|
|
495
|
+
aiAssistantViewState: PraxisAssistantTurnViewState | null;
|
|
496
|
+
aiAssistantLayout: PraxisAssistantShellLayout;
|
|
497
|
+
readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
|
|
498
|
+
private aiAssistantController;
|
|
499
|
+
private aiAssistantStateSubscription;
|
|
438
500
|
private readonly storage;
|
|
439
501
|
private readonly skin;
|
|
440
502
|
private inferredForPath;
|
|
@@ -448,6 +510,14 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
448
510
|
private readonly logger;
|
|
449
511
|
private readonly jsonLogic;
|
|
450
512
|
private readonly i18n;
|
|
513
|
+
private readonly collectionExport;
|
|
514
|
+
private readonly paginatorIntl;
|
|
515
|
+
private readonly snackBar;
|
|
516
|
+
private readonly aiApi;
|
|
517
|
+
private readonly assistantSessions;
|
|
518
|
+
private readonly aiTurnOrchestrator;
|
|
519
|
+
private readonly aiAssistantSessionEffect;
|
|
520
|
+
readonly paginatorSelectConfig: MatPaginatorSelectConfig;
|
|
451
521
|
private readonly logContext;
|
|
452
522
|
private readonly route;
|
|
453
523
|
private readonly globalActions;
|
|
@@ -464,6 +534,8 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
464
534
|
private readonly destroy$;
|
|
465
535
|
actionLoadingState: Record<string, boolean>;
|
|
466
536
|
private expandedItemKeys;
|
|
537
|
+
exportBusy: boolean;
|
|
538
|
+
exportStatusMessage: string;
|
|
467
539
|
private readonly listRuleContextOptions;
|
|
468
540
|
ngOnInit(): void;
|
|
469
541
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -495,6 +567,9 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
495
567
|
itemRuleStyle(item: any): string | undefined;
|
|
496
568
|
rowLayoutItemStyle(item: any): string | undefined;
|
|
497
569
|
rowLayoutItemClass(item: any): string | undefined;
|
|
570
|
+
private resolveItemStyleEffect;
|
|
571
|
+
private resolveSlotOverrideEffect;
|
|
572
|
+
private firstConditionalEffect;
|
|
498
573
|
hasRowLayoutGrid(): boolean;
|
|
499
574
|
rowLayoutColumns(): ListRowLayoutColumnViewModel[];
|
|
500
575
|
rowLayoutTrackColumn(index: number, column: ListRowLayoutColumnViewModel): string;
|
|
@@ -503,6 +578,9 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
503
578
|
rowLayoutColumnClass(column: ListRowLayoutColumnViewModel): string | undefined;
|
|
504
579
|
rowLayoutColumnStyle(column: ListRowLayoutColumnViewModel): string | undefined;
|
|
505
580
|
rowLayoutSlot(item: any, slot: string): Record<string, any> | null;
|
|
581
|
+
cardDetailSlots(item: any): ListCardDetailSlotViewModel[];
|
|
582
|
+
private humanizeSlotLabel;
|
|
583
|
+
private hasDisplayableNodeValue;
|
|
506
584
|
rowLayoutHasSlot(slot: ListRowLayoutSlot): boolean;
|
|
507
585
|
rowLayoutImageAlt(slot: string): string;
|
|
508
586
|
simpleRichContentNodes(node: Record<string, any> | null | undefined, options?: {
|
|
@@ -561,8 +639,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
561
639
|
buttonVariant?: "stroked" | "raised" | "flat";
|
|
562
640
|
showIf?: JsonLogicExpression | null;
|
|
563
641
|
emitPayload?: "item" | "id" | "value";
|
|
564
|
-
|
|
565
|
-
globalPayload?: any;
|
|
642
|
+
globalAction?: GlobalActionRef;
|
|
566
643
|
emitLocal?: boolean;
|
|
567
644
|
showLoading?: boolean;
|
|
568
645
|
placement?: "actions" | "trailing";
|
|
@@ -582,16 +659,65 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
582
659
|
expansionRegionAriaLabel(item: any): string;
|
|
583
660
|
emptyStateLabel(): string;
|
|
584
661
|
onActionClick(ev: MouseEvent, actionId: string, item: any, index: number): Promise<void>;
|
|
585
|
-
private isGlobalCommand;
|
|
586
662
|
private resolveActionPayload;
|
|
587
663
|
private resolveTemplate;
|
|
664
|
+
private isDeferredTemplateExpressionKey;
|
|
588
665
|
private resolveStringTemplate;
|
|
589
666
|
private lookup;
|
|
590
667
|
onSelectionChange(_change: MatSelectionListChange): void;
|
|
668
|
+
listExportFormats(): PraxisExportFormat[];
|
|
669
|
+
exportIcon(format: PraxisExportFormat): string;
|
|
670
|
+
onExportAction(format: PraxisExportFormat): Promise<void>;
|
|
671
|
+
private buildListExportRequest;
|
|
672
|
+
private resolveEffectiveExportScope;
|
|
673
|
+
private buildListExportSelection;
|
|
674
|
+
private resolveListExportLoadedItems;
|
|
675
|
+
private buildListExportFields;
|
|
676
|
+
private collectListExportFieldKeys;
|
|
677
|
+
private normalizeListSelectionValue;
|
|
678
|
+
private resolveListSelectionKey;
|
|
679
|
+
private hasListExportQuery;
|
|
680
|
+
private getListQuerySnapshot;
|
|
681
|
+
private getListPageStateSnapshot;
|
|
682
|
+
private resolveListExportTotal;
|
|
683
|
+
private parseListExportSort;
|
|
684
|
+
private downloadExportResult;
|
|
685
|
+
private triggerExportDownload;
|
|
686
|
+
private showExportFeedback;
|
|
687
|
+
private resolveExportFileName;
|
|
688
|
+
private getExportFileExtension;
|
|
689
|
+
private getExportMimeType;
|
|
690
|
+
private cloneForExportEvent;
|
|
591
691
|
openConfigEditor(): void;
|
|
692
|
+
openAiAssistant(): void;
|
|
693
|
+
openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
|
|
694
|
+
closeAiAssistant(): void;
|
|
695
|
+
onAiAssistantPromptChange(prompt: string): void;
|
|
696
|
+
onAiAssistantSubmit(prompt: string): void;
|
|
697
|
+
onAiAssistantApply(): void;
|
|
698
|
+
onAiAssistantRetry(): void;
|
|
699
|
+
onAiAssistantCancel(): void;
|
|
700
|
+
onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
|
|
701
|
+
onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
|
|
702
|
+
onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
|
|
703
|
+
onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
|
|
704
|
+
private initializeAiAssistantController;
|
|
705
|
+
private buildAiAssistantContextItems;
|
|
706
|
+
private buildAiAssistantContextSnapshot;
|
|
707
|
+
private syncAiAssistantSession;
|
|
708
|
+
private hasAiAssistantSessionState;
|
|
709
|
+
private resolveAiAssistantSessionId;
|
|
710
|
+
private resolveAiAssistantOwnerId;
|
|
711
|
+
private resolveAiAssistantRouteKey;
|
|
712
|
+
private resolveAiAssistantSummary;
|
|
713
|
+
private resolveAiAssistantBadge;
|
|
714
|
+
private resolveAiAssistantIcon;
|
|
592
715
|
nextPage(): void;
|
|
593
716
|
prevPage(): void;
|
|
594
717
|
setPageSize(ps: number): void;
|
|
718
|
+
onPageChange(event: PageEvent): void;
|
|
719
|
+
listPageSizeOptions(): number[];
|
|
720
|
+
remoteTotalLabel(total: number | null | undefined): string;
|
|
595
721
|
onSortChange(val: string): void;
|
|
596
722
|
onSearchInput(val: string): void;
|
|
597
723
|
sortOptionValue(op: any): string;
|
|
@@ -604,8 +730,12 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
604
730
|
pageNumber: number;
|
|
605
731
|
pageSize: number;
|
|
606
732
|
}, total: number): number;
|
|
733
|
+
private syncPaginatorIntl;
|
|
734
|
+
private formatPaginatorRangeLabel;
|
|
735
|
+
private isEnglishLocaleValue;
|
|
607
736
|
applyConfigFromAdapter(newCfg: PraxisListConfig): void;
|
|
608
737
|
private applyAuthoringPayload;
|
|
738
|
+
private applyRuntimeQueryContext;
|
|
609
739
|
private buildListEditorRuntimeContext;
|
|
610
740
|
private executeListEditorApplyPlan;
|
|
611
741
|
private storageKey;
|
|
@@ -615,6 +745,9 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
615
745
|
private executeSchemaInferenceForPlan;
|
|
616
746
|
private evalSlot;
|
|
617
747
|
private resolveSlotTemplate;
|
|
748
|
+
private resolveLocalDataFallbackTemplate;
|
|
749
|
+
private isLocalDataPreviewItem;
|
|
750
|
+
private firstPresentItemKey;
|
|
618
751
|
private evaluateTemplateNode;
|
|
619
752
|
private buildUnsupportedComposeNode;
|
|
620
753
|
private buildRuntimeComponentView;
|
|
@@ -669,19 +802,19 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
|
|
|
669
802
|
private mergePlainObjects;
|
|
670
803
|
private buildActionLoadingKey;
|
|
671
804
|
private ensureActionItemObjectId;
|
|
672
|
-
private warnGlobalCommandUnavailableOnce;
|
|
673
805
|
private buildLogOptions;
|
|
674
806
|
private toggleExpanded;
|
|
675
807
|
private syncExpansionState;
|
|
676
808
|
private itemExpansionKey;
|
|
677
|
-
|
|
809
|
+
t(key: string, fallback: string): string;
|
|
810
|
+
private tWithLocale;
|
|
678
811
|
private ensureExpansionItemObjectId;
|
|
679
812
|
private sanitizeDomId;
|
|
680
813
|
private evaluateExpansionExpr;
|
|
681
814
|
private normalizeExpansionItems;
|
|
682
815
|
private normalizeKeyValueItems;
|
|
683
816
|
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>;
|
|
817
|
+
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"; }, never, never, true, never>;
|
|
685
818
|
static ngAcceptInputType_enableCustomization: unknown;
|
|
686
819
|
}
|
|
687
820
|
|
|
@@ -1294,18 +1427,24 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1294
1427
|
ensureConfirmation(action: any): void;
|
|
1295
1428
|
setConfirmationField(action: any, field: 'title' | 'message', value: string): void;
|
|
1296
1429
|
applyConfirmationPreset(action: any, type?: 'danger' | 'warning' | 'info' | ''): void;
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1430
|
+
applyGlobalActionPayloadExample(action: any): void;
|
|
1431
|
+
globalActionPayloadExampleHint(action: any): string;
|
|
1432
|
+
globalActionPayloadSchemaTooltip(action: any): string;
|
|
1433
|
+
onActionGlobalActionIdChange(action: any, actionId: string): void;
|
|
1434
|
+
getGlobalActionPayloadText(action: {
|
|
1435
|
+
globalAction?: GlobalActionRef;
|
|
1436
|
+
}): string;
|
|
1437
|
+
onGlobalActionPayloadTextChange(action: any, value: string): void;
|
|
1438
|
+
isGlobalActionPayloadInvalid(action: {
|
|
1439
|
+
globalAction?: GlobalActionRef;
|
|
1440
|
+
}): boolean;
|
|
1301
1441
|
isSurfaceOpenCommand(action: {
|
|
1302
|
-
|
|
1442
|
+
globalAction?: GlobalActionRef;
|
|
1303
1443
|
}): boolean;
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
globalPayload?: string;
|
|
1444
|
+
getSurfaceOpenGlobalActionPayload(action: {
|
|
1445
|
+
globalAction?: GlobalActionRef;
|
|
1307
1446
|
}): SurfaceOpenPayload;
|
|
1308
|
-
|
|
1447
|
+
onSurfaceOpenGlobalActionPayloadChange(action: any, payload: SurfaceOpenPayload): void;
|
|
1309
1448
|
onGlobalActionSelected(id?: string): void;
|
|
1310
1449
|
private addGlobalActionFromCatalog;
|
|
1311
1450
|
metaTypeConfig(type?: string): {
|
|
@@ -1365,6 +1504,11 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1365
1504
|
private getGlobalActionEntryLabel;
|
|
1366
1505
|
private getGlobalActionEntryDescription;
|
|
1367
1506
|
private getGlobalActionSchema;
|
|
1507
|
+
getGlobalActionId(action: {
|
|
1508
|
+
globalAction?: GlobalActionRef;
|
|
1509
|
+
}): string;
|
|
1510
|
+
private parseGlobalActionPayloadText;
|
|
1511
|
+
private looksLikeJsonPayload;
|
|
1368
1512
|
private normalizeSurfaceOpenPayload;
|
|
1369
1513
|
verify(): void;
|
|
1370
1514
|
inferFromFields(): void;
|
|
@@ -1382,6 +1526,35 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
|
|
|
1382
1526
|
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
1527
|
}
|
|
1384
1528
|
|
|
1529
|
+
interface PraxisListWidgetEditorInputs {
|
|
1530
|
+
config?: PraxisListConfig | null;
|
|
1531
|
+
listId?: string;
|
|
1532
|
+
[key: string]: unknown;
|
|
1533
|
+
}
|
|
1534
|
+
interface PraxisListWidgetEditorValue {
|
|
1535
|
+
inputs: PraxisListWidgetEditorInputs;
|
|
1536
|
+
}
|
|
1537
|
+
declare class PraxisListWidgetConfigEditor implements SettingsValueProvider$1, AfterViewInit, OnDestroy {
|
|
1538
|
+
inputs: PraxisListWidgetEditorInputs | null;
|
|
1539
|
+
widgetKey?: string;
|
|
1540
|
+
listEditor?: PraxisListConfigEditor;
|
|
1541
|
+
readonly isDirty$: BehaviorSubject<boolean>;
|
|
1542
|
+
readonly isValid$: BehaviorSubject<boolean>;
|
|
1543
|
+
readonly isBusy$: BehaviorSubject<boolean>;
|
|
1544
|
+
private readonly subscription;
|
|
1545
|
+
get config(): PraxisListConfig;
|
|
1546
|
+
get listId(): string | undefined;
|
|
1547
|
+
ngAfterViewInit(): void;
|
|
1548
|
+
ngOnDestroy(): void;
|
|
1549
|
+
getSettingsValue(): PraxisListWidgetEditorValue;
|
|
1550
|
+
onSave(): PraxisListWidgetEditorValue;
|
|
1551
|
+
reset(): void;
|
|
1552
|
+
private initializeChildEditor;
|
|
1553
|
+
private buildValue;
|
|
1554
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PraxisListWidgetConfigEditor, never>;
|
|
1555
|
+
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>;
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1385
1558
|
declare function createListAuthoringDocument(source: {
|
|
1386
1559
|
config?: unknown;
|
|
1387
1560
|
}): ListAuthoringDocument;
|
|
@@ -1424,8 +1597,9 @@ interface TemplateEvaluatorOptions {
|
|
|
1424
1597
|
declare function evalExpr(expr: string, ctx: any, options?: TemplateEvaluatorOptions): string;
|
|
1425
1598
|
/**
|
|
1426
1599
|
* Evaluate a template definition with basic pipe support.
|
|
1427
|
-
* Supported pipes:
|
|
1600
|
+
* Supported top-level pipes:
|
|
1428
1601
|
* - bool:TrueLabel:FalseLabel (maps truthy/falsey values to provided labels)
|
|
1602
|
+
* - map:key=Label,... (maps scalar values to labels)
|
|
1429
1603
|
*/
|
|
1430
1604
|
declare function evaluateTemplate(def: TemplateDef | undefined, item: any, options?: TemplateEvaluatorOptions): {
|
|
1431
1605
|
type: string;
|
|
@@ -1458,10 +1632,14 @@ declare function providePraxisListMetadata(): Provider;
|
|
|
1458
1632
|
declare module '@praxisui/core' {
|
|
1459
1633
|
interface AiCapabilityCategoryMap {
|
|
1460
1634
|
meta: true;
|
|
1635
|
+
export: true;
|
|
1461
1636
|
skin: true;
|
|
1462
1637
|
selection: true;
|
|
1463
1638
|
templating: true;
|
|
1464
1639
|
actions: true;
|
|
1640
|
+
interaction: true;
|
|
1641
|
+
expansion: true;
|
|
1642
|
+
rules: true;
|
|
1465
1643
|
ui: true;
|
|
1466
1644
|
i18n: true;
|
|
1467
1645
|
a11y: true;
|
|
@@ -1477,6 +1655,8 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
|
|
|
1477
1655
|
}
|
|
1478
1656
|
declare const LIST_AI_CAPABILITIES: CapabilityCatalog;
|
|
1479
1657
|
|
|
1658
|
+
declare const PRAXIS_LIST_AUTHORING_MANIFEST: ComponentAuthoringManifest;
|
|
1659
|
+
|
|
1480
1660
|
type DemoScenario = 'operations' | 'executive-expansion' | 'catalog' | 'empty';
|
|
1481
1661
|
type DemoVariant = 'list' | 'cards' | 'tiles';
|
|
1482
1662
|
type DemoDensity = 'default' | 'comfortable' | 'compact';
|
|
@@ -1642,14 +1822,8 @@ declare class PraxisListDocPageComponent {
|
|
|
1642
1822
|
class?: string;
|
|
1643
1823
|
inlineStyle?: string;
|
|
1644
1824
|
} | undefined;
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
expandable?: boolean;
|
|
1648
|
-
expandTrigger?: "row" | "icon" | "row+icon";
|
|
1649
|
-
expandMode?: "single" | "multiple";
|
|
1650
|
-
expandPlacement?: "expand" | "trailing";
|
|
1651
|
-
};
|
|
1652
|
-
templating?: {
|
|
1825
|
+
templating: {
|
|
1826
|
+
statusPosition: "top-right";
|
|
1653
1827
|
leading?: TemplateDef;
|
|
1654
1828
|
primary?: TemplateDef;
|
|
1655
1829
|
secondary?: TemplateDef;
|
|
@@ -1663,7 +1837,6 @@ declare class PraxisListDocPageComponent {
|
|
|
1663
1837
|
owner?: TemplateDef;
|
|
1664
1838
|
metaPlacement?: "side" | "line";
|
|
1665
1839
|
metaPrefixIcon?: string;
|
|
1666
|
-
statusPosition?: "inline" | "top-right";
|
|
1667
1840
|
chipColorMap?: Record<string, string>;
|
|
1668
1841
|
chipLabelMap?: Record<string, string>;
|
|
1669
1842
|
iconColorMap?: Record<string, string>;
|
|
@@ -1676,24 +1849,17 @@ declare class PraxisListDocPageComponent {
|
|
|
1676
1849
|
count?: number;
|
|
1677
1850
|
};
|
|
1678
1851
|
};
|
|
1852
|
+
id?: string;
|
|
1853
|
+
export?: PraxisListExportConfig;
|
|
1854
|
+
interaction?: {
|
|
1855
|
+
expandable?: boolean;
|
|
1856
|
+
expandTrigger?: "row" | "icon" | "row+icon";
|
|
1857
|
+
expandMode?: "single" | "multiple";
|
|
1858
|
+
expandPlacement?: "expand" | "trailing";
|
|
1859
|
+
};
|
|
1679
1860
|
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
|
-
}>;
|
|
1861
|
+
itemStyles?: ListItemStyleRule[];
|
|
1862
|
+
slotOverrides?: ListSlotOverrideRule[];
|
|
1697
1863
|
};
|
|
1698
1864
|
expansion?: {
|
|
1699
1865
|
sections?: ListExpansionSectionDef[];
|
|
@@ -1744,8 +1910,7 @@ declare class PraxisListDocPageComponent {
|
|
|
1744
1910
|
buttonVariant?: "stroked" | "raised" | "flat";
|
|
1745
1911
|
showIf?: _praxisui_core.JsonLogicExpression | null;
|
|
1746
1912
|
emitPayload?: "item" | "id" | "value";
|
|
1747
|
-
|
|
1748
|
-
globalPayload?: any;
|
|
1913
|
+
globalAction?: _praxisui_core.GlobalActionRef;
|
|
1749
1914
|
emitLocal?: boolean;
|
|
1750
1915
|
showLoading?: boolean;
|
|
1751
1916
|
placement?: "actions" | "trailing";
|
|
@@ -1777,6 +1942,7 @@ declare class PraxisListDocPageComponent {
|
|
|
1777
1942
|
itemClick?: string;
|
|
1778
1943
|
actionClick?: string;
|
|
1779
1944
|
selectionChange?: string;
|
|
1945
|
+
exportAction?: string;
|
|
1780
1946
|
loaded?: string;
|
|
1781
1947
|
};
|
|
1782
1948
|
};
|
|
@@ -1813,6 +1979,13 @@ declare const PRAXIS_LIST_EN_US: {
|
|
|
1813
1979
|
readonly collapseDetails: "Collapse details";
|
|
1814
1980
|
readonly itemDetails: "Item details";
|
|
1815
1981
|
readonly emptyState: "No items available";
|
|
1982
|
+
readonly 'pagination.itemsPerPage': "Items per page:";
|
|
1983
|
+
readonly 'pagination.nextPage': "Next page";
|
|
1984
|
+
readonly 'pagination.previousPage': "Previous page";
|
|
1985
|
+
readonly 'pagination.firstPage': "First page";
|
|
1986
|
+
readonly 'pagination.lastPage': "Last page";
|
|
1987
|
+
readonly 'pagination.total': "Total";
|
|
1988
|
+
readonly 'export.button': "Export";
|
|
1816
1989
|
readonly Data: "Data";
|
|
1817
1990
|
readonly Actions: "Actions";
|
|
1818
1991
|
readonly Layout: "Layout";
|
|
@@ -1838,7 +2011,7 @@ declare const PRAXIS_LIST_EN_US: {
|
|
|
1838
2011
|
readonly 'Global action (Praxis)': "Global action (Praxis)";
|
|
1839
2012
|
readonly '-- Select --': "-- Select --";
|
|
1840
2013
|
readonly 'No global action registered.': "No global action registered.";
|
|
1841
|
-
readonly 'Select to add with a global
|
|
2014
|
+
readonly 'Select to add with a structured global action.': "Select to add with a structured global action.";
|
|
1842
2015
|
readonly 'Action type': "Action type";
|
|
1843
2016
|
readonly Icon: "Icon";
|
|
1844
2017
|
readonly Button: "Button";
|
|
@@ -1872,7 +2045,7 @@ declare const PRAXIS_LIST_EN_US: {
|
|
|
1872
2045
|
readonly 'Emit local event too': "Emit local event too";
|
|
1873
2046
|
readonly JSON: "JSON";
|
|
1874
2047
|
readonly ID: "ID";
|
|
1875
|
-
readonly '
|
|
2048
|
+
readonly 'Global action': "Global action";
|
|
1876
2049
|
readonly Catalog: "Catalog";
|
|
1877
2050
|
readonly Danger: "Danger";
|
|
1878
2051
|
readonly Warning: "Warning";
|
|
@@ -2041,6 +2214,13 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2041
2214
|
readonly collapseDetails: "Recolher detalhes";
|
|
2042
2215
|
readonly itemDetails: "Detalhes do item";
|
|
2043
2216
|
readonly emptyState: "Nenhum item disponível";
|
|
2217
|
+
readonly 'pagination.itemsPerPage': "Itens por página:";
|
|
2218
|
+
readonly 'pagination.nextPage': "Próxima página";
|
|
2219
|
+
readonly 'pagination.previousPage': "Página anterior";
|
|
2220
|
+
readonly 'pagination.firstPage': "Primeira página";
|
|
2221
|
+
readonly 'pagination.lastPage': "Última página";
|
|
2222
|
+
readonly 'pagination.total': "Total";
|
|
2223
|
+
readonly 'export.button': "Exportar";
|
|
2044
2224
|
readonly Data: "Dados";
|
|
2045
2225
|
readonly Actions: "Ações";
|
|
2046
2226
|
readonly Layout: "Layout";
|
|
@@ -2066,7 +2246,7 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2066
2246
|
readonly 'Global action (Praxis)': "Ação global (Praxis)";
|
|
2067
2247
|
readonly '-- Select --': "-- Selecionar --";
|
|
2068
2248
|
readonly 'No global action registered.': "Nenhuma ação global registrada.";
|
|
2069
|
-
readonly 'Select to add with a global
|
|
2249
|
+
readonly 'Select to add with a structured global action.': "Selecione para adicionar com uma ação global estruturada.";
|
|
2070
2250
|
readonly 'Action type': "Tipo de ação";
|
|
2071
2251
|
readonly Icon: "Ícone";
|
|
2072
2252
|
readonly Button: "Botão";
|
|
@@ -2100,7 +2280,7 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2100
2280
|
readonly 'Emit local event too': "Emitir evento local também";
|
|
2101
2281
|
readonly JSON: "JSON";
|
|
2102
2282
|
readonly ID: "ID";
|
|
2103
|
-
readonly '
|
|
2283
|
+
readonly 'Global action': "Ação global";
|
|
2104
2284
|
readonly Catalog: "Catálogo";
|
|
2105
2285
|
readonly Danger: "Perigo";
|
|
2106
2286
|
readonly Warning: "Aviso";
|
|
@@ -2260,5 +2440,5 @@ declare const PRAXIS_LIST_PT_BR: {
|
|
|
2260
2440
|
readonly 'CSS class example (add this to your global styles):': "Exemplo de classe CSS (adicione isto aos seus estilos globais):";
|
|
2261
2441
|
};
|
|
2262
2442
|
|
|
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 };
|
|
2443
|
+
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 };
|
|
2444
|
+
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.31",
|
|
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.31",
|
|
10
|
+
"rxjs": ">=7 <9",
|
|
11
|
+
"@angular/forms": ">=16 <21",
|
|
12
|
+
"@angular/router": ">=16 <21",
|
|
13
|
+
"@praxisui/ai": "^8.0.0-beta.31",
|
|
14
|
+
"@praxisui/core": "^8.0.0-beta.31",
|
|
15
|
+
"@praxisui/rich-content": "^8.0.0-beta.31",
|
|
16
|
+
"@praxisui/settings-panel": "^8.0.0-beta.31"
|
|
11
17
|
},
|
|
12
18
|
"dependencies": {
|
|
13
19
|
"tslib": "^2.3.0",
|