UNPKG

solid-panes

Version:

Solid-compatible Panes: applets and views for the mashlib and databrowser

243 lines (216 loc) • 4.57 kB
.menu-content { display: flex; flex-direction: column; gap: 0.5rem; min-height: 0; overflow-y: auto; } .app-nav.mobile-hidden .menu-content, .app-nav.mobile-visible .menu-content { padding-top: 0.75rem; } .menu-footer { width: 100%; padding: 1rem; border-top: 1px solid var(--color-border, #d1d1d1); font-size: 0.875rem; color: var(--color-text-muted, #555); line-height: 1.4; background: inherit; } .app-nav.collapsed .menu-footer { display: none; text-align: center; padding: 0.75rem 0; } .menu-item { display: flex; align-items: center; gap: var(--spacing-2xs, 0.625rem); border: 0; border-radius: var(--border-radius-sm, 0.2rem); padding: 0.5rem var(--spacing-xs, 0.75rem); background: transparent; color: var(--color-text-heading, #000000); text-decoration: none; width: 100%; text-align: left; cursor: pointer; } .menu-toggle-icon { width: 30px; height: 30px; } .menu-item-icon { width: var(--icon-xxs, 1rem); height: var(--icon-xxs, 1rem); flex: 0 0 var(--icon-xxs, 1rem); object-fit: contain; } .menu-item-label { min-width: 0; } .menu-item:hover, .menu-item:focus { background: var(--color-header-menu-item-hover, #e6dcff); } .menu-item-active, .menu-item-active:hover, .menu-item-active:focus { background: var(--color-header-menu-item-selected, #cbb9ff); color: var(--color-header-menu-item-text-selected, #7c4cff); } .menu-toggle { position: fixed; top: 0.5rem; left: 1rem; z-index: 300; display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem; min-width: var(--icon-md, 2.5rem); height: var(--icon-md, 2.5rem); padding: 0 0.625rem; border: 1px solid var(--color-border); background: var(--color-menu-bg, #ffffff); color: var(--color-text); border-radius: var(--border-radius-sm, 0.2rem); margin: 0; } .menu-toggle-label { font-size: 1.2rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 10rem; } .menu-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.35); z-index: 100; } .app-nav { position: fixed; left: 0; top: 0; bottom: 0; width: min(18rem, 320px); display: grid; grid-template-rows: 1fr auto; overflow: hidden; background: var(--color-menu-bg, #ffffff); border-right: 1px solid var(--color-border); z-index: 10; } .app-nav.mobile-hidden, .app-nav.mobile-visible { position: fixed; left: 0; top: 0; bottom: 0; width: min(80vw, 320px); height: 100vh; min-height: 100vh; transform: translateX(-100%); transition: transform 0.25s ease-in-out; z-index: 999; display: flex; flex-direction: column; background: var(--color-menu-bg, #ffffff); border-right: none; box-shadow: none; overflow: hidden; padding-top: 3.75rem; } .app-nav.mobile-hidden .menu-content, .app-nav.mobile-visible .menu-content { flex: 1; min-height: 0; } .app-nav.mobile-visible { transform: translateX(0); visibility: visible; background: var(--color-menu-bg, #ffffff); } .menu-header { display: none; position: absolute; top: 0; left: 0; right: 0; align-items: center; justify-content: flex-start; background-color: #42345a !important; color: #ffffff; font-weight: 600; min-height: 3.75rem; height: 3.75rem; box-sizing: border-box; width: 100%; z-index: 1000; border-right: none; box-shadow: none; } .app-nav.mobile-hidden .menu-header, .app-nav.mobile-visible .menu-header { display: flex; } .menu-header-title { font-size: 1.25rem; color: #ffffff; } .menu-close { border: none; background: transparent; color: #ffffff; font-size: 1.25rem; cursor: pointer; padding-left: 1.25rem; line-height: 1; } .menu-close:hover, .menu-close:focus { opacity: 0.85; } .app-nav.collapsed { width: 4.5rem; min-width: 4.5rem; } .app-nav.collapsed .menu-content { gap: 0.25rem; align-items: center; } .app-nav.collapsed .menu-item { justify-content: center; padding-left: 0.5rem; padding-right: 0.5rem; } .app-nav.collapsed .menu-item-label { display: none; } .menu-collapse { position: fixed; left: 3rem; bottom: 8rem; z-index: 320; width: 1.25rem; height: 1.25rem; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-text); font-size: 1.3rem; line-height: 1; cursor: pointer; box-shadow: 0 1px 4px rgba(124,77,255,0.12); } @media (max-width: 768px) { .menu-collapse { display: none; } }