UNPKG

@hummingbirdui/hummingbird

Version:

An open-source system designed for rapid development, without sacrificing the granular control of utility-first CSS.

206 lines (198 loc) 5.84 kB
@utility badge { @layer base { --badge-bg: var(--color-dark); --badge-color: var(--color-contrast); --badge-font-size: var(--text-xs); --badge-padding-y: --spacing(0.75); --badge-padding-x: --spacing(1.5); --badge-border-color: transparent; --badge-link-hover-bg: var(--color-dark); @apply inline-flex items-center justify-center gap-1 align-middle bg-[var(--badge-bg)] text-[var(--badge-color)] text-[length:var(--badge-font-size)] p-[var(--badge-padding-y)_var(--badge-padding-x)] leading-[1] font-semibold rounded-full border border-[var(--badge-border-color)]; } } @utility badge-md { @layer base { --badge-padding-y: --spacing(1.25); --badge-padding-x: --spacing(2); } } @utility badge-lg { @layer base { --badge-padding-y: --spacing(2); --badge-padding-x: --spacing(3); --badge-font-size: var(--text-sm); } } @utility badge-link { @layer base { @apply cursor-pointer no-underline transition-[background] duration-200 hover:bg-[var(--badge-link-hover-bg)]; } } @utility badge-action-btn { @layer base { @apply cursor-pointer flex items-center justify-center rounded-full; & > * { @apply transition-colors duration-200 text-[--alpha(var(--badge-color)/60%)] hover:text-[var(--badge-color)]; } } } @utility badge-primary { @layer base { --badge-bg: var(--color-primary); --badge-link-hover-bg: var(--color-primary-dark); } } @utility badge-secondary { @layer base { --badge-bg: var(--color-secondary); --badge-link-hover-bg: var(--color-secondary-dark); } } @utility badge-info { @layer base { --badge-bg: var(--color-info); --badge-link-hover-bg: var(--color-info-dark); } } @utility badge-success { @layer base { --badge-bg: var(--color-success); --badge-link-hover-bg: var(--color-success-dark); } } @utility badge-warning { @layer base { --badge-bg: var(--color-warning); --badge-link-hover-bg: var(--color-warning-dark); } } @utility badge-danger { @layer base { --badge-bg: var(--color-danger); --badge-link-hover-bg: var(--color-danger-dark); } } /* subtle variant */ @utility badge-subtle { @layer base { --badge-bg: var(--background-color-muted); --badge-color: var(--text-color-default); --badge-border-color: var(--border-color-base); --badge-link-hover-bg: var(--background-color-highlight); } } @utility badge-subtle-primary { @layer base { --badge-bg: --alpha(var(--color-primary) / 15%); --badge-color: var(--color-primary); --badge-border-color: --alpha(var(--color-primary) / 50%); --badge-link-hover-bg: --alpha(var(--color-primary) / 35%); } } @utility badge-subtle-secondary { @layer base { --badge-bg: --alpha(var(--color-secondary) / 15%); --badge-color: var(--color-secondary); --badge-border-color: --alpha(var(--color-secondary) / 50%); --badge-link-hover-bg: --alpha(var(--color-secondary) / 35%); } } @utility badge-subtle-info { @layer base { --badge-bg: --alpha(var(--color-info) / 15%); --badge-color: var(--color-info); --badge-border-color: --alpha(var(--color-info) / 50%); --badge-link-hover-bg: --alpha(var(--color-info) / 35%); } } @utility badge-subtle-success { @layer base { --badge-bg: --alpha(var(--color-success) / 15%); --badge-color: var(--color-success); --badge-border-color: --alpha(var(--color-success) / 50%); --badge-link-hover-bg: --alpha(var(--color-success) / 35%); } } @utility badge-subtle-warning { @layer base { --badge-bg: --alpha(var(--color-warning) / 15%); --badge-color: var(--color-warning); --badge-border-color: --alpha(var(--color-warning) / 50%); --badge-link-hover-bg: --alpha(var(--color-warning) / 35%); } } @utility badge-subtle-danger { @layer base { --badge-bg: --alpha(var(--color-danger) / 15%); --badge-color: var(--color-danger); --badge-border-color: --alpha(var(--color-danger) / 50%); --badge-link-hover-bg: --alpha(var(--color-danger) / 35%); } } /* outline variant */ @utility badge-outline { @layer base { --badge-bg: transparent; --badge-color: var(--text-color-default); --badge-border-color: var(--border-color-base); --badge-link-hover-bg: var(--background-color-emphasis); } } @utility badge-outline-primary { @layer base { --badge-bg: transparent; --badge-color: var(--color-primary); --badge-border-color: --alpha(var(--color-primary) / 50%); --badge-link-hover-bg: --alpha(var(--color-primary) / 12%); } } @utility badge-outline-secondary { @layer base { --badge-bg: transparent; --badge-color: var(--color-secondary); --badge-border-color: --alpha(var(--color-secondary) / 50%); --badge-link-hover-bg: --alpha(var(--color-secondary) / 12%); } } @utility badge-outline-info { @layer base { --badge-bg: transparent; --badge-color: var(--color-info); --badge-border-color: --alpha(var(--color-info) / 50%); --badge-link-hover-bg: --alpha(var(--color-info) / 12%); } } @utility badge-outline-success { @layer base { --badge-bg: transparent; --badge-color: var(--color-success); --badge-border-color: --alpha(var(--color-success) / 50%); --badge-link-hover-bg: --alpha(var(--color-success) / 12%); } } @utility badge-outline-warning { @layer base { --badge-bg: transparent; --badge-color: var(--color-warning); --badge-border-color: --alpha(var(--color-warning) / 50%); --badge-link-hover-bg: --alpha(var(--color-warning) / 12%); } } @utility badge-outline-danger { @layer base { --badge-bg: transparent; --badge-color: var(--color-danger); --badge-border-color: --alpha(var(--color-danger) / 50%); --badge-link-hover-bg: --alpha(var(--color-danger) / 12%); } }