Learn the naming conventions and patterns behind DengaUI components.
Component Classes
Every DengaUI component uses semantic CSS classes prefixed with dui-. The base class defines the component, and modifier classes control its appearance:
<!-- Base class only -->
<button class="dui-btn">Default Button</button>
<!-- Base + color variant -->
<button class="dui-btn dui-btn-primary">Primary Button</button>
<!-- Base + color + size -->
<button class="dui-btn dui-btn-primary dui-btn-lg">Large Primary</button>
<!-- Base + style variant -->
<button class="dui-btn dui-btn-outline dui-btn-primary">Outlined</button>
Naming Convention
DengaUI follows a predictable pattern for all class names:
dui-{component} /* base */
dui-{component}-{variant} /* color or style variant */
dui-{component}-{size} /* size modifier */
Examples across different components:
Class
What it does
dui-btn
Base button component
dui-btn-primary
Primary color variant
dui-btn-lg
Large size modifier
dui-card
Base card component
dui-card-bordered
Bordered card style
dui-badge-success
Success color badge
dui-alert-warning
Warning color alert
Size Scale
Components that support sizing use a consistent five-step scale. The default size is md and does not require a size class:
DengaUI classes set sensible defaults, but you can always override or extend them with standard Tailwind utilities. Tailwind classes are applied alongside DengaUI classes:
<!-- Full-width button with extra margin -->
<button class="dui-btn dui-btn-primary w-full mt-4">Submit</button>
<!-- Card with custom max-width and shadow -->
<div class="dui-card dui-card-bordered max-w-sm shadow-xl">
<div class="dui-card-body">
<h3 class="dui-card-title">Custom Card</h3>
<p class="text-sm opacity-70">Tailwind utilities work seamlessly.</p>
</div>
</div>
<!-- Badge with custom font -->
<span class="dui-badge dui-badge-accent font-mono uppercase tracking-wider">v2.0</span>
Custom Card
Tailwind utilities work seamlessly.
v2.0
Since DengaUI is a Tailwind plugin, there are no specificity conflicts. Tailwind utilities will override component defaults when needed.