@praxisui/list 8.0.0-beta.27 → 8.0.0-beta.28

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/index.d.ts CHANGED
@@ -6,7 +6,7 @@ import { MatSelectionListChange } from '@angular/material/list';
6
6
  import { MatPaginatorSelectConfig, PageEvent } from '@angular/material/paginator';
7
7
  import { FormGroup, FormControl } from '@angular/forms';
8
8
  import * as _praxisui_core from '@praxisui/core';
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';
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
10
  import { BaseAiAdapter, AiResponseCompileResult, PatchResult, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
11
11
  import { SettingsValueProvider } from '@praxisui/settings-panel';
12
12
 
@@ -450,6 +450,11 @@ interface ListRowLayoutColumnViewModel {
450
450
  class?: string;
451
451
  style?: string;
452
452
  }
453
+ interface ListCardDetailSlotViewModel {
454
+ slot: ListTemplatingSlot;
455
+ label: string;
456
+ node: Record<string, any>;
457
+ }
453
458
  declare class PraxisList implements OnInit, OnChanges, OnDestroy {
454
459
  private static nextSkinScopeId;
455
460
  private customizationEnabled;
@@ -458,6 +463,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
458
463
  listId: string;
459
464
  componentInstanceId?: string;
460
465
  configPersistenceStrategy: 'local-first' | 'input-first';
466
+ queryContext?: PraxisDataQueryContext | null;
461
467
  form?: FormGroup | null;
462
468
  set enableCustomization(value: boolean);
463
469
  get enableCustomization(): boolean;
@@ -475,6 +481,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
475
481
  sort?: string[];
476
482
  }>;
477
483
  private lastQuery;
484
+ private lastRuntimeQueryContextSignature;
478
485
  private search$;
479
486
  get layoutLines(): number;
480
487
  boundControl: FormControl<unknown | unknown[] | null>;
@@ -571,6 +578,9 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
571
578
  rowLayoutColumnClass(column: ListRowLayoutColumnViewModel): string | undefined;
572
579
  rowLayoutColumnStyle(column: ListRowLayoutColumnViewModel): string | undefined;
573
580
  rowLayoutSlot(item: any, slot: string): Record<string, any> | null;
581
+ cardDetailSlots(item: any): ListCardDetailSlotViewModel[];
582
+ private humanizeSlotLabel;
583
+ private hasDisplayableNodeValue;
574
584
  rowLayoutHasSlot(slot: ListRowLayoutSlot): boolean;
575
585
  rowLayoutImageAlt(slot: string): string;
576
586
  simpleRichContentNodes(node: Record<string, any> | null | undefined, options?: {
@@ -725,6 +735,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
725
735
  private isEnglishLocaleValue;
726
736
  applyConfigFromAdapter(newCfg: PraxisListConfig): void;
727
737
  private applyAuthoringPayload;
738
+ private applyRuntimeQueryContext;
728
739
  private buildListEditorRuntimeContext;
729
740
  private executeListEditorApplyPlan;
730
741
  private storageKey;
@@ -803,7 +814,7 @@ declare class PraxisList implements OnInit, OnChanges, OnDestroy {
803
814
  private normalizeExpansionItems;
804
815
  private normalizeKeyValueItems;
805
816
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisList, never>;
806
- 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; }; "form": { "alias": "form"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; }, { "itemClick": "itemClick"; "actionClick": "actionClick"; "selectionChange": "selectionChange"; "exportAction": "exportAction"; }, 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>;
807
818
  static ngAcceptInputType_enableCustomization: unknown;
808
819
  }
809
820
 
@@ -1586,8 +1597,9 @@ interface TemplateEvaluatorOptions {
1586
1597
  declare function evalExpr(expr: string, ctx: any, options?: TemplateEvaluatorOptions): string;
1587
1598
  /**
1588
1599
  * Evaluate a template definition with basic pipe support.
1589
- * Supported pipes:
1600
+ * Supported top-level pipes:
1590
1601
  * - bool:TrueLabel:FalseLabel (maps truthy/falsey values to provided labels)
1602
+ * - map:key=Label,... (maps scalar values to labels)
1591
1603
  */
1592
1604
  declare function evaluateTemplate(def: TemplateDef | undefined, item: any, options?: TemplateEvaluatorOptions): {
1593
1605
  type: string;
@@ -1810,15 +1822,8 @@ declare class PraxisListDocPageComponent {
1810
1822
  class?: string;
1811
1823
  inlineStyle?: string;
1812
1824
  } | undefined;
1813
- id?: string;
1814
- export?: PraxisListExportConfig;
1815
- interaction?: {
1816
- expandable?: boolean;
1817
- expandTrigger?: "row" | "icon" | "row+icon";
1818
- expandMode?: "single" | "multiple";
1819
- expandPlacement?: "expand" | "trailing";
1820
- };
1821
- templating?: {
1825
+ templating: {
1826
+ statusPosition: "top-right";
1822
1827
  leading?: TemplateDef;
1823
1828
  primary?: TemplateDef;
1824
1829
  secondary?: TemplateDef;
@@ -1832,7 +1837,6 @@ declare class PraxisListDocPageComponent {
1832
1837
  owner?: TemplateDef;
1833
1838
  metaPlacement?: "side" | "line";
1834
1839
  metaPrefixIcon?: string;
1835
- statusPosition?: "inline" | "top-right";
1836
1840
  chipColorMap?: Record<string, string>;
1837
1841
  chipLabelMap?: Record<string, string>;
1838
1842
  iconColorMap?: Record<string, string>;
@@ -1845,6 +1849,14 @@ declare class PraxisListDocPageComponent {
1845
1849
  count?: number;
1846
1850
  };
1847
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
+ };
1848
1860
  rules?: {
1849
1861
  itemStyles?: ListItemStyleRule[];
1850
1862
  slotOverrides?: ListSlotOverrideRule[];
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@praxisui/list",
3
- "version": "8.0.0-beta.27",
3
+ "version": "8.0.0-beta.28",
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.27",
9
+ "@praxisui/dynamic-fields": "^8.0.0-beta.28",
10
10
  "rxjs": ">=7 <9",
11
11
  "@angular/forms": ">=16 <21",
12
12
  "@angular/router": ">=16 <21",
13
- "@praxisui/ai": "^8.0.0-beta.27",
14
- "@praxisui/core": "^8.0.0-beta.27",
15
- "@praxisui/rich-content": "^8.0.0-beta.27",
16
- "@praxisui/settings-panel": "^8.0.0-beta.27"
13
+ "@praxisui/ai": "^8.0.0-beta.28",
14
+ "@praxisui/core": "^8.0.0-beta.28",
15
+ "@praxisui/rich-content": "^8.0.0-beta.28",
16
+ "@praxisui/settings-panel": "^8.0.0-beta.28"
17
17
  },
18
18
  "dependencies": {
19
19
  "tslib": "^2.3.0",