Layout knobs of the classic theme — the default look: a row of tabs, each an icon above its label.

All dimensions are plain numbers, and the same value renders at the same physical size on every device and platform — so a single number is all you need, with no per-screen variants. The bar height is not configurable: it is sized by its content — paddingTop + icon [+ iconLabelSpacing + label] + paddingBottom. With labels hidden the icon is centered vertically instead.

interface ClassicThemeCustomization {
    iconLabelSpacing?: number;
    iconSize?: number;
    labelFontSize?: number;
    labels?: "hidden" | "shown";
    paddingBottom?: number;
    paddingTop?: number;
    topBorder?: { color?: string; thickness?: number };
}

Properties

iconLabelSpacing?: number

Vertical gap between the icon and its label. Accepts 0 (icon flush against the label); a negative value is ignored.

2
iconSize?: number

Width and height of each tab's icon. Requires a value greater than zero — an omitted or <= 0 value keeps the default.

24
labelFontSize?: number

Tab-label font size. Requires a value greater than zero — an omitted or <= 0 value keeps the default.

12
labels?: "hidden" | "shown"

Whether tab titles are shown. "hidden" drops every title and vertically centers the icons, producing an icon-only bar. A tab whose title is empty is label-less regardless of this setting. An absent or unknown value falls back to "shown".

paddingBottom?: number

Empty space below the label (or below the icon, when labels are hidden), which adds to the bar's total height. Accepts 0; a negative value is ignored.

6
paddingTop?: number

Empty space above the icon, which adds to the bar's total height. Accepts 0; a negative value is ignored.

6
topBorder?: { color?: string; thickness?: number }

The bar's top border, where thickness is a dimension and color a hex string.

A thickness of 0 (or any value <= 0) removes the border even when a color is set. Otherwise the border renders whenever a thickness greater than zero or a color is present; when both are absent there is no border. While the border is active each sub-field falls back on its own: an omitted thickness becomes 1, an omitted or invalid color becomes #DBDDE0.