Tailwind v4 Runtime Parity

Runtime parsing semantics, supported variants, and known constraints.

Flutterwind follows Tailwind-style parsing semantics for class strings.

Semantic contract

  • Last utility wins for the same property
  • Variant chain uses AND semantics (md:hover:* applies only when both match)
  • Runtime state variants supported: hover:, focus:, active:
  • Static variants supported: responsive keys, dark:, light:
  • Unsupported variants/utilities are ignored and emit debug warnings

Class parsing model

  • Tokenization is bracket-aware to preserve arbitrary values
  • Variant chains parse as variant1:variant2:...:utility
  • Responsive evaluation uses TailwindConfig.screens

Parity matrix

CategoryStatusNotes
Utility precedencesupportedLast-write-wins behavior
Responsive variants (sm..2xl)supportedUses configured breakpoints
Dark mode variant (dark:)supportedUses current theme brightness
Light mode variant (light:)supportedInverse of dark mode
State variants (hover/focus/active)supportedRuntime conditional application
Chained variants (md:hover:*)supportedAll conditions must match
Arbitrary spacing/sizing valuespartialSupports bracket forms like w-[10rem]
Arbitrary colorspartialSupports forms like bg-[#123456]
CSS-only Tailwind v4 featuresnot supportedIgnored when no Flutter equivalent exists

Known constraints

  • Some Tailwind CSS features are web/CSS-native and do not map 1:1 to Flutter
  • Background image semantics require explicit image APIs in Flutterwind
  • Utility breadth is evolving; verify with the support matrix page