@praxisui/table 8.0.0-beta.99 → 9.0.0-beta.1

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,5 +1,5 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, 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, 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';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector } from '@angular/core';
5
5
  import { ActivatedRoute } from '@angular/router';
@@ -55,6 +55,8 @@ declare class PraxisTableToolbar implements OnDestroy {
55
55
  showMobileActions: boolean;
56
56
  exportBusy: boolean;
57
57
  evaluationContext: Record<string, any> | null;
58
+ /** @internal Used by PraxisTable so toolbar menu decisions materialize through the table runtime. */
59
+ columnVisibilityController?: (field: string, visible: boolean) => void;
58
60
  toolbarAction: EventEmitter<{
59
61
  action: string;
60
62
  actionConfig?: any;
@@ -62,6 +64,10 @@ declare class PraxisTableToolbar implements OnDestroy {
62
64
  exportAction: EventEmitter<{
63
65
  format: string;
64
66
  }>;
67
+ columnVisibilityToggle: EventEmitter<{
68
+ field: string;
69
+ visible: boolean;
70
+ }>;
65
71
  readonly getActionId: typeof getActionId;
66
72
  private readonly jsonLogic;
67
73
  private readonly validToolbarActionTypes;
@@ -78,9 +84,24 @@ declare class PraxisTableToolbar implements OnDestroy {
78
84
  getToolbarLeadingLabel(): string;
79
85
  getToolbarActionsLabel(): string;
80
86
  getToolbarConfigurationLabel(): string;
87
+ getToolbarIdentityLabel(): string;
88
+ getToolbarIdentityTooltip(): string | null;
89
+ hasToolbarIdentity(): boolean;
90
+ getToolbarTitle(): string;
91
+ getToolbarSubtitle(): string;
92
+ getToolbarIcon(): string | null;
93
+ getToolbarTextAlign(): 'start' | 'center' | 'end';
81
94
  getExportDataLabel(): string;
82
95
  getMoreActionsLabel(): string;
83
96
  emitExportAction(event: Event, format: string): void;
97
+ getColumnsVisibilityLabel(): string;
98
+ isColumnsVisibilityEnabled(): boolean;
99
+ getVisibleColumnsCount(): number;
100
+ isColumnVisibilityToggleDisabled(column: {
101
+ visible?: boolean;
102
+ } | null | undefined): boolean;
103
+ onColumnVisibilityMenuToggle(event: Event, field: string, currentlyVisible: boolean): void;
104
+ toggleColumnVisibility(field: string, visible: boolean): void;
84
105
  private tx;
85
106
  ngOnDestroy(): void;
86
107
  getToolbarVariant(): TableToolbarAppearanceVariant;
@@ -137,7 +158,7 @@ declare class PraxisTableToolbar implements OnDestroy {
137
158
  private sortActions;
138
159
  getExportIcon(format: string): string;
139
160
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
140
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "exportBusy": { "alias": "exportBusy"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
161
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "exportBusy": { "alias": "exportBusy"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; "columnVisibilityController": { "alias": "columnVisibilityController"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; "columnVisibilityToggle": "columnVisibilityToggle"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
141
162
  }
142
163
 
143
164
  type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
@@ -410,6 +431,8 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
410
431
  private route?;
411
432
  private logger?;
412
433
  resourcePath: string;
434
+ /** Resolved API entry carried by detached hosts when route-scoped API_URL is not inherited. */
435
+ apiUrlEntry?: ApiUrlEntry | null;
413
436
  /**
414
437
  * Optional static metadata for offline/showcase usage.
415
438
  * When this input is provided (including an empty array), server schema loading is bypassed.
@@ -637,6 +660,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
637
660
  private updateOverlayWidth;
638
661
  private computeIsMobile;
639
662
  ngOnChanges(changes: SimpleChanges): void;
663
+ private configureCrud;
640
664
  private areStringArraysEqual;
641
665
  private normalizeFieldIdList;
642
666
  private areMetadataOverrideMapsEqual;
@@ -722,13 +746,15 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
722
746
  onAddQuery(q: string): void;
723
747
  openAddSelect(select: MatSelect): void;
724
748
  hasAddableFields(): boolean;
725
- private getAddableItems;
749
+ hasManageableFilterFields(): boolean;
750
+ private getManageableFilterItems;
726
751
  private updateAddItems;
727
752
  trackById(_idx: number, it: {
728
753
  id: string;
729
754
  }): string;
730
755
  private isFilterFieldHidden;
731
756
  onAddSelectionChange(values: string[] | null | undefined): void;
757
+ private normalizeManagedFieldSelection;
732
758
  private mergeSelectedFieldIds;
733
759
  private formatWithCount;
734
760
  getAddAriaLabel(): string;
@@ -738,6 +764,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
738
764
  isAllSelected(): boolean;
739
765
  isSomeSelected(): boolean;
740
766
  toggleSelectAll(): void;
767
+ private clearRemovedSelectedFieldValues;
741
768
  onAdvancedSubmit(event: {
742
769
  formData: Record<string, any>;
743
770
  }): void;
@@ -804,7 +831,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
804
831
  private isEditableElement;
805
832
  private focusQuick;
806
833
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisFilter, [null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }]>;
807
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilter, "praxis-filter", never, { "resourcePath": { "alias": "resourcePath"; "required": true; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "value": { "alias": "value"; "required": false; }; "alwaysVisibleFields": { "alias": "alwaysVisibleFields"; "required": false; }; "alwaysVisibleFieldMetadataOverrides": { "alias": "alwaysVisibleFieldMetadataOverrides"; "required": false; }; "selectedFieldIds": { "alias": "selectedFieldIds"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "allowSaveTags": { "alias": "allowSaveTags"; "required": false; }; "persistenceKey": { "alias": "persistenceKey"; "required": false; }; "disablePersistence": { "alias": "disablePersistence"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "changeDebounceMs": { "alias": "changeDebounceMs"; "required": false; }; "showFilterSettings": { "alias": "showFilterSettings"; "required": false; }; "showAdvancedButton": { "alias": "showAdvancedButton"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "showSearchButton": { "alias": "showSearchButton"; "required": false; }; "confirmTagDelete": { "alias": "confirmTagDelete"; "required": false; }; "placeBooleansInActions": { "alias": "placeBooleansInActions"; "required": false; }; "showToggleLabels": { "alias": "showToggleLabels"; "required": false; }; "useInlineSelectVariant": { "alias": "useInlineSelectVariant"; "required": false; }; "useInlineSearchableSelectVariant": { "alias": "useInlineSearchableSelectVariant"; "required": false; }; "useInlineMultiSelectVariant": { "alias": "useInlineMultiSelectVariant"; "required": false; }; "useInlineInputVariant": { "alias": "useInlineInputVariant"; "required": false; }; "useInlineToggleVariant": { "alias": "useInlineToggleVariant"; "required": false; }; "useInlineRangeVariant": { "alias": "useInlineRangeVariant"; "required": false; }; "useInlineDateVariant": { "alias": "useInlineDateVariant"; "required": false; }; "useInlineDateRangeVariant": { "alias": "useInlineDateRangeVariant"; "required": false; }; "useInlineTimeVariant": { "alias": "useInlineTimeVariant"; "required": false; }; "useInlineTimeRangeVariant": { "alias": "useInlineTimeRangeVariant"; "required": false; }; "useInlineTreeSelectVariant": { "alias": "useInlineTreeSelectVariant"; "required": false; }; "alwaysMinWidth": { "alias": "alwaysMinWidth"; "required": false; }; "alwaysColsMd": { "alias": "alwaysColsMd"; "required": false; }; "alwaysColsLg": { "alias": "alwaysColsLg"; "required": false; }; "tagColor": { "alias": "tagColor"; "required": false; }; "tagVariant": { "alias": "tagVariant"; "required": false; }; "tagButtonColor": { "alias": "tagButtonColor"; "required": false; }; "actionsButtonColor": { "alias": "actionsButtonColor"; "required": false; }; "actionsVariant": { "alias": "actionsVariant"; "required": false; }; "overlayVariant": { "alias": "overlayVariant"; "required": false; }; "overlayBackdrop": { "alias": "overlayBackdrop"; "required": false; }; "advancedOpenMode": { "alias": "advancedOpenMode"; "required": false; }; "advancedClearButtonsEnabled": { "alias": "advancedClearButtonsEnabled"; "required": false; }; }, { "submit": "submit"; "change": "change"; "clear": "clear"; "modeChange": "modeChange"; "requestSearch": "requestSearch"; "tagsChange": "tagsChange"; "selectedFieldIdsChange": "selectedFieldIdsChange"; "metaChanged": "metaChanged"; "schemaStatusChange": "schemaStatusChange"; }, never, never, true, never>;
834
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisFilter, "praxis-filter", never, { "resourcePath": { "alias": "resourcePath"; "required": true; }; "apiUrlEntry": { "alias": "apiUrlEntry"; "required": false; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; "filterId": { "alias": "filterId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "componentInstanceId": { "alias": "componentInstanceId"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "notifyIfOutdated": { "alias": "notifyIfOutdated"; "required": false; }; "snoozeMs": { "alias": "snoozeMs"; "required": false; }; "autoOpenSettingsOnOutdated": { "alias": "autoOpenSettingsOnOutdated"; "required": false; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "value": { "alias": "value"; "required": false; }; "alwaysVisibleFields": { "alias": "alwaysVisibleFields"; "required": false; }; "alwaysVisibleFieldMetadataOverrides": { "alias": "alwaysVisibleFieldMetadataOverrides"; "required": false; }; "selectedFieldIds": { "alias": "selectedFieldIds"; "required": false; }; "tags": { "alias": "tags"; "required": false; }; "allowSaveTags": { "alias": "allowSaveTags"; "required": false; }; "persistenceKey": { "alias": "persistenceKey"; "required": false; }; "disablePersistence": { "alias": "disablePersistence"; "required": false; }; "i18n": { "alias": "i18n"; "required": false; }; "changeDebounceMs": { "alias": "changeDebounceMs"; "required": false; }; "showFilterSettings": { "alias": "showFilterSettings"; "required": false; }; "showAdvancedButton": { "alias": "showAdvancedButton"; "required": false; }; "showAddButton": { "alias": "showAddButton"; "required": false; }; "showClearButton": { "alias": "showClearButton"; "required": false; }; "showSearchButton": { "alias": "showSearchButton"; "required": false; }; "confirmTagDelete": { "alias": "confirmTagDelete"; "required": false; }; "placeBooleansInActions": { "alias": "placeBooleansInActions"; "required": false; }; "showToggleLabels": { "alias": "showToggleLabels"; "required": false; }; "useInlineSelectVariant": { "alias": "useInlineSelectVariant"; "required": false; }; "useInlineSearchableSelectVariant": { "alias": "useInlineSearchableSelectVariant"; "required": false; }; "useInlineMultiSelectVariant": { "alias": "useInlineMultiSelectVariant"; "required": false; }; "useInlineInputVariant": { "alias": "useInlineInputVariant"; "required": false; }; "useInlineToggleVariant": { "alias": "useInlineToggleVariant"; "required": false; }; "useInlineRangeVariant": { "alias": "useInlineRangeVariant"; "required": false; }; "useInlineDateVariant": { "alias": "useInlineDateVariant"; "required": false; }; "useInlineDateRangeVariant": { "alias": "useInlineDateRangeVariant"; "required": false; }; "useInlineTimeVariant": { "alias": "useInlineTimeVariant"; "required": false; }; "useInlineTimeRangeVariant": { "alias": "useInlineTimeRangeVariant"; "required": false; }; "useInlineTreeSelectVariant": { "alias": "useInlineTreeSelectVariant"; "required": false; }; "alwaysMinWidth": { "alias": "alwaysMinWidth"; "required": false; }; "alwaysColsMd": { "alias": "alwaysColsMd"; "required": false; }; "alwaysColsLg": { "alias": "alwaysColsLg"; "required": false; }; "tagColor": { "alias": "tagColor"; "required": false; }; "tagVariant": { "alias": "tagVariant"; "required": false; }; "tagButtonColor": { "alias": "tagButtonColor"; "required": false; }; "actionsButtonColor": { "alias": "actionsButtonColor"; "required": false; }; "actionsVariant": { "alias": "actionsVariant"; "required": false; }; "overlayVariant": { "alias": "overlayVariant"; "required": false; }; "overlayBackdrop": { "alias": "overlayBackdrop"; "required": false; }; "advancedOpenMode": { "alias": "advancedOpenMode"; "required": false; }; "advancedClearButtonsEnabled": { "alias": "advancedClearButtonsEnabled"; "required": false; }; }, { "submit": "submit"; "change": "change"; "clear": "clear"; "modeChange": "modeChange"; "requestSearch": "requestSearch"; "tagsChange": "tagsChange"; "selectedFieldIdsChange": "selectedFieldIdsChange"; "metaChanged": "metaChanged"; "schemaStatusChange": "schemaStatusChange"; }, never, never, true, never>;
808
835
  }
809
836
 
810
837
  declare const PRAXIS_FILTER_COMPONENT_METADATA: ComponentDocMeta;
@@ -898,6 +925,7 @@ type PraxisDataQueryContextBridge = {
898
925
  meta?: Record<string, unknown> | null;
899
926
  };
900
927
  type DataMode = 'remote' | 'local' | 'empty';
928
+ type TableConfigPersistenceStrategy = 'local-first' | 'input-first' | 'volatile';
901
929
  type RowExpansionTrigger = 'icon' | 'row' | 'keyboard' | 'api' | 'restore';
902
930
  type RowExpansionReasonCode = 'user' | 'policy' | 'restore' | 'api';
903
931
  type RowExpansionChangeBase = {
@@ -1008,6 +1036,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1008
1036
  private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
1009
1037
  private _resourceDiscovery?;
1010
1038
  private _resourceSurfaceOpenAdapter?;
1039
+ private readonly runtimeObservationRegistry;
1040
+ private runtimeObservationRegistration;
1011
1041
  readonly paginatorSelectConfig: MatPaginatorSelectConfig;
1012
1042
  private static readonly ROW_ANIMATION_PRESETS;
1013
1043
  private static readonly ROW_ANIMATION_PRESET_ALIASES;
@@ -1016,6 +1046,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1016
1046
  data: any[] | null;
1017
1047
  tableId: string;
1018
1048
  componentInstanceId?: string;
1049
+ configPersistenceStrategy: TableConfigPersistenceStrategy;
1019
1050
  title: string;
1020
1051
  subtitle: string;
1021
1052
  icon: string;
@@ -1096,6 +1127,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1096
1127
  private lastResolvedDataMode;
1097
1128
  private localFilterFieldMetadataCache;
1098
1129
  private localFilterFieldMetadataCacheKey;
1130
+ private remoteSchemaLoadSequence;
1099
1131
  private remoteDataLoadSequence;
1100
1132
  private analyticsLoadSequence;
1101
1133
  private uncontrolledExpandedRowKeys;
@@ -1233,6 +1265,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1233
1265
  ensureAiAssistantRecordSurfaceContext(): Promise<void>;
1234
1266
  getAiAssistantRecordSurfacesContext(): RecordRelatedSurfaceContextPack | null;
1235
1267
  getAiAssistantSelectedRowsContext(): Record<string, any> | null;
1268
+ private buildAiAssistantSelectedRowsContext;
1236
1269
  private ensureAiAssistantRowCapabilitySnapshot;
1237
1270
  private buildCapabilitySnapshotFromSurfaceCatalog;
1238
1271
  private buildAiAssistantResourceSurfaceContexts;
@@ -1250,6 +1283,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1250
1283
  private aiAssistantController;
1251
1284
  private aiAssistantStateSubscription;
1252
1285
  private readonly aiApi;
1286
+ private readonly agenticTurnClient;
1253
1287
  private readonly assistantSessions;
1254
1288
  private readonly aiTurnOrchestrator;
1255
1289
  private readonly aiAssistantSessionEffect;
@@ -1270,6 +1304,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1270
1304
  private readonly cellAnimationPreviousValuesByRowId;
1271
1305
  private readonly cellAnimationPreviousValuesByRowRef;
1272
1306
  private readonly cellAnimationPreviousRowIdOrder;
1307
+ private readonly progressRichContentContextByRowRef;
1273
1308
  private getLogger;
1274
1309
  private buildLogOptions;
1275
1310
  private debugLog;
@@ -1300,6 +1335,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1300
1335
  private clearSchemaFieldsSnapshot;
1301
1336
  private componentKeyId;
1302
1337
  private storageKey;
1338
+ private isVolatileConfigPersistence;
1303
1339
  private tableConfigKey;
1304
1340
  private filterConfigKey;
1305
1341
  private ensureConfigDefaults;
@@ -1336,6 +1372,12 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1336
1372
  onAiAssistantRetry(): void;
1337
1373
  onAiAssistantCancel(): void;
1338
1374
  onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
1375
+ private mergeAiAssistantQuickReplyContextHints;
1376
+ private resolveAiAssistantVisualPresentationQuickReplyPrompt;
1377
+ private resolveAiAssistantVisualPresentationQuickReplyContextHints;
1378
+ private resolveAiAssistantVisualPresentationRenderer;
1379
+ private resolveAiAssistantVisualPresentationTargetField;
1380
+ private aiAssistantVisualPresentationTargetScore;
1339
1381
  getAiAssistantRecommendedIntents(): readonly PraxisAssistantRecommendedIntent[];
1340
1382
  private getAiAssistantCapabilityDiscoveryRecommendations;
1341
1383
  onAiAssistantRecommendedIntent(intent: PraxisAssistantRecommendedIntent): void;
@@ -1348,12 +1390,27 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1348
1390
  private interpolateAiAssistantContextValue;
1349
1391
  private aiAssistantSelectedRecordsValue;
1350
1392
  private buildAiAssistantContextSnapshot;
1393
+ buildRuntimeComponentObservation(): PraxisRuntimeComponentObservationEnvelope;
1394
+ private registerRuntimeComponentObservationProvider;
1395
+ private getRuntimeObservationSelectedRecordsContext;
1396
+ private getActiveRuntimeObservationSelectedRows;
1397
+ private buildRuntimeObservationSelectionDigest;
1398
+ private buildRuntimeObservationStateDigest;
1399
+ private buildRuntimeObservationDataProfileDigest;
1400
+ private getRuntimeObservationSchemaFieldRefs;
1401
+ private getRuntimeObservationSchemaFieldDescriptors;
1402
+ private getRuntimeObservationSurfaceRefs;
1403
+ private getRuntimeObservationActionRefs;
1404
+ private buildRuntimeObservationClaims;
1405
+ private isRuntimeObservationVisible;
1351
1406
  private syncAiAssistantSession;
1352
1407
  private assistantContextRuntimeLocale;
1353
1408
  private refreshAiAssistantContextAfterSelectionChange;
1354
1409
  private hasAiAssistantSessionState;
1355
1410
  private resolveAiAssistantSessionId;
1356
1411
  private resolveAiAssistantOwnerId;
1412
+ private runtimeSurfaceInstanceRef;
1413
+ private safeRuntimeSurfaceRefSegment;
1357
1414
  private resolveAiAssistantRouteKey;
1358
1415
  private resolveAiAssistantSummary;
1359
1416
  private resolveAiAssistantBadge;
@@ -1644,9 +1701,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1644
1701
  private persistHorizontalScrollInput;
1645
1702
  private showPersistenceFailureFeedback;
1646
1703
  private showResetSuccessFeedback;
1704
+ readonly toolbarColumnVisibilityController: (field: string, visible: boolean) => void;
1705
+ toggleColumnVisibility(field: string, visible: boolean): void;
1647
1706
  openTableSettings(): void;
1648
1707
  private applyTableConfig;
1649
1708
  private buildTableEditorRuntimeContext;
1709
+ private emitWidgetInputPatch;
1710
+ private scheduleWidgetInputPatch;
1711
+ private cloneInputPatch;
1650
1712
  private executeTableEditorApplyPlan;
1651
1713
  private attachRuntimeMetadataToEditorConfig;
1652
1714
  private syncInternalFilterSettings;
@@ -1801,6 +1863,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1801
1863
  private applyImplicitRuntimeCellPresentation;
1802
1864
  private shouldHumanizeRuntimeEnumCell;
1803
1865
  private resolveCellFormattingType;
1866
+ private isCanonicalNumericFormat;
1804
1867
  private normalizeReadonlyEntityLookupCellValue;
1805
1868
  private toEntityLookupDisplayToken;
1806
1869
  private isEntityLookupDisplayCandidate;
@@ -1926,7 +1989,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1926
1989
  getIconName(row: any, column: ColumnDefinition): string | null;
1927
1990
  getIconColor(_row: any, column: ColumnDefinition): string | null;
1928
1991
  getIconStyle(_row: any, column: ColumnDefinition): Record<string, string> | null;
1929
- getIconAriaLabel(_row: any, column: ColumnDefinition): string | null;
1992
+ getIconAriaLabel(row: any, column: ColumnDefinition): string | null;
1993
+ getIconText(row: any, column: ColumnDefinition): string | null;
1930
1994
  getIconRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
1931
1995
  /**
1932
1996
  * Lightweight, controlled evaluator for string/number expressions using row context.
@@ -1967,12 +2031,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1967
2031
  getBadgeIcon(row: any, column: ColumnDefinition): string | null;
1968
2032
  getBadgeClasses(row: any, column: ColumnDefinition): string[];
1969
2033
  getBadgeRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
2034
+ shouldRenderBadge(row: any, column: ColumnDefinition): boolean;
1970
2035
  getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | null;
1971
2036
  getComposeItems(row: any, column: ColumnDefinition): any[];
2037
+ trackComposeItem(index: number, item: any): string;
1972
2038
  getComposeClasses(row: any, column: ColumnDefinition): string[];
1973
2039
  getComposeGapStyle(row: any, column: ColumnDefinition): any;
1974
2040
  private getComposeItemField;
1975
2041
  getComposeItemValue(row: any, base: ColumnDefinition, item: any): any;
2042
+ private asComposeValueItemColumn;
1976
2043
  asItemColumn(base: ColumnDefinition, item: any): any;
1977
2044
  getItemEffectiveType(row: any, column: ColumnDefinition, item: any): any;
1978
2045
  private mergeRenderer;
@@ -2004,7 +2071,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2004
2071
  onButtonClick(row: any, column: ColumnDefinition, event: Event): void;
2005
2072
  getChipText(row: any, column: ColumnDefinition): string | null;
2006
2073
  private getRendererTextFieldValue;
2074
+ private normalizeRendererText;
2007
2075
  getChipRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
2076
+ shouldRenderChip(row: any, column: ColumnDefinition): boolean;
2008
2077
  getChipIcon(row: any, column: ColumnDefinition): string | null;
2009
2078
  getChipClasses(row: any, column: ColumnDefinition): string[];
2010
2079
  getProgressValue(row: any, column: ColumnDefinition): number;
@@ -2083,6 +2152,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2083
2152
  private getComparableRowIdentity;
2084
2153
  getIdField(): string;
2085
2154
  private resolveConfigMetaIdField;
2155
+ private normalizeIdField;
2086
2156
  private syncRuntimeSchemaMetaFromConfig;
2087
2157
  private getEffectiveMetadataSnapshot;
2088
2158
  getActionId(action: any): string;
@@ -2095,10 +2165,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2095
2165
  getVirtMinHeightStyle(): string;
2096
2166
  getVirtMinHeightHostStyle(): string | null;
2097
2167
  getVirtualTableWidthStyle(): string | null;
2168
+ isSelectionColumnEnabled(): boolean;
2169
+ isRowClickSelectable(): boolean;
2098
2170
  canSelectAll(): boolean;
2099
2171
  masterToggle(): void;
2100
2172
  isAllSelected(): boolean;
2101
2173
  toggleRow(row: any): void;
2174
+ getRowSelectionAriaLabel(row: any, index?: number): string;
2175
+ getMasterSelectionAriaLabel(): string;
2102
2176
  private selectRowFromUserInteraction;
2103
2177
  private emitSelectionChange;
2104
2178
  private getSelectedRowsSnapshot;
@@ -2171,7 +2245,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2171
2245
  private scheduleRowDiscoveryMarkForCheck;
2172
2246
  ngOnDestroy(): void;
2173
2247
  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; }]>;
2174
- 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; }; "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>;
2248
+ 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>;
2175
2249
  static ngAcceptInputType_enableCustomization: unknown;
2176
2250
  }
2177
2251
 
@@ -2363,7 +2437,15 @@ interface ExtendedColumnDefinition extends ColumnDefinition {
2363
2437
  resizable?: boolean;
2364
2438
  filterable?: boolean;
2365
2439
  }
2366
- declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2440
+ interface RendererFieldOption {
2441
+ name: string;
2442
+ label: string;
2443
+ type?: string;
2444
+ isVisible: boolean;
2445
+ isHidden?: boolean;
2446
+ }
2447
+ type ComposePresetId = 'personAvatar' | 'contactTwoLines' | 'documentEmail' | 'statusChip';
2448
+ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestroy {
2367
2449
  private cdr;
2368
2450
  private readonly i18n;
2369
2451
  tx(key: string, fallback: string): string;
@@ -2371,6 +2453,15 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2371
2453
  readonly ratingRendererHint: string;
2372
2454
  readonly composeRatingRendererHint: string;
2373
2455
  config: TableConfig;
2456
+ fieldMetadata: Array<{
2457
+ name?: string;
2458
+ label?: string;
2459
+ type?: string;
2460
+ tableHidden?: boolean;
2461
+ hidden?: boolean;
2462
+ xUi?: Record<string, any>;
2463
+ ui?: Record<string, any>;
2464
+ }>;
2374
2465
  configChange: EventEmitter<_praxisui_core.TableConfigModern>;
2375
2466
  columnChange: EventEmitter<ColumnChange>;
2376
2467
  columns: ExtendedColumnDefinition[];
@@ -2393,12 +2484,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2393
2484
  onlyVisibleRendererFields: boolean;
2394
2485
  uiRendererType: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null;
2395
2486
  private _rendererApplyTimer;
2396
- rendererFieldOptions: Array<{
2397
- name: string;
2398
- label: string;
2399
- type?: string;
2400
- isVisible: boolean;
2401
- }>;
2487
+ rendererFieldOptions: RendererFieldOption[];
2402
2488
  uiRendererConditional: boolean;
2403
2489
  condOverridesSelectedIndex: number;
2404
2490
  getConditionalOverrides(): any[];
@@ -2424,15 +2510,14 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2424
2510
  private rendererAppliedSnapshot;
2425
2511
  previewRows: any[];
2426
2512
  private refreshRendererFieldOptions;
2427
- getRendererFieldOptions(): Array<{
2428
- name: string;
2429
- label: string;
2430
- type?: string;
2431
- isVisible: boolean;
2432
- }>;
2513
+ getRendererFieldOptions(): RendererFieldOption[];
2514
+ formatRendererFieldOption(option: RendererFieldOption): string;
2515
+ private buildRendererFieldOptions;
2516
+ private sortRendererFieldOptions;
2433
2517
  onRendererFieldToggleChange(): void;
2434
2518
  constructor(cdr: ChangeDetectorRef);
2435
2519
  ngOnInit(): void;
2520
+ ngOnChanges(changes: SimpleChanges): void;
2436
2521
  ngOnDestroy(): void;
2437
2522
  private updateGlobalSettings;
2438
2523
  private updateVisibilityState;
@@ -2571,6 +2656,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2571
2656
  private normalizePreviewRatingValue;
2572
2657
  getPreviewAvatarSrc(row: any): string | null;
2573
2658
  getPreviewAvatarInitials(row: any): string;
2659
+ private derivePreviewAvatarInitials;
2574
2660
  getPreviewAvatarStyle(): Record<string, string>;
2575
2661
  getPreviewAvatarShape(): 'square' | 'rounded' | 'circle' | undefined;
2576
2662
  getPreviewToggleState(row: any): boolean;
@@ -2588,6 +2674,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2588
2674
  }>;
2589
2675
  private getComposeItemSummary;
2590
2676
  addComposeItem(kind: string): void;
2677
+ applyComposePreset(preset: ComposePresetId): void;
2591
2678
  removeComposeItem(index: number): void;
2592
2679
  duplicateComposeItem(index: number): void;
2593
2680
  onComposeReorder(event: any): void;
@@ -2597,6 +2684,8 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2597
2684
  getSelectedComposeItem(): any;
2598
2685
  getSelectedComposeItemProp(path: string): any;
2599
2686
  setSelectedComposeItemProp(path: string, value: any): void;
2687
+ private findRendererFieldByCandidates;
2688
+ private normalizeFieldLookup;
2600
2689
  getColumnKeyInputType(column: ColumnDefinition | null): 'text' | 'number' | 'boolean';
2601
2690
  onMappingChange(mapping: {
2602
2691
  [key: string | number]: string;
@@ -2633,7 +2722,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnDestroy {
2633
2722
  }): void;
2634
2723
  private updateFieldSchemasForStyleRules;
2635
2724
  static ɵfac: i0.ɵɵFactoryDeclaration<ColumnsConfigEditorComponent, never>;
2636
- static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsConfigEditorComponent, "columns-config-editor", never, { "config": { "alias": "config"; "required": false; }; }, { "configChange": "configChange"; "columnChange": "columnChange"; }, never, never, true, never>;
2725
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColumnsConfigEditorComponent, "columns-config-editor", never, { "config": { "alias": "config"; "required": false; }; "fieldMetadata": { "alias": "fieldMetadata"; "required": false; }; }, { "configChange": "configChange"; "columnChange": "columnChange"; }, never, never, true, never>;
2637
2726
  }
2638
2727
 
2639
2728
  interface BehaviorConfigChange {
@@ -2895,6 +2984,9 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
2895
2984
  private getActionDraftKey;
2896
2985
  private getActionDedupeKey;
2897
2986
  pickAddButtonIcon(): Promise<void>;
2987
+ pickToolbarIcon(): Promise<void>;
2988
+ private normalizeToolbarIcon;
2989
+ private normalizeToolbarTextAlign;
2898
2990
  pickActionIcon(index: number): Promise<void>;
2899
2991
  pickRowActionIcon(index: number): Promise<void>;
2900
2992
  pickBulkActionIcon(index: number): Promise<void>;
@@ -3290,6 +3382,7 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
3290
3382
  ngOnDestroy(): void;
3291
3383
  get columnFields(): string[];
3292
3384
  getOperatorsForField(fieldName: string | null): string[];
3385
+ getFieldDisplayLabel(fieldName: string | null): string;
3293
3386
  onScopeChange(scope: 'row' | 'column'): void;
3294
3387
  onColumnSelect(field: string): void;
3295
3388
  private initFromConfig;
@@ -3499,6 +3592,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3499
3592
  private readonly panelRef;
3500
3593
  constructor(cdr: ChangeDetectorRef, configService: TableConfigService);
3501
3594
  tx(key: string, fallback: string): string;
3595
+ private normalizeSearchText;
3502
3596
  private isDebugLoggingEnabled;
3503
3597
  private debugLog;
3504
3598
  ngOnInit(): void;
@@ -3512,6 +3606,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3512
3606
  private cloneFilterSettings;
3513
3607
  private isEffectivelyEmptyFilterSettings;
3514
3608
  getFilterSettingsMetas(): FieldMetadata[];
3609
+ getColumnAuthoringMetas(): FieldMetadata[];
3610
+ get filteredIdFieldOptions(): FieldMetadata[];
3515
3611
  isUsingFilterDtoMetas(): boolean;
3516
3612
  getEffectiveDataMode(): EffectiveDataMode;
3517
3613
  isEffectiveLocalMode(): boolean;
@@ -3545,6 +3641,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3545
3641
  onResourcePathChange(val: string): void;
3546
3642
  private loadFilterDtoMetas;
3547
3643
  onIdFieldChange(val: string): void;
3644
+ onIdFieldOptionSelected(value: string): void;
3548
3645
  onHorizontalScrollChange(val: 'auto' | 'wrap' | 'none'): void;
3549
3646
  onReconcileIdField(): void;
3550
3647
  onAcceptServerHash(): void;
@@ -3612,6 +3709,8 @@ declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1,
3612
3709
  readonly isDirty$: BehaviorSubject<boolean>;
3613
3710
  readonly isValid$: BehaviorSubject<boolean>;
3614
3711
  readonly isBusy$: BehaviorSubject<boolean>;
3712
+ private readonly cdr;
3713
+ private readonly crudService;
3615
3714
  private readonly subscription;
3616
3715
  ngAfterViewInit(): void;
3617
3716
  ngOnDestroy(): void;
@@ -3619,6 +3718,11 @@ declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1,
3619
3718
  onSave(): PraxisTableWidgetEditorValue;
3620
3719
  reset(): void;
3621
3720
  private initializeChildEditor;
3721
+ private hydrateColumnsFromSchemaIfNeeded;
3722
+ private fieldToColumn;
3723
+ private resolveColumnType;
3724
+ private humanizeFieldName;
3725
+ private tryInject;
3622
3726
  private buildValue;
3623
3727
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
3624
3728
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableWidgetConfigEditor, "praxis-table-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; }, {}, never, never, true, never>;
@@ -3828,6 +3932,8 @@ declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
3828
3932
  workingConfig: TableConfig;
3829
3933
  toolbarTitle: string;
3830
3934
  toolbarSubtitle: string;
3935
+ toolbarIcon: string;
3936
+ toolbarTextAlign: 'start' | 'center' | 'end';
3831
3937
  toolbarVisible: boolean;
3832
3938
  density: 'compact' | 'comfortable' | 'spacious';
3833
3939
  toolbarActionsPosition: 'top' | 'bottom' | 'both';
@@ -3858,6 +3964,8 @@ declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
3858
3964
  ngOnChanges(): void;
3859
3965
  setToolbarTitle(value: string): void;
3860
3966
  setToolbarSubtitle(value: string): void;
3967
+ setToolbarIcon(value: string): void;
3968
+ setToolbarTextAlign(value: 'start' | 'center' | 'end'): void;
3861
3969
  setToolbarVisible(value: boolean): void;
3862
3970
  setDensity(value: 'compact' | 'comfortable' | 'spacious'): void;
3863
3971
  setToolbarActionsPosition(value: 'top' | 'bottom' | 'both'): void;
@@ -3887,6 +3995,8 @@ declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
3887
3995
  behaviorSummary(): string;
3888
3996
  statesSummary(): string;
3889
3997
  columnsPreviewSummary(): string;
3998
+ private normalizeToolbarTextAlign;
3999
+ private normalizeToolbarIcon;
3890
4000
  serializedConfig(): string;
3891
4001
  tx(key: string, fallback: string): string;
3892
4002
  private emitConfig;
@@ -4480,4 +4590,4 @@ declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[],
4480
4590
  declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
4481
4591
 
4482
4592
  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 };
4483
- 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, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
4593
+ 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 };