Files
advanced-camera-card/src/scss/card.scss
T

129 lines
3.0 KiB
SCSS

:host {
display: block;
// Anchor absolutes to the outer part of the card.
position: relative;
}
:host([dark]) {
filter: brightness(50%);
}
.container {
position: relative;
overflow: auto;
width: 100%;
height: 100%;
margin: auto;
display: flex;
justify-content: center;
// Need to apply the border radius on the container level, as the ha-card has
// overflow visible in order to allow a submenu to extend beyond the card
// boundary.
border-radius: var(--ha-card-border-radius, 4px);
}
.container.triggered {
@keyframes warning-pulse {
0% {
border: solid 1px rgba(0,0,0,0);
}
50% {
border: solid 1px var(--warning-color);
}
100% {
border: solid 1px rgba(0,0,0,0);
}
}
animation: warning-pulse 5s infinite;
}
.frigate-card-contents {
width: inherit;
height: inherit;
margin: auto;
overflow: auto;
display: flex;
align-items: center;
justify-content: center;
// Include the borders in the sizing (to keep the triggered warning pulse
// visible in fullscreen).
box-sizing: border-box;
// Hide scrollbar: Firefox
scrollbar-width: none;
// Hide scrollbar: IE and Edge
-ms-overflow-style: none;
}
/* Hide scrollbar for Chrome, Safari and Opera */
.frigate-card-contents::-webkit-scrollbar {
display: none;
}
/* When forcing aspect ratio absolute positioning is required */
.frigate-card-contents.absolute {
position: absolute;
top: 0px;
right: 0px;
bottom: 0px;
left: 0px;
}
/* The 'hover' menu mode is styling applied outside of the menu itself */
frigate-card-menu[data-style='hover'] {
z-index: 1;
transition: opacity 0.5s ease;
}
.outer + frigate-card-menu[data-style='hover'] {
opacity: 0;
}
frigate-card-menu[data-style='hover']:hover {
opacity: 1;
}
ha-card {
display: flex;
flex-direction: column;
margin: auto;
// Some elements (such as submenus) may need to extend beyond the card boundary.
overflow: visible;
width: 100%;
height: 100%;
position: static;
color: var(--secondary-text-color, white);
background-color: var(--secondary-background-color, black);
border-radius: var(--ha-card-border-radius, 4px);
}
frigate-card-live.hidden {
// Live view will be rendered but hidden for live preloading.
display: none;
}
// Browsers will reject invalid whole CSS selectors if one selector is bad, so
// need to use mixin here instead of just comma-separated selectors.
// - Related: https://stackoverflow.com/questions/16982449/why-isnt-it-possible-to-combine-vendor-specific-pseudo-elements-classes-into-on
@mixin fullscreen-ha-card {
// Make the background black, to give it the expected fullscreen feel.
background-color: black;
// Hide corners on Safari fullscreen.
border-radius: 0px;
}
:host(:fullscreen) ha-card {
@include fullscreen-ha-card;
}
:host(:-webkit-full-screen) ha-card {
@include fullscreen-ha-card;
}
:host(:-moz-full-screen) ha-card {
@include fullscreen-ha-card;
}
:host(:-ms-fullscreen) ha-card {
@include fullscreen-ha-card;
}