Files
homeassistant_config/config/www/community/swiss-army-knife-card/sak-css-definitions.yml
T
2024-05-31 13:07:35 +02:00

705 lines
16 KiB
YAML

#
# File : sak-css-definitions.yaml
# Project : Home Assistant
# Repository: https://github.com/AmoebeLabs/Home-Assistant-Config
#
# Author: Mars @ AmoebeLabs.com
#
# License: CC BY-SA, https://creativecommons.org/licenses/by/4.0/
#
# -----
# Description:
# Swiss Army Knife CSS class definitions used to style tools
#
###############################################################################
#sak_css_definitions:
- descr: sak-overwrite
content: >
.sak-state__value {
--descr: extra-css;
letter-spacing: 0.05em;
}
#
# Toolsets
#
#------------------------------------------------------------------------------
- descr: Toolset
content: >
.toolset__group-outer {
overflow: visible;
/*filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.8));*/
/*filter: url(#shadow);*/
}
.toolset__group {
overflow: visible;
/*filter: drop-shadow(0px 1px 1px rgba(0,0,0,0.8));*/
/*filter: url(#shadow);*/
}
#
# Tools in slphabetical order
#
#------------------------------------------------------------------------------
- descr: ArcSlider tool
content: >
.sak-circslider__group-inner {
pointer-events: none;
}
#as-thumb-group {
overflow: visible;
pointer-events: all;
}
#as-label {
overflow: visible;
}
.sak-circslider {
overflow: visible;
fill: none;
stroke: none;
pointer-events: none;
}
.sak-circslider__capture {
overflow: visible;
pointer-events: all;
fill: none;
stroke-width: 0;
touch-action: manipulation;
fill: grey;
fill-opacity: 0.1;
stroke-width: 0em;
stroke: red;
}
.sak-circslider__active {
stroke: var(--theme-sys-color-primary);
stroke-width: 4em;
pointer-events: all;
}
.sak-circslider__track {
fill: none;
stroke-width: 2em;
stroke: var(--theme-sys-elevation-surface-neutral10);
overflow: visible;
pointer-events: all;
}
.sak-circslider__thumb {
overflow: visible;
fill: var(--theme-sys-color-primary);
fill-opacity: 1;
transform-origin: center;
transform-box: fill-box;
}
.sak-circslider__value {
overflow: visible;
fill: var(--primary-text-color);
font-size: 8em;
font-weight: 400;
dominant-baseline: central;
pointer-events: none;
}
.sak-circslider__uom {
overflow: visible;
fill: var(--primary-text-color);
text-anchor: middle;
dominant-baseline: central;
opacity: 0.7;
letter-spacing: 0.05em;
pointer-events: none;
}
- descr: Area tool
content: >
.sak-area {
}
.sak-area__area {
font-size: 3em;
fill: var(--primary-text-color);
opacity: 0.8;
text-anchor: middle;
dominant-baseline: central;
letter-spacing: 0.05em;
}
- descr: Badge tool
content: >
.sak-badge {
}
.sak-badge__left {
stroke-width: 0;
fill: grey;
}
.sak-badge__right {
stroke-width: 0;
fill: var(--theme-gradient-color-03, darkgrey);
}
- descr: Barchart tool
content: >
.sak-barchart {
}
.sak-barchart__line {
stroke-linecap: round;
stroke-linejoin: round;
}
- descr: Circle tool
content: >
.sak-circle {
}
.sak-circle__circle {
fill: var(--primary-background-color);
}
- descr: Ellipse tool
content: >
.sak-ellipse {
}
.sak-ellipse__ellipse {
fill: var(--primary-background-color);
}
- descr: Horseshoe tool
content: >
.sak-horseshoe {
}
.sak-horseshoe__todo {
}
- descr: Icon tool
content: >
.sak-icon {
}
.sak-icon__icon {
--mdc-icon-size: 100%;
align-self: center;
height: 100%;
width: 100%;
fill: var(--primary-text-color);
color: var(--primary-text-color);
}
- descr: Line tool
content: >
.sak-line {
overflow: visible;
}
.sak-line__line {
stroke-linecap: round;
stroke: var(--primary-text-color);
opacity: 1.0;
stroke-width: 2;
}
- descr: Entity Name tool
content: >
.sak-name {
overflow: visible;
}
.sak-name__name {
font-size: 3em;
fill: var(--primary-text-color);
opacity: 1.0;
text-anchor: middle;
dominant-baseline: central;
letter-spacing: 0.05em;
}
- descr: Polygon tool
content: >
.sak-polygon {
overflow: visible;
}
.sak-polygon__regpoly {
stroke: var(--primary-text-color);
fill: var(--primary-background-color);
fill-rule: nonzero;
}
- descr: Rectangle tool
content: >
.sak-rectangle {
overflow: visible;
}
.sak-rectangle__rectangle {
stroke-linecap: round;
stroke: var(--primary-text-color);
opacity: 1.0;
stroke-width: 2em;
fill: var(--primary-background-color);
}
- descr: RectEx tool
content: >
.sak-rectex {
}
.sak-rectex__rectex {
stroke-linecap: round;
stroke: var(--primary-text-color);
opacity: 1.0;
stroke-width: 0;
fill: var(--primary-background-color);
}
- descr: Segmented arc tool
content: >
.sak-segarc {
}
.sak-segarc__background {
stroke-linecap: round;
fill: var(--primary-background-color);
stroke-width: 0;
fill-rule: evenodd;
stroke-linejoin: round;
}
.sak-segarc__foreground {
stroke-linecap: round;
fill: var(--primary-color);
stroke: none;
stroke-width: 0.5;
fill-rule: evenodd;
stroke-linejoin: round;
}
- descr: Slider tool
content: >
#rs-thumb-group {
overflow: visible;
}
#rs-label {
overflow: visible;
}
.sak-slider {
pointer-events: none;
overflow: visible;
}
.sak-slider__capture {
overflow: visible;
pointer-events: all;
fill: none;
stroke-width: 0;
touch-action: manipulation;
}
.sak-slider__track {
overflow: visible;
fill-opacity: 0.38;
stroke-width: 0;
stroke: var(--primary-text-color);
fill: var(--switch-unchecked-track-color);
transition: all .5s ease;
pointer-events: none;
}
.sak-slider__thumb {
overflow: visible;
--thumb-stroke: var(--secondary-text-color);
stroke: var(--thumb-stroke);
fill: var(--primary-background-color);
pointer-events: none;
}
.sak-slider__value {
overflow: visible;
fill: var(--primary-text-color);
font-size: 8em;
font-weight: 400;
transition: all .5s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
dominant-baseline: central;
}
.sak-slider__uom {
overflow: visible;
fill: var(--primary-text-color);
text-anchor: middle;
dominant-baseline: central;
opacity: 0.7;
letter-spacing: 0.05em;
}
- descr: Entity state/units tool
content: >
.sak-state {
}
.sak-state__value {
--descr: original;
font-size: 3em;
fill: var(--primary-text-color);
opacity: 1.0;
text-anchor: middle;
dominant-baseline: central;
letter-spacing: 0.05em;
}
.sak-state__uom {
fill: var(--primary-text-color);
text-anchor: middle;
dominant-baseline: central;
opacity: 0.7;
letter-spacing: 0.05em;
}
- descr: Switch tool
content: >
.sak-switch {
}
.sak-switch__track {
fill-opacity: 0.38;
stroke-width: 0;
stroke: var(--primary-text-color);
fill: var(--primary-background-color);
transition: all .5s ease;
pointer-events: none;
}
.sak-switch__thumb {
--thumb-stroke: var(--secondary-text-color);
stroke: var(--thumb-stroke);
fill: var(--primary-background-color);
transition: all .5s cubic-bezier(0.4, 0, 0.2, 1);
pointer-events: none;
}
- descr: Text tool
content: >
.sak-text {
}
.sak-text__text {
font-size: 3em;
fill: var(--primary-text-color);
opacity: 1.0;
text-anchor: middle;
dominant-baseline: central;
}
- descr: Usersvg tool
content: >
.sak-usersvg__group {
}
.sak-usersvg__image {
}
#
# CSS Animations using keyframes
#
#------------------------------------------------------------------------------
- descr: CSS Animations
content: >
@keyframes blinkingText {
0%{ opacity: 0%; }
49%{ opacity: 0%; }
60%{ opacity: 100%; }
99%{ opacity: 100%; }
100%{ opacity: 0%; }
}
@keyframes zoomOut {
from {
opacity: 1;
}
50% {
opacity: 0;
transform: scale3d(0.3, 0.3, 0.3);
}
to {
opacity: 0;
}
}
@keyframes bounce {
from,
20%,
53%,
80%,
to {
animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
transform: translate3d(0, 0, 0);
}
40%,
43% {
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transform: translate3d(0, -30px, 0);
}
70% {
animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
transform: translate3d(0, -15px, 0);
}
90% {
transform: translate3d(0, -4px, 0);
}
}
@-webkit-keyframes flash {
0% {
opacity: 1;
}
50% {
opacity: 0.2;
}
100% {
opacity: 1;
}
}
@keyframes flash {
0% {
opacity: 1;
}
50% {
opacity: 0.2;
}
100% {
opacity: 1;
}
}
@keyframes flashold {
from,
50%,
to {
opacity: 1;
}
25%,
75% {
opacity: 0;
}
}
@keyframes headShake {
0% {
transform: translateX(0);
}
6.5% {
transform: translateX(-6px) rotateY(-9deg);
}
18.5% {
transform: translateX(5px) rotateY(7deg);
}
31.5% {
transform: translateX(-3px) rotateY(-5deg);
}
43.5% {
transform: translateX(2px) rotateY(3deg);
}
50% {
transform: translateX(0);
}
}
@keyframes heartBeat {
0% {
transform: scale(1);
}
14% {
transform: scale(1.3);
}
28% {
transform: scale(1);
}
42% {
transform: scale(1.3);
}
70% {
transform: scale(1);
}
}
@keyframes jello {
from,
11.1%,
to {
transform: translate3d(0, 0, 0);
}
22.2% {
transform: skewX(-12.5deg) skewY(-12.5deg);
}
33.3% {
transform: skewX(6.25deg) skewY(6.25deg);
}
44.4% {
transform: skewX(-3.125deg) skewY(-3.125deg);
}
55.5% {
transform: skewX(1.5625deg) skewY(1.5625deg);
}
66.6% {
transform: skewX(-0.78125deg) skewY(-0.78125deg);
}
77.7% {
transform: skewX(0.390625deg) skewY(0.390625deg);
}
88.8% {
transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
}
}
@keyframes pulse {
from {
transform: scale3d(1, 1, 1);
}
50% {
transform: scale3d(1.05, 1.05, 1.05);
}
to {
transform: scale3d(1, 1, 1);
}
}
@keyframes rubberBand {
from {
transform: scale3d(1, 1, 1);
}
30% {
transform: scale3d(1.25, 0.75, 1);
}
40% {
transform: scale3d(0.75, 1.25, 1);
}
50% {
transform: scale3d(1.15, 0.85, 1);
}
65% {
transform: scale3d(0.95, 1.05, 1);
}
75% {
transform: scale3d(1.05, 0.95, 1);
}
to {
transform: scale3d(1, 1, 1);
}
}
@keyframes shake {
from,
to {
transform: translate3d(0, 0, 0);
}
10%,
30%,
50%,
70%,
90% {
transform: translate3d(-10px, 0, 0);
}
20%,
40%,
60%,
80% {
transform: translate3d(10px, 0, 0);
}
}
@keyframes swing {
20% {
transform: rotate3d(0, 0, 1, 15deg);
}
40% {
transform: rotate3d(0, 0, 1, -10deg);
}
60% {
transform: rotate3d(0, 0, 1, 5deg);
}
80% {
transform: rotate3d(0, 0, 1, -5deg);
}
to {
transform: rotate3d(0, 0, 1, 0deg);
}
}
@keyframes tada {
from {
transform: scale3d(1, 1, 1);
}
10%,
20% {
transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
}
30%,
50%,
70%,
90% {
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
}
40%,
60%,
80% {
transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
}
to {
transform: scale3d(1, 1, 1);
}
}
@keyframes wobble {
from {
transform: translate3d(0, 0, 0);
}
15% {
transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
}
30% {
transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
}
45% {
transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
}
60% {
transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
}
75% {
transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
}
to {
transform: translate3d(0, 0, 0);
}
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spinold {
from {
-webkit-transform: -webkit-rotate(0deg);
transform:rotate(0deg);
}
to {
-webkit-transform: -webkit-rotate(360deg);
transform:rotate(360deg);
}
}
@keyframes spinn {
100% {
-webkit-transform: -webkit-rotate(360deg);
transform: rotate(360deg);
}
}
@-webkit-keyframes spinn {
100% {
-webkit-transform: -webkit-rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin-stop {
100% {
-webkit-transform: -webkit-rotate(0deg);
transform: rotate(0deg);
}
}