mytril
Version:
Mytril Svelte library component for rapidly building modern websites based on Svelte and Sveltekit
168 lines (151 loc) • 4.07 kB
CSS
.myt-chip {
--c: var(--myt-chip-c);
--bg: var(--myt-chip-bg);
align-items: center;
display: inline-flex;
max-width: 100%;
min-width: 0;
overflow: hidden;
position: relative;
text-decoration: none;
white-space: nowrap;
vertical-align: middle;
color: var(--c);
background-color: var(--bg);
border-radius: var(--radius-pill);
transition:
color 0.5s,
background-color 0.5s;
}
.myt-chip.myt-chip--label {
border-radius: var(--radius-md);
}
.myt-chip.myt-chip--outline {
border: thin solid currentColor;
}
.myt-chip.myt-chip--text,
.myt-chip.myt-chip--outline {
background-color: transparent;
}
.myt-chip.myt-chip--density-default {
height: calc(var(--chip-height) + 0px);
}
.myt-chip.myt-chip--density-comfortable {
height: calc(var(--chip-height) + -0.5rem);
}
.myt-chip.myt-chip--density-compact {
height: calc(var(--chip-height) + -0.75rem);
}
.myt-chip .myt-chip--content {
align-items: center;
display: inline-flex;
transition:
transform,
opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.myt-chip .myt-chip-prepend,
.myt-chip .myt-chip--append,
.myt-chip .myt-chip--close {
align-items: center;
display: inline-flex;
transition:
transform,
opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.myt-chip .myt-icon {
--icon-size-multiplier: 0.86;
}
.myt-chip .myt-chip--append + .myt-chip--close {
margin-inline-start: 0.75rem;
}
.myt-chip .myt-chip--close {
margin-inline-start: 0.375rem;
margin-inline-end: 0px;
}
.myt-chip .myt-chip--close {
cursor: pointer;
flex: 0 1 auto;
font-size: 1.125rem;
max-height: 1.125rem;
max-width: 1.125rem;
-webkit-user-select: none;
user-select: none;
}
.myt-chip.myt-chip--active:not(.myt-chip--outline) {
background-color: color-mix(in oklab, var(--bg) 85%, black);
}
.myt-chip:hover:not(.myt-chip--outline):not(.myt-chip--closable) {
background-color: color-mix(in oklab, var(--bg) 90%, black);
}
.myt-chip.myt-chip--outline.myt-chip--active {
background-color: color-mix(in oklab, var(--c) 15%, transparent);
}
.myt-chip.myt-chip--outline:hover:not(.myt-chip--closable) {
background-color: color-mix(in oklab, var(--c) 20%, transparent);
}
.myt-chip.myt-chip--disabled,
.myt-chip[disabled] {
pointer-events: none;
user-select: none;
color: color-mix(in oklab, var(--c) 40%, transparent) ;
background-color: color-mix(in oklab, var(--bg) 70%, transparent) ;
}
.myt-chip.myt-chip--disabled.myt-chip--outline,
.myt-chip[disabled].myt-chip--outline {
border-color: color-mix(in oklab, var(--c) 40%, transparent) ;
}
.myt-chip.myt-chip--disabled.myt-chip--outline,
.myt-chip[disabled].myt-chip--outline,
.myt-chip.myt-chip--disabled.myt-chip--text,
.myt-chip[disabled].myt-chip--text,
.myt-chip.myt-chip--disabled.myt-chip--link,
.myt-chip[disabled].myt-chip--link {
background-color: transparent;
}
/* @breakpoints */
.myt-chip[breakpoint]myt-chip--size-xs {
--chip-size: 0.625rem;
--chip-height: 1.25rem;
font-size: 0.625rem;
padding: 0 0.5rem;
}
.myt-chip[breakpoint]myt-chip--size-sm {
--chip-size: 0.75rem;
--chip-height: 1.625rem;
font-size: 0.75rem;
padding: 0 0.625rem;
}
.myt-chip[breakpoint]myt-chip--size-md {
--chip-size: 0.875rem;
--chip-height: 2rem;
font-size: 0.875rem;
padding: 0 0.75rem;
}
.myt-chip[breakpoint]myt-chip--size-lg {
--chip-size: 1rem;
--chip-height: 2.375rem;
font-size: 1rem;
padding: 0 0.875rem;
}
.myt-chip[breakpoint]myt-chip--size-xl {
--chip-size: 1.125rem;
--chip-height: 2.75rem;
font-size: 1.125rem;
padding: 0 1.063rem;
}
.myt-chip[breakpoint]myt-chip--size-xs .myt-icon {
font-size: calc(var(--icon-size-multiplier) * 1em);
}
.myt-chip[breakpoint]myt-chip--size-sm .myt-icon {
font-size: calc(var(--icon-size-multiplier) * 1.25em);
}
.myt-chip[breakpoint]myt-chip--size-md .myt-icon {
font-size: calc(var(--icon-size-multiplier) * 1.5em);
}
.myt-chip[breakpoint]myt-chip--size-lg .myt-icon {
font-size: calc(var(--icon-size-multiplier) * 1.75em);
}
.myt-chip[breakpoint]myt-chip--size-xl .myt-icon {
font-size: calc(var(--icon-size-multiplier) * 2em);
}
/*! @breakpoints */