@innovaccer/design-system
Version:
React components library project for Innovaccer Design System
275 lines (228 loc) • 6 kB
CSS
.Chip {
display: flex;
box-sizing: border-box;
border-radius: var(--border-radius-30);
width: fit-content;
justify-content: space-between;
border-style: solid;
border-width: var(--border-width-2-5);
align-items: center;
flex-direction: row;
cursor: default;
transition: var(--duration--fast-01) var(--standard-productive-curve);
}
.Chip-size--regular {
height: var(--spacing-60);
}
.Chip-size--small {
height: 20px;
}
.Chip-wrapper {
display: inline-flex;
align-items: center;
}
.Chip-content {
display: flex;
align-items: center;
min-width: 0;
flex: 1;
align-self: stretch;
padding-top: var(--spacing-05);
padding-bottom: var(--spacing-05);
padding-right: var(--spacing-20);
}
.Chip-content--regular {
padding-left: var(--spacing-20);
}
.Chip-content--small {
padding-left: var(--spacing-15);
}
.Chip-content:focus-visible {
outline: none;
}
.Chip-icon--left {
margin-right: var(--spacing-10);
display: flex;
align-items: center;
}
.Chip-icon--right {
display: flex;
align-items: center;
justify-content: center;
border-radius: var(--border-radius-full);
}
.Chip-icon--rightSmall {
width: var(--spacing-60);
height: var(--spacing-60);
box-sizing: border-box;
padding: var(--spacing-15);
margin-left: calc(var(--spacing-05) * -1);
margin-right: calc((var(--spacing-05) + var(--spacing-2-5)) * -1);
flex-shrink: 0;
}
.Chip--action {
background: var(--secondary-light);
border: 0px;
cursor: pointer;
}
.Chip--action:hover {
background: var(--secondary);
}
.Chip--action:has(.Chip-content:focus-visible) {
outline: var(--border-width-05) solid var(--primary-focus);
outline-offset: var(--spacing-05);
}
.Chip--action:active {
background: var(--secondary-dark);
}
.Chip-action--disabled {
background: var(--secondary-light);
opacity: var(--opacity-12);
border: 0px;
outline: none;
cursor: not-allowed;
}
.Chip--selection {
background: var(--shadow-0);
border-color: var(--stone);
cursor: pointer;
}
.Chip--selection:hover {
background: var(--secondary-lighter);
border-color: var(--secondary-dark);
}
.Chip--selection:has(.Chip-content:focus-visible) {
outline: var(--border-width-05) solid var(--primary-focus);
outline-offset: var(--spacing-05);
}
.Chip--selection:active {
background: var(--secondary-light);
border-color: var(--inverse-lightest);
}
.Chip-selection--disabled {
background: var(--white);
border-color: var(--secondary);
opacity: var(--opacity-12);
cursor: not-allowed;
}
.Chip-selection--selected {
background: var(--primary-ultra-light);
border-color: var(--primary);
box-shadow: inset 0 0 0 1px var(--primary);
}
.Chip-selection--selected:hover {
background: var(--primary-lightest);
border-color: var(--primary);
box-shadow: inset 0 0 0 1px var(--primary);
}
.Chip-selection--selected:has(.Chip-content:focus-visible) {
outline: var(--border-width-05) solid var(--primary-focus);
outline-offset: var(--spacing-05);
}
.Chip-selection--selected:active {
background: var(--primary-lighter);
border-color: var(--primary-dark);
box-shadow: inset 0 0 0 1px var(--primary-dark);
}
.Chip-selection--selected:active .Chip-icon,
.Chip-selection--selected:active .Chip-text {
color: var(--primary-darker);
}
.Chip-text--truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline;
max-width: 100%;
}
.Chip-selection--selectedDisabled {
background: var(--primary-ultra-light);
border-color: var(--primary-lightest);
box-shadow: inset 0 0 0 1px var(--primary-lightest);
opacity: 1;
}
.Chip--input {
background: var(--secondary-light);
font-weight: var(--font-weight-normal);
border: 0px;
}
.Chip--input:hover {
background: var(--secondary);
}
.Chip--input:has(.Chip-content:focus-visible) {
outline: var(--border-width-05) solid var(--primary-focus);
outline-offset: var(--spacing-05);
}
.Chip--input:active {
background: var(--secondary-dark);
}
.Chip-input--disabled {
background: var(--secondary-lighter);
opacity: var(--opacity-12);
cursor: not-allowed;
border: 0px;
}
.Chip-icon--right:focus-visible {
outline: var(--border-width-05) solid var(--primary-focus);
outline-offset: var(--spacing-05);
}
.Chip-icon--right:hover {
background-color: var(--secondary);
}
.Chip-icon--right:active {
background-color: var(--secondary-dark);
}
.Chip-icon-disabled--right {
pointer-events: none;
}
.Chip-icon--selected {
border-radius: var(--border-radius-full);
}
.Chip-icon--selected:focus-visible {
outline: var(--border-width-05) solid var(--primary-focus);
outline-offset: var(--spacing-05);
}
.Chip-icon--selected:hover {
background-color: var(--primary-lighter);
}
.Chip-icon--selected:active {
background-color: var(--primary-light);
}
.Chip-selection--disabled:has(.Chip-content:focus-visible),
.Chip-icon-disabled--right:focus-visible,
.Chip-selection--selectedDisabled:has(.Chip-content:focus-visible),
.Chip-input--disabled:has(.Chip-content:focus-visible) {
outline: none;
}
.Chip-icon--clear .Chip-content {
padding-right: 0;
}
@media (forced-colors: active) {
/* Action chips: border:0 makes them invisible — add a real border */
.Chip--action {
border: var(--border-width-2-5) solid ButtonText;
}
/* Input chips: border:0 makes them invisible — add a real border */
.Chip--input {
border: var(--border-width-2-5) solid ButtonText;
}
/* Selected state uses inset box-shadow as a double border on top of the existing border-color */
.Chip-selection--selected,
.Chip-selection--selected:hover,
.Chip-selection--selected:active,
.Chip-selection--selectedDisabled {
border-color: Highlight;
box-shadow: none;
}
.Chip-action--disabled,
.Chip-input--disabled {
opacity: 1;
color: GrayText;
border: var(--border-width-2-5) solid GrayText;
}
.Chip-selection--disabled {
opacity: 1;
color: GrayText;
border-color: GrayText;
}
}