Public API reference

This document catalogs the public presets and semantic/Core variables of the current core-fse.

Ultimate sources of truth:

  • theme.json;
  • assets/css/vars/semantic.css;
  • assets/css/vars/theme-core.css.

Colors

SlugCSS variableSource
base--wp--preset--color--base--color-base
contrast--wp--preset--color--contrast--color-contrast
accent--wp--preset--color--accent--color-accent
on-accent--wp--preset--color--on-accent--color-on-accent
on-image--wp--preset--color--on-image--color-on-image
links--wp--preset--color--links--color-links
links-hover--wp--preset--color--links-hover--color-links-hover
transparent--wp--preset--color--transparenttransparent
currentColor--wp--preset--color--currentColorcurrentColor

A child theme can extend the palette, but must retain the roles on which the site depends.

Core contract defaults

VariableFallback
--color-basewhite
--color-contrastblack
--color-accent#851f5a
--color-on-accentwhite
--color-on-imagewhite
--color-links#04548d
--color-links-hover#022c4a
--color-transparenttransparent
--color-currentColorcurrentColor

The first seven variables are the required brand contract for a production child theme. The last two are technical values; the core palette currently uses the transparent and currentColor literals.

Spacing

Special

SlugCSS variablePurpose
auto--wp--preset--spacing--autoauto
edge-x--wp--preset--spacing--edge-xhorizontal page edge
base-gap--wp--preset--spacing--base-gapbase block gap
minus-edge-x--wp--preset--spacing--minus-edge-xnegative page edge

Fluid scale

SlugPrimitive source
fluid-2-xs--size-fluid300-4px
fluid-xs--size-fluid300-8px
fluid-sm--size-fluid300-12px
fluid-md--size-fluid300-16px
fluid-lg--size-fluid300-24px
fluid-xl--size-fluid300-32px
fluid-2-xl--size-fluid300-40px
fluid-3-xl--size-fluid300-50px
fluid-4-xl--size-fluid300-60px
fluid-5-xl--size-fluid300-70px
fluid-6-xl--size-fluid300-80px
fluid-7-xl--size-fluid300-90px
fluid-8-xl--size-fluid300-100px
fluid-9-xl--size-fluid300-120px
fluid-10-xl--size-fluid300-140px
fluid-11-xl--size-fluid400-160px
fluid-12-xl--size-fluid400-180px

The CSS variable format is:

--wp--preset--spacing--{slug}

Each slug has a negative version prefixed with minus-, from minus-fluid-2-xs to minus-fluid-12-xl.

Negative slugSource
minus-fluid-2-xscalc(-1 * var(--size-fluid300-4px))
minus-fluid-xscalc(-1 * var(--size-fluid300-8px))
minus-fluid-smcalc(-1 * var(--size-fluid300-12px))
minus-fluid-mdcalc(-1 * var(--size-fluid300-16px))
minus-fluid-lgcalc(-1 * var(--size-fluid300-24px))
minus-fluid-xlcalc(-1 * var(--size-fluid300-32px))
minus-fluid-2-xlcalc(-1 * var(--size-fluid300-40px))
minus-fluid-3-xlcalc(-1 * var(--size-fluid300-50px))
minus-fluid-4-xlcalc(-1 * var(--size-fluid300-60px))
minus-fluid-5-xlcalc(-1 * var(--size-fluid300-70px))
minus-fluid-6-xlcalc(-1 * var(--size-fluid300-80px))
minus-fluid-7-xlcalc(-1 * var(--size-fluid300-90px))
minus-fluid-8-xlcalc(-1 * var(--size-fluid300-100px))
minus-fluid-9-xlcalc(-1 * var(--size-fluid300-120px))
minus-fluid-10-xlcalc(-1 * var(--size-fluid300-140px))
minus-fluid-11-xlcalc(-1 * var(--size-fluid400-160px))
minus-fluid-12-xlcalc(-1 * var(--size-fluid400-180px))

Compact scale

SlugPrimitive source
3-xs--size-fluid150-2px
2-xs--size-fluid150-4px
xs--size-fluid150-8px
sm--size-fluid150-12px
md--size-fluid150-16px
lg--size-fluid150-24px
xl--size-fluid150-32px
2-xl--size-fluid150-40px
3-xl--size-fluid150-50px
4-xl--size-fluid150-60px
5-xl--size-fluid150-70px
6-xl--size-fluid150-80px
7-xl--size-fluid150-90px
8-xl--size-fluid150-100px
9-xl--size-fluid150-120px
10-xl--size-fluid150-140px
11-xl--size-fluid150-160px
12-xl--size-fluid150-180px

Negative versions exist from minus-3-xs to minus-10-xl. Negative presets are not currently declared for 11-xl and 12-xl.

Negative slugSource
minus-3-xscalc(-1 * var(--size-fluid150-2px))
minus-2-xscalc(-1 * var(--size-fluid150-4px))
minus-xscalc(-1 * var(--size-fluid150-8px))
minus-smcalc(-1 * var(--size-fluid150-12px))
minus-mdcalc(-1 * var(--size-fluid150-16px))
minus-lgcalc(-1 * var(--size-fluid150-24px))
minus-xlcalc(-1 * var(--size-fluid150-32px))
minus-2-xlcalc(-1 * var(--size-fluid150-40px))
minus-3-xlcalc(-1 * var(--size-fluid150-50px))
minus-4-xlcalc(-1 * var(--size-fluid150-60px))
minus-5-xlcalc(-1 * var(--size-fluid150-70px))
minus-6-xlcalc(-1 * var(--size-fluid150-80px))
minus-7-xlcalc(-1 * var(--size-fluid150-90px))
minus-8-xlcalc(-1 * var(--size-fluid150-100px))
minus-9-xlcalc(-1 * var(--size-fluid150-120px))
minus-10-xlcalc(-1 * var(--size-fluid150-140px))

Font sizes

CSS variable:

--wp--preset--font-size--{slug}

Special and percentage

SlugValue
inheritinherit
40-perc40%
50-perc50%
60-perc60%
70-perc70%
80-perc80%
90-perc90%
100-perc100%
110-perc110%
120-perc120%
130-perc130%
140-perc140%
150-perc150%
160-perc160%
170-perc170%
180-perc180%
190-perc190%
200-perc200%
210-perc210%
220-perc220%
230-perc230%
240-perc240%
250-perc250%
260-perc260%
280-perc280%
300-perc300%
320-perc320%
340-perc340%
360-perc360%
380-perc380%
400-perc400%

Named scale

SlugPrimitive source
3-xs--size-fluid130-min12-12px
2-xs--size-fluid130-min12-14px
xs--size-fluid130-min12-16px
sm--size-fluid130-min12-18px
md--size-fluid130-min12-20px
lg--size-fluid130-min12-24px
xl--size-fluid130-min12-28px
2-xl--size-fluid150-30px
3-xl--size-fluid150-38px
4-xl--size-fluid150-46px
5-xl--size-fluid150-54px
6-xl--size-fluid150-62px
7-xl--size-fluid200-70px
8-xl--size-fluid200-88px
9-xl--size-fluid200-96px
10-xl--size-fluid200-106px

More fluid named scale

SlugPrimitive source
fluid-3-xs--size-fluid170-min12-12px
fluid-2-xs--size-fluid170-min12-14px
fluid-xs--size-fluid170-min12-16px
fluid-sm--size-fluid170-min12-18px
fluid-md--size-fluid170-min12-20px
fluid-lg--size-fluid170-min12-24px
fluid-xl--size-fluid170-min12-28px
fluid-2-xl--size-fluid200-30px
fluid-3-xl--size-fluid200-38px
fluid-4-xl--size-fluid200-46px
fluid-5-xl--size-fluid200-54px
fluid-6-xl--size-fluid200-62px
fluid-7-xl--size-fluid300-70px
fluid-8-xl--size-fluid300-88px
fluid-9-xl--size-fluid300-96px
fluid-10-xl--size-fluid300-106px

Huge

SlugCore alias
huge--_font-size-huge
huge-fluid--_font-size-huge-fluid

Aliases are intended for child-theme overrides.

Font families

core-fse does not declare font-family presets. The child theme must provide the required families.

Existing child-theme convention:

SlugRole
basicbody text
headersheadings
altalternative/UI font
inheritinheritance

These slugs are not guaranteed by the parent theme until the child theme declares them.

Semantic typography

VariableDefault
--font-weight-normal500
--font-weight-bold700
--line-height-tight1
--line-height-normal1.3
--line-height-loose1.5
--letter-spacing-tight-0.040em
--letter-spacing-normal0.030em
--letter-spacing-wide0.080em

Radius

VariableDefault
--radius-none0
--radius-small5px
--radius-medium10px
--radius-large15px
--radius-round9999px

Z-index

VariableDefault
--z-zero0
--z-base5
--z-upper10
--z-stack20
--z-popup50
--z-overlay70
--z-tooltip90
--z-max99999

Motion

VariableDefault
--motion-duration-fast200ms
--motion-duration-normal500ms
--motion-duration-slow1000ms
--motion-easing-normalvar(--easing-ease)
--motion-easing-invar(--easing-ease-in)
--motion-easing-outvar(--easing-ease-out)
--motion-easing-bouncevar(--easing-bounce)

Primitive easing variables are defined in primitives.css; normal consumers should select semantic --motion-easing-* variables.

Shadows

VariableDefault
--shadow-natural6px 6px 9px rgba(0, 0, 0, .2)
--shadow-deep12px 12px 50px rgba(0, 0, 0, .4)
--shadow-sharp6px 6px 0 rgba(0, 0, 0, .2)
--shadow-outlined6px 6px 0 -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1)
--shadow-crisp6px 6px 0 rgba(0, 0, 0, 1)
--shadow-insetinset 0 1px 2px rgba(0, 0, 0, .1)

Core theme.json does not publish shadow presets. The child theme can register required shadows in Gutenberg.

Empty extension points

The parent theme.json currently has:

  • gradients: an empty list;
  • shadow presets: an empty list;
  • custom templates: an empty list;
  • font families: not declared.

The child theme fills these collections when needed.

Core contract aliases

VariableDefaultPurpose
--_spacing--edge-x--size-fluid300-60pxpage horizontal edge
--_spacing--base-gap--size-fluid200-16pxroot block gap
--_font-size-huge--size-fluid200-170pxlarge display size
--_font-size-huge-fluid--size-fluid400-200pxstrongly fluid display size

These aliases are internal. Use generated WordPress presets in CSS.

Breakpoints

VariableDefault
--mobile-bp768px
--tablet-bp1024px
--desktop-bp1200px

CSS custom properties cannot be used directly in an ordinary @media condition. Current code marks the transition from hardcoded values as incomplete.

Runtime variables

VariableInitial valueChange source
--header-heightautoruntime JavaScript
--wpadminbar-height0pxruntime JavaScript

This is layout state, not design tokens.

Layout and units

SettingValue
content width50rem
wide width80rem
spacing units%, em, rem, vw, vh, dvh, lvh, svh, vmin, vmax