@praxisui/list 10.0.0-rc.37 → 10.0.0-rc.39

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/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@praxisui/list",
3
- "version": "10.0.0-rc.37",
3
+ "version": "10.0.0-rc.39",
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
8
  "@angular/cdk": "^21.0.0",
9
9
  "@angular/material": "^21.0.0",
10
- "@praxisui/dynamic-fields": "^10.0.0-rc.37",
10
+ "@praxisui/dynamic-fields": "^10.0.0-rc.39",
11
11
  "rxjs": ">=7 <9",
12
12
  "@angular/forms": "^21.0.0",
13
13
  "@angular/router": "^21.0.0",
14
- "@praxisui/ai": "^10.0.0-rc.37",
15
- "@praxisui/core": "^10.0.0-rc.37",
16
- "@praxisui/rich-content": "^10.0.0-rc.37",
17
- "@praxisui/settings-panel": "^10.0.0-rc.37"
14
+ "@praxisui/ai": "^10.0.0-rc.39",
15
+ "@praxisui/core": "^10.0.0-rc.39",
16
+ "@praxisui/rich-content": "^10.0.0-rc.39",
17
+ "@praxisui/settings-panel": "^10.0.0-rc.39"
18
18
  },
19
19
  "dependencies": {
20
20
  "tslib": "^2.3.0",
@@ -683,6 +683,8 @@ Tipo declarado sem renderer dedicado:
683
683
  | `templating.<slot>.badge.expr` | Active | badge em template de imagem |
684
684
  | `templating.<slot>.badge.color` | Active | cor badge |
685
685
  | `templating.<slot>.badge.variant` | Active | variante badge |
686
+ | `templating.<slot>.quickView` | Active | `ResourceQuickViewBinding` governado no slot via `[praxisQuickView]` (`stopPropagation` isola clique/selecao do item) |
687
+ | `templating.<slot>.items[].quickView` | Active | `ResourceQuickViewBinding` individual por subitem em `type = 'compose'` |
686
688
  | `templating.metaPlacement` | Active | `side`/`line` |
687
689
  | `templating.metaPrefixIcon` | Active | icone prefixado em meta textual |
688
690
  | `templating.statusPosition` | Active | `inline`/`top-right` em cards/tiles |
@@ -924,6 +926,8 @@ AI:
924
926
  | `templating.<slot>.badge.expr` | Active | badge |
925
927
  | `templating.<slot>.badge.color` | Active | badge |
926
928
  | `templating.<slot>.badge.variant` | Active | badge |
929
+ | `templating.<slot>.quickView` | Active | `ResourceQuickViewBinding` governado no slot |
930
+ | `templating.<slot>.items[].quickView` | Active | `ResourceQuickViewBinding` por subitem de `compose` |
927
931
  | `templating.metaPlacement` | Active | side/line |
928
932
  | `templating.metaPrefixIcon` | Active | prefix icon |
929
933
  | `templating.statusPosition` | Active | inline/top-right |
@@ -4,7 +4,7 @@ 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 { PraxisExportFormat, PraxisExportScope, PraxisRuntimeConditionalEffectRule, JsonLogicExpression, RichContentDocument, ResourceRecordOpenRef, GlobalActionRef, LocalizationConfig, AiCapability, PraxisDataQueryContext, RichBlockNode, RichBlockHostCapabilities, ApiEndpoint, ApiUrlEntry, SurfaceOpenActionEditorComponent, DiscoveredResourceOption, GlobalActionCatalogEntry, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, RichPresenterNode, RichComposeNode, ComponentDocMeta, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
7
+ import { PraxisExportFormat, PraxisExportScope, ResourceQuickViewBinding, PraxisRuntimeConditionalEffectRule, JsonLogicExpression, RichContentDocument, ResourceRecordOpenRef, GlobalActionRef, LocalizationConfig, AiCapability, PraxisDataQueryContext, RichBlockNode, EmptyAction, RichBlockHostCapabilities, ApiEndpoint, ApiUrlEntry, SurfaceOpenActionEditorComponent, DiscoveredResourceOption, GlobalActionCatalogEntry, SurfaceOpenPayload, SettingsValueProvider as SettingsValueProvider$1, RichPresenterNode, RichComposeNode, ComponentDocMeta, AiCapabilityCategory, AiCapabilityCatalog, AiValueKind, ComponentAuthoringManifest } from '@praxisui/core';
8
8
  import { BaseAiAdapter, AiResponseCompileResult, PatchResult, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
9
9
  import { SettingsValueProvider } from '@praxisui/settings-panel';
10
10
  import * as _praxisui_list from '@praxisui/list';
@@ -78,6 +78,10 @@ interface TemplateDef {
78
78
  color?: string;
79
79
  variant?: 'filled' | 'outlined';
80
80
  };
81
+ /**
82
+ * Binding declarativo de Quick View transversal para slots/nós de item da lista.
83
+ */
84
+ quickView?: ResourceQuickViewBinding;
81
85
  }
82
86
  interface ListFeatureDef {
83
87
  icon?: string;
@@ -173,8 +177,12 @@ interface PraxisListItemAction {
173
177
  */
174
178
  hateoasRel?: string;
175
179
  emitPayload?: 'item' | 'id' | 'value';
176
- action?: 'surface.open' | string;
180
+ action?: 'surface.open' | 'quickView.open' | string;
177
181
  recordOpen?: ResourceRecordOpenRef;
182
+ /**
183
+ * Binding declarativo de Quick View transversal para ação de item da lista.
184
+ */
185
+ quickView?: ResourceQuickViewBinding;
178
186
  globalAction?: GlobalActionRef;
179
187
  command?: string;
180
188
  params?: Record<string, unknown>;
@@ -521,6 +529,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
521
529
  private static nextSkinScopeId;
522
530
  private customizationEnabled;
523
531
  private readonly hostLocale;
532
+ private readonly quickViewService;
524
533
  config: PraxisListConfig;
525
534
  listId: string;
526
535
  componentInstanceId?: string;
@@ -555,6 +564,8 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
555
564
  private lastQuery;
556
565
  private lastRuntimeQueryContextSignature;
557
566
  private search$;
567
+ activeSearchTerm: string;
568
+ private searchInputRef?;
558
569
  get layoutLines(): number;
559
570
  boundControl: FormControl<unknown | unknown[] | null>;
560
571
  private selectionControlSubscription?;
@@ -735,6 +746,13 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
735
746
  configEditorLabel(): string;
736
747
  expandToggleAriaLabel(item: any, index: number): string;
737
748
  expansionRegionAriaLabel(item: any): string;
749
+ hasCustomEmptyStateTemplate(): boolean;
750
+ hasActiveEmptyStateFilters(): boolean;
751
+ emptyStateIcon(): string;
752
+ emptyStateTitle(): string;
753
+ emptyStateDescription(): string;
754
+ emptyStatePrimaryAction(): EmptyAction | undefined;
755
+ emptyStateSecondaryActions(): EmptyAction[];
738
756
  emptyStateLabel(): string;
739
757
  selectionListAriaLabel(): string | null;
740
758
  selectionControlName(): string;
@@ -777,6 +795,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
777
795
  private getExportFileExtension;
778
796
  private getExportMimeType;
779
797
  private cloneForExportEvent;
798
+ openQuickConnect(): void;
780
799
  openConfigEditor(): void;
781
800
  private openConfigEditorPanel;
782
801
  openAiAssistant(): void;
@@ -812,6 +831,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
812
831
  retryRemoteData(): void;
813
832
  private focusCollectionBeforeReload;
814
833
  onSearchInput(val: string): void;
834
+ clearSearch(): void;
815
835
  isRemoteDataMode(): boolean;
816
836
  activeSortValue(sort: string[] | undefined): string;
817
837
  hasSortOption(value: string): boolean;
@@ -836,6 +856,7 @@ declare class PraxisList implements OnInit, OnChanges, AfterViewInit, OnDestroy
836
856
  private storageKey;
837
857
  private componentKeyId;
838
858
  private readonly crud;
859
+ private readonly resourceDiscovery;
839
860
  private executeSchemaInferenceForPlan;
840
861
  private evalSlot;
841
862
  private resolveSlotTemplate;
@@ -1312,6 +1333,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1312
1333
  label?: string;
1313
1334
  type?: string;
1314
1335
  description?: string;
1336
+ enumValues?: string[];
1337
+ optionLabels?: Record<string, string>;
1315
1338
  }>;
1316
1339
  selectedResourceOption: DiscoveredResourceOption | null;
1317
1340
  schemaWarning: string;
@@ -1321,6 +1344,7 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1321
1344
  onFieldSelectOpenedChange(_opened: boolean): void;
1322
1345
  getFilteredFields(selected?: string | string[] | null): string[];
1323
1346
  onDiscoveredResourceSelected(entry: DiscoveredResourceOption | null): void;
1347
+ private extractFieldDomainMeta;
1324
1348
  getFieldLabel(fieldName?: string | null): string;
1325
1349
  getFieldTypeBadge(fieldName?: string | null): string;
1326
1350
  getFieldDescription(fieldName?: string | null): string;
@@ -1524,6 +1548,7 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1524
1548
  private setupSchemaWatcher;
1525
1549
  private shouldAutoInferSlots;
1526
1550
  private pendingRemoteSlotInference;
1551
+ private lastNonEmptyResourcePath;
1527
1552
  syncSchemaFieldsFromWorking(immediate?: boolean): void;
1528
1553
  loadFieldsFromResource(resourcePath: string): void;
1529
1554
  onResourcePathChange(value: string): void;
@@ -1547,6 +1572,16 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1547
1572
  applySalaryPreset(): void;
1548
1573
  applyPricePreset(): void;
1549
1574
  private applyCurrencyPreset;
1575
+ private resolveStatusDomainField;
1576
+ private inferSemanticStatusColor;
1577
+ resolveDomainColorMapEntries(explicitField?: string): Array<{
1578
+ key: string;
1579
+ color: string;
1580
+ }>;
1581
+ resolveDomainLabelMapEntries(explicitField?: string): Array<{
1582
+ key: string;
1583
+ label: string;
1584
+ }>;
1550
1585
  private defaultStatusColorMapEntries;
1551
1586
  previewData: {
1552
1587
  title: string;
@@ -1855,6 +1890,8 @@ declare class PraxisListConfigEditor implements SettingsValueProvider, DoCheck {
1855
1890
  private looksLikeJsonPayload;
1856
1891
  private normalizeSurfaceOpenPayload;
1857
1892
  verify(): void;
1893
+ private isGenericInferredChipColorMap;
1894
+ private isGenericInferredChipLabelMap;
1858
1895
  inferFromFields(): void;
1859
1896
  generateFeaturesFromMetaComposition(): void;
1860
1897
  metaComposePreview(): string;
@@ -2352,7 +2389,14 @@ declare const PRAXIS_LIST_EN_US: {
2352
2389
  readonly collapseDetails: "Collapse details";
2353
2390
  readonly itemDetails: "Item details";
2354
2391
  readonly emptyState: "No items available";
2392
+ readonly emptyStateDescription: "There are no items to display right now.";
2393
+ readonly emptyStateFilteredTitle: "No results found";
2394
+ readonly emptyStateFilteredDescription: "Review the active filters or adjust the search term.";
2395
+ readonly emptyStateClearSearchAction: "Clear search";
2396
+ readonly emptyStateConnectResourceTitle: "Choose the list resource";
2355
2397
  readonly emptyStateConnectResource: "Connect this list to a resource to load items.";
2398
+ readonly emptyStateConnectResourceAction: "Select resource";
2399
+ readonly emptyStateConfigureAction: "Configure list";
2356
2400
  readonly recordOpenUnavailable: "Unable to open details for this item.";
2357
2401
  readonly 'selection.ariaLabel': "Selectable list";
2358
2402
  readonly 'selection.selectItem': "Select item";
@@ -2748,7 +2792,14 @@ declare const PRAXIS_LIST_PT_BR: {
2748
2792
  readonly collapseDetails: "Recolher detalhes";
2749
2793
  readonly itemDetails: "Detalhes do item";
2750
2794
  readonly emptyState: "Nenhum item disponível";
2795
+ readonly emptyStateDescription: "Não há itens para exibir neste momento.";
2796
+ readonly emptyStateFilteredTitle: "Nenhum resultado encontrado";
2797
+ readonly emptyStateFilteredDescription: "Revise os filtros ou ajuste o termo de busca.";
2798
+ readonly emptyStateClearSearchAction: "Limpar busca";
2799
+ readonly emptyStateConnectResourceTitle: "Escolha o recurso da lista";
2751
2800
  readonly emptyStateConnectResource: "Conecte a lista a um recurso para carregar os itens.";
2801
+ readonly emptyStateConnectResourceAction: "Selecionar recurso";
2802
+ readonly emptyStateConfigureAction: "Configurar lista";
2752
2803
  readonly recordOpenUnavailable: "Não foi possível abrir os detalhes deste item.";
2753
2804
  readonly 'selection.ariaLabel': "Lista selecionável";
2754
2805
  readonly 'selection.selectItem': "Selecionar item";