UNPKG

formstone

Version:

Library of modular front end components.

155 lines (132 loc) 4.8 kB
.fs-navigation { box-sizing: border-box; } .fs-navigation, .fs-navigation-content { --fs-navigation-offscreen-background: #fff; --fs-navigation-offscreen-width: 80vw; --fs-navigation-offscreen-zindex: 0; --fs-navigation-offscreen-duration: 0.2s; --fs-navigation-offscreen-timing: ease; --fs-navigation-overlay-zindex: 3; --fs-navigation-overlay-content-background: rgba(0, 0, 0, 0.8); --fs-navigation-overlay-content-zindex: 2; --fs-navigation-push-zindex: 0; --fs-navigation-push-content-zindex: 1; } @media (prefers-reduced-motion) { .fs-navigation, .fs-navigation-content { --fs-navigation-offscreen-duration: 0s; } } .fs-navigation-toggle-nav.fs-navigation-enabled:not(.fs-navigation-open) { display: none; } .fs-navigation-toggle-handle.fs-navigation-enabled { width: 100%; cursor: pointer; display: block; } .fs-navigation-push-nav.fs-navigation-enabled, .fs-navigation-reveal-nav.fs-navigation-enabled, .fs-navigation-overlay-nav.fs-navigation-enabled { width: var(--fs-navigation-offscreen-width); height: calc(100% + 60px); position: fixed; top: 0; background: var(--fs-navigation-offscreen-background); display: block; overflow-y: scroll; visibility: hidden; overscroll-behavior: contain; } .fs-navigation-reveal-nav.fs-navigation-animated { transition: visibility 0.001s linear var(--fs-navigation-offscreen-duration); } .fs-navigation-push-nav.fs-navigation-animated, .fs-navigation-overlay-nav.fs-navigation-animated { transition: transform var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), visibility 0.001s linear var(--fs-navigation-offscreen-duration); } .fs-navigation-push-nav.fs-navigation-enabled, .fs-navigation-reveal-nav.fs-navigation-enabled { z-index: var(--fs-navigation-push-zindex); } .fs-navigation-push-left-nav.fs-navigation-enabled, .fs-navigation-reveal-left-nav.fs-navigation-enabled, .fs-navigation-overlay-left-nav.fs-navigation-enabled { left: 0; } .fs-navigation-push-right-nav.fs-navigation-enabled, .fs-navigation-reveal-right-nav.fs-navigation-enabled, .fs-navigation-overlay-right-nav.fs-navigation-enabled { right: 0; } .fs-navigation-push-left-nav.fs-navigation-enabled, .fs-navigation-overlay-left-nav.fs-navigation-enabled { transform: translate3d(calc(var(--fs-navigation-offscreen-width) * -1), 0, 0); } .fs-navigation-push-right-nav.fs-navigation-enabled, .fs-navigation-overlay-right-nav.fs-navigation-enabled { transform: translate3d(var(--fs-navigation-offscreen-width), 0, 0); } .fs-navigation-overlay-nav.fs-navigation-enabled { z-index: var(--fs-navigation-overlay-zindex); } .fs-navigation-reveal-nav.fs-navigation-open { visibility: visible; transition: visibility 0.001s linear; } .fs-navigation-push-nav.fs-navigation-open, .fs-navigation-overlay-nav.fs-navigation-open { transform: translate3d(0, 0, 0); transition: transform var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), visibility 0.001s linear; visibility: visible; } .fs-navigation-push-handle.fs-navigation-enabled, .fs-navigation-overlay-handle.fs-navigation-enabled { cursor: pointer; display: block; } .fs-navigation-overlay-content:before { width: 100%; height: 100%; height: calc(100% + 60px); position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: var(--fs-navigation-overlay-content-zindex); background: var(--fs-navigation-overlay-content-background); content: ''; display: block; opacity: 0; overflow-y: scroll; overscroll-behavior: contain; transition: background var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), opacity var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing), visibility var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing); visibility: hidden; } .fs-navigation-overlay-content.fs-navigation-open:before { opacity: 1; visibility: visible; } .fs-navigation-reveal-content.fs-navigation-enabled, .fs-navigation-push-content.fs-navigation-enabled { position: relative; z-index: var(--fs-navigation-push-content-zindex); display: block; transform: translate3d(0, 0, 0); } .fs-navigation-reveal-content.fs-navigation-animated, .fs-navigation-push-content.fs-navigation-animated { transition: transform var(--fs-navigation-offscreen-duration) var(--fs-navigation-offscreen-timing); } .fs-navigation-reveal-left-content.fs-navigation-open, .fs-navigation-push-left-content.fs-navigation-open { transform: translate3d(var(--fs-navigation-offscreen-width), 0, 0); } .fs-navigation-reveal-right-content.fs-navigation-open, .fs-navigation-push-right-content.fs-navigation-open { transform: translate3d(calc(var(--fs-navigation-offscreen-width) * -1), 0, 0); }