UNPKG

@geogirafe/lib-geoportal

Version:

GeoGirafe is a flexible application to build online geoportals.

165 lines (145 loc) 2.77 kB
/* SPDX-License-Identifier: Apache-2.0 */ .hidden { display: none; } #searchbox { background-color: var(--bkg-color); height: 3rem; border-right: none; border-radius: 4px; border: none; width: 100%; display: flex; flex-direction: row; box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2); position: absolute; z-index: 101; } #search { z-index: 2; font-size: 1.8em; line-height: 1.8em; outline: none; margin: 0 0 0 0.5rem; padding-left: 0.8rem; border: 0; width: 100%; flex: 1 1 auto; -ms-flex: 1 1 auto; -webkit-flex: 1 1 auto; -webkit-appearance: none; background: transparent; color: var(--text-color); } #search::placeholder { color: inherit; opacity: 0.4; } #search:focus::placeholder { opacity: 0; color: transparent; transition: opacity 0.3s ease; } .search-icon, .close-icon, .select-color-icon { width: 17px; color: var(--text-color); padding: 0 1rem; opacity: 0.7; } .close-button, .select-color-button { border: none; padding: 0; background-color: transparent; cursor: pointer; } #results { z-index: 100; position: fixed; top: 0; left: 0; right: 0; background-color: var(--bkg-color); overflow-x: hidden; scrollbar-width: thin; bottom: 0; /* padding-top = top-position of search field + height of search field + gap */ padding-top: calc(max(2.5em, calc(env(safe-area-inset-top) + 0.5rem)) + 3rem + 1rem); } .entry { display: inline-block; padding: 0.3rem 1rem; width: calc(36rem - 2rem); line-height: 1.3rem; color: var(--text-color); } .provider, .group { font-weight: 600; line-height: 3rem; font-size: 1.3rem; } .provider { font-size: 1.5rem; margin-top: 1rem; background-color: color-mix(in srgb, var(--bkg-color-grad1) 75%, transparent); border: 0 solid var(--bkg-color-grad2); border-width: 1px 0; } #results > .provider:first-child { margin-top: 0; } .result { cursor: pointer; border: none; border-top: solid 1px #ccc; background: transparent; text-align: left; width: 100%; } .entry img { margin-right: 1rem; width: 0.8em; } .entry span { text-transform: uppercase; } .result.selected { background-color: var(--bkg-color-grad2) !important; color: var(--text-color); } #no-result { position: absolute; background: var(--warning-color); top: 3rem; padding: 0.5rem 0; border-radius: 6px; opacity: 0.75; font-size: 1rem; width: fit-content; left: 0; right: 0; margin: auto; visibility: hidden; pointer-events: none; } #no-result > span { padding: 1.3rem; } @keyframes fadeOut { 0% { opacity: 1; } 80% { opacity: 1; } 100% { opacity: 0; } } .shown-then-fadeout { visibility: visible !important; animation: fadeOut 2s ease-in-out forwards; }