124 lines
2.5 KiB
SCSS
124 lines
2.5 KiB
SCSS
#search-modal {
|
|
display: flex;
|
|
position: fixed;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
z-index: 9999;
|
|
transition: visibility var(--transition), opacity var(--transition);
|
|
inset: 0;
|
|
background-color: var(--shade-color);
|
|
padding-block-start: 15vh;
|
|
width: 100%;
|
|
height: 100vh;
|
|
|
|
&.active {
|
|
visibility: visible;
|
|
opacity: 1;
|
|
|
|
#search-modal-content {
|
|
transform: none;
|
|
}
|
|
}
|
|
|
|
&-content {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 1rem;
|
|
transform: var(--hover);
|
|
backdrop-filter: var(--blur);
|
|
-webkit-backdrop-filter: var(--blur);
|
|
transition:
|
|
border-radius var(--transition),
|
|
padding var(--transition),
|
|
max-width var(--transition),
|
|
transform var(--transition-bezier-longer);
|
|
margin: -0.5rem;
|
|
box-shadow: var(--edge-highlight), var(--shadow-glass);
|
|
border-radius: 2.25rem 2.25rem 1.75rem 1.75rem;
|
|
background-color: var(--glass-bg-1);
|
|
padding: 1rem;
|
|
width: calc(100% - 2rem);
|
|
max-width: calc(var(--content-width) / 1.5);
|
|
overflow: hidden;
|
|
|
|
&:has(#search-results:empty) {
|
|
border-radius: 1.75rem;
|
|
padding: 0.5rem;
|
|
max-width: calc(var(--content-width) / 2);
|
|
}
|
|
|
|
& > div {
|
|
position: relative;
|
|
}
|
|
}
|
|
|
|
#search-input {
|
|
flex-shrink: 0;
|
|
box-shadow: var(--edge-highlight);
|
|
border-radius: 9999px;
|
|
padding: 0 1rem;
|
|
width: 100%;
|
|
height: 2.5rem;
|
|
|
|
&:placeholder-shown + div .icon {
|
|
transform: none;
|
|
opacity: var(--disabled-opacity);
|
|
pointer-events: all;
|
|
}
|
|
|
|
& + div .icon {
|
|
position: absolute;
|
|
transform: translateX(0.5rem);
|
|
opacity: 0;
|
|
transition: opacity var(--transition), transform var(--transition-bezier);
|
|
cursor: help;
|
|
inset-block-start: 0.625rem;
|
|
inset-inline-end: 1rem;
|
|
pointer-events: none;
|
|
color: var(--fg-muted-2);
|
|
font-size: 1.25rem;
|
|
}
|
|
}
|
|
|
|
#search-results {
|
|
display: none;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
gap: 0.5rem;
|
|
margin: -1rem;
|
|
padding: 1rem;
|
|
max-height: 50vh;
|
|
overflow: auto;
|
|
scrollbar-width: thin;
|
|
|
|
.item {
|
|
display: inline-flex;
|
|
flex-direction: column;
|
|
box-shadow: var(--edge-highlight);
|
|
border-radius: var(--rounded-corner);
|
|
background-color: var(--bg-muted-1);
|
|
padding: 0.75rem 1rem;
|
|
|
|
a {
|
|
text-decoration: none;
|
|
|
|
&::after {
|
|
content: " →";
|
|
}
|
|
}
|
|
|
|
span {
|
|
margin-block-start: 0.25rem;
|
|
border-block-start: rpx(1) solid var(--bg-muted-2);
|
|
padding-block-start: 0.25rem;
|
|
color: var(--fg-muted-2);
|
|
|
|
strong {
|
|
color: var(--fg-color);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|