-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
presets.ts
43 lines (40 loc) · 1.27 KB
/
presets.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { ButtonConfig, PaperButtonRowConfig } from "./types";
import deepmerge from "deepmerge";
import { getLovelace } from "custom-card-helpers";
let lovelace = getLovelace();
export function handleButtonPreset(
bConfig: ButtonConfig,
config?: PaperButtonRowConfig
): ButtonConfig {
if (!lovelace) lovelace = getLovelace();
const userPresets = lovelace?.config?.paper_buttons_row?.presets || {};
const preset = bConfig.preset || config?.preset;
return preset
? deepmerge(
{
mushroom: presetMushroom
}[preset] ||
userPresets[preset] ||
{},
bConfig
)
: bConfig;
}
const presetMushroom: ButtonConfig = {
ripple: "none",
styles: {
button: {
"min-width": "42px",
"min-height": "42px",
"border-radius": "12px",
"box-sizing": "border-box",
transition: "background-color 280ms ease-in-out 0s",
"--pbs-button-rgb-color": "var(--rgb-primary-text-color)",
"--pbs-button-rgb-active-color": "var(--pbs-button-rgb-state-color)",
"--pbs-button-rgb-bg-color": "var(--pbs-button-rgb-color)",
"--pbs-button-rgb-bg-active-color": "var(--pbs-button-rgb-active-color)",
"--pbs-button-rgb-bg-opacity": "0.05",
"--pbs-button-rgb-bg-active-opacity": "0.2"
}
}
};