VVibeFlui

Theming

Theming controls Tailwind class slots, variants, color mode, conditional classes, and class name resolvers. It does not replace runtime components by itself.

Reading order

  1. Theme Config
  2. Presets
  3. Color Mode
  4. Class Name Slots
  5. Merge Strategy
  6. Variants
  7. Class Name Conditions
  8. Class Name Resolvers
  9. Adapter Theme
  10. Common Mistakes

Minimal theme

TS
export const usersSchema = {
  resource: "users",
  theme: {
    preset: "tailadmin",
    colorMode: "inherit",
    classNames: {
      tableWrapper: "shadow-sm",
      actionButton: "whitespace-nowrap"
    }
  },
  table: {
    columns: ["name", "email", "status"]
  }
} as const;

Runtime model

The runtime resolves theme classes in this order:

  1. Preset class names.
  2. Schema theme.classNames.
  3. Matching theme.classNameWhen rules.
  4. Registry theme.classNameResolver.
  5. Component-level class names passed by the renderer.

The exact merge behavior depends on theme.classNameMergeStrategy.

Available presets

PresetNotes
defaultBuilt-in default Tailwind preset.
tailadminBuilt-in TailAdmin-style preset.
shadcnBuilt into core as a Shadcn direction preset.
customEmpty preset for fully custom slots.