UNPKG

@innovaccer/design-system

Version:

React components library project for Innovaccer Design System

241 lines (194 loc) 5.49 kB
.Listbox { margin: 0; padding: 0; display: flex; list-style-type: none; flex-direction: column; } .Listbox-item { display: flex; align-items: center; padding-left: var(--spacing-40); padding-right: var(--spacing-40); } .Listbox-item-wrapper { width: 100%; } .Listbox-item-wrapper:last-child > .Listbox-divider, .Listbox-item--draggable:last-child .Listbox-divider { background: transparent; } /* Sizes */ .Listbox-item--tight { padding-top: var(--spacing-10); padding-bottom: var(--spacing-10); } .Listbox-item--compressed { padding-top: var(--spacing-20); padding-bottom: var(--spacing-20); } .Listbox-item--standard { padding-top: var(--spacing-30); padding-bottom: var(--spacing-30); } /* Listbox type - option */ .Listbox-item--option { cursor: pointer; } .Listbox-item--option:hover { background-color: var(--secondary-lightest); } .Listbox-item--option:focus-visible { outline: var(--border-width-05) solid var(--primary-focus); outline-offset: calc(-1 * var(--border-width-05)); } .Listbox-item--option:active { background: var(--secondary-lighter); } .Listbox-item--selected { position: relative; background: color-mod(var(--primary-lightest) a(var(--opacity-12))); } .Listbox-item--selected::before { content: ''; position: absolute; top: var(--spacing-10); left: var(--spacing-10); width: var(--spacing-20); height: var(--spacing-20); background-color: var(--primary); clip-path: polygon(0 0, 100% 0, 0 100%); } .Listbox-item--tight.Listbox-item--selected::before { top: var(--spacing-05); left: var(--spacing-05); } .Listbox-item--selected:hover { background: color-mod(var(--primary-lighter) a(var(--opacity-12))); } .Listbox-item--selected:focus-visible { outline: var(--border-width-05) solid var(--primary-focus); outline-offset: calc(-1 * var(--border-width-05)); } .Listbox-item--selected:active { background: var(--primary-lighter); } /* Listbox type - resource */ .Listbox-item--resource { cursor: pointer; } .Listbox-item--resource:hover { background-color: var(--secondary-lightest); } .Listbox-item--resource:focus-visible { outline: var(--border-width-05) solid var(--primary-focus); outline-offset: calc(-1 * var(--border-width-05)); } .Listbox-item--resource:active { background: var(--secondary-lighter); } .Listbox-item--activated { position: relative; background: var(--primary-lightest); } .Listbox-item--activated::before { content: ''; position: absolute; top: var(--spacing-10); left: var(--spacing-10); width: var(--spacing-20); height: var(--spacing-20); background-color: var(--primary); clip-path: polygon(0 0, 100% 0, 0 100%); } .Listbox-item--tight.Listbox-item--activated::before { top: var(--spacing-05); left: var(--spacing-05); } /* Listbox type - description */ .Listbox-item--description:focus-visible { outline: none; } /* Listbox type - disabled */ .Listbox-item--disabled { opacity: var(--opacity-10); pointer-events: none; } /* Listbox type - draggable */ .Listbox-item--draggable:hover { background-color: var(--secondary-lightest); } .Listbox-item--draggable:focus-visible { outline: var(--border-width-05) solid var(--primary-focus); outline-offset: calc(-1 * var(--border-width-05)); } .Listbox-item--drag-icon { cursor: grab; padding: var(--spacing-10); margin-right: calc(var(--spacing-20) - var(--spacing-10)); margin-left: calc(-1 * var(--spacing-10)); border-radius: var(--border-radius-10); transition: background-color var(--duration--moderate-01) var(--standard-productive-curve), color var(--duration--moderate-01) var(--standard-productive-curve), box-shadow var(--duration--moderate-01) var(--standard-productive-curve); } .Listbox-item--drag-icon:focus-visible { outline: var(--border-width-05) solid var(--primary-focus); outline-offset: var(--spacing-05); } .Listbox-item--drag-icon:hover { background-color: var(--secondary); color: var(--inverse); } .Listbox-item--drag-icon:active { background-color: var(--secondary-dark); color: var(--primary); } /* Drag and reorder interaction states */ .Listbox-item--sticky-picked, .Listbox-item--drag-picked { background-color: var(--text-white); box-shadow: var(--shadow-l); rotate: 0.5deg; cursor: grabbing; z-index: 1000; position: relative; } .Listbox-item--sticky-picked .Listbox-item--selected, .Listbox-item--drag-picked .Listbox-item--selected { background-color: color-mod(var(--primary-lightest) a(var(--opacity-12))); } .Listbox-item--sticky-picked .Listbox-item--drag-icon { background-color: var(--primary); color: var(--text-white); } .Listbox-item--drag-picked .Listbox-item--drag-icon { background-color: var(--primary-ultra-light); color: var(--primary); box-shadow: inset 0 0 0 var(--border-width-2-5) var(--primary); } .Listbox-aria-live { position: absolute; width: var(--spacing-2-5); height: var(--spacing-2-5); padding: 0; margin: calc(-1 * var(--spacing-2-5)); overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } @media (forced-colors: active) { .Listbox-item--description:focus-visible { outline: var(--border-width-05) solid Highlight; outline-offset: calc(-1 * var(--border-width-05)); } .Listbox-item--disabled { opacity: 1; color: GrayText; } .Listbox-item--selected::before, .Listbox-item--activated::before { background-color: Highlight; } }