sdga-ui 1.0.6 → 1.0.8

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 (73) hide show
  1. package/README.md +4 -4
  2. package/css/dga-ui.css +571 -220
  3. package/css/dga-ui.css.map +1 -1
  4. package/demo-angular/angular.json +3 -0
  5. package/demo-angular/package-lock.json +41 -41
  6. package/demo-angular/package.json +8 -8
  7. package/demo-angular/public/404.html +35 -0
  8. package/demo-angular/public/i18n/ar.json +47 -0
  9. package/demo-angular/public/i18n/en.json +47 -0
  10. package/demo-angular/src/app/app.html +1 -1
  11. package/demo-angular/src/app/app.routes.ts +8 -4
  12. package/demo-angular/src/app/app.ts +11 -2
  13. package/demo-angular/src/app/shared/code-example/code-example.component.html +1 -1
  14. package/demo-angular/src/app/shared/code-example/code-example.component.ts +12 -1
  15. package/demo-angular/src/app/views/alerts/alerts.component.html +10 -10
  16. package/demo-angular/src/app/views/alerts/alerts.component.ts +10 -10
  17. package/demo-angular/src/app/views/buttons/buttons.component.html +118 -47
  18. package/demo-angular/src/app/views/buttons/buttons.component.scss +0 -3
  19. package/demo-angular/src/app/views/buttons/buttons.component.ts +91 -21
  20. package/demo-angular/src/app/views/cards/cards.component.html +6 -6
  21. package/demo-angular/src/app/views/cards/cards.component.ts +10 -10
  22. package/demo-angular/src/app/views/footer/footer.html +270 -0
  23. package/demo-angular/src/app/views/footer/footer.ts +276 -0
  24. package/demo-angular/src/app/views/header/header.html +1 -0
  25. package/demo-angular/src/app/views/header/header.scss +0 -0
  26. package/demo-angular/src/app/views/header/header.spec.ts +23 -0
  27. package/demo-angular/src/app/views/header/header.ts +11 -0
  28. package/demo-angular/src/app/views/home/home.component.html +0 -5
  29. package/demo-angular/src/app/views/links/links.component.html +2 -2
  30. package/demo-angular/src/app/views/links/links.component.ts +1 -1
  31. package/demo-angular/src/app/views/toasts/toasts.component.html +7 -7
  32. package/demo-angular/src/app/views/toasts/toasts.component.ts +7 -7
  33. package/demo-angular/src/index.html +15 -1
  34. package/demo-angular/tsconfig.app.json +2 -1
  35. package/package.json +2 -2
  36. package/sdga-ui/README.md +45 -0
  37. package/sdga-ui/content/docs/components/alerts.mdx +475 -0
  38. package/sdga-ui/content/docs/index.mdx +239 -0
  39. package/sdga-ui/next.config.mjs +10 -0
  40. package/sdga-ui/package-lock.json +5851 -0
  41. package/sdga-ui/package.json +32 -0
  42. package/sdga-ui/postcss.config.mjs +5 -0
  43. package/sdga-ui/source.config.ts +27 -0
  44. package/sdga-ui/src/app/(home)/layout.tsx +6 -0
  45. package/sdga-ui/src/app/(home)/page.tsx +202 -0
  46. package/sdga-ui/src/app/api/search/route.ts +7 -0
  47. package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +54 -0
  48. package/sdga-ui/src/app/docs/layout.tsx +11 -0
  49. package/sdga-ui/src/app/global.css +3 -0
  50. package/sdga-ui/src/app/layout.tsx +25 -0
  51. package/sdga-ui/src/app/llms-full.txt/route.ts +10 -0
  52. package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +34 -0
  53. package/sdga-ui/src/app/sdga-scoped.css +7 -0
  54. package/sdga-ui/src/components/sdga-preview.tsx +105 -0
  55. package/sdga-ui/src/lib/layout.shared.tsx +9 -0
  56. package/sdga-ui/src/lib/source.ts +27 -0
  57. package/sdga-ui/src/mdx-components.tsx +9 -0
  58. package/sdga-ui/tsconfig.json +46 -0
  59. package/theme/_variables.scss +6 -5
  60. package/theme/components/_buttons.scss +1 -197
  61. package/theme/config/_base.scss +11 -1
  62. package/theme/customizations/_alerts.scss +115 -126
  63. package/theme/customizations/_badges.scss +15 -0
  64. package/theme/customizations/_buttons.scss +349 -146
  65. package/theme/customizations/_cards.scss +52 -0
  66. package/theme/customizations/_footer.scss +160 -0
  67. package/theme/customizations/_global.scss +20 -2
  68. package/theme/customizations/_links.scss +62 -45
  69. package/theme/customizations/_toasts.scss +92 -114
  70. package/theme/dga-ui.scss +2 -1
  71. package/demo-angular/src/app/views/bootstrap/bootstrap.component.html +0 -14
  72. package/demo-angular/src/app/views/bootstrap/bootstrap.component.scss +0 -91
  73. package/demo-angular/src/app/views/bootstrap/bootstrap.component.ts +0 -23
@@ -62,7 +62,7 @@ $btn-link-disabled-color: $gray-600;
62
62
  // Button close
63
63
  $btn-close-width: .7031rem;
64
64
  $btn-close-height: $btn-close-width;
65
- $btn-close-padding-x: .6481rem;
65
+ $btn-close-padding-x: .5rem;
66
66
  $btn-close-padding-y: $btn-close-padding-x;
67
67
  $btn-close-color: $black;
68
68
  $btn-close-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/></svg>");
@@ -72,199 +72,3 @@ $btn-close-hover-opacity: 0.75;
72
72
  $btn-close-focus-opacity: 1;
73
73
  $btn-close-disabled-opacity: 0.25;
74
74
  $btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
75
-
76
- // ============================================
77
- // CUSTOM BUTTON VARIANTS
78
- // ============================================
79
-
80
- // Primary Button Variant
81
- $btn-primary-color: $white;
82
- $btn-primary-bg: $primary-600;
83
- $btn-primary-border-color: $primary-600;
84
- $btn-primary-hover-color: $white;
85
- $btn-primary-hover-bg: $primary-700;
86
- $btn-primary-hover-border-color: $primary-700;
87
- $btn-primary-active-color: $white;
88
- $btn-primary-active-bg: $primary-800;
89
- $btn-primary-active-border-color: $primary-800;
90
- $btn-primary-focus-color: $white;
91
- $btn-primary-focus-bg: $primary-600;
92
- $btn-primary-focus-border-color: $black;
93
- $btn-primary-focus-shadow-rgb: null;
94
- $btn-primary-disabled-color: $white;
95
- $btn-primary-disabled-bg: $primary-200;
96
- $btn-primary-disabled-border-color: $primary-200;
97
-
98
- // Primary Outline Button Variant
99
- $btn-outline-primary-color: $primary-600;
100
- $btn-outline-primary-border-color: $primary-600;
101
- $btn-outline-primary-hover-color: $white;
102
- $btn-outline-primary-hover-bg: $primary-600;
103
- $btn-outline-primary-hover-border-color: $primary-600;
104
- $btn-outline-primary-active-color: $white;
105
- $btn-outline-primary-active-bg: $primary-700;
106
- $btn-outline-primary-active-border-color: $primary-700;
107
- $btn-outline-primary-focus-color: $primary-700;
108
- $btn-outline-primary-focus-bg: transparent;
109
- $btn-outline-primary-focus-border-color: $black;
110
- $btn-outline-primary-focus-shadow-rgb: null;
111
- $btn-outline-primary-disabled-color: $primary-400;
112
- $btn-outline-primary-disabled-bg: transparent;
113
- $btn-outline-primary-disabled-border-color: $primary-400;
114
-
115
- // Secondary Button Variant
116
- $btn-secondary-color: $black;
117
- $btn-secondary-bg: $secondary-100;
118
- $btn-secondary-border-color: $secondary-100;
119
- $btn-secondary-hover-color: $black;
120
- $btn-secondary-hover-bg: $secondary-200;
121
- $btn-secondary-hover-border-color: $secondary-200;
122
- $btn-secondary-active-color: $black;
123
- $btn-secondary-active-bg: $secondary-200;
124
- $btn-secondary-active-border-color: $secondary-200;
125
- $btn-secondary-focus-color: $black;
126
- $btn-secondary-focus-bg: $secondary-100;
127
- $btn-secondary-focus-border-color: $black;
128
- $btn-secondary-focus-shadow-rgb: null;
129
- $btn-secondary-disabled-color: $secondary-400;
130
- $btn-secondary-disabled-bg: $secondary-200;
131
- $btn-secondary-disabled-border-color: $secondary-200;
132
-
133
- // Secondary Outline Button Variant
134
- $btn-outline-secondary-color: $black;
135
- $btn-outline-secondary-border-color: $secondary-300;
136
- $btn-outline-secondary-hover-color: $black;
137
- $btn-outline-secondary-hover-bg: $secondary-100;
138
- $btn-outline-secondary-hover-border-color: $secondary-200;
139
- $btn-outline-secondary-active-color: $black;
140
- $btn-outline-secondary-active-bg: $secondary-200;
141
- $btn-outline-secondary-active-border-color: $secondary-300;
142
- $btn-outline-secondary-focus-color: $black;
143
- $btn-outline-secondary-focus-bg: transparent;
144
- $btn-outline-secondary-focus-border-color: $black;
145
- $btn-outline-secondary-focus-shadow-rgb: null;
146
- $btn-outline-secondary-disabled-color: $secondary-400;
147
- $btn-outline-secondary-disabled-bg: transparent;
148
- $btn-outline-secondary-disabled-border-color: $secondary-400;
149
-
150
- // Danger/Destructive Button Variant
151
- $btn-danger-color: $white;
152
- $btn-danger-bg: $danger-600;
153
- $btn-danger-border-color: $danger-600;
154
- $btn-danger-hover-color: $white;
155
- $btn-danger-hover-bg: $danger-700;
156
- $btn-danger-hover-border-color: $danger-700;
157
- $btn-danger-active-color: $white;
158
- $btn-danger-active-bg: $danger-800;
159
- $btn-danger-active-border-color: $danger-800;
160
- $btn-danger-focus-color: $white;
161
- $btn-danger-focus-bg: $danger-600;
162
- $btn-danger-focus-border-color: $black;
163
- $btn-danger-focus-shadow-rgb: null;
164
- $btn-danger-disabled-color: $white;
165
- $btn-danger-disabled-bg: $danger-200;
166
- $btn-danger-disabled-border-color: $danger-200;
167
-
168
- // Danger Outline Button Variant
169
- $btn-outline-danger-color: $danger-600;
170
- $btn-outline-danger-border-color: $danger-600;
171
- $btn-outline-danger-hover-color: $white;
172
- $btn-outline-danger-hover-bg: $danger-600;
173
- $btn-outline-danger-hover-border-color: $danger-600;
174
- $btn-outline-danger-active-color: $white;
175
- $btn-outline-danger-active-bg: $danger-700;
176
- $btn-outline-danger-active-border-color: $danger-700;
177
- $btn-outline-danger-focus-color: $danger-700;
178
- $btn-outline-danger-focus-bg: transparent;
179
- $btn-outline-danger-focus-border-color: $black;
180
- $btn-outline-danger-focus-shadow-rgb: null;
181
- $btn-outline-danger-disabled-color: $danger-400;
182
- $btn-outline-danger-disabled-bg: transparent;
183
- $btn-outline-danger-disabled-border-color: $danger-400;
184
-
185
- // Neutral Button Variant
186
- $btn-neutral-color: $white;
187
- $btn-neutral-bg: $neutral-950;
188
- $btn-neutral-border-color: $neutral-950;
189
- $btn-neutral-hover-color: $white;
190
- $btn-neutral-hover-bg: $neutral-800;
191
- $btn-neutral-hover-border-color: $neutral-800;
192
- $btn-neutral-active-color: $white;
193
- $btn-neutral-active-bg: $neutral-600;
194
- $btn-neutral-active-border-color: $neutral-600;
195
- $btn-neutral-focus-color: $white;
196
- $btn-neutral-focus-bg: $neutral-950;
197
- $btn-neutral-focus-border-color: $black;
198
- $btn-neutral-focus-shadow-rgb: 77, 87, 97;
199
- $btn-neutral-disabled-color: $neutral-400;
200
- $btn-neutral-disabled-bg: $neutral-200;
201
- $btn-neutral-disabled-border-color: $neutral-200;
202
-
203
- // Neutral Outline Button Variant
204
- $btn-outline-neutral-color: $neutral-600;
205
- $btn-outline-neutral-border-color: $neutral-600;
206
- $btn-outline-neutral-hover-color: $white;
207
- $btn-outline-neutral-hover-bg: $neutral-600;
208
- $btn-outline-neutral-hover-border-color: $neutral-600;
209
- $btn-outline-neutral-active-color: $white;
210
- $btn-outline-neutral-active-bg: $neutral-700;
211
- $btn-outline-neutral-active-border-color: $neutral-700;
212
- $btn-outline-neutral-focus-color: $neutral-700;
213
- $btn-outline-neutral-focus-bg: transparent;
214
- $btn-outline-neutral-focus-border-color: $neutral-600;
215
- $btn-outline-neutral-focus-shadow-rgb: null;
216
- $btn-outline-neutral-disabled-color: $neutral-400;
217
- $btn-outline-neutral-disabled-bg: transparent;
218
- $btn-outline-neutral-disabled-border-color: $neutral-400;
219
-
220
- // Subtle Outline Button Variant
221
- $btn-subtle-color: $black;
222
- $btn-subtle-border-color: transparent;
223
- $btn-subtle-hover-color: $black;
224
- $btn-subtle-hover-bg: transparent;
225
- $btn-subtle-hover-border-color: transparent;
226
- $btn-subtle-active-color: $black;
227
- $btn-subtle-active-bg: transparent;
228
- $btn-subtle-active-border-color: transparent;
229
- $btn-subtle-focus-color: $black;
230
- $btn-subtle-focus-bg: transparent;
231
- $btn-subtle-focus-border-color: transparent;
232
- $btn-subtle-focus-shadow-rgb: null;
233
- $btn-subtle-disabled-color: $neutral-400;
234
- $btn-subtle-disabled-bg: transparent;
235
- $btn-subtle-disabled-border-color: transparent;
236
-
237
- // Lavender Button Variant
238
- $btn-lavender-color: $white;
239
- $btn-lavender-bg: $lavender-600;
240
- $btn-lavender-border-color: $lavender-600;
241
- $btn-lavender-hover-color: $white;
242
- $btn-lavender-hover-bg: $lavender-700;
243
- $btn-lavender-hover-border-color: $lavender-700;
244
- $btn-lavender-active-color: $white;
245
- $btn-lavender-active-bg: $lavender-800;
246
- $btn-lavender-active-border-color: $lavender-800;
247
- $btn-lavender-focus-color: $white;
248
- $btn-lavender-focus-bg: $lavender-600;
249
- $btn-lavender-focus-border-color: $lavender-700;
250
- $btn-lavender-focus-shadow-rgb: null;
251
- $btn-lavender-disabled-color: $white;
252
- $btn-lavender-disabled-bg: $lavender-400;
253
- $btn-lavender-disabled-border-color: $lavender-400;
254
-
255
- // Lavender Outline Button Variant
256
- $btn-outline-lavender-color: $lavender-600;
257
- $btn-outline-lavender-border-color: $lavender-600;
258
- $btn-outline-lavender-hover-color: $white;
259
- $btn-outline-lavender-hover-bg: $lavender-600;
260
- $btn-outline-lavender-hover-border-color: $lavender-600;
261
- $btn-outline-lavender-active-color: $white;
262
- $btn-outline-lavender-active-bg: $lavender-700;
263
- $btn-outline-lavender-active-border-color: $lavender-700;
264
- $btn-outline-lavender-focus-color: $lavender-700;
265
- $btn-outline-lavender-focus-bg: transparent;
266
- $btn-outline-lavender-focus-border-color: $lavender-600;
267
- $btn-outline-lavender-focus-shadow-rgb: null;
268
- $btn-outline-lavender-disabled-color: $lavender-400;
269
- $btn-outline-lavender-disabled-bg: transparent;
270
- $btn-outline-lavender-disabled-border-color: $lavender-400;
@@ -17,6 +17,16 @@ $body-bg: $white;
17
17
  $body-color: $black;
18
18
  $body-text-align: start;
19
19
 
20
+ // ============================================
21
+ // LINKS
22
+ // ============================================
23
+
24
+ $link-color: $primary;
25
+ $link-decoration: none;
26
+ $link-hover-color: color.scale($link-color, $lightness: -30%);
27
+ $link-hover-decoration: underline;
28
+
29
+
20
30
  // ============================================
21
31
  // COMPONENTS BASE
22
32
  // ============================================
@@ -27,7 +37,7 @@ $component-active-bg: $primary;
27
37
 
28
38
  // Shadow base color (using SDGA neutral-900 shade)
29
39
  $shadow-color: $gray-900;
30
- $border-color: $gray-500;
40
+ $border-color: $gray-300;
31
41
 
32
42
  // Focus
33
43
  $focus-ring-width: 0.25rem;
@@ -1,7 +1,88 @@
1
1
  // Alert Customizations - SDGA Custom Enhancements
2
+ // Following Bootstrap 5.3 recommended practices
2
3
 
3
4
  // ============================================
4
- // ALERT VARIANTS
5
+ // ALERT VARIANTS - Using Sass map and @each loop
6
+ // ============================================
7
+
8
+ // Define alert color variants
9
+ $alert-variants: (
10
+ "primary": (
11
+ border-color: rgba($primary-600, 0.7),
12
+ bg: $primary-25,
13
+ border: $primary-200,
14
+ icon-bg: $primary-50,
15
+ icon-color: $primary-700,
16
+ title-color: $primary-700,
17
+ mobile-border-top: $primary-600
18
+ ),
19
+ "lavender": (
20
+ border-color: rgba($lavender-600, 0.7),
21
+ bg: $lavender-25,
22
+ border: $lavender-200,
23
+ icon-bg: $lavender-50,
24
+ icon-color: $lavender-700,
25
+ title-color: $lavender-700,
26
+ mobile-border-top: rgba($lavender-600, 0.7)
27
+ ),
28
+ "neutral": (
29
+ border-color: rgba($neutral-300, 0.7),
30
+ bg: $neutral-25,
31
+ border: $neutral-300,
32
+ icon-bg: $neutral-50,
33
+ icon-color: $black,
34
+ title-color: $black,
35
+ mobile-border-top: rgba($neutral-300, 0.7)
36
+ ),
37
+ "success": (
38
+ border-color: rgba($success-600, 0.7),
39
+ bg: $success-25,
40
+ border: $success-200,
41
+ icon-bg: $success-50,
42
+ icon-color: $success-700,
43
+ title-color: $success-700,
44
+ mobile-border-top: rgba($success-600, 0.7)
45
+ ),
46
+ "danger": (
47
+ border-color: rgba($danger-600, 0.7),
48
+ bg: $danger-25,
49
+ border: $danger-200,
50
+ icon-bg: $danger-50,
51
+ icon-color: $danger-700,
52
+ title-color: $danger-700,
53
+ mobile-border-top: rgba($danger-600, 0.7)
54
+ ),
55
+ "warning": (
56
+ border-color: rgba($warning-600, 0.7),
57
+ bg: $warning-25,
58
+ border: $warning-200,
59
+ icon-bg: $warning-50,
60
+ icon-color: $warning-700,
61
+ title-color: $warning-700,
62
+ mobile-border-top: rgba($warning-600, 0.7)
63
+ ),
64
+ "info": (
65
+ border-color: rgba($info-600, 0.7),
66
+ bg: $info-25,
67
+ border: $info-200,
68
+ icon-bg: $info-50,
69
+ icon-color: $info-700,
70
+ title-color: $info-700,
71
+ mobile-border-top: rgba($info-600, 0.7)
72
+ ),
73
+ "secondary": (
74
+ border-color: rgba($secondary-200, 0.7),
75
+ bg: $secondary-25,
76
+ border: $secondary-200,
77
+ icon-bg: $secondary-50,
78
+ icon-color: $black,
79
+ title-color: $black,
80
+ mobile-border-top: rgba($secondary-200, 0.7)
81
+ )
82
+ );
83
+
84
+ // ============================================
85
+ // ALERT BASE STYLES
5
86
  // ============================================
6
87
 
7
88
  .alert {
@@ -52,76 +133,16 @@
52
133
  padding-inline-start: $alert-padding-x;
53
134
  }
54
135
 
55
- &.alert-primary {
56
- border-inline-start-color: rgba($primary-600, 0.7);
57
- --#{$prefix}alert-bg: #{$primary-25};
58
- --#{$prefix}border-color: #{$primary-200};
59
- --#{$prefix}alert-icon-bg: #{$primary-50};
60
- --#{$prefix}alert-icon-color: #{$primary-700};
61
- --#{$prefix}alert-title-color: #{$primary-700};
62
- }
63
-
64
- &.alert-lavender {
65
- border-inline-start-color: rgba($lavender-600, 0.7);
66
- --#{$prefix}alert-bg: #{$lavender-25};
67
- --#{$prefix}border-color: #{$lavender-200};
68
- --#{$prefix}alert-icon-bg: #{$lavender-50};
69
- --#{$prefix}alert-icon-color: #{$lavender-700};
70
- --#{$prefix}alert-title-color: #{$lavender-700};
71
- }
72
-
73
- &.alert-neutral {
74
- border-inline-start-color: rgba($neutral-300, 0.7);
75
- --#{$prefix}alert-bg: #{$neutral-25};
76
- --#{$prefix}border-color: #{$neutral-300};
77
- --#{$prefix}alert-icon-bg: #{$neutral-50};
78
- --#{$prefix}alert-icon-color: #{$black};
79
- --#{$prefix}alert-title-color: #{$black};
80
- }
81
-
82
- &.alert-success {
83
- border-inline-start-color: rgba($success-600, 0.7);
84
- --#{$prefix}alert-bg: #{$success-25};
85
- --#{$prefix}border-color: #{$success-200};
86
- --#{$prefix}alert-icon-bg: #{$success-50};
87
- --#{$prefix}alert-icon-color: #{$success-700};
88
- --#{$prefix}alert-title-color: #{$success-700};
89
- }
90
-
91
- &.alert-danger {
92
- border-inline-start-color: rgba($danger-600, 0.7);
93
- --#{$prefix}alert-bg: #{$danger-25};
94
- --#{$prefix}border-color: #{$danger-200};
95
- --#{$prefix}alert-icon-bg: #{$danger-50};
96
- --#{$prefix}alert-icon-color: #{$danger-700};
97
- --#{$prefix}alert-title-color: #{$danger-700};
98
- }
99
-
100
- &.alert-warning {
101
- border-inline-start-color: rgba($warning-600, 0.7);
102
- --#{$prefix}alert-bg: #{$warning-25};
103
- --#{$prefix}border-color: #{$warning-200};
104
- --#{$prefix}alert-icon-bg: #{$warning-50};
105
- --#{$prefix}alert-icon-color: #{$warning-700};
106
- --#{$prefix}alert-title-color: #{$warning-700};
107
- }
108
-
109
- &.alert-info {
110
- border-inline-start-color: rgba($info-600, 0.7);
111
- --#{$prefix}alert-bg: #{$info-25};
112
- --#{$prefix}border-color: #{$info-200};
113
- --#{$prefix}alert-icon-bg: #{$info-50};
114
- --#{$prefix}alert-icon-color: #{$info-700};
115
- --#{$prefix}alert-title-color: #{$info-700};
116
- }
117
-
118
- &.alert-secondary {
119
- border-inline-start-color: rgba($secondary-200, 0.7);
120
- --#{$prefix}alert-bg: #{$secondary-25};
121
- --#{$prefix}border-color: #{$secondary-200};
122
- --#{$prefix}alert-icon-bg: #{$secondary-50};
123
- --#{$prefix}alert-icon-color: #{$black};
124
- --#{$prefix}alert-title-color: #{$black};
136
+ // Generate alert variant classes
137
+ @each $name, $colors in $alert-variants {
138
+ &.alert-#{$name} {
139
+ border-inline-start-color: map-get($colors, border-color);
140
+ --#{$prefix}alert-bg: #{map-get($colors, bg)};
141
+ --#{$prefix}border-color: #{map-get($colors, border)};
142
+ --#{$prefix}alert-icon-bg: #{map-get($colors, icon-bg)};
143
+ --#{$prefix}alert-icon-color: #{map-get($colors, icon-color)};
144
+ --#{$prefix}alert-title-color: #{map-get($colors, title-color)};
145
+ }
125
146
  }
126
147
 
127
148
  &.alert-side {
@@ -146,49 +167,16 @@
146
167
  border-inline-start-width: $alert-border-width;
147
168
  border-top-width: 0.5rem;
148
169
 
149
- &.alert-primary {
150
- border-inline-start-color: $alert-border-color;
151
- border-top-color: $primary-600;
170
+ @each $name, $colors in $alert-variants {
171
+ &.alert-#{$name} {
172
+ border-inline-start-color: $alert-border-color;
173
+ border-top-color: map-get($colors, mobile-border-top);
152
174
 
153
- &.alert-side {
154
- border-top-color: rgba($primary-600, 0.7);
175
+ &.alert-side {
176
+ border-top-color: map-get($colors, border-color);
177
+ }
178
+ }
155
179
  }
156
- }
157
-
158
- &.alert-lavender {
159
- border-inline-start-color: $alert-border-color;
160
- border-top-color: rgba($lavender-600, 0.7);
161
- }
162
-
163
- &.alert-neutral {
164
- border-inline-start-color: $alert-border-color;
165
- border-top-color: rgba($neutral-300, 0.7);
166
- }
167
-
168
- &.alert-success {
169
- border-inline-start-color: $alert-border-color;
170
- border-top-color: rgba($success-600, 0.7);
171
- }
172
-
173
- &.alert-danger {
174
- border-inline-start-color: $alert-border-color;
175
- border-top-color: rgba($danger-600, 0.7);
176
- }
177
-
178
- &.alert-warning {
179
- border-inline-start-color: $alert-border-color;
180
- border-top-color: rgba($warning-600, 0.7);
181
- }
182
-
183
- &.alert-info {
184
- border-inline-start-color: $alert-border-color;
185
- border-top-color: rgba($info-600, 0.7);
186
- }
187
-
188
- &.alert-secondary {
189
- border-inline-start-color: $alert-border-color;
190
- border-top-color: rgba($secondary-200, 0.7);
191
- }
192
180
 
193
181
  div {
194
182
  width: 100%;
@@ -198,23 +186,24 @@
198
186
  flex-direction: column;
199
187
  margin-inline-start: 0;
200
188
 
189
+
201
190
  button {
202
191
  width: 100%;
203
192
  justify-content: center;
204
193
  &:first-of-type {
205
- --#{$prefix}btn-color: #{$btn-secondary-color};
206
- --#{$prefix}btn-bg: #{$btn-secondary-bg};
207
- --#{$prefix}btn-border-color: #{$btn-secondary-border-color};
208
- --#{$prefix}btn-hover-color: #{$btn-secondary-hover-color};
209
- --#{$prefix}btn-hover-bg: #{$btn-secondary-hover-bg};
210
- --#{$prefix}btn-hover-border-color: #{$btn-secondary-hover-border-color};
211
- --#{$prefix}btn-focus-shadow-rgb: #{$btn-secondary-focus-shadow-rgb};
212
- --#{$prefix}btn-active-color: #{$btn-secondary-active-color};
213
- --#{$prefix}btn-active-bg: #{$btn-secondary-active-bg};
214
- --#{$prefix}btn-active-border-color: #{$btn-secondary-active-border-color};
215
- --#{$prefix}btn-disabled-color: #{$btn-secondary-disabled-color};
216
- --#{$prefix}btn-disabled-bg: #{$btn-secondary-disabled-bg};
217
- --#{$prefix}btn-disabled-border-color: #{$btn-secondary-disabled-border-color};
194
+ --#{$prefix}btn-color: #{$black};
195
+ --#{$prefix}btn-bg: #{$secondary-100};
196
+ --#{$prefix}btn-border-color: #{$secondary-100};
197
+ --#{$prefix}btn-hover-color: #{$black};
198
+ --#{$prefix}btn-hover-bg: #{$secondary-200};
199
+ --#{$prefix}btn-hover-border-color: #{$secondary-200};
200
+ --#{$prefix}btn-focus-shadow-rgb: null;
201
+ --#{$prefix}btn-active-color: #{$black};
202
+ --#{$prefix}btn-active-bg: #{$secondary-200};
203
+ --#{$prefix}btn-active-border-color: #{$secondary-200};
204
+ --#{$prefix}btn-disabled-color: #{$secondary-400};
205
+ --#{$prefix}btn-disabled-bg: #{$secondary-200};
206
+ --#{$prefix}btn-disabled-border-color: #{$secondary-200};
218
207
  }
219
208
  }
220
209
  }
@@ -225,7 +214,7 @@
225
214
  // ============================================
226
215
  .alert-dismissible {
227
216
  .btn-close {
228
- padding: 0.5rem;
217
+ padding: $btn-close-padding-y $btn-close-padding-x;
229
218
  position: absolute;
230
219
  top: 1rem;
231
220
  right: unset;
@@ -4,6 +4,21 @@
4
4
  // BADGE VARIANTS
5
5
  // ============================================
6
6
 
7
+ .badge-success {
8
+ background-color: $success-600;
9
+ color: $white;
10
+ }
11
+
12
+ .badge-warning {
13
+ background-color: $warning-600;
14
+ color: $white;
15
+ }
16
+
17
+ .badge-info {
18
+ background-color: $info-600;
19
+ color: $white;
20
+ }
21
+
7
22
  .badge-lavender {
8
23
  background-color: $lavender-600;
9
24
  color: $white;