UNPKG

@roadtrip/css

Version:

CSS framework for Roadtrip Design System

134 lines (111 loc) 2.14 kB
/* * Dropdown * * Index * - Dropdown * - Dropdown menu * - Dropdown item */ /* DROPDOWN -------------------- */ .dropdown { position: relative; width: max-content; font-family: var(--road-font); } .dropdown summary { display: block; outline: none; } .dropdown summary::-webkit-details-marker { /* remove native arrow */ display: none; } .dropdown-button{ position: relative; z-index: 1; width: 3.5rem; height: 3.5rem; cursor: pointer; border-radius: 0.25rem; } .dropdown-md-button{ position: relative; z-index: 1; width: 2.5rem; height: 2.5rem; cursor: pointer; border-radius: 0.25rem; } .dropdown-button svg{ width: 2.5rem; height: 2.5rem; } .dropdown-md-button svg{ width: 1.75rem; height: 1.75rem; } .dropdown-header-top-right{ justify-content: flex-end; } /** * Open state */ .dropdown[open] .dropdown-menu { transform: scaleY(1); } .dropdown[open] .dropdown-menu.dropup { position: absolute; bottom: 0; left: 0; transform: translate3d(0, -56px, 0); will-change: transform; } /* MENU -------------------- */ .dropdown-menu { position: absolute; display: flex; flex-direction: column; width: 100%; min-width: 16.875rem; padding: 0.5rem 0; color: var(--road-on-surface); background: var(--road-surface); border: 1px solid; border-color: var(--road-outline-weak); border-radius: 0.25rem; box-shadow: var(--road-elevation-low); transition: transform 0.2s ease-in-out; transform: scaleY(0); transform-origin: 0 0; } /* ITEM -------------------- */ .dropdown-item { display: flex; align-items: center; min-height: 40px; padding: 0 1rem; font-size: var(--road-body-medium); line-height: 1.5; color: var(--road-on-surface); text-align: left; text-decoration: none; cursor: pointer; background: var(--road-surface); border: none; outline: none; } .dropdown-item svg{ margin-right: 0.7rem; } .dropdown-item-border { border-bottom: 1px solid var(--road-outline-weak); } /** * Hover state */ .dropdown-item:hover, .dropdown-item.focus-visible { background: var(--road-surface-inverse); }