UNPKG

@cbpds/web-components

Version:
82 lines (81 loc) 3.67 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 */ /* * Dark Mode - display dark design based on mode or context * CSS API originates in parent cbp-tabs component; dark mode override happens here due to color=danger variant. */ [data-cbp-theme=light] cbp-tabs[context*=dark] cbp-tab, [data-cbp-theme=dark] cbp-tabs:not([context=dark-inverts]):not([context=light-always]) cbp-tab { --cbp-tab-color: var(--cbp-tab-color-dark); --cbp-tab-color-hover: var(--cbp-tab-color-hover-dark); --cbp-tab-color-focus: var(--cbp-tab-color-focus-dark); --cbp-tab-color-active: var(--cbp-tab-color-active-dark); --cbp-tab-color-selected: var(--cbp-tab-color-selected-dark); --cbp-tab-color-bg: var(--cbp-tab-color-bg-dark); --cbp-tab-color-bg-hover: var(--cbp-tab-color-bg-hover-dark); --cbp-tab-color-bg-focus: var(--cbp-tab-color-bg-focus-dark); --cbp-tab-color-bg-active: var(--cbp-tab-color-bg-active-dark); --cbp-tab-color-bg-selected: var(--cbp-tab-color-bg-selected-dark); --cbp-tab-color-border: var(--cbp-tab-color-border-dark); --cbp-tab-color-border-hover: var(--cbp-tab-color-border-hover-dark); --cbp-tab-color-border-focus: var(--cbp-tab-color-border-focus-dark); --cbp-tab-color-border-active: var(--cbp-tab-color-border-active-dark); --cbp-tab-color-border-selected: var(--cbp-tab-color-border-selected-dark); --cbp-tab-color-outline-focus: var(--cbp-tab-color-outline-focus-dark); } cbp-tab button { all: unset; display: inline-flex; gap: var(--cbp-space-2x); align-items: center; color: var(--cbp-tab-color); background-color: var(--cbp-tab-color-bg); box-sizing: border-box; min-height: var(--cbp-space-14x); padding: 0 var(--cbp-space-3x); font-size: var(--cbp-font-size-heading-xs); font-weight: var(--cbp-font-weight-medium); white-space: nowrap; border-bottom: var(--cbp-border-size-xl) solid var(--cbp-tab-color-border); border-radius: var(--cbp-tab-border-radius); outline-width: var(--cbp-border-size-md); outline-style: none; outline-color: var(--cbp-button-color-outline-focus); outline-offset: calc(-1 * var(--cbp-space-1x)); } cbp-tab button:hover { --cbp-tab-color: var(--cbp-tab-color-hover); --cbp-tab-color-bg: var(--cbp-tab-color-bg-hover); --cbp-tab-color-border: var(--cbp-tab-color-border-hover); } cbp-tab button[aria-selected=true] { --cbp-tab-color: var(--cbp-tab-color-selected); --cbp-tab-color-bg: var(--cbp-tab-color-bg-selected); --cbp-tab-color-border: var(--cbp-tab-color-border-selected); font-style: italic; } cbp-tab button:focus { --cbp-tab-color: var(--cbp-tab-color-focus); --cbp-tab-color-bg: var(--cbp-tab-color-bg-focus); --cbp-tab-color-border: var(--cbp-tab-color-border-focus); --cbp-button-color-outline-focus: var(--cbp-tab-color-outline-focus); outline-style: solid; } cbp-tab button:active { --cbp-tab-color: var(--cbp-tab-color-active); --cbp-tab-color-bg: var(--cbp-tab-color-bg-active); --cbp-tab-color-border: var(--cbp-tab-color-border-active); outline: none; } cbp-tab[color=danger] { --cbp-tab-color: var(--cbp-color-danger-dark); --cbp-tab-color-dark: var(--cbp-color-danger-light); --cbp-tab-color-hover: var(--cbp-color-danger-base); --cbp-tab-color-hover-dark: var(--cbp-color-danger-lighter); --cbp-tab-color-bg-hover: var(--cbp-color-danger-lighter); --cbp-tab-color-bg-hover-dark: var(--cbp-color-danger-darker); --cbp-tab-color-border-hover: var(--cbp-color-danger-dark); --cbp-tab-color-border-hover-dark: var(--cbp-color-danger-lighter); }