@praxisui/table 9.0.0-beta.7 → 9.0.0-beta.71

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.
@@ -1,8 +1,9 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
2
+ import { TableToolbarAppearanceConfig, TableConfig, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
3
3
  import * as i0 from '@angular/core';
4
- import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector } from '@angular/core';
4
+ import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector, Type } from '@angular/core';
5
5
  import { ActivatedRoute } from '@angular/router';
6
+ import { SafeHtml } from '@angular/platform-browser';
6
7
  import { MatTable, MatTableDataSource } from '@angular/material/table';
7
8
  import * as _angular_material_paginator from '@angular/material/paginator';
8
9
  import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
@@ -16,7 +17,6 @@ import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
16
17
  import { MatDialog } from '@angular/material/dialog';
17
18
  import { BaseDynamicFieldComponent } from '@praxisui/dynamic-fields';
18
19
  import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
19
- import { MatSelect } from '@angular/material/select';
20
20
  import { PraxisDialog } from '@praxisui/dialog';
21
21
  import { PraxisAssistantVoiceInputMode, PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantSessionSnapshot, PraxisAssistantShellQuickReply, PraxisAssistantRecommendedIntent, PraxisAssistantShellMessage } from '@praxisui/ai';
22
22
  import { HttpClient } from '@angular/common/http';
@@ -36,6 +36,7 @@ interface ActionLike {
36
36
  }
37
37
  declare function getActionId(action: ActionLike): string;
38
38
 
39
+ declare const PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS: Record<string, TableToolbarAppearanceConfig>;
39
40
  declare const PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE: InjectionToken<TableToolbarAppearanceConfig>;
40
41
  declare const PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS: InjectionToken<Record<string, TableToolbarAppearanceConfig>>;
41
42
  declare function providePraxisTableToolbarAppearance(appearance: TableToolbarAppearanceConfig, presets?: Record<string, TableToolbarAppearanceConfig>): Provider[];
@@ -63,6 +64,8 @@ declare class PraxisTableToolbar implements OnDestroy {
63
64
  }>;
64
65
  exportAction: EventEmitter<{
65
66
  format: string;
67
+ scope?: PraxisExportScope;
68
+ localOnly?: boolean;
66
69
  }>;
67
70
  columnVisibilityToggle: EventEmitter<{
68
71
  field: string;
@@ -74,6 +77,7 @@ declare class PraxisTableToolbar implements OnDestroy {
74
77
  private readonly warnedInvalidToolbarActionTypes;
75
78
  private readonly warnedMenuWithoutChildren;
76
79
  private readonly warnedVisibleWhenFallback;
80
+ private readonly warnedDisabledWhenFallback;
77
81
  private readonly warnedInvalidShortcuts;
78
82
  private readonly warnedInvalidShortcutScopes;
79
83
  private readonly warnedShortcutConflicts;
@@ -92,8 +96,18 @@ declare class PraxisTableToolbar implements OnDestroy {
92
96
  getToolbarIcon(): string | null;
93
97
  getToolbarTextAlign(): 'start' | 'center' | 'end';
94
98
  getExportDataLabel(): string;
99
+ getVisibleExcelExportLabel(): string;
100
+ getVisibleExcelExportDescription(): string;
101
+ getVisibleExcelExportAriaLabel(): string;
102
+ getExportFormatLabel(format: unknown): string;
103
+ getExportFormatTooltip(format: unknown): string;
104
+ getExportFormatAriaLabel(format: unknown): string;
95
105
  getMoreActionsLabel(): string;
96
106
  emitExportAction(event: Event, format: string): void;
107
+ emitVisibleExcelExportAction(event: Event): void;
108
+ isExcelExportFormat(format: unknown): boolean;
109
+ isVisibleExcelExportEnabled(format: unknown): boolean;
110
+ private normalizeExportFormat;
97
111
  getColumnsVisibilityLabel(): string;
98
112
  getColumnsVisibilityIcon(): string;
99
113
  isColumnsVisibilityEnabled(): boolean;
@@ -104,6 +118,7 @@ declare class PraxisTableToolbar implements OnDestroy {
104
118
  onColumnVisibilityMenuToggle(event: Event, field: string, currentlyVisible: boolean): void;
105
119
  toggleColumnVisibility(field: string, visible: boolean): void;
106
120
  private tx;
121
+ private interpolateText;
107
122
  ngOnDestroy(): void;
108
123
  getToolbarVariant(): TableToolbarAppearanceVariant;
109
124
  getToolbarDensity(): TableToolbarAppearanceDensity;
@@ -129,21 +144,29 @@ declare class PraxisTableToolbar implements OnDestroy {
129
144
  getActionColor(action: any): any;
130
145
  getActionAriaLabel(action: any): string;
131
146
  isActionDisabled(action: any): boolean;
147
+ getActionTooltip(action: any): string | null;
132
148
  onDocumentKeydown(event: KeyboardEvent): void;
133
149
  getBulkActionsPosition(): 'toolbar' | 'floating' | 'both';
134
150
  shouldRenderToolbarBulkActions(): boolean;
135
151
  getBulkToolbarActions(): any[];
152
+ private isBulkToolbarAction;
136
153
  private getVisibleToolbarActions;
137
154
  private resolveVisibleToolbarAction;
138
155
  private isActionVisible;
139
156
  private evaluateVisibleWhen;
157
+ private evaluateDisabledWhen;
158
+ private resolveDisabledWhenFallback;
140
159
  private isJsonLogicExpression;
141
160
  private resolveVisibleWhenFallback;
142
161
  private resolveVisibleWhenFallbackPolicy;
143
162
  private resolveRuntimeEnvironment;
144
- private isDiagnosticsEnvironment;
145
163
  private buildEvaluationContext;
164
+ private getSelectedCount;
165
+ private getBulkActionMinSelections;
166
+ private getBulkActionMaxSelections;
167
+ private resolveDisabledActionReason;
146
168
  private warnVisibleWhenFallback;
169
+ private warnDisabledWhenFallback;
147
170
  private collectShortcutBindings;
148
171
  private resolveShortcutScope;
149
172
  private normalizeShortcutCombo;
@@ -360,8 +383,9 @@ type FilterConfig = {
360
383
  };
361
384
  declare class FilterConfigService {
362
385
  private storage;
386
+ private localStorage;
363
387
  private readonly PREFIX;
364
- constructor(storage: AsyncConfigStorage);
388
+ constructor(storage: AsyncConfigStorage, localStorage: LocalStorageConfigService);
365
389
  /**
366
390
  * Load a persisted filter configuration for the given key.
367
391
  */
@@ -370,6 +394,11 @@ declare class FilterConfigService {
370
394
  * Persist a filter configuration for the given key.
371
395
  */
372
396
  save(key: string, config: FilterConfig): void;
397
+ /**
398
+ * Clear the persisted filter configuration from both remote storage and the
399
+ * local fallback cache so reset/reopen cannot revive stale preferences.
400
+ */
401
+ clear(key: string): void;
373
402
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterConfigService, never>;
374
403
  static ɵprov: i0.ɵɵInjectableDeclaration<FilterConfigService>;
375
404
  }
@@ -391,6 +420,16 @@ type I18n = {
391
420
  filtersAdd?: string;
392
421
  filtersSearch?: string;
393
422
  addCount?: string;
423
+ addCountSingular?: string;
424
+ manageFieldsTitle?: string;
425
+ manageFieldsDescription?: string;
426
+ close?: string;
427
+ clearSearch?: string;
428
+ selectedFieldsSuffix?: string;
429
+ selectAllResults?: string;
430
+ noFilterFieldsFound?: string;
431
+ fieldSelectionConflict?: string;
432
+ removingActiveFields?: string;
394
433
  addUnavailable?: string;
395
434
  pendingCount?: string;
396
435
  activeFiltersCount?: string;
@@ -431,6 +470,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
431
470
  private componentKeys;
432
471
  private route?;
433
472
  private logger?;
473
+ addManagerOrigin?: ElementRef<HTMLButtonElement>;
434
474
  resourcePath: string;
435
475
  /** Resolved API entry carried by detached hosts when route-scoped API_URL is not inherited. */
436
476
  apiUrlEntry?: ApiUrlEntry | null;
@@ -596,8 +636,12 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
596
636
  id: string;
597
637
  label: string;
598
638
  }>;
599
- readonly addSearchFieldId = "__praxis_filter_add_search__";
600
- readonly addSelectAllFieldId = "__praxis_filter_add_select_all__";
639
+ addDraftSelectedFieldIds: string[];
640
+ addManagerOpen: boolean;
641
+ addManagerConflict: boolean;
642
+ readonly addManagerTitleId: string;
643
+ readonly addManagerDescriptionId: string;
644
+ readonly addOverlayPositions: ConnectedPosition[];
601
645
  private applySchemaQueued;
602
646
  private fallbackLogger?;
603
647
  private fallbackLoggerEnvironment;
@@ -652,6 +696,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
652
696
  private resolveInitialDto;
653
697
  private syncFormsFromDto;
654
698
  private refreshProgrammaticFilterFieldDisplays;
699
+ private getProgrammaticRefreshFieldNames;
655
700
  private refreshProgrammaticFilterFieldDisplay;
656
701
  ngOnInit(): Promise<void>;
657
702
  ngAfterViewInit(): void;
@@ -744,8 +789,15 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
744
789
  }): void;
745
790
  onAdvancedValidityChange(valid: boolean): void;
746
791
  onAddOpened(opened: boolean): void;
792
+ toggleAddManager(): void;
793
+ closeAddManager(): void;
794
+ toggleManagedField(fieldId: string, checked: boolean): void;
795
+ applyAddManager(): void;
796
+ isAddManagerDirty(): boolean;
797
+ getAddManagerChangeCount(): number;
798
+ getRemovedActiveFieldLabels(): string[];
799
+ private hasMeaningfulFilterValue;
747
800
  onAddQuery(q: string): void;
748
- openAddSelect(select: MatSelect): void;
749
801
  hasAddableFields(): boolean;
750
802
  hasManageableFilterFields(): boolean;
751
803
  private getManageableFilterItems;
@@ -996,6 +1048,7 @@ type RuntimeRowAction = {
996
1048
  overflow?: boolean;
997
1049
  __praxisDiscoveredAction?: ResourceActionCatalogItem;
998
1050
  __praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
1051
+ __praxisCrudOperation?: ResourceCapabilityOperation;
999
1052
  __praxisCapabilityDenied?: boolean;
1000
1053
  };
1001
1054
  type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
@@ -1006,6 +1059,10 @@ type ExpansionDetailViewState = {
1006
1059
  message: string | null;
1007
1060
  source: ExpansionDetailResolvedSource | null;
1008
1061
  };
1062
+ type ExpansionDetailInlineRendererView = {
1063
+ component: Type<unknown>;
1064
+ inputs: Record<string, unknown>;
1065
+ };
1009
1066
  declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterContentInit, OnDestroy {
1010
1067
  private cdr;
1011
1068
  private settingsPanel;
@@ -1037,7 +1094,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1037
1094
  private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
1038
1095
  private _resourceDiscovery?;
1039
1096
  private _resourceSurfaceOpenAdapter?;
1097
+ private _crudOperationResolver?;
1040
1098
  private readonly runtimeObservationRegistry;
1099
+ private readonly detailInlineRenderers;
1100
+ private collectionLinks;
1101
+ private collectionCapabilities;
1102
+ private collectionCapabilitiesRequestHref;
1103
+ private collectionCapabilitiesResolvedHref;
1104
+ private collectionCapabilitiesRequestSeq;
1105
+ private readonly detailInlineNodeResolvers;
1041
1106
  private runtimeObservationRegistration;
1042
1107
  readonly paginatorSelectConfig: MatPaginatorSelectConfig;
1043
1108
  private static readonly ROW_ANIMATION_PRESETS;
@@ -1070,6 +1135,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1070
1135
  private advancedFilterMetadataOverridesCache?;
1071
1136
  rowClick: EventEmitter<any>;
1072
1137
  widgetEvent: EventEmitter<any>;
1138
+ resourceEvent: EventEmitter<PraxisResourceEvent<unknown>>;
1073
1139
  rowDoubleClick: EventEmitter<any>;
1074
1140
  rowExpansionChange: EventEmitter<RowExpansionChangeEvent>;
1075
1141
  rowAction: EventEmitter<any>;
@@ -1078,6 +1144,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1078
1144
  exportAction: EventEmitter<any>;
1079
1145
  columnReorder: EventEmitter<any>;
1080
1146
  columnReorderAttempt: EventEmitter<any>;
1147
+ columnResize: EventEmitter<any>;
1081
1148
  beforeDelete: EventEmitter<any>;
1082
1149
  afterDelete: EventEmitter<any>;
1083
1150
  deleteError: EventEmitter<any>;
@@ -1119,8 +1186,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1119
1186
  private columnReorderStatusTimer;
1120
1187
  private columnReorderVisualStatusTimer;
1121
1188
  private columnReorderUndoSubscription;
1122
- private columnReorderOperationCounter;
1123
- private latestColumnReorderOperationId;
1189
+ private columnRuntimeMutationOperationCounter;
1190
+ private latestColumnRuntimeMutationOperationId;
1191
+ private columnResizeTransientWidths;
1192
+ private columnResizeTableWidthStyle;
1193
+ private columnResizeLayoutSignature;
1194
+ private isApplyingColumnResizeLayoutMutation;
1195
+ private activeColumnResize;
1196
+ private readonly columnResizePointerMoveListener;
1197
+ private readonly columnResizePointerUpListener;
1198
+ private readonly columnResizePointerCancelListener;
1199
+ private readonly columnResizeKeydownListener;
1124
1200
  localSource: any[];
1125
1201
  localView: any[];
1126
1202
  localTotal: number;
@@ -1158,8 +1234,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1158
1234
  private rowDiscoveryMarkForCheckScheduled;
1159
1235
  private lastRowDiscoveryScopeKey;
1160
1236
  private readonly i18n;
1237
+ private readonly sanitizer;
1161
1238
  private readonly collectionExport;
1162
1239
  private readonly paginatorIntl;
1240
+ private readonly schemaNormalizer;
1163
1241
  private schemaFieldsSnapshot;
1164
1242
  private filterSchemaFieldsSnapshot;
1165
1243
  private runtimeSchemaMeta;
@@ -1193,9 +1271,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1193
1271
  getRowActionsWidthStyle(): string | null;
1194
1272
  getColumnTextAlignStyle(column: ColumnDefinition): string | null;
1195
1273
  getColumnWidthStyle(column: ColumnDefinition): string | null;
1274
+ getColumnResizeTableWidthStyle(): string | null;
1196
1275
  getColumnHeaderAttrStyle(column: ColumnDefinition): string | null;
1197
1276
  getColumnHeaderNgStyle(column: ColumnDefinition): Record<string, string> | undefined;
1198
1277
  getColumnCellAttrStyle(column: ColumnDefinition): string | null;
1278
+ private mergeColumnWidthIntoInlineStyle;
1279
+ private buildColumnWidthInlineStyle;
1199
1280
  getTableElevationClassName(): string;
1200
1281
  private normalizeTableElevationLevel;
1201
1282
  private resolveRuntimeTableElevationLevel;
@@ -1233,6 +1314,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1233
1314
  private configuredLocaleRuntimeText;
1234
1315
  private formatPaginatorRangeLabel;
1235
1316
  getNoDataStateIcon(): string;
1317
+ getNoDataStateTone(): 'neutral' | 'primary' | 'secondary';
1318
+ getNoDataStateVariant(): 'card' | 'inline' | 'panel' | 'transparent';
1319
+ getNoDataStateAlignment(): 'start' | 'center';
1320
+ getNoDataStateDensity(): 'compact' | 'comfortable';
1321
+ getNoDataStateIconContainer(): 'none' | 'circle' | 'soft';
1236
1322
  getNoDataStatePrimaryAction(): any | null;
1237
1323
  getNoDataStateSecondaryActions(): any[];
1238
1324
  shouldRenderAdvancedFilter(): boolean;
@@ -1252,6 +1338,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1252
1338
  set resolvedPrefs(val: any);
1253
1339
  get resolvedPrefs(): any;
1254
1340
  dense: boolean;
1341
+ private hostDeclaredAppearanceDensity;
1342
+ private hostDeclaredAppearanceSpacing;
1343
+ private hostDeclaredAppearanceTypography;
1255
1344
  private resolveAppearanceDensity;
1256
1345
  get hostDensityCompactClass(): boolean;
1257
1346
  get hostDensityComfortableClass(): boolean;
@@ -1340,6 +1429,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1340
1429
  private tableConfigKey;
1341
1430
  private filterConfigKey;
1342
1431
  private ensureConfigDefaults;
1432
+ private hasDeclaredAppearanceDensity;
1433
+ private hasDeclaredAppearanceSection;
1434
+ private shouldApplyAppearanceDefaultValue;
1343
1435
  private mergePersistedTableConfigWithInput;
1344
1436
  private reconcileHostDeclaredTableContract;
1345
1437
  private reconcileHostDeclaredColumns;
@@ -1348,12 +1440,33 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1348
1440
  private normalizePersistedExportFormats;
1349
1441
  private normalizePersistedRowActionIds;
1350
1442
  private normalizePersistedColumnIds;
1443
+ private columnIdentitySetChanged;
1351
1444
  private clonePlainObject;
1352
1445
  private setShowToolbar;
1353
1446
  private shouldExposeToolbar;
1447
+ private resolveCollectionDiscoveryOptions;
1448
+ private updateCollectionLinks;
1449
+ private resolveCollectionCapabilitiesHref;
1450
+ private materializeCollectionCreateToolbarAction;
1451
+ private ensureToolbarConfigForRuntime;
1452
+ private buildCollectionCreateToolbarAction;
1453
+ private resolveCollectionCreateRuntime;
1454
+ private resolveCollectionResourcePath;
1455
+ private hasCollectionCreateLink;
1456
+ private resolveCollectionCreateCapabilityOperation;
1457
+ private createSyntheticCollectionCrudOperation;
1458
+ private resolveCollectionCreateSurface;
1459
+ private isWritableCrudSurface;
1460
+ private isCollectionCreateSurface;
1461
+ private getCollectionCreateActionLabel;
1462
+ private getCollectionCreateActionTooltip;
1463
+ private getCollectionCreateUnavailableTooltip;
1464
+ private resolveCollectionCreateDisabled;
1465
+ private isCreateToolbarAction;
1354
1466
  constructor(cdr: ChangeDetectorRef, settingsPanel: SettingsPanelService, crudService: GenericCrudService<any, any>, tableDefaultsProvider: TableDefaultsProvider, filterConfig: FilterConfigService, formattingService: DataFormattingService, pxDialog: PraxisDialog, snackBar: MatSnackBar, asyncConfigStorage: AsyncConfigStorage, connectionStorage: ConnectionStorage, hostRef: ElementRef<HTMLElement>, global: GlobalConfigService, injector: Injector, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, globalActions: GlobalActionService, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined, analyticsStatsApi?: AnalyticsTableStatsApiService | undefined);
1355
1467
  private get resourceDiscovery();
1356
1468
  private get resourceSurfaceOpenAdapter();
1469
+ private get crudOperationResolver();
1357
1470
  private ensureAiAdapterLoaded;
1358
1471
  openAiAssistant(): void;
1359
1472
  aiAssistantTriggerTestId(position: string): string;
@@ -1362,6 +1475,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1362
1475
  aiAssistantTriggerBadge(): string;
1363
1476
  aiAssistantTriggerLabel(): string;
1364
1477
  aiAssistantTriggerTooltip(): string;
1478
+ isAiAssistantEnabled(): boolean;
1479
+ shouldShowAiAssistantEntrypoint(): boolean;
1365
1480
  openAiAssistantFromSession(session: PraxisAssistantSessionSnapshot): void;
1366
1481
  closeAiAssistant(): void;
1367
1482
  onAiAssistantPromptChange(prompt: string): void;
@@ -1405,6 +1520,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1405
1520
  private buildRuntimeObservationClaims;
1406
1521
  private isRuntimeObservationVisible;
1407
1522
  private syncAiAssistantSession;
1523
+ private disableAiAssistantSession;
1408
1524
  private assistantContextRuntimeLocale;
1409
1525
  private refreshAiAssistantContextAfterSelectionChange;
1410
1526
  private hasAiAssistantSessionState;
@@ -1421,9 +1537,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1421
1537
  private isTableDataLoading;
1422
1538
  private getRenderedRowCount;
1423
1539
  private hasActiveDataFilters;
1540
+ private hasActiveEmptyStateFilters;
1541
+ private hasMeaningfulFilterCriteria;
1424
1542
  private hasMeaningfulFilterValue;
1425
1543
  private resolveNoDataStateConfig;
1544
+ private isEmptyStateTone;
1545
+ private isEmptyStateVariant;
1426
1546
  private mapEmptyStateAction;
1547
+ private resolveMatchingEmptyStateToolbarAction;
1427
1548
  private onEmptyStateAction;
1428
1549
  private buildLoadingContext;
1429
1550
  private beginLoading;
@@ -1512,6 +1633,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1512
1633
  getExpansionDetailEmbedHeaderNodes(node: TableDetailRefNode | TableDetailTemplateRefNode | TableDetailDiagramEmbedNode | any): RichBlockNode[];
1513
1634
  getExpansionDetailEmbedMetaNodes(node: TableDetailRefNode | TableDetailTemplateRefNode | TableDetailDiagramEmbedNode | any): RichBlockNode[];
1514
1635
  getExpansionDetailEmbedActionNodes(action: TableDetailEmbedAction | any): RichBlockNode[];
1636
+ getExpansionDetailInlineRendererView(node: TableDetailRefNode | any, row: any, index: number): ExpansionDetailInlineRendererView | null;
1637
+ private resolveExpansionDetailInlineRenderer;
1638
+ private resolveExpansionDetailInlineNode;
1515
1639
  getExpansionDetailEmbedAction(node: TableDetailRefNode | TableDetailTemplateRefNode | TableDetailDiagramEmbedNode | any, row: any, index: number): TableDetailEmbedAction | null;
1516
1640
  isExpansionDetailEmbedActionDisabled(action: TableDetailEmbedAction | any, row: any, index: number): boolean;
1517
1641
  getExpansionDetailEmbedEmptyText(node: TableDetailRefNode | TableDetailTemplateRefNode | TableDetailDiagramEmbedNode | any): string;
@@ -1659,6 +1783,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1659
1783
  action: string;
1660
1784
  actionConfig?: any;
1661
1785
  }): Promise<void>;
1786
+ private tryHandleCollectionCreateToolbarAction;
1662
1787
  private resolveBulkExportFormat;
1663
1788
  private isBulkExportActionKey;
1664
1789
  private normalizeExportFormat;
@@ -1667,10 +1792,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1667
1792
  onExportAction(event: {
1668
1793
  format: string;
1669
1794
  scope?: PraxisExportScope;
1795
+ localOnly?: boolean;
1670
1796
  }): Promise<void>;
1671
1797
  canRunExportAction(format: unknown): boolean;
1672
1798
  private shouldBlockSelectedExportWithoutSelection;
1673
1799
  private buildTableExportRequest;
1800
+ private buildVisibleExcelExportRequest;
1801
+ private resolveVisibleExcelExportFileName;
1802
+ private formatExportDate;
1674
1803
  private resolveEffectiveExportScope;
1675
1804
  private resolveTableExportLoadedItems;
1676
1805
  private computeLocalExportRows;
@@ -1728,6 +1857,46 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1728
1857
  isColumnDraggingEnabled(): boolean;
1729
1858
  isColumnDragIndicatorEnabled(): boolean;
1730
1859
  isColumnDraggable(column: ColumnDefinition | null | undefined): boolean;
1860
+ isColumnResizeEnabled(): boolean;
1861
+ isColumnResizable(column: ColumnDefinition | null | undefined): boolean;
1862
+ isColumnResizeActive(column?: ColumnDefinition | null): boolean;
1863
+ getColumnResizeHandleAriaLabel(column: ColumnDefinition): string;
1864
+ getColumnResizeHandleTooltip(column: ColumnDefinition): string;
1865
+ getColumnResizeMinWidthAriaValue(column: ColumnDefinition): number;
1866
+ getColumnResizeMaxWidthAriaValue(column: ColumnDefinition): number | null;
1867
+ getColumnResizeCurrentWidthAriaValue(column: ColumnDefinition): number | null;
1868
+ onColumnResizeHandleClick(event: MouseEvent): void;
1869
+ onColumnResizeHandleKeydown(event: KeyboardEvent, column: ColumnDefinition): void;
1870
+ onColumnResizePointerDown(event: PointerEvent, column: ColumnDefinition): void;
1871
+ private onColumnResizePointerMove;
1872
+ private onColumnResizePointerUp;
1873
+ private onColumnResizePointerCancel;
1874
+ private onColumnResizeDocumentKeydown;
1875
+ private addColumnResizeDocumentListeners;
1876
+ private removeColumnResizeDocumentListeners;
1877
+ private cancelColumnResize;
1878
+ private commitColumnResize;
1879
+ private applyColumnResizeWidth;
1880
+ private emitAndPersistColumnResize;
1881
+ private updateConfigColumnWidth;
1882
+ private updateConfigColumnWidths;
1883
+ private updateColumnResizeTableWidthFromDelta;
1884
+ private captureColumnResizeLockedWidths;
1885
+ private resolveColumnResizeTableWidthPx;
1886
+ private resolveColumnWidthPx;
1887
+ private parseColumnResizePixelWidth;
1888
+ private normalizeColumnResizeWidthStyle;
1889
+ private clampColumnWidthPx;
1890
+ private resolveColumnResizeEffectiveMinWidthPx;
1891
+ private resolveColumnResizeMinWidthPx;
1892
+ private resolveColumnResizeMaxWidthPx;
1893
+ private normalizeColumnResizeConfigWidths;
1894
+ private runColumnResizeLayoutMutation;
1895
+ private reconcileColumnResizeLayoutState;
1896
+ private clearColumnResizeLayoutState;
1897
+ private createColumnResizeLayoutSignature;
1898
+ private formatColumnWidthPx;
1899
+ private isTableRtl;
1731
1900
  private resolveColumnReorderHeader;
1732
1901
  private isEnglishLocale;
1733
1902
  private isEnglishLocaleValue;
@@ -1744,9 +1913,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1744
1913
  private emitColumnReorderAttempt;
1745
1914
  private createColumnReorderOperationId;
1746
1915
  private isLatestColumnReorderOperation;
1916
+ private createColumnRuntimeMutationOperationId;
1917
+ private isLatestColumnRuntimeMutationOperation;
1747
1918
  private offerColumnReorderUndo;
1748
1919
  private restoreColumnOrderFromUndo;
1749
- onColumnDragHandleKeydown(event: KeyboardEvent, column: ColumnDefinition): void;
1920
+ onColumnHeaderReorderKeydown(event: KeyboardEvent, column: ColumnDefinition): void;
1750
1921
  onColumnDrop(event: CdkDragDrop<ColumnDefinition[]>): void;
1751
1922
  onColumnDragStarted(column: ColumnDefinition): void;
1752
1923
  onColumnDragEnded(event: CdkDragEnd<ColumnDefinition>, column: ColumnDefinition): void;
@@ -1766,9 +1937,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1766
1937
  */
1767
1938
  private verifyServerSchemaVersion;
1768
1939
  private loadSchema;
1940
+ private loadOrVerifyRemoteSchema;
1769
1941
  private loadFilterSchemaSnapshot;
1770
1942
  private convertFieldToColumn;
1943
+ private applySchemaFieldPresentationsToExistingColumns;
1771
1944
  private applySchemaFieldPresentation;
1945
+ private applySchemaSemanticCellPresentation;
1946
+ private resolveSemanticPresentationColor;
1947
+ private resolveSemanticPresentationVariant;
1948
+ private resolveSemanticPresentationAffixes;
1772
1949
  private resolveSchemaCurrencyFormat;
1773
1950
  private resolveSchemaBooleanFormat;
1774
1951
  private resolveSchemaValueMapping;
@@ -1783,10 +1960,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1783
1960
  * Runs only on initial bootstrap (when columns are derived from schema).
1784
1961
  */
1785
1962
  private applyAutoRenderer;
1786
- /**
1787
- * Check if a value is a valid ColumnDataType
1788
- */
1789
- private isValidColumnDataType;
1790
1963
  /**
1791
1964
  * Infer column data type from field name patterns when API type is not available
1792
1965
  * Refined logic to reduce false positives
@@ -1921,7 +2094,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1921
2094
  private isJsonLogicExpression;
1922
2095
  private hasConditionalExpression;
1923
2096
  private resolveRuntimeEnvironment;
1924
- private isDiagnosticsRuntimeEnvironment;
1925
2097
  private logActionConditionFallback;
1926
2098
  getRowClasses(rowData: any): string[] | undefined;
1927
2099
  getRowNgStyle(rowData: any): Record<string, string> | undefined;
@@ -1994,6 +2166,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1994
2166
  getIconAriaLabel(row: any, column: ColumnDefinition): string | null;
1995
2167
  getIconText(row: any, column: ColumnDefinition): string | null;
1996
2168
  getIconRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
2169
+ private getIconRawText;
1997
2170
  /**
1998
2171
  * Lightweight, controlled evaluator for string/number expressions using row context.
1999
2172
  * Accepts values like '= row.status === "OK" ? "primary" : "warn"'.
@@ -2034,7 +2207,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2034
2207
  getBadgeClasses(row: any, column: ColumnDefinition): string[];
2035
2208
  getBadgeRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
2036
2209
  shouldRenderBadge(row: any, column: ColumnDefinition): boolean;
2037
- getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | null;
2210
+ getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | 'microVisualization' | null;
2211
+ getMicroVisualizationHtml(row: any, column: ColumnDefinition): SafeHtml;
2212
+ private resolveMicroVisualizationForRow;
2213
+ private applyMicroVisualizationExpression;
2214
+ private evaluateMicroVisualizationExpression;
2038
2215
  getComposeItems(row: any, column: ColumnDefinition): any[];
2039
2216
  trackComposeItem(index: number, item: any): string;
2040
2217
  getComposeClasses(row: any, column: ColumnDefinition): string[];
@@ -2163,6 +2340,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2163
2340
  private getVirtualizationSources;
2164
2341
  isVirtualized(): boolean;
2165
2342
  getVirtItemHeight(): number;
2343
+ private getDefaultDensityRowHeight;
2166
2344
  getVirtBufferSize(): number;
2167
2345
  getVirtMinHeightStyle(): string;
2168
2346
  getVirtMinHeightHostStyle(): string | null;
@@ -2177,6 +2355,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2177
2355
  getMasterSelectionAriaLabel(): string;
2178
2356
  private selectRowFromUserInteraction;
2179
2357
  private emitSelectionChange;
2358
+ private materializeRecordIdentity;
2359
+ private emitResourceEvent;
2360
+ private buildResourceEvent;
2180
2361
  private getSelectedRowsSnapshot;
2181
2362
  private getAiAssistantSelectionFields;
2182
2363
  private buildAiAssistantSelectionFilterCandidates;
@@ -2215,10 +2396,19 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2215
2396
  private splitVisibleRowActionsFromVisible;
2216
2397
  private decorateConfiguredRowAction;
2217
2398
  private getDiscoveredRowWorkflowActions;
2399
+ private getDiscoveredRowCrudActionsFromSnapshot;
2400
+ private buildDiscoveredRowCrudAction;
2218
2401
  private getDiscoveredRowSurfaceActionsFromSnapshot;
2219
2402
  private getDiscoveredRowWorkflowActionsFromCatalog;
2403
+ private resolveRowCrudCapabilityOperation;
2404
+ private createSyntheticCrudCapabilityOperation;
2220
2405
  private supportsRowCrudAction;
2221
2406
  private isCapabilityManagedCrudRowAction;
2407
+ private isFailClosedConfiguredRowAction;
2408
+ private getCrudRowActionLabel;
2409
+ private getCrudRowActionIcon;
2410
+ private getCrudRowActionColor;
2411
+ private getUnavailableCrudOperationMessage;
2222
2412
  private findItemWorkflowAction;
2223
2413
  private findItemSurface;
2224
2414
  private isRowSurfaceAction;
@@ -2247,7 +2437,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2247
2437
  private scheduleRowDiscoveryMarkForCheck;
2248
2438
  ngOnDestroy(): void;
2249
2439
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
2250
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
2440
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTable, "praxis-table", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "data": { "alias": "data"; "required": false; }; "tableId": { "alias": "tableId"; "required": true; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "configPersistenceStrategy": { "alias": "configPersistenceStrategy"; "required": false; }; "title": { "alias": "title"; "required": false; }; "subtitle": { "alias": "subtitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "autoDelete": { "alias": "autoDelete"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "crudContext": { "alias": "crudContext"; "required": false; }; "filterCriteria": { "alias": "filterCriteria"; "required": false; }; "queryContext": { "alias": "queryContext"; "required": false; }; "aiContext": { "alias": "aiContext"; "required": false; }; "aiAssistantVoiceInputMode": { "alias": "aiAssistantVoiceInputMode"; "required": false; }; "aiAssistantVoiceLanguage": { "alias": "aiAssistantVoiceLanguage"; "required": false; }; "horizontalScroll": { "alias": "horizontalScroll"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "widgetEvent": "widgetEvent"; "resourceEvent": "resourceEvent"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "exportAction": "exportAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "columnResize": "columnResize"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "configChange": "configChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
2251
2441
  static ngAcceptInputType_enableCustomization: unknown;
2252
2442
  }
2253
2443
 
@@ -3110,6 +3300,7 @@ declare class FilterSettingsComponent implements OnChanges, AfterViewInit, OnDes
3110
3300
  private scrollTrackingRafId;
3111
3301
  readonly layoutPreviewFields: string[];
3112
3302
  private readonly storage;
3303
+ private readonly filterConfigService;
3113
3304
  private readonly settingsPanel;
3114
3305
  private readonly snackBar;
3115
3306
  private readonly destroyRef;
@@ -3299,16 +3490,8 @@ interface RuleGroup {
3299
3490
  }
3300
3491
  type StructuredRuleCondition = JsonLogicExpression | null;
3301
3492
  declare class RuleCompilerService {
3302
- /**
3303
- * Compiles a rule group into a single textual expression string, adding
3304
- * parentheses according to grouping and operator precedence.
3305
- */
3306
- compileGroup(group: RuleGroup): string;
3307
- /** Compiles a single rule atom to a textual expression. */
3308
- compileAtom(atom: RuleAtom): string;
3309
3493
  compileGroupToJsonLogic(group: RuleGroup): StructuredRuleCondition;
3310
3494
  compileAtomToJsonLogic(atom: RuleAtom): JsonLogicExpression | null;
3311
- private stringify;
3312
3495
  private toJsonLogicValue;
3313
3496
  private toList;
3314
3497
  static ɵfac: i0.ɵɵFactoryDeclaration<RuleCompilerService, never>;
@@ -3344,6 +3527,11 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
3344
3527
  manualMode: boolean;
3345
3528
  manualErrors: string[];
3346
3529
  testSummary: string;
3530
+ normalizationWarning: string;
3531
+ importStatus: {
3532
+ type: 'success' | 'warning' | 'error';
3533
+ message: string;
3534
+ } | null;
3347
3535
  editIndex: number;
3348
3536
  get currentRules(): RuleItem[];
3349
3537
  set currentRules(v: RuleItem[]);
@@ -3410,6 +3598,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
3410
3598
  removeRule(index: number): void;
3411
3599
  duplicateRule(index: number): void;
3412
3600
  onRuleToggle(): void;
3601
+ private emitRulesConfigChange;
3413
3602
  buildAppliedConfig(baseConfig?: TableConfig): TableConfig;
3414
3603
  onApply(): void;
3415
3604
  isValid(): boolean;
@@ -3510,9 +3699,14 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
3510
3699
  onDropCondition(evt: CdkDragDrop<RuleAtom[]>): void;
3511
3700
  updateDraftFromGroup(): void;
3512
3701
  getAtomPreview(a: RuleAtom): string;
3702
+ private stringifyJsonLogicPreview;
3703
+ private stringifyJsonLogicInlinePreview;
3513
3704
  addSubgroup(): void;
3514
3705
  removeSubgroup(index: number): void;
3515
3706
  getGroupPreview(g: RuleGroup): string;
3707
+ private isNumericFieldType;
3708
+ private parseNumericCsv;
3709
+ private toFiniteNumber;
3516
3710
  private getActiveGroupRef;
3517
3711
  static ɵfac: i0.ɵɵFactoryDeclaration<TableRulesEditorComponent, [null, null, null, null, null, { optional: true; }]>;
3518
3712
  static ɵcmp: i0.ɵɵComponentDeclaration<TableRulesEditorComponent, "table-rules-editor", never, { "config": { "alias": "config"; "required": false; }; "resourcePath": { "alias": "resourcePath"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "i18nRules": { "alias": "i18nRules"; "required": false; }; "debugLogs": { "alias": "debugLogs"; "required": false; }; "debugLevel": { "alias": "debugLevel"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
@@ -4344,7 +4538,7 @@ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
4344
4538
  };
4345
4539
  readonly variant: {
4346
4540
  readonly type: "string";
4347
- readonly enum: readonly ["filled", "outlined", "soft"];
4541
+ readonly enum: readonly ["filled", "outlined", "soft", "plain"];
4348
4542
  };
4349
4543
  readonly icon: {
4350
4544
  readonly type: "string";
@@ -4591,5 +4785,5 @@ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEdi
4591
4785
  declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
4592
4786
  declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
4593
4787
 
4594
- export { AnalyticsTableConfigAdapterService, AnalyticsTableContractService, AnalyticsTableStatsApiService, BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_AUTHORING_MANIFEST, PRAXIS_TABLE_COMPONENT_METADATA, PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, PraxisFilter, PraxisFilterWidgetConfigEditor, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, PraxisTableWidgetConfigEditor, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, TABLE_COMPONENT_EDIT_PLAN_KIND, TABLE_COMPONENT_EDIT_PLAN_VERSION, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, providePraxisTableToolbarAppearance, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
4788
+ export { AnalyticsTableConfigAdapterService, AnalyticsTableContractService, AnalyticsTableStatsApiService, BOOLEAN_PRESETS, BehaviorConfigEditorComponent, CURRENCY_PRESETS, ColumnsConfigEditorComponent, DATE_PRESETS, DataFormatterComponent, DataFormattingService, FORMULA_TEMPLATES, FilterConfigService, FilterSettingsComponent, FormulaGeneratorService, JsonConfigEditorComponent, MessagesLocalizationEditorComponent, NUMBER_PRESETS, PERCENTAGE_PRESETS, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_TABLE_AUTHORING_MANIFEST, PRAXIS_TABLE_COMPONENT_METADATA, PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, PraxisFilter, PraxisFilterWidgetConfigEditor, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, PraxisTableWidgetConfigEditor, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, TABLE_COMPONENT_EDIT_PLAN_KIND, TABLE_COMPONENT_EDIT_PLAN_VERSION, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, providePraxisTableToolbarAppearance, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
4595
4789
  export type { ActionLike, AnalyticsTableConfigAdapterOptions, AnalyticsTableContractDefinition, AnalyticsTableContractLoadOptions, AnalyticsTableContractLoadResult, AnalyticsTableContractSource, AnalyticsTableRow, AnalyticsTableViewModel, ArithmeticParams, BehaviorConfigChange, BooleanFormatterOptions, BulkAction, Capability$1 as Capability, CapabilityCatalog$1 as CapabilityCatalog, CapabilityCategory$1 as CapabilityCategory, ColumnChange, ColumnDataType$1 as ColumnDataType, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, PraxisFilterWidgetEditorInputs, PraxisFilterWidgetEditorValue, PraxisTableWidgetEditorInputs, PraxisTableWidgetEditorValue, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableAiContext, TableAiNavigationContextPack, TableAiNavigationDestinationContext, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, TableComponentEditChangeKind, TableComponentEditPlan, TableComponentEditPlanCompileResult, ValueKind as TableComponentValueKind, TableConfigPersistenceStrategy, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };