UNPKG

@cbpds/web-components

Version:
105 lines (102 loc) 3.17 kB
/* * Caution: "global styles" get injected into every component and can cause file size bloat. * These should only include SASS variables and mixins that are not written out to CSS directly */ /* * @prop --cbp-drawer-color-bg: var(--cbp-color-white); * @prop --cbp-drawer-color-bg-dark: var(--cbp-color-gray-cool-70); * @prop --cbp-drawer-color-backdrop: var(--cbp-color-backdrop-light); * @prop -cbp-drawer-color-backdrop-dark: var(--cbp-color-backdrop-dark); */ :root { --cbp-drawer-color-bg: var(--cbp-color-white); --cbp-drawer-color-bg-dark: var(--cbp-color-gray-cool-70); --cbp-drawer-color-backdrop: var(--cbp-color-backdrop-light); --cbp-drawer-color-backdrop-dark: var(--cbp-color-backdrop-dark); --cbp-drawer-close-button-color: var(--cbp-color-interactive-secondary-darker); --cbp-drawer-close-button-color-hover: var(--cbp-color-text-lightest); --cbp-drawer-close-button-color-bg-hover: var(--cbp-color-interactive-secondary-darker); --cbp-drawer-close-button-color-border-hover: var(--cbp-color-interactive-secondary-darker); } /* * Dark Mode - display dark design based on mode or context */ [data-cbp-theme=light] cbp-drawer[context*=dark], [data-cbp-theme=dark] cbp-drawer:not([context=dark-inverts]):not([context=light-always]) { --cbp-drawer-color-bg: var(--cbp-drawer-color-bg-dark); --cbp-drawer-color-backdrop: var(--cbp-drawer-color-backdrop-dark); } cbp-drawer { all: unset; display: none; position: relative; } cbp-drawer:not(.cbp-drawer--persistent) { --cbp-panel-border-radius: 0; --cbp-panel-border-width: 0; } cbp-drawer.cbp-drawer--persistent { display: block; } cbp-drawer.cbp-drawer--persistent .cbp-drawer__content { height: auto; } cbp-drawer .cbp-drawer__content { display: flex; flex-direction: column; top: 0; overflow-y: auto; z-index: var(--cbp-z-index-level-top); width: 100%; height: 101%; margin: 0; padding: 0; border: 0; max-width: 100%; max-height: 101%; transition: 0.5s; height: 100%; background-color: var(--cbp-drawer-color-bg); } cbp-drawer .cbp-drawer__content .cbp-drawer__close-button { position: absolute; right: 1rem; top: 1em; } cbp-drawer .cbp-drawer__content .cbp-drawer__close-button[fill][color] { --cbp-button-color: var(--cbp-drawer-close-button-color); --cbp-button-color-hover: var(--cbp-drawer-close-button-color-hover); } cbp-drawer[open] { display: block; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: calc(var(--cbp-z-index-level-top) - 1); overflow-y: auto; background-color: var(--cbp-drawer-color-backdrop); } cbp-drawer[open][position=left] .cbp-drawer__content { left: -100%; box-shadow: var(--cbp-shadow-level-4-right); } cbp-drawer[open][position=left] .cbp-drawer__content.cbp-drawer--open { left: 0; } cbp-drawer[open][position=right] .cbp-drawer__content { right: -100%; box-shadow: var(--cbp-shadow-level-4-left); } cbp-drawer[open][position=right] .cbp-drawer__content.cbp-drawer--open { right: 0; } cbp-drawer[open] .cbp-drawer__content { position: fixed; } @media (min-width: 37.5em) { cbp-drawer[open] .cbp-drawer__content { width: 25rem; } }