@praxisui/table 9.0.2 → 9.0.4-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { Observable, firstValueFrom } from 'rxjs';
2
2
  import { withAuthoringScopePolicy } from '@praxisui/ai';
3
- import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-BstM1W8K.mjs';
3
+ import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-BLPtIbvm.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 { I as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, l as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, Z as coerceTableComponentEditPlans, $ as compileTableComponentEditPlans, L as TASK_PRESETS, a4 as getTableComponentEditPlanCapabilities, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, H as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-BstM1W8K.mjs';
4
+ import { I as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, l as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, Z as coerceTableComponentEditPlans, $ as compileTableComponentEditPlans, L as TASK_PRESETS, a4 as getTableComponentEditPlanCapabilities, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, H as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-BLPtIbvm.mjs';
5
5
 
6
6
  const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
7
7
  mode: 'expression',
@@ -418,6 +418,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
418
418
  'columns[].renderer.compose.items[].type': {
419
419
  mode: 'enum',
420
420
  options: [
421
+ { value: 'value', label: 'Value' },
421
422
  { value: 'icon', label: 'Icon' },
422
423
  { value: 'image', label: 'Image' },
423
424
  { value: 'badge', label: 'Badge' },
@@ -563,6 +564,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
563
564
  'columns[].conditionalRenderers[].renderer.compose.items[].type': {
564
565
  mode: 'enum',
565
566
  options: [
567
+ { value: 'value', label: 'Value' },
566
568
  { value: 'icon', label: 'Icon' },
567
569
  { value: 'image', label: 'Image' },
568
570
  { value: 'badge', label: 'Badge' },
@@ -963,8 +965,8 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
963
965
  compose: {
964
966
  layout: { direction: 'column', gap: 4 },
965
967
  items: [
966
- { type: 'value', style: 'font-weight: 500;' }, // Title (current field)
967
- { type: 'value', textField: '{{params.subtitleField}}', style: 'font-size: 0.85em; color: var(--text-secondary);' } // Subtitle
968
+ { type: 'value', emphasis: 'strong' }, // Title (current field)
969
+ { type: 'value', textField: '{{params.subtitleField}}', emphasis: 'subtle' } // Subtitle
968
970
  ]
969
971
  }
970
972
  }
@@ -986,17 +988,10 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
986
988
  renderer: {
987
989
  type: 'compose',
988
990
  compose: {
989
- layout: { direction: 'row', gap: 12, align: 'center' },
991
+ layout: { direction: 'row', gap: 12, align: 'center', ellipsis: true },
990
992
  items: [
991
993
  { type: 'avatar', avatar: { srcField: '{{params.imageField}}', initialsField: '{{target}}', shape: 'circle' } },
992
- { type: 'compose', compose: {
993
- layout: { direction: 'column', gap: 2 },
994
- items: [
995
- { type: 'value', style: 'font-weight: 500;' },
996
- { type: 'value', textField: '{{params.subtitleField}}', style: 'font-size: 0.85em; opacity: 0.7;' }
997
- ]
998
- }
999
- }
994
+ { type: 'value', emphasis: 'strong' }
1000
995
  ]
1001
996
  }
1002
997
  }
@@ -1693,6 +1688,8 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
1693
1688
  'DOC: When resourcePath is available, the table can load schema and data; ask the user to pick an API resource when missing.',
1694
1689
  'DOC: resourcePath must be the base resource path only (no /filter, /all, /{id}). CRUD endpoints are handled internally.',
1695
1690
  'DOC: columns[].computed.expression agora usa AST Json Logic canônico para derived values; não use fórmulas string.',
1691
+ 'DOC: Para microVisualization em table-cell, recomende delta, bullet, radial, harveyBall ou stackedBar para leitura rápida. line, area e column são condicionais à largura horizontal; comparison aumenta a altura da linha; processFlow exige etapas reconhecíveis. Quando esses trade-offs não servirem à decisão, prefira detalhe expandido ou superfície relacionada.',
1692
+ 'DOC: Expressões de microVisualization aceitam caminho da linha (row.sla) ou fórmula controlada com prefixo = (= row.sla), com a mesma semântica do editor visual.',
1696
1693
  'DOC: Operadores/funções canônicos úteis: +, -, *, /, %, min, max, cat, substr, round, ceil, floor, abs, coalesce, now, date, yearsSince, monthsSince, daysSince, len, toNumber e stringify.',
1697
1694
  'DOC: Examples: {"yearsSince":[{"var":"dataNascimento"}]} → idade; {"yearsSince":[{"var":"dataAdmissao"}]} → tempoEmpresa (anos); {"monthsSince":[{"var":"dataAdmissao"}]} → tempoEmpresa (meses); {"daysSince":[{"var":"dataCadastro"}]} → dias desde cadastro; {"+":[{"coalesce":[{"var":"bonus"},0]},{"var":"salario"}]} → total com fallback.',
1698
1695
  '### DATA ARCHETYPE TO VISUAL STRATEGY',
@@ -1 +1 @@
1
- export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticsTableConfigAdapterService, b as AnalyticsTableContractService, c as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, d as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, e as ColumnsConfigEditorComponent, D as DATE_PRESETS, f as DataFormatterComponent, g as DataFormattingService, F as FORMULA_TEMPLATES, h as FilterConfigService, i as FilterSettingsComponent, j as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, k as PRAXIS_FILTER_COMPONENT_METADATA, l as PRAXIS_TABLE_AUTHORING_MANIFEST, m as PRAXIS_TABLE_COMPONENT_METADATA, n as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, o as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, p as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, q as PraxisFilter, r as PraxisFilterWidgetConfigEditor, s as PraxisTable, t as PraxisTableConfigEditor, u as PraxisTableInlineAuthoringEditorComponent, v as PraxisTableToolbar, w as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, x as TABLE_COMPONENT_AI_CAPABILITIES, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_KIND, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, L as TASK_PRESETS, O as TableDefaultsProvider, Q as TableRulesEditorComponent, R as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, U as VisualFormulaBuilderComponent, W as analyticsComparisonMetricField, X as buildTableApplyPlan, Y as coerceTableComponentEditPlan, Z as coerceTableComponentEditPlans, _ as compileTableComponentEditPlan, $ as compileTableComponentEditPlans, a0 as createTableAuthoringDocument, a1 as getActionId, a2 as getEnum, a3 as getTableCapabilities, a4 as getTableComponentEditPlanCapabilities, a5 as isTableRendererSupportedByRichContentP0, a6 as mapTableRendererToRichContentP0, a7 as normalizeTableAuthoringDocument, a8 as parseLegacyOrTableDocument, a9 as providePraxisFilterMetadata, aa as providePraxisTableMetadata, ab as providePraxisTableToolbarAppearance, ac as serializeTableAuthoringDocument, ae as toCanonicalTableConfig, af as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-BstM1W8K.mjs';
1
+ export { A as ANALYTICS_TABLE_ROW_KEY_FIELD, a as AnalyticsTableConfigAdapterService, b as AnalyticsTableContractService, c as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, d as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, e as ColumnsConfigEditorComponent, D as DATE_PRESETS, f as DataFormatterComponent, g as DataFormattingService, F as FORMULA_TEMPLATES, h as FilterConfigService, i as FilterSettingsComponent, j as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, k as PRAXIS_FILTER_COMPONENT_METADATA, l as PRAXIS_TABLE_AUTHORING_MANIFEST, m as PRAXIS_TABLE_COMPONENT_METADATA, n as PRAXIS_TABLE_TOOLBAR_APPEARANCE_PRESETS, o as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, p as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, q as PraxisFilter, r as PraxisFilterWidgetConfigEditor, s as PraxisTable, t as PraxisTableConfigEditor, u as PraxisTableInlineAuthoringEditorComponent, v as PraxisTableToolbar, w as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, x as TABLE_COMPONENT_AI_CAPABILITIES, y as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, G as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_KIND, K as TABLE_COMPONENT_EDIT_PLAN_VERSION, L as TASK_PRESETS, O as TableDefaultsProvider, Q as TableRulesEditorComponent, R as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, U as VisualFormulaBuilderComponent, W as analyticsComparisonMetricField, X as buildTableApplyPlan, Y as coerceTableComponentEditPlan, Z as coerceTableComponentEditPlans, _ as compileTableComponentEditPlan, $ as compileTableComponentEditPlans, a0 as createTableAuthoringDocument, a1 as getActionId, a2 as getEnum, a3 as getTableCapabilities, a4 as getTableComponentEditPlanCapabilities, a5 as isTableRendererSupportedByRichContentP0, a6 as mapTableRendererToRichContentP0, a7 as normalizeTableAuthoringDocument, a8 as parseLegacyOrTableDocument, a9 as providePraxisFilterMetadata, aa as providePraxisTableMetadata, ab as providePraxisTableToolbarAppearance, ac as serializeTableAuthoringDocument, ae as toCanonicalTableConfig, af as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-BLPtIbvm.mjs';
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "9.0.2",
3
+ "version": "9.0.4-rc.1",
4
4
  "description": "Advanced data table for Angular (Praxis UI) with editing, filtering, sorting, virtualization, and settings panel integration.",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^21.0.0",
7
7
  "@angular/core": "^21.0.0",
8
8
  "@angular/platform-browser": "^21.0.0",
9
- "@praxisui/ai": "^9.0.2",
10
- "@praxisui/core": "^9.0.2",
11
- "@praxisui/dynamic-fields": "^9.0.2",
12
- "@praxisui/dynamic-form": "^9.0.2",
13
- "@praxisui/metadata-editor": "^9.0.2",
14
- "@praxisui/rich-content": "^9.0.2",
15
- "@praxisui/settings-panel": "^9.0.2",
16
- "@praxisui/table-rule-builder": "^9.0.2",
9
+ "@praxisui/ai": "^9.0.4-rc.1",
10
+ "@praxisui/core": "^9.0.4-rc.1",
11
+ "@praxisui/dynamic-fields": "^9.0.4-rc.1",
12
+ "@praxisui/dynamic-form": "^9.0.4-rc.1",
13
+ "@praxisui/metadata-editor": "^9.0.4-rc.1",
14
+ "@praxisui/rich-content": "^9.0.4-rc.1",
15
+ "@praxisui/settings-panel": "^9.0.4-rc.1",
16
+ "@praxisui/table-rule-builder": "^9.0.4-rc.1",
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": "^9.0.2",
21
+ "@praxisui/dialog": "^9.0.4-rc.1",
22
22
  "rxjs": "~7.8.0"
23
23
  },
24
24
  "dependencies": {
@@ -351,6 +351,8 @@ Renderer defaults:
351
351
  - `columns[].renderer.type = "avatar"` aplica `columns[].align = "center"` quando a coluna não declara alinhamento explícito. Esse default governa header e célula para manter foto/avatar centralizados em colunas dedicadas, preservando `align`, `width` e demais overrides declarados pelo host.
352
352
  - `columns[].renderer.type = "microVisualization"` renderiza a visualização compacta declarada em `renderer.microVisualization.visualization`. O caminho preferencial é metadata-driven: campos de schema com `presentation.presenter = "microVisualization"` e `presentation.visualization.surface = "table-cell"` são convertidos automaticamente para esse renderer quando o tipo é seguro para tabela. O contrato visual e a normalização pertencem a `@praxisui/core` (`PraxisPresentationVisualizationConfig`); a tabela apenas hospeda o HTML compacto em célula, compose item ou renderer condicional.
353
353
 
354
+ - 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.
355
+
354
356
  - 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.
355
357
 
356
358
  ### Toolbar contract
@@ -462,7 +464,7 @@ degraded filter.
462
464
  | `ASYNC_CONFIG_STORAGE` | bidirectional | `loadConfig/saveConfig/clearConfig` | fail-open | Persistência de config e inputs por `tableId`/instância; não é acessado quando `configPersistenceStrategy='volatile'`. |
463
465
  | `CONNECTION_STORAGE` | bidirectional | `loadConnection/saveConnection` | fail-open | Persistência de `resourcePath` para quick-connect. |
464
466
  | `SettingsPanelService` | bidirectional | `open(...).applied$/saved$` | fail-open | Canal de edição em runtime (quick connect/editor). |
465
- | `Global resolver: PAX_EXPANSION_DETAIL_RESOURCE_RESOLVER` | outbound call | function contract | fail-closed | Resolução externa de detail schema por `resource`. |
467
+ | `PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER` | outbound call | Angular DI token (`TableDetailResourceResolver`) | fail-closed | Resolução externa e governada de detail schema por `resource`; o host deve fornecer o token por DI. |
466
468
 
467
469
  ### Host/runtime dependencies
468
470
 
@@ -1,5 +1,5 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { TableToolbarAppearanceConfig, TableConfig, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
2
+ import { TableToolbarAppearanceConfig, TableConfig, ToolbarActionEvent, PraxisExportScope, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, ToolbarAction as ToolbarAction$1, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, PraxisResourceEvent, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, EnterpriseRuntimeContextService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, ResourceCapabilityOperation, JsonLogicExpression, PraxisPresentationVisualizationKind, PraxisTableCellVisualizationConstraint, GlobalActionCatalogEntry, IconPickerService, SurfaceOpenPayload, GlobalActionField, FieldDefinition, PraxisRuntimeConditionalEffectRule, PraxisJsonLogicService, TableConfigService, SettingsValueProvider as SettingsValueProvider$1, AnalyticsSchemaContractService, AnalyticsPresentationResolver, RichPresenterNode, RichComposeNode, ComponentAuthoringManifest, AiCapability, AiCapabilityCategory, AiValueKind, AiCapabilityCatalog } from '@praxisui/core';
3
3
  import * as i0 from '@angular/core';
4
4
  import { InjectionToken, OnDestroy, EventEmitter, ElementRef, Provider, OnInit, OnChanges, AfterViewInit, DoCheck, DestroyRef, ChangeDetectorRef, NgZone, SimpleChanges, ComponentRef, AfterContentInit, Injector, Type } from '@angular/core';
5
5
  import { ActivatedRoute } from '@angular/router';
@@ -1156,6 +1156,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1156
1156
  private collectionCapabilitiesResolvedHref;
1157
1157
  private collectionCapabilitiesRequestSeq;
1158
1158
  private readonly detailInlineNodeResolvers;
1159
+ private readonly detailResourceResolver;
1159
1160
  private runtimeObservationRegistration;
1160
1161
  readonly paginatorSelectConfig: MatPaginatorSelectConfig;
1161
1162
  private static readonly ROW_ANIMATION_PRESETS;
@@ -2297,6 +2298,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2297
2298
  getComposeGapStyle(row: any, column: ColumnDefinition): any;
2298
2299
  private getComposeItemField;
2299
2300
  getComposeItemValue(row: any, base: ColumnDefinition, item: any): any;
2301
+ getComposeValueClasses(item: any): string[];
2300
2302
  private asComposeValueItemColumn;
2301
2303
  asItemColumn(base: ColumnDefinition, item: any): any;
2302
2304
  getItemEffectiveType(row: any, column: ColumnDefinition, item: any): any;
@@ -2756,7 +2758,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2756
2758
  private readonly destroyRef;
2757
2759
  private destroy$;
2758
2760
  onlyVisibleRendererFields: boolean;
2759
- uiRendererType: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null;
2761
+ uiRendererType: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null;
2760
2762
  private _rendererApplyTimer;
2761
2763
  rendererFieldOptions: RendererFieldOption[];
2762
2764
  uiRendererConditional: boolean;
@@ -2774,7 +2776,29 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2774
2776
  setConditionalOverrideCondition(index: number, raw: string): void;
2775
2777
  getOverrideField(path: string): any;
2776
2778
  setOverrideField(path: string, value: any): void;
2779
+ setOverrideJsonLogicField(path: string, raw: string): void;
2780
+ private ensureOverrideCompose;
2781
+ getOverrideComposeItems(): Array<{
2782
+ item: any;
2783
+ index: number;
2784
+ }>;
2785
+ addOverrideComposeValueItem(): void;
2786
+ setOverrideComposeValueItemField(index: number, field: string): void;
2787
+ setOverrideComposeValueItemEmphasis(index: number, emphasis: string): void;
2788
+ getOverrideComposeLayoutProp(key: string): any;
2789
+ setOverrideComposeLayoutProp(key: string, value: any): void;
2777
2790
  onOverrideTypeChange(ov: any, val: string): void;
2791
+ getOverrideMicroVisualizationProp(path: string): any;
2792
+ setOverrideMicroVisualizationProp(path: string, value: any): void;
2793
+ getOverrideMicroVisualizationKind(): PraxisPresentationVisualizationKind;
2794
+ getOverrideMicroVisualizationGuidance(): 'recommended' | 'conditional';
2795
+ getOverrideMicroVisualizationConstraint(): PraxisTableCellVisualizationConstraint;
2796
+ isOverrideMicroVisualizationValueKind(): boolean;
2797
+ isOverrideMicroVisualizationPointsKind(): boolean;
2798
+ isOverrideMicroVisualizationSegmentsKind(): boolean;
2799
+ isOverrideMicroVisualizationItemsKind(): boolean;
2800
+ isOverrideMicroVisualizationTotalKind(): boolean;
2801
+ getOverrideMicroVisualizationGuidanceText(): string;
2778
2802
  exportOverrideJson(index: number): void;
2779
2803
  importOverrideJson(index: number): void;
2780
2804
  rendererValidationErrors: string[];
@@ -2829,8 +2853,8 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2829
2853
  getColumnMapping(column: ColumnDefinition | null): {
2830
2854
  [key: string | number]: string;
2831
2855
  };
2832
- getRendererType(col: ColumnDefinition | null): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | null;
2833
- onRendererTypeChange(type: 'icon' | 'image' | 'badge' | null): void;
2856
+ getRendererType(col: ColumnDefinition | null): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | null;
2857
+ onRendererTypeChange(type: 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'avatar' | 'toggle' | 'menu' | 'rating' | 'html' | 'compose' | null): void;
2834
2858
  onRendererModeClosed(): void;
2835
2859
  onToggleRendererConditional(enabled: boolean): void;
2836
2860
  getRendererTypeExpr(): string;
@@ -2876,6 +2900,8 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2876
2900
  getRendererProp(kind: string, path: string): any;
2877
2901
  setRendererJsonLogicProp(kind: string, path: string, raw: string): void;
2878
2902
  setRendererProp(kind: string, path: string, value: any): void;
2903
+ private createDefaultMicroVisualization;
2904
+ setMicroVisualizationProp(path: string, value: any): void;
2879
2905
  private _deepClone;
2880
2906
  hasSelectedRenderer(): boolean;
2881
2907
  onApplyRenderer(): void;
@@ -2887,6 +2913,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2887
2913
  private sanitizeComposeItem;
2888
2914
  private ensurePreviewRows;
2889
2915
  private evalValueExpr;
2916
+ private evalMicroVisualizationExpression;
2890
2917
  private evalArrayExpr;
2891
2918
  private normalizeExpression;
2892
2919
  private normalizeOptionalChaining;
@@ -2894,7 +2921,7 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2894
2921
  private stripRowPrefixes;
2895
2922
  private _coerceExpected;
2896
2923
  private getNested;
2897
- getPreviewRendererType(row: any): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'rating' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | null;
2924
+ getPreviewRendererType(row: any): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'microVisualization' | 'rating' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | null;
2898
2925
  getPreviewIconName(row: any): string | null;
2899
2926
  getPreviewIconColor(row: any): string | null;
2900
2927
  getPreviewIconStyle(row: any): Record<string, string> | null;
@@ -2914,6 +2941,16 @@ declare class ColumnsConfigEditorComponent implements OnInit, OnChanges, OnDestr
2914
2941
  getPreviewChipText(row: any): string | null;
2915
2942
  getPreviewChipClasses(): string[];
2916
2943
  getPreviewProgressValue(row: any): number;
2944
+ getPreviewMicroVisualizationHtml(row: any): string;
2945
+ getMicroVisualizationGuidance(): 'recommended' | 'conditional';
2946
+ getMicroVisualizationKind(): PraxisPresentationVisualizationKind;
2947
+ isMicroVisualizationValueKind(): boolean;
2948
+ isMicroVisualizationPointsKind(): boolean;
2949
+ isMicroVisualizationSegmentsKind(): boolean;
2950
+ isMicroVisualizationItemsKind(): boolean;
2951
+ isMicroVisualizationTotalKind(): boolean;
2952
+ getMicroVisualizationGuidanceText(): string;
2953
+ getMicroVisualizationConstraint(): PraxisTableCellVisualizationConstraint;
2917
2954
  getPreviewRatingValue(row: any): number;
2918
2955
  getPreviewRatingMax(): number;
2919
2956
  getPreviewRatingColor(): string | undefined;