@praxisui/table 7.0.0-beta.0 → 8.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.
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, JsonLogicRecord, 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, 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, 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;
@@ -870,6 +876,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
870
876
  private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
871
877
  private static readonly ROW_DISCOVERY_CACHE_LIMIT;
872
878
  private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
879
+ readonly paginatorSelectConfig: MatPaginatorSelectConfig;
873
880
  private static readonly ROW_ANIMATION_PRESETS;
874
881
  private static readonly ROW_ANIMATION_PRESET_ALIASES;
875
882
  config: TableConfig;
@@ -968,6 +975,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
968
975
  private rowDiscoveryMarkForCheckScheduled;
969
976
  private lastRowDiscoveryScopeKey;
970
977
  private readonly i18n;
978
+ private readonly paginatorIntl;
971
979
  private schemaFieldsSnapshot;
972
980
  private runtimeSchemaMeta;
973
981
  schemaError: boolean;
@@ -982,7 +990,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
982
990
  shouldRenderFooterToolbar(): boolean;
983
991
  shouldShowFooterToolbarMain(): boolean;
984
992
  shouldShowFooterToolbarEndActions(): boolean;
985
- shouldShowFooterToolbarReset(): boolean;
986
993
  getToolbarActionsPosition(): 'top' | 'bottom' | 'both';
987
994
  getBulkActionsPosition(): 'toolbar' | 'floating' | 'both';
988
995
  shouldRenderFloatingBulkActions(): boolean;
@@ -1034,6 +1041,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1034
1041
  getTableSettingsTooltip(): string;
1035
1042
  getDisconnectLabel(): string;
1036
1043
  getDisconnectTooltip(): string;
1044
+ private syncPaginatorIntl;
1045
+ private configuredLocaleRuntimeText;
1046
+ private formatPaginatorRangeLabel;
1037
1047
  getNoDataStateIcon(): string;
1038
1048
  getNoDataStatePrimaryAction(): any | null;
1039
1049
  getNoDataStateSecondaryActions(): any[];
@@ -1062,6 +1072,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1062
1072
  getSchemaFieldsSnapshot(): SchemaFieldHint[];
1063
1073
  aiAdapter: any;
1064
1074
  private aiAdapterLoadStarted;
1075
+ aiAssistantOpen: boolean;
1076
+ aiAssistantPrompt: string;
1077
+ aiAssistantViewState: PraxisAssistantTurnViewState | null;
1078
+ aiAssistantLayout: PraxisAssistantShellLayout;
1079
+ readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
1080
+ private aiAssistantController;
1081
+ private aiAssistantStateSubscription;
1082
+ private readonly aiApi;
1083
+ private readonly aiTurnOrchestrator;
1065
1084
  private computedContextCache;
1066
1085
  private computedFieldNames;
1067
1086
  private readonly jsonLogic;
@@ -1112,6 +1131,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1112
1131
  private shouldExposeToolbar;
1113
1132
  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);
1114
1133
  private ensureAiAdapterLoaded;
1134
+ openAiAssistant(): void;
1135
+ closeAiAssistant(): void;
1136
+ onAiAssistantPromptChange(prompt: string): void;
1137
+ onAiAssistantSubmit(prompt: string): void;
1138
+ onAiAssistantApply(): void;
1139
+ onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
1140
+ onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
1141
+ onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
1142
+ onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
1143
+ private initializeAiAssistantController;
1144
+ private buildAiAssistantContextItems;
1115
1145
  private emitLoadingState;
1116
1146
  private hasResolvedRemoteDataLoad;
1117
1147
  private isTableDataLoading;
@@ -1169,7 +1199,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1169
1199
  getExpansionDetailTimelineEntries(row: any, node: TableDetailTimelineNode | any): unknown[];
1170
1200
  getExpansionDetailTimelineEmptyText(node: TableDetailTimelineNode | any): string;
1171
1201
  getExpansionDetailTimelineNodes(row: any, node: TableDetailTimelineNode | any): RichBlockNode[];
1172
- getExpansionDetailRichListItemContext(row: any, rowIndex: number, node: TableDetailRichListNode | any, entry: unknown, itemIndex: number): JsonLogicRecord;
1202
+ getExpansionDetailRichListItemContext(row: any, rowIndex: number, node: TableDetailRichListNode | any, entry: unknown, itemIndex: number): JsonLogicDataRecord;
1173
1203
  getExpansionDetailRichListItemClassName(node: TableDetailRichListNode | any): string;
1174
1204
  getExpansionDetailRichListItemKey(node: TableDetailRichListNode | any, entry: unknown, itemIndex: number): string;
1175
1205
  getExpansionDetailRichListItemActions(node: TableDetailRichListNode | any, row: any, rowIndex: number, entry: unknown, itemIndex: number): TableDetailListItemAction[];
@@ -1178,6 +1208,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1178
1208
  private getExpansionDetailTimelineFieldName;
1179
1209
  private buildExpansionDetailTimelineRichNode;
1180
1210
  private mapExpansionDetailTimelineItem;
1211
+ private resolveExpansionDetailTimelineObjectValue;
1212
+ private resolveExpansionDetailTimelineExpressionValue;
1181
1213
  private getExpansionDetailTimelineObjectValue;
1182
1214
  private normalizeExpansionDetailCardGridCardContent;
1183
1215
  private normalizeExpansionDetailMediaBlockAvatar;
@@ -1232,7 +1264,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1232
1264
  private isExpansionDetailRichListItemActionVisible;
1233
1265
  private evaluateExpansionDetailRichListItemCondition;
1234
1266
  getExpansionDetailRichText(node: any): string;
1235
- getExpansionDetailRichContentContext(row: any, index: number): JsonLogicRecord;
1267
+ getExpansionDetailRichContentContext(row: any, index: number): JsonLogicDataRecord;
1236
1268
  getExpansionDetailRichContentNodes(node: any, row: any, index: number): RichBlockNode[] | null;
1237
1269
  getExpansionDetailTabRichContentNodes(tab: any, row: any, index: number): RichBlockNode[] | null;
1238
1270
  private mapExpansionDetailNodeToRichContent;
@@ -1263,6 +1295,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1263
1295
  private sanitizeExpansionDetailNode;
1264
1296
  private sanitizeExpansionDetailMediaBlockNode;
1265
1297
  private sanitizeExpansionDetailCardGridCards;
1298
+ private getExpansionDetailCardGridContentTypes;
1299
+ private getExpansionDetailComposeItemTypes;
1266
1300
  private buildExpansionBlockedPlaceholderNode;
1267
1301
  private interpolateExpansionResourcePath;
1268
1302
  private isExpansionResourcePathAllowed;
@@ -1311,6 +1345,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1311
1345
  private sanitizeDomIdToken;
1312
1346
  private areStringSetsEqual;
1313
1347
  private shouldToggleExpansionOnRowClick;
1348
+ private shouldSelectRowOnRowClick;
1314
1349
  private getExpansionMotionPreset;
1315
1350
  private getExpansionMotionDurationMs;
1316
1351
  private getExpansionMotionEasingCurve;
@@ -1358,6 +1393,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1358
1393
  private applyDataSourceSettings;
1359
1394
  private sanitizeColumns;
1360
1395
  private setupColumns;
1396
+ private preserveSchemaDrivenColumnsIfConfigOmittedColumns;
1361
1397
  private isDataColumnField;
1362
1398
  private computeVisibleDataColumnsForDrag;
1363
1399
  getVisibleDataColumnsForDrag(): ColumnDefinition[];
@@ -1366,6 +1402,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1366
1402
  isColumnDraggable(column: ColumnDefinition | null | undefined): boolean;
1367
1403
  private resolveColumnReorderHeader;
1368
1404
  private isEnglishLocale;
1405
+ private isEnglishLocaleValue;
1369
1406
  private isColumnDragDebugEnabled;
1370
1407
  private logColumnDragDebug;
1371
1408
  private resolveTableMessageTemplate;
@@ -1496,6 +1533,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1496
1533
  private stringifyDependencyValue;
1497
1534
  private buildComputedValueMap;
1498
1535
  private buildEvaluationContext;
1536
+ private getJsonLogicEvaluationOptions;
1537
+ private resolveJsonLogicUserTimeZone;
1499
1538
  private isUnsafeComputedField;
1500
1539
  private evaluateStyleRule;
1501
1540
  private evaluateActionVisibilityCondition;
@@ -1660,7 +1699,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1660
1699
  getProgressWidthPercentStyle(row: any, column: ColumnDefinition): number | null;
1661
1700
  getProgressBackgroundStyle(row: any, column: ColumnDefinition): string | null;
1662
1701
  getProgressShowLabel(row: any, column: ColumnDefinition): boolean;
1663
- getProgressRichContentContext(row: any, column: ColumnDefinition): JsonLogicRecord;
1702
+ getProgressRichContentContext(row: any, column: ColumnDefinition): JsonLogicDataRecord;
1664
1703
  getProgressRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
1665
1704
  getRatingValue(row: any, column: ColumnDefinition): number;
1666
1705
  getRatingMax(_row: any, column: ColumnDefinition): number;
@@ -1745,6 +1784,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1745
1784
  masterToggle(): void;
1746
1785
  isAllSelected(): boolean;
1747
1786
  toggleRow(row: any): void;
1787
+ private selectRowFromUserInteraction;
1748
1788
  private getRowActionsConfig;
1749
1789
  getActionsHeaderAlign(): string;
1750
1790
  getActionsHeaderTooltip(): string | undefined;
@@ -3676,5 +3716,282 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
3676
3716
  }
3677
3717
  declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
3678
3718
 
3679
- 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 };
3680
- 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 };
3719
+ type ComponentEditPlanCapability = {
3720
+ path: string;
3721
+ category: string;
3722
+ valueKind: string;
3723
+ description: string;
3724
+ allowedValues?: readonly string[];
3725
+ critical?: boolean;
3726
+ };
3727
+ declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
3728
+ declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
3729
+ declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
3730
+ 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';
3731
+ 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"];
3732
+ declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
3733
+ interface TableComponentEditPlan {
3734
+ kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
3735
+ version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
3736
+ componentId?: 'praxis-table' | string;
3737
+ changeKind: TableComponentEditChangeKind | string;
3738
+ capabilityPath?: string;
3739
+ configPath?: string;
3740
+ field?: string;
3741
+ targetField?: string;
3742
+ value?: unknown;
3743
+ condition?: unknown;
3744
+ style?: unknown;
3745
+ cssClass?: unknown;
3746
+ description?: unknown;
3747
+ explanation?: string;
3748
+ }
3749
+ interface TableComponentEditPlanCompileResult {
3750
+ patch?: Partial<TableConfig>;
3751
+ explanation?: string;
3752
+ warnings: string[];
3753
+ failureCodes: string[];
3754
+ }
3755
+ declare function getTableComponentEditPlanCapabilities(): ComponentEditPlanCapability[];
3756
+ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
3757
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
3758
+ readonly $id: "https://praxisui.dev/schemas/table/component-edit-plan.v1.schema.json";
3759
+ readonly title: "Praxis Table Component Edit Plan";
3760
+ readonly description: "Declarative, versioned contract for AI-authored table column edits.";
3761
+ readonly oneOf: readonly [{
3762
+ readonly $ref: "#/$defs/singlePlanEnvelope";
3763
+ }, {
3764
+ readonly $ref: "#/$defs/batchPlanEnvelope";
3765
+ }];
3766
+ readonly $defs: {
3767
+ readonly changeKind: {
3768
+ readonly type: "string";
3769
+ 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"];
3770
+ };
3771
+ readonly capabilityPath: {
3772
+ readonly type: "string";
3773
+ readonly enum: string[];
3774
+ };
3775
+ readonly jsonLogicExpression: {
3776
+ readonly type: "object";
3777
+ readonly minProperties: 1;
3778
+ readonly additionalProperties: true;
3779
+ };
3780
+ readonly badge: {
3781
+ readonly type: "object";
3782
+ readonly additionalProperties: false;
3783
+ readonly properties: {
3784
+ readonly text: {
3785
+ readonly type: "string";
3786
+ readonly minLength: 1;
3787
+ };
3788
+ readonly textField: {
3789
+ readonly type: "string";
3790
+ readonly minLength: 1;
3791
+ };
3792
+ readonly color: {
3793
+ readonly type: "string";
3794
+ readonly minLength: 1;
3795
+ };
3796
+ readonly variant: {
3797
+ readonly type: "string";
3798
+ readonly enum: readonly ["filled", "outlined", "soft"];
3799
+ };
3800
+ readonly icon: {
3801
+ readonly type: "string";
3802
+ readonly minLength: 1;
3803
+ };
3804
+ };
3805
+ readonly anyOf: readonly [{
3806
+ readonly required: readonly ["text"];
3807
+ }, {
3808
+ readonly required: readonly ["textField"];
3809
+ }];
3810
+ };
3811
+ readonly operation: {
3812
+ readonly type: "object";
3813
+ readonly additionalProperties: false;
3814
+ readonly required: readonly ["changeKind", "field", "value"];
3815
+ readonly properties: {
3816
+ readonly kind: {
3817
+ readonly const: "praxis.table.component-edit-plan";
3818
+ };
3819
+ readonly version: {
3820
+ readonly const: "1.0";
3821
+ };
3822
+ readonly componentId: {
3823
+ readonly const: "praxis-table";
3824
+ };
3825
+ readonly changeKind: {
3826
+ readonly $ref: "#/$defs/changeKind";
3827
+ };
3828
+ readonly capabilityPath: {
3829
+ readonly $ref: "#/$defs/capabilityPath";
3830
+ };
3831
+ readonly configPath: {
3832
+ readonly $ref: "#/$defs/capabilityPath";
3833
+ };
3834
+ readonly field: {
3835
+ readonly type: "string";
3836
+ readonly minLength: 1;
3837
+ };
3838
+ readonly targetField: {
3839
+ readonly type: "string";
3840
+ readonly minLength: 1;
3841
+ };
3842
+ readonly value: true;
3843
+ readonly condition: true;
3844
+ readonly style: true;
3845
+ readonly cssClass: true;
3846
+ readonly description: {
3847
+ readonly type: "string";
3848
+ };
3849
+ readonly explanation: {
3850
+ readonly type: "string";
3851
+ };
3852
+ };
3853
+ readonly allOf: readonly [{
3854
+ readonly if: {
3855
+ readonly properties: {
3856
+ readonly changeKind: {
3857
+ readonly const: "set_column_conditional_style";
3858
+ };
3859
+ };
3860
+ readonly required: readonly ["changeKind"];
3861
+ };
3862
+ readonly then: {
3863
+ readonly properties: {
3864
+ readonly value: {
3865
+ readonly type: "object";
3866
+ readonly required: readonly ["condition"];
3867
+ readonly properties: {
3868
+ readonly condition: {
3869
+ readonly $ref: "#/$defs/jsonLogicExpression";
3870
+ };
3871
+ readonly cssClass: {
3872
+ readonly type: "string";
3873
+ readonly minLength: 1;
3874
+ };
3875
+ readonly style: {
3876
+ readonly type: "object";
3877
+ readonly minProperties: 1;
3878
+ };
3879
+ readonly description: {
3880
+ readonly type: "string";
3881
+ };
3882
+ };
3883
+ readonly anyOf: readonly [{
3884
+ readonly required: readonly ["cssClass"];
3885
+ }, {
3886
+ readonly required: readonly ["style"];
3887
+ }];
3888
+ };
3889
+ };
3890
+ };
3891
+ }, {
3892
+ readonly if: {
3893
+ readonly properties: {
3894
+ readonly changeKind: {
3895
+ readonly const: "set_column_conditional_badge_renderers";
3896
+ };
3897
+ };
3898
+ readonly required: readonly ["changeKind"];
3899
+ };
3900
+ readonly then: {
3901
+ readonly properties: {
3902
+ readonly value: {
3903
+ readonly oneOf: readonly [{
3904
+ readonly $ref: "#/$defs/conditionalBadgeRules";
3905
+ }, {
3906
+ readonly type: "object";
3907
+ readonly required: readonly ["rules"];
3908
+ readonly properties: {
3909
+ readonly rules: {
3910
+ readonly $ref: "#/$defs/conditionalBadgeRules";
3911
+ };
3912
+ };
3913
+ readonly additionalProperties: false;
3914
+ }];
3915
+ };
3916
+ };
3917
+ };
3918
+ }];
3919
+ };
3920
+ readonly conditionalBadgeRules: {
3921
+ readonly type: "array";
3922
+ readonly minItems: 1;
3923
+ readonly items: {
3924
+ readonly type: "object";
3925
+ readonly additionalProperties: false;
3926
+ readonly required: readonly ["condition"];
3927
+ readonly anyOf: readonly [{
3928
+ readonly required: readonly ["badge"];
3929
+ }, {
3930
+ readonly required: readonly ["value"];
3931
+ }];
3932
+ readonly properties: {
3933
+ readonly condition: {
3934
+ readonly $ref: "#/$defs/jsonLogicExpression";
3935
+ };
3936
+ readonly badge: {
3937
+ readonly $ref: "#/$defs/badge";
3938
+ };
3939
+ readonly value: {
3940
+ readonly $ref: "#/$defs/badge";
3941
+ };
3942
+ readonly description: {
3943
+ readonly type: "string";
3944
+ };
3945
+ readonly enabled: {
3946
+ readonly type: "boolean";
3947
+ };
3948
+ };
3949
+ };
3950
+ };
3951
+ readonly singlePlanEnvelope: {
3952
+ readonly allOf: readonly [{
3953
+ readonly $ref: "#/$defs/operation";
3954
+ }, {
3955
+ readonly type: "object";
3956
+ readonly properties: {
3957
+ readonly kind: {
3958
+ readonly const: "praxis.table.component-edit-plan";
3959
+ };
3960
+ };
3961
+ }];
3962
+ };
3963
+ readonly batchPlanEnvelope: {
3964
+ readonly type: "object";
3965
+ readonly additionalProperties: false;
3966
+ readonly required: readonly ["kind", "version", "componentId", "operations"];
3967
+ readonly properties: {
3968
+ readonly kind: {
3969
+ readonly const: "praxis.table.component-edit-plan.batch";
3970
+ };
3971
+ readonly version: {
3972
+ readonly const: "1.0";
3973
+ };
3974
+ readonly componentId: {
3975
+ readonly const: "praxis-table";
3976
+ };
3977
+ readonly operations: {
3978
+ readonly type: "array";
3979
+ readonly minItems: 1;
3980
+ readonly items: {
3981
+ readonly $ref: "#/$defs/operation";
3982
+ };
3983
+ };
3984
+ readonly explanation: {
3985
+ readonly type: "string";
3986
+ };
3987
+ };
3988
+ };
3989
+ };
3990
+ };
3991
+ declare function coerceTableComponentEditPlans(value: unknown): TableComponentEditPlan[] | null;
3992
+ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEditPlan | null;
3993
+ declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
3994
+ declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
3995
+
3996
+ 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, 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 };
3997
+ 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 };
package/package.json CHANGED
@@ -1,17 +1,18 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "7.0.0-beta.0",
3
+ "version": "8.0.0-beta.1",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.0.0",
7
7
  "@angular/core": "^20.0.0",
8
- "@praxisui/core": "^7.0.0-beta.0",
9
- "@praxisui/dynamic-fields": "^7.0.0-beta.0",
10
- "@praxisui/dynamic-form": "^7.0.0-beta.0",
11
- "@praxisui/metadata-editor": "^7.0.0-beta.0",
12
- "@praxisui/rich-content": "^7.0.0-beta.0",
13
- "@praxisui/settings-panel": "^7.0.0-beta.0",
14
- "@praxisui/table-rule-builder": "^7.0.0-beta.0"
8
+ "@praxisui/ai": "^8.0.0-beta.1",
9
+ "@praxisui/core": "^8.0.0-beta.1",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.1",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.1",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.1",
13
+ "@praxisui/rich-content": "^8.0.0-beta.1",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.1",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.1"
15
16
  },
16
17
  "dependencies": {
17
18
  "tslib": "^2.3.0"