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

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, 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;
@@ -905,6 +912,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
905
912
  metadataChange: EventEmitter<any>;
906
913
  loadingStateChange: EventEmitter<LoadingState>;
907
914
  collectionLinksChange: EventEmitter<RestApiLinks | null>;
915
+ selectionChange: EventEmitter<any>;
908
916
  private latestLoadingState;
909
917
  paginator: MatPaginator;
910
918
  sort: MatSort;
@@ -968,6 +976,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
968
976
  private rowDiscoveryMarkForCheckScheduled;
969
977
  private lastRowDiscoveryScopeKey;
970
978
  private readonly i18n;
979
+ private readonly paginatorIntl;
971
980
  private schemaFieldsSnapshot;
972
981
  private runtimeSchemaMeta;
973
982
  schemaError: boolean;
@@ -982,7 +991,6 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
982
991
  shouldRenderFooterToolbar(): boolean;
983
992
  shouldShowFooterToolbarMain(): boolean;
984
993
  shouldShowFooterToolbarEndActions(): boolean;
985
- shouldShowFooterToolbarReset(): boolean;
986
994
  getToolbarActionsPosition(): 'top' | 'bottom' | 'both';
987
995
  getBulkActionsPosition(): 'toolbar' | 'floating' | 'both';
988
996
  shouldRenderFloatingBulkActions(): boolean;
@@ -1034,6 +1042,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1034
1042
  getTableSettingsTooltip(): string;
1035
1043
  getDisconnectLabel(): string;
1036
1044
  getDisconnectTooltip(): string;
1045
+ private syncPaginatorIntl;
1046
+ private configuredLocaleRuntimeText;
1047
+ private formatPaginatorRangeLabel;
1037
1048
  getNoDataStateIcon(): string;
1038
1049
  getNoDataStatePrimaryAction(): any | null;
1039
1050
  getNoDataStateSecondaryActions(): any[];
@@ -1062,6 +1073,15 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1062
1073
  getSchemaFieldsSnapshot(): SchemaFieldHint[];
1063
1074
  aiAdapter: any;
1064
1075
  private aiAdapterLoadStarted;
1076
+ aiAssistantOpen: boolean;
1077
+ aiAssistantPrompt: string;
1078
+ aiAssistantViewState: PraxisAssistantTurnViewState | null;
1079
+ aiAssistantLayout: PraxisAssistantShellLayout;
1080
+ readonly aiAssistantLabels: Partial<PraxisAssistantShellLabels>;
1081
+ private aiAssistantController;
1082
+ private aiAssistantStateSubscription;
1083
+ private readonly aiApi;
1084
+ private readonly aiTurnOrchestrator;
1065
1085
  private computedContextCache;
1066
1086
  private computedFieldNames;
1067
1087
  private readonly jsonLogic;
@@ -1112,6 +1132,17 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1112
1132
  private shouldExposeToolbar;
1113
1133
  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
1134
  private ensureAiAdapterLoaded;
1135
+ openAiAssistant(): void;
1136
+ closeAiAssistant(): void;
1137
+ onAiAssistantPromptChange(prompt: string): void;
1138
+ onAiAssistantSubmit(prompt: string): void;
1139
+ onAiAssistantApply(): void;
1140
+ onAiAssistantQuickReply(reply: PraxisAssistantShellQuickReply): void;
1141
+ onAiAssistantEditMessage(message: PraxisAssistantShellMessage): void;
1142
+ onAiAssistantResendMessage(message: PraxisAssistantShellMessage): void;
1143
+ onAiAssistantLayoutChange(layout: PraxisAssistantShellLayout): void;
1144
+ private initializeAiAssistantController;
1145
+ private buildAiAssistantContextItems;
1115
1146
  private emitLoadingState;
1116
1147
  private hasResolvedRemoteDataLoad;
1117
1148
  private isTableDataLoading;
@@ -1315,6 +1346,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1315
1346
  private sanitizeDomIdToken;
1316
1347
  private areStringSetsEqual;
1317
1348
  private shouldToggleExpansionOnRowClick;
1349
+ private shouldSelectRowOnRowClick;
1318
1350
  private getExpansionMotionPreset;
1319
1351
  private getExpansionMotionDurationMs;
1320
1352
  private getExpansionMotionEasingCurve;
@@ -1362,6 +1394,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1362
1394
  private applyDataSourceSettings;
1363
1395
  private sanitizeColumns;
1364
1396
  private setupColumns;
1397
+ private preserveSchemaDrivenColumnsIfConfigOmittedColumns;
1365
1398
  private isDataColumnField;
1366
1399
  private computeVisibleDataColumnsForDrag;
1367
1400
  getVisibleDataColumnsForDrag(): ColumnDefinition[];
@@ -1370,6 +1403,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1370
1403
  isColumnDraggable(column: ColumnDefinition | null | undefined): boolean;
1371
1404
  private resolveColumnReorderHeader;
1372
1405
  private isEnglishLocale;
1406
+ private isEnglishLocaleValue;
1373
1407
  private isColumnDragDebugEnabled;
1374
1408
  private logColumnDragDebug;
1375
1409
  private resolveTableMessageTemplate;
@@ -1751,6 +1785,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1751
1785
  masterToggle(): void;
1752
1786
  isAllSelected(): boolean;
1753
1787
  toggleRow(row: any): void;
1788
+ private selectRowFromUserInteraction;
1789
+ private emitSelectionChange;
1754
1790
  private getRowActionsConfig;
1755
1791
  getActionsHeaderAlign(): string;
1756
1792
  getActionsHeaderTooltip(): string | undefined;
@@ -1794,7 +1830,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1794
1830
  private scheduleRowDiscoveryMarkForCheck;
1795
1831
  ngOnDestroy(): void;
1796
1832
  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>;
1833
+ 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
1834
  static ngAcceptInputType_enableCustomization: unknown;
1799
1835
  }
1800
1836
 
@@ -3682,5 +3718,282 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
3682
3718
  }
3683
3719
  declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
3684
3720
 
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 };
3721
+ type ComponentEditPlanCapability = {
3722
+ path: string;
3723
+ category: string;
3724
+ valueKind: string;
3725
+ description: string;
3726
+ allowedValues?: readonly string[];
3727
+ critical?: boolean;
3728
+ };
3729
+ declare const TABLE_COMPONENT_EDIT_PLAN_KIND = "praxis.table.component-edit-plan";
3730
+ declare const TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND = "praxis.table.component-edit-plan.batch";
3731
+ declare const TABLE_COMPONENT_EDIT_PLAN_VERSION = "1.0";
3732
+ 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';
3733
+ 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"];
3734
+ declare const TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS: Record<TableComponentEditChangeKind, string>;
3735
+ interface TableComponentEditPlan {
3736
+ kind?: typeof TABLE_COMPONENT_EDIT_PLAN_KIND;
3737
+ version?: typeof TABLE_COMPONENT_EDIT_PLAN_VERSION | string;
3738
+ componentId?: 'praxis-table' | string;
3739
+ changeKind: TableComponentEditChangeKind | string;
3740
+ capabilityPath?: string;
3741
+ configPath?: string;
3742
+ field?: string;
3743
+ targetField?: string;
3744
+ value?: unknown;
3745
+ condition?: unknown;
3746
+ style?: unknown;
3747
+ cssClass?: unknown;
3748
+ description?: unknown;
3749
+ explanation?: string;
3750
+ }
3751
+ interface TableComponentEditPlanCompileResult {
3752
+ patch?: Partial<TableConfig>;
3753
+ explanation?: string;
3754
+ warnings: string[];
3755
+ failureCodes: string[];
3756
+ }
3757
+ declare function getTableComponentEditPlanCapabilities(): ComponentEditPlanCapability[];
3758
+ declare const TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA: {
3759
+ readonly $schema: "https://json-schema.org/draft/2020-12/schema";
3760
+ readonly $id: "https://praxisui.dev/schemas/table/component-edit-plan.v1.schema.json";
3761
+ readonly title: "Praxis Table Component Edit Plan";
3762
+ readonly description: "Declarative, versioned contract for AI-authored table column edits.";
3763
+ readonly oneOf: readonly [{
3764
+ readonly $ref: "#/$defs/singlePlanEnvelope";
3765
+ }, {
3766
+ readonly $ref: "#/$defs/batchPlanEnvelope";
3767
+ }];
3768
+ readonly $defs: {
3769
+ readonly changeKind: {
3770
+ readonly type: "string";
3771
+ 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"];
3772
+ };
3773
+ readonly capabilityPath: {
3774
+ readonly type: "string";
3775
+ readonly enum: string[];
3776
+ };
3777
+ readonly jsonLogicExpression: {
3778
+ readonly type: "object";
3779
+ readonly minProperties: 1;
3780
+ readonly additionalProperties: true;
3781
+ };
3782
+ readonly badge: {
3783
+ readonly type: "object";
3784
+ readonly additionalProperties: false;
3785
+ readonly properties: {
3786
+ readonly text: {
3787
+ readonly type: "string";
3788
+ readonly minLength: 1;
3789
+ };
3790
+ readonly textField: {
3791
+ readonly type: "string";
3792
+ readonly minLength: 1;
3793
+ };
3794
+ readonly color: {
3795
+ readonly type: "string";
3796
+ readonly minLength: 1;
3797
+ };
3798
+ readonly variant: {
3799
+ readonly type: "string";
3800
+ readonly enum: readonly ["filled", "outlined", "soft"];
3801
+ };
3802
+ readonly icon: {
3803
+ readonly type: "string";
3804
+ readonly minLength: 1;
3805
+ };
3806
+ };
3807
+ readonly anyOf: readonly [{
3808
+ readonly required: readonly ["text"];
3809
+ }, {
3810
+ readonly required: readonly ["textField"];
3811
+ }];
3812
+ };
3813
+ readonly operation: {
3814
+ readonly type: "object";
3815
+ readonly additionalProperties: false;
3816
+ readonly required: readonly ["changeKind", "field", "value"];
3817
+ readonly properties: {
3818
+ readonly kind: {
3819
+ readonly const: "praxis.table.component-edit-plan";
3820
+ };
3821
+ readonly version: {
3822
+ readonly const: "1.0";
3823
+ };
3824
+ readonly componentId: {
3825
+ readonly const: "praxis-table";
3826
+ };
3827
+ readonly changeKind: {
3828
+ readonly $ref: "#/$defs/changeKind";
3829
+ };
3830
+ readonly capabilityPath: {
3831
+ readonly $ref: "#/$defs/capabilityPath";
3832
+ };
3833
+ readonly configPath: {
3834
+ readonly $ref: "#/$defs/capabilityPath";
3835
+ };
3836
+ readonly field: {
3837
+ readonly type: "string";
3838
+ readonly minLength: 1;
3839
+ };
3840
+ readonly targetField: {
3841
+ readonly type: "string";
3842
+ readonly minLength: 1;
3843
+ };
3844
+ readonly value: true;
3845
+ readonly condition: true;
3846
+ readonly style: true;
3847
+ readonly cssClass: true;
3848
+ readonly description: {
3849
+ readonly type: "string";
3850
+ };
3851
+ readonly explanation: {
3852
+ readonly type: "string";
3853
+ };
3854
+ };
3855
+ readonly allOf: readonly [{
3856
+ readonly if: {
3857
+ readonly properties: {
3858
+ readonly changeKind: {
3859
+ readonly const: "set_column_conditional_style";
3860
+ };
3861
+ };
3862
+ readonly required: readonly ["changeKind"];
3863
+ };
3864
+ readonly then: {
3865
+ readonly properties: {
3866
+ readonly value: {
3867
+ readonly type: "object";
3868
+ readonly required: readonly ["condition"];
3869
+ readonly properties: {
3870
+ readonly condition: {
3871
+ readonly $ref: "#/$defs/jsonLogicExpression";
3872
+ };
3873
+ readonly cssClass: {
3874
+ readonly type: "string";
3875
+ readonly minLength: 1;
3876
+ };
3877
+ readonly style: {
3878
+ readonly type: "object";
3879
+ readonly minProperties: 1;
3880
+ };
3881
+ readonly description: {
3882
+ readonly type: "string";
3883
+ };
3884
+ };
3885
+ readonly anyOf: readonly [{
3886
+ readonly required: readonly ["cssClass"];
3887
+ }, {
3888
+ readonly required: readonly ["style"];
3889
+ }];
3890
+ };
3891
+ };
3892
+ };
3893
+ }, {
3894
+ readonly if: {
3895
+ readonly properties: {
3896
+ readonly changeKind: {
3897
+ readonly const: "set_column_conditional_badge_renderers";
3898
+ };
3899
+ };
3900
+ readonly required: readonly ["changeKind"];
3901
+ };
3902
+ readonly then: {
3903
+ readonly properties: {
3904
+ readonly value: {
3905
+ readonly oneOf: readonly [{
3906
+ readonly $ref: "#/$defs/conditionalBadgeRules";
3907
+ }, {
3908
+ readonly type: "object";
3909
+ readonly required: readonly ["rules"];
3910
+ readonly properties: {
3911
+ readonly rules: {
3912
+ readonly $ref: "#/$defs/conditionalBadgeRules";
3913
+ };
3914
+ };
3915
+ readonly additionalProperties: false;
3916
+ }];
3917
+ };
3918
+ };
3919
+ };
3920
+ }];
3921
+ };
3922
+ readonly conditionalBadgeRules: {
3923
+ readonly type: "array";
3924
+ readonly minItems: 1;
3925
+ readonly items: {
3926
+ readonly type: "object";
3927
+ readonly additionalProperties: false;
3928
+ readonly required: readonly ["condition"];
3929
+ readonly anyOf: readonly [{
3930
+ readonly required: readonly ["badge"];
3931
+ }, {
3932
+ readonly required: readonly ["value"];
3933
+ }];
3934
+ readonly properties: {
3935
+ readonly condition: {
3936
+ readonly $ref: "#/$defs/jsonLogicExpression";
3937
+ };
3938
+ readonly badge: {
3939
+ readonly $ref: "#/$defs/badge";
3940
+ };
3941
+ readonly value: {
3942
+ readonly $ref: "#/$defs/badge";
3943
+ };
3944
+ readonly description: {
3945
+ readonly type: "string";
3946
+ };
3947
+ readonly enabled: {
3948
+ readonly type: "boolean";
3949
+ };
3950
+ };
3951
+ };
3952
+ };
3953
+ readonly singlePlanEnvelope: {
3954
+ readonly allOf: readonly [{
3955
+ readonly $ref: "#/$defs/operation";
3956
+ }, {
3957
+ readonly type: "object";
3958
+ readonly properties: {
3959
+ readonly kind: {
3960
+ readonly const: "praxis.table.component-edit-plan";
3961
+ };
3962
+ };
3963
+ }];
3964
+ };
3965
+ readonly batchPlanEnvelope: {
3966
+ readonly type: "object";
3967
+ readonly additionalProperties: false;
3968
+ readonly required: readonly ["kind", "version", "componentId", "operations"];
3969
+ readonly properties: {
3970
+ readonly kind: {
3971
+ readonly const: "praxis.table.component-edit-plan.batch";
3972
+ };
3973
+ readonly version: {
3974
+ readonly const: "1.0";
3975
+ };
3976
+ readonly componentId: {
3977
+ readonly const: "praxis-table";
3978
+ };
3979
+ readonly operations: {
3980
+ readonly type: "array";
3981
+ readonly minItems: 1;
3982
+ readonly items: {
3983
+ readonly $ref: "#/$defs/operation";
3984
+ };
3985
+ };
3986
+ readonly explanation: {
3987
+ readonly type: "string";
3988
+ };
3989
+ };
3990
+ };
3991
+ };
3992
+ };
3993
+ declare function coerceTableComponentEditPlans(value: unknown): TableComponentEditPlan[] | null;
3994
+ declare function coerceTableComponentEditPlan(value: unknown): TableComponentEditPlan | null;
3995
+ declare function compileTableComponentEditPlans(plans: TableComponentEditPlan[], currentConfig: TableConfig): TableComponentEditPlanCompileResult;
3996
+ declare function compileTableComponentEditPlan(plan: TableComponentEditPlan, currentConfig: TableConfig): TableComponentEditPlanCompileResult;
3997
+
3998
+ 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 };
3999
+ 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": "8.0.0-beta.0",
3
+ "version": "8.0.0-beta.2",
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": "^8.0.0-beta.0",
9
- "@praxisui/dynamic-fields": "^8.0.0-beta.0",
10
- "@praxisui/dynamic-form": "^8.0.0-beta.0",
11
- "@praxisui/metadata-editor": "^8.0.0-beta.0",
12
- "@praxisui/rich-content": "^8.0.0-beta.0",
13
- "@praxisui/settings-panel": "^8.0.0-beta.0",
14
- "@praxisui/table-rule-builder": "^8.0.0-beta.0"
8
+ "@praxisui/ai": "^8.0.0-beta.2",
9
+ "@praxisui/core": "^8.0.0-beta.2",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.2",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.2",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.2",
13
+ "@praxisui/rich-content": "^8.0.0-beta.2",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.2",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.2"
15
16
  },
16
17
  "dependencies": {
17
18
  "tslib": "^2.3.0"