@praxisui/table 3.0.0-beta.9 → 4.0.0-beta.0

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
@@ -10,13 +10,14 @@ 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, ColumnDefinition, ConnectionStorage, LoadingOrchestrator, PraxisLoadingRenderer, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, TableConfigService, FieldDefinition, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
13
+ import { TableConfig, LoggerService, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, LoadingState, RestApiLinks, ColumnDefinition, ConnectionStorage, ResourceDiscoveryService, LoadingOrchestrator, PraxisLoadingRenderer, ResourceActionCatalogItem, GlobalActionSpec, IconPickerService, SurfaceOpenPayload, GlobalActionField, TableConfigService, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, AnalyticsSchemaContractService, AnalyticsPresentationResolver, FieldDefinition, AiCapabilityCategory, AiValueKind, AiCapability, AiCapabilityCatalog } from '@praxisui/core';
14
14
  import { FunctionRegistry, DslParser } from '@praxisui/specification';
15
15
  import { FormGroup, FormControl, FormBuilder } from '@angular/forms';
16
16
  import { MatDialog } from '@angular/material/dialog';
17
17
  import { CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
18
18
  import { PraxisDialog } from '@praxisui/dialog';
19
19
  import { MatTabChangeEvent } from '@angular/material/tabs';
20
+ import { HttpClient } from '@angular/common/http';
20
21
  import * as _angular_material_paginator_d_Zo1cMMo4 from '@angular/material/paginator.d-Zo1cMMo4';
21
22
  import { MatCheckboxChange } from '@angular/material/checkbox';
22
23
  import * as _praxisui_table_rule_builder from '@praxisui/table-rule-builder';
@@ -833,8 +834,20 @@ type RowActionRuntimeOptions = {
833
834
  payload?: any;
834
835
  actionConfig?: any;
835
836
  };
837
+ type RuntimeRowAction = {
838
+ id: string;
839
+ action: string;
840
+ label?: string;
841
+ icon?: string;
842
+ color?: string;
843
+ tooltip?: string;
844
+ disabled?: boolean;
845
+ overflow?: boolean;
846
+ __praxisDiscoveredAction?: ResourceActionCatalogItem;
847
+ __praxisCapabilityDenied?: boolean;
848
+ };
836
849
  type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
837
- type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'fallback';
850
+ type ExpansionDetailResolvedSource = 'inline' | 'resource' | 'resourcePath' | 'hypermedia' | 'fallback';
838
851
  type ExpansionDetailViewState = {
839
852
  status: ExpansionDetailRuntimeStatus;
840
853
  schema: Record<string, unknown> | null;
@@ -854,6 +867,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
854
867
  private connectionStorage;
855
868
  private hostRef;
856
869
  private global;
870
+ private resourceDiscovery;
857
871
  private componentKeys;
858
872
  private loadingOrchestrator;
859
873
  private loadingRenderer?;
@@ -861,6 +875,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
861
875
  private logger?;
862
876
  private static dslRuntimeInstanceCounter;
863
877
  private static readonly CELL_ANIMATION_CHANGE_CACHE_LIMIT;
878
+ private static readonly ROW_DISCOVERY_SUCCESS_CACHE_TTL_MS;
879
+ private static readonly ROW_DISCOVERY_ERROR_CACHE_TTL_MS;
880
+ private static readonly ROW_DISCOVERY_CACHE_LIMIT;
881
+ private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
864
882
  private static readonly ROW_ANIMATION_PRESETS;
865
883
  private static readonly ROW_ANIMATION_PRESET_ALIASES;
866
884
  config: TableConfig;
@@ -896,6 +914,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
896
914
  schemaStatusChange: EventEmitter<any>;
897
915
  metadataChange: EventEmitter<any>;
898
916
  loadingStateChange: EventEmitter<LoadingState>;
917
+ collectionLinksChange: EventEmitter<RestApiLinks | null>;
899
918
  paginator: MatPaginator;
900
919
  sort: MatSort;
901
920
  materialTable?: MatTable<any>;
@@ -940,6 +959,24 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
940
959
  private expansionDetailSourceByRowKey;
941
960
  private expansionDetailAbortByRowKey;
942
961
  private expansionDetailActiveTabByRowKey;
962
+ private rowCapabilitySnapshotByHref;
963
+ private rowCapabilityCachedAtByHref;
964
+ private rowCapabilityErrorHrefs;
965
+ private rowCapabilityErrorCachedAtByHref;
966
+ private rowCapabilityInFlightByHref;
967
+ private rowActionCatalogByHref;
968
+ private rowActionCachedAtByHref;
969
+ private rowActionErrorHrefs;
970
+ private rowActionErrorCachedAtByHref;
971
+ private rowActionInFlightByHref;
972
+ private rowDiscoveryMetricsByRel;
973
+ private rowContextRuntimeByRef;
974
+ private rowDiscoveryQueue;
975
+ private rowDiscoveryActiveRequests;
976
+ private rowDiscoveryEpoch;
977
+ private rowDiscoveryMarkForCheckScheduled;
978
+ private lastRowDiscoveryScopeKey;
979
+ private readonly i18n;
943
980
  private schemaFieldsSnapshot;
944
981
  private runtimeSchemaMeta;
945
982
  schemaError: boolean;
@@ -1069,8 +1106,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1069
1106
  private filterConfigKey;
1070
1107
  private ensureConfigDefaults;
1071
1108
  private setShowToolbar;
1109
+ private shouldExposeToolbar;
1072
1110
  private configureDslRuntime;
1073
- 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, componentKeys: ComponentKeyService, loadingOrchestrator: LoadingOrchestrator, loadingRenderer?: PraxisLoadingRenderer | undefined, route?: ActivatedRoute | undefined, logger?: LoggerService | undefined);
1111
+ 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);
1074
1112
  private ensureAiAdapterLoaded;
1075
1113
  private emitLoadingState;
1076
1114
  private buildLoadingContext;
@@ -1128,6 +1166,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1128
1166
  private resolveExpansionDetailInlineSchema;
1129
1167
  private resolveExpansionDetailFromResource;
1130
1168
  private resolveExpansionDetailFromResourcePath;
1169
+ private resolveExpansionDetailFromHypermedia;
1131
1170
  private normalizeExpansionDetailSchemaCandidate;
1132
1171
  private sanitizeExpansionDetailSchema;
1133
1172
  private sanitizeExpansionDetailNodes;
@@ -1142,6 +1181,13 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1142
1181
  private resolveExpansionContextValue;
1143
1182
  private buildExpansionContextRecord;
1144
1183
  private getExpansionFallbackMode;
1184
+ private loadExpansionHypermediaSnapshot;
1185
+ private buildExpansionHypermediaDetailSchema;
1186
+ private selectExpansionHypermediaPrimarySurface;
1187
+ private buildExpansionHypermediaOperationItems;
1188
+ private buildExpansionHypermediaWorkflowActionItems;
1189
+ private getExpansionHypermediaMessage;
1190
+ private describeExpansionHypermediaSurface;
1145
1191
  private getExpansionFallbackNodePolicy;
1146
1192
  private getExpansionAllowedNodesSet;
1147
1193
  private validateExpansionDetailRendererContract;
@@ -1278,6 +1324,58 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1278
1324
  * Refined logic to reduce false positives
1279
1325
  */
1280
1326
  private inferFieldTypeFromFieldName;
1327
+ private clearRowDiscoveryRuntime;
1328
+ private buildRowDiscoveryScopeKey;
1329
+ private resetRowContextRuntimeState;
1330
+ private enqueueRowDiscoveryRequest;
1331
+ private drainRowDiscoveryQueue;
1332
+ private buildRowDiscoveryOptions;
1333
+ private getRowLinks;
1334
+ private resolveRowDiscoveryHref;
1335
+ private prefetchRowDiscovery;
1336
+ private ensureRowDiscovery;
1337
+ private ensureRowCapabilitySnapshot;
1338
+ private ensureRowActionCatalog;
1339
+ private getCachedRowCapabilitySnapshot;
1340
+ private hasResolvedRowActionCatalog;
1341
+ isRowDiscoveryPending(row: any): boolean;
1342
+ private getCachedRowActionCatalog;
1343
+ private shouldUseRowDiscovery;
1344
+ private shouldPrefetchRowDiscovery;
1345
+ private hasRowContextualDiscoveryEntryPoint;
1346
+ private hasRowContextualDiscoveryEntryPointRaw;
1347
+ hasRowOverflowMenuLoadingState(row: any): boolean;
1348
+ getRowOverflowMenuLoadingLabel(): string;
1349
+ hasRowOverflowMenuEmptyState(row: any): boolean;
1350
+ getRowOverflowMenuEmptyLabel(row: any): string;
1351
+ private getLegacyRowOverflowMenuEmptyLabel;
1352
+ private getRowDiscoveryMetricSnapshot;
1353
+ private createEmptyRowDiscoveryMetricSnapshot;
1354
+ private incrementRowDiscoveryMetric;
1355
+ private setRowDiscoveryLastResolvedAt;
1356
+ private resolveRowDiscoveryRuntimeStatus;
1357
+ private resolveRowDiscoveryRuntimeStatusRaw;
1358
+ private getRowContextRuntimeState;
1359
+ private buildRowContextRuntimeState;
1360
+ private resolveRowContextRuntimeValidUntil;
1361
+ private resolveRowDiscoveryRelValidUntil;
1362
+ private getRowDiscoveryPendingRowCount;
1363
+ private getRowDiscoveryDebugSnapshot;
1364
+ private hasFreshRowCapabilitySnapshot;
1365
+ private hasFreshRowActionCatalog;
1366
+ private hasFreshRowCapabilityError;
1367
+ private hasFreshRowActionError;
1368
+ private hasFreshRowDiscoveryEntry;
1369
+ private hasFreshRowDiscoveryError;
1370
+ private rememberRowCapabilitySnapshot;
1371
+ private rememberRowActionCatalog;
1372
+ private rememberRowCapabilityError;
1373
+ private rememberRowActionError;
1374
+ private clearRowCapabilityError;
1375
+ private clearRowActionError;
1376
+ private enforceRowDiscoveryCacheLimit;
1377
+ private pruneRowDiscoveryCaches;
1378
+ private pruneRowDiscoveryCache;
1281
1379
  private fetchData;
1282
1380
  private getEffectiveFilterCriteria;
1283
1381
  retryData(): void;
@@ -1549,15 +1647,33 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1549
1647
  getInlineRowActions(row: any): any[];
1550
1648
  getOverflowRowActions(row: any): any[];
1551
1649
  hasOverflowRowActions(row: any): boolean;
1650
+ onRowOverflowMenuOpened(row: any): void;
1552
1651
  private getVisibleRowActions;
1652
+ private getResolvedRowActions;
1653
+ private buildResolvedRowActions;
1654
+ private splitVisibleRowActionsFromVisible;
1655
+ private decorateConfiguredRowAction;
1656
+ private getDiscoveredRowWorkflowActions;
1657
+ private getDiscoveredRowWorkflowActionsFromCatalog;
1658
+ private supportsRowCrudAction;
1659
+ private isCapabilityManagedCrudRowAction;
1660
+ private findItemWorkflowAction;
1661
+ private getUnavailableWorkflowMessage;
1662
+ private normalizeActionId;
1553
1663
  private isActionVisible;
1554
1664
  trackAction(index: number, item: any): any;
1555
1665
  isActionDisabled(action: any, row: any): boolean;
1666
+ getRowActionRuntimeOptions(action: RuntimeRowAction, row: any): RowActionRuntimeOptions | undefined;
1667
+ isWorkflowRowAction(action: RuntimeRowAction | any): boolean;
1668
+ isBlockedWorkflowRowAction(action: RuntimeRowAction | any, row: any): boolean;
1669
+ getActionTooltip(action: RuntimeRowAction | any, row: any): string | null;
1670
+ getRowMenuTooltip(row: any): string;
1556
1671
  getRowMenuButtonColor(): any;
1557
1672
  getRowMenuIcon(): string;
1673
+ private scheduleRowDiscoveryMarkForCheck;
1558
1674
  ngOnDestroy(): void;
1559
- static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTable, [null, null, null, null, null, null, null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
1560
- 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; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "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"; }, ["toolbar", "projectedFilter"], ["[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]", "[advancedFilter]", "[toolbar]"], true, never>;
1675
+ 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; }]>;
1676
+ 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; }; "dslFunctionRegistry": { "alias": "dslFunctionRegistry"; "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>;
1561
1677
  static ngAcceptInputType_enableCustomization: unknown;
1562
1678
  }
1563
1679
 
@@ -2092,7 +2208,7 @@ interface ToolbarAction {
2092
2208
  icon?: string;
2093
2209
  type: 'button' | 'icon' | 'fab' | 'menu';
2094
2210
  color?: 'primary' | 'accent' | 'warn';
2095
- /** Aparência do botão Material: filled (flat), outlined (stroked), elevated (raised), text, tonal */
2211
+ /** Material button appearance: filled (flat), outlined (stroked), elevated (raised), text, tonal */
2096
2212
  appearance?: 'filled' | 'outlined' | 'elevated' | 'text' | 'tonal';
2097
2213
  action: string;
2098
2214
  position: 'start' | 'end';
@@ -2545,6 +2661,7 @@ type EffectiveDataMode = 'remote' | 'local' | 'empty';
2545
2661
  declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValueProvider {
2546
2662
  private cdr;
2547
2663
  private configService;
2664
+ private readonly i18n;
2548
2665
  filterSettingsEditor?: FilterSettingsComponent;
2549
2666
  behaviorEditor?: BehaviorConfigEditorComponent;
2550
2667
  set crudEditorSetter(ref: any);
@@ -2609,7 +2726,6 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
2609
2726
  private readonly panelData;
2610
2727
  private readonly crudService;
2611
2728
  private readonly panelRef;
2612
- private readonly i18n;
2613
2729
  constructor(cdr: ChangeDetectorRef, configService: TableConfigService);
2614
2730
  tx(key: string, fallback: string): string;
2615
2731
  private isDebugLoggingEnabled;
@@ -2770,6 +2886,78 @@ declare class DataFormatterComponent implements OnInit, OnChanges {
2770
2886
  static ɵcmp: i0.ɵɵComponentDeclaration<DataFormatterComponent, "data-formatter", never, { "columnType": { "alias": "columnType"; "required": false; }; "currentFormat": { "alias": "currentFormat"; "required": false; }; }, { "formatChange": "formatChange"; }, never, never, true, never>;
2771
2887
  }
2772
2888
 
2889
+ type AnalyticsTableRow = Record<string, string | number | boolean | null>;
2890
+ type AnalyticsTableContractSource = 'remote' | 'fallback';
2891
+ interface AnalyticsTableViewModel {
2892
+ config: TableConfig;
2893
+ data: AnalyticsTableRow[];
2894
+ }
2895
+ interface AnalyticsTableContractDefinition<TKey extends string = string> {
2896
+ key: TKey;
2897
+ projectionId: string;
2898
+ path: string;
2899
+ title: PraxisTextValue;
2900
+ subtitle?: PraxisTextValue;
2901
+ fallbackProjection: PraxisAnalyticsProjection;
2902
+ fallbackRows?: AnalyticsTableRow[];
2903
+ }
2904
+ interface AnalyticsTableContractLoadOptions<TKey extends string = string> {
2905
+ cacheNamespace?: string;
2906
+ queryContexts?: Partial<Record<TKey, PraxisDataQueryContext | null>>;
2907
+ }
2908
+ interface AnalyticsTableContractLoadResult<TKey extends string = string> {
2909
+ views: Record<TKey, AnalyticsTableViewModel>;
2910
+ sources: Record<TKey, AnalyticsTableContractSource>;
2911
+ errors: Partial<Record<TKey, string>>;
2912
+ }
2913
+
2914
+ interface AnalyticsTableConfigAdapterOptions {
2915
+ title?: PraxisTextValue;
2916
+ subtitle?: PraxisTextValue;
2917
+ }
2918
+ declare class AnalyticsTableConfigAdapterService {
2919
+ toTableConfig(projection: PraxisAnalyticsProjection, options?: AnalyticsTableConfigAdapterOptions): TableConfig;
2920
+ private buildColumns;
2921
+ private getDisplayMetrics;
2922
+ private resolveTextValue;
2923
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableConfigAdapterService, never>;
2924
+ static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableConfigAdapterService>;
2925
+ }
2926
+
2927
+ declare class AnalyticsTableStatsApiService {
2928
+ private readonly http;
2929
+ private readonly apiUrl;
2930
+ private readonly statsBuilder;
2931
+ constructor(http: HttpClient, apiUrl: ApiUrlConfig);
2932
+ execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Promise<AnalyticsTableRow[]>;
2933
+ private toTableRows;
2934
+ private resolveTimeSeriesCategory;
2935
+ private resolveBucketCategory;
2936
+ private projectMetricValues;
2937
+ private resolveMetricValue;
2938
+ private buildStatsUrl;
2939
+ private applyQueryContext;
2940
+ private normalizeError;
2941
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableStatsApiService, never>;
2942
+ static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableStatsApiService>;
2943
+ }
2944
+
2945
+ declare class AnalyticsTableContractService {
2946
+ private readonly analyticsSchema;
2947
+ private readonly resolver;
2948
+ private readonly configAdapter;
2949
+ private readonly statsApi;
2950
+ constructor(analyticsSchema: AnalyticsSchemaContractService, resolver: AnalyticsPresentationResolver, configAdapter: AnalyticsTableConfigAdapterService, statsApi: AnalyticsTableStatsApiService);
2951
+ buildBootstrapTableViews<TKey extends string>(definitions: readonly AnalyticsTableContractDefinition<TKey>[]): Record<TKey, AnalyticsTableViewModel>;
2952
+ loadTableViews<TKey extends string>(definitions: readonly AnalyticsTableContractDefinition<TKey>[], options?: AnalyticsTableContractLoadOptions<TKey>): Promise<AnalyticsTableContractLoadResult<TKey>>;
2953
+ private loadSingleTableView;
2954
+ private buildTableView;
2955
+ private assertAnalyticTableProjection;
2956
+ private resolveQueryContext;
2957
+ static ɵfac: i0.ɵɵFactoryDeclaration<AnalyticsTableContractService, never>;
2958
+ static ɵprov: i0.ɵɵInjectableDeclaration<AnalyticsTableContractService>;
2959
+ }
2960
+
2773
2961
  declare function createTableAuthoringDocument(source: {
2774
2962
  config?: unknown;
2775
2963
  bindings?: unknown;
@@ -3298,5 +3486,5 @@ interface CapabilityCatalog extends AiCapabilityCatalog {
3298
3486
  }
3299
3487
  declare const TABLE_COMPONENT_AI_CAPABILITIES: CapabilityCatalog;
3300
3488
 
3301
- export { 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, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, hasJsonKey, jsonPathGet, jsonPathMatches, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, registerDateDslFunctions, registerJsonDslFunctions, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
3302
- export type { ActionLike, 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, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
3489
+ 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, PraxisTableToolbar, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, buildTableApplyPlan, createTableAuthoringDocument, getActionId, getEnum, getTableCapabilities, hasJsonKey, jsonPathGet, jsonPathMatches, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisFilterMetadata, providePraxisTableMetadata, registerDateDslFunctions, registerJsonDslFunctions, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
3490
+ 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, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "3.0.0-beta.9",
3
+ "version": "4.0.0-beta.0",
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": "^3.0.0-beta.9",
9
- "@praxisui/dynamic-fields": "^3.0.0-beta.9",
10
- "@praxisui/dynamic-form": "^3.0.0-beta.9",
11
- "@praxisui/metadata-editor": "^3.0.0-beta.9",
12
- "@praxisui/settings-panel": "^3.0.0-beta.9",
13
- "@praxisui/table-rule-builder": "^3.0.0-beta.9"
8
+ "@praxisui/core": "^4.0.0-beta.0",
9
+ "@praxisui/dynamic-fields": "^4.0.0-beta.0",
10
+ "@praxisui/dynamic-form": "^4.0.0-beta.0",
11
+ "@praxisui/metadata-editor": "^4.0.0-beta.0",
12
+ "@praxisui/settings-panel": "^4.0.0-beta.0",
13
+ "@praxisui/table-rule-builder": "^4.0.0-beta.0"
14
14
  },
15
15
  "dependencies": {
16
16
  "tslib": "^2.3.0"