Buttons
Complete button component with 8 colors, 5 styles, 5 sizes, multiple shapes, hover effects, and interactive states.
Solid Buttons
Outline Buttons
Soft Buttons
Ghost Buttons
Transparent background with colored text. Hover shows a tinted background.
Link Buttons
Text-only buttons that look like links. Underline appears on hover.
All Styles by Color
Each color with all 5 style variants: Solid, Outline, Soft, Ghost, Link.
Primary
Secondary
Success
Danger
Warning
Info
Dark
Light
Sizes
Add .lp-btn--xs, .lp-btn--sm, .lp-btn--lg, or .lp-btn--xl for size variants.
Buttons with Icons
Icon before text.
Icon after text.
Icon-Only Buttons
Add .lp-btn--icon for square icon-only buttons.
Solid
Outline
Ghost
Sizes
Toolbar Buttons
Add .lp-btn--toolbar for neutral icon buttons. Add .lp-btn--bordered for a visible border.
Default (no border)
Bordered
Circular (no border)
Circular bordered
Circular Icon Buttons
Add .lp-btn--circle to icon buttons to make them circular. Works with all color variants and sizes.
Solid Circular
Outline Circular
Soft Circular
Ghost Circular
Circle Sizes
Avatar Buttons
Add .lp-btn--avatar for circular buttons with text or initials. Works with all color variants.
Solid
Outline
Soft
Sizes
Pill & Block Buttons
Add .lp-btn--pill for rounded pill shape. Add .lp-btn--block for full width.
Pill
Block (Full Width)
Hover Style Modifiers
Add hover modifier classes to change the hover behavior of any button.
.lp-btn--hover-lift — Elevates with shadow on hover
.lp-btn--hover-scale — Slightly grows on hover
.lp-btn--hover-soft — Fades slightly on hover
.lp-btn--hover-darken — Darkens on hover
.lp-btn--hover-none — Disables hover effect
Disabled State
Add the disabled attribute to prevent interaction. Works with all variants.
Solid Disabled
Outline Disabled
Soft & Ghost Disabled
Active State
Add .lp-btn--active to visually indicate a pressed/selected state. Uses the button's own color.
Solid Active
Outline Active
Soft Active
Loading Buttons
Add .lp-btn--loading class or data-lp-loading="true" attribute to show a spinner and disable interaction.
Solid Variants
Outline Variants
Soft & Ghost
Sizes
Icon Buttons
Interactive Demo — click to toggle loading
Progress Buttons
Add .lp-btn-progress with an inner .lp-btn-progress-bar for animated progress feedback.
Interactive Demo
Solid Variants
Link Buttons — Anchor Tags
All button classes work on <a> tags. Available in all 5 styles.
All styles as links
All colors as links
Links with icons
Link sizes
FAB (Floating Action Button)
Combine .lp-btn--circle with .lp-shadow-md or .lp-shadow-lg for Material Design FAB style.
FAB with Label
Wrap a circular button and an .lp-label inside .lp-fab. Use direction modifiers to place the label on any side. Pair contextual label colors with matching button colors.
Label Right (default) — contextual colors
Label Right — solid labels
Label Left — contextual soft
Label Top
Label Bottom
Large labels
FAB Menu (Speed Dial)
Click the main FAB to reveal a list of action buttons. Items can be plain icons or include contextual .lp-label tags. Toggle .lp-fab-menu--open on the wrapper.
Upward (default) — icons only / soft labels / solid labels
Downward — icons only / with labels
Leftward — icons only / with labels
Rightward — icons only / with labels
JavaScript API
Programmatic control via Button and ProgressButton classes.
Interactive Demo
Button Class
ProgressButton Class
CSS Class Reference
Base
| Class | Description |
|---|---|
.lp-btn |
Base button class (required on all buttons) |
Color Variants (8 colors × 5 styles)
| Class | Description |
|---|---|
.lp-btn--{color} |
Solid variant — primary, secondary, success, danger, warning, info, dark, light |
.lp-btn--outline-{color} |
Bordered with transparent background |
.lp-btn--soft-{color} |
Subtle tinted background |
.lp-btn--ghost-{color} |
Transparent background, colored text, tinted hover |
.lp-btn--link[-{color}] |
Text-only link style, underline on hover |
Sizes
| Class | Description |
|---|---|
.lp-btn--xs |
Extra small |
.lp-btn--sm |
Small |
(default) |
No class needed for default size |
.lp-btn--lg |
Large |
.lp-btn--xl |
Extra large |
Shapes
| Class | Description |
|---|---|
.lp-btn--pill |
Rounded pill shape |
.lp-btn--circle |
Circular button (for icons) |
.lp-btn--icon |
Square icon-only button (auto-sizes) |
.lp-btn--avatar |
Circular button with text/initials |
.lp-btn--block |
Full width button |
.lp-btn--toolbar |
Neutral toolbar icon button |
.lp-btn--bordered |
Adds a visible border to any button |
Hover Modifiers
| Class | Description |
|---|---|
.lp-btn--hover-lift |
Elevates with shadow on hover |
.lp-btn--hover-scale |
Slightly grows on hover |
.lp-btn--hover-soft |
Fades slightly on hover |
.lp-btn--hover-darken |
Darkens on hover |
.lp-btn--hover-none |
Disables all hover effects |
States
| Class | Description |
|---|---|
.lp-btn--loading |
Shows spinner, disables interaction |
.lp-btn--active |
Visually pressed/selected state |
disabled |
HTML attribute to disable button |
data-lp-loading="true" |
Data attribute alternative for loading |
Progress Button
| Class | Description |
|---|---|
.lp-btn-progress |
Progress button container |
.lp-btn-progress-bar |
Inner progress bar element |
.lp-btn-progress--progressing |
Applied during progress |
.lp-btn-progress--completed |
Applied on completion (success state) |