@praxisui/table 10.0.0-rc.37 → 10.0.0-rc.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { Observable, firstValueFrom } from 'rxjs';
2
2
  import { withAuthoringScopePolicy } from '@praxisui/ai';
3
- import { ar as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-WJvWsf3B.mjs';
3
+ import { aw as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-C6NaFjJJ.mjs';
4
4
 
5
5
  class TableAgenticAuthoringTurnFlow {
6
6
  adapter;
@@ -1,7 +1,7 @@
1
1
  import { firstValueFrom } from 'rxjs';
2
2
  import { BaseAiAdapter, sanitizePraxisAssistantText, createComponentAuthoringContext } from '@praxisui/ai';
3
3
  import { PRAXIS_GLOBAL_ACTION_CATALOG, deepMerge } from '@praxisui/core';
4
- import { W as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, p as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, a6 as coerceTableComponentEditPlans, a8 as compileTableComponentEditPlans, Y as TASK_PRESETS, ae as getTableComponentEditPlanCapabilities, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, V as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-WJvWsf3B.mjs';
4
+ import { W as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, p as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, a7 as coerceTableComponentEditPlans, a9 as compileTableComponentEditPlans, Z as TASK_PRESETS, ah as getTableComponentEditPlanCapabilities, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, V as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-C6NaFjJJ.mjs';
5
5
 
6
6
  const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
7
7
  mode: 'expression',
@@ -1913,11 +1913,12 @@ class TableDataProfiler {
1913
1913
  if (first instanceof Date)
1914
1914
  return 'date';
1915
1915
  // Check string formats
1916
- const str = String(first);
1917
- if (!isNaN(Number(str)) && str.trim() !== '')
1916
+ const str = String(first).trim();
1917
+ if (!isNaN(Number(str)) && str !== '')
1918
1918
  return 'number';
1919
- if (!isNaN(Date.parse(str)) && str.length > 5)
1920
- return 'date'; // length check avoids short strings being parsed as dates
1919
+ if (!/^v?\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?$/.test(str) && !isNaN(Date.parse(str)) && str.length > 5) {
1920
+ return 'date'; // length and semver checks avoid short/version strings being parsed as dates
1921
+ }
1921
1922
  return 'string';
1922
1923
  }
1923
1924
  static sanitizeValue(val, type) {
@@ -1,2 +1,2 @@
1
- export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticalDrawerRegistryService, b as AnalyticsTableConfigAdapterService, c as AnalyticsTableContractService, d as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, e as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, f as ColumnsConfigEditorComponent, D as DATE_PRESETS, g as DataFormatterComponent, h as DataFormattingService, F as FORMULA_TEMPLATES, i as FilterConfigService, j as FilterSettingsComponent, k as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, l as PRAXIS_ANALYTICAL_DRAWER_SCHEMAS, m as PRAXIS_FILTER_AUTHORING_MANIFEST, n as PRAXIS_FILTER_COMPONENT_METADATA, o as PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, p as PRAXIS_TABLE_AUTHORING_MANIFEST, q as PRAXIS_TABLE_COMPONENT_METADATA, r as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, s as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, t as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, u as PraxisAnalyticalDrawerComponent, v as PraxisFilter, w as PraxisFilterOutletComponent, x as PraxisFilterOutletDirective, y as PraxisFilterWidgetConfigEditor, z as PraxisScopeBarComponent, E as PraxisTable, G as PraxisTableConfigEditor, H as PraxisTableInlineAuthoringEditorComponent, I as PraxisTableToolbar, K as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, L as TABLE_COMPONENT_AI_CAPABILITIES, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, V as TABLE_COMPONENT_EDIT_PLAN_KIND, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Y as TASK_PRESETS, Z as TableDefaultsProvider, _ as TableRulesEditorComponent, $ as ToolbarActionsEditorComponent, a0 as ValueMappingEditorComponent, a1 as VisualFormulaBuilderComponent, a2 as analyticsComparisonMetricField, a3 as applyComputedFieldsToRows, a4 as buildTableApplyPlan, a5 as coerceTableComponentEditPlan, a6 as coerceTableComponentEditPlans, a7 as compileTableComponentEditPlan, a8 as compileTableComponentEditPlans, a9 as createTableAuthoringDocument, aa as formatComputedFieldValue, ab as getActionId, ac as getEnum, ad as getTableCapabilities, ae as getTableComponentEditPlanCapabilities, af as interpolateRelationEndpoint, ag as isAnalyticalDrawerSchema, ah as isTableRendererSupportedByRichContentP0, ai as mapTableRendererToRichContentP0, aj as normalizeComputedFieldDefinition, ak as normalizeTableAuthoringDocument, al as parseLegacyOrTableDocument, am as providePraxisAnalyticalDrawerSchemas, an as providePraxisFilterMetadata, ao as providePraxisTableMetadata, ap as providePraxisTableToolbarAppearance, aq as serializeTableAuthoringDocument, as as toCanonicalTableConfig, at as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-WJvWsf3B.mjs';
1
+ export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticalDrawerRegistryService, b as AnalyticsTableConfigAdapterService, c as AnalyticsTableContractService, d as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, e as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, f as ColumnsConfigEditorComponent, D as DATE_PRESETS, g as DataFormatterComponent, h as DataFormattingService, F as FORMULA_TEMPLATES, i as FilterConfigService, j as FilterSettingsComponent, k as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, l as PRAXIS_ANALYTICAL_DRAWER_SCHEMAS, m as PRAXIS_FILTER_AUTHORING_MANIFEST, n as PRAXIS_FILTER_COMPONENT_METADATA, o as PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, p as PRAXIS_TABLE_AUTHORING_MANIFEST, q as PRAXIS_TABLE_COMPONENT_METADATA, r as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, s as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, t as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, u as PraxisAnalyticalDrawerComponent, v as PraxisFilter, w as PraxisFilterOutletComponent, x as PraxisFilterOutletDirective, y as PraxisFilterWidgetConfigEditor, z as PraxisScopeBarComponent, E as PraxisTable, G as PraxisTableConfigEditor, H as PraxisTableInlineAuthoringEditorComponent, I as PraxisTableToolbar, K as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, L as TABLE_COMPONENT_AI_CAPABILITIES, O as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, Q as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, R as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, U as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, V as TABLE_COMPONENT_EDIT_PLAN_KIND, X as TABLE_COMPONENT_EDIT_PLAN_VERSION, Y as TABLE_GOVERNED_PAGE_PREVIEW_ADAPTER, Z as TASK_PRESETS, _ as TableDefaultsProvider, $ as TableRulesEditorComponent, a0 as ToolbarActionsEditorComponent, a1 as ValueMappingEditorComponent, a2 as VisualFormulaBuilderComponent, a3 as analyticsComparisonMetricField, a4 as applyComputedFieldsToRows, a5 as buildTableApplyPlan, a6 as coerceTableComponentEditPlan, a7 as coerceTableComponentEditPlans, a8 as compileTableComponentEditPlan, a9 as compileTableComponentEditPlans, aa as createTableAuthoringDocument, ab as decodeTablePageInputs, ac as encodeTablePageInputs, ad as formatComputedFieldValue, ae as getActionId, af as getEnum, ag as getTableCapabilities, ah as getTableComponentEditPlanCapabilities, ai as interpolateRelationEndpoint, aj as isAnalyticalDrawerSchema, ak as isTableRendererSupportedByRichContentP0, al as mapTableRendererToRichContentP0, am as materializeTablePageRuntimeInputs, an as normalizeComputedFieldDefinition, ao as normalizeTableAuthoringDocument, ap as parseLegacyOrTableDocument, aq as projectTablePageEditorChanges, ar as providePraxisAnalyticalDrawerSchemas, as as providePraxisFilterMetadata, at as providePraxisTableMetadata, au as providePraxisTableToolbarAppearance, av as serializeTableAuthoringDocument, ax as toCanonicalTableConfig, ay as validateTableAuthoringDocument, az as validateTablePageWidget } from './praxisui-table-praxisui-table-C6NaFjJJ.mjs';
2
2
  export { createDynamicRecord, extractRecordId, isDynamicDataRecord, resolveDataField } from '@praxisui/core';
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "10.0.0-rc.37",
3
+ "version": "10.0.0-rc.39",
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": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
8
  "@angular/platform-browser": "^21.0.0",
9
- "@praxisui/ai": "^10.0.0-rc.37",
10
- "@praxisui/core": "^10.0.0-rc.37",
11
- "@praxisui/dynamic-fields": "^10.0.0-rc.37",
12
- "@praxisui/dynamic-form": "^10.0.0-rc.37",
13
- "@praxisui/metadata-editor": "^10.0.0-rc.37",
14
- "@praxisui/rich-content": "^10.0.0-rc.37",
15
- "@praxisui/settings-panel": "^10.0.0-rc.37",
16
- "@praxisui/table-rule-builder": "^10.0.0-rc.37",
9
+ "@praxisui/ai": "^10.0.0-rc.39",
10
+ "@praxisui/core": "^10.0.0-rc.39",
11
+ "@praxisui/dynamic-fields": "^10.0.0-rc.39",
12
+ "@praxisui/dynamic-form": "^10.0.0-rc.39",
13
+ "@praxisui/metadata-editor": "^10.0.0-rc.39",
14
+ "@praxisui/rich-content": "^10.0.0-rc.39",
15
+ "@praxisui/settings-panel": "^10.0.0-rc.39",
16
+ "@praxisui/table-rule-builder": "^10.0.0-rc.39",
17
17
  "@angular/cdk": "^21.0.0",
18
18
  "@angular/forms": "^21.0.0",
19
19
  "@angular/material": "^21.0.0",
20
20
  "@angular/router": "^21.0.0",
21
- "@praxisui/dialog": "^10.0.0-rc.37",
21
+ "@praxisui/dialog": "^10.0.0-rc.39",
22
22
  "rxjs": "~7.8.0"
23
23
  },
24
24
  "dependencies": {
@@ -367,7 +367,9 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
367
367
  | `actions.collection.discovery.enabled` | boolean | No | `true` | collection-action-discovery | Controla se ações de coleção podem ser materializadas por HATEOAS/capabilities. Configure `false` em lookups/seletores para manter consulta remota e somente ações explicitamente declaradas. |
368
368
  | `actions.row.actions[].recordSurface` | object | No | none | `ResourceSurfaceCatalogItem` | Preserva a identidade canônica da superfície relacionada aberta por uma ação de linha, mantendo `actions.row.actions[].id` como identidade do botão. |
369
369
  | `actions.row.discovery.enabled` | boolean | No | `true` | row-action-discovery | Controla se row actions podem ser enriquecidas por HATEOAS/capabilities. Configure `false` para manter somente ações declaradas em `actions.row.actions[]`. |
370
+ | `columns[].quickView` | `ResourceQuickViewBinding` | No | none | `recordOpen` obrigatório | Habilita Quick View governado na célula via `[praxisQuickView]`, resolvendo leitura e ações somente-leitura pelo catálogo do recurso referenciado. |
370
371
  | `columns[].renderer` | object | No | field-type-driven | renderer-contract | Renderers condicionais, payload expr e ações interativas. |
372
+ | `columns[].renderer.link.quickView` | `ResourceQuickViewBinding` | No | none | `recordOpen` obrigatório | Sobrescreve ou habilita Quick View específico para o renderer `link` (`hover-only` quando há `href` navegável; `hover-and-click` quando `href` está ausente). |
371
373
 
372
374
  Quando `actions.row.discovery.enabled` esta ativo e o item publica
373
375
  capabilities CRUD canonicas, `PraxisTable` pode sintetizar entradas
@@ -391,6 +393,10 @@ Renderer defaults:
391
393
  - Em `renderer.compose.items[]` com `type = "value"`, `emphasis = "strong"` representa o valor primário e `emphasis = "subtle"` o contexto de apoio. São os únicos níveis de hierarquia visual no item de texto; `style` arbitrário não integra o contrato de compose.
392
394
 
393
395
  - Em tabela, campos `*Expr` da visualizacao, como `valueExpr`, `targetExpr`, `segmentsExpr`, `toneExpr` e `fallbackTextExpr`, sao resolvidos contra o contexto da linha antes de renderizar. Strings simples sao caminhos (`row.slaAtual`) e objetos seguem Json Logic. Para `kind = "comparison"`, use `points`/`pointsExpr`; `items` fica reservado para visualizacoes orientadas a itens/etapas.
396
+ - `columns[].quickView` e `columns[].renderer.link.quickView` (`ResourceQuickViewBinding`) materializam o gatilho canônico `[praxisQuickView]` (`PraxisQuickViewTriggerDirective`):
397
+ - `renderer.link.quickView` tem precedência sobre `columns[].quickView`.
398
+ - Em links com `href` real (`renderer.type = "link"`), o modo de disparo é `hover-only` no ponteiro (com chip acessível explícito em teclado/touch) para não sequestrar a navegação nativa do `<a href>`.
399
+ - Em células de texto, `badge`, `chip`, `compose` ou `link` sem `href`, o modo é `hover-and-click` (`tabindex="0"`, `Enter`/`Space` e clique isolado com `stopPropagation()` para não disparar seleção ou expansão da linha).
394
400
 
395
401
  ### Toolbar contract
396
402
 
@@ -1303,6 +1309,8 @@ Em `scroll-auto`, o viewport e uma regiao focalizavel por teclado para que o scr
1303
1309
  | Path | Type | Required | Default | Status | Notes |
1304
1310
  | --- | --- | --- | --- | --- | --- |
1305
1311
  | `columns[]` | `TableColumnConfig[]` | Yes | `[]` | Active | Definicao de colunas, renderers e regras de exibicao. |
1312
+ | `columns[].quickView` | `ResourceQuickViewBinding` | No | `undefined` | Active | Binding governado de Quick View (`recordOpen`, `detailPresentation?`, `contentRef?`) na celula. |
1313
+ | `columns[].renderer.link.quickView` | `ResourceQuickViewBinding` | No | `undefined` | Active | Override de Quick View no renderer `link` (`hover-only` com `href` valido). |
1306
1314
  | `behavior` | `TableBehaviorConfig` | No | defaults do runtime | Partial | Inclui paginacao, filtro, selecao e expansao por blocos. |
1307
1315
  | `behavior.filtering.advancedFilters.settings.showAddButton` | `boolean` | No | `true` | Active | Controla a exibicao do botao `+` de adicionar campos rapidos (`alwaysVisibleFields`) na barra do `PraxisFilter` embutido. |
1308
1316
  | `behavior.filtering.advancedFilters.settings.showFilterSettings` | `boolean` | No | `isCustomizationAvailable()` | Active | Controla a exibicao da engrenagem de preferencias do `PraxisFilter` embutido; quando `enableCustomization` esta desabilitado, permanece oculta. |
@@ -1,4 +1,4 @@
1
- import { TableConfig, FieldDefinition } from '@praxisui/core';
1
+ import { TableConfig, FieldDefinition, GovernedPagePreviewWidgetAdapter, WidgetInstance } from '@praxisui/core';
2
2
 
3
3
  interface EditorDocument<TConfig, TBindings = unknown> {
4
4
  kind: string;
@@ -100,5 +100,33 @@ declare function buildTableApplyPlan(doc: TableAuthoringDocument, runtime?: Tabl
100
100
  }): TableApplyPlan;
101
101
  declare function serializeTableAuthoringDocument(doc: TableAuthoringDocument): unknown;
102
102
 
103
- export { buildTableApplyPlan, createTableAuthoringDocument, deriveTableEditorDocument, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
103
+ /** Raw compact schema authorship only; native normalization remains an editor/runtime projection. */
104
+ declare function decodeTablePageInputs(value: unknown): {
105
+ document: TableAuthoringDocument | null;
106
+ diagnostics: EditorDiagnostic[];
107
+ };
108
+ /** Core prefixes these widget-relative JSON Pointers; this callback never resolves a source/latest. */
109
+ declare function validateTablePageWidget(widget: WidgetInstance): readonly {
110
+ code: string;
111
+ path: string;
112
+ }[];
113
+ declare function encodeTablePageInputs(value: unknown): {
114
+ inputs: Record<string, unknown> | null;
115
+ diagnostics: EditorDiagnostic[];
116
+ };
117
+ /** No-change values in a materialized native editor cannot author defaults or erase absent keys. */
118
+ declare function projectTablePageEditorChanges(authoredInputs: unknown, editorBaseline: unknown, editorValue: unknown): {
119
+ inputs: Record<string, unknown> | null;
120
+ diagnostics: EditorDiagnostic[];
121
+ };
122
+ /** Derive execution-only identity and disable independent preferences. Never persist this projection. */
123
+ declare function materializeTablePageRuntimeInputs(value: unknown, pageId: string, widgetKey: string, options?: {
124
+ preview?: boolean;
125
+ }): {
126
+ inputs: Record<string, unknown> | null;
127
+ diagnostics: EditorDiagnostic[];
128
+ };
129
+ declare const TABLE_GOVERNED_PAGE_PREVIEW_ADAPTER: GovernedPagePreviewWidgetAdapter;
130
+
131
+ export { TABLE_GOVERNED_PAGE_PREVIEW_ADAPTER, buildTableApplyPlan, createTableAuthoringDocument, decodeTablePageInputs, deriveTableEditorDocument, encodeTablePageInputs, materializeTablePageRuntimeInputs, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, projectTablePageEditorChanges, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument, validateTablePageWidget };
104
132
  export type { EditorDiagnostic, TableApplyPlan, TableAuthoringDocument, TableBindings, TableEditorDocumentDerivationInput, TableProjectionContext, TableRuntimeContext, TableValidationContext };
@@ -1,5 +1,5 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { BulkExecutionContract, ResourceDiscoveryRequestOptions, BulkWireId, RestApiLinks, BulkSyncSession, BulkFieldChange, TableToolbarAppearanceConfig, TableConfig, TableToolbarAppearanceDensity, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, FilterPresentationConfig, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, DynamicDataRecord, MaterializedResourceIdentity, TableConfigInput, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, RichContentDocument, RichBlockHostCapabilities, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, PraxisPresentationVisualizationThreshold, PraxisPresentationVisualizationTone, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, DiscoveredResourceOption, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, ApiEndpoint, ResourceQuickConnectComponent, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, TableDrawerConfig, PraxisAnalyticalDrawerTab, PraxisPresentationVisualizationConfig, PraxisAnalyticalDrawerSchema, SafeExpressionEvaluator, PraxisComputedFieldsConfig, PraxisComputedFieldDefinition } from '@praxisui/core';
2
+ import { BulkExecutionContract, ResourceDiscoveryRequestOptions, BulkWireId, RestApiLinks, BulkSyncSession, BulkFieldChange, TableToolbarAppearanceConfig, TableConfig, TableToolbarAppearanceDensity, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, FilterPresentationConfig, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, DynamicDataRecord, MaterializedResourceIdentity, TableConfigInput, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, ColumnDefinition, RichBlockNode, EmptyAction, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, RichContentDocument, RichBlockHostCapabilities, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, ResourceQuickViewBinding, ApiEndpoint, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, PraxisPresentationVisualizationThreshold, PraxisPresentationVisualizationTone, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, DiscoveredResourceOption, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, ResourceQuickConnectComponent, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog, TableDrawerConfig, PraxisAnalyticalDrawerTab, PraxisPresentationVisualizationConfig, PraxisAnalyticalDrawerSchema, SafeExpressionEvaluator, PraxisComputedFieldsConfig, PraxisComputedFieldDefinition, GovernedPagePreviewWidgetAdapter, WidgetInstance } from '@praxisui/core';
3
3
  export { DynamicDataCollection, DynamicDataRecord, DynamicRecordMeta, ResourceLinkItem, ResourceLinks, createDynamicRecord, extractRecordId, isDynamicDataRecord, resolveDataField } from '@praxisui/core';
4
4
  import * as i0 from '@angular/core';
5
5
  import { InjectionToken, AfterViewInit, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterViewChecked, AfterContentInit, TemplateRef, Injector, Type } from '@angular/core';
@@ -457,7 +457,9 @@ declare class TableDefaultsProvider {
457
457
  * Precedence inside defaults: GlobalConfig.table > createDefaultTableConfig().
458
458
  * @param tableId Table identifier
459
459
  */
460
- getDefaults(_tableId: string): TableConfig;
460
+ getDefaults(_tableId: string, options?: {
461
+ includeGlobal?: boolean;
462
+ }): TableConfig;
461
463
  static ɵfac: i0.ɵɵFactoryDeclaration<TableDefaultsProvider, never>;
462
464
  static ɵprov: i0.ɵɵInjectableDeclaration<TableDefaultsProvider>;
463
465
  }
@@ -986,6 +988,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
986
988
  private applySchemaMetasNow;
987
989
  private withFilterMaterialDesignPolicy;
988
990
  private withAdvancedDatePickerTouchPolicy;
991
+ private withAdvancedEntityLookupPresentationPolicy;
989
992
  private isAdvancedDatePickerControl;
990
993
  private buildAdvancedFilterColumn;
991
994
  private isLongTextFilterField;
@@ -1193,6 +1196,8 @@ declare class AnalyticsTableStatsApiService {
1193
1196
  constructor(http: HttpClient, apiUrl: ApiUrlConfig);
1194
1197
  execute(projection: PraxisAnalyticsProjection, queryContext?: PraxisDataQueryContext | null): Observable<AnalyticsTableRow[]>;
1195
1198
  private toTableRows;
1199
+ private projectDimensionValues;
1200
+ private resolveDimensionBucketLabel;
1196
1201
  private resolveTimeSeriesCategory;
1197
1202
  private resolveBucketCategory;
1198
1203
  private resolveBucketKey;
@@ -1426,6 +1431,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
1426
1431
  private readonly runtimeObservationRegistry;
1427
1432
  private readonly detailInlineRenderers;
1428
1433
  private readonly drawerRegistry;
1434
+ private readonly quickViewService;
1429
1435
  private collectionLinks;
1430
1436
  private collectionCapabilities;
1431
1437
  private collectionCapabilitiesRequestHref;
@@ -1562,6 +1568,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
1562
1568
  private columnReorderUndoSubscription;
1563
1569
  private columnRuntimeMutationOperationCounter;
1564
1570
  private latestColumnRuntimeMutationOperationId;
1571
+ private persistenceContextEpoch;
1572
+ private persistenceContextDestroyed;
1573
+ /** Fence delayed work; requests already sent are not retroactively canceled. */
1574
+ private persistenceGuard;
1565
1575
  private columnRuntimePersistenceInFlight;
1566
1576
  private columnRuntimePersistencePending;
1567
1577
  private columnResizeTransientWidths;
@@ -1638,6 +1648,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
1638
1648
  idField: string;
1639
1649
  horizontalScroll: 'auto' | 'wrap' | 'none';
1640
1650
  private horizontalScrollOverrideSource;
1651
+ private hostHorizontalScrollInput?;
1641
1652
  getToolbarPosition(): 'top' | 'bottom' | 'both';
1642
1653
  shouldShowToolbarTopPlacement(): boolean;
1643
1654
  shouldShowToolbarBottomPlacement(): boolean;
@@ -1722,6 +1733,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
1722
1733
  getLoadingSurfaceMessage(): string;
1723
1734
  getLoadingSkeletonRows(): number[];
1724
1735
  isLoadingSkeletonAnimated(): boolean;
1736
+ getSetupEmptyStateTitle(): string;
1737
+ getSetupEmptyStateDescription(): string;
1738
+ getSetupEmptyStatePrimaryAction(): EmptyAction | undefined;
1725
1739
  getNoDataStateTitle(): string;
1726
1740
  getNoDataStateDescription(): string | undefined;
1727
1741
  getTableSettingsLabel(): string;
@@ -1862,6 +1876,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
1862
1876
  private syncLocalPageSizeFromConfig;
1863
1877
  private recomputeLocalView;
1864
1878
  private resolveLocalSortField;
1879
+ private resolveColumnSemanticSourceField;
1865
1880
  private setSchemaFieldsSnapshot;
1866
1881
  private setFilterSchemaFieldsSnapshot;
1867
1882
  private inferFilterSchemaSourceFields;
@@ -2422,6 +2437,9 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
2422
2437
  private emitWidgetInputPatch;
2423
2438
  private cloneInputPatch;
2424
2439
  private executeTableEditorApplyPlan;
2440
+ private normalizeResourcePathIdentity;
2441
+ private areColumnsDerivedFromPreviousResource;
2442
+ private stripResourceBoundTableConfigState;
2425
2443
  private attachRuntimeMetadataToEditorConfig;
2426
2444
  private syncInternalFilterSettings;
2427
2445
  private resetPreferencesToDefaults;
@@ -2652,6 +2670,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
2652
2670
  * 3. format (data formatting like dates, numbers, currency)
2653
2671
  */
2654
2672
  getCellValue(rowData: any, column: ColumnDefinition): any;
2673
+ private shouldSuppressIntegerThousandsGrouping;
2655
2674
  private applyImplicitRuntimeCellPresentation;
2656
2675
  private shouldHumanizeRuntimeEnumCell;
2657
2676
  private resolveCellFormattingType;
@@ -2745,6 +2764,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
2745
2764
  * Safely access nested properties using dot notation
2746
2765
  */
2747
2766
  private getNestedPropertyValue;
2767
+ private hasNestedProperty;
2748
2768
  /**
2749
2769
  * Verifica se a ordenação está habilitada
2750
2770
  */
@@ -2852,6 +2872,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
2852
2872
  private readonly microVisualizationSafeHtmlCache;
2853
2873
  private readonly microVisualizationPageBoundsCache;
2854
2874
  getMicroVisualizationHtml(row: any, column: ColumnDefinition): SafeHtml;
2875
+ private createMicroVisualizationValueFormatter;
2855
2876
  private resolveMicroVisualizationForRow;
2856
2877
  private resolvePageMicroVisualizationBounds;
2857
2878
  private applyMicroVisualizationExpression;
@@ -2866,6 +2887,10 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
2866
2887
  private asComposeValueItemColumn;
2867
2888
  asItemColumn(base: ColumnDefinition, item: any): any;
2868
2889
  getItemEffectiveType(row: any, column: ColumnDefinition, item: any): any;
2890
+ getEffectiveQuickViewBinding(row: any, column: ColumnDefinition): ResourceQuickViewBinding | null;
2891
+ getComposeValueQuickViewBinding(row: any, column: ColumnDefinition, item: any): ResourceQuickViewBinding | null;
2892
+ getQuickViewEndpointKey(): ApiEndpoint | string | null;
2893
+ getQuickViewTriggerAriaLabel(label: string | null | undefined, column?: ColumnDefinition): string;
2869
2894
  private mergeRenderer;
2870
2895
  private hasRenderableColumnOverride;
2871
2896
  private resolveColumnRuleAnimationCandidate;
@@ -3312,7 +3337,7 @@ interface RendererFieldOption {
3312
3337
  isVisible: boolean;
3313
3338
  isHidden?: boolean;
3314
3339
  }
3315
- type ComposePresetId = 'personAvatar' | 'contactTwoLines' | 'documentEmail' | 'statusChip';
3340
+ type ComposePresetId = 'personAvatar' | 'roleDepartment' | 'contactTwoLines' | 'documentEmail' | 'statusChip';
3316
3341
  declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestroy {
3317
3342
  private cdr;
3318
3343
  private readonly i18n;
@@ -3329,6 +3354,13 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3329
3354
  type?: string;
3330
3355
  tableHidden?: boolean;
3331
3356
  hidden?: boolean;
3357
+ options?: Array<{
3358
+ value?: any;
3359
+ key?: any;
3360
+ label?: string;
3361
+ text?: string;
3362
+ }>;
3363
+ enumValues?: Array<string | number>;
3332
3364
  xUi?: Record<string, any>;
3333
3365
  ui?: Record<string, any>;
3334
3366
  }>;
@@ -3359,7 +3391,22 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3359
3391
  condOverridesSelectedIndex: number;
3360
3392
  getConditionalOverrides(): any[];
3361
3393
  ensureConditionalOverrides(): any[];
3394
+ getColumnActiveRendererIcon(column: ColumnDefinition | null | undefined): string | null;
3395
+ getColumnActiveRendererTooltip(column: ColumnDefinition | null | undefined): string;
3396
+ getFieldDomainOptions(fieldName: string | undefined): Array<{
3397
+ value: string | number | boolean;
3398
+ label: string;
3399
+ }>;
3400
+ getSelectedColumnDomainOptions(): Array<{
3401
+ value: string | number | boolean;
3402
+ label: string;
3403
+ }>;
3404
+ getFilteredOverrideConditionValueOptions(condition: any): Array<{
3405
+ value: string;
3406
+ label: string;
3407
+ }>;
3362
3408
  addConditionalOverride(): void;
3409
+ generateDomainConditionalBadges(): void;
3363
3410
  removeConditionalOverride(index: number): void;
3364
3411
  duplicateConditionalOverride(index: number): void;
3365
3412
  onConditionalOverrideReorder(event: any): void;
@@ -3466,11 +3513,14 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3466
3513
  isExistingColumn(column: ColumnDefinition): boolean;
3467
3514
  isCalculatedColumn(column: ColumnDefinition): boolean;
3468
3515
  hasValueGetterError(column: ColumnDefinition): boolean;
3516
+ private hydrateApiColumnFlags;
3469
3517
  private generateAvailableDataSchema;
3470
3518
  /**
3471
3519
  * Map ColumnDataType to FieldSchema type
3472
3520
  */
3473
3521
  private mapColumnTypeToFieldType;
3522
+ private _cachedFormulaKey;
3523
+ private _cachedFormulaRef;
3474
3524
  getColumnFormula(column: ColumnDefinition | null): FormulaDefinition | undefined;
3475
3525
  onFormulaChange(formula: FormulaDefinition): void;
3476
3526
  onGeneratedExpressionChange(expression: string): void;
@@ -3595,6 +3645,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3595
3645
  getPreviewProgressValue(row: any): number;
3596
3646
  getPreviewMicroVisualizationSafeHtml(row: any): SafeHtml;
3597
3647
  getPreviewMicroVisualizationHtml(row: any): string;
3648
+ private createPreviewMicroVisualizationValueFormatter;
3598
3649
  private resolvePreviewMicroVisualizationConfig;
3599
3650
  getMicroVisualizationGuidance(): 'recommended' | 'conditional';
3600
3651
  getMicroVisualizationKind(): PraxisPresentationVisualizationKind;
@@ -3617,6 +3668,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3617
3668
  getPreviewRatingSize(): 'small' | 'medium' | 'large';
3618
3669
  getPreviewRatingAriaLabel(): string | undefined;
3619
3670
  getComposePreviewItems(row: any): any[];
3671
+ isComposePreviewMedia(row: any): boolean;
3620
3672
  getComposePreviewContainerStyle(row: any): Record<string, string>;
3621
3673
  getComposePreviewValueText(item: any, row: any): string;
3622
3674
  getComposePreviewValueClasses(item: any): string[];
@@ -3640,6 +3692,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3640
3692
  getComposePreviewHtml(item: any, row: any): string;
3641
3693
  getComposePreviewToggleState(item: any, row: any): boolean;
3642
3694
  getComposePreviewMenuCount(item: any, row: any): number;
3695
+ private isValidPreviewMediaUrl;
3643
3696
  private resolvePreviewSafeSrc;
3644
3697
  /** Mirrors PraxisTable.getSafeHtml token interpolation: `[[field]]` values are HTML-escaped. */
3645
3698
  private interpolatePreviewHtml;
@@ -3680,6 +3733,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3680
3733
  onComposeReorder(event: any): void;
3681
3734
  selectComposeItem(index: number): void;
3682
3735
  getComposeLayoutProp(key: string): any;
3736
+ hasComposeMediaLeadingItem(): boolean;
3683
3737
  setComposeLayoutProp(key: string, value: any): void;
3684
3738
  getSelectedComposeItem(): any;
3685
3739
  getSelectedComposeItemProp(path: string): any;
@@ -3694,11 +3748,18 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
3694
3748
  }): void;
3695
3749
  get selectedColumnDataType(): ColumnDataType$1;
3696
3750
  set selectedColumnDataType(value: ColumnDataType$1);
3751
+ private findColumnFieldMetadata;
3752
+ private inferColumnDataTypeFromMetadata;
3697
3753
  getColumnDataType(column: ColumnDefinition | null): ColumnDataType$1;
3698
3754
  /**
3699
- * Infer column data type from field name patterns (shared logic with PraxisTable)
3755
+ * Infer column data type from field name patterns (shared logic with PraxisTable, supporting pt-BR and en-US)
3700
3756
  */
3701
3757
  private inferFieldTypeFromFieldName;
3758
+ inferRecommendedColumnAlignment(column: ColumnDefinition | null, explicitType?: ColumnDataType$1): 'left' | 'center' | 'right';
3759
+ inferRecommendedColumnFormat(column: ColumnDefinition | null, explicitType?: ColumnDataType$1): string;
3760
+ private applySmartCalibrationToColumn;
3761
+ calibrateSelectedColumnFromMetadata(): void;
3762
+ calibrateAllColumnsFromMetadata(): void;
3702
3763
  onDataTypeChange(dataType: ColumnDataType$1): void;
3703
3764
  showDataFormatter(column: ColumnDefinition | null): boolean;
3704
3765
  getFormatterIcon(column: ColumnDefinition | null): string;
@@ -4522,6 +4583,12 @@ declare class TableRulesEditorComponent implements OnChanges, OnInit, OnDestroy
4522
4583
  value: any;
4523
4584
  label: string;
4524
4585
  }>;
4586
+ getDomainRuleTargetField(): string | null;
4587
+ getDomainRuleCandidateOptions(): Array<{
4588
+ value: any;
4589
+ label: string;
4590
+ }>;
4591
+ generateDomainRules(): void;
4525
4592
  isNoValueOperator(op: string): boolean;
4526
4593
  getValuePlaceholder(): string;
4527
4594
  getI18nValuePlaceholder(): string;
@@ -4841,6 +4908,7 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
4841
4908
  private hasLocalDataInput;
4842
4909
  private filterDtoLoadSeq;
4843
4910
  private resourceSchemaLoadSeq;
4911
+ private loadedSchemaResourcePath;
4844
4912
  private lastKnownFilterSettings;
4845
4913
  private globalActionValidationIssues;
4846
4914
  private readonly panelData;
@@ -4869,9 +4937,9 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
4869
4937
  * filtros rápidos enquanto `/schemas/filtered` ainda está em resolução ou indisponível.
4870
4938
  */
4871
4939
  private extractCatalogFieldMetas;
4872
- private humanizeFieldName;
4873
4940
  getFilterSettingsMetas(): FieldMetadata[];
4874
4941
  getColumnAuthoringMetas(): FieldMetadata[];
4942
+ getRulesEditorFields(): FieldDefinition[];
4875
4943
  getFieldTypeBadge(option?: FieldMetadata | null): string;
4876
4944
  getFieldDescription(option?: FieldMetadata | null): string;
4877
4945
  get filteredIdFieldOptions(): FieldMetadata[];
@@ -4890,6 +4958,10 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
4890
4958
  }>;
4891
4959
  get duplicatedQuickFilterInlineFields(): string[];
4892
4960
  private inferDefaultStatusFilterField;
4961
+ getQuickFilterValueOptions(fieldName: string, currentValue?: unknown): Array<{
4962
+ value: string;
4963
+ label: string;
4964
+ }>;
4893
4965
  private updateToolbarFiltersPatch;
4894
4966
  onToolbarFiltersEnabledChange(enabled: boolean): void;
4895
4967
  onToolbarShowQuickFiltersChange(show: boolean): void;
@@ -4947,6 +5019,8 @@ declare class PraxisTableConfigEditor implements OnInit, OnDestroy, SettingsValu
4947
5019
  private hasAdvancedSettingsProperty;
4948
5020
  private syncLastKnownFilterSettingsFromEditedConfig;
4949
5021
  onCatalogResourceSelected(resource: DiscoveredResourceOption | null): void;
5022
+ private normalizeResourcePathIdentity;
5023
+ private resetEditedConfigForResourceSwitch;
4950
5024
  onResourcePathChange(val: string): void;
4951
5025
  get resourceEndpointKey(): any;
4952
5026
  get resourceApiUrlEntry(): any;
@@ -5049,6 +5123,9 @@ declare class PraxisTableWidgetConfigEditor implements SettingsValueProvider$1,
5049
5123
  getSettingsValue(): PraxisTableWidgetEditorValue;
5050
5124
  onSave(): PraxisTableWidgetEditorValue;
5051
5125
  reset(): void;
5126
+ private normalizeResourcePathIdentity;
5127
+ private stripResourceBoundTableState;
5128
+ private sanitizeEditedConfigForResourceSwitch;
5052
5129
  private buildValue;
5053
5130
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableWidgetConfigEditor, never>;
5054
5131
  static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableWidgetConfigEditor, "praxis-table-widget-config-editor", never, { "inputs": { "alias": "inputs"; "required": false; }; "widgetKey": { "alias": "widgetKey"; "required": false; }; "context": { "alias": "context"; "required": false; }; }, {}, never, never, true, never>;
@@ -5126,7 +5203,6 @@ declare class PraxisFilterWidgetConfigEditor implements SettingsValueProvider$1,
5126
5203
  */
5127
5204
  onCatalogResourceSelected(resource: DiscoveredResourceOption | null): void;
5128
5205
  private extractCatalogFieldMetas;
5129
- private humanizeFieldName;
5130
5206
  onResourcePathChange(nextPath: string): void;
5131
5207
  loadResourceFields(markDirty?: boolean): Promise<void>;
5132
5208
  private optionalInject;
@@ -5424,6 +5500,7 @@ interface AnalyticsTableConfigAdapterOptions {
5424
5500
  }
5425
5501
  declare class AnalyticsTableConfigAdapterService {
5426
5502
  private readonly i18n?;
5503
+ private readonly statsBuilder;
5427
5504
  constructor(i18n?: PraxisI18nService | undefined);
5428
5505
  toTableConfig(projection: PraxisAnalyticsProjection, options?: AnalyticsTableConfigAdapterOptions): TableConfig;
5429
5506
  private buildColumns;
@@ -5596,6 +5673,10 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
5596
5673
  keyInputType: 'text' | 'number' | 'boolean';
5597
5674
  labelKey: string;
5598
5675
  labelValue: string;
5676
+ domainOptions: Array<{
5677
+ value: string | number | boolean;
5678
+ label: string;
5679
+ }>;
5599
5680
  mappingChange: EventEmitter<{
5600
5681
  [key: string]: string;
5601
5682
  [key: number]: string;
@@ -5606,6 +5687,8 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
5606
5687
  showImportDialog: boolean;
5607
5688
  importJsonText: string;
5608
5689
  importError: string;
5690
+ private readonly i18n;
5691
+ tx(key: string, fallback: string): string;
5609
5692
  constructor(cdr: ChangeDetectorRef, dialog: MatDialog, snackBar: MatSnackBar);
5610
5693
  ngOnInit(): void;
5611
5694
  ngOnChanges(changes: SimpleChanges): void;
@@ -5615,6 +5698,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
5615
5698
  isKeyTruthy(pair: ValueMappingPair): boolean;
5616
5699
  getKeyPlaceholder(): string;
5617
5700
  addNewPair(): void;
5701
+ generateFromDomainOptions(): void;
5618
5702
  removePair(index: number): void;
5619
5703
  onKeyChange(index: number, value: string): void;
5620
5704
  onBooleanKeyChange(index: number, change: MatCheckboxChange): void;
@@ -5624,7 +5708,7 @@ declare class ValueMappingEditorComponent implements OnInit, OnChanges {
5624
5708
  importFromJson(): void;
5625
5709
  cancelImport(): void;
5626
5710
  static ɵfac: i0.ɵɵFactoryDeclaration<ValueMappingEditorComponent, never>;
5627
- static ɵcmp: i0.ɵɵComponentDeclaration<ValueMappingEditorComponent, "value-mapping-editor", never, { "currentMapping": { "alias": "currentMapping"; "required": false; }; "keyInputType": { "alias": "keyInputType"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; }, { "mappingChange": "mappingChange"; }, never, never, true, never>;
5711
+ static ɵcmp: i0.ɵɵComponentDeclaration<ValueMappingEditorComponent, "value-mapping-editor", never, { "currentMapping": { "alias": "currentMapping"; "required": false; }; "keyInputType": { "alias": "keyInputType"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; "labelValue": { "alias": "labelValue"; "required": false; }; "domainOptions": { "alias": "domainOptions"; "required": false; }; }, { "mappingChange": "mappingChange"; }, never, never, true, never>;
5628
5712
  }
5629
5713
 
5630
5714
  declare class FormulaGeneratorService {
@@ -5717,6 +5801,10 @@ declare class VisualFormulaBuilderComponent implements OnInit, OnChanges {
5717
5801
  private generateAndEmitExpression;
5718
5802
  get generatedExpression(): string;
5719
5803
  isMultiSelectField(paramKey: string): boolean;
5804
+ onFieldSelectionChange(paramKey: string, nextValue: unknown): void;
5805
+ getOrderedSelectedFields(paramKey: string): string[];
5806
+ moveSelectedField(paramKey: string, index: number, delta: -1 | 1): void;
5807
+ getShortFieldDisplayLabel(fieldName: string): string;
5720
5808
  formatSelectedFieldLabel(selection: unknown): string;
5721
5809
  private resolveFieldDisplayLabel;
5722
5810
  getFieldTypeIcon(fieldType: string): string;
@@ -6315,5 +6403,33 @@ declare function formatComputedFieldValue(value: unknown, format?: string, type?
6315
6403
  */
6316
6404
  declare function applyComputedFieldsToRows<T extends Record<string, any> = Record<string, any>>(rows: T[], computedFieldsConfig?: PraxisComputedFieldsConfig | null, options?: ComputedFieldsEvaluationOptions): T[];
6317
6405
 
6318
- export { ANALYTICS_TABLE_ROW_KEY_FIELD, AnalyticalDrawerRegistryService, 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_ANALYTICAL_DRAWER_SCHEMAS, PRAXIS_FILTER_AUTHORING_MANIFEST, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, PRAXIS_TABLE_AUTHORING_MANIFEST, PRAXIS_TABLE_COMPONENT_METADATA, PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, PraxisAnalyticalDrawerComponent, PraxisFilter, PraxisFilterOutletComponent, PraxisFilterOutletDirective, PraxisFilterWidgetConfigEditor, PraxisScopeBarComponent, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, PraxisTableWidgetConfigEditor, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, TABLE_COMPONENT_EDIT_PLAN_KIND, TABLE_COMPONENT_EDIT_PLAN_VERSION, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, analyticsComparisonMetricField, applyComputedFieldsToRows, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, formatComputedFieldValue, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, interpolateRelationEndpoint, isAnalyticalDrawerSchema, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, normalizeComputedFieldDefinition, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, providePraxisAnalyticalDrawerSchemas, providePraxisFilterMetadata, providePraxisTableMetadata, providePraxisTableToolbarAppearance, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument };
6406
+ /** Raw compact schema authorship only; native normalization remains an editor/runtime projection. */
6407
+ declare function decodeTablePageInputs(value: unknown): {
6408
+ document: TableAuthoringDocument | null;
6409
+ diagnostics: EditorDiagnostic[];
6410
+ };
6411
+ /** Core prefixes these widget-relative JSON Pointers; this callback never resolves a source/latest. */
6412
+ declare function validateTablePageWidget(widget: WidgetInstance): readonly {
6413
+ code: string;
6414
+ path: string;
6415
+ }[];
6416
+ declare function encodeTablePageInputs(value: unknown): {
6417
+ inputs: Record<string, unknown> | null;
6418
+ diagnostics: EditorDiagnostic[];
6419
+ };
6420
+ /** No-change values in a materialized native editor cannot author defaults or erase absent keys. */
6421
+ declare function projectTablePageEditorChanges(authoredInputs: unknown, editorBaseline: unknown, editorValue: unknown): {
6422
+ inputs: Record<string, unknown> | null;
6423
+ diagnostics: EditorDiagnostic[];
6424
+ };
6425
+ /** Derive execution-only identity and disable independent preferences. Never persist this projection. */
6426
+ declare function materializeTablePageRuntimeInputs(value: unknown, pageId: string, widgetKey: string, options?: {
6427
+ preview?: boolean;
6428
+ }): {
6429
+ inputs: Record<string, unknown> | null;
6430
+ diagnostics: EditorDiagnostic[];
6431
+ };
6432
+ declare const TABLE_GOVERNED_PAGE_PREVIEW_ADAPTER: GovernedPagePreviewWidgetAdapter;
6433
+
6434
+ export { ANALYTICS_TABLE_ROW_KEY_FIELD, AnalyticalDrawerRegistryService, 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_ANALYTICAL_DRAWER_SCHEMAS, PRAXIS_FILTER_AUTHORING_MANIFEST, PRAXIS_FILTER_COMPONENT_METADATA, PRAXIS_FILTER_VIEW_CONTEXT_SCHEMA_VERSION, PRAXIS_TABLE_AUTHORING_MANIFEST, PRAXIS_TABLE_COMPONENT_METADATA, PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, PraxisAnalyticalDrawerComponent, PraxisFilter, PraxisFilterOutletComponent, PraxisFilterOutletDirective, PraxisFilterWidgetConfigEditor, PraxisScopeBarComponent, PraxisTable, PraxisTableConfigEditor, PraxisTableInlineAuthoringEditorComponent, PraxisTableToolbar, PraxisTableWidgetConfigEditor, STRING_PRESETS, TABLE_AI_CAPABILITIES, TABLE_COMPONENT_AI_CAPABILITIES, TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, TABLE_COMPONENT_EDIT_PLAN_KIND, TABLE_COMPONENT_EDIT_PLAN_VERSION, TABLE_GOVERNED_PAGE_PREVIEW_ADAPTER, TASK_PRESETS, TableDefaultsProvider, TableRulesEditorComponent, ToolbarActionsEditorComponent, ValueMappingEditorComponent, VisualFormulaBuilderComponent, analyticsComparisonMetricField, applyComputedFieldsToRows, buildTableApplyPlan, coerceTableComponentEditPlan, coerceTableComponentEditPlans, compileTableComponentEditPlan, compileTableComponentEditPlans, createTableAuthoringDocument, decodeTablePageInputs, encodeTablePageInputs, formatComputedFieldValue, getActionId, getEnum, getTableCapabilities, getTableComponentEditPlanCapabilities, interpolateRelationEndpoint, isAnalyticalDrawerSchema, isTableRendererSupportedByRichContentP0, mapTableRendererToRichContentP0, materializeTablePageRuntimeInputs, normalizeComputedFieldDefinition, normalizeTableAuthoringDocument, parseLegacyOrTableDocument, projectTablePageEditorChanges, providePraxisAnalyticalDrawerSchemas, providePraxisFilterMetadata, providePraxisTableMetadata, providePraxisTableToolbarAppearance, serializeTableAuthoringDocument, toCanonicalTableConfig, validateTableAuthoringDocument, validateTablePageWidget };
6319
6435
  export type { ActionLike, AnalyticalDrawerSchemaOrConfig, AnalyticsComparisonMetricValueKind, 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, ComputedFieldsEvaluationOptions, ConcatenationParams, ConditionalMappingParams, CurrencyFormatterOptions, DataFormattingOptions, DataMode, DateFormatterOptions, DefaultValueParams, DrawerOpenEvent, EditorDiagnostic, EditorDocument, FieldSchema, FilterConfig, FilterTag, FormatPreset, FormatterConfig, FormulaDefinition, FormulaParameterSchema, FormulaParams, FormulaTemplate, FormulaType, I18n, JsonEditorEvent, JsonValidationResult, MessagesLocalizationChange, NestedPropertyParams, NumberFormatterOptions, PercentageFormatterOptions, PraxisFilterOutletTarget, PraxisFilterTeleportHost, PraxisFilterViewContext, PraxisFilterViewField, PraxisFilterWidgetEditorInputs, PraxisFilterWidgetEditorValue, PraxisScopeBarActiveBadge, PraxisScopeBarConfig, PraxisScopeBarItem, PraxisTableCrossFilterItem, PraxisTableQueryContextClearEvent, PraxisTableWidgetEditorInputs, PraxisTableWidgetEditorValue, ResourcePathIntent, RowAction, RowClickEvent, RowDoubleClickEvent, RowExpansionChangeBase, RowExpansionChangeEvent, RowExpansionReasonCode, RowExpansionTrigger, RowSelectionChangeEvent, StringFormatterOptions, TableAiContext, TableAiNavigationContextPack, TableAiNavigationDestinationContext, TableApplyPlan, TableAuthoringDocument, TableBindings, Capability as TableComponentCapability, CapabilityCatalog as TableComponentCapabilityCatalog, CapabilityCategory as TableComponentCapabilityCategory, TableComponentEditChangeKind, TableComponentEditPlan, TableComponentEditPlanCompileResult, ValueKind as TableComponentValueKind, TableConfigPersistenceStrategy, TableHorizontalScroll, TableProjectionContext, TableRichContentP0Node, TableRuntimeContext, TableValidationContext, ToolbarAction, ToolbarActionsChange, ValueKind$1 as ValueKind, ValueMappingPair };