@praxisui/table 8.0.0-beta.102 → 8.0.0-beta.104

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.
@@ -2479,6 +2479,10 @@ class TableAgenticAuthoringTurnFlow {
2479
2479
  response = this.normalizeNumericBandConditionalStylePlan(response, request);
2480
2480
  response = this.normalizeCompoundColumnPresentationPlan(response, request);
2481
2481
  response = this.normalizeComputedColumnAuxiliaryMaterializations(response);
2482
+ const selectedRecordReadonlyPresentationBoundary = this.selectedRecordReadonlyPresentationBoundaryResponse(response, request);
2483
+ if (selectedRecordReadonlyPresentationBoundary) {
2484
+ return selectedRecordReadonlyPresentationBoundary;
2485
+ }
2482
2486
  const visualPresentationChoice = this.visualPresentationChoiceClarificationBoundary(response, request);
2483
2487
  if (visualPresentationChoice) {
2484
2488
  return visualPresentationChoice;
@@ -7097,6 +7101,30 @@ class TableAgenticAuthoringTurnFlow {
7097
7101
  ],
7098
7102
  };
7099
7103
  }
7104
+ selectedRecordReadonlyPresentationBoundaryResponse(response, request) {
7105
+ if (!this.selectedRecordReadOnlyAnalysisRequested(request))
7106
+ return null;
7107
+ if (response.patch)
7108
+ return null;
7109
+ const contextHints = this.contextHintsFor(request);
7110
+ if (!this.selectedRecordSampleRows(contextHints).length)
7111
+ return null;
7112
+ const hasPresentationOptions = (response.optionPayloads ?? [])
7113
+ .some((payload) => this.isVisualPresentationClarificationPayload(payload)
7114
+ || this.isGovernedCategoricalSemanticsChoicePayload(payload));
7115
+ if (!hasPresentationOptions && !this.responseHasGovernedCategoricalSemanticsChoice(response))
7116
+ return null;
7117
+ return {
7118
+ type: 'info',
7119
+ sessionId: response.sessionId ?? request?.sessionId,
7120
+ message: this.selectedRecordsAnalyticalSummary(contextHints),
7121
+ warnings: [
7122
+ ...(response.warnings ?? []),
7123
+ 'selected-record-readonly-analysis-presentation-misroute-collapsed',
7124
+ 'A plataforma respondeu a analise read-only usando selectedRecordsContext.sampleRows porque a resposta semantica retornou opcoes de apresentacao visual para uma pergunta consultiva.',
7125
+ ],
7126
+ };
7127
+ }
7100
7128
  responseAsksForSelectedRecordAnalysisDimension(response) {
7101
7129
  const text = [
7102
7130
  response.message,
@@ -7214,8 +7242,6 @@ class TableAgenticAuthoringTurnFlow {
7214
7242
  const normalizedPrompt = this.normalizeLabel(request?.prompt ?? '');
7215
7243
  if (!normalizedPrompt)
7216
7244
  return false;
7217
- if (!this.selectedRecordPromptTargetsSelectedSet(normalizedPrompt))
7218
- return false;
7219
7245
  if (this.promptRequestsVisualOrStructuralEdit(normalizedPrompt)
7220
7246
  || this.promptRequestsExportOperation(normalizedPrompt)) {
7221
7247
  return this.promptExplicitlyForbidsTableMutation(normalizedPrompt);
@@ -7223,7 +7249,7 @@ class TableAgenticAuthoringTurnFlow {
7223
7249
  if (this.promptRequestsSelectedRecordDerivedOperation(normalizedPrompt))
7224
7250
  return false;
7225
7251
  return this.promptExplicitlyForbidsTableMutation(normalizedPrompt)
7226
- || this.selectedRecordPromptLooksConsultative(normalizedPrompt);
7252
+ || this.selectedRecordPromptTargetsSelectedSet(normalizedPrompt);
7227
7253
  }
7228
7254
  selectedRecordPromptTargetsSelectedSet(normalizedPrompt) {
7229
7255
  if (!normalizedPrompt)
@@ -7364,6 +7390,30 @@ class TableAgenticAuthoringTurnFlow {
7364
7390
  // This ranks explicit selected-record operation wording after selectedRecordsContext is already available.
7365
7391
  // The primary intent still comes from the semantic turn/contract; these phrases only prevent a read-only
7366
7392
  // safety boundary from cancelling an operation the user explicitly asked to materialize.
7393
+ if (this.selectedRecordPromptLooksConsultative(normalizedPrompt)) {
7394
+ const explicitOperationSignals = [
7395
+ 'filtrar',
7396
+ 'filtra',
7397
+ 'filtro',
7398
+ 'filtre',
7399
+ 'buscar registros',
7400
+ 'procurar registros',
7401
+ 'acha quem',
7402
+ 'achar quem',
7403
+ 'outros registros',
7404
+ 'quero outros',
7405
+ 'quero os mesmo',
7406
+ 'quero os mesmos',
7407
+ 'quero ver gente',
7408
+ 'pega a turma',
7409
+ 'pegar a turma',
7410
+ ].map((signal) => this.normalizeLabel(signal));
7411
+ const explicitlyRequestsOperation = explicitOperationSignals.some((signal) => signal.includes(' ')
7412
+ ? this.normalizedTextContainsExactPhrase(normalizedPrompt, signal)
7413
+ : this.normalizedTextHasStandaloneToken(normalizedPrompt, signal));
7414
+ if (!explicitlyRequestsOperation)
7415
+ return false;
7416
+ }
7367
7417
  return [
7368
7418
  'filtrar',
7369
7419
  'filtra',
@@ -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 { 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-DDUl1Vav.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-BV50-u0I.mjs';
5
5
 
6
6
  const TABLE_COMPONENT_CONTEXT_PACK = {
7
7
  version: 'v1',
@@ -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-DDUl1Vav.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-BV50-u0I.mjs';
package/package.json CHANGED
@@ -1,23 +1,23 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "8.0.0-beta.102",
3
+ "version": "8.0.0-beta.104",
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": "^8.0.0-beta.102",
9
- "@praxisui/core": "^8.0.0-beta.102",
10
- "@praxisui/dynamic-fields": "^8.0.0-beta.102",
11
- "@praxisui/dynamic-form": "^8.0.0-beta.102",
12
- "@praxisui/metadata-editor": "^8.0.0-beta.102",
13
- "@praxisui/rich-content": "^8.0.0-beta.102",
14
- "@praxisui/settings-panel": "^8.0.0-beta.102",
15
- "@praxisui/table-rule-builder": "^8.0.0-beta.102",
8
+ "@praxisui/ai": "^8.0.0-beta.104",
9
+ "@praxisui/core": "^8.0.0-beta.104",
10
+ "@praxisui/dynamic-fields": "^8.0.0-beta.104",
11
+ "@praxisui/dynamic-form": "^8.0.0-beta.104",
12
+ "@praxisui/metadata-editor": "^8.0.0-beta.104",
13
+ "@praxisui/rich-content": "^8.0.0-beta.104",
14
+ "@praxisui/settings-panel": "^8.0.0-beta.104",
15
+ "@praxisui/table-rule-builder": "^8.0.0-beta.104",
16
16
  "@angular/cdk": "^21.0.0",
17
17
  "@angular/forms": "^21.0.0",
18
18
  "@angular/material": "^21.0.0",
19
19
  "@angular/router": "^21.0.0",
20
- "@praxisui/dialog": "^8.0.0-beta.102",
20
+ "@praxisui/dialog": "^8.0.0-beta.104",
21
21
  "rxjs": "~7.8.0"
22
22
  },
23
23
  "dependencies": {
@@ -92,6 +92,16 @@ Este documento e a referencia canonica da API JSON de praxis-table.
92
92
  - Para exportar apenas a selecao, combine `behavior.selection.enabled`, `config.export.general.scope: "selected"` e uma bulk action visivel apenas quando `selectedCount > 0`.
93
93
  - Quando `config.export.general.scope` e `"selected"`, a exportacao sem linhas selecionadas e bloqueada com feedback de usuario em vez de gerar um arquivo vazio.
94
94
 
95
+ ## Columns visibility dropdown
96
+
97
+ - `config.toolbar.columnsVisibility.enabled` controla a exibição do botão de visibilidade de colunas na barra de ferramentas.
98
+ - Por padrão, o botão de visibilidade rápida de colunas estará habilitado caso a toolbar esteja visível.
99
+ - **Guardrail de UX**: O último checkbox ativo no dropdown de colunas é automaticamente desabilitado quando apenas 1 coluna permanece visível, para impedir que o usuário oculte todas as colunas de dados da tabela.
100
+ - A desativação rápida de colunas reflete instantaneamente no layout visual (`displayedColumns`) e emite o evento `configChange`.
101
+
102
+ > [!WARNING]
103
+ > **Segurança Corporativa em Cenários Corporativos**: A visibilidade de colunas via dropdown da toolbar é um recurso estritamente visual (layout de apresentação do lado do cliente). A ocultação de colunas **não** protege o dado sensível da transmissão de rede nem de inspeção técnica. Se determinados campos (ex: salários, senhas ou tokens) forem confidenciais para o nível de permissão do usuário atual, a restrição de dados deve ser realizada obrigatoriamente no lado do servidor (através da filtragem de propriedades nas APIs de CRUD e consulta), e nunca por meio de ocultação puramente visual na tabela.
104
+
95
105
  ## Rich content convergence
96
106
 
97
107
  - `mapTableRendererToRichContentP0(...)` e a ponte publica e restrita entre a taxonomia atual de cell renderers do `praxis-table` e o vocabulario compartilhado `1.0` de rich content em `@praxisui/core`.
@@ -1161,6 +1171,7 @@ A superficie usa `horizontalScroll` com classes:
1161
1171
  | `behavior` | `TableBehaviorConfig` | No | defaults do runtime | Partial | Inclui paginacao, filtro, selecao e expansao por blocos. |
1162
1172
  | `toolbar.actions[]` | `ToolbarActionConfig[]` | No | `[]` | Partial | Acoes de toolbar com roteamento para `toolbarAction` e `bulkAction`. |
1163
1173
  | `toolbar.appearance` | `TableToolbarAppearanceConfig` | No | fallback M3 | Active | Chrome visual governado da toolbar; tokens viram `--p-table-toolbar-*` no runtime. |
1174
+ | `toolbar.columnsVisibility` | `object` | No | habilitado se a toolbar estiver ativa | Active | Controle rápido de visibilidade de colunas no toolbar (dropdown). |
1164
1175
  | `messages` | `TableMessagesConfig` | No | defaults internos | Partial | Overrides de i18n e mensagens operacionais. |
1165
1176
  | `data` | `TableDataConfig` | No | modo local/remoto autodetectado | Partial | Integra origem local ou remota conforme `resourcePath`/inputs. |
1166
1177
 
@@ -1,5 +1,5 @@
1
1
  import * as _praxisui_core from '@praxisui/core';
2
- import { TableToolbarAppearanceConfig, TableConfig, LoggerService, PraxisI18nService, TableToolbarAppearanceVariant, TableToolbarAppearanceDensity, TableToolbarAppearanceShape, TableToolbarAppearanceDivider, TableToolbarTokenName, GlobalConfigService, AsyncConfigStorage, FieldMetadata, SchemaIdParams, FormConfig, GenericCrudService, DynamicFormService, SchemaNormalizerService, ComponentKeyService, ComponentDocMeta, PraxisTextValue, PraxisAnalyticsProjection, PraxisDataQueryContext, ApiUrlConfig, PraxisQueryFilterExpression, RecordRelatedSurfaceContextPack, LoadingState, RestApiLinks, ColumnDefinition, RichBlockNode, ResourceCapabilityDigest, ConnectionStorage, LoadingOrchestrator, GlobalActionService, PraxisLoadingRenderer, 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, 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';
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';
@@ -62,6 +62,10 @@ declare class PraxisTableToolbar implements OnDestroy {
62
62
  exportAction: EventEmitter<{
63
63
  format: string;
64
64
  }>;
65
+ columnVisibilityToggle: EventEmitter<{
66
+ field: string;
67
+ visible: boolean;
68
+ }>;
65
69
  readonly getActionId: typeof getActionId;
66
70
  private readonly jsonLogic;
67
71
  private readonly validToolbarActionTypes;
@@ -81,6 +85,10 @@ declare class PraxisTableToolbar implements OnDestroy {
81
85
  getExportDataLabel(): string;
82
86
  getMoreActionsLabel(): string;
83
87
  emitExportAction(event: Event, format: string): void;
88
+ getColumnsVisibilityLabel(): string;
89
+ isColumnsVisibilityEnabled(): boolean;
90
+ getVisibleColumnsCount(): number;
91
+ toggleColumnVisibility(field: string, visible: boolean): void;
84
92
  private tx;
85
93
  ngOnDestroy(): void;
86
94
  getToolbarVariant(): TableToolbarAppearanceVariant;
@@ -137,7 +145,7 @@ declare class PraxisTableToolbar implements OnDestroy {
137
145
  private sortActions;
138
146
  getExportIcon(format: string): string;
139
147
  static ɵfac: i0.ɵɵFactoryDeclaration<PraxisTableToolbar, [null, { optional: true; }, { optional: true; }, { optional: true; }, { optional: true; }]>;
140
- static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "exportBusy": { "alias": "exportBusy"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
148
+ static ɵcmp: i0.ɵɵComponentDeclaration<PraxisTableToolbar, "praxis-table-toolbar", never, { "config": { "alias": "config"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "backgroundColor": { "alias": "backgroundColor"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "showMain": { "alias": "showMain"; "required": false; }; "showActionsGroup": { "alias": "showActionsGroup"; "required": false; }; "showEndActions": { "alias": "showEndActions"; "required": false; }; "showMobileActions": { "alias": "showMobileActions"; "required": false; }; "exportBusy": { "alias": "exportBusy"; "required": false; }; "evaluationContext": { "alias": "evaluationContext"; "required": false; }; }, { "toolbarAction": "toolbarAction"; "exportAction": "exportAction"; "columnVisibilityToggle": "columnVisibilityToggle"; }, never, ["[advancedFilter]", "[toolbar]", "[end-actions]"], true, never>;
141
149
  }
142
150
 
143
151
  type ColumnDataType$1 = 'date' | 'number' | 'currency' | 'percentage' | 'string' | 'boolean' | 'custom';
@@ -722,13 +730,15 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
722
730
  onAddQuery(q: string): void;
723
731
  openAddSelect(select: MatSelect): void;
724
732
  hasAddableFields(): boolean;
725
- private getAddableItems;
733
+ hasManageableFilterFields(): boolean;
734
+ private getManageableFilterItems;
726
735
  private updateAddItems;
727
736
  trackById(_idx: number, it: {
728
737
  id: string;
729
738
  }): string;
730
739
  private isFilterFieldHidden;
731
740
  onAddSelectionChange(values: string[] | null | undefined): void;
741
+ private normalizeManagedFieldSelection;
732
742
  private mergeSelectedFieldIds;
733
743
  private formatWithCount;
734
744
  getAddAriaLabel(): string;
@@ -738,6 +748,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
738
748
  isAllSelected(): boolean;
739
749
  isSomeSelected(): boolean;
740
750
  toggleSelectAll(): void;
751
+ private clearRemovedSelectedFieldValues;
741
752
  onAdvancedSubmit(event: {
742
753
  formData: Record<string, any>;
743
754
  }): void;
@@ -1008,6 +1019,8 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1008
1019
  private static readonly ROW_DISCOVERY_MAX_CONCURRENT_REQUESTS;
1009
1020
  private _resourceDiscovery?;
1010
1021
  private _resourceSurfaceOpenAdapter?;
1022
+ private readonly runtimeObservationRegistry;
1023
+ private runtimeObservationRegistration;
1011
1024
  readonly paginatorSelectConfig: MatPaginatorSelectConfig;
1012
1025
  private static readonly ROW_ANIMATION_PRESETS;
1013
1026
  private static readonly ROW_ANIMATION_PRESET_ALIASES;
@@ -1233,6 +1246,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1233
1246
  ensureAiAssistantRecordSurfaceContext(): Promise<void>;
1234
1247
  getAiAssistantRecordSurfacesContext(): RecordRelatedSurfaceContextPack | null;
1235
1248
  getAiAssistantSelectedRowsContext(): Record<string, any> | null;
1249
+ private buildAiAssistantSelectedRowsContext;
1236
1250
  private ensureAiAssistantRowCapabilitySnapshot;
1237
1251
  private buildCapabilitySnapshotFromSurfaceCatalog;
1238
1252
  private buildAiAssistantResourceSurfaceContexts;
@@ -1355,12 +1369,27 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1355
1369
  private interpolateAiAssistantContextValue;
1356
1370
  private aiAssistantSelectedRecordsValue;
1357
1371
  private buildAiAssistantContextSnapshot;
1372
+ buildRuntimeComponentObservation(): PraxisRuntimeComponentObservationEnvelope;
1373
+ private registerRuntimeComponentObservationProvider;
1374
+ private getRuntimeObservationSelectedRecordsContext;
1375
+ private getActiveRuntimeObservationSelectedRows;
1376
+ private buildRuntimeObservationSelectionDigest;
1377
+ private buildRuntimeObservationStateDigest;
1378
+ private buildRuntimeObservationDataProfileDigest;
1379
+ private getRuntimeObservationSchemaFieldRefs;
1380
+ private getRuntimeObservationSchemaFieldDescriptors;
1381
+ private getRuntimeObservationSurfaceRefs;
1382
+ private getRuntimeObservationActionRefs;
1383
+ private buildRuntimeObservationClaims;
1384
+ private isRuntimeObservationVisible;
1358
1385
  private syncAiAssistantSession;
1359
1386
  private assistantContextRuntimeLocale;
1360
1387
  private refreshAiAssistantContextAfterSelectionChange;
1361
1388
  private hasAiAssistantSessionState;
1362
1389
  private resolveAiAssistantSessionId;
1363
1390
  private resolveAiAssistantOwnerId;
1391
+ private runtimeSurfaceInstanceRef;
1392
+ private safeRuntimeSurfaceRefSegment;
1364
1393
  private resolveAiAssistantRouteKey;
1365
1394
  private resolveAiAssistantSummary;
1366
1395
  private resolveAiAssistantBadge;
@@ -1651,6 +1680,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1651
1680
  private persistHorizontalScrollInput;
1652
1681
  private showPersistenceFailureFeedback;
1653
1682
  private showResetSuccessFeedback;
1683
+ toggleColumnVisibility(field: string, visible: boolean): void;
1654
1684
  openTableSettings(): void;
1655
1685
  private applyTableConfig;
1656
1686
  private buildTableEditorRuntimeContext;
@@ -2092,6 +2122,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2092
2122
  private getComparableRowIdentity;
2093
2123
  getIdField(): string;
2094
2124
  private resolveConfigMetaIdField;
2125
+ private normalizeIdField;
2095
2126
  private syncRuntimeSchemaMetaFromConfig;
2096
2127
  private getEffectiveMetadataSnapshot;
2097
2128
  getActionId(action: any): string;
@@ -2104,10 +2135,14 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
2104
2135
  getVirtMinHeightStyle(): string;
2105
2136
  getVirtMinHeightHostStyle(): string | null;
2106
2137
  getVirtualTableWidthStyle(): string | null;
2138
+ isSelectionColumnEnabled(): boolean;
2139
+ isRowClickSelectable(): boolean;
2107
2140
  canSelectAll(): boolean;
2108
2141
  masterToggle(): void;
2109
2142
  isAllSelected(): boolean;
2110
2143
  toggleRow(row: any): void;
2144
+ getRowSelectionAriaLabel(row: any, index?: number): string;
2145
+ getMasterSelectionAriaLabel(): string;
2111
2146
  private selectRowFromUserInteraction;
2112
2147
  private emitSelectionChange;
2113
2148
  private getSelectedRowsSnapshot;