shoelace/src/components/badge/badge.styles.ts

95 wiersze
2.0 KiB
TypeScript

import { css } from 'lit';
import componentStyles from '~/styles/component.styles';
export default css`
${componentStyles}
:host {
display: inline-flex;
}
.badge {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: var(--sl-font-size-x-small);
font-weight: var(--sl-font-weight-semibold);
letter-spacing: var(--sl-letter-spacing-normal);
line-height: 1;
border-radius: var(--sl-border-radius-small);
border: solid 1px var(--sl-color-neutral-0);
white-space: nowrap;
padding: 3px 6px;
user-select: none;
cursor: inherit;
}
/* Variant modifiers */
.badge--primary {
background-color: var(--sl-color-primary-600);
color: var(--sl-color-neutral-0);
}
.badge--success {
background-color: var(--sl-color-success-600);
color: var(--sl-color-neutral-0);
}
.badge--neutral {
background-color: var(--sl-color-neutral-600);
color: var(--sl-color-neutral-0);
}
.badge--warning {
background-color: var(--sl-color-warning-600);
color: var(--sl-color-neutral-0);
}
.badge--danger {
background-color: var(--sl-color-danger-600);
color: var(--sl-color-neutral-0);
}
/* Pill modifier */
.badge--pill {
border-radius: var(--sl-border-radius-pill);
}
/* Pulse modifier */
.badge--pulse {
animation: pulse 1.5s infinite;
}
.badge--pulse.badge--primary {
--pulse-color: var(--sl-color-primary-600);
}
.badge--pulse.badge--success {
--pulse-color: var(--sl-color-success-600);
}
.badge--pulse.badge--neutral {
--pulse-color: var(--sl-color-neutral-600);
}
.badge--pulse.badge--warning {
--pulse-color: var(--sl-color-warning-600);
}
.badge--pulse.badge--danger {
--pulse-color: var(--sl-color-danger-600);
}
@keyframes pulse {
0% {
box-shadow: 0 0 0 0 var(--pulse-color);
}
70% {
box-shadow: 0 0 0 0.5rem transparent;
}
100% {
box-shadow: 0 0 0 0 transparent;
}
}
`;