VVibeFlui

Widths and Theme Slots

Widths and theme slots control the outer layout styling of VibeFlui surfaces.

Width presets

form.width and detail.width use widthClassName.

WidthClass
smmax-w-sm
mdmax-w-md
lgmax-w-lg
xlmax-w-xl
2xlmax-w-2xl
3xlmax-w-3xl
4xlmax-w-4xl
5xlmax-w-5xl
fullmax-w-full

Any other string is used as-is.

TS
form: {
  mode: "modal",
  width: "4xl"
}

Surface theme slots

TS
theme: {
  classNames: {
    root: "space-y-4",
    layout: "flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between",
    toolbar: "flex flex-wrap gap-2",
    modal: "w-full max-w-4xl rounded-xl bg-white shadow-xl",
    drawer: "w-full max-w-lg bg-white shadow-xl",
    page: "w-full rounded-xl border bg-white p-6"
  }
}

Grid class hooks

TS
form: {
  grid: {
    columns: { base: 1, md: 2 },
    gap: "gap-6",
    className: "items-start"
  }
}

Merge behavior

Class names are resolved through the theme system and cn, so schema class hooks are merged with default runtime classes.