Skip to main content
cngx-src documentation

CngxTabsConfig

Interface

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#

addable#boolean
ReadonlyOptional

App-wide default for whether the group renders an add-tab button. Default false. Per-instance [addable] Input wins. Override via withTabsAddable.

ReadonlyOptional
closable#boolean
ReadonlyOptional

App-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.

ReadonlyOptional

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.

defaultLoop#boolean
ReadonlyOptional

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.

defaultOrientation#"horizontal" | "vertical"
ReadonlyOptional

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.

ReadonlyOptional
fitted#boolean
ReadonlyOptional

App-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.

fragmentSyncMode#"fragment" | "queryParam"
ReadonlyOptional

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.

fragmentSyncParam#string
ReadonlyOptional

Key name for the fragment / query-param deep-link written by CngxTabsFragmentSync. Default 'tab' (e.g. #tab=settings). Override via withTabsFragmentSync.

ReadonlyOptional

App-wide default icon layout.
Default 'start'. Per-instance [iconLayout] Input still wins; the cascade default lives in createTabsHostAttrs. Override via withTabsIconLayout.

overflowMaxDeferMs#number
ReadonlyOptional

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.

overflowStabilizeMs#number
ReadonlyOptional

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.

ReadonlyOptional

App-wide default panel render strategy. Default 'eager'. Per-instance [panelMode] Input still wins; the cascade default lives in createTabsHostAttrs. Override via withTabsPanelMode.

ReadonlyOptional

App-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.

ReadonlyOptional

App-wide default tab-cluster alignment (horizontal only). Default 'start'. Per-instance [tabAlign] Input wins; the cascade default lives in createTabsHostAttrs. Override via withTabsAlign.

ReadonlyOptional

App-wide template overrides for <cngx-tab-overflow> regions.
Middle tier of the family-standard 3-stage cascade. See CngxTabsTemplates.