@educarehq/solaris-ui 0.3.1 → 0.3.3

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.
Files changed (36) hide show
  1. package/package.json +7 -1
  2. package/styles/_button.scss +510 -510
  3. package/styles/_dropdown-menu.scss +72 -72
  4. package/styles/_icon-button.scss +481 -481
  5. package/styles/_index.scss +27 -19
  6. package/styles/_input.scss +255 -255
  7. package/styles/_popover.scss +73 -73
  8. package/styles/_textarea.scss +242 -0
  9. package/styles/_theme.scss +46 -46
  10. package/styles/_toast.scss +9 -9
  11. package/styles/_tooltip.scss +3 -3
  12. package/styles/token/border/_border.scss +5 -5
  13. package/styles/token/border/_index.scss +1 -1
  14. package/styles/token/color/_dark.scss +78 -78
  15. package/styles/token/color/_high-contrast.scss +27 -27
  16. package/styles/token/color/_index.scss +3 -3
  17. package/styles/token/color/_light.scss +69 -69
  18. package/styles/token/density/_comfortable.scss +15 -15
  19. package/styles/token/density/_compact.scss +15 -15
  20. package/styles/token/density/_index.scss +2 -2
  21. package/styles/token/motion/_index.scss +2 -2
  22. package/styles/token/motion/_motion.scss +15 -15
  23. package/styles/token/motion/_reduced-motion.scss +15 -15
  24. package/styles/token/opacity/_index.scss +1 -1
  25. package/styles/token/opacity/_opacity.scss +4 -4
  26. package/styles/token/radius/_index.scss +1 -1
  27. package/styles/token/radius/_radius.scss +8 -8
  28. package/styles/token/shadow/_index.scss +1 -1
  29. package/styles/token/shadow/_shadow.scss +26 -26
  30. package/styles/token/spacing/_index.scss +1 -1
  31. package/styles/token/spacing/_spacing.scss +15 -15
  32. package/styles/token/typography/_font-family.scss +13 -13
  33. package/styles/token/typography/_index.scss +2 -2
  34. package/styles/token/typography/_typography.scss +25 -25
  35. package/styles/token/z-index/_index.scss +1 -1
  36. package/styles/token/z-index/_z-index.scss +10 -10
@@ -1,73 +1,73 @@
1
- .solaris-popover-panel-overlay {
2
- z-index: var(--solaris-z-index-popover);
3
- }
4
-
5
- .solaris-popover-panel {
6
- --solaris-popover-border-width: 0;
7
- --solaris-popover-min-width: auto;
8
- --solaris-popover-max-width: none;
9
- --solaris-popover-border-color: transparent;
10
- --solaris-popover-radius: var(--solaris-radius-md);
11
- --solaris-popover-shadow: var(--solaris-shadow-lg);
12
- --solaris-popover-padding: var(--solaris-spacing-3);
13
- --solaris-popover-color: var(--solaris-text-default);
14
- --solaris-popover-background: var(--solaris-surface-raised);
15
-
16
- outline: none;
17
- display: block;
18
- }
19
-
20
- .solaris-popover-panel__container {
21
- outline: none;
22
- box-sizing: border-box;
23
- color: var(--solaris-popover-color);
24
- padding: var(--solaris-popover-padding);
25
- box-shadow: var(--solaris-popover-shadow);
26
- min-width: var(--solaris-popover-min-width);
27
- max-width: var(--solaris-popover-max-width);
28
- border-radius: var(--solaris-popover-radius);
29
- background: var(--solaris-popover-background);
30
- border: var(--solaris-popover-border-width) solid
31
- var(--solaris-popover-border-color);
32
- }
33
-
34
- .solaris-popover-panel__container[data-appearance='outline'] {
35
- background: var(--solaris-surface-base);
36
- border: var(--solaris-border-width-sm) solid var(--solaris-border-subtle);
37
- }
38
-
39
- .solaris-popover-panel__container[data-padding='none'] {
40
- --solaris-popover-padding: 0;
41
- }
42
-
43
- .solaris-popover-panel__container[data-padding='sm'] {
44
- --solaris-popover-padding: var(--solaris-spacing-2);
45
- }
46
-
47
- .solaris-popover-panel__container[data-padding='md'] {
48
- --solaris-popover-padding: var(--solaris-spacing-3);
49
- }
50
-
51
- .solaris-popover-panel__container[data-padding='lg'] {
52
- --solaris-popover-padding: var(--solaris-spacing-4);
53
- }
54
-
55
- .solaris-popover-panel__container[data-radius='none'] {
56
- border-radius: var(--solaris-radius-none);
57
- }
58
-
59
- .solaris-popover-panel__container[data-radius='sm'] {
60
- border-radius: var(--solaris-radius-sm);
61
- }
62
-
63
- .solaris-popover-panel__container[data-radius='md'] {
64
- border-radius: var(--solaris-radius-md);
65
- }
66
-
67
- .solaris-popover-panel__container[data-radius='lg'] {
68
- border-radius: var(--solaris-radius-lg);
69
- }
70
-
71
- .solaris-popover-panel__container[data-radius='xl'] {
72
- border-radius: var(--solaris-radius-xl);
73
- }
1
+ .solaris-popover-panel-overlay {
2
+ z-index: var(--solaris-z-index-popover);
3
+ }
4
+
5
+ .solaris-popover-panel {
6
+ --solaris-popover-border-width: 0;
7
+ --solaris-popover-min-width: auto;
8
+ --solaris-popover-max-width: none;
9
+ --solaris-popover-border-color: transparent;
10
+ --solaris-popover-radius: var(--solaris-radius-md);
11
+ --solaris-popover-shadow: var(--solaris-shadow-lg);
12
+ --solaris-popover-padding: var(--solaris-spacing-3);
13
+ --solaris-popover-color: var(--solaris-text-default);
14
+ --solaris-popover-background: var(--solaris-surface-raised);
15
+
16
+ outline: none;
17
+ display: block;
18
+ }
19
+
20
+ .solaris-popover-panel__container {
21
+ outline: none;
22
+ box-sizing: border-box;
23
+ color: var(--solaris-popover-color);
24
+ padding: var(--solaris-popover-padding);
25
+ box-shadow: var(--solaris-popover-shadow);
26
+ min-width: var(--solaris-popover-min-width);
27
+ max-width: var(--solaris-popover-max-width);
28
+ border-radius: var(--solaris-popover-radius);
29
+ background: var(--solaris-popover-background);
30
+ border: var(--solaris-popover-border-width) solid
31
+ var(--solaris-popover-border-color);
32
+ }
33
+
34
+ .solaris-popover-panel__container[data-appearance='outline'] {
35
+ background: var(--solaris-surface-base);
36
+ border: var(--solaris-border-width-sm) solid var(--solaris-border-subtle);
37
+ }
38
+
39
+ .solaris-popover-panel__container[data-padding='none'] {
40
+ --solaris-popover-padding: 0;
41
+ }
42
+
43
+ .solaris-popover-panel__container[data-padding='sm'] {
44
+ --solaris-popover-padding: var(--solaris-spacing-2);
45
+ }
46
+
47
+ .solaris-popover-panel__container[data-padding='md'] {
48
+ --solaris-popover-padding: var(--solaris-spacing-3);
49
+ }
50
+
51
+ .solaris-popover-panel__container[data-padding='lg'] {
52
+ --solaris-popover-padding: var(--solaris-spacing-4);
53
+ }
54
+
55
+ .solaris-popover-panel__container[data-radius='none'] {
56
+ border-radius: var(--solaris-radius-none);
57
+ }
58
+
59
+ .solaris-popover-panel__container[data-radius='sm'] {
60
+ border-radius: var(--solaris-radius-sm);
61
+ }
62
+
63
+ .solaris-popover-panel__container[data-radius='md'] {
64
+ border-radius: var(--solaris-radius-md);
65
+ }
66
+
67
+ .solaris-popover-panel__container[data-radius='lg'] {
68
+ border-radius: var(--solaris-radius-lg);
69
+ }
70
+
71
+ .solaris-popover-panel__container[data-radius='xl'] {
72
+ border-radius: var(--solaris-radius-xl);
73
+ }
@@ -0,0 +1,242 @@
1
+ textarea[solaris-textarea] {
2
+ --solaris-textarea-background: initial;
3
+ --solaris-textarea-color: initial;
4
+ --solaris-textarea-border-color: initial;
5
+ --solaris-textarea-border-width: initial;
6
+ --solaris-textarea-radius: initial;
7
+ --solaris-textarea-padding-x: initial;
8
+ --solaris-textarea-padding-y: initial;
9
+ --solaris-textarea-min-height: initial;
10
+ --solaris-textarea-font-size: initial;
11
+ --solaris-textarea-line-height: initial;
12
+ --solaris-textarea-placeholder-color: initial;
13
+ --solaris-textarea-focus-ring-color: initial;
14
+ --solaris-textarea-invalid-border-color: initial;
15
+ --solaris-textarea-disabled-opacity: initial;
16
+ --solaris-textarea-readonly-background: initial;
17
+
18
+ font-family: var(--solaris-font-family-sans), system-ui;
19
+ box-sizing: border-box;
20
+ margin: 0;
21
+ width: 100%;
22
+ color: var(--solaris-textarea-color);
23
+ background: var(--solaris-textarea-background);
24
+ border: var(--solaris-textarea-border-width) solid
25
+ var(--solaris-textarea-border-color);
26
+ border-radius: var(--solaris-textarea-radius);
27
+ min-height: var(--solaris-textarea-min-height);
28
+ padding: var(--solaris-textarea-padding-y) var(--solaris-textarea-padding-x);
29
+ font-size: var(--solaris-textarea-font-size);
30
+ line-height: var(--solaris-textarea-line-height);
31
+ outline: none;
32
+ transition:
33
+ border-color var(--solaris-motion-duration-fast, 150ms) ease,
34
+ box-shadow var(--solaris-motion-duration-fast, 150ms) ease;
35
+ }
36
+
37
+ textarea[solaris-textarea]::placeholder {
38
+ color: var(--solaris-textarea-placeholder-color);
39
+ opacity: 1;
40
+ }
41
+
42
+ textarea[solaris-textarea]:focus-visible {
43
+ border-color: var(--solaris-textarea-focus-ring-color);
44
+ // SOLARIS_TOKEN_EXCEPTION: Focus ring box-shadow uses CSS var with tokenized color. Hardcoded spread required by design.
45
+ box-shadow: 0 0 0 2px var(--solaris-textarea-focus-ring-color);
46
+ }
47
+
48
+ textarea[solaris-textarea][data-invalid] {
49
+ border-color: var(--solaris-textarea-invalid-border-color);
50
+ }
51
+
52
+ textarea[solaris-textarea][data-invalid]:focus-visible {
53
+ border-color: var(--solaris-textarea-invalid-border-color);
54
+ // SOLARIS_TOKEN_EXCEPTION: Invalid state focus ring box-shadow uses CSS var. Hardcoded spread required by design.
55
+ box-shadow: 0 0 0 2px var(--solaris-textarea-invalid-border-color);
56
+ }
57
+
58
+ textarea[solaris-textarea]:disabled {
59
+ cursor: not-allowed;
60
+ opacity: var(--solaris-textarea-disabled-opacity);
61
+ }
62
+
63
+ textarea[solaris-textarea][readonly] {
64
+ background: var(--solaris-textarea-readonly-background);
65
+ cursor: default;
66
+ }
67
+
68
+ textarea[solaris-textarea][data-appearance='outline'] {
69
+ --solaris-textarea-background: var(--solaris-surface-base);
70
+ --solaris-textarea-color: var(--solaris-text-default);
71
+ --solaris-textarea-border-color: var(--solaris-border-default);
72
+ --solaris-textarea-border-width: 1px;
73
+ --solaris-textarea-placeholder-color: var(--solaris-text-muted);
74
+ --solaris-textarea-focus-ring-color: var(--solaris-primary-base);
75
+ --solaris-textarea-invalid-border-color: var(--solaris-danger-base);
76
+ --solaris-textarea-disabled-opacity: 0.5;
77
+ --solaris-textarea-readonly-background: var(--solaris-surface-muted);
78
+ }
79
+
80
+ textarea[solaris-textarea][data-appearance='surface'] {
81
+ --solaris-textarea-background: var(--solaris-surface-muted);
82
+ --solaris-textarea-color: var(--solaris-text-default);
83
+ --solaris-textarea-border-color: var(--solaris-border-subtle);
84
+ --solaris-textarea-border-width: 1px;
85
+ --solaris-textarea-placeholder-color: var(--solaris-text-muted);
86
+ --solaris-textarea-focus-ring-color: var(--solaris-primary-base);
87
+ --solaris-textarea-invalid-border-color: var(--solaris-danger-base);
88
+ --solaris-textarea-disabled-opacity: 0.5;
89
+ --solaris-textarea-readonly-background: var(--solaris-surface-base);
90
+ }
91
+
92
+ textarea[solaris-textarea][data-appearance='filled'] {
93
+ --solaris-textarea-background: var(--solaris-surface-muted);
94
+ --solaris-textarea-color: var(--solaris-text-default);
95
+ --solaris-textarea-border-color: transparent;
96
+ --solaris-textarea-border-width: 0 0 1px 0;
97
+ --solaris-textarea-placeholder-color: var(--solaris-text-muted);
98
+ --solaris-textarea-focus-ring-color: var(--solaris-primary-base);
99
+ --solaris-textarea-invalid-border-color: var(--solaris-danger-base);
100
+ --solaris-textarea-disabled-opacity: 0.5;
101
+ --solaris-textarea-readonly-background: var(--solaris-surface-base);
102
+ }
103
+
104
+ textarea[solaris-textarea][data-size='sm'] {
105
+ --solaris-textarea-padding-x: var(--solaris-spacing-2);
106
+ --solaris-textarea-padding-y: 0.25rem;
107
+ --solaris-textarea-min-height: 3rem;
108
+ --solaris-textarea-font-size: var(--solaris-font-size-sm);
109
+ --solaris-textarea-line-height: var(--solaris-line-height-sm);
110
+ }
111
+
112
+ textarea[solaris-textarea][data-size='md'] {
113
+ --solaris-textarea-padding-x: var(--solaris-spacing-3);
114
+ --solaris-textarea-padding-y: 0.375rem;
115
+ --solaris-textarea-min-height: 3.5rem;
116
+ --solaris-textarea-font-size: var(--solaris-font-size-md);
117
+ --solaris-textarea-line-height: var(--solaris-line-height-md);
118
+ }
119
+
120
+ textarea[solaris-textarea][data-size='lg'] {
121
+ --solaris-textarea-padding-x: var(--solaris-spacing-4);
122
+ --solaris-textarea-padding-y: 0.5rem;
123
+ --solaris-textarea-min-height: 4rem;
124
+ --solaris-textarea-font-size: var(--solaris-font-size-lg);
125
+ --solaris-textarea-line-height: var(--solaris-line-height-lg);
126
+ }
127
+
128
+ textarea[solaris-textarea][data-density='compact'] {
129
+ --solaris-textarea-padding-y: 0.1875rem;
130
+ --solaris-textarea-line-height: var(--solaris-line-height-sm);
131
+ }
132
+
133
+ textarea[solaris-textarea][data-density='comfortable'] {
134
+ --solaris-textarea-padding-y: 0.5rem;
135
+ --solaris-textarea-line-height: var(--solaris-line-height-md);
136
+ }
137
+
138
+ textarea[solaris-textarea][data-radius='none'] {
139
+ --solaris-textarea-radius: 0;
140
+ }
141
+
142
+ textarea[solaris-textarea][data-radius='sm'] {
143
+ --solaris-textarea-radius: var(--solaris-radius-sm);
144
+ }
145
+
146
+ textarea[solaris-textarea][data-radius='md'] {
147
+ --solaris-textarea-radius: var(--solaris-radius-md);
148
+ }
149
+
150
+ textarea[solaris-textarea][data-radius='lg'] {
151
+ --solaris-textarea-radius: var(--solaris-radius-lg);
152
+ }
153
+
154
+ textarea[solaris-textarea][data-resize='none'] {
155
+ resize: none;
156
+ }
157
+
158
+ textarea[solaris-textarea][data-resize='vertical'] {
159
+ resize: vertical;
160
+ }
161
+
162
+ textarea[solaris-textarea][data-resize='horizontal'] {
163
+ resize: horizontal;
164
+ }
165
+
166
+ textarea[solaris-textarea][data-resize='both'] {
167
+ resize: both;
168
+ }
169
+
170
+ textarea[solaris-textarea][data-full-width] {
171
+ width: 100%;
172
+ }
173
+
174
+ @media (prefers-reduced-motion: reduce) {
175
+ textarea[solaris-textarea] {
176
+ transition: none;
177
+ }
178
+ }
179
+
180
+ [data-reduced-motion='true'] textarea[solaris-textarea] {
181
+ transition: none;
182
+ }
183
+
184
+ @media (prefers-color-scheme: dark) {
185
+ textarea[solaris-textarea]:autofill,
186
+ textarea[solaris-textarea]:-webkit-autofill {
187
+ -webkit-text-fill-color: var(--solaris-textarea-color);
188
+ // SOLARIS_TOKEN_EXCEPTION: WebKit autofill dark mode requires hardcoded box-shadow inset to override browser default.
189
+ -webkit-box-shadow: 0 0 0 30px var(--solaris-textarea-background) inset;
190
+ }
191
+ }
192
+
193
+ solaris-form-field textarea[solaris-textarea] {
194
+ background: transparent;
195
+ border: none;
196
+ border-radius: 0;
197
+ padding-left: 0;
198
+ padding-right: 0;
199
+ // SOLARIS_TOKEN_EXCEPTION: Resetting box-shadow inside form-field context is intentional to inherit from parent.
200
+ box-shadow: none;
201
+ }
202
+
203
+ solaris-form-field textarea[solaris-textarea]:focus-visible {
204
+ border-color: transparent;
205
+ // SOLARIS_TOKEN_EXCEPTION: Resetting box-shadow inside form-field context is intentional to inherit from parent.
206
+ box-shadow: none;
207
+ }
208
+
209
+ solaris-form-field textarea[solaris-textarea][data-invalid] {
210
+ border-color: transparent;
211
+ }
212
+
213
+ solaris-form-field textarea[solaris-textarea][data-invalid]:focus-visible {
214
+ border-color: transparent;
215
+ // SOLARIS_TOKEN_EXCEPTION: Resetting box-shadow inside form-field context is intentional to inherit from parent.
216
+ box-shadow: none;
217
+ }
218
+
219
+ solaris-form-field textarea[solaris-textarea][disabled] {
220
+ opacity: var(--solaris-textarea-disabled-opacity);
221
+ }
222
+
223
+ solaris-form-field textarea[solaris-textarea][readonly] {
224
+ background: transparent;
225
+ }
226
+
227
+ solaris-form-field textarea[solaris-textarea][data-density='compact'] {
228
+ padding-top: 0.1875rem;
229
+ padding-bottom: 0.1875rem;
230
+ }
231
+
232
+ solaris-form-field textarea[solaris-textarea][data-density='comfortable'] {
233
+ padding-top: 0.5rem;
234
+ padding-bottom: 0.5rem;
235
+ }
236
+
237
+ solaris-form-field textarea[solaris-textarea]:autofill,
238
+ solaris-form-field textarea[solaris-textarea]:-webkit-autofill {
239
+ -webkit-text-fill-color: var(--solaris-textarea-color);
240
+ // SOLARIS_TOKEN_EXCEPTION: WebKit autofill inside form-field requires hardcoded transparent box-shadow inset.
241
+ -webkit-box-shadow: 0 0 0 30px transparent inset;
242
+ }
@@ -1,46 +1,46 @@
1
- /// Solaris UI Theme
2
- /// Applies token CSS custom properties based on configuration.
3
- ///
4
- /// Usage:
5
- /// @use '@solaris-ui/angular/styles' as solaris;
6
- /// @include solaris.theme((
7
- /// color-scheme: system,
8
- /// density: comfortable,
9
- /// radius: md,
10
- /// motion: auto
11
- /// ));
12
-
13
- @use 'sass:map';
14
- @use 'token/color';
15
- @use 'token/density';
16
- @use 'token/radius';
17
- @use 'token/spacing';
18
- @use 'token/typography';
19
- @use 'token/shadow';
20
- @use 'token/motion';
21
- @use 'token/z-index';
22
- @use 'token/border';
23
- @use 'token/opacity';
24
-
25
- $-default-config: (
26
- color-scheme: system,
27
- density: comfortable,
28
- radius: md,
29
- motion: auto,
30
- );
31
-
32
- @mixin theme($config: ()) {
33
- $merged: map.merge($-default-config, $config);
34
-
35
- $color-scheme: map.get($merged, color-scheme);
36
-
37
- :root {
38
- @if $color-scheme == light {
39
- color-scheme: light;
40
- } @else if $color-scheme == dark {
41
- color-scheme: dark;
42
- } @else {
43
- color-scheme: light dark;
44
- }
45
- }
46
- }
1
+ /// Solaris UI Theme
2
+ /// Applies token CSS custom properties based on configuration.
3
+ ///
4
+ /// Usage:
5
+ /// @use '@solaris-ui/angular/styles' as solaris;
6
+ /// @include solaris.theme((
7
+ /// color-scheme: system,
8
+ /// density: comfortable,
9
+ /// radius: md,
10
+ /// motion: auto
11
+ /// ));
12
+
13
+ @use 'sass:map';
14
+ @use 'token/color';
15
+ @use 'token/density';
16
+ @use 'token/radius';
17
+ @use 'token/spacing';
18
+ @use 'token/typography';
19
+ @use 'token/shadow';
20
+ @use 'token/motion';
21
+ @use 'token/z-index';
22
+ @use 'token/border';
23
+ @use 'token/opacity';
24
+
25
+ $-default-config: (
26
+ color-scheme: system,
27
+ density: comfortable,
28
+ radius: md,
29
+ motion: auto,
30
+ );
31
+
32
+ @mixin theme($config: ()) {
33
+ $merged: map.merge($-default-config, $config);
34
+
35
+ $color-scheme: map.get($merged, color-scheme);
36
+
37
+ :root {
38
+ @if $color-scheme == light {
39
+ color-scheme: light;
40
+ } @else if $color-scheme == dark {
41
+ color-scheme: dark;
42
+ } @else {
43
+ color-scheme: light dark;
44
+ }
45
+ }
46
+ }
@@ -1,9 +1,9 @@
1
- .solaris-toast-overlay {
2
- position: fixed;
3
- top: 0;
4
- left: 0;
5
- width: 100%;
6
- height: 100%;
7
- pointer-events: none;
8
- z-index: var(--solaris-z-index-toast, 500);
9
- }
1
+ .solaris-toast-overlay {
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ pointer-events: none;
8
+ z-index: var(--solaris-z-index-toast, 500);
9
+ }
@@ -1,3 +1,3 @@
1
- .solaris-tooltip-panel-overlay {
2
- z-index: var(--solaris-tooltip-z-index, var(--solaris-z-index-tooltip));
3
- }
1
+ .solaris-tooltip-panel-overlay {
2
+ z-index: var(--solaris-tooltip-z-index, var(--solaris-z-index-tooltip));
3
+ }
@@ -1,5 +1,5 @@
1
- :root {
2
- --solaris-border-width-sm: 0.1rem;
3
- --solaris-border-width-md: 0.2rem;
4
- --solaris-border-width-lg: 0.3rem;
5
- }
1
+ :root {
2
+ --solaris-border-width-sm: 0.1rem;
3
+ --solaris-border-width-md: 0.2rem;
4
+ --solaris-border-width-lg: 0.3rem;
5
+ }
@@ -1 +1 @@
1
- @forward 'border';
1
+ @forward 'border';
@@ -1,78 +1,78 @@
1
- @mixin solaris-dark-tokens {
2
- --solaris-bg-page: #151616;
3
- --solaris-surface-base: #111212;
4
- --solaris-surface-subtle: #222324;
5
- --solaris-surface-muted: #333435;
6
- --solaris-surface-raised: #202123;
7
- --solaris-backdrop: #000000bf;
8
-
9
- --solaris-text-strong: #f2f5fb;
10
- --solaris-text-default: #e4e6ec;
11
- --solaris-text-muted: #adafb4;
12
- --solaris-text-subtle: #7f8083;
13
- --solaris-text-inverse: #151616;
14
- --solaris-text-glass: #ffffff;
15
-
16
- --solaris-border-subtle: #3b3b3c;
17
- --solaris-border-default: #4a4b4d;
18
- --solaris-border-strong: #626367;
19
- --solaris-border-soft: #cfcfcf;
20
-
21
- --solaris-primary-base: #155dfc;
22
- --solaris-primary-hover: #2c72fa;
23
- --solaris-primary-active: #568dff;
24
- --solaris-primary-surface: #1b3c7a;
25
- --solaris-primary-border: #3c5f88;
26
- --solaris-primary-text: #f2f5fb;
27
- --solaris-primary-on-solid: #101f26;
28
-
29
- --solaris-success-base: #2dba4c;
30
- --solaris-success-hover: #4db862;
31
- --solaris-success-active: #66cc7a;
32
- --solaris-success-surface: #0d2613;
33
- --solaris-success-border: #1a5e28;
34
- --solaris-success-text: #a3e0b0;
35
- --solaris-success-on-solid: #0d2613;
36
-
37
- --solaris-warning-base: #fae022;
38
- --solaris-warning-hover: #e0c82a;
39
- --solaris-warning-active: #ead746;
40
- --solaris-warning-surface: #2b2504;
41
- --solaris-warning-border: #5e5208;
42
- --solaris-warning-text: #f0e48a;
43
- --solaris-warning-on-solid: #17191e;
44
-
45
- --solaris-danger-base: #f23d45;
46
- --solaris-danger-hover: #f7535a;
47
- --solaris-danger-active: #f7878c;
48
- --solaris-danger-surface: #2e0a0c;
49
- --solaris-danger-border: #661618;
50
- --solaris-danger-text: #f9aeb2;
51
- --solaris-danger-on-solid: #ffffff;
52
-
53
- --solaris-info-base: #4992ef;
54
- --solaris-info-hover: #76b0ed;
55
- --solaris-info-active: #8dc5f5;
56
- --solaris-info-surface: #0e1f30;
57
- --solaris-info-border: #244d75;
58
- --solaris-info-text: #dfeaf8;
59
- --solaris-info-on-solid: #0e1f30;
60
-
61
- --solaris-orange-base: #e98d16;
62
- --solaris-orange-hover: #eea33b;
63
- --solaris-orange-active: #f2b960;
64
- --solaris-orange-surface: #2e1b04;
65
- --solaris-orange-border: #663d0a;
66
- --solaris-orange-text: #f5cf96;
67
- --solaris-orange-on-solid: #2e1b04;
68
- }
69
-
70
- [data-theme='dark'] {
71
- @include solaris-dark-tokens;
72
- }
73
-
74
- @media (prefers-color-scheme: dark) {
75
- :root:not([data-theme]) {
76
- @include solaris-dark-tokens;
77
- }
78
- }
1
+ @mixin solaris-dark-tokens {
2
+ --solaris-bg-page: #151616;
3
+ --solaris-surface-base: #111212;
4
+ --solaris-surface-subtle: #222324;
5
+ --solaris-surface-muted: #333435;
6
+ --solaris-surface-raised: #202123;
7
+ --solaris-backdrop: #000000bf;
8
+
9
+ --solaris-text-strong: #f2f5fb;
10
+ --solaris-text-default: #e4e6ec;
11
+ --solaris-text-muted: #adafb4;
12
+ --solaris-text-subtle: #7f8083;
13
+ --solaris-text-inverse: #151616;
14
+ --solaris-text-glass: #ffffff;
15
+
16
+ --solaris-border-subtle: #3b3b3c;
17
+ --solaris-border-default: #4a4b4d;
18
+ --solaris-border-strong: #626367;
19
+ --solaris-border-soft: #cfcfcf;
20
+
21
+ --solaris-primary-base: #155dfc;
22
+ --solaris-primary-hover: #2c72fa;
23
+ --solaris-primary-active: #568dff;
24
+ --solaris-primary-surface: #1b3c7a;
25
+ --solaris-primary-border: #3c5f88;
26
+ --solaris-primary-text: #f2f5fb;
27
+ --solaris-primary-on-solid: #101f26;
28
+
29
+ --solaris-success-base: #2dba4c;
30
+ --solaris-success-hover: #4db862;
31
+ --solaris-success-active: #66cc7a;
32
+ --solaris-success-surface: #0d2613;
33
+ --solaris-success-border: #1a5e28;
34
+ --solaris-success-text: #a3e0b0;
35
+ --solaris-success-on-solid: #0d2613;
36
+
37
+ --solaris-warning-base: #fae022;
38
+ --solaris-warning-hover: #e0c82a;
39
+ --solaris-warning-active: #ead746;
40
+ --solaris-warning-surface: #2b2504;
41
+ --solaris-warning-border: #5e5208;
42
+ --solaris-warning-text: #f0e48a;
43
+ --solaris-warning-on-solid: #17191e;
44
+
45
+ --solaris-danger-base: #f23d45;
46
+ --solaris-danger-hover: #f7535a;
47
+ --solaris-danger-active: #f7878c;
48
+ --solaris-danger-surface: #2e0a0c;
49
+ --solaris-danger-border: #661618;
50
+ --solaris-danger-text: #f9aeb2;
51
+ --solaris-danger-on-solid: #ffffff;
52
+
53
+ --solaris-info-base: #4992ef;
54
+ --solaris-info-hover: #76b0ed;
55
+ --solaris-info-active: #8dc5f5;
56
+ --solaris-info-surface: #0e1f30;
57
+ --solaris-info-border: #244d75;
58
+ --solaris-info-text: #dfeaf8;
59
+ --solaris-info-on-solid: #0e1f30;
60
+
61
+ --solaris-orange-base: #e98d16;
62
+ --solaris-orange-hover: #eea33b;
63
+ --solaris-orange-active: #f2b960;
64
+ --solaris-orange-surface: #2e1b04;
65
+ --solaris-orange-border: #663d0a;
66
+ --solaris-orange-text: #f5cf96;
67
+ --solaris-orange-on-solid: #2e1b04;
68
+ }
69
+
70
+ [data-theme='dark'] {
71
+ @include solaris-dark-tokens;
72
+ }
73
+
74
+ @media (prefers-color-scheme: dark) {
75
+ :root:not([data-theme]) {
76
+ @include solaris-dark-tokens;
77
+ }
78
+ }