UNPKG

@studiocms/ui

Version:

The UI library for StudioCMS. Includes the layouts & components we use to build StudioCMS.

190 lines (189 loc) 4.69 kB
.sui-select-label { width: fit-content; display: flex; flex-direction: column; gap: 0.25rem; min-width: 200px; position: relative; height: fit-content; } .sui-select-label.full, .sui-select-label.full .sui-select-button { width: 100%; } .sui-select-label.disabled { opacity: 0.5; pointer-events: none; color: hsl(var(--text-muted)); } .label { font-size: 14px; } .req-star { color: hsl(var(--danger-base)); font-weight: 700; } .sui-select-button { padding: 0.5rem 0.75rem 0.5rem 0.75rem; border-radius: var(--radius-md); border: 1px solid hsl(var(--border)); background: hsl(var(--background-step-2)); color: hsl(var(--text-normal)); transition: background, border 0.15s ease; display: flex; flex-direction: row; align-items: center; justify-content: space-between; cursor: pointer; gap: 1rem; } .sui-select-button:focus { border: 1px solid hsl(var(--primary-base)); } .sui-select-button:hover, .sui-select-button:focus { background: hsl(var(--background-step-3)); } .sui-select-button.active, .sui-select-button:active, .sui-select-button:has(+ .sui-select-dropdown.active) { border: 1px solid hsl(var(--primary-base)); background: hsl(var(--background-step-2)); } .sui-select-button:has(.sui-select-badge-container) { padding: 0.5rem 0.75rem 0.5rem 0.5rem; } .sui-select-value-span { position: relative; display: flex; align-items: flex-start; gap: 0.25rem; } .sui-select-dropdown-container { width: 100%; display: flex; flex-direction: column; gap: 0.25rem; position: relative; height: fit-content; } .sui-select-dropdown { position: absolute; width: 100%; top: calc(100% + 0.25rem); left: 0; display: none; max-height: 300px; border: 1px solid hsl(var(--border)); border-radius: var(--radius-md); background-color: hsl(var(--background-step-2)); z-index: 90; box-shadow: 0px 4px 8px hsl(var(--shadow), 0.5); overflow: hidden; } .sui-select-dropdown-list { width: 100%; list-style: none; margin: 0; padding: 0; flex-direction: column; overflow-y: auto; scrollbar-color: hsl(var(--border)) hsl(var(--background-step-2)); } .sui-select-dropdown.active { display: flex; } .sui-select-dropdown.above { top: auto; bottom: calc(100% + 0.25rem); } .sui-select-option { padding: 0.5rem; cursor: pointer; font-size: 0.975em; transition: all 0.15s ease; } .sui-select-option.disabled { pointer-events: none; color: hsl(var(--text-muted)); } .sui-select-option:hover, .sui-select-option:focus, .sui-select-option.focused { background-color: hsl(var(--background-step-3)); } .sui-select-label[data-multiple=true] .sui-select-option.selected:hover, .sui-select-label[data-multiple=true] .sui-select-option.selected:focus, .sui-select-label[data-multiple=true] .sui-select-option.selected.focused { background-color: hsl(var(--primary-hover)); } .sui-select-option:focus { outline: none; border: none; } .sui-select-option.selected { background-color: hsl(var(--primary-base)); color: hsl(var(--text-inverted)); cursor: default; } .sui-select-label[data-multiple=true] .sui-select-option.selected { cursor: pointer; } .sui-hidden-select { height: 0; width: 0; border: none; outline: none; position: absolute; background-color: transparent; pointer-events: none; opacity: 0; } .sui-select-badge-container { display: flex; flex-direction: row; gap: 0.25rem; width: fit-content; } .sui-select-badge-container-below:has(.sui-select-badge-container) .sui-select-badge-container { display: flex; flex-direction: row; width: 100%; margin-top: 0.5rem; gap: 0.5rem; flex-wrap: wrap; } .sui-select-label:has(.sui-select-max-span) .sui-select-badge-container { margin-top: 0rem; } .sui-select-badge-container .sui-select-badge.sui-badge { white-space: nowrap; cursor: default; position: relative; padding-right: 2rem; border-block: 1.5px solid rgba(0, 0, 0, 0); } .sui-select-badge-container .sui-select-badge.sui-badge svg { position: absolute; right: 0.25rem; padding: 4px; height: 20px; width: 20px; aspect-ratio: 1 / 1; border-radius: 999px; cursor: pointer; outline: 1px solid hsla(var(--border), 0); transition: background-color 0.15s ease, outline 0.15s ease; } .sui-select-badge-container .sui-select-badge.sui-badge svg:hover { background-color: hsla(100, 100%, 95%, 0.2); } .sui-select-badge-container .sui-select-badge.sui-badge svg:active, .sui-select-badge-container .sui-select-badge.sui-badge svg:focus { background-color: hsla(100, 100%, 95%, 0.2); outline: 1px solid hsl(var(--border)); } .sui-select-max-span { font-size: 0.875em; color: hsl(var(--text-muted)); }