- Components
- utilities
- button
Preset Ui - Customization
Explore the customizable variants for colors and sizes available in Preset UI's Button component utilities.
Introduction
The Button component in Preset UI offers a variety of customizable variants for colors and sizes, providing flexibility to match your design requirements.
Base
Button comes with a base classes that set shared rules for all buttons.
Just add
btn utility class. <button class="btn">
Click Me
</button> Variants
Apply a solid, soft, ghost or Outline style to a button
| ClassName | Description | Example |
|---|---|---|
btn-variantName | Base class for all buttons with variantName style | btn-solid |
btn-variantName-colorName | set colors for the button | btn-solid-primary |
Size
Set size for a button
| ClassName | Description | Example |
|---|---|---|
btn-sizeVariant | xs, sm ,md, lg,xl | btn-md |
btn-icon-sizeVariant | xs, sm ,md, lg,xl | btn-icon-lg |
Example
<button class="btn btn-md btn-soft btn-soft-warning">
Click Me
</button> Customization
All button variants and sizes are customizable via CSS variables.
Solid Variantes
Define a solid style like this
<button class="btn btn-md btn-solid btn-solid-primary">
Click Me
</button> - The
btn-solidclass is defined by the preset - But for full customization you need to use the presetUIHelper or define
btn-solid-primaryclass like this :
.btn-solid-primary{
--btn-solid-top-shadow: hsl(var(--c-primary-500));
--btn-solid-bottom-shadow: hsl(var(--c-primary-700));
--btn-solid-top-shadow-hover: hsl(var(--c-primary-600));
--btn-solid-bottom-shadow-hover: hsl(var(--c-primary-800));
--btn-solid-color: hsl(var(--c-primary-600));
--btn-solid-color-hover: hsl(var(--c-primary-700));
--btn-solid-color-press: hsl(var(--c-primary-800));
}
/* if needed */
.dark .btn-solid-primary{
/* style here */
} Outline
<button class="btn btn-md btn-outline btn-outline-primary">
Click Me
</button> .btn-outline-primary{
--btn-outline-bg: hsl(var(--c-primary-50) / 1);
--btn-outline-color: hsl(var(--c-primary-200) / 1);
--btn-outline-text-color: hsl(var(--c-primary-800));
--outline-radial-opacity: 0.6;
--inner-border-color: 1;
}
.dark .btn-outline-primary {
background-image: none;
--inner-border-color: 0;
--outline-radial-opacity: 0.2;
--btn-outline-color: hsl(var(--c-primary-500) / 0.3);
--btn-outline-text-color: hsl(var(--c-primary-300));
--btn-outline-bg: hsl(var(--c-primary-500) / 0.05);
--btn-outline-bg-hover: hsl(var(--c-primary-500) / 0.1);
} Soft
<button class="btn btn-md btn-soft btn-soft-primary">
Click Me
</button> .btn-soft-primary{
--btn-soft-bg-color: hsl(var(--c-primary-50) / 1);
--btn-soft-bg-color-hover: hsl(var(--c-primary-400) / 0.6);
--btn-soft-bg-color-press: hsl(var(--c-primary-400) / 0.4);
--btn-soft-text-color: hsl(var(--c-primary-600));
--btn-soft-text-color-hover: hsl(var(--c-primary-700));
--btn-focus-outline-color: var(--btn-soft-text-color);
} Ghost
<button class="btn btn-md btn-ghost btn-ghost-primary">
Click Me
</button> .btn-ghost-primary{
--btn-ghost-bg-color-hover: hsl(var(--c-primary-100) / 0.5);
--btn-ghost-bg-color-press: hsl(var(--c-primary-100) / 0.7);
--btn-ghost-text-color: hsl(var(--c-primary-600));
--btn-ghost-text-color-hover: hsl(var(--c-primary-700));
--btn-focus-outline-color: var(--btn-ghost-text-color);
} Demo
You can directly see real examples here :