@helpwave/hightide
Version:
helpwave's component and theming library
132 lines (101 loc) • 2.76 kB
CSS
@layer components {
[data-name="app-page"] {
@apply flex-row-0 h-dvh min-h-dvh max-h-dvh w-screen overflow-hidden overflow-x-hidden;
}
[data-name="app-sidebar-backdrop"] {
@apply fixed inset-0 z-40 touch-manipulation bg-overlay-shadow;
@variant desktop {
@apply hidden;
}
}
[data-name="app-sidebar-container"] {
@apply fixed inset-y-0 min-w-full h-screen p-4;
padding-top: calc(max(env(safe-area-inset-top), var(--spacing) * 4));
padding-bottom: calc(max(env(safe-area-inset-bottom), var(--spacing) * 4));
@variant tablet {
@apply min-w-6/10;
}
@variant desktop {
@apply relative min-w-64 max-w-72;
}
&:not([data-open]) {
@apply hidden;
@variant desktop {
@apply block;
}
}
}
[data-name="app-sidebar-content"] {
@apply relative flex-col-4 rounded-lg bg-surface text-on-surface w-full h-full min-h-0 overflow-hidden shadow-around-md;
@apply transform transition-transform duration-300 ease-out;
&:not([data-open]) {
@apply -translate-x-full pointer-events-none;
@variant desktop {
@apply translate-x-0 pointer-events-auto;
}
}
&[data-open] {
@apply translate-x-0;
}
}
.app-sidebar-close-button {
@apply absolute top-1 right-1 z-10;
@variant desktop {
@apply hidden;
}
}
.app-page-sidebar-with-navigation {
@apply flex-col-0 h-full min-h-0 py-2;
}
.app-page-sidebar-with-navigation-header {
@apply flex-col-0 items-start px-3 mb-8;
@variant desktop {
@apply items-center;
}
}
.app-page-sidebar-with-navigation-scroll {
@apply flex-1 min-h-0 px-3 py-1 overflow-y-auto overscroll-y-contain;
}
.app-page-sidebar-with-navigation-footer {
@apply flex-col-0 px-3 pt-2;
}
[data-name="app-page-body"] {
@apply flex-col-0 grow min-w-0 h-full overflow-hidden;
}
[data-name="app-page-content"] {
@apply flex-col-0 grow min-h-0 overflow-y-auto overscroll-y-contain;
scrollbar-gutter: stable;
&[data-no-scrolling] {
@apply overflow-hidden h-full;
}
}
[data-name="app-page-header"] {
@apply flex-row-2 items-center p-4 bg-background text-on-background;
@variant desktop {
@apply pl-6;
}
}
.app-page-menu-button {
@variant desktop {
@apply hidden;
}
}
[data-name="app-page-main-content"] {
@apply flex-col-0 px-4;
@variant desktop {
@apply pl-6;
}
&[data-outer-no-scrolling] {
@apply overflow-hidden grow;
}
}
.app-page-main-spacer {
@apply min-h-16;
}
.app-page-navigation-item-label {
@apply flex-row-2 items-center w-full;
&[data-active-page] {
@apply text-primary;
}
}
}