127 lines
2.5 KiB
Plaintext
127 lines
2.5 KiB
Plaintext
---
|
|
export interface Props {
|
|
id?: string;
|
|
title: string;
|
|
count?: string;
|
|
intro?: string;
|
|
surface?: boolean;
|
|
className?: string;
|
|
}
|
|
|
|
const {
|
|
id,
|
|
title,
|
|
count,
|
|
intro,
|
|
surface = false,
|
|
className,
|
|
} = Astro.props;
|
|
---
|
|
|
|
<div
|
|
class:list={[
|
|
"glossary-portal-panel",
|
|
surface && "glossary-portal-panel--surface",
|
|
className,
|
|
]}
|
|
>
|
|
<div class="glossary-portal-panel__head">
|
|
<h3 id={id}>{title}</h3>
|
|
{count && <span class="glossary-portal-panel__count">{count}</span>}
|
|
</div>
|
|
|
|
{intro && <p class="glossary-portal-panel__intro">{intro}</p>}
|
|
|
|
<slot />
|
|
</div>
|
|
|
|
<style>
|
|
.glossary-portal-panel{
|
|
display: grid;
|
|
gap: 10px;
|
|
}
|
|
|
|
.glossary-portal-panel--surface{
|
|
padding:
|
|
var(--portal-panel-pad-y, 16px)
|
|
var(--portal-panel-pad-x, 16px);
|
|
border: 1px solid var(--glossary-border, rgba(127,127,127,0.18));
|
|
border-radius: var(--portal-panel-radius, 18px);
|
|
background:
|
|
var(--glossary-bg-soft, rgba(127,127,127,0.035));
|
|
}
|
|
|
|
.glossary-portal-panel__head{
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.glossary-portal-panel__head h3{
|
|
margin: 0;
|
|
font-size: var(--portal-local-h3-size, clamp(1.35rem, 2vw, 1.7rem));
|
|
line-height: var(--portal-local-h3-lh, 1.15);
|
|
letter-spacing: -.02em;
|
|
}
|
|
|
|
.glossary-portal-panel__count{
|
|
display: inline-flex;
|
|
align-items: center;
|
|
min-height: 26px;
|
|
padding: 0 9px;
|
|
border: 1px solid rgba(127,127,127,0.20);
|
|
border-radius: 999px;
|
|
background: rgba(127,127,127,0.04);
|
|
font-size: 11.5px;
|
|
line-height: 1.2;
|
|
opacity: .8;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.glossary-portal-panel__intro{
|
|
margin: 0;
|
|
font-size: var(--portal-card-text-size, 14px);
|
|
line-height: var(--portal-card-text-lh, 1.45);
|
|
opacity: .92;
|
|
}
|
|
|
|
@media (max-width: 760px){
|
|
.glossary-portal-panel{
|
|
gap: 8px;
|
|
}
|
|
|
|
.glossary-portal-panel__head{
|
|
gap: 8px;
|
|
}
|
|
|
|
.glossary-portal-panel__count{
|
|
min-height: 23px;
|
|
padding: 0 8px;
|
|
font-size: 10.5px;
|
|
}
|
|
}
|
|
|
|
@media (orientation: landscape) and (max-width: 920px) and (max-height: 520px){
|
|
.glossary-portal-panel{
|
|
gap: 6px;
|
|
}
|
|
|
|
.glossary-portal-panel__head{
|
|
gap: 6px;
|
|
}
|
|
|
|
.glossary-portal-panel__count{
|
|
min-height: 21px;
|
|
padding: 0 7px;
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
@media (prefers-color-scheme: dark){
|
|
.glossary-portal-panel--surface{
|
|
background: rgba(255,255,255,0.04);
|
|
}
|
|
}
|
|
</style> |