@praxisui/table 10.0.0-rc.27 → 10.0.0-rc.28

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,8 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
- "generatedAt": "2026-10-15T22:42:56.841Z",
3
+ "generatedAt": "2026-10-16T01:37:23.681Z",
4
4
  "packageName": "@praxisui/table",
5
- "packageVersion": "10.0.0-rc.27",
5
+ "packageVersion": "10.0.0-rc.28",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 3,
@@ -13030,6 +13030,7 @@ class PraxisFilter {
13030
13030
  changeDebounceMs = 300;
13031
13031
  /** Controla a exibição do botão de preferências dentro do filtro */
13032
13032
  showFilterSettings = false;
13033
+ hostShowFilterSettings;
13033
13034
  /** Controla a exibição do botão de filtro avançado */
13034
13035
  showAdvancedButton = true;
13035
13036
  /** Projection of FilterConfig.presentation for standalone and embedded hosts. */
@@ -13041,6 +13042,7 @@ class PraxisFilter {
13041
13042
  get advancedActionDisplay() { return this.presentation?.advancedAction?.display ?? 'icon'; }
13042
13043
  /** Controla a exibição do botão de adicionar campos */
13043
13044
  showAddButton = true;
13045
+ hostShowAddButton;
13044
13046
  /** Controla a exibição do botão de limpar filtros */
13045
13047
  showClearButton = true;
13046
13048
  /** Controla a exibição do botão de pesquisar/aplicar filtros em fluxos manuais. */
@@ -13695,10 +13697,12 @@ class PraxisFilter {
13695
13697
  if (cfg.showToggleLabels !== undefined) {
13696
13698
  this.showToggleLabels = cfg.showToggleLabels;
13697
13699
  }
13698
- if (typeof cfg.showAddButton === 'boolean') {
13700
+ if (this.hostShowAddButton === undefined &&
13701
+ typeof cfg.showAddButton === 'boolean') {
13699
13702
  this.showAddButton = cfg.showAddButton;
13700
13703
  }
13701
- if (typeof cfg.showFilterSettings === 'boolean') {
13704
+ if (this.hostShowFilterSettings === undefined &&
13705
+ typeof cfg.showFilterSettings === 'boolean') {
13702
13706
  this.showFilterSettings = cfg.showFilterSettings;
13703
13707
  }
13704
13708
  if (cfg.alwaysMinWidth !== undefined) {
@@ -14062,6 +14066,20 @@ class PraxisFilter {
14062
14066
  if (changes['i18n']) {
14063
14067
  this.mergeI18n();
14064
14068
  }
14069
+ if (changes['showAddButton']) {
14070
+ this.hostShowAddButton =
14071
+ typeof this.showAddButton === 'boolean'
14072
+ ? this.showAddButton
14073
+ : undefined;
14074
+ this.cdr.markForCheck();
14075
+ }
14076
+ if (changes['showFilterSettings']) {
14077
+ this.hostShowFilterSettings =
14078
+ typeof this.showFilterSettings === 'boolean'
14079
+ ? this.showFilterSettings
14080
+ : undefined;
14081
+ this.cdr.markForCheck();
14082
+ }
14065
14083
  if (changes['enableCustomization']) {
14066
14084
  if (!this.enableCustomization) {
14067
14085
  if (this.activeFilterSettingsRef) {
@@ -14165,9 +14183,11 @@ class PraxisFilter {
14165
14183
  this.allowSaveTags = cfg.allowSaveTags;
14166
14184
  }
14167
14185
  if (typeof cfg.showAddButton === 'boolean') {
14186
+ this.hostShowAddButton = cfg.showAddButton;
14168
14187
  this.showAddButton = cfg.showAddButton;
14169
14188
  }
14170
14189
  if (typeof cfg.showFilterSettings === 'boolean') {
14190
+ this.hostShowFilterSettings = cfg.showFilterSettings;
14171
14191
  this.showFilterSettings = cfg.showFilterSettings;
14172
14192
  }
14173
14193
  if (cfg.changeDebounceMs !== undefined &&
@@ -17532,6 +17552,8 @@ class PraxisFilter {
17532
17552
  showAdvanced: this.advancedOpen,
17533
17553
  mode: 'filter',
17534
17554
  allowSaveTags: this.allowSaveTags,
17555
+ showAddButton: this.showAddButton,
17556
+ showFilterSettings: this.showFilterSettings,
17535
17557
  changeDebounceMs: this.changeDebounceMs,
17536
17558
  placeBooleansInActions: this.placeBooleansInActions,
17537
17559
  showToggleLabels: this.showToggleLabels,
@@ -22914,6 +22936,12 @@ class PraxisTable {
22914
22936
  ...(nextAdv.settings.alwaysVisibleFieldMetadataOverrides || {}),
22915
22937
  };
22916
22938
  }
22939
+ if (typeof inputAdv.settings.showAddButton === 'boolean') {
22940
+ nextAdv.settings.showAddButton = inputAdv.settings.showAddButton;
22941
+ }
22942
+ if (typeof inputAdv.settings.showFilterSettings === 'boolean') {
22943
+ nextAdv.settings.showFilterSettings = inputAdv.settings.showFilterSettings;
22944
+ }
22917
22945
  }
22918
22946
  next.behavior.filtering.advancedFilters = nextAdv;
22919
22947
  return next;
@@ -23643,7 +23671,7 @@ class PraxisTable {
23643
23671
  if (this.aiAdapter || this.aiAdapterLoadStarted)
23644
23672
  return;
23645
23673
  this.aiAdapterLoadStarted = true;
23646
- import('./praxisui-table-table-ai.adapter-DYY3eUYu.mjs')
23674
+ import('./praxisui-table-table-ai.adapter-BVziwkWg.mjs')
23647
23675
  .then(({ TableAiAdapter }) => {
23648
23676
  if (!this.isAiAssistantEnabled()) {
23649
23677
  this.aiAssistantOpenAfterAdapterLoad = false;
@@ -24415,7 +24443,7 @@ class PraxisTable {
24415
24443
  initializeAiAssistantController() {
24416
24444
  if (!this.aiAdapter || this.aiAssistantController)
24417
24445
  return;
24418
- import('./praxisui-table-table-agentic-authoring-turn-flow-CtHAHd7Y.mjs')
24446
+ import('./praxisui-table-table-agentic-authoring-turn-flow-0rgw3zyD.mjs')
24419
24447
  .then(({ TableAgenticAuthoringTurnFlow }) => {
24420
24448
  if (this.aiAssistantController || !this.aiAdapter)
24421
24449
  return;
@@ -25591,6 +25619,7 @@ class PraxisTable {
25591
25619
  this.refreshLocalScaffolding('ngOnInit', {
25592
25620
  resetPageSizeOverride: true,
25593
25621
  });
25622
+ this.applyDataSourceSettings();
25594
25623
  if (this.isAiAssistantEnabled()) {
25595
25624
  this.ensureAiAdapterLoaded();
25596
25625
  }
@@ -25599,6 +25628,7 @@ class PraxisTable {
25599
25628
  if (this.config) {
25600
25629
  this.setupColumns();
25601
25630
  this.applyDefaultSortIfNone();
25631
+ this.applyDataSourceSettings();
25602
25632
  if (this.isRemoteMode() && !this.hasInitialized) {
25603
25633
  this.fetchData();
25604
25634
  }
@@ -25617,6 +25647,7 @@ class PraxisTable {
25617
25647
  }
25618
25648
  if (changes['config'] || changes['resourcePath']) {
25619
25649
  this.resetDetailRuntimeForConfig();
25650
+ this.localPageSizeRuntimeOverride = false;
25620
25651
  }
25621
25652
  if (changes['config']?.currentValue && this.config) {
25622
25653
  this.hostDeclaredAppearanceDensity = this.hasDeclaredAppearanceDensity(changes['config'].currentValue);
@@ -25629,6 +25660,18 @@ class PraxisTable {
25629
25660
  this.syncPaginatorIntl();
25630
25661
  this.syncHorizontalScrollFromAppearanceConfig();
25631
25662
  this.reconcileDataModeTransition('ngOnChanges');
25663
+ if (changes['config'] && this.config) {
25664
+ this.setupColumns();
25665
+ this.applyDefaultSortIfNone();
25666
+ const prevConfig = changes['config'].previousValue;
25667
+ const currConfig = changes['config'].currentValue;
25668
+ const prevPageSize = prevConfig?.behavior?.pagination?.pageSize ?? 10;
25669
+ const currPageSize = currConfig?.behavior?.pagination?.pageSize ?? 10;
25670
+ if (prevConfig && currPageSize !== prevPageSize) {
25671
+ this.pageIndex = 0;
25672
+ }
25673
+ }
25674
+ this.applyDataSourceSettings();
25632
25675
  // Ensure CRUD service is configured before any fetch
25633
25676
  let configuredThisChange = false;
25634
25677
  let analyticsFetchedThisChange = false;
@@ -25651,10 +25694,6 @@ class PraxisTable {
25651
25694
  }
25652
25695
  }
25653
25696
  if (changes['config'] && this.config) {
25654
- // On external config changes, fill missing values from global defaults
25655
- this.ensureConfigDefaults();
25656
- this.setupColumns();
25657
- this.applyDefaultSortIfNone();
25658
25697
  const prevConfig = changes['config'].previousValue;
25659
25698
  const currConfig = changes['config'].currentValue;
25660
25699
  const shouldRefetch = this.shouldRefetchOnConfigChange(prevConfig, currConfig);
@@ -25737,6 +25776,7 @@ class PraxisTable {
25737
25776
  this.ensureAiAdapterLoaded();
25738
25777
  }
25739
25778
  this.setShowToolbar(this.shouldExposeToolbar(), true);
25779
+ this.syncInternalFilterSettings(this.config?.behavior?.filtering?.advancedFilters?.settings);
25740
25780
  this.cdr.markForCheck();
25741
25781
  }
25742
25782
  if (changes['notifyIfOutdated'] || changes['snoozeMs'] || changes['autoOpenSettingsOnOutdated']) {
@@ -25770,8 +25810,10 @@ class PraxisTable {
25770
25810
  // ngAfterContentInit owns the initial remote data load
25771
25811
  return false;
25772
25812
  }
25813
+ const prevPageSize = previousConfig?.behavior?.pagination?.pageSize ?? 10;
25814
+ const currPageSize = currentConfig?.behavior?.pagination?.pageSize ?? 10;
25773
25815
  if (!previousConfig) {
25774
- return this.remoteDataLoadSequence === 0;
25816
+ return this.remoteDataLoadSequence === 0 || currPageSize !== 10;
25775
25817
  }
25776
25818
  if (this.remoteDataLoadSequence === 0) {
25777
25819
  return true;
@@ -25781,9 +25823,7 @@ class PraxisTable {
25781
25823
  if (currResourcePath !== prevResourcePath && currResourcePath.length > 0) {
25782
25824
  return true;
25783
25825
  }
25784
- const prevPageSize = previousConfig.behavior?.pagination?.pageSize;
25785
- const currPageSize = currentConfig?.behavior?.pagination?.pageSize;
25786
- if (currPageSize !== undefined && prevPageSize !== undefined && currPageSize !== prevPageSize) {
25826
+ if (currPageSize !== prevPageSize) {
25787
25827
  return true;
25788
25828
  }
25789
25829
  if (!this.sortState?.active) {
@@ -30431,7 +30471,8 @@ class PraxisTable {
30431
30471
  const ref = this.resolveActionGlobalActionRef(actionConfig);
30432
30472
  if (!ref)
30433
30473
  return false;
30434
- const result = await this.globalActions.executeRef(this.resolveConfiguredGlobalActionRef(ref, context) || ref, this.withTableRuntimeContext(context));
30474
+ const resolvedRef = this.resolveConfiguredGlobalActionRef(ref, context) || ref;
30475
+ const result = await this.globalActions.executeRef(resolvedRef, this.withTableRuntimeContext(context));
30435
30476
  if (!result.success) {
30436
30477
  this.warnLog('[PraxisTable] global action execution failed', { actionId: ref.actionId, error: result.error }, { actionId: ref.actionId });
30437
30478
  this.showActionFeedbackMessage('errors', ref.actionId, {
@@ -30440,9 +30481,39 @@ class PraxisTable {
30440
30481
  fallback: result.error || 'Erro ao executar acao global',
30441
30482
  duration: 3000,
30442
30483
  });
30484
+ return true;
30485
+ }
30486
+ if (result.data &&
30487
+ this.isWritableConfiguredSurfaceOpen(actionConfig, resolvedRef)) {
30488
+ this.bindDiscoveredSurfaceOutcome(this.toRecordSurfaceActionConfig(actionConfig), result.data);
30443
30489
  }
30444
30490
  return true;
30445
30491
  }
30492
+ isWritableConfiguredSurfaceOpen(actionConfig, resolvedRef) {
30493
+ const actionId = String(resolvedRef?.actionId || '').trim();
30494
+ if (actionId !== 'surface.open' &&
30495
+ actionId !== 'dynamicPage.surface.open') {
30496
+ return false;
30497
+ }
30498
+ const surface = this.toRecordSurfaceActionConfig(actionConfig);
30499
+ if (surface) {
30500
+ return this.isWritableRowSurface(surface);
30501
+ }
30502
+ const payload = resolvedRef.payload && typeof resolvedRef.payload === 'object'
30503
+ ? resolvedRef.payload
30504
+ : null;
30505
+ const contextSurfaceKind = String(payload?.['context']?.['surface']?.['kind'] || '')
30506
+ .trim()
30507
+ .toUpperCase();
30508
+ if (contextSurfaceKind === 'VIEW' ||
30509
+ contextSurfaceKind === 'READ_PROJECTION') {
30510
+ return false;
30511
+ }
30512
+ const widgetMode = String(payload?.['widget']?.['inputs']?.['mode'] || payload?.['mode'] || '')
30513
+ .trim()
30514
+ .toLowerCase();
30515
+ return widgetMode !== 'view';
30516
+ }
30446
30517
  withTableRuntimeContext(context) {
30447
30518
  const existingState = context.runtime?.state && typeof context.runtime.state === 'object'
30448
30519
  ? context.runtime.state
@@ -31256,7 +31327,8 @@ class PraxisTable {
31256
31327
  return true;
31257
31328
  }
31258
31329
  bindDiscoveredSurfaceOutcome(surface, surfaceRef) {
31259
- if (this.surfaceOutcomeOwnerDestroyed || !this.isWritableRowSurface(surface)) {
31330
+ if (this.surfaceOutcomeOwnerDestroyed ||
31331
+ (surface && !this.isWritableRowSurface(surface))) {
31260
31332
  return;
31261
31333
  }
31262
31334
  const ref = surfaceRef;
@@ -32468,7 +32540,13 @@ class PraxisTable {
32468
32540
  }
32469
32541
  applyTableConfig(cfg, options) {
32470
32542
  this.debugLog('[PraxisTable] Applying table config', cfg);
32543
+ const prevPageSize = this.config?.behavior?.pagination?.pageSize ?? 10;
32544
+ const currPageSize = cfg?.behavior?.pagination?.pageSize ?? 10;
32471
32545
  this.config = { ...cfg };
32546
+ this.localPageSizeRuntimeOverride = false;
32547
+ if (currPageSize !== prevPageSize) {
32548
+ this.pageIndex = 0;
32549
+ }
32472
32550
  this.resetDetailRuntimeForConfig();
32473
32551
  if (this.usesSchemaColumnProjection(this.config)
32474
32552
  && this.schemaColumnFieldsSnapshot.length > 0
@@ -32499,6 +32577,7 @@ class PraxisTable {
32499
32577
  this.refreshLocalScaffolding('apply-table-config', {
32500
32578
  resetPageSizeOverride: true,
32501
32579
  });
32580
+ this.applyDataSourceSettings();
32502
32581
  }
32503
32582
  this.cdr.detectChanges();
32504
32583
  }
@@ -32650,25 +32729,34 @@ class PraxisTable {
32650
32729
  const filter = this.internalFilter;
32651
32730
  if (!filter || typeof filter.applyExternalSettings !== 'function')
32652
32731
  return;
32653
- if (!settings || typeof settings !== 'object')
32654
- return;
32732
+ const safeSettings = settings && typeof settings === 'object' ? settings : {};
32655
32733
  try {
32656
- const payload = { ...settings };
32657
- if (Array.isArray(settings.alwaysVisibleFields)) {
32658
- payload.alwaysVisibleFields = [...settings.alwaysVisibleFields];
32734
+ const payload = {
32735
+ ...safeSettings,
32736
+ showAddButton: typeof safeSettings.showAddButton === 'boolean'
32737
+ ? safeSettings.showAddButton
32738
+ : this.shouldShowAdvancedFilterAddButton(),
32739
+ showFilterSettings: !this.isCustomizationAvailable()
32740
+ ? false
32741
+ : typeof safeSettings.showFilterSettings === 'boolean'
32742
+ ? safeSettings.showFilterSettings
32743
+ : this.shouldShowAdvancedFilterSettings(),
32744
+ };
32745
+ if (Array.isArray(safeSettings.alwaysVisibleFields)) {
32746
+ payload.alwaysVisibleFields = [...safeSettings.alwaysVisibleFields];
32659
32747
  }
32660
32748
  else {
32661
32749
  delete payload.alwaysVisibleFields;
32662
32750
  }
32663
- if (Array.isArray(settings.selectedFieldIds)) {
32664
- payload.selectedFieldIds = [...settings.selectedFieldIds];
32751
+ if (Array.isArray(safeSettings.selectedFieldIds)) {
32752
+ payload.selectedFieldIds = [...safeSettings.selectedFieldIds];
32665
32753
  }
32666
32754
  else {
32667
32755
  delete payload.selectedFieldIds;
32668
32756
  }
32669
- if (settings.alwaysVisibleFieldMetadataOverrides &&
32670
- typeof settings.alwaysVisibleFieldMetadataOverrides === 'object') {
32671
- payload.alwaysVisibleFieldMetadataOverrides = JSON.parse(JSON.stringify(settings.alwaysVisibleFieldMetadataOverrides));
32757
+ if (safeSettings.alwaysVisibleFieldMetadataOverrides &&
32758
+ typeof safeSettings.alwaysVisibleFieldMetadataOverrides === 'object') {
32759
+ payload.alwaysVisibleFieldMetadataOverrides = JSON.parse(JSON.stringify(safeSettings.alwaysVisibleFieldMetadataOverrides));
32672
32760
  }
32673
32761
  else {
32674
32762
  delete payload.alwaysVisibleFieldMetadataOverrides;
@@ -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-CosVmN5P.mjs';
3
+ import { ar as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-Cfb6a6On.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-CosVmN5P.mjs';
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-Cfb6a6On.mjs';
5
5
 
6
6
  const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
7
7
  mode: 'expression',
@@ -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-CosVmN5P.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 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-Cfb6a6On.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.27",
3
+ "version": "10.0.0-rc.28",
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.27",
10
- "@praxisui/core": "^10.0.0-rc.27",
11
- "@praxisui/dynamic-fields": "^10.0.0-rc.27",
12
- "@praxisui/dynamic-form": "^10.0.0-rc.27",
13
- "@praxisui/metadata-editor": "^10.0.0-rc.27",
14
- "@praxisui/rich-content": "^10.0.0-rc.27",
15
- "@praxisui/settings-panel": "^10.0.0-rc.27",
16
- "@praxisui/table-rule-builder": "^10.0.0-rc.27",
9
+ "@praxisui/ai": "^10.0.0-rc.28",
10
+ "@praxisui/core": "^10.0.0-rc.28",
11
+ "@praxisui/dynamic-fields": "^10.0.0-rc.28",
12
+ "@praxisui/dynamic-form": "^10.0.0-rc.28",
13
+ "@praxisui/metadata-editor": "^10.0.0-rc.28",
14
+ "@praxisui/rich-content": "^10.0.0-rc.28",
15
+ "@praxisui/settings-panel": "^10.0.0-rc.28",
16
+ "@praxisui/table-rule-builder": "^10.0.0-rc.28",
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.27",
21
+ "@praxisui/dialog": "^10.0.0-rc.28",
22
22
  "rxjs": "~7.8.0"
23
23
  },
24
24
  "dependencies": {
@@ -1304,6 +1304,8 @@ Em `scroll-auto`, o viewport e uma regiao focalizavel por teclado para que o scr
1304
1304
  | --- | --- | --- | --- | --- | --- |
1305
1305
  | `columns[]` | `TableColumnConfig[]` | Yes | `[]` | Active | Definicao de colunas, renderers e regras de exibicao. |
1306
1306
  | `behavior` | `TableBehaviorConfig` | No | defaults do runtime | Partial | Inclui paginacao, filtro, selecao e expansao por blocos. |
1307
+ | `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
+ | `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. |
1307
1309
  | `toolbar.actions[]` | `ToolbarActionConfig[]` | No | `[]` | Partial | Acoes de toolbar com roteamento para `toolbarAction` e `bulkAction`. |
1308
1310
  | `toolbar.title` | `string` | No | `undefined` | Active | Titulo renderizado na regiao de identidade da toolbar principal, antes de filtros e acoes. |
1309
1311
  | `toolbar.subtitle` | `string` | No | `undefined` | Active | Texto auxiliar renderizado abaixo do titulo quando houver espaco. |
@@ -703,6 +703,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
703
703
  changeDebounceMs: number;
704
704
  /** Controla a exibição do botão de preferências dentro do filtro */
705
705
  showFilterSettings: boolean;
706
+ private hostShowFilterSettings?;
706
707
  /** Controla a exibição do botão de filtro avançado */
707
708
  showAdvancedButton: boolean;
708
709
  /** Projection of FilterConfig.presentation for standalone and embedded hosts. */
@@ -714,6 +715,7 @@ declare class PraxisFilter implements OnInit, OnChanges, AfterViewInit, OnDestro
714
715
  get advancedActionDisplay(): string;
715
716
  /** Controla a exibição do botão de adicionar campos */
716
717
  showAddButton: boolean;
718
+ private hostShowAddButton?;
717
719
  /** Controla a exibição do botão de limpar filtros */
718
720
  showClearButton: boolean;
719
721
  /** Controla a exibição do botão de pesquisar/aplicar filtros em fluxos manuais. */
@@ -2277,6 +2279,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterView
2277
2279
  private showActionFeedbackMessage;
2278
2280
  private emitEventWithActionFeedback;
2279
2281
  private executeConfiguredGlobalAction;
2282
+ private isWritableConfiguredSurfaceOpen;
2280
2283
  private withTableRuntimeContext;
2281
2284
  private resolveTableSurfaceRuntime;
2282
2285
  private executeSurfaceOpen;