CngxTabsConfig
projects/common/tabs/tabs-config.ts
Import#
import { CngxTabsConfig } from '@cngx/common/tabs'
Description#
Tab-group config surface. Resolution priority:
per-instance Input → provideTabsConfigAt (viewProviders) → provideTabsConfig
(root) → library default.
Index#
Instance Properties#
App-wide default for whether the group renders an add-tab button.
Default false. Per-instance [addable] Input wins. Override via
withTabsAddable.
CngxTabsAriaLabelsApp-wide default for whether tabs render a close affordance.
Default false. Per-instance [closable] Input wins, and a
per-CngxTab [closable] override wins over both. The cascade
default lives in the organism. Override via withTabsClosable.
"optimistic" | "pessimistic"App-wide default commit mode for async tab transitions.
'optimistic' (default) activates the target tab on action
dispatch and rolls back on error; 'pessimistic' keeps the old tab
until the action resolves. Per-instance [commitMode] Input still
wins (and [cngxTabsRouteSync] pins pessimistic regardless).
Override via withTabsCommitMode.
App-wide default for whether roving-tabindex navigation wraps from
the last tab back to the first (and vice versa). Default true.
Per-instance [loop] Input still wins. Override via
withTabsRovingLoop.
"horizontal" | "vertical"App-wide default tablist orientation. Default 'horizontal'
(left-to-right strip with arrow-left/right navigation);
'vertical' stacks the tabs in a column with arrow-up/down.
Per-instance [orientation] Input still wins. Override via
withTabsDefaultOrientation.
CngxTabsFallbackLabelsApp-wide default for stretching tabs to the full strip width
(horizontal only). Default false. Per-instance [fitted] Input
wins; the cascade default lives in createTabsHostAttrs. Override
via withTabsFitted.
"fragment" | "queryParam"URL surface for CngxTabsFragmentSync deep-linking:
'fragment' (default) writes #tab=<id>, 'queryParam' writes
?tab=<id>. Has no effect unless the directive is applied. Not the
router-outlet integration ([cngxTabsRouteSync]). Override via
withTabsFragmentSync.
Key name for the fragment / query-param deep-link written by
CngxTabsFragmentSync. Default 'tab' (e.g. #tab=settings).
Override via withTabsFragmentSync.
CngxTabIconLayoutApp-wide default icon layout.
Default 'start'. Per-instance
[iconLayout] Input still wins; the cascade default lives in
createTabsHostAttrs. Override via withTabsIconLayout.
Hard ceiling (ms) on commit deferral while IO bursts keep arriving - without it, sustained churn (momentum scroll, continuous resize) would clear the stabilize timer forever and the More counter would freeze on a stale value. Default 250ms.
Quiescence window (ms) for the overflow IO debounce. Burst emissions during strip animations collapse to one write; the More counter re-renders once IO has been quiet this long. Default 100ms. Capped by overflowMaxDeferMs.
CngxTabsPanelModeApp-wide default panel render strategy. Default 'eager'.
Per-instance [panelMode] Input still wins; the cascade default
lives in createTabsHostAttrs. Override via
withTabsPanelMode.
CngxTabsSkinApp-wide default visual skin.
Default 'line'. Per-instance
[skin] Input still wins; the cascade default itself lives in
createTabsHostAttrs, not here (mirrors the stepper). Override via
withTabsSkin.
CngxTabAlignApp-wide default tab-cluster alignment (horizontal only). Default
'start'. Per-instance [tabAlign] Input wins; the cascade default
lives in createTabsHostAttrs. Override via withTabsAlign.
CngxTabsTemplatesApp-wide template overrides for <cngx-tab-overflow> regions.
Middle tier of the family-standard 3-stage cascade. See
CngxTabsTemplates.