UNPKG

@cbpds/web-components

Version:
92 lines (90 loc) 3.41 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-app-header-color-background: var(--cbp-color-white) * @prop --cbp-app-header-color-background-dark: var(--cbp-color-gray-cool-60); * @prop --cbp-app-header-search-color-focus-outline: var(--cbp-color-interactive-focus-dark); * @prop --cbp-app-header-search-color-focus-outline-dark: var(--cbp-color-interactive-focus-light); * @prop --cbp-app-header-search-color-placeholder: var(--cbp-color-text-dark); * @prop --cbp-app-header-search-color-placeholder-dark: var(--cbp-color-text-light); */ :root { --cbp-app-header-color-background: var(--cbp-color-white); --cbp-app-header-color-background-dark: var(--cbp-color-gray-cool-60); --cbp-app-header-search-color-focus-outline: var(--cbp-color-interactive-focus-dark); --cbp-app-header-search-color-focus-outline-dark: var(--cbp-color-interactive-focus-light); --cbp-app-header-search-color-placeholder: var(--cbp-color-text-dark); --cbp-app-header-search-color-placeholder-dark: var(--cbp-color-text-light); } /* * Dark Mode - display dark design based on mode (no context). * This toggle should have the highest specificity, so that what ever values were specified * for the dark version get written to the light within the scope of this component. */ [data-cbp-theme=dark] cbp-app-header { --cbp-app-header-color-background: var(--cbp-app-header-color-background-dark); --cbp-app-header-search-color-focus-outline: var(--cbp-app-header-search-color-focus-outline-dark); --cbp-app-header-search-color-placeholder: var(--cbp-app-header-search-color-placeholder-dark); } cbp-app-header { min-height: var(--cbp-space-14x); padding: 0 var(--cbp-responsive-spacing-outer); background-color: var(--cbp-app-header-color-background); box-shadow: var(--cbp-shadow-level-3-down); z-index: var(--cbp-z-index-level-1); position: sticky; top: calc(-1 * var(--cbp-space-half-x)); display: flex; align-items: center; gap: var(--cbp-space-4x); } cbp-app-header nav { display: flex; align-items: center; align-content: stretch; width: max-content; } cbp-app-header cbp-resize-observer { flex-grow: 1; } cbp-app-header .cbp-app-header-responsive { align-items: center; justify-content: space-between; width: 100%; } cbp-app-header #cbp-app-header-search { position: absolute; top: 0; left: 0; bottom: 0; right: 0; display: flex; width: 100%; height: 100%; padding: 0 var(--cbp-responsive-spacing-outer); background-color: var(--cbp-app-header-color-background); } cbp-app-header #cbp-app-header-search:focus-within { outline: var(--cbp-border-size-md) solid var(--cbp-app-header-search-color-focus-outline); outline-offset: calc(-2 * var(--cbp-border-size-md)); } cbp-app-header #cbp-app-header-search input { flex-grow: 1; border: none; background-color: var(--cbp-app-header-color-background); } cbp-app-header #cbp-app-header-search input::placeholder { font-style: italic; color: var(--cbp-app-header-search-color-placeholder); } cbp-app-header #cbp-app-header-search input:focus-visible { outline: none; } cbp-app-header #cbp-app-header-search div { display: flex; flex-direction: row-reverse; gap: var(--cbp-space-4x); align-items: center; }