sdga-ui 1.0.7 → 1.0.9

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 (105) hide show
  1. package/css/dga-ui.css +24882 -27623
  2. package/css/dga-ui.css.map +1 -1
  3. package/package.json +20 -4
  4. package/theme/_variables.scss +0 -1
  5. package/theme/components/_buttons.scss +1 -302
  6. package/theme/config/_base.scss +1 -1
  7. package/theme/customizations/_alerts.scss +15 -14
  8. package/theme/customizations/_buttons.scss +305 -244
  9. package/theme/customizations/_footer.scss +122 -45
  10. package/theme/customizations/_global.scss +20 -2
  11. package/theme/customizations/_links.scss +55 -53
  12. package/theme/customizations/_toasts.scss +13 -14
  13. package/theme/dga-ui.scss +1 -2
  14. package/.editorconfig +0 -23
  15. package/.github/workflows/deploy.yml +0 -71
  16. package/.github/workflows/publish.yml +0 -36
  17. package/.prettierignore +0 -73
  18. package/.prettierrc +0 -17
  19. package/demo-angular/.editorconfig +0 -17
  20. package/demo-angular/.vscode/extensions.json +0 -4
  21. package/demo-angular/.vscode/launch.json +0 -20
  22. package/demo-angular/.vscode/tasks.json +0 -42
  23. package/demo-angular/README.md +0 -91
  24. package/demo-angular/angular.json +0 -93
  25. package/demo-angular/package-lock.json +0 -10600
  26. package/demo-angular/package.json +0 -53
  27. package/demo-angular/public/404.html +0 -35
  28. package/demo-angular/public/favicon.ico +0 -0
  29. package/demo-angular/public/i18n/ar.json +0 -289
  30. package/demo-angular/public/i18n/en.json +0 -289
  31. package/demo-angular/src/app/app.config.ts +0 -20
  32. package/demo-angular/src/app/app.html +0 -52
  33. package/demo-angular/src/app/app.routes.ts +0 -53
  34. package/demo-angular/src/app/app.scss +0 -430
  35. package/demo-angular/src/app/app.spec.ts +0 -23
  36. package/demo-angular/src/app/app.ts +0 -94
  37. package/demo-angular/src/app/shared/code-example/code-example.component.html +0 -30
  38. package/demo-angular/src/app/shared/code-example/code-example.component.scss +0 -183
  39. package/demo-angular/src/app/shared/code-example/code-example.component.ts +0 -78
  40. package/demo-angular/src/app/views/alerts/alerts.component.html +0 -155
  41. package/demo-angular/src/app/views/alerts/alerts.component.scss +0 -3
  42. package/demo-angular/src/app/views/alerts/alerts.component.ts +0 -134
  43. package/demo-angular/src/app/views/buttons/buttons.component.html +0 -289
  44. package/demo-angular/src/app/views/buttons/buttons.component.scss +0 -14
  45. package/demo-angular/src/app/views/buttons/buttons.component.ts +0 -155
  46. package/demo-angular/src/app/views/cards/cards.component.html +0 -156
  47. package/demo-angular/src/app/views/cards/cards.component.html.backup +0 -156
  48. package/demo-angular/src/app/views/cards/cards.component.scss +0 -11
  49. package/demo-angular/src/app/views/cards/cards.component.ts +0 -194
  50. package/demo-angular/src/app/views/contexts/contexts.component.html +0 -204
  51. package/demo-angular/src/app/views/contexts/contexts.component.ts +0 -10
  52. package/demo-angular/src/app/views/footer/footer.html +0 -282
  53. package/demo-angular/src/app/views/footer/footer.scss +0 -0
  54. package/demo-angular/src/app/views/footer/footer.spec.ts +0 -23
  55. package/demo-angular/src/app/views/footer/footer.ts +0 -142
  56. package/demo-angular/src/app/views/forms/forms.component.html +0 -347
  57. package/demo-angular/src/app/views/forms/forms.component.scss +0 -3
  58. package/demo-angular/src/app/views/forms/forms.component.ts +0 -222
  59. package/demo-angular/src/app/views/header/header.html +0 -1
  60. package/demo-angular/src/app/views/header/header.scss +0 -0
  61. package/demo-angular/src/app/views/header/header.spec.ts +0 -23
  62. package/demo-angular/src/app/views/header/header.ts +0 -11
  63. package/demo-angular/src/app/views/home/home.component.html +0 -33
  64. package/demo-angular/src/app/views/home/home.component.scss +0 -35
  65. package/demo-angular/src/app/views/home/home.component.ts +0 -12
  66. package/demo-angular/src/app/views/links/links.component.html +0 -21
  67. package/demo-angular/src/app/views/links/links.component.scss +0 -11
  68. package/demo-angular/src/app/views/links/links.component.ts +0 -19
  69. package/demo-angular/src/app/views/tables/tables.component.html +0 -289
  70. package/demo-angular/src/app/views/tables/tables.component.scss +0 -3
  71. package/demo-angular/src/app/views/tables/tables.component.ts +0 -278
  72. package/demo-angular/src/app/views/toasts/toasts.component.html +0 -201
  73. package/demo-angular/src/app/views/toasts/toasts.component.scss +0 -0
  74. package/demo-angular/src/app/views/toasts/toasts.component.ts +0 -182
  75. package/demo-angular/src/index.html +0 -28
  76. package/demo-angular/src/main.ts +0 -6
  77. package/demo-angular/src/styles.scss +0 -4
  78. package/demo-angular/tsconfig.app.json +0 -15
  79. package/demo-angular/tsconfig.json +0 -33
  80. package/demo-angular/tsconfig.spec.json +0 -15
  81. package/sdga-ui/README.md +0 -45
  82. package/sdga-ui/content/docs/components/alerts.mdx +0 -475
  83. package/sdga-ui/content/docs/index.mdx +0 -239
  84. package/sdga-ui/next.config.mjs +0 -10
  85. package/sdga-ui/package-lock.json +0 -5851
  86. package/sdga-ui/package.json +0 -32
  87. package/sdga-ui/postcss.config.mjs +0 -5
  88. package/sdga-ui/source.config.ts +0 -27
  89. package/sdga-ui/src/app/(home)/layout.tsx +0 -6
  90. package/sdga-ui/src/app/(home)/page.tsx +0 -202
  91. package/sdga-ui/src/app/api/search/route.ts +0 -7
  92. package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +0 -54
  93. package/sdga-ui/src/app/docs/layout.tsx +0 -11
  94. package/sdga-ui/src/app/global.css +0 -3
  95. package/sdga-ui/src/app/layout.tsx +0 -25
  96. package/sdga-ui/src/app/llms-full.txt/route.ts +0 -10
  97. package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +0 -34
  98. package/sdga-ui/src/app/sdga-scoped.css +0 -7
  99. package/sdga-ui/src/components/sdga-preview.tsx +0 -105
  100. package/sdga-ui/src/lib/layout.shared.tsx +0 -9
  101. package/sdga-ui/src/lib/source.ts +0 -27
  102. package/sdga-ui/src/mdx-components.tsx +0 -9
  103. package/sdga-ui/tsconfig.json +0 -46
  104. package/theme/config/_contexts.scss +0 -471
  105. package/theme/customizations/_contexts.scss +0 -432
@@ -1,432 +0,0 @@
1
- // Context System Customizations
2
- // Enhancements and specific component adaptations within context wrappers
3
-
4
- // ============================================
5
- // CONTEXT-AWARE LINK VARIANTS
6
- // ============================================
7
-
8
- // Apply context link colors to all link variants
9
- @each $context-name, $context-props in $contexts {
10
- .#{$context-name} {
11
- // Default links (without variant classes) use context colors
12
- a:not([class*="link-"]):not(.btn) {
13
- color: map-get($context-props, link-color) !important;
14
- text-decoration-color: map-get($context-props, link-color) !important;
15
-
16
- &:visited,
17
- &:focus-visible {
18
- color: map-get($context-props, link-color) !important;
19
- text-decoration-color: map-get($context-props, link-color) !important;
20
- }
21
-
22
- &:hover,
23
- &:focus {
24
- color: map-get($context-props, link-hover) !important;
25
- text-decoration-color: map-get($context-props, link-hover) !important;
26
- }
27
-
28
- &:active {
29
- color: map-get($context-props, link-active) !important;
30
- text-decoration-color: map-get($context-props, link-active) !important;
31
- }
32
- }
33
-
34
- // Link variants adapt to maintain their semantic meaning in context
35
- // Primary link -> uses primary color adapted for this context
36
- .link-primary {
37
- @if map-get($context-props, text) == $white {
38
- // On dark backgrounds, primary links are bright
39
- color: $primary-300 !important;
40
- &:hover { color: $primary-200 !important; }
41
- &:active { color: $primary-400 !important; }
42
- } @else {
43
- // On light backgrounds, primary links are darker
44
- color: $primary-700 !important;
45
- &:hover { color: $primary-800 !important; }
46
- &:active { color: $primary-900 !important; }
47
- }
48
- }
49
-
50
- .link-secondary {
51
- @if map-get($context-props, text) == $white {
52
- color: $gray-300 !important;
53
- &:hover { color: $gray-200 !important; }
54
- &:active { color: $gray-400 !important; }
55
- } @else {
56
- color: $gray-700 !important;
57
- &:hover { color: $gray-800 !important; }
58
- &:active { color: $gray-900 !important; }
59
- }
60
- }
61
-
62
- .link-success {
63
- @if map-get($context-props, text) == $white {
64
- color: $success-300 !important;
65
- &:hover { color: $success-200 !important; }
66
- &:active { color: $success-400 !important; }
67
- } @else {
68
- color: $success-700 !important;
69
- &:hover { color: $success-800 !important; }
70
- &:active { color: $success-900 !important; }
71
- }
72
- }
73
-
74
- .link-danger {
75
- @if map-get($context-props, text) == $white {
76
- color: $danger-300 !important;
77
- &:hover { color: $danger-200 !important; }
78
- &:active { color: $danger-400 !important; }
79
- } @else {
80
- color: $danger-700 !important;
81
- &:hover { color: $danger-800 !important; }
82
- &:active { color: $danger-900 !important; }
83
- }
84
- }
85
-
86
- .link-warning {
87
- @if map-get($context-props, text) == $white {
88
- color: $warning-300 !important;
89
- &:hover { color: $warning-200 !important; }
90
- &:active { color: $warning-400 !important; }
91
- } @else {
92
- color: $warning-700 !important;
93
- &:hover { color: $warning-800 !important; }
94
- &:active { color: $warning-900 !important; }
95
- }
96
- }
97
-
98
- .link-info {
99
- @if map-get($context-props, text) == $white {
100
- color: $info-300 !important;
101
- &:hover { color: $info-200 !important; }
102
- &:active { color: $info-400 !important; }
103
- } @else {
104
- color: $info-700 !important;
105
- &:hover { color: $info-800 !important; }
106
- &:active { color: $info-900 !important; }
107
- }
108
- }
109
-
110
- .link-neutral {
111
- @if map-get($context-props, text) == $white {
112
- color: $gray-300 !important;
113
- &:hover { color: $gray-200 !important; }
114
- &:active { color: $gray-400 !important; }
115
- } @else {
116
- color: $neutral-700 !important;
117
- &:hover { color: $neutral-800 !important; }
118
- &:active { color: $neutral-900 !important; }
119
- }
120
- }
121
-
122
- .link-lavender {
123
- @if map-get($context-props, text) == $white {
124
- color: $lavender-300 !important;
125
- &:hover { color: $lavender-200 !important; }
126
- &:active { color: $lavender-400 !important; }
127
- } @else {
128
- color: $lavender-700 !important;
129
- &:hover { color: $lavender-800 !important; }
130
- &:active { color: $lavender-900 !important; }
131
- }
132
- }
133
-
134
- // Button variants adapt to maintain their semantic meaning in context
135
- // Success button
136
- .btn-success {
137
- @if map-get($context-props, text) == $white {
138
- // On dark backgrounds
139
- --#{$prefix}btn-bg: #{$success-600};
140
- --#{$prefix}btn-color: #{$white};
141
- --#{$prefix}btn-border-color: #{$success-600};
142
- --#{$prefix}btn-hover-bg: #{$success-500};
143
- --#{$prefix}btn-hover-color: #{$white};
144
- --#{$prefix}btn-active-bg: #{$success-700};
145
- --#{$prefix}btn-active-color: #{$white};
146
- } @else {
147
- // On light backgrounds
148
- --#{$prefix}btn-bg: #{$success-600};
149
- --#{$prefix}btn-color: #{$white};
150
- --#{$prefix}btn-border-color: #{$success-600};
151
- --#{$prefix}btn-hover-bg: #{$success-700};
152
- --#{$prefix}btn-hover-color: #{$white};
153
- --#{$prefix}btn-active-bg: #{$success-800};
154
- --#{$prefix}btn-active-color: #{$white};
155
- }
156
- }
157
-
158
- .btn-danger {
159
- @if map-get($context-props, text) == $white {
160
- --#{$prefix}btn-bg: #{$danger-600};
161
- --#{$prefix}btn-color: #{$white};
162
- --#{$prefix}btn-border-color: #{$danger-600};
163
- --#{$prefix}btn-hover-bg: #{$danger-500};
164
- --#{$prefix}btn-hover-color: #{$white};
165
- --#{$prefix}btn-active-bg: #{$danger-700};
166
- --#{$prefix}btn-active-color: #{$white};
167
- } @else {
168
- --#{$prefix}btn-bg: #{$danger-600};
169
- --#{$prefix}btn-color: #{$white};
170
- --#{$prefix}btn-border-color: #{$danger-600};
171
- --#{$prefix}btn-hover-bg: #{$danger-700};
172
- --#{$prefix}btn-hover-color: #{$white};
173
- --#{$prefix}btn-active-bg: #{$danger-800};
174
- --#{$prefix}btn-active-color: #{$white};
175
- }
176
- }
177
-
178
- .btn-warning {
179
- @if map-get($context-props, text) == $white {
180
- --#{$prefix}btn-bg: #{$warning-600};
181
- --#{$prefix}btn-color: #{$gray-900};
182
- --#{$prefix}btn-border-color: #{$warning-600};
183
- --#{$prefix}btn-hover-bg: #{$warning-500};
184
- --#{$prefix}btn-hover-color: #{$gray-900};
185
- --#{$prefix}btn-active-bg: #{$warning-700};
186
- --#{$prefix}btn-active-color: #{$gray-900};
187
- } @else {
188
- --#{$prefix}btn-bg: #{$warning-600};
189
- --#{$prefix}btn-color: #{$gray-900};
190
- --#{$prefix}btn-border-color: #{$warning-600};
191
- --#{$prefix}btn-hover-bg: #{$warning-700};
192
- --#{$prefix}btn-hover-color: #{$gray-900};
193
- --#{$prefix}btn-active-bg: #{$warning-800};
194
- --#{$prefix}btn-active-color: #{$gray-900};
195
- }
196
- }
197
-
198
- .btn-info {
199
- @if map-get($context-props, text) == $white {
200
- --#{$prefix}btn-bg: #{$info-600};
201
- --#{$prefix}btn-color: #{$white};
202
- --#{$prefix}btn-border-color: #{$info-600};
203
- --#{$prefix}btn-hover-bg: #{$info-500};
204
- --#{$prefix}btn-hover-color: #{$white};
205
- --#{$prefix}btn-active-bg: #{$info-700};
206
- --#{$prefix}btn-active-color: #{$white};
207
- } @else {
208
- --#{$prefix}btn-bg: #{$info-600};
209
- --#{$prefix}btn-color: #{$white};
210
- --#{$prefix}btn-border-color: #{$info-600};
211
- --#{$prefix}btn-hover-bg: #{$info-700};
212
- --#{$prefix}btn-hover-color: #{$white};
213
- --#{$prefix}btn-active-bg: #{$info-800};
214
- --#{$prefix}btn-active-color: #{$white};
215
- }
216
- }
217
-
218
- .btn-neutral {
219
- @if map-get($context-props, text) == $white {
220
- --#{$prefix}btn-bg: #{$gray-700};
221
- --#{$prefix}btn-color: #{$white};
222
- --#{$prefix}btn-border-color: #{$gray-700};
223
- --#{$prefix}btn-hover-bg: #{$gray-600};
224
- --#{$prefix}btn-hover-color: #{$white};
225
- --#{$prefix}btn-active-bg: #{$gray-800};
226
- --#{$prefix}btn-active-color: #{$white};
227
- } @else {
228
- --#{$prefix}btn-bg: #{$neutral-900};
229
- --#{$prefix}btn-color: #{$white};
230
- --#{$prefix}btn-border-color: #{$neutral-900};
231
- --#{$prefix}btn-hover-bg: #{$neutral-800};
232
- --#{$prefix}btn-hover-color: #{$white};
233
- --#{$prefix}btn-active-bg: #{$black};
234
- --#{$prefix}btn-active-color: #{$white};
235
- }
236
- }
237
-
238
- .btn-lavender {
239
- @if map-get($context-props, text) == $white {
240
- --#{$prefix}btn-bg: #{$lavender-600};
241
- --#{$prefix}btn-color: #{$white};
242
- --#{$prefix}btn-border-color: #{$lavender-600};
243
- --#{$prefix}btn-hover-bg: #{$lavender-500};
244
- --#{$prefix}btn-hover-color: #{$white};
245
- --#{$prefix}btn-active-bg: #{$lavender-700};
246
- --#{$prefix}btn-active-color: #{$white};
247
- } @else {
248
- --#{$prefix}btn-bg: #{$lavender-600};
249
- --#{$prefix}btn-color: #{$white};
250
- --#{$prefix}btn-border-color: #{$lavender-600};
251
- --#{$prefix}btn-hover-bg: #{$lavender-700};
252
- --#{$prefix}btn-hover-color: #{$white};
253
- --#{$prefix}btn-active-bg: #{$lavender-800};
254
- --#{$prefix}btn-active-color: #{$white};
255
- }
256
- }
257
-
258
- // Outline button variants
259
- .btn-outline-success {
260
- @if map-get($context-props, text) == $white {
261
- --#{$prefix}btn-color: #{$success-300};
262
- --#{$prefix}btn-border-color: #{$success-400};
263
- --#{$prefix}btn-hover-bg: #{$success-600};
264
- --#{$prefix}btn-hover-color: #{$white};
265
- --#{$prefix}btn-active-bg: #{$success-700};
266
- --#{$prefix}btn-active-color: #{$white};
267
- } @else {
268
- --#{$prefix}btn-color: #{$success-700};
269
- --#{$prefix}btn-border-color: #{$success-600};
270
- --#{$prefix}btn-hover-bg: #{$success-600};
271
- --#{$prefix}btn-hover-color: #{$white};
272
- --#{$prefix}btn-active-bg: #{$success-700};
273
- --#{$prefix}btn-active-color: #{$white};
274
- }
275
- }
276
-
277
- .btn-outline-danger {
278
- @if map-get($context-props, text) == $white {
279
- --#{$prefix}btn-color: #{$danger-300};
280
- --#{$prefix}btn-border-color: #{$danger-400};
281
- --#{$prefix}btn-hover-bg: #{$danger-600};
282
- --#{$prefix}btn-hover-color: #{$white};
283
- --#{$prefix}btn-active-bg: #{$danger-700};
284
- --#{$prefix}btn-active-color: #{$white};
285
- } @else {
286
- --#{$prefix}btn-color: #{$danger-700};
287
- --#{$prefix}btn-border-color: #{$danger-600};
288
- --#{$prefix}btn-hover-bg: #{$danger-600};
289
- --#{$prefix}btn-hover-color: #{$white};
290
- --#{$prefix}btn-active-bg: #{$danger-700};
291
- --#{$prefix}btn-active-color: #{$white};
292
- }
293
- }
294
-
295
- .btn-outline-warning {
296
- @if map-get($context-props, text) == $white {
297
- --#{$prefix}btn-color: #{$warning-300};
298
- --#{$prefix}btn-border-color: #{$warning-400};
299
- --#{$prefix}btn-hover-bg: #{$warning-600};
300
- --#{$prefix}btn-hover-color: #{$gray-900};
301
- --#{$prefix}btn-active-bg: #{$warning-700};
302
- --#{$prefix}btn-active-color: #{$gray-900};
303
- } @else {
304
- --#{$prefix}btn-color: #{$warning-700};
305
- --#{$prefix}btn-border-color: #{$warning-600};
306
- --#{$prefix}btn-hover-bg: #{$warning-600};
307
- --#{$prefix}btn-hover-color: #{$gray-900};
308
- --#{$prefix}btn-active-bg: #{$warning-700};
309
- --#{$prefix}btn-active-color: #{$gray-900};
310
- }
311
- }
312
-
313
- .btn-outline-info {
314
- @if map-get($context-props, text) == $white {
315
- --#{$prefix}btn-color: #{$info-300};
316
- --#{$prefix}btn-border-color: #{$info-400};
317
- --#{$prefix}btn-hover-bg: #{$info-600};
318
- --#{$prefix}btn-hover-color: #{$white};
319
- --#{$prefix}btn-active-bg: #{$info-700};
320
- --#{$prefix}btn-active-color: #{$white};
321
- } @else {
322
- --#{$prefix}btn-color: #{$info-700};
323
- --#{$prefix}btn-border-color: #{$info-600};
324
- --#{$prefix}btn-hover-bg: #{$info-600};
325
- --#{$prefix}btn-hover-color: #{$white};
326
- --#{$prefix}btn-active-bg: #{$info-700};
327
- --#{$prefix}btn-active-color: #{$white};
328
- }
329
- }
330
-
331
- .btn-outline-lavender {
332
- @if map-get($context-props, text) == $white {
333
- --#{$prefix}btn-color: #{$lavender-300};
334
- --#{$prefix}btn-border-color: #{$lavender-400};
335
- --#{$prefix}btn-hover-bg: #{$lavender-600};
336
- --#{$prefix}btn-hover-color: #{$white};
337
- --#{$prefix}btn-active-bg: #{$lavender-700};
338
- --#{$prefix}btn-active-color: #{$white};
339
- } @else {
340
- --#{$prefix}btn-color: #{$lavender-700};
341
- --#{$prefix}btn-border-color: #{$lavender-600};
342
- --#{$prefix}btn-hover-bg: #{$lavender-600};
343
- --#{$prefix}btn-hover-color: #{$white};
344
- --#{$prefix}btn-active-bg: #{$lavender-700};
345
- --#{$prefix}btn-active-color: #{$white};
346
- }
347
- }
348
-
349
- // Button active states for primary/secondary/outline (already defined in context)
350
- .btn-primary:active,
351
- .btn-primary.active {
352
- --#{$prefix}btn-active-bg: #{map-get($context-props, btn-primary-active-bg)};
353
- --#{$prefix}btn-active-color: #{map-get($context-props, btn-primary-active-color)};
354
- --#{$prefix}btn-active-border-color: #{map-get($context-props, btn-primary-active-bg)};
355
- }
356
-
357
- .btn-secondary:active,
358
- .btn-secondary.active {
359
- --#{$prefix}btn-active-bg: #{map-get($context-props, btn-secondary-active-bg)};
360
- --#{$prefix}btn-active-color: #{map-get($context-props, btn-secondary-active-color)};
361
- }
362
-
363
- .btn-outline-primary:active,
364
- .btn-outline-primary.active,
365
- .btn-outline-secondary:active,
366
- .btn-outline-secondary.active,
367
- .btn-outline-neutral:active,
368
- .btn-outline-neutral.active {
369
- --#{$prefix}btn-active-bg: #{map-get($context-props, btn-outline-active-bg)};
370
- --#{$prefix}btn-active-color: #{map-get($context-props, btn-outline-active-color)};
371
- --#{$prefix}btn-active-border-color: #{map-get($context-props, btn-outline-active-bg)};
372
- }
373
- }
374
- }
375
-
376
- // ============================================
377
- // CONTEXT-AWARE TRANSITIONS
378
- // ============================================
379
-
380
- [class*="on-"] {
381
- transition: background-color 0.3s ease, color 0.3s ease;
382
-
383
- // Smooth transitions for interactive elements
384
- a,
385
- button,
386
- .btn,
387
- input,
388
- textarea,
389
- select {
390
- transition: all 0.2s ease;
391
- }
392
- }
393
-
394
- // ============================================
395
- // CONTEXT-AWARE COMPONENT ENHANCEMENTS
396
- // ============================================
397
-
398
- // Card adaptations within contexts
399
- @each $context-name, $context-props in $contexts {
400
- .#{$context-name} {
401
- .card {
402
- background-color: rgba(map-get($context-props, bg), 0.1);
403
- border-color: map-get($context-props, border);
404
- color: map-get($context-props, text);
405
- }
406
-
407
- .badge {
408
- background-color: rgba(map-get($context-props, text), 0.2);
409
- color: map-get($context-props, text);
410
- }
411
-
412
- .alert {
413
- background-color: rgba(map-get($context-props, text), 0.1);
414
- border-color: map-get($context-props, border);
415
- color: map-get($context-props, text);
416
- }
417
- }
418
- }
419
-
420
- // ============================================
421
- // FOCUS STATES IN CONTEXTS
422
- // ============================================
423
-
424
- @each $context-name, $context-props in $contexts {
425
- .#{$context-name} {
426
- *:focus-visible {
427
- outline-color: map-get($context-props, link-color);
428
- outline-offset: 2px;
429
- outline-width: 2px;
430
- }
431
- }
432
- }