@praxisui/table 9.0.0-beta.21 → 9.0.0-beta.25

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,8 +1,13 @@
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 { G as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, W as coerceTableComponentEditPlans, Y as compileTableComponentEditPlans, I as TASK_PRESETS, a1 as getTableComponentEditPlanCapabilities, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-DLIk6S-_.mjs';
4
+ import { G as TABLE_COMPONENT_EDIT_PLAN_OPERATION_IDS, k as PRAXIS_TABLE_AUTHORING_MANIFEST, T as TABLE_AI_CAPABILITIES, W as coerceTableComponentEditPlans, Y as compileTableComponentEditPlans, I as TASK_PRESETS, a1 as getTableComponentEditPlanCapabilities, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, E as TABLE_COMPONENT_EDIT_PLAN_KIND } from './praxisui-table-praxisui-table-DehRrVBm.mjs';
5
5
 
6
+ const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
7
+ mode: 'expression',
8
+ options: [],
9
+ suggestedRoots: ['row', 'rowData', 'computed'],
10
+ };
6
11
  const TABLE_COMPONENT_CONTEXT_PACK = {
7
12
  version: 'v1',
8
13
  optionsByPath: {
@@ -332,6 +337,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
332
337
  { value: 'menu', label: 'Menu' },
333
338
  { value: 'rating', label: 'Rating' },
334
339
  { value: 'html', label: 'HTML' },
340
+ { value: 'microVisualization', label: 'Micro visualization' },
335
341
  { value: 'compose', label: 'Compose' },
336
342
  ],
337
343
  },
@@ -422,8 +428,45 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
422
428
  { value: 'menu', label: 'Menu' },
423
429
  { value: 'rating', label: 'Rating' },
424
430
  { value: 'html', label: 'HTML' },
431
+ { value: 'microVisualization', label: 'Micro visualization' },
425
432
  ],
426
433
  },
434
+ 'columns[].renderer.microVisualization.visualization.valueExpr': {
435
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
436
+ },
437
+ 'columns[].renderer.microVisualization.visualization.valueSuffixExpr': {
438
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
439
+ },
440
+ 'columns[].renderer.microVisualization.visualization.totalExpr': {
441
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
442
+ },
443
+ 'columns[].renderer.microVisualization.visualization.targetExpr': {
444
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
445
+ },
446
+ 'columns[].renderer.microVisualization.visualization.baselineExpr': {
447
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
448
+ },
449
+ 'columns[].renderer.microVisualization.visualization.segmentsExpr': {
450
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
451
+ },
452
+ 'columns[].renderer.microVisualization.visualization.pointsExpr': {
453
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
454
+ },
455
+ 'columns[].renderer.microVisualization.visualization.thresholdsExpr': {
456
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
457
+ },
458
+ 'columns[].renderer.microVisualization.visualization.itemsExpr': {
459
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
460
+ },
461
+ 'columns[].renderer.microVisualization.visualization.toneExpr': {
462
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
463
+ },
464
+ 'columns[].renderer.microVisualization.visualization.ariaLabelExpr': {
465
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
466
+ },
467
+ 'columns[].renderer.microVisualization.visualization.fallbackTextExpr': {
468
+ ...TABLE_ROW_EXPRESSION_CONTEXT_OPTION,
469
+ },
427
470
  'columns[].conditionalRenderers[].renderer.type': {
428
471
  mode: 'enum',
429
472
  options: [
@@ -439,6 +482,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
439
482
  { value: 'menu', label: 'Menu' },
440
483
  { value: 'rating', label: 'Rating' },
441
484
  { value: 'html', label: 'HTML' },
485
+ { value: 'microVisualization', label: 'Micro visualization' },
442
486
  { value: 'compose', label: 'Compose' },
443
487
  ],
444
488
  },
@@ -529,6 +573,7 @@ const TABLE_COMPONENT_CONTEXT_PACK = {
529
573
  { value: 'menu', label: 'Menu' },
530
574
  { value: 'rating', label: 'Rating' },
531
575
  { value: 'html', label: 'HTML' },
576
+ { value: 'microVisualization', label: 'Micro visualization' },
532
577
  ],
533
578
  },
534
579
  'actions.row.actions[].color': {
@@ -1 +1 @@
1
- export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, n as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, o as PraxisFilter, p as PraxisFilterWidgetConfigEditor, q as PraxisTable, r as PraxisTableConfigEditor, s as PraxisTableInlineAuthoringEditorComponent, t as PraxisTableToolbar, u as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, v as TABLE_COMPONENT_AI_CAPABILITIES, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_KIND, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, I as TASK_PRESETS, K as TableDefaultsProvider, L as TableRulesEditorComponent, O as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, Q as VisualFormulaBuilderComponent, R as buildTableApplyPlan, U as coerceTableComponentEditPlan, W as coerceTableComponentEditPlans, X as compileTableComponentEditPlan, Y as compileTableComponentEditPlans, Z as createTableAuthoringDocument, _ as getActionId, $ as getEnum, a0 as getTableCapabilities, a1 as getTableComponentEditPlanCapabilities, a2 as isTableRendererSupportedByRichContentP0, a3 as mapTableRendererToRichContentP0, a4 as normalizeTableAuthoringDocument, a5 as parseLegacyOrTableDocument, a6 as providePraxisFilterMetadata, a7 as providePraxisTableMetadata, a8 as providePraxisTableToolbarAppearance, a9 as serializeTableAuthoringDocument, aa as toCanonicalTableConfig, ab as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-DLIk6S-_.mjs';
1
+ export { A as AnalyticsTableConfigAdapterService, a as AnalyticsTableContractService, b as AnalyticsTableStatsApiService, B as BOOLEAN_PRESETS, c as BehaviorConfigEditorComponent, C as CURRENCY_PRESETS, d as ColumnsConfigEditorComponent, D as DATE_PRESETS, e as DataFormatterComponent, f as DataFormattingService, F as FORMULA_TEMPLATES, g as FilterConfigService, h as FilterSettingsComponent, i as FormulaGeneratorService, J as JsonConfigEditorComponent, M as MessagesLocalizationEditorComponent, N as NUMBER_PRESETS, P as PERCENTAGE_PRESETS, j as PRAXIS_FILTER_COMPONENT_METADATA, k as PRAXIS_TABLE_AUTHORING_MANIFEST, l as PRAXIS_TABLE_COMPONENT_METADATA, m as PRAXIS_TABLE_TOOLBAR_DEFAULT_APPEARANCE, n as PRAXIS_TABLE_TOOLBAR_TOKEN_PRESETS, o as PraxisFilter, p as PraxisFilterWidgetConfigEditor, q as PraxisTable, r as PraxisTableConfigEditor, s as PraxisTableInlineAuthoringEditorComponent, t as PraxisTableToolbar, u as PraxisTableWidgetConfigEditor, S as STRING_PRESETS, T as TABLE_AI_CAPABILITIES, v as TABLE_COMPONENT_AI_CAPABILITIES, w as TABLE_COMPONENT_EDIT_PLAN_ALLOWED_CHANGE_KINDS, x as TABLE_COMPONENT_EDIT_PLAN_BATCH_KIND, y as TABLE_COMPONENT_EDIT_PLAN_EXPECTED_PATHS, z as TABLE_COMPONENT_EDIT_PLAN_JSON_SCHEMA, E as TABLE_COMPONENT_EDIT_PLAN_KIND, H as TABLE_COMPONENT_EDIT_PLAN_VERSION, I as TASK_PRESETS, K as TableDefaultsProvider, L as TableRulesEditorComponent, O as ToolbarActionsEditorComponent, V as ValueMappingEditorComponent, Q as VisualFormulaBuilderComponent, R as buildTableApplyPlan, U as coerceTableComponentEditPlan, W as coerceTableComponentEditPlans, X as compileTableComponentEditPlan, Y as compileTableComponentEditPlans, Z as createTableAuthoringDocument, _ as getActionId, $ as getEnum, a0 as getTableCapabilities, a1 as getTableComponentEditPlanCapabilities, a2 as isTableRendererSupportedByRichContentP0, a3 as mapTableRendererToRichContentP0, a4 as normalizeTableAuthoringDocument, a5 as parseLegacyOrTableDocument, a6 as providePraxisFilterMetadata, a7 as providePraxisTableMetadata, a8 as providePraxisTableToolbarAppearance, a9 as serializeTableAuthoringDocument, aa as toCanonicalTableConfig, ab as validateTableAuthoringDocument } from './praxisui-table-praxisui-table-DehRrVBm.mjs';
package/package.json CHANGED
@@ -1,23 +1,24 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "9.0.0-beta.21",
3
+ "version": "9.0.0-beta.25",
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
- "@praxisui/ai": "^9.0.0-beta.21",
9
- "@praxisui/core": "^9.0.0-beta.21",
10
- "@praxisui/dynamic-fields": "^9.0.0-beta.21",
11
- "@praxisui/dynamic-form": "^9.0.0-beta.21",
12
- "@praxisui/metadata-editor": "^9.0.0-beta.21",
13
- "@praxisui/rich-content": "^9.0.0-beta.21",
14
- "@praxisui/settings-panel": "^9.0.0-beta.21",
15
- "@praxisui/table-rule-builder": "^9.0.0-beta.21",
8
+ "@angular/platform-browser": "^21.0.0",
9
+ "@praxisui/ai": "^9.0.0-beta.25",
10
+ "@praxisui/core": "^9.0.0-beta.25",
11
+ "@praxisui/dynamic-fields": "^9.0.0-beta.25",
12
+ "@praxisui/dynamic-form": "^9.0.0-beta.25",
13
+ "@praxisui/metadata-editor": "^9.0.0-beta.25",
14
+ "@praxisui/rich-content": "^9.0.0-beta.25",
15
+ "@praxisui/settings-panel": "^9.0.0-beta.25",
16
+ "@praxisui/table-rule-builder": "^9.0.0-beta.25",
16
17
  "@angular/cdk": "^21.0.0",
17
18
  "@angular/forms": "^21.0.0",
18
19
  "@angular/material": "^21.0.0",
19
20
  "@angular/router": "^21.0.0",
20
- "@praxisui/dialog": "^9.0.0-beta.21",
21
+ "@praxisui/dialog": "^9.0.0-beta.25",
21
22
  "rxjs": "~7.8.0"
22
23
  },
23
24
  "dependencies": {
@@ -338,8 +338,18 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
338
338
  | `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[]`. |
339
339
  | `columns[].renderer` | object | No | field-type-driven | renderer-contract | Renderers condicionais, payload expr e ações interativas. |
340
340
 
341
+ Quando `actions.row.discovery.enabled` esta ativo e o item publica
342
+ capabilities CRUD canonicas, `PraxisTable` pode sintetizar entradas
343
+ contextuais `view`, `edit` e `delete`. Essas entradas continuam sendo
344
+ CRUD capabilities, nao workflow actions: o clique emite `rowAction` com
345
+ `actionConfig` apontando para a capability, para que um contexto CRUD ou
346
+ host composto materialize a operacao.
347
+
341
348
  Renderer defaults:
342
349
  - `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.
350
+ - `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.
351
+
352
+ - 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.
343
353
 
344
354
  ### Toolbar contract
345
355
 
@@ -423,7 +433,7 @@ degraded filter.
423
433
  | `rowClick` | `{ row, index }` | Clique em linha. | Partial | Preservado da documentação anterior. |
424
434
  | `rowDoubleClick` | `{ action, row }` | Duplo clique quando habilitado. | Partial | Preservado da documentação anterior. |
425
435
  | `rowExpansionChange` | `RowExpansionChangeEvent` | Evento canônico para expand/collapse de detail row no runtime P0A (caminho não virtualizado), com payload discriminado por política de exposição (`allowRawExposure` + `eventExposureDefault`). | Partial | Preservado da documentação anterior. |
426
- | `rowAction` | `{ action, row, payload?, actionConfig?, localMode?, preventedHttp? }` | Acao de linha (coluna `_actions` ou renderer interativo). `payload` e emitido quando houver `payloadExpr` em renderer interativo. Quando `actionConfig.globalAction` aponta para `navigation.openRoute`, o runtime resolve templates como `${row.id}` antes de executar a navegação interna. Para actions como `surface.open`, `payload.*` continua sendo o envelope canônico do evento entregue ao destino. | Partial | Preservado da documentação anterior. |
436
+ | `rowAction` | `{ action, row, payload?, actionConfig?, localMode?, preventedHttp? }` | Acao de linha (coluna `_actions`, renderer interativo ou CRUD capability sintetizada). `payload` e emitido quando houver `payloadExpr` em renderer interativo. Quando `actionConfig.globalAction` aponta para `navigation.openRoute`, o runtime resolve templates como `${row.id}` antes de executar a navegação interna. Para actions como `surface.open`, `payload.*` continua sendo o envelope canônico do evento entregue ao destino. Para `view/edit/delete` vindos de capabilities, `actionConfig` carrega a operacao canonica e o host composto deve encaminhar ao contexto CRUD apropriado. | Partial | Preservado da documentação anterior. |
427
437
  | `toolbarAction` | `{ action, actionConfig? }` | Acao clicada em `toolbar.actions[]` que nao foi roteada para fluxo bulk; `actionConfig` carrega o objeto da acao quando disponivel. | Partial | Preservado da documentação anterior. |
428
438
  | `exportAction` | `{ format, request?, result?, error?, tableId? }` | Acao de exportacao acionada pelo menu `export.formats[]`; `request` segue `PraxisCollectionExportRequest`. | Active | Usa o contrato canonico de Collection Export em `@praxisui/core`. |
429
439
  | `exportAction` | `{ format, request?, result?, error?, tableId? }` | Acao de exportacao acionada pelo menu `export.formats[]`; `request` segue `PraxisCollectionExportRequest`. | Active | Usa o contrato canonico de Collection Export em `@praxisui/core`. |
@@ -1,8 +1,9 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, GlobalActionRef, PraxisRuntimeGlobalActionEffect, ResourceActionCatalogItem, ResourceSurfaceCatalogItem, 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, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, LocalStorageConfigService, ApiUrlEntry, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, PraxisRuntimeComponentObservationEnvelope, TableDetailRichListNode, TableDetailCardGridNode, TableDetailCardGridCardNode, TableDetailTimelineNode, JsonLogicDataRecord, TableDetailListItemAction, TableDetailActionBarNode, TableDetailActionBarAction, TableDetailRefNode, TableDetailTemplateRefNode, TableDetailDiagramEmbedNode, TableDetailEmbedAction, PraxisExportScope, 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';
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 } from '@angular/core';
5
5
  import { ActivatedRoute } from '@angular/router';
6
+ import { SafeHtml } from '@angular/platform-browser';
6
7
  import { MatTable, MatTableDataSource } from '@angular/material/table';
7
8
  import * as _angular_material_paginator from '@angular/material/paginator';
8
9
  import { MatPaginatorSelectConfig, MatPaginator, PageEvent } from '@angular/material/paginator';
@@ -1003,6 +1004,7 @@ type RuntimeRowAction = {
1003
1004
  overflow?: boolean;
1004
1005
  __praxisDiscoveredAction?: ResourceActionCatalogItem;
1005
1006
  __praxisDiscoveredSurface?: ResourceSurfaceCatalogItem;
1007
+ __praxisCrudOperation?: ResourceCapabilityOperation;
1006
1008
  __praxisCapabilityDenied?: boolean;
1007
1009
  };
1008
1010
  type ExpansionDetailRuntimeStatus = 'idle' | 'loading' | 'ready' | 'error' | 'blocked';
@@ -1165,6 +1167,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1165
1167
  private rowDiscoveryMarkForCheckScheduled;
1166
1168
  private lastRowDiscoveryScopeKey;
1167
1169
  private readonly i18n;
1170
+ private readonly sanitizer;
1168
1171
  private readonly collectionExport;
1169
1172
  private readonly paginatorIntl;
1170
1173
  private schemaFieldsSnapshot;
@@ -2046,7 +2049,11 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2046
2049
  getBadgeClasses(row: any, column: ColumnDefinition): string[];
2047
2050
  getBadgeRichContentNodes(row: any, column: ColumnDefinition): RichBlockNode[];
2048
2051
  shouldRenderBadge(row: any, column: ColumnDefinition): boolean;
2049
- getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | null;
2052
+ getEffectiveRendererType(row: any, column: ColumnDefinition): 'icon' | 'image' | 'badge' | 'link' | 'button' | 'chip' | 'progress' | 'avatar' | 'toggle' | 'menu' | 'html' | 'compose' | 'rating' | 'microVisualization' | null;
2053
+ getMicroVisualizationHtml(row: any, column: ColumnDefinition): SafeHtml;
2054
+ private resolveMicroVisualizationForRow;
2055
+ private applyMicroVisualizationExpression;
2056
+ private evaluateMicroVisualizationExpression;
2050
2057
  getComposeItems(row: any, column: ColumnDefinition): any[];
2051
2058
  trackComposeItem(index: number, item: any): string;
2052
2059
  getComposeClasses(row: any, column: ColumnDefinition): string[];
@@ -2228,10 +2235,18 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2228
2235
  private splitVisibleRowActionsFromVisible;
2229
2236
  private decorateConfiguredRowAction;
2230
2237
  private getDiscoveredRowWorkflowActions;
2238
+ private getDiscoveredRowCrudActionsFromSnapshot;
2239
+ private buildDiscoveredRowCrudAction;
2231
2240
  private getDiscoveredRowSurfaceActionsFromSnapshot;
2232
2241
  private getDiscoveredRowWorkflowActionsFromCatalog;
2242
+ private resolveRowCrudCapabilityOperation;
2243
+ private createSyntheticCrudCapabilityOperation;
2233
2244
  private supportsRowCrudAction;
2234
2245
  private isCapabilityManagedCrudRowAction;
2246
+ private getCrudRowActionLabel;
2247
+ private getCrudRowActionIcon;
2248
+ private getCrudRowActionColor;
2249
+ private getUnavailableCrudOperationMessage;
2235
2250
  private findItemWorkflowAction;
2236
2251
  private findItemSurface;
2237
2252
  private isRowSurfaceAction;