@praxisui/table 9.0.5-rc.10 → 9.0.5-rc.12

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-08-12T23:49:15.227Z",
3
+ "generatedAt": "2026-08-13T13:48:00.302Z",
4
4
  "packageName": "@praxisui/table",
5
- "packageVersion": "9.0.5-rc.10",
5
+ "packageVersion": "9.0.5-rc.12",
6
6
  "sourceRegistry": "praxis-component-registry-ingestion",
7
7
  "sourceRegistryVersion": "1.0.0",
8
8
  "componentCount": 3,
@@ -36,7 +36,7 @@ import * as i13 from '@angular/cdk/drag-drop';
36
36
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
37
37
  import { take, Subject, debounceTime, takeUntil, firstValueFrom, of, BehaviorSubject, Subscription, timeout } from 'rxjs';
38
38
  import * as i1 from '@praxisui/core';
39
- import { LoggerService, createCorporateLoggerConfig, ConsoleLoggerSink, PraxisJsonLogicService, PraxisIconDirective, PraxisIconButtonComponent, PraxisI18nService, getPraxisTableCellVisualizationGuidance, getPraxisTableCellVisualizationConstraint, isTableConfigV2, normalizePraxisPresentationVisualization, renderPraxisPresentationVisualizationHtml, providePraxisI18nConfig, PRAXIS_GLOBAL_ACTION_CATALOG, SURFACE_OPEN_I18N_NAMESPACE, isRequiredGlobalActionPayloadMissing, getGlobalActionUiSchema, getRequiredGlobalActionPayloadKeys, hasMeaningfulGlobalActionPayloadValue, SurfaceOpenActionEditorComponent, SURFACE_OPEN_I18N_CONFIG, ASYNC_CONFIG_STORAGE, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_VALUES, FieldControlType, normalizeControlTypeToken, resolveControlTypeAlias, mapFieldDefinitionsToMetadata, PraxisJsonLogicError, GLOBAL_ACTION_CATALOG, GenericCrudService, validateGlobalActionRefs, getGlobalActionCatalog, TableConfigService, createDefaultTableConfig, fillUndefined, deepMerge, INLINE_FILTER_ALIAS_TOKENS, GlobalConfigService, buildSchemaId, MemoryCacheAdapter, LocalStorageCacheAdapter, SchemaMetadataClient, resolveInlineFilterControlType, fetchWithETag, serializeEntityLookupValueForPayload, ComponentMetadataRegistry, AnalyticsStatsRequestBuilderService, buildApiUrl, normalizePraxisDataQueryContext, API_URL, PraxisRuntimeComponentObservationRegistryService, PRAXIS_TABLE_DETAIL_INLINE_RENDERERS, PRAXIS_TABLE_DETAIL_INLINE_NODE_RESOLVERS, PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER, PraxisCollectionExportService, SchemaNormalizerService, translateResourceAvailabilityReason, ResourceDiscoveryService, ResourceSurfaceOpenAdapterService, ResourceActionOpenAdapterService, CrudOperationResolutionService, ResourceQuickConnectComponent, assertPraxisCollectionExportArtifact, PRAXIS_LOADING_CTX, resolveColumnTypeFromFieldDefinition, isPraxisPresentationVisualizationTableSafe, resolveTextMaskFormatFromFieldDefinition, translateResourceDiscoveryText, supportsImplicitValuePresentation, resolveValuePresentation, resolveResourceIdentityContract, materializeResourceIdentity, translateUnavailableWorkflowMessage, CONNECTION_STORAGE, PRAXIS_LOADING_RENDERER, EmptyStateCardComponent, RESOURCE_DISCOVERY_I18N_CONFIG } from '@praxisui/core';
39
+ import { LoggerService, createCorporateLoggerConfig, ConsoleLoggerSink, PraxisJsonLogicService, PraxisIconDirective, PraxisIconButtonComponent, PraxisI18nService, getPraxisTableCellVisualizationGuidance, getPraxisTableCellVisualizationConstraint, isTableConfigV2, normalizePraxisPresentationVisualization, renderPraxisPresentationVisualizationHtml, providePraxisI18nConfig, PRAXIS_GLOBAL_ACTION_CATALOG, SURFACE_OPEN_I18N_NAMESPACE, isRequiredGlobalActionPayloadMissing, getGlobalActionUiSchema, getRequiredGlobalActionPayloadKeys, hasMeaningfulGlobalActionPayloadValue, SurfaceOpenActionEditorComponent, SURFACE_OPEN_I18N_CONFIG, ASYNC_CONFIG_STORAGE, INLINE_FILTER_CONTROL_TYPES, INLINE_FILTER_CONTROL_TYPE_VALUES, FieldControlType, normalizeControlTypeToken, resolveControlTypeAlias, mapFieldDefinitionsToMetadata, PraxisJsonLogicError, GLOBAL_ACTION_CATALOG, GenericCrudService, validateGlobalActionRefs, getGlobalActionCatalog, TableConfigService, createDefaultTableConfig, fillUndefined, deepMerge, INLINE_FILTER_ALIAS_TOKENS, GlobalConfigService, buildSchemaId, MemoryCacheAdapter, LocalStorageCacheAdapter, SchemaMetadataClient, resolveInlineFilterControlType, fetchWithETag, serializeEntityLookupValueForPayload, ComponentMetadataRegistry, AnalyticsStatsRequestBuilderService, buildApiUrl, normalizePraxisDataQueryContext, API_URL, normalizeUnknownError, PraxisRuntimeComponentObservationRegistryService, PRAXIS_TABLE_DETAIL_INLINE_RENDERERS, PRAXIS_TABLE_DETAIL_INLINE_NODE_RESOLVERS, PRAXIS_TABLE_DETAIL_RESOURCE_RESOLVER, PraxisCollectionExportService, SchemaNormalizerService, translateResourceAvailabilityReason, ResourceDiscoveryService, ResourceSurfaceOpenAdapterService, ResourceActionOpenAdapterService, CrudOperationResolutionService, ResourceQuickConnectComponent, assertPraxisCollectionExportArtifact, PRAXIS_LOADING_CTX, resolveColumnTypeFromFieldDefinition, isPraxisPresentationVisualizationTableSafe, resolveTextMaskFormatFromFieldDefinition, translateResourceDiscoveryText, supportsImplicitValuePresentation, resolveValuePresentation, resolveResourceIdentityContract, materializeResourceIdentity, translateUnavailableWorkflowMessage, CONNECTION_STORAGE, PRAXIS_LOADING_RENDERER, EmptyStateCardComponent, RESOURCE_DISCOVERY_I18N_CONFIG } from '@praxisui/core';
40
40
  import { PraxisRichContent } from '@praxisui/rich-content';
41
41
  import * as i2 from '@angular/material/toolbar';
42
42
  import { MatToolbarModule } from '@angular/material/toolbar';
@@ -1817,31 +1817,36 @@ class PraxisTableToolbar {
1817
1817
  }
1818
1818
 
1819
1819
  @if (showMain) {
1820
+ @if (shouldShowQuickFilters()) {
1821
+ <div
1822
+ class="praxis-table-quick-filters"
1823
+ role="group"
1824
+ data-toolbar-region="scope"
1825
+ [attr.aria-label]="getQuickFiltersLabel()"
1826
+ >
1827
+ @for (quickFilter of getQuickFilters(); track quickFilter.id) {
1828
+ <button
1829
+ type="button"
1830
+ mat-stroked-button
1831
+ class="praxis-table-quick-filter"
1832
+ [class.praxis-table-quick-filter--active]="isQuickFilterActive(quickFilter.id)"
1833
+ [attr.aria-pressed]="isQuickFilterActive(quickFilter.id)"
1834
+ (click)="emitQuickFilterChange($event, quickFilter)"
1835
+ >
1836
+ @if (quickFilter.icon) {
1837
+ <mat-icon [praxisIcon]="quickFilter.icon"></mat-icon>
1838
+ }
1839
+ {{ getQuickFilterLabel(quickFilter) }}
1840
+ </button>
1841
+ }
1842
+ </div>
1843
+ }
1820
1844
  <div
1821
1845
  class="toolbar-query"
1822
1846
  role="group"
1823
1847
  data-toolbar-region="query"
1824
1848
  [attr.aria-label]="getToolbarLeadingLabel()"
1825
1849
  >
1826
- @if (shouldShowQuickFilters()) {
1827
- <div class="praxis-table-quick-filters" role="group" [attr.aria-label]="getQuickFiltersLabel()">
1828
- @for (quickFilter of getQuickFilters(); track quickFilter.id) {
1829
- <button
1830
- type="button"
1831
- mat-stroked-button
1832
- class="praxis-table-quick-filter"
1833
- [class.praxis-table-quick-filter--active]="isQuickFilterActive(quickFilter.id)"
1834
- [attr.aria-pressed]="isQuickFilterActive(quickFilter.id)"
1835
- (click)="emitQuickFilterChange($event, quickFilter)"
1836
- >
1837
- @if (quickFilter.icon) {
1838
- <mat-icon [praxisIcon]="quickFilter.icon"></mat-icon>
1839
- }
1840
- {{ getQuickFilterLabel(quickFilter) }}
1841
- </button>
1842
- }
1843
- </div>
1844
- }
1845
1850
  <ng-content select="[advancedFilter]"></ng-content>
1846
1851
  <ng-content select="[toolbar]"></ng-content>
1847
1852
  </div>
@@ -2414,7 +2419,7 @@ class PraxisTableToolbar {
2414
2419
  }
2415
2420
  </div>
2416
2421
  </mat-toolbar>
2417
- `, isInline: true, styles: [":host{display:block;container-name:praxis-table-toolbar;container-type:inline-size}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var( --p-table-toolbar-layout-padding, var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px)) );min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:grid;grid-template-areas:\"actions actions\";grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:max(var(--p-table-toolbar-gap, 8px),12px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--layout-separator{border-block-end-width:1px;border-block-end-style:solid;border-block-end-color:var( --p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default) )}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 36px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 44px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"query actions\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity actions\" \"query query\"}.toolbar-query{grid-area:query;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:start;min-width:0;column-gap:var(--p-table-toolbar-gap, 8px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px)}.toolbar-query>*{min-width:0}.toolbar-query>.praxis-table-quick-filters{grid-column:1}.toolbar-query>:is(praxis-filter,[advancedFilter]){grid-column:2}.toolbar-query>[toolbar]{grid-column:3}.toolbar-query:not(:has(.praxis-table-quick-filters))>:is(praxis-filter,[advancedFilter]){grid-column:1 / 3}.toolbar-identity{grid-area:identity;display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 0);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-actions{grid-area:actions;display:flex;align-items:center;align-self:start;justify-self:end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));min-width:0}.praxis-toolbar.p-table-toolbar--align-start .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-start .toolbar-actions{justify-self:start}.praxis-toolbar.p-table-toolbar--align-center .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-center .toolbar-actions{justify-self:center}.praxis-toolbar.p-table-toolbar--align-end .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-end .toolbar-actions{justify-self:end}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.business-actions,.utility-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);min-width:0}.business-actions:empty,.utility-actions:empty{display:none}.action-btn:not(.praxis-icon-button){height:var(--p-table-toolbar-action-size, 40px);min-width:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:.875rem;font-weight:500;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:not(.praxis-icon-button):hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:not(.praxis-icon-button):focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn:not(.praxis-icon-button){width:var(--p-table-toolbar-action-size, 40px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 40px);height:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 40px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-export-status{max-width:13rem;overflow:hidden;color:var(--p-table-toolbar-status-fg, currentColor);font-size:.75rem;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.praxis-table-export-progress-icon{animation:praxis-table-export-spin .9s linear infinite}@keyframes praxis-table-export-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.praxis-table-export-progress-icon{animation:none}}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-export-menu-item.mat-mdc-menu-item{min-width:280px;white-space:nowrap}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.praxis-table-quick-filters{align-items:center;display:flex;flex-wrap:nowrap;gap:6px;min-height:var(--p-table-toolbar-min-height, 44px)}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:40px;padding-inline:14px;white-space:nowrap}.praxis-table-quick-filter--active.mat-mdc-outlined-button{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base{padding-inline:12px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-inline-start:0;padding-inline-start:0;border-inline-start:0}.praxis-toolbar-icon-action--primary{color:var(--md-sys-color-primary)}.praxis-toolbar-icon-action--accent{color:var(--md-sys-color-tertiary)}.praxis-toolbar-icon-action--warn{color:var(--md-sys-color-error)}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group--has-business .utility-actions:not(:empty){margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.praxis-toolbar.p-table-toolbar--divider-start:not(.praxis-toolbar--has-identity) .toolbar-query{padding-inline-end:12px;border-inline-end:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@container praxis-table-toolbar (max-width: 960px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}}@container praxis-table-toolbar (max-width: 720px){.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"actions actions\" \"query query\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity actions\" \"query query\"}.toolbar-query{grid-template-columns:minmax(0,1fr)}.toolbar-query>.praxis-table-quick-filters,.toolbar-query>:is(praxis-filter,[advancedFilter]),.toolbar-query:not(:has(.praxis-table-quick-filters))>:is(praxis-filter,[advancedFilter]),.toolbar-query>[toolbar]{grid-column:1}.praxis-table-quick-filters{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}}@container praxis-table-toolbar (max-width: 540px){.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity identity\" \"actions actions\" \"query query\"}.toolbar-actions{justify-self:stretch;justify-content:flex-end}.toolbar-actions,.toolbar-query{--p-table-toolbar-action-size: 44px}.toolbar-identity__subtitle{display:none}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:44px}}\n"], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
2422
+ `, isInline: true, styles: [":host{display:block;container-name:praxis-table-toolbar;container-type:inline-size}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var( --p-table-toolbar-layout-padding, var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px)) );min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:grid;grid-template-areas:\"actions actions actions\";grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:max(var(--p-table-toolbar-gap, 8px),12px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--layout-separator{border-block-end-width:1px;border-block-end-style:solid;border-block-end-color:var( --p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default) )}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 36px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 44px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"scope scope scope\" \"query query actions\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity scope scope\" \"query query actions\"}.toolbar-query{grid-area:query;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;min-width:0;column-gap:var(--p-table-toolbar-gap, 8px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px)}.toolbar-query>*{min-width:0}.toolbar-query>:is(praxis-filter,[advancedFilter]){grid-column:1}.toolbar-query>[toolbar]{grid-column:2}.toolbar-identity{grid-area:identity;display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 0);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-actions{grid-area:actions;display:flex;align-items:center;align-self:start;justify-self:end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));min-width:0}.praxis-toolbar.p-table-toolbar--align-start .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-start .toolbar-actions{justify-self:start}.praxis-toolbar.p-table-toolbar--align-center .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-center .toolbar-actions{justify-self:center}.praxis-toolbar.p-table-toolbar--align-end .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-end .toolbar-actions{justify-self:end}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.business-actions,.utility-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);min-width:0}.business-actions:empty,.utility-actions:empty{display:none}.action-btn:not(.praxis-icon-button){height:var(--p-table-toolbar-action-size, 40px);min-width:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:.875rem;font-weight:500;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:not(.praxis-icon-button):hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:not(.praxis-icon-button):focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn:not(.praxis-icon-button){width:var(--p-table-toolbar-action-size, 40px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 40px);height:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 40px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-export-status{max-width:13rem;overflow:hidden;color:var(--p-table-toolbar-status-fg, currentColor);font-size:.75rem;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.praxis-table-export-progress-icon{animation:praxis-table-export-spin .9s linear infinite}@keyframes praxis-table-export-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.praxis-table-export-progress-icon{animation:none}}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-export-menu-item.mat-mdc-menu-item{min-width:280px;white-space:nowrap}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.praxis-table-quick-filters{grid-area:scope;align-items:center;display:flex;flex-wrap:nowrap;gap:6px;min-height:var(--p-table-toolbar-min-height, 44px)}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:40px;padding-inline:14px;white-space:nowrap}.praxis-table-quick-filter--active.mat-mdc-outlined-button{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base{padding-inline:12px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-inline-start:0;padding-inline-start:0;border-inline-start:0}.praxis-toolbar-icon-action--primary{color:var(--md-sys-color-primary)}.praxis-toolbar-icon-action--accent{color:var(--md-sys-color-tertiary)}.praxis-toolbar-icon-action--warn{color:var(--md-sys-color-error)}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group--has-business .utility-actions:not(:empty){margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.praxis-toolbar.p-table-toolbar--divider-start:not(.praxis-toolbar--has-identity) .toolbar-query{padding-inline-end:12px;border-inline-end:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@container praxis-table-toolbar (max-width: 960px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}}@container praxis-table-toolbar (max-width: 720px){.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"scope scope scope\" \"query query query\" \"actions actions actions\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity identity identity\" \"scope scope scope\" \"query query query\" \"actions actions actions\"}.toolbar-query{grid-template-columns:minmax(0,1fr)}.toolbar-query>:is(praxis-filter,[advancedFilter]),.toolbar-query>[toolbar]{grid-column:1}.praxis-table-quick-filters{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}}@container praxis-table-toolbar (max-width: 540px){.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity identity identity\" \"scope scope scope\" \"query query query\" \"actions actions actions\"}.toolbar-actions{justify-self:stretch;justify-content:flex-end}.toolbar-actions,.toolbar-query{--p-table-toolbar-action-size: 44px}.toolbar-identity__subtitle{display:none}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:44px}}\n"], dependencies: [{ kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFabButton, selector: "button[mat-fab], a[mat-fab], button[matFab], a[matFab]", inputs: ["extended"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: PraxisIconDirective, selector: "mat-icon[praxisIcon]", inputs: ["praxisIcon"] }, { kind: "component", type: PraxisIconButtonComponent, selector: "button[praxisIconButton]", inputs: ["praxisIconButton", "size", "appearance", "presentation", "pressed", "busy"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i10.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] });
2418
2423
  }
2419
2424
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PraxisTableToolbar, decorators: [{
2420
2425
  type: Component,
@@ -2513,31 +2518,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
2513
2518
  }
2514
2519
 
2515
2520
  @if (showMain) {
2521
+ @if (shouldShowQuickFilters()) {
2522
+ <div
2523
+ class="praxis-table-quick-filters"
2524
+ role="group"
2525
+ data-toolbar-region="scope"
2526
+ [attr.aria-label]="getQuickFiltersLabel()"
2527
+ >
2528
+ @for (quickFilter of getQuickFilters(); track quickFilter.id) {
2529
+ <button
2530
+ type="button"
2531
+ mat-stroked-button
2532
+ class="praxis-table-quick-filter"
2533
+ [class.praxis-table-quick-filter--active]="isQuickFilterActive(quickFilter.id)"
2534
+ [attr.aria-pressed]="isQuickFilterActive(quickFilter.id)"
2535
+ (click)="emitQuickFilterChange($event, quickFilter)"
2536
+ >
2537
+ @if (quickFilter.icon) {
2538
+ <mat-icon [praxisIcon]="quickFilter.icon"></mat-icon>
2539
+ }
2540
+ {{ getQuickFilterLabel(quickFilter) }}
2541
+ </button>
2542
+ }
2543
+ </div>
2544
+ }
2516
2545
  <div
2517
2546
  class="toolbar-query"
2518
2547
  role="group"
2519
2548
  data-toolbar-region="query"
2520
2549
  [attr.aria-label]="getToolbarLeadingLabel()"
2521
2550
  >
2522
- @if (shouldShowQuickFilters()) {
2523
- <div class="praxis-table-quick-filters" role="group" [attr.aria-label]="getQuickFiltersLabel()">
2524
- @for (quickFilter of getQuickFilters(); track quickFilter.id) {
2525
- <button
2526
- type="button"
2527
- mat-stroked-button
2528
- class="praxis-table-quick-filter"
2529
- [class.praxis-table-quick-filter--active]="isQuickFilterActive(quickFilter.id)"
2530
- [attr.aria-pressed]="isQuickFilterActive(quickFilter.id)"
2531
- (click)="emitQuickFilterChange($event, quickFilter)"
2532
- >
2533
- @if (quickFilter.icon) {
2534
- <mat-icon [praxisIcon]="quickFilter.icon"></mat-icon>
2535
- }
2536
- {{ getQuickFilterLabel(quickFilter) }}
2537
- </button>
2538
- }
2539
- </div>
2540
- }
2541
2551
  <ng-content select="[advancedFilter]"></ng-content>
2542
2552
  <ng-content select="[toolbar]"></ng-content>
2543
2553
  </div>
@@ -3113,7 +3123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
3113
3123
  `, host: {
3114
3124
  '[class.praxis-toolbar-footer]': "placement === 'footer'",
3115
3125
  '(document:keydown)': 'onDocumentKeydown($event)',
3116
- }, styles: [":host{display:block;container-name:praxis-table-toolbar;container-type:inline-size}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var( --p-table-toolbar-layout-padding, var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px)) );min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:grid;grid-template-areas:\"actions actions\";grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:max(var(--p-table-toolbar-gap, 8px),12px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--layout-separator{border-block-end-width:1px;border-block-end-style:solid;border-block-end-color:var( --p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default) )}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 36px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 44px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"query actions\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity actions\" \"query query\"}.toolbar-query{grid-area:query;display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:start;min-width:0;column-gap:var(--p-table-toolbar-gap, 8px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px)}.toolbar-query>*{min-width:0}.toolbar-query>.praxis-table-quick-filters{grid-column:1}.toolbar-query>:is(praxis-filter,[advancedFilter]){grid-column:2}.toolbar-query>[toolbar]{grid-column:3}.toolbar-query:not(:has(.praxis-table-quick-filters))>:is(praxis-filter,[advancedFilter]){grid-column:1 / 3}.toolbar-identity{grid-area:identity;display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 0);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-actions{grid-area:actions;display:flex;align-items:center;align-self:start;justify-self:end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));min-width:0}.praxis-toolbar.p-table-toolbar--align-start .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-start .toolbar-actions{justify-self:start}.praxis-toolbar.p-table-toolbar--align-center .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-center .toolbar-actions{justify-self:center}.praxis-toolbar.p-table-toolbar--align-end .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-end .toolbar-actions{justify-self:end}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.business-actions,.utility-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);min-width:0}.business-actions:empty,.utility-actions:empty{display:none}.action-btn:not(.praxis-icon-button){height:var(--p-table-toolbar-action-size, 40px);min-width:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:.875rem;font-weight:500;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:not(.praxis-icon-button):hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:not(.praxis-icon-button):focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn:not(.praxis-icon-button){width:var(--p-table-toolbar-action-size, 40px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 40px);height:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 40px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-export-status{max-width:13rem;overflow:hidden;color:var(--p-table-toolbar-status-fg, currentColor);font-size:.75rem;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.praxis-table-export-progress-icon{animation:praxis-table-export-spin .9s linear infinite}@keyframes praxis-table-export-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.praxis-table-export-progress-icon{animation:none}}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-export-menu-item.mat-mdc-menu-item{min-width:280px;white-space:nowrap}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.praxis-table-quick-filters{align-items:center;display:flex;flex-wrap:nowrap;gap:6px;min-height:var(--p-table-toolbar-min-height, 44px)}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:40px;padding-inline:14px;white-space:nowrap}.praxis-table-quick-filter--active.mat-mdc-outlined-button{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base{padding-inline:12px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-inline-start:0;padding-inline-start:0;border-inline-start:0}.praxis-toolbar-icon-action--primary{color:var(--md-sys-color-primary)}.praxis-toolbar-icon-action--accent{color:var(--md-sys-color-tertiary)}.praxis-toolbar-icon-action--warn{color:var(--md-sys-color-error)}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group--has-business .utility-actions:not(:empty){margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.praxis-toolbar.p-table-toolbar--divider-start:not(.praxis-toolbar--has-identity) .toolbar-query{padding-inline-end:12px;border-inline-end:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@container praxis-table-toolbar (max-width: 960px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}}@container praxis-table-toolbar (max-width: 720px){.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"actions actions\" \"query query\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity actions\" \"query query\"}.toolbar-query{grid-template-columns:minmax(0,1fr)}.toolbar-query>.praxis-table-quick-filters,.toolbar-query>:is(praxis-filter,[advancedFilter]),.toolbar-query:not(:has(.praxis-table-quick-filters))>:is(praxis-filter,[advancedFilter]),.toolbar-query>[toolbar]{grid-column:1}.praxis-table-quick-filters{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}}@container praxis-table-toolbar (max-width: 540px){.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity identity\" \"actions actions\" \"query query\"}.toolbar-actions{justify-self:stretch;justify-content:flex-end}.toolbar-actions,.toolbar-query{--p-table-toolbar-action-size: 44px}.toolbar-identity__subtitle{display:none}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:44px}}\n"] }]
3126
+ }, styles: [":host{display:block;container-name:praxis-table-toolbar;container-type:inline-size}.praxis-toolbar{--p-table-toolbar-bg-default: linear-gradient( 180deg, color-mix(in srgb, var(--md-sys-color-surface, #fff) 96%, transparent), color-mix(in srgb, var(--md-sys-color-surface-container-low, #f6f8fc) 100%, transparent) );--p-table-toolbar-fg-default: var(--md-sys-color-on-surface, currentColor);--p-table-toolbar-border-color-default: color-mix(in srgb, var(--md-sys-color-outline-variant, #d7dbe5) 78%, transparent);--p-table-toolbar-divider-color-default: color-mix(in srgb, var(--md-sys-color-outline) 42%, transparent);--p-table-toolbar-action-hover-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 10%, transparent);--p-table-toolbar-action-active-bg-default: color-mix(in srgb, var(--md-sys-color-primary) 16%, transparent);--p-table-toolbar-action-focus-ring-default: color-mix(in srgb, var(--md-sys-color-primary) 52%, transparent);--p-table-toolbar-ai-accent-color-default: var(--md-sys-color-primary, #0b72d9);--p-table-toolbar-status-fg-default: var(--md-sys-color-on-surface-variant, currentColor);background:var(--p-table-toolbar-bg, var(--p-table-toolbar-bg-default));color:var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default));box-shadow:var(--p-table-toolbar-shadow, none);padding:var( --p-table-toolbar-layout-padding, var(--p-table-toolbar-padding-block, var(--pfx-toolbar-pad-y, 6px)) var(--p-table-toolbar-padding-inline, var(--pfx-toolbar-pad-x, 12px)) );min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));display:grid;grid-template-areas:\"actions actions actions\";grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:max(var(--p-table-toolbar-gap, 8px),12px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px);border:var(--p-table-toolbar-border-width, 1px) solid var(--p-table-toolbar-border-color, var(--p-table-toolbar-border-color-default));border-radius:var(--p-table-toolbar-radius, 10px)}.praxis-toolbar.p-table-toolbar--flat{--p-table-toolbar-border-width: 0;--p-table-toolbar-shadow: none}.praxis-toolbar.p-table-toolbar--elevated{--p-table-toolbar-shadow: 0 12px 28px color-mix(in srgb, var(--md-sys-color-shadow, #000) 12%, transparent)}.praxis-toolbar.p-table-toolbar--integrated{--p-table-toolbar-bg: transparent;--p-table-toolbar-border-width: 0;--p-table-toolbar-radius: 0}.praxis-toolbar.p-table-toolbar--layout-separator{border-block-end-width:1px;border-block-end-style:solid;border-block-end-color:var( --p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default) )}.praxis-toolbar.p-table-toolbar--compact{--p-table-toolbar-min-height: 36px;--p-table-toolbar-padding-block: 4px;--p-table-toolbar-padding-inline: 10px;--p-table-toolbar-gap: 4px;--p-table-toolbar-actions-gap: 4px;--p-table-toolbar-action-size: 36px;--p-table-toolbar-action-radius: 7px}.praxis-toolbar.p-table-toolbar--comfortable{--p-table-toolbar-min-height: 44px;--p-table-toolbar-action-size: 40px}.praxis-toolbar.p-table-toolbar--spacious{--p-table-toolbar-min-height: 52px;--p-table-toolbar-padding-block: 8px;--p-table-toolbar-padding-inline: 16px;--p-table-toolbar-gap: 8px;--p-table-toolbar-actions-gap: 8px;--p-table-toolbar-action-size: 44px}.praxis-toolbar.p-table-toolbar--square{--p-table-toolbar-radius: 0;--p-table-toolbar-action-radius: 4px}.praxis-toolbar.p-table-toolbar--pill{--p-table-toolbar-radius: 999px;--p-table-toolbar-action-radius: 999px}:host(.praxis-toolbar-stack-top) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}:host(.praxis-toolbar-footer) .praxis-toolbar{border-top-left-radius:0;border-top-right-radius:0}:host(.praxis-toolbar-footer.footer-flat) .praxis-toolbar{border-bottom-left-radius:0;border-bottom-right-radius:0}.praxis-toolbar.mat-toolbar-single-row,.praxis-toolbar .mat-toolbar-row{height:auto}.praxis-toolbar.mat-toolbar-multiple-rows{min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px))}.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"scope scope scope\" \"query query actions\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity scope scope\" \"query query actions\"}.toolbar-query{grid-area:query;display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;min-width:0;column-gap:var(--p-table-toolbar-gap, 8px);row-gap:var(--p-table-toolbar-identity-filter-gap, 8px)}.toolbar-query>*{min-width:0}.toolbar-query>:is(praxis-filter,[advancedFilter]){grid-column:1}.toolbar-query>[toolbar]{grid-column:2}.toolbar-identity{grid-area:identity;display:flex;align-items:center;gap:var(--p-table-toolbar-identity-gap, 8px);min-width:0;max-width:100%;min-height:var(--p-table-toolbar-identity-min-height, 30px);margin-block-end:var(--p-table-toolbar-identity-margin-bottom, 0);padding-inline:2px;color:var(--p-table-toolbar-title-fg, var(--p-table-toolbar-fg, var(--p-table-toolbar-fg-default)))}.toolbar-identity--center{text-align:center;justify-content:center}.toolbar-identity--end{text-align:end;justify-content:flex-end}.toolbar-identity--center .toolbar-identity__copy{align-items:center}.toolbar-identity--end .toolbar-identity__copy{align-items:flex-end}.toolbar-identity__icon{width:var(--p-table-toolbar-identity-icon-size, 28px);height:var(--p-table-toolbar-identity-icon-size, 28px);border-radius:var(--p-table-toolbar-identity-icon-radius, 8px);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor));background:color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 8%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-icon-fg, var(--md-sys-color-primary, currentColor)) 18%,transparent)}.toolbar-identity__icon .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.toolbar-identity__copy{display:flex;flex-direction:column;min-width:0;max-width:100%;gap:1px}.toolbar-identity__title,.toolbar-identity__subtitle{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-identity__title{font-size:var(--p-table-toolbar-title-font-size, 14px);font-weight:var(--p-table-toolbar-title-font-weight, 700);line-height:1.2;letter-spacing:0;color:var(--p-table-toolbar-title-fg, currentColor)}.toolbar-identity__subtitle{font-size:var(--p-table-toolbar-subtitle-font-size, 11.5px);line-height:1.25;color:var(--p-table-toolbar-subtitle-fg, var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default)))}.toolbar-actions{grid-area:actions;display:flex;align-items:center;align-self:start;justify-self:end;justify-content:flex-end;gap:var(--p-table-toolbar-gap, 6px);min-height:var(--p-table-toolbar-min-height, var(--pfx-filter-h, 44px));min-width:0}.praxis-toolbar.p-table-toolbar--align-start .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-start .toolbar-actions{justify-self:start}.praxis-toolbar.p-table-toolbar--align-center .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-center .toolbar-actions{justify-self:center}.praxis-toolbar.p-table-toolbar--align-end .toolbar-identity,.praxis-toolbar.p-table-toolbar--align-end .toolbar-actions{justify-self:end}.actions-group{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.business-actions,.utility-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);min-width:0}.business-actions:empty,.utility-actions:empty{display:none}.action-btn:not(.praxis-icon-button){height:var(--p-table-toolbar-action-size, 40px);min-width:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);font-size:.875rem;font-weight:500;line-height:1.2;color:var(--p-table-toolbar-action-fg, inherit);background:var(--p-table-toolbar-action-bg, transparent)}.action-btn:not(.praxis-icon-button):hover:not(:disabled){background:var(--p-table-toolbar-action-hover-bg, var(--p-table-toolbar-action-hover-bg-default))}.action-btn:not(.praxis-icon-button):focus-visible{outline:2px solid var(--p-table-toolbar-action-focus-ring, var(--p-table-toolbar-action-focus-ring-default));outline-offset:2px}.action-btn--utility{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}.praxis-table-toolbar-action--columns.action-btn:not(.praxis-icon-button){width:var(--p-table-toolbar-action-size, 40px);padding:0}.praxis-table-toolbar-action--columns mat-icon{margin:0}.toolbar-icon-btn{width:var(--p-table-toolbar-action-size, 40px);height:var(--p-table-toolbar-action-size, 40px);border-radius:var(--p-table-toolbar-action-radius, 8px);color:var(--md-sys-color-primary);background:color-mix(in srgb,var(--md-sys-color-primary) 9%,transparent);border:1px solid color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.toolbar-icon-btn:hover:not(:disabled){color:var(--md-sys-color-on-primary-container);background:color-mix(in srgb,var(--md-sys-color-primary) 16%,transparent);border-color:color-mix(in srgb,var(--md-sys-color-primary) 36%,transparent)}.action-btn--fab{width:42px;height:42px;box-shadow:none}.pfx-tonal{background:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}.pfx-tonal:hover{background:var(--md-sys-color-secondary-container)}.mobile-actions{display:none;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px)}.overflow-trigger{height:var(--p-table-toolbar-action-size, 40px)}.action-btn .mat-icon,.action-btn--fab .mat-icon,.overflow-trigger .mat-icon{font-size:18px;width:18px;height:18px;line-height:18px}.praxis-table-export-status{max-width:13rem;overflow:hidden;color:var(--p-table-toolbar-status-fg, currentColor);font-size:.75rem;font-weight:600;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.praxis-table-export-progress-icon{animation:praxis-table-export-spin .9s linear infinite}@keyframes praxis-table-export-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.praxis-table-export-progress-icon{animation:none}}.praxis-table-toolbar-action--columns .mat-icon{font-size:24px;width:24px;height:24px;line-height:24px}.praxis-table-column-menu-item.mat-mdc-menu-item{min-height:40px}.praxis-table-export-menu-item.mat-mdc-menu-item{min-width:280px;white-space:nowrap}.praxis-table-column-menu-content{align-items:center;display:flex;gap:10px;min-height:40px;width:100%}.praxis-table-column-menu-check.mat-icon{color:var(--md-sys-color-primary, currentColor);flex:0 0 20px;font-size:20px;height:20px;line-height:20px;margin-inline-end:0;width:20px}.praxis-table-quick-filters{grid-area:scope;align-items:center;display:flex;flex-wrap:nowrap;gap:6px;min-height:var(--p-table-toolbar-min-height, 44px)}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:40px;padding-inline:14px;white-space:nowrap}.praxis-table-quick-filter--active.mat-mdc-outlined-button{background:color-mix(in srgb,var(--md-sys-color-primary) 12%,transparent);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.action-btn.mat-mdc-button-base,.action-btn--fab.mat-mdc-button-base,.overflow-trigger.mat-mdc-button-base,.toolbar-icon-btn.mat-mdc-button-base{--mdc-text-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-filled-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-protected-button-container-height: var(--p-table-toolbar-action-size, 36px);--mdc-outlined-button-container-height: var(--p-table-toolbar-action-size, 36px)}.action-btn.mat-mdc-unelevated-button:not(:disabled),.action-btn.mat-mdc-outlined-button:not(:disabled),.action-btn.pfx-tonal:not(:disabled){border-color:color-mix(in srgb,var(--md-sys-color-outline-variant, #d7dbe5) 82%,transparent)}.action-btn.mat-mdc-unelevated-button:not(:disabled){box-shadow:none}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled){--mdc-filled-button-container-color: var(--md-sys-color-primary);--mdc-filled-button-label-text-color: var(--md-sys-color-on-primary);--mat-filled-button-state-layer-color: var(--md-sys-color-on-primary);background:var(--md-sys-color-primary)!important;border-color:transparent;color:var(--md-sys-color-on-primary)!important;box-shadow:0 8px 18px color-mix(in srgb,var(--md-sys-color-primary) 22%,transparent)}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled):hover{background:color-mix(in srgb,var(--md-sys-color-primary) 88%,var(--md-sys-color-on-primary) 12%)!important}.action-btn.mat-mdc-unelevated-button.mat-primary:not(:disabled) .mat-icon{color:var(--md-sys-color-on-primary)!important}.action-btn.mat-mdc-button-base{padding-inline:12px}.end-actions{display:flex;align-items:center;gap:var(--p-table-toolbar-actions-gap, 8px);margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions:empty{display:none;gap:0;margin-inline-start:0;padding-inline-start:0;border-inline-start:0}.praxis-toolbar-icon-action--primary{color:var(--md-sys-color-primary)}.praxis-toolbar-icon-action--accent{color:var(--md-sys-color-tertiary)}.praxis-toolbar-icon-action--warn{color:var(--md-sys-color-error)}.praxis-toolbar.p-table-toolbar--divider-between-groups .actions-group--has-business .utility-actions:not(:empty){margin-inline-start:4px;padding-inline-start:12px;border-inline-start:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.praxis-toolbar.p-table-toolbar--divider-start:not(.praxis-toolbar--has-identity) .toolbar-query{padding-inline-end:12px;border-inline-end:1px solid var(--p-table-toolbar-divider-color, var(--p-table-toolbar-divider-color-default))}.end-actions ::ng-deep .praxis-table-toolbar-action--ai,.end-actions ::ng-deep .praxis-table-ai-trigger{color:var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default));background:color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 10%,transparent);border:1px solid color-mix(in srgb,var(--p-table-toolbar-ai-accent-color, var(--p-table-toolbar-ai-accent-color-default)) 24%,transparent)}.end-actions ::ng-deep [data-role=table-settings]{color:var(--p-table-toolbar-status-fg, var(--p-table-toolbar-status-fg-default))}@container praxis-table-toolbar (max-width: 960px){.actions-group{display:none}.mobile-actions{display:flex}.toolbar-actions{justify-content:flex-end}}@container praxis-table-toolbar (max-width: 720px){.praxis-toolbar.praxis-toolbar--has-query{grid-template-areas:\"scope scope scope\" \"query query query\" \"actions actions actions\"}.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity identity identity\" \"scope scope scope\" \"query query query\" \"actions actions actions\"}.toolbar-query{grid-template-columns:minmax(0,1fr)}.toolbar-query>:is(praxis-filter,[advancedFilter]),.toolbar-query>[toolbar]{grid-column:1}.praxis-table-quick-filters{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}}@container praxis-table-toolbar (max-width: 540px){.praxis-toolbar.praxis-toolbar--has-identity{grid-template-areas:\"identity identity identity\" \"scope scope scope\" \"query query query\" \"actions actions actions\"}.toolbar-actions{justify-self:stretch;justify-content:flex-end}.toolbar-actions,.toolbar-query{--p-table-toolbar-action-size: 44px}.toolbar-identity__subtitle{display:none}.praxis-table-quick-filter.mat-mdc-outlined-button{min-height:44px}}\n"] }]
3117
3127
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.LoggerService, decorators: [{
3118
3128
  type: Optional
3119
3129
  }] }, { type: i1.PraxisI18nService, decorators: [{
@@ -41815,6 +41825,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
41815
41825
 
41816
41826
  const EMPTY_ADVANCED_FILTER_METADATA_OVERRIDES = {};
41817
41827
  const BLOCKED_PATH_SEGMENTS = new Set(['__proto__', 'prototype', 'constructor']);
41828
+ function normalizeSurfaceOpenCause(error) {
41829
+ const normalized = normalizeUnknownError(error);
41830
+ return { name: normalized.name, message: normalized.message };
41831
+ }
41818
41832
  const DEFAULT_EXPANSION_ALLOWED_NODES = [
41819
41833
  'layout',
41820
41834
  'stack',
@@ -43293,6 +43307,7 @@ class PraxisTable {
43293
43307
  fallbackLogger;
43294
43308
  fallbackLoggerEnvironment = null;
43295
43309
  lastColumnDropHandledAt = 0;
43310
+ surfaceOpenAttemptSequence = 0;
43296
43311
  activeColumnDragField = null;
43297
43312
  _effectiveCellRenderCache = new Map();
43298
43313
  cellAnimationPreviousValuesByRowId = new Map();
@@ -44306,7 +44321,7 @@ class PraxisTable {
44306
44321
  if (this.aiAdapter || this.aiAdapterLoadStarted)
44307
44322
  return;
44308
44323
  this.aiAdapterLoadStarted = true;
44309
- import('./praxisui-table-table-ai.adapter-DQ6nARya.mjs')
44324
+ import('./praxisui-table-table-ai.adapter-BS7NAJiY.mjs')
44310
44325
  .then(({ TableAiAdapter }) => {
44311
44326
  if (!this.isAiAssistantEnabled()) {
44312
44327
  this.aiAssistantOpenAfterAdapterLoad = false;
@@ -45052,7 +45067,7 @@ class PraxisTable {
45052
45067
  initializeAiAssistantController() {
45053
45068
  if (!this.aiAdapter || this.aiAssistantController)
45054
45069
  return;
45055
- import('./praxisui-table-table-agentic-authoring-turn-flow-DzUWFwYf.mjs')
45070
+ import('./praxisui-table-table-agentic-authoring-turn-flow-CtqlPxzU.mjs')
45056
45071
  .then(({ TableAgenticAuthoringTurnFlow }) => {
45057
45072
  if (this.aiAssistantController || !this.aiAdapter)
45058
45073
  return;
@@ -50543,6 +50558,12 @@ class PraxisTable {
50543
50558
  __praxisCollectionCreateAction: true,
50544
50559
  }),
50545
50560
  };
50561
+ const correlationId = [
50562
+ this.tableId || this.componentInstanceId || 'praxis-table',
50563
+ 'surface.open',
50564
+ surface?.id || 'create',
50565
+ ++this.surfaceOpenAttemptSequence,
50566
+ ].join(':');
50546
50567
  if (!surface || configuredAction.disabled) {
50547
50568
  this.emitEventWithActionFeedback(this.toolbarAction, payload, {
50548
50569
  actionId: action,
@@ -50584,6 +50605,7 @@ class PraxisTable {
50584
50605
  actionId: 'create',
50585
50606
  actionConfig: configuredAction,
50586
50607
  surfaceId: surface.id,
50608
+ correlationId,
50587
50609
  },
50588
50610
  });
50589
50611
  if (result.success) {
@@ -50596,28 +50618,46 @@ class PraxisTable {
50596
50618
  this.emitResourceEvent('surface-open', 'toolbarAction', {
50597
50619
  ...payload,
50598
50620
  surface,
50599
- error: result.error,
50621
+ error: normalizeSurfaceOpenCause(result.error),
50622
+ correlationId,
50623
+ selectedPath: 'surface.open',
50624
+ fallback: 'none',
50600
50625
  }, surface, null, 'error');
50601
- this.warnLog('[PraxisTable] Falha ao abrir create de coleção via surface.open', { surfaceId: surface.id, error: result.error }, { actionId: 'create' });
50626
+ this.warnLog('[PraxisTable] Falha ao abrir create de coleção via surface.open', {
50627
+ surfaceId: surface.id,
50628
+ mode: 'drawer',
50629
+ resourcePath: this.resolveCollectionResourcePath(),
50630
+ selectedPath: 'surface.open',
50631
+ fallback: 'none',
50632
+ cause: normalizeSurfaceOpenCause(result.error),
50633
+ }, {
50634
+ actionId: 'create',
50635
+ correlationId,
50636
+ throttleKey: `praxis-table:surface.open:create:${surface.id}`,
50637
+ });
50602
50638
  }
50603
50639
  catch (error) {
50604
50640
  this.emitResourceEvent('surface-open', 'toolbarAction', {
50605
50641
  ...payload,
50606
50642
  surface,
50607
- error,
50643
+ error: normalizeSurfaceOpenCause(error),
50644
+ correlationId,
50645
+ selectedPath: 'surface.open',
50646
+ fallback: 'none',
50608
50647
  }, surface, null, 'error');
50609
- this.warnLog('[PraxisTable] Falha ao preparar create de coleção via surface.open', { surfaceId: surface.id, error }, { actionId: 'create' });
50648
+ this.warnLog('[PraxisTable] Falha ao preparar create de coleção via surface.open', {
50649
+ surfaceId: surface.id,
50650
+ mode: 'drawer',
50651
+ resourcePath: this.resolveCollectionResourcePath(),
50652
+ selectedPath: 'surface.open',
50653
+ fallback: 'none',
50654
+ cause: normalizeSurfaceOpenCause(error),
50655
+ }, {
50656
+ actionId: 'create',
50657
+ correlationId,
50658
+ throttleKey: `praxis-table:surface.open:create:${surface.id}`,
50659
+ });
50610
50660
  }
50611
- this.emitEventWithActionFeedback(this.toolbarAction, {
50612
- ...payload,
50613
- surface,
50614
- }, {
50615
- actionId: action,
50616
- label: configuredAction.label || action,
50617
- resourceEventKind: 'toolbar-action',
50618
- sourceOutput: 'toolbarAction',
50619
- surface,
50620
- });
50621
50661
  return true;
50622
50662
  }
50623
50663
  resolveBulkExportFormat(action, actionConfig) {
@@ -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-nfsMWS1W.mjs';
3
+ import { ad as setTableActionGlobalActionRef } from './praxisui-table-praxisui-table-ROTRfaef.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-nfsMWS1W.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-ROTRfaef.mjs';
5
5
 
6
6
  const TABLE_ROW_EXPRESSION_CONTEXT_OPTION = {
7
7
  mode: 'expression',
@@ -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-nfsMWS1W.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-ROTRfaef.mjs';
package/package.json CHANGED
@@ -1,24 +1,24 @@
1
1
  {
2
2
  "name": "@praxisui/table",
3
- "version": "9.0.5-rc.10",
3
+ "version": "9.0.5-rc.12",
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.5-rc.10",
10
- "@praxisui/core": "^9.0.5-rc.10",
11
- "@praxisui/dynamic-fields": "^9.0.5-rc.10",
12
- "@praxisui/dynamic-form": "^9.0.5-rc.10",
13
- "@praxisui/metadata-editor": "^9.0.5-rc.10",
14
- "@praxisui/rich-content": "^9.0.5-rc.10",
15
- "@praxisui/settings-panel": "^9.0.5-rc.10",
16
- "@praxisui/table-rule-builder": "^9.0.5-rc.10",
9
+ "@praxisui/ai": "^9.0.5-rc.12",
10
+ "@praxisui/core": "^9.0.5-rc.12",
11
+ "@praxisui/dynamic-fields": "^9.0.5-rc.12",
12
+ "@praxisui/dynamic-form": "^9.0.5-rc.12",
13
+ "@praxisui/metadata-editor": "^9.0.5-rc.12",
14
+ "@praxisui/rich-content": "^9.0.5-rc.12",
15
+ "@praxisui/settings-panel": "^9.0.5-rc.12",
16
+ "@praxisui/table-rule-builder": "^9.0.5-rc.12",
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.5-rc.10",
21
+ "@praxisui/dialog": "^9.0.5-rc.12",
22
22
  "rxjs": "~7.8.0"
23
23
  },
24
24
  "dependencies": {
@@ -447,7 +447,7 @@ degraded filter.
447
447
  | `rowDoubleClick` | `{ action, row }` | Duplo clique quando habilitado. | Partial | Preservado da documentação anterior. |
448
448
  | `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. |
449
449
  | `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/duplicate-draft` vindos de capabilities, `actionConfig` carrega a operacao canonica e o host composto deve encaminhar ao contexto CRUD apropriado. | Partial | Preservado da documentação anterior. |
450
- | `toolbarAction` | `{ action, actionConfig? }` | Acao clicada em `toolbar.actions[]` que nao foi roteada para fluxo bulk; `actionConfig` carrega o objeto da acao quando disponivel. A acao `create` de colecao pode ser materializada automaticamente a partir de `_links.create`, rel `capabilities`, surfaces e `CrudOperationResolutionService`; quando `surface.open` esta disponivel, o runtime abre a surface de criacao antes de emitir fallback. | Partial | Preservado da documentação anterior com materializacao CRUD de colecao. |
450
+ | `toolbarAction` | `{ action, actionConfig? }` | Acao clicada em `toolbar.actions[]` que nao foi roteada para fluxo bulk; `actionConfig` carrega o objeto da acao quando disponivel. A acao `create` de colecao pode ser materializada automaticamente a partir de `_links.create`, rel `capabilities`, surfaces e `CrudOperationResolutionService`. Dentro de CRUD, a tabela delega ao owner antes de abrir. Standalone, uma surface selecionada usa uma unica tentativa de `surface.open`; falha de execução é fail-closed e não emite `toolbarAction` como segundo caminho. O fallback local permanece quando nenhuma surface executável foi selecionada. | Partial | Preservado da documentação anterior com materializacao CRUD de colecao e ownership explícito. |
451
451
  | `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`. |
452
452
  | `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`. |
453
453
  | `bulkAction` | `{ action, rows, actionConfig? }` | Acao em lote; `actionConfig` carrega a configuracao da acao quando disponivel. | Partial | Preservado da documentação anterior. |
@@ -1560,6 +1560,7 @@ declare class PraxisTable implements OnInit, OnChanges, AfterViewInit, AfterCont
1560
1560
  private fallbackLogger?;
1561
1561
  private fallbackLoggerEnvironment;
1562
1562
  private lastColumnDropHandledAt;
1563
+ private surfaceOpenAttemptSequence;
1563
1564
  private activeColumnDragField;
1564
1565
  private readonly _effectiveCellRenderCache;
1565
1566
  private readonly cellAnimationPreviousValuesByRowId;