A fork of the Materia GTK theme.

By using this site, you agree to have cookies stored on your device, strictly for functional purposes, such as storing your session and preferences.

Dismiss

 _shadow.scss

View raw Download
text/plain • 3.91 kiB
ASCII text
        
            
1
// Based on:
2
// https://github.com/material-components/material-components-web/blob/master/packages/mdc-elevation/_elevation-theme.scss
3
4
@use "sass:color";
5
@use "theme";
6
7
$_umbra-color: rgba(black, .2);
8
$_penumbra-color: rgba(black, .14);
9
$_ambient-color: rgba(black, .12);
10
11
$z0:
12
0 0 0 0 $_umbra-color,
13
0 0 0 0 $_penumbra-color,
14
0 0 0 0 $_ambient-color;
15
$z1:
16
0 2px 1px -1px $_umbra-color,
17
0 1px 1px 0 $_penumbra-color,
18
0 1px 3px 0 $_ambient-color;
19
$z2:
20
0 3px 1px -2px $_umbra-color,
21
0 2px 2px 0 $_penumbra-color,
22
0 1px 5px 0 $_ambient-color;
23
$z3:
24
0 3px 3px -2px $_umbra-color,
25
0 3px 4px 0 $_penumbra-color,
26
0 1px 8px 0 $_ambient-color;
27
$z4:
28
0 2px 4px -1px $_umbra-color,
29
0 4px 5px 0 $_penumbra-color,
30
0 1px 10px 0 $_ambient-color;
31
$z6:
32
0 3px 5px -1px $_umbra-color,
33
0 6px 10px 0 $_penumbra-color,
34
0 1px 18px 0 $_ambient-color;
35
$z8:
36
0 5px 5px -3px $_umbra-color,
37
0 8px 10px 1px $_penumbra-color,
38
0 3px 14px 2px $_ambient-color;
39
$z12:
40
0 7px 8px -4px $_umbra-color,
41
0 12px 17px 2px $_penumbra-color,
42
0 5px 22px 4px $_ambient-color;
43
$z16:
44
0 8px 10px -5px $_umbra-color,
45
0 16px 24px 2px $_penumbra-color,
46
0 6px 30px 5px $_ambient-color;
47
$z24:
48
0 11px 15px -7px $_umbra-color,
49
0 24px 38px 3px $_penumbra-color,
50
0 9px 46px 8px $_ambient-color;
51
52
$text-shadow:
53
0 1px 1px $_umbra-color,
54
0 1px 2px $_penumbra-color,
55
0 1px 3px $_ambient-color;
56
57
// workaround for selection-mode checkboxes
58
$icon-shadow-z2:
59
0 1px 1px $_umbra-color,
60
0 2px 2px $_penumbra-color,
61
0 1px 5px $_ambient-color;
62
$icon-shadow-z4:
63
0 2px 3px $_umbra-color,
64
0 4px 5px $_penumbra-color,
65
0 1px 10px $_ambient-color;
66
67
// Note that GTK 3 does not support blur below 2px,
68
// and its blur is huge compared to web rendering.
69
// See: https://gitlab.gnome.org/GNOME/gtk/issues/511
70
@if theme.$toolkit == "gtk3" {
71
$z1:
72
0 2px 2px -2px color.adjust($_umbra-color, $alpha: .1),
73
0 1px 2px -1px color.adjust($_penumbra-color, $alpha: .1),
74
0 1px 2px -.6px color.adjust($_ambient-color, $alpha: .05);
75
$z2:
76
0 3px 2px -3px color.adjust($_umbra-color, $alpha: .1),
77
0 2px 2px -1px color.adjust($_penumbra-color, $alpha: .1),
78
0 1px (5px * .6) 0 $_ambient-color;
79
$z3:
80
0 3px 2px -2px $_umbra-color,
81
0 3px (4px * .6) 0 $_penumbra-color,
82
0 1px (8px * .6) 0 $_ambient-color;
83
$z4:
84
0 2px (4px * .6) -1px $_umbra-color,
85
0 4px (5px * .6) 0 $_penumbra-color,
86
0 1px (10px * .6) 0 $_ambient-color;
87
$z6:
88
0 3px (5px * .6) -1px $_umbra-color,
89
0 6px (10px * .6) 0 $_penumbra-color,
90
0 1px (18px * .6) 0 $_ambient-color;
91
$z8:
92
0 5px (5px * .6) -3px $_umbra-color,
93
0 8px (10px * .6) 1px $_penumbra-color,
94
0 3px (14px * .6) 2px $_ambient-color;
95
$z12:
96
0 7px (8px * .6) -4px $_umbra-color,
97
0 12px (17px * .6) 2px $_penumbra-color,
98
0 5px (22px * .6) 4px $_ambient-color;
99
$z16:
100
0 8px (10px * .6) -5px $_umbra-color,
101
0 16px (24px * .6) 2px $_penumbra-color,
102
0 6px (30px * .6) 5px $_ambient-color;
103
$z24:
104
0 11px (15px * .6) -7px $_umbra-color,
105
0 24px (38px * .6) 3px $_penumbra-color,
106
0 9px (46px * .6) 8px $_ambient-color;
107
108
$text-shadow:
109
0 1px 1px $_umbra-color,
110
0 1px 2px $_penumbra-color,
111
0 1px 3px $_ambient-color;
112
113
$icon-shadow-z2:
114
0 1px 1px $_umbra-color,
115
0 2px 2px $_penumbra-color,
116
0 1px (5px * .6) $_ambient-color;
117
$icon-shadow-z4:
118
0 2px 2px $_umbra-color,
119
0 4px (5px * .6) $_penumbra-color,
120
0 1px (10px * .6) $_ambient-color;
121
}
122
123
// Note that St does not support multiple box shadows.
124
@if theme.$toolkit == "st" {
125
// This should be none, but it's creating some issues with borders, so to
126
// workaround it for now, use inset wich goes through a different code path.
127
// see https://bugzilla.gnome.org/show_bug.cgi?id=752934
128
$z0: 0 0 transparent;
129
130
$z1: 0 1px 1px rgba(black, .36);
131
$z2: 0 1px 2px rgba(black, .4);
132
$z4: 0 2px 8px rgba(black, .44);
133
$z8: 0 5px 16px rgba(black, .5);
134
$z16: 0 8px 24px rgba(black, .68); // TODO
135
}
136