@thalassic/themes 0.0.1 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -7
- package/package.json +5 -1
- package/palettes/_aqua.scss +20 -0
- package/palettes/_green.scss +20 -0
- package/palettes/_index.scss +3 -0
- package/palettes/_yellow.scss +20 -0
- package/styles/index.scss +1 -0
- package/styles/utils/_colors.scss +19 -0
- package/styles/utils/_index.scss +2 -0
- package/styles/utils/_mixins.scss +119 -0
- package/themes/index.scss +1 -0
- package/themes/thalassic/_border.scss +3 -0
- package/themes/thalassic/_colors.scss +127 -0
- package/themes/thalassic/_motion.scss +20 -0
- package/themes/thalassic/_radius.scss +6 -0
- package/themes/thalassic/_shadow.scss +13 -0
- package/themes/thalassic/_spacing.scss +7 -0
- package/themes/thalassic/_typography.scss +104 -0
- package/themes/thalassic/index.scss +8 -0
- package/themes/thalassic/palettes/_index.scss +5 -0
- package/themes/thalassic/palettes/_neutral-variant.scss +20 -0
- package/themes/thalassic/palettes/_neutral.scss +20 -0
- package/themes/thalassic/palettes/_primary.scss +20 -0
- package/themes/thalassic/palettes/_secondary.scss +20 -0
- package/themes/thalassic/palettes/_tertiary.scss +20 -0
- package/themes/thalassic/semantic/_control.scss +9 -0
- package/themes/thalassic/semantic/_index.scss +1 -0
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thalassic/themes",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^21.0.0",
|
|
6
6
|
"@angular/core": "^21.0.0"
|
|
@@ -8,6 +8,10 @@
|
|
|
8
8
|
"publishConfig": {
|
|
9
9
|
"access": "public"
|
|
10
10
|
},
|
|
11
|
+
"repository": {
|
|
12
|
+
"type": "git",
|
|
13
|
+
"url": "https://github.com/konopyanovM/thalassic"
|
|
14
|
+
},
|
|
11
15
|
"sideEffects": false,
|
|
12
16
|
"module": "fesm2022/thalassic-themes.mjs",
|
|
13
17
|
"typings": "types/thalassic-themes.d.ts",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$aqua: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #001418,
|
|
4
|
+
10: #001f25,
|
|
5
|
+
15: #002a32,
|
|
6
|
+
20: #00363f,
|
|
7
|
+
25: #00424c,
|
|
8
|
+
30: #004e5a,
|
|
9
|
+
35: #005b69,
|
|
10
|
+
40: #006877,
|
|
11
|
+
50: #008396,
|
|
12
|
+
60: #0c9fb5,
|
|
13
|
+
70: #41bad0,
|
|
14
|
+
80: #62d6ed,
|
|
15
|
+
90: #a4eeff,
|
|
16
|
+
95: #d5f7ff,
|
|
17
|
+
98: #effcff,
|
|
18
|
+
99: #f7fdff,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$green: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #001503,
|
|
4
|
+
10: #002106,
|
|
5
|
+
15: #002d0a,
|
|
6
|
+
20: #00390f,
|
|
7
|
+
25: #004614,
|
|
8
|
+
30: #00531a,
|
|
9
|
+
35: #00601f,
|
|
10
|
+
40: #006e25,
|
|
11
|
+
50: #008a31,
|
|
12
|
+
60: #27a644,
|
|
13
|
+
70: #49c25c,
|
|
14
|
+
80: #66df75,
|
|
15
|
+
90: #83fc8e,
|
|
16
|
+
95: #c7ffc4,
|
|
17
|
+
98: #ebffe6,
|
|
18
|
+
99: #f6fff0,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$yellow: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #180f00,
|
|
4
|
+
10: #261a00,
|
|
5
|
+
15: #322300,
|
|
6
|
+
20: #3f2e00,
|
|
7
|
+
25: #4d3800,
|
|
8
|
+
30: #5b4300,
|
|
9
|
+
35: #6a4e00,
|
|
10
|
+
40: #785900,
|
|
11
|
+
50: #977100,
|
|
12
|
+
60: #b78a00,
|
|
13
|
+
70: #d8a300,
|
|
14
|
+
80: #fabd00,
|
|
15
|
+
90: #ffdf9e,
|
|
16
|
+
95: #ffefd4,
|
|
17
|
+
98: #fff8f2,
|
|
18
|
+
99: #fffbff,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward 'utils';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--color-black: #000000;
|
|
3
|
+
--color-white: #ffffff;
|
|
4
|
+
|
|
5
|
+
--color-shade-5: hsl(0, 0%, 5%);
|
|
6
|
+
--color-shade-10: hsl(0, 0%, 10%);
|
|
7
|
+
--color-shade-15: hsl(0, 0%, 15%);
|
|
8
|
+
--color-shade-20: hsl(0, 0%, 20%);
|
|
9
|
+
--color-shade-30: hsl(0, 0%, 30%);
|
|
10
|
+
--color-shade-40: hsl(0, 0%, 40%);
|
|
11
|
+
--color-shade-50: hsl(0, 0%, 50%);
|
|
12
|
+
--color-shade-60: hsl(0, 0%, 60%);
|
|
13
|
+
--color-shade-70: hsl(0, 0%, 70%);
|
|
14
|
+
--color-shade-80: hsl(0, 0%, 80%);
|
|
15
|
+
--color-shade-85: hsl(0, 0%, 85%);
|
|
16
|
+
--color-shade-90: hsl(0, 0%, 90%);
|
|
17
|
+
--color-shade-95: hsl(0, 0%, 95%);
|
|
18
|
+
--color-shade-98: hsl(0, 0%, 98%);
|
|
19
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@function on-color($l) {
|
|
2
|
+
@if $l > 60 {
|
|
3
|
+
@return 15%;
|
|
4
|
+
} @else {
|
|
5
|
+
@return 98%;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@mixin generate-theme($config) {
|
|
10
|
+
// Primary
|
|
11
|
+
$primary-h: map-get($config, 'primary-h');
|
|
12
|
+
$primary-s: map-get($config, 'primary-s');
|
|
13
|
+
$primary-l: map-get($config, 'primary-l');
|
|
14
|
+
$primary-hsl: $primary-h, $primary-s, $primary-l;
|
|
15
|
+
|
|
16
|
+
// Secondary
|
|
17
|
+
$secondary-h: map-get($config, 'secondary-h');
|
|
18
|
+
$secondary-s: map-get($config, 'secondary-s');
|
|
19
|
+
$secondary-l: map-get($config, 'secondary-l');
|
|
20
|
+
$secondary-hsl: $secondary-h, $secondary-s, $secondary-l;
|
|
21
|
+
|
|
22
|
+
// Tertiary
|
|
23
|
+
$tertiary-h: map-get($config, 'tertiary-h');
|
|
24
|
+
$tertiary-s: map-get($config, 'tertiary-s');
|
|
25
|
+
$tertiary-l: map-get($config, 'tertiary-l');
|
|
26
|
+
$tertiary-hsl: $tertiary-h, $tertiary-s, $tertiary-l;
|
|
27
|
+
|
|
28
|
+
// Success
|
|
29
|
+
$success-h: map-get($config, 'success-h');
|
|
30
|
+
$success-s: map-get($config, 'success-s');
|
|
31
|
+
$success-l: map-get($config, 'success-l');
|
|
32
|
+
$success-hsl: $success-h, $success-s, $success-l;
|
|
33
|
+
|
|
34
|
+
// Danger
|
|
35
|
+
$danger-h: map-get($config, 'danger-h');
|
|
36
|
+
$danger-s: map-get($config, 'danger-s');
|
|
37
|
+
$danger-l: map-get($config, 'danger-l');
|
|
38
|
+
$danger-hsl: $danger-h, $danger-s, $danger-l;
|
|
39
|
+
|
|
40
|
+
// Info
|
|
41
|
+
$info-h: map-get($config, 'info-h');
|
|
42
|
+
$info-s: map-get($config, 'info-s');
|
|
43
|
+
$info-l: map-get($config, 'info-l');
|
|
44
|
+
$info-hsl: $info-h, $info-s, $info-l;
|
|
45
|
+
|
|
46
|
+
// Warning
|
|
47
|
+
$warning-h: map-get($config, 'warning-h');
|
|
48
|
+
$warning-s: map-get($config, 'warning-s');
|
|
49
|
+
$warning-l: map-get($config, 'warning-l');
|
|
50
|
+
$warning-hsl: $warning-h, $warning-s, $warning-l;
|
|
51
|
+
|
|
52
|
+
// Colors
|
|
53
|
+
--color-primary: hsl($primary-hsl);
|
|
54
|
+
--color-on-primary: #{on-color($primary-l)};
|
|
55
|
+
|
|
56
|
+
--color-secondary: hsl($secondary-hsl);
|
|
57
|
+
--color-on-secondary: #{on-color($secondary-l)};
|
|
58
|
+
|
|
59
|
+
--color-tertiary: hsl($tertiary-hsl);
|
|
60
|
+
--color-on-tertiary: #{on-color($tertiary-l)};
|
|
61
|
+
|
|
62
|
+
--color-success: hsl($success-hsl);
|
|
63
|
+
--color-on-success: #{on-color($success-l)};
|
|
64
|
+
|
|
65
|
+
--color-danger: hsl($danger-hsl);
|
|
66
|
+
--color-on-danger: #{on-color($danger-l)};
|
|
67
|
+
|
|
68
|
+
--color-info: hsl($info-hsl);
|
|
69
|
+
--color-on-info: #{on-color($info-l)};
|
|
70
|
+
|
|
71
|
+
--color-warning: hsl($warning-hsl);
|
|
72
|
+
--color-on-warning: #{on-color($warning-l)};
|
|
73
|
+
|
|
74
|
+
// Transparent
|
|
75
|
+
--color-primary-t90: hsla(var(--color-primary-hsl), 0.9);
|
|
76
|
+
--color-primary-t75: hsla(var(--color-primary-hsl), 0.4);
|
|
77
|
+
--color-primary-t50: hsla(var(--color-primary-hsl), 0.1);
|
|
78
|
+
--color-primary-t25: hsla(var(--color-primary-hsl), 0.05);
|
|
79
|
+
--color-primary-t10: hsla(var(--color-primary-hsl), 0.05);
|
|
80
|
+
|
|
81
|
+
--color-danger-t75: hsla(var(--color-danger-hsl), 0.75);
|
|
82
|
+
--color-danger-t25: hsla(var(--color-danger-hsl), 0.25);
|
|
83
|
+
--color-danger-t10: hsla(var(--color-danger-hsl), 0.1);
|
|
84
|
+
--color-danger-t05: hsla(var(--color-danger-hsl), 0.05);
|
|
85
|
+
|
|
86
|
+
--color-warning-t75: hsla(var(--color-warning-hsl), 0.75);
|
|
87
|
+
--color-warning-t25: hsla(var(--color-warning-hsl), 0.25);
|
|
88
|
+
|
|
89
|
+
--color-info-t75: hsla(var(--color-info-hsl), 0.75);
|
|
90
|
+
--color-info-t25: hsla(var(--color-info-hsl), 0.25);
|
|
91
|
+
|
|
92
|
+
// Dark
|
|
93
|
+
--color-primary-40: hsl(var(--color-primary-h), var(--color-primary-s), 40%);
|
|
94
|
+
--color-primary-30: hsl(var(--color-primary-h), var(--color-primary-s), 30%);
|
|
95
|
+
--color-primary-20: hsl(var(--color-primary-h), var(--color-primary-s), 20%);
|
|
96
|
+
|
|
97
|
+
--color-tertiary-40: hsl(
|
|
98
|
+
var(--color-tertiary-h),
|
|
99
|
+
var(--color-tertiary-s),
|
|
100
|
+
40%
|
|
101
|
+
);
|
|
102
|
+
--color-tertiary-20: hsl(
|
|
103
|
+
var(--color-tertiary-h),
|
|
104
|
+
var(--color-tertiary-s),
|
|
105
|
+
20%
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
--color-success-40: hsl(var(--color-success-h), var(--color-success-s), 40%);
|
|
109
|
+
--color-success-20: hsl(var(--color-success-h), var(--color-success-s), 20%);
|
|
110
|
+
|
|
111
|
+
--color-danger-30: hsl(var(--color-danger-h), var(--color-danger-s), 30%);
|
|
112
|
+
--color-danger-20: hsl(var(--color-danger-h), var(--color-danger-s), 20%);
|
|
113
|
+
|
|
114
|
+
--color-info-40: hsl(var(--color-info-h), var(--color-info-s), 40%);
|
|
115
|
+
--color-info-20: hsl(var(--color-info-h), var(--color-info-s), 20%);
|
|
116
|
+
|
|
117
|
+
--color-warning-40: hsl(var(--color-warning-h), var(--color-warning-s), 40%);
|
|
118
|
+
--color-warning-20: hsl(var(--color-warning-h), var(--color-warning-s), 20%);
|
|
119
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward 'thalassic';
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
@use 'sass:map';
|
|
2
|
+
|
|
3
|
+
@use './palettes' as palettes;
|
|
4
|
+
@use '../../palettes' as common-palettes;
|
|
5
|
+
|
|
6
|
+
:root {
|
|
7
|
+
// Primary
|
|
8
|
+
--color-primary: #{map.get(palettes.$primary, 40)};
|
|
9
|
+
--color-on-primary: #{map.get(palettes.$primary, 100)};
|
|
10
|
+
--color-primary-container: #{map.get(palettes.$primary, 90)};
|
|
11
|
+
--color-on-primary-container: #{map.get(palettes.$primary, 30)};
|
|
12
|
+
|
|
13
|
+
// Secondary
|
|
14
|
+
--color-secondary: #{map.get(palettes.$secondary, 40)};
|
|
15
|
+
--color-on-secondary: #{map.get(palettes.$secondary, 100)};
|
|
16
|
+
--color-secondary-container: #{map.get(palettes.$secondary, 90)};
|
|
17
|
+
--color-on-secondary-container: #{map.get(palettes.$secondary, 30)};
|
|
18
|
+
|
|
19
|
+
// Tertiary
|
|
20
|
+
--color-tertiary: #{map.get(palettes.$tertiary, 40)};
|
|
21
|
+
--color-on-tertiary: #{map.get(palettes.$tertiary, 100)};
|
|
22
|
+
--color-tertiary-container: #{map.get(palettes.$tertiary, 90)};
|
|
23
|
+
--color-on-tertiary-container: #{map.get(palettes.$tertiary, 30)};
|
|
24
|
+
|
|
25
|
+
// Success
|
|
26
|
+
--color-success: #{map.get(common-palettes.$green, 40)};
|
|
27
|
+
--color-on-success: #{map.get(common-palettes.$green, 100)};
|
|
28
|
+
--color-success-container: #{map.get(common-palettes.$green, 90)};
|
|
29
|
+
--color-on-success-container: #{map.get(common-palettes.$green, 30)};
|
|
30
|
+
|
|
31
|
+
// Danger
|
|
32
|
+
--color-danger: #ba1a1a;
|
|
33
|
+
--color-on-danger: #ffffff;
|
|
34
|
+
--color-danger-container: #ffdad6;
|
|
35
|
+
--color-on-danger-container: #93000a;
|
|
36
|
+
|
|
37
|
+
// Info
|
|
38
|
+
--color-info: #{map.get(common-palettes.$aqua, 40)};
|
|
39
|
+
--color-on-info: #{map.get(common-palettes.$aqua, 100)};
|
|
40
|
+
--color-info-container: #{map.get(common-palettes.$aqua, 90)};
|
|
41
|
+
--color-on-info-container: #{map.get(common-palettes.$aqua, 30)};
|
|
42
|
+
|
|
43
|
+
// Warning
|
|
44
|
+
--color-warning: #{map.get(common-palettes.$yellow, 40)};
|
|
45
|
+
--color-on-warning: #{map.get(common-palettes.$yellow, 100)};
|
|
46
|
+
--color-warning-container: #{map.get(common-palettes.$yellow, 90)};
|
|
47
|
+
--color-on-warning-container: #{map.get(common-palettes.$yellow, 30)};
|
|
48
|
+
|
|
49
|
+
// Surface
|
|
50
|
+
--color-surface: #f6fafe;
|
|
51
|
+
--color-on-surface: #181c1f;
|
|
52
|
+
--color-surface-variant: #dde3ea;
|
|
53
|
+
--color-on-surface-variant: #41484d;
|
|
54
|
+
|
|
55
|
+
--color-surface-container-lowest: #ffffff;
|
|
56
|
+
--color-surface-container-low: #f0f4f8;
|
|
57
|
+
--color-surface-container: #ebeef3;
|
|
58
|
+
--color-surface-container-high: #e5e8ed;
|
|
59
|
+
--color-surface-container-highest: #dfe3e7;
|
|
60
|
+
|
|
61
|
+
// Outline
|
|
62
|
+
--color-outline: #71787e;
|
|
63
|
+
--color-outline-variant: #c1c7ce;
|
|
64
|
+
|
|
65
|
+
// Shadow
|
|
66
|
+
--color-shadow: 0 0 0;
|
|
67
|
+
|
|
68
|
+
&.tls-dark {
|
|
69
|
+
// Primary
|
|
70
|
+
--color-primary: #{map.get(palettes.$primary, 80)};
|
|
71
|
+
--color-on-primary: #{map.get(palettes.$primary, 20)};
|
|
72
|
+
--color-primary-container: #{map.get(palettes.$primary, 30)};
|
|
73
|
+
--color-on-primary-container: #{map.get(palettes.$primary, 90)};
|
|
74
|
+
|
|
75
|
+
// Secondary
|
|
76
|
+
--color-secondary: #{map.get(palettes.$secondary, 80)};
|
|
77
|
+
--color-on-secondary: #{map.get(palettes.$secondary, 20)};
|
|
78
|
+
--color-secondary-container: #{map.get(palettes.$secondary, 30)};
|
|
79
|
+
--color-on-secondary-container: #{map.get(palettes.$secondary, 90)};
|
|
80
|
+
|
|
81
|
+
// Tertiary
|
|
82
|
+
--color-tertiary: #{map.get(palettes.$tertiary, 80)};
|
|
83
|
+
--color-on-tertiary: #{map.get(palettes.$tertiary, 20)};
|
|
84
|
+
--color-tertiary-container: #{map.get(palettes.$tertiary, 30)};
|
|
85
|
+
--color-on-tertiary-container: #{map.get(palettes.$tertiary, 90)};
|
|
86
|
+
|
|
87
|
+
// Success
|
|
88
|
+
--color-success: #{map.get(common-palettes.$green, 80)};
|
|
89
|
+
--color-on-success: #{map.get(common-palettes.$green, 20)};
|
|
90
|
+
--color-success-container: #{map.get(common-palettes.$green, 30)};
|
|
91
|
+
--color-on-success-container: #{map.get(common-palettes.$green, 90)};
|
|
92
|
+
|
|
93
|
+
// Danger
|
|
94
|
+
--color-danger: #ffb4ab;
|
|
95
|
+
--color-on-danger: #690005;
|
|
96
|
+
--color-danger-container: #93000a;
|
|
97
|
+
--color-on-danger-container: #ffdad6;
|
|
98
|
+
|
|
99
|
+
// Info
|
|
100
|
+
--color-info: #{map.get(common-palettes.$aqua, 80)};
|
|
101
|
+
--color-on-info: #{map.get(common-palettes.$aqua, 20)};
|
|
102
|
+
--color-info-container: #{map.get(common-palettes.$aqua, 30)};
|
|
103
|
+
--color-on-info-container: #{map.get(common-palettes.$aqua, 90)};
|
|
104
|
+
|
|
105
|
+
// Warning
|
|
106
|
+
--color-warning: #{map.get(common-palettes.$yellow, 80)};
|
|
107
|
+
--color-on-warning: #{map.get(common-palettes.$yellow, 20)};
|
|
108
|
+
--color-warning-container: #{map.get(common-palettes.$yellow, 30)};
|
|
109
|
+
--color-on-warning-container: #{map.get(common-palettes.$yellow, 90)};
|
|
110
|
+
|
|
111
|
+
// Surface
|
|
112
|
+
--color-surface: #101417;
|
|
113
|
+
--color-on-surface: #dfe3e7;
|
|
114
|
+
--color-surface-variant: #41484d;
|
|
115
|
+
--color-on-surface-variant: #c1c7ce;
|
|
116
|
+
|
|
117
|
+
--color-surface-container-lowest: #0a0f12;
|
|
118
|
+
--color-surface-container-low: #181c1f;
|
|
119
|
+
--color-surface-container: #1c2024;
|
|
120
|
+
--color-surface-container-high: #262a2e;
|
|
121
|
+
--color-surface-container-highest: #313539;
|
|
122
|
+
|
|
123
|
+
// Outline
|
|
124
|
+
--color-outline: #8b9198;
|
|
125
|
+
--color-outline-variant: #41484d;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
// Duration
|
|
3
|
+
--motion-instant: 100ms; // Tooltips, ripples...
|
|
4
|
+
--motion-fast: 150ms; // Button hovers, focus states...
|
|
5
|
+
--motion-default: 250ms; // Dropdowns, modals, accordions...
|
|
6
|
+
--motion-slow: 400ms; // Page transitions, complex animations...
|
|
7
|
+
--motion-slower: 600ms; // Loading indicators, skeletons...
|
|
8
|
+
|
|
9
|
+
// Easing curves
|
|
10
|
+
--motion-ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
11
|
+
--motion-ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
12
|
+
--motion-ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
13
|
+
--motion-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
14
|
+
--motion-ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
|
15
|
+
|
|
16
|
+
// Delays
|
|
17
|
+
--motion-delay-short: 50ms;
|
|
18
|
+
--motion-delay-medium: 100ms;
|
|
19
|
+
--motion-delay-long: 200ms;
|
|
20
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--shadow-xs: 0 1px 2px 0 rgb(var(--color-shadow) / 0.25);
|
|
3
|
+
--shadow-sm:
|
|
4
|
+
0 1px 3px 0 rgb(var(--color-shadow) / 0.35), 0 1px 2px -1px rgb(var(--color-shadow) / 0.35);
|
|
5
|
+
--shadow-md:
|
|
6
|
+
0 4px 6px -1px rgb(var(--color-shadow) / 0.35), 0 2px 4px -2px rgb(var(--color-shadow) / 0.35);
|
|
7
|
+
--shadow-lg:
|
|
8
|
+
0 10px 35px -3px rgb(var(--color-shadow) / 0.35), 0 4px 6px -4px rgb(var(--color-shadow) / 0.35);
|
|
9
|
+
--shadow-xl:
|
|
10
|
+
0 20px 25px -5px rgb(var(--color-shadow) / 0.35),
|
|
11
|
+
0 8px 10px -6px rgb(var(--color-shadow) / 0.35);
|
|
12
|
+
--shadow-2xl: 0 25px 50px -12px rgb(var(--color-shadow) / 0.35);
|
|
13
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
// Font families
|
|
3
|
+
--font-family-base: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
|
|
4
|
+
--font-family-heading: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
|
|
5
|
+
--font-family-mono: 'Roboto Mono', 'Courier New', monospace;
|
|
6
|
+
|
|
7
|
+
// Font weights
|
|
8
|
+
--font-weight-light: 300;
|
|
9
|
+
--font-weight-regular: 400;
|
|
10
|
+
--font-weight-medium: 500;
|
|
11
|
+
--font-weight-semibold: 600;
|
|
12
|
+
--font-weight-bold: 700;
|
|
13
|
+
|
|
14
|
+
// Line heights
|
|
15
|
+
--line-height-tight: 1.25;
|
|
16
|
+
--line-height-normal: 1.5;
|
|
17
|
+
--line-height-relaxed: 1.75;
|
|
18
|
+
|
|
19
|
+
// Letter spacing
|
|
20
|
+
--letter-spacing-tight: -0.02em;
|
|
21
|
+
--letter-spacing-normal: 0;
|
|
22
|
+
--letter-spacing-wide: 0.025em;
|
|
23
|
+
--letter-spacing-wider: 0.05em;
|
|
24
|
+
|
|
25
|
+
// Display styles (large marketing text)
|
|
26
|
+
--font-display-large-size: 3.5rem;
|
|
27
|
+
--font-display-large-weight: var(--font-weight-regular);
|
|
28
|
+
--font-display-large-line-height: 4rem;
|
|
29
|
+
--font-display-large-letter-spacing: var(--letter-spacing-tight);
|
|
30
|
+
|
|
31
|
+
--font-display-medium-size: 2.8125rem;
|
|
32
|
+
--font-display-medium-weight: var(--font-weight-regular);
|
|
33
|
+
--font-display-medium-line-height: 3.25rem;
|
|
34
|
+
--font-display-medium-letter-spacing: var(--letter-spacing-normal);
|
|
35
|
+
|
|
36
|
+
--font-display-small-size: 2.25rem;
|
|
37
|
+
--font-display-small-weight: var(--font-weight-regular);
|
|
38
|
+
--font-display-small-line-height: 2.75rem;
|
|
39
|
+
--font-display-small-letter-spacing: var(--letter-spacing-normal);
|
|
40
|
+
|
|
41
|
+
// Headline styles (page titles)
|
|
42
|
+
--font-headline-large-size: 2rem;
|
|
43
|
+
--font-headline-large-weight: var(--font-weight-regular);
|
|
44
|
+
--font-headline-large-line-height: 2.5rem;
|
|
45
|
+
--font-headline-large-letter-spacing: var(--letter-spacing-normal);
|
|
46
|
+
|
|
47
|
+
--font-headline-medium-size: 1.75rem;
|
|
48
|
+
--font-headline-medium-weight: var(--font-weight-regular);
|
|
49
|
+
--font-headline-medium-line-height: 2.25rem;
|
|
50
|
+
--font-headline-medium-letter-spacing: var(--letter-spacing-normal);
|
|
51
|
+
|
|
52
|
+
--font-headline-small-size: 1.5rem;
|
|
53
|
+
--font-headline-small-weight: var(--font-weight-regular);
|
|
54
|
+
--font-headline-small-line-height: 2rem;
|
|
55
|
+
--font-headline-small-letter-spacing: var(--letter-spacing-normal);
|
|
56
|
+
|
|
57
|
+
// Title styles (section headers)
|
|
58
|
+
--font-title-large-size: 1.375rem;
|
|
59
|
+
--font-title-large-weight: var(--font-weight-medium);
|
|
60
|
+
--font-title-large-line-height: 1.75rem;
|
|
61
|
+
--font-title-large-letter-spacing: var(--letter-spacing-normal);
|
|
62
|
+
|
|
63
|
+
--font-title-medium-size: 1rem;
|
|
64
|
+
--font-title-medium-weight: var(--font-weight-medium);
|
|
65
|
+
--font-title-medium-line-height: 1.5rem;
|
|
66
|
+
--font-title-medium-letter-spacing: var(--letter-spacing-wide);
|
|
67
|
+
|
|
68
|
+
--font-title-small-size: 0.875rem;
|
|
69
|
+
--font-title-small-weight: var(--font-weight-medium);
|
|
70
|
+
--font-title-small-line-height: 1.25rem;
|
|
71
|
+
--font-title-small-letter-spacing: var(--letter-spacing-wide);
|
|
72
|
+
|
|
73
|
+
// Body styles (main content)
|
|
74
|
+
--font-body-large-size: 1rem;
|
|
75
|
+
--font-body-large-weight: var(--font-weight-regular);
|
|
76
|
+
--font-body-large-line-height: 1.5rem;
|
|
77
|
+
--font-body-large-letter-spacing: var(--letter-spacing-normal);
|
|
78
|
+
|
|
79
|
+
--font-body-medium-size: 0.875rem;
|
|
80
|
+
--font-body-medium-weight: var(--font-weight-regular);
|
|
81
|
+
--font-body-medium-line-height: 1.25rem;
|
|
82
|
+
--font-body-medium-letter-spacing: var(--letter-spacing-normal);
|
|
83
|
+
|
|
84
|
+
--font-body-small-size: 0.75rem;
|
|
85
|
+
--font-body-small-weight: var(--font-weight-regular);
|
|
86
|
+
--font-body-small-line-height: 1rem;
|
|
87
|
+
--font-body-small-letter-spacing: var(--letter-spacing-normal);
|
|
88
|
+
|
|
89
|
+
// Label styles (buttons, tabs, form labels)
|
|
90
|
+
--font-label-large-size: 0.875rem;
|
|
91
|
+
--font-label-large-weight: var(--font-weight-medium);
|
|
92
|
+
--font-label-large-line-height: 1.25rem;
|
|
93
|
+
--font-label-large-letter-spacing: var(--letter-spacing-wide);
|
|
94
|
+
|
|
95
|
+
--font-label-medium-size: 0.75rem;
|
|
96
|
+
--font-label-medium-weight: var(--font-weight-medium);
|
|
97
|
+
--font-label-medium-line-height: 1rem;
|
|
98
|
+
--font-label-medium-letter-spacing: var(--letter-spacing-wider);
|
|
99
|
+
|
|
100
|
+
--font-label-small-size: 0.6875rem;
|
|
101
|
+
--font-label-small-weight: var(--font-weight-medium);
|
|
102
|
+
--font-label-small-line-height: 1rem;
|
|
103
|
+
--font-label-small-letter-spacing: var(--letter-spacing-wider);
|
|
104
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$neutral-variant: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #0c1215,
|
|
4
|
+
10: #171c20,
|
|
5
|
+
15: #21262b,
|
|
6
|
+
20: #2c3135,
|
|
7
|
+
25: #373c40,
|
|
8
|
+
30: #42474c,
|
|
9
|
+
35: #4e5358,
|
|
10
|
+
40: #5a5f64,
|
|
11
|
+
50: #72787d,
|
|
12
|
+
60: #8c9196,
|
|
13
|
+
70: #a7acb1,
|
|
14
|
+
80: #c2c7cc,
|
|
15
|
+
90: #dee3e8,
|
|
16
|
+
95: #ecf1f7,
|
|
17
|
+
98: #f6faff,
|
|
18
|
+
99: #fbfcff,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$neutral: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #0f1113,
|
|
4
|
+
10: #1a1c1e,
|
|
5
|
+
15: #242628,
|
|
6
|
+
20: #2f3132,
|
|
7
|
+
25: #3a3c3d,
|
|
8
|
+
30: #454749,
|
|
9
|
+
35: #515254,
|
|
10
|
+
40: #5d5e60,
|
|
11
|
+
50: #767779,
|
|
12
|
+
60: #909193,
|
|
13
|
+
70: #aaabad,
|
|
14
|
+
80: #c6c6c8,
|
|
15
|
+
90: #e2e2e4,
|
|
16
|
+
95: #f1f0f3,
|
|
17
|
+
98: #f9f9fb,
|
|
18
|
+
99: #fcfcfe,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$primary: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #00131e,
|
|
4
|
+
10: #001e2d,
|
|
5
|
+
15: #00293c,
|
|
6
|
+
20: #00344b,
|
|
7
|
+
25: #00405b,
|
|
8
|
+
30: #004c6b,
|
|
9
|
+
35: #00587c,
|
|
10
|
+
40: #00658d,
|
|
11
|
+
50: #2b7ea9,
|
|
12
|
+
60: #4b98c5,
|
|
13
|
+
70: #68b3e1,
|
|
14
|
+
80: #85cffe,
|
|
15
|
+
90: #c6e7ff,
|
|
16
|
+
95: #e4f3ff,
|
|
17
|
+
98: #f6faff,
|
|
18
|
+
99: #fbfcff,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$secondary: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #04121b,
|
|
4
|
+
10: #0f1d26,
|
|
5
|
+
15: #192731,
|
|
6
|
+
20: #24323c,
|
|
7
|
+
25: #2f3d47,
|
|
8
|
+
30: #3a4953,
|
|
9
|
+
35: #46545f,
|
|
10
|
+
40: #52606b,
|
|
11
|
+
50: #6a7984,
|
|
12
|
+
60: #84939e,
|
|
13
|
+
70: #9eadb9,
|
|
14
|
+
80: #b9c8d5,
|
|
15
|
+
90: #d5e5f1,
|
|
16
|
+
95: #e4f3ff,
|
|
17
|
+
98: #f6faff,
|
|
18
|
+
99: #fbfcff,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
$tertiary: (
|
|
2
|
+
0: #000000,
|
|
3
|
+
5: #2a0017,
|
|
4
|
+
10: #3d0024,
|
|
5
|
+
15: #500030,
|
|
6
|
+
20: #63003d,
|
|
7
|
+
25: #77004a,
|
|
8
|
+
30: #8c0058,
|
|
9
|
+
35: #9c1464,
|
|
10
|
+
40: #ac2471,
|
|
11
|
+
50: #cc408a,
|
|
12
|
+
60: #ed5ba5,
|
|
13
|
+
70: #ff82bc,
|
|
14
|
+
80: #ffb0d0,
|
|
15
|
+
90: #ffd8e6,
|
|
16
|
+
95: #ffecf1,
|
|
17
|
+
98: #fff8f8,
|
|
18
|
+
99: #fffbff,
|
|
19
|
+
100: #ffffff,
|
|
20
|
+
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward 'control';
|