@praxisui/table 8.0.0-beta.0 → 8.0.0-beta.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { OnDestroy, EventEmitter, ElementRef, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, Provider, AfterContentInit } from '@angular/core';
3
3
  import { ActivatedRoute } from '@angular/router';
4
4
  import { MatTable, MatTableDataSource } from '@angular/material/table';
5
- import { MatPaginator, PageEvent } from '@angular/material/paginator';
5
+ import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
6
6
  import { MatSort, Sort } from '@angular/material/sort';
7
7
  import { MatSnackBar } from '@angular/material/snack-bar';
8
8
  import { SelectionModel } from '@angular/cdk/collections';
@@ -10,11 +10,12 @@ import { CdkDragDrop, CdkDragEnd, CdkDrag, CdkDropList } from '@angular/cdk/drag
10
10
  import { BehaviorSubject, Subscription, Observable } from 'rxjs';
11
11
  import { SettingsPanelService, SettingsValueProvider } from '@praxisui/settings-panel';
12
12
  import * as _praxisui_core from '@praxisui/core';
13
- import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, ResourceActionCatalogItem, JsonLogicExpression, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisJsonLogicService, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, PraxisI18nService, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
13
+ import { TableConfig, LoggerService, PraxisI18nService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisJsonLogicService, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
14
14
  import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
15
15
  import { MatDialog } from '@angular/material/dialog';
16
16
  import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
17
17
  import { PraxisDialog } from '@praxisui/dialog';
18
+ import { PraxisAssistantTurnViewState, PraxisAssistantShellLayout, PraxisAssistantShellLabels, PraxisAssistantShellQuickReply, PraxisAssistantShellMessage } from '@praxisui/ai';
18
19
  import { MatTabChangeEvent } from '@angular/material/tabs';
19
20
  import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
20
21
  import { RuleEffectDefinition } from '@praxisui/table-rule-builder';
@@ -37,6 +38,7 @@ declare function getActionId(action: ActionLike): string;
37
38
  declare class PraxisTableToolbar implements OnDestroy {
38
39
  private hostRef;
39
40
  private logger?;
41
+ private i18n?;
40
42
  config?: TableConfig;
41
43
  backgroundColor: string | null;
42
44
  placement: 'header' | 'footer';
@@ -44,13 +46,11 @@ declare class PraxisTableToolbar implements OnDestroy {
44
46
  showActionsGroup: boolean;
45
47
  showEndActions: boolean;
46
48
  showMobileActions: boolean;
47
- showReset: boolean;
48
49
  evaluationContext: Record<string, any> | null;
49
50
  toolbarAction: EventEmitter<{
50
51
  action: string;
51
52
  actionConfig?: any;
52
53
  }>;
53
- reset: EventEmitter<void>;
54
54
  readonly getActionId: typeof getActionId;
55
55
  private readonly jsonLogic;
56
56
  private readonly validToolbarActionTypes;
@@ -62,7 +62,10 @@ declare class PraxisTableToolbar implements OnDestroy {
62
62
  private readonly warnedShortcutConflicts;
63
63
  private fallbackLogger?;
64
64
  private fallbackLoggerEnvironment;
65
- constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined);
65
+ constructor(hostRef?: ElementRef<HTMLElement> | null, logger?: LoggerService | undefined, i18n?: PraxisI18nService | undefined);
66
+ getExportDataLabel(): string;
67
+ getMoreActionsLabel(): string;
68
+ private tx;
66
69
  ngOnDestroy(): void;
67
70
  private getNestedPropertyValue;
68
71
  private cloneForEmit;
@@ -108,8 +111,8 @@ declare class PraxisTableToolbar implements OnDestroy {
108
111
  private warnShortcutConflict;
109
112
  private sortActions;
110
113
  getExportIcon(format: string): string;
111
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }]>;
112
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "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; }; "showReset": { "alias": "showReset"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "reset": "reset"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
114
+ static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }]>;
115
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "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; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
113
116
  }
114
117
 
115
118
  type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
@@ -210,6 +213,7 @@ declare class DataFormattingService {
210
213
  */
211
214
  formatValue(value: any, columnType: ColumnDataType$1, formatString: string, options?: DataFormattingOptions): any;
212
215
  private coerceValueToType;
216
+ private normalizeNumericDateInput;
213
217
  private formatDate;
214
218
  private formatNumber;
215
219
  private formatCurrency;
@@ -640,6 +644,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
640
644
  private applySchemaMetas;
641
645
  private applySchemaMetasNow;
642
646
  private pickMetasByOrder;
647
+ private hasRemoteOptionSource;
643
648
  private withInferredFilterControlType;
644
649
  private isAllowedFilterControlType;
645
650
  private inferFilterControlType;
@@ -674,6 +679,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
674
679
  trackById(_idx: number, it: {
675
680
  id: string;
676
681
  }): string;
682
+ private isFilterFieldHidden;
677
683
  onAddSelectionChange(values: string[] | null | undefined): void;
678
684
  private formatWithCount;
679
685
  getAddAriaLabel(): string;
@@ -829,6 +835,7 @@ type RowActionRuntimeOptions = {
829
835
  type RuntimeRowAction = {
830
836
  id: string;
831
837
  action: string;
838
+ globalAction?: GlobalActionRef;
832
839
  label?: string;
833
840
  icon?: string;
834
841
  color?: string;
@@ -836,6 +843,7 @@ type RuntimeRowAction = {
836
843
  disabled?: boolean;
837
844
  overflow?: boolean;
838
845
  __praxisDiscoveredAction?: ResourceActionCatalogItem;
846
+ __praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
839
847
  __praxisCapabilityDenied?: boolean;
840
848
  };
841
849
  type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
@@ -862,6 +870,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
862
870
  private resourceDiscovery;
863
871
  private componentKeys;
864
872
  private loadingOrchestrator;
873
+ private globalActions;
865
874
  private loadingRenderer?;
866
875
  private route?;
867
876
  private logger?;
@@ -870,6 +879,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
870
879
  private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
871
880
  private static readonly ROW_DISCOVERY_CACHE_LIMIT;
872
881
  private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
882
+ readonly paginatorSelectConfig: MatPaginatorSelectConfig;
873
883
  private static readonly ROW_ANIMATION_PRESETS;
874
884
  private static readonly ROW_ANIMATION_PRESET_ALIASES;
875
885
  config: TableConfig;
@@ -905,6 +915,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
905
915
  metadataChange: EventEmitter<any>;
906
916
  loadingStateChange: EventEmitter<LoadingState>;
907
917
  collectionLinksChange: EventEmitter<RestApiLinks | null>;
918
+ selectionChange: EventEmitter<any>;
908
919
  private latestLoadingState;
909
920
  paginator: MatPaginator;
910
921
  sort: MatSort;
@@ -968,6 +979,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
968
979
  private rowDiscoveryMarkForCheckScheduled;
969
980
  private lastRowDiscoveryScopeKey;
970
981
  private readonly i18n;
982
+ private readonly paginatorIntl;
971
983
  private schemaFieldsSnapshot;
972
984
  private runtimeSchemaMeta;
973
985
  schemaError: boolean;
@@ -982,7 +994,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
982
994
  shouldRenderFooterToolbar(): boolean;
983
995
  shouldShowFooterToolbarMain(): boolean;
984
996
  shouldShowFooterToolbarEndActions(): boolean;
985
- shouldShowFooterToolbarReset(): boolean;
986
997
  getToolbarActionsPosition(): 'top' | 'bottom' | 'both';
987
998
  getBulkActionsPosition(): 'toolbar' | 'floating' | 'both';
988
999
  shouldRenderFloatingBulkActions(): boolean;
@@ -1034,6 +1045,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1034
1045
  getTableSettingsTooltip(): string;
1035
1046
  getDisconnectLabel(): string;
1036
1047
  getDisconnectTooltip(): string;
1048
+ private syncPaginatorIntl;
1049
+ private configuredLocaleRuntimeText;
1050
+ private formatPaginatorRangeLabel;
1037
1051
  getNoDataStateIcon(): string;
1038
1052
  getNoDataStatePrimaryAction(): any | null;
1039
1053
  getNoDataStateSecondaryActions(): any[];
@@ -1062,6 +1076,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1062
1076
  getSchemaFieldsSnapshot(): SchemaFieldHint[];
1063
1077
  aiAdapter: any;
1064
1078
  private aiAdapterLoadStarted;
1079
+ aiAssistantOpen: boolean;
1080
+ aiAssistantPrompt: string;
1081
+ aiAssistantViewState: PraxisAssistantTurnViewState | null;
1082
+ aiAssistantLayout: PraxisAssistantShellLayout;
1083
+ readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
1084
+ private aiAssistantController;
1085
+ private aiAssistantStateSubscription;
1086
+ private readonly aiApi;
1087
+ private readonly aiTurnOrchestrator;
1065
1088
  private computedContextCache;
1066
1089
  private computedFieldNames;
1067
1090
  private readonly jsonLogic;
@@ -1110,8 +1133,19 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1110
1133
  private ensureConfigDefaults;
1111
1134
  private setShowToolbar;
1112
1135
  private shouldExposeToolbar;
1113
- 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, resourceDiscovery: ResourceDiscoveryService, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined);
1136
+ 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, resourceDiscovery: ResourceDiscoveryService, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, globalActions: GlobalActionService, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined);
1114
1137
  private ensureAiAdapterLoaded;
1138
+ openAiAssistant(): void;
1139
+ closeAiAssistant(): void;
1140
+ onAiAssistantPromptChange(prompt: string): void;
1141
+ onAiAssistantSubmit(prompt: string): void;
1142
+ onAiAssistantApply(): void;
1143
+ onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
1144
+ onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
1145
+ onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
1146
+ onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
1147
+ private initializeAiAssistantController;
1148
+ private buildAiAssistantContextItems;
1115
1149
  private emitLoadingState;
1116
1150
  private hasResolvedRemoteDataLoad;
1117
1151
  private isTableDataLoading;
@@ -1315,6 +1349,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1315
1349
  private sanitizeDomIdToken;
1316
1350
  private areStringSetsEqual;
1317
1351
  private shouldToggleExpansionOnRowClick;
1352
+ private shouldSelectRowOnRowClick;
1318
1353
  private getExpansionMotionPreset;
1319
1354
  private getExpansionMotionDurationMs;
1320
1355
  private getExpansionMotionEasingCurve;
@@ -1328,19 +1363,22 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1328
1363
  private emitRowActionEvent;
1329
1364
  private showConfirmDialog;
1330
1365
  private executeDeleteAction;
1366
+ private dispatchRowAction;
1331
1367
  private cloneForEmit;
1332
1368
  private interpolateActionMessageTemplate;
1333
1369
  private buildActionFeedbackContext;
1334
1370
  private resolveActionFeedbackMessage;
1335
1371
  private showActionFeedbackMessage;
1336
1372
  private emitEventWithActionFeedback;
1373
+ private executeConfiguredGlobalAction;
1374
+ private shouldEmitLocalForGlobalAction;
1337
1375
  private resolveBulkValidationMessage;
1338
1376
  private hasValidBulkSelectionCount;
1339
1377
  private showBulkConfirmDialog;
1340
1378
  onToolbarAction(event: {
1341
1379
  action: string;
1342
1380
  actionConfig?: any;
1343
- }): void;
1381
+ }): Promise<void>;
1344
1382
  onAdvancedFilterSubmit(criteria: Record<string, any>): void;
1345
1383
  onAdvancedFilterChange(criteria: Record<string, any>): void;
1346
1384
  onAdvancedFilterClear(): void;
@@ -1362,6 +1400,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1362
1400
  private applyDataSourceSettings;
1363
1401
  private sanitizeColumns;
1364
1402
  private setupColumns;
1403
+ private preserveSchemaDrivenColumnsIfConfigOmittedColumns;
1365
1404
  private isDataColumnField;
1366
1405
  private computeVisibleDataColumnsForDrag;
1367
1406
  getVisibleDataColumnsForDrag(): ColumnDefinition[];
@@ -1370,6 +1409,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1370
1409
  isColumnDraggable(column: ColumnDefinition | null | undefined): boolean;
1371
1410
  private resolveColumnReorderHeader;
1372
1411
  private isEnglishLocale;
1412
+ private isEnglishLocaleValue;
1373
1413
  private isColumnDragDebugEnabled;
1374
1414
  private logColumnDragDebug;
1375
1415
  private resolveTableMessageTemplate;
@@ -1735,6 +1775,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1735
1775
  private reconcileSelectionAfterDataChange;
1736
1776
  private getComparableRowIdentity;
1737
1777
  getIdField(): string;
1778
+ private resolveConfigMetaIdField;
1738
1779
  private syncRuntimeSchemaMetaFromConfig;
1739
1780
  private getEffectiveMetadataSnapshot;
1740
1781
  getActionId(action: any): string;
@@ -1751,6 +1792,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1751
1792
  masterToggle(): void;
1752
1793
  isAllSelected(): boolean;
1753
1794
  toggleRow(row: any): void;
1795
+ private selectRowFromUserInteraction;
1796
+ private emitSelectionChange;
1754
1797
  private getRowActionsConfig;
1755
1798
  getActionsHeaderAlign(): string;
1756
1799
  getActionsHeaderTooltip(): string | undefined;
@@ -1775,11 +1818,19 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1775
1818
  private splitVisibleRowActionsFromVisible;
1776
1819
  private decorateConfiguredRowAction;
1777
1820
  private getDiscoveredRowWorkflowActions;
1821
+ private getDiscoveredRowSurfaceActionsFromSnapshot;
1778
1822
  private getDiscoveredRowWorkflowActionsFromCatalog;
1779
1823
  private supportsRowCrudAction;
1780
1824
  private isCapabilityManagedCrudRowAction;
1781
1825
  private findItemWorkflowAction;
1826
+ private findItemSurface;
1827
+ private isRowSurfaceAction;
1828
+ private isWritableRowSurface;
1829
+ private isReadableRowSurface;
1830
+ private getDiscoveredSurfaceIcon;
1831
+ private getDiscoveredSurfaceColor;
1782
1832
  private getUnavailableWorkflowMessage;
1833
+ private getUnavailableSurfaceMessage;
1783
1834
  private normalizeActionId;
1784
1835
  private isActionVisible;
1785
1836
  trackAction(index: number, item: any): any;
@@ -1793,8 +1844,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1793
1844
  getRowMenuIcon(): string;
1794
1845
  private scheduleRowDiscoveryMarkForCheck;
1795
1846
  ngOnDestroy(): void;
1796
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
1797
- 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; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
1847
+ 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; }]>;
1848
+ 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; }; "enableCustomization": { "alias": "enableCustomization"; "required": false; }; "dense": { "alias": "dense"; "required": false; }; }, { "rowClick": "rowClick"; "rowDoubleClick": "rowDoubleClick"; "rowExpansionChange": "rowExpansionChange"; "rowAction": "rowAction"; "toolbarAction": "toolbarAction"; "bulkAction": "bulkAction"; "columnReorder": "columnReorder"; "columnReorderAttempt": "columnReorderAttempt"; "beforeDelete": "beforeDelete"; "afterDelete": "afterDelete"; "deleteError": "deleteError"; "beforeBulkDelete": "beforeBulkDelete"; "afterBulkDelete": "afterBulkDelete"; "bulkDeleteError": "bulkDeleteError"; "schemaStatusChange": "schemaStatusChange"; "metadataChange": "metadataChange"; "loadingStateChange": "loadingStateChange"; "collectionLinksChange": "collectionLinksChange"; "selectionChange": "selectionChange"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
1798
1849
  static ngAcceptInputType_enableCustomization: unknown;
1799
1850
  }
1800
1851
 
@@ -1807,7 +1858,6 @@ interface EditorDocument<TConfig, TBindings = unknown> {
1807
1858
  type TableHorizontalScroll = 'auto' | 'wrap' | 'none';
1808
1859
  interface TableBindings {
1809
1860
  resourcePath?: string | null;
1810
- idField?: string;
1811
1861
  horizontalScroll?: TableHorizontalScroll;
1812
1862
  }
1813
1863
  interface TableAuthoringDocument extends EditorDocument<TableConfig, TableBindings> {
@@ -1864,7 +1914,6 @@ interface TableApplyPlan {
1864
1914
  };
1865
1915
  diff?: {
1866
1916
  resourcePathChanged?: boolean;
1867
- idFieldChanged?: boolean;
1868
1917
  horizontalScrollChanged?: boolean;
1869
1918
  requiresDataRefresh?: boolean;
1870
1919
  };
@@ -2337,6 +2386,7 @@ interface ToolbarAction {
2337
2386
  /** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
2338
2387
  appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
2339
2388
  action: string;
2389
+ globalAction?: GlobalActionRef;
2340
2390
  position: 'start' | 'end';
2341
2391
  order?: number;
2342
2392
  disabled?: boolean;
@@ -2352,6 +2402,7 @@ interface RowAction {
2352
2402
  label: string;
2353
2403
  icon: string;
2354
2404
  action: string;
2405
+ globalAction?: GlobalActionRef;
2355
2406
  color?: 'primary' | 'accent' | 'warn';
2356
2407
  tooltip?: string;
2357
2408
  requiresConfirmation?: boolean;
@@ -2364,6 +2415,7 @@ interface BulkAction {
2364
2415
  label: string;
2365
2416
  icon: string;
2366
2417
  action: string;
2418
+ globalAction?: GlobalActionRef;
2367
2419
  color?: 'primary' | 'accent' | 'warn';
2368
2420
  tooltip?: string;
2369
2421
  requiresConfirmation?: boolean;
@@ -2377,6 +2429,22 @@ interface ToolbarActionsChange {
2377
2429
  value: any;
2378
2430
  fullConfig: TableConfig;
2379
2431
  }
2432
+ type GlobalActionCatalogOption = GlobalActionCatalogEntry & {
2433
+ param?: {
2434
+ required?: boolean;
2435
+ label?: string;
2436
+ placeholder?: string;
2437
+ hint?: string;
2438
+ };
2439
+ };
2440
+ type EditableTableAction = {
2441
+ id?: string;
2442
+ label?: string;
2443
+ action?: string;
2444
+ globalAction?: GlobalActionRef;
2445
+ position?: string;
2446
+ appearance?: string;
2447
+ };
2380
2448
  type ToolbarShortcutScope = 'toolbar' | 'global';
2381
2449
  interface InternalActionSpec {
2382
2450
  id: string;
@@ -2397,14 +2465,14 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
2397
2465
  editingToolbarActionIndex: number | null;
2398
2466
  editingRowActionIndex: number | null;
2399
2467
  editingBulkActionIndex: number | null;
2400
- readonly globalActionCatalog: GlobalActionSpec[];
2468
+ private readonly i18n;
2469
+ readonly globalActionCatalog: GlobalActionCatalogOption[];
2401
2470
  get internalActionCatalog(): InternalActionSpec[];
2402
2471
  readonly customActionValue = "__custom__";
2403
2472
  readonly validShortcutScopes: ToolbarShortcutScope[];
2404
2473
  private readonly actionFieldDrafts;
2405
2474
  private readonly actionFieldErrors;
2406
2475
  private readonly warnedInvalidShortcutScopes;
2407
- private readonly i18n;
2408
2476
  private destroy$;
2409
2477
  constructor(fb: FormBuilder, iconPicker: IconPickerService);
2410
2478
  tx(key: string, fallback: string): string;
@@ -2433,56 +2501,35 @@ declare class ToolbarActionsEditorComponent implements OnInit, OnDestroy, OnChan
2433
2501
  private removeAddToolbarAction;
2434
2502
  private syncAddFormFromActions;
2435
2503
  private updateConfig;
2436
- getActionSelectValue(value?: string): string;
2437
- getActionParam(value?: string): string;
2438
- getActionCustomValue(value?: string): string;
2504
+ getActionSelectValue(action?: EditableTableAction): string;
2505
+ getActionParam(action?: EditableTableAction): string;
2506
+ isRequiredGlobalActionParamMissing(action: EditableTableAction, spec: GlobalActionCatalogOption): boolean;
2507
+ getActionCustomValue(action?: EditableTableAction): string;
2439
2508
  isInternalAction(value?: string): boolean;
2440
- getActionSpecById(id: string): GlobalActionSpec | undefined;
2441
- onActionSelectChange(action: {
2442
- action?: string;
2443
- }, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
2444
- onActionParamChange(action: {
2445
- action?: string;
2446
- }, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
2447
- onActionCustomChange(action: {
2448
- action?: string;
2449
- }, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
2509
+ getActionSpecById(id: string): GlobalActionCatalogOption | undefined;
2510
+ onActionSelectChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
2511
+ onActionParamChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
2512
+ onActionCustomChange(action: EditableTableAction, value: string, kind: 'toolbar' | 'row' | 'bulk'): void;
2450
2513
  private touchActionList;
2451
- private parseActionValue;
2452
2514
  isGlobalActionId(id?: string): boolean;
2453
- getGlobalActionSchema(action: {
2454
- action?: string;
2455
- }): _praxisui_core.GlobalActionUiSchema | undefined;
2456
- getSurfaceOpenActionPayload(action: {
2457
- action?: string;
2458
- }): SurfaceOpenPayload;
2515
+ getGlobalActionSchema(action: EditableTableAction): _praxisui_core.GlobalActionUiSchema | undefined;
2516
+ getSurfaceOpenActionPayload(action: EditableTableAction): SurfaceOpenPayload;
2459
2517
  onSurfaceOpenActionPayloadChange(action: {
2460
2518
  action?: string;
2519
+ globalAction?: GlobalActionRef;
2461
2520
  }, payload: SurfaceOpenPayload, kind: 'toolbar' | 'row' | 'bulk'): void;
2462
- shouldShowGlobalActionField(action: {
2463
- action?: string;
2464
- }, field: GlobalActionField): boolean;
2465
- hasActionFieldError(action: {
2466
- action?: string;
2467
- }, key: string): boolean;
2468
- getActionFieldError(action: {
2469
- action?: string;
2470
- }, key: string): string;
2471
- getGlobalActionFieldValue(action: {
2472
- action?: string;
2473
- }, field: GlobalActionField): any;
2474
- onGlobalActionFieldChange(action: {
2475
- action?: string;
2476
- }, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
2477
- private getActionParamInfo;
2478
- private parseMethodAndUrl;
2521
+ shouldShowGlobalActionField(action: EditableTableAction, field: GlobalActionField): boolean;
2522
+ isGlobalActionFieldRequired(action: EditableTableAction, field: GlobalActionField): boolean;
2523
+ isGlobalActionFieldMissing(action: EditableTableAction, field: GlobalActionField): boolean;
2524
+ hasActionFieldError(action: EditableTableAction, key: string): boolean;
2525
+ getActionFieldError(action: EditableTableAction, key: string): string;
2526
+ getGlobalActionFieldValue(action: EditableTableAction, field: GlobalActionField): any;
2527
+ onGlobalActionFieldChange(action: EditableTableAction, field: GlobalActionField, value: any, kind: 'toolbar' | 'row' | 'bulk'): void;
2479
2528
  private stringifyJson;
2480
2529
  private normalizeSurfaceOpenPayload;
2481
2530
  private setActionFieldError;
2482
2531
  private clearActionFieldError;
2483
2532
  private collectGlobalActionFieldValues;
2484
- private serializeGlobalActionParam;
2485
- private buildPrimaryParam;
2486
2533
  private buildGlobalActionPayload;
2487
2534
  getToolbarActionShortcutScope(action: ToolbarAction): ToolbarShortcutScope;
2488
2535
  onToolbarActionShortcutScopeChange(action: ToolbarAction, value: ToolbarShortcutScope | string): void;
@@ -3044,6 +3091,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3044
3091
  private cdr;
3045
3092
  private configService;
3046
3093
  private readonly i18n;
3094
+ private readonly globalActionCatalogSource;
3095
+ private readonly globalActionCatalog;
3047
3096
  filterSettingsEditor?: FilterSettingsComponent;
3048
3097
  behaviorEditor?: BehaviorConfigEditorComponent;
3049
3098
  rulesEditor?: TableRulesEditorComponent;
@@ -3106,6 +3155,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3106
3155
  private hasLocalDataInput;
3107
3156
  private filterDtoLoadSeq;
3108
3157
  private lastKnownFilterSettings;
3158
+ private globalActionValidationIssues;
3109
3159
  private readonly panelData;
3110
3160
  private readonly crudService;
3111
3161
  private readonly panelRef;
@@ -3132,6 +3182,10 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3132
3182
  onRulesConfigChange(newCfg: TableConfig): void;
3133
3183
  private updateColumnMetas;
3134
3184
  private updateCanSaveState;
3185
+ private collectGlobalActionValidationIssues;
3186
+ private collectGlobalActionValidationTargets;
3187
+ private findGlobalActionCatalogEntry;
3188
+ private buildGlobalActionCatalog;
3135
3189
  private subscribeCrudEditorChanges;
3136
3190
  private showSuccess;
3137
3191
  private showError;
@@ -3140,6 +3194,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
3140
3194
  * Normaliza uma configuração de tabela para comparação consistente
3141
3195
  * Remove propriedades undefined, ordena arrays e objetos de forma consistente
3142
3196
  */
3197
+ private withCanonicalIdField;
3143
3198
  private normalizeTableConfig;
3144
3199
  /**
3145
3200
  * Realiza comparação profunda de objetos, ignorando ordem de propriedades
@@ -3361,6 +3416,15 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
3361
3416
  }): TableApplyPlan;
3362
3417
  declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
3363
3418
 
3419
+ /**
3420
+ * Manifesto de authoring canônico para o componente praxis-table.
3421
+ * Este arquivo define o contrato executável para que agentes de IA editem tabelas.
3422
+ *
3423
+ * @version 2.0.0
3424
+ * @status COMPLIANT - Alinhado com o contrato v2 e TableConfig canônico.
3425
+ */
3426
+ declare const PRAXIS_TABLE_AUTHORING_MANIFEST: ComponentAuthoringManifest;
3427
+
3364
3428
  declare class PraxisTableInlineAuthoringEditorComponent implements OnChanges {
3365
3429
  private readonly i18n;
3366
3430
  config: TableConfig;
@@ -3607,7 +3671,6 @@ declare function providePraxisTableMetadata(): Provider;
3607
3671
  declare module '@praxisui/core' {
3608
3672
  interface AiCapabilityCategoryMap {
3609
3673
  meta: true;
3610
- bindings: true;
3611
3674
  columns: true;
3612
3675
  renderer: true;
3613
3676
  conditional: true;
@@ -3682,5 +3745,282 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
3682
3745
  }
3683
3746
  declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
3684
3747
 
3685
- 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_COMPONENT_METADATA, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
3686
- 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, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, ValueKind as TableComponentValueKind, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
3748
+ type ComponentEditPlanCapability = {
3749
+ path: string;
3750
+ category: string;
3751
+ valueKind: string;
3752
+ description: string;
3753
+ allowedValues?: readonly string[];
3754
+ critical?: boolean;
3755
+ };
3756
+ declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
3757
+ declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
3758
+ declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
3759
+ type TableComponentEditChangeKind = 'set_column_format' | 'set_column_header' | 'set_column_visibility' | 'set_column_conditional_style' | 'set_column_computed' | 'set_column_value_mapping' | 'set_column_badge_renderer' | 'set_column_conditional_badge_renderers';
3760
+ declare const TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS: readonly ["set_column_format", "set_column_header", "set_column_visibility", "set_column_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_badge_renderer", "set_column_conditional_badge_renderers"];
3761
+ declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
3762
+ interface TableComponentEditPlan {
3763
+ kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
3764
+ version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
3765
+ componentId?: 'praxis-table' | string;
3766
+ changeKind: TableComponentEditChangeKind | string;
3767
+ capabilityPath?: string;
3768
+ configPath?: string;
3769
+ field?: string;
3770
+ targetField?: string;
3771
+ value?: unknown;
3772
+ condition?: unknown;
3773
+ style?: unknown;
3774
+ cssClass?: unknown;
3775
+ description?: unknown;
3776
+ explanation?: string;
3777
+ }
3778
+ interface TableComponentEditPlanCompileResult {
3779
+ patch?: Partial<TableConfig>;
3780
+ explanation?: string;
3781
+ warnings: string[];
3782
+ failureCodes: string[];
3783
+ }
3784
+ declare function getTableComponentEditPlanCapabilities(): ComponentEditPlanCapability[];
3785
+ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
3786
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
3787
+ readonly $id: "https://praxisui.dev/schemas/table/component-edit-plan.v1.schema.json";
3788
+ readonly title: "Praxis Table Component Edit Plan";
3789
+ readonly description: "Declarative, versioned contract for AI-authored table column edits.";
3790
+ readonly oneOf: readonly [{
3791
+ readonly $ref: "#/$defs/singlePlanEnvelope";
3792
+ }, {
3793
+ readonly $ref: "#/$defs/batchPlanEnvelope";
3794
+ }];
3795
+ readonly $defs: {
3796
+ readonly changeKind: {
3797
+ readonly type: "string";
3798
+ readonly enum: readonly ["set_column_format", "set_column_header", "set_column_visibility", "set_column_conditional_style", "set_column_computed", "set_column_value_mapping", "set_column_badge_renderer", "set_column_conditional_badge_renderers"];
3799
+ };
3800
+ readonly capabilityPath: {
3801
+ readonly type: "string";
3802
+ readonly enum: string[];
3803
+ };
3804
+ readonly jsonLogicExpression: {
3805
+ readonly type: "object";
3806
+ readonly minProperties: 1;
3807
+ readonly additionalProperties: true;
3808
+ };
3809
+ readonly badge: {
3810
+ readonly type: "object";
3811
+ readonly additionalProperties: false;
3812
+ readonly properties: {
3813
+ readonly text: {
3814
+ readonly type: "string";
3815
+ readonly minLength: 1;
3816
+ };
3817
+ readonly textField: {
3818
+ readonly type: "string";
3819
+ readonly minLength: 1;
3820
+ };
3821
+ readonly color: {
3822
+ readonly type: "string";
3823
+ readonly minLength: 1;
3824
+ };
3825
+ readonly variant: {
3826
+ readonly type: "string";
3827
+ readonly enum: readonly ["filled", "outlined", "soft"];
3828
+ };
3829
+ readonly icon: {
3830
+ readonly type: "string";
3831
+ readonly minLength: 1;
3832
+ };
3833
+ };
3834
+ readonly anyOf: readonly [{
3835
+ readonly required: readonly ["text"];
3836
+ }, {
3837
+ readonly required: readonly ["textField"];
3838
+ }];
3839
+ };
3840
+ readonly operation: {
3841
+ readonly type: "object";
3842
+ readonly additionalProperties: false;
3843
+ readonly required: readonly ["changeKind", "field", "value"];
3844
+ readonly properties: {
3845
+ readonly kind: {
3846
+ readonly const: "praxis.table.component-edit-plan";
3847
+ };
3848
+ readonly version: {
3849
+ readonly const: "1.0";
3850
+ };
3851
+ readonly componentId: {
3852
+ readonly const: "praxis-table";
3853
+ };
3854
+ readonly changeKind: {
3855
+ readonly $ref: "#/$defs/changeKind";
3856
+ };
3857
+ readonly capabilityPath: {
3858
+ readonly $ref: "#/$defs/capabilityPath";
3859
+ };
3860
+ readonly configPath: {
3861
+ readonly $ref: "#/$defs/capabilityPath";
3862
+ };
3863
+ readonly field: {
3864
+ readonly type: "string";
3865
+ readonly minLength: 1;
3866
+ };
3867
+ readonly targetField: {
3868
+ readonly type: "string";
3869
+ readonly minLength: 1;
3870
+ };
3871
+ readonly value: true;
3872
+ readonly condition: true;
3873
+ readonly style: true;
3874
+ readonly cssClass: true;
3875
+ readonly description: {
3876
+ readonly type: "string";
3877
+ };
3878
+ readonly explanation: {
3879
+ readonly type: "string";
3880
+ };
3881
+ };
3882
+ readonly allOf: readonly [{
3883
+ readonly if: {
3884
+ readonly properties: {
3885
+ readonly changeKind: {
3886
+ readonly const: "set_column_conditional_style";
3887
+ };
3888
+ };
3889
+ readonly required: readonly ["changeKind"];
3890
+ };
3891
+ readonly then: {
3892
+ readonly properties: {
3893
+ readonly value: {
3894
+ readonly type: "object";
3895
+ readonly required: readonly ["condition"];
3896
+ readonly properties: {
3897
+ readonly condition: {
3898
+ readonly $ref: "#/$defs/jsonLogicExpression";
3899
+ };
3900
+ readonly cssClass: {
3901
+ readonly type: "string";
3902
+ readonly minLength: 1;
3903
+ };
3904
+ readonly style: {
3905
+ readonly type: "object";
3906
+ readonly minProperties: 1;
3907
+ };
3908
+ readonly description: {
3909
+ readonly type: "string";
3910
+ };
3911
+ };
3912
+ readonly anyOf: readonly [{
3913
+ readonly required: readonly ["cssClass"];
3914
+ }, {
3915
+ readonly required: readonly ["style"];
3916
+ }];
3917
+ };
3918
+ };
3919
+ };
3920
+ }, {
3921
+ readonly if: {
3922
+ readonly properties: {
3923
+ readonly changeKind: {
3924
+ readonly const: "set_column_conditional_badge_renderers";
3925
+ };
3926
+ };
3927
+ readonly required: readonly ["changeKind"];
3928
+ };
3929
+ readonly then: {
3930
+ readonly properties: {
3931
+ readonly value: {
3932
+ readonly oneOf: readonly [{
3933
+ readonly $ref: "#/$defs/conditionalBadgeRules";
3934
+ }, {
3935
+ readonly type: "object";
3936
+ readonly required: readonly ["rules"];
3937
+ readonly properties: {
3938
+ readonly rules: {
3939
+ readonly $ref: "#/$defs/conditionalBadgeRules";
3940
+ };
3941
+ };
3942
+ readonly additionalProperties: false;
3943
+ }];
3944
+ };
3945
+ };
3946
+ };
3947
+ }];
3948
+ };
3949
+ readonly conditionalBadgeRules: {
3950
+ readonly type: "array";
3951
+ readonly minItems: 1;
3952
+ readonly items: {
3953
+ readonly type: "object";
3954
+ readonly additionalProperties: false;
3955
+ readonly required: readonly ["condition"];
3956
+ readonly anyOf: readonly [{
3957
+ readonly required: readonly ["badge"];
3958
+ }, {
3959
+ readonly required: readonly ["value"];
3960
+ }];
3961
+ readonly properties: {
3962
+ readonly condition: {
3963
+ readonly $ref: "#/$defs/jsonLogicExpression";
3964
+ };
3965
+ readonly badge: {
3966
+ readonly $ref: "#/$defs/badge";
3967
+ };
3968
+ readonly value: {
3969
+ readonly $ref: "#/$defs/badge";
3970
+ };
3971
+ readonly description: {
3972
+ readonly type: "string";
3973
+ };
3974
+ readonly enabled: {
3975
+ readonly type: "boolean";
3976
+ };
3977
+ };
3978
+ };
3979
+ };
3980
+ readonly singlePlanEnvelope: {
3981
+ readonly allOf: readonly [{
3982
+ readonly $ref: "#/$defs/operation";
3983
+ }, {
3984
+ readonly type: "object";
3985
+ readonly properties: {
3986
+ readonly kind: {
3987
+ readonly const: "praxis.table.component-edit-plan";
3988
+ };
3989
+ };
3990
+ }];
3991
+ };
3992
+ readonly batchPlanEnvelope: {
3993
+ readonly type: "object";
3994
+ readonly additionalProperties: false;
3995
+ readonly required: readonly ["kind", "version", "componentId", "operations"];
3996
+ readonly properties: {
3997
+ readonly kind: {
3998
+ readonly const: "praxis.table.component-edit-plan.batch";
3999
+ };
4000
+ readonly version: {
4001
+ readonly const: "1.0";
4002
+ };
4003
+ readonly componentId: {
4004
+ readonly const: "praxis-table";
4005
+ };
4006
+ readonly operations: {
4007
+ readonly type: "array";
4008
+ readonly minItems: 1;
4009
+ readonly items: {
4010
+ readonly $ref: "#/$defs/operation";
4011
+ };
4012
+ };
4013
+ readonly explanation: {
4014
+ readonly type: "string";
4015
+ };
4016
+ };
4017
+ };
4018
+ };
4019
+ };
4020
+ declare function coerceTableComponentEditPlans(value: unknown): TableComponentEditPlan[] | null;
4021
+ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEditPlan | null;
4022
+ declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
4023
+ declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
4024
+
4025
+ 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, PraxisFilter, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, 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, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
4026
+ 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, ResourcePathIntent, RowAction, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, StringFormatterOptions, 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 };