sdga-ui 1.0.6 → 1.0.7

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 (71) hide show
  1. package/README.md +4 -4
  2. package/css/dga-ui.css +4146 -1040
  3. package/css/dga-ui.css.map +1 -1
  4. package/demo-angular/package-lock.json +41 -41
  5. package/demo-angular/package.json +8 -8
  6. package/demo-angular/public/404.html +35 -0
  7. package/demo-angular/public/i18n/ar.json +47 -0
  8. package/demo-angular/public/i18n/en.json +47 -0
  9. package/demo-angular/src/app/app.routes.ts +12 -4
  10. package/demo-angular/src/app/app.ts +8 -2
  11. package/demo-angular/src/app/views/alerts/alerts.component.html +10 -10
  12. package/demo-angular/src/app/views/alerts/alerts.component.ts +10 -10
  13. package/demo-angular/src/app/views/buttons/buttons.component.html +23 -23
  14. package/demo-angular/src/app/views/buttons/buttons.component.ts +14 -14
  15. package/demo-angular/src/app/views/cards/cards.component.html +6 -6
  16. package/demo-angular/src/app/views/cards/cards.component.ts +10 -10
  17. package/demo-angular/src/app/views/contexts/contexts.component.html +204 -0
  18. package/demo-angular/src/app/views/contexts/contexts.component.ts +10 -0
  19. package/demo-angular/src/app/views/footer/footer.html +282 -0
  20. package/demo-angular/src/app/views/footer/footer.scss +0 -0
  21. package/demo-angular/src/app/views/footer/footer.spec.ts +23 -0
  22. package/demo-angular/src/app/views/footer/footer.ts +142 -0
  23. package/demo-angular/src/app/views/header/header.html +1 -0
  24. package/demo-angular/src/app/views/header/header.scss +0 -0
  25. package/demo-angular/src/app/views/header/header.spec.ts +23 -0
  26. package/demo-angular/src/app/views/header/header.ts +11 -0
  27. package/demo-angular/src/app/views/home/home.component.html +0 -5
  28. package/demo-angular/src/app/views/links/links.component.html +2 -2
  29. package/demo-angular/src/app/views/toasts/toasts.component.html +7 -7
  30. package/demo-angular/src/app/views/toasts/toasts.component.ts +7 -7
  31. package/demo-angular/src/index.html +15 -1
  32. package/package.json +2 -2
  33. package/sdga-ui/README.md +45 -0
  34. package/sdga-ui/content/docs/components/alerts.mdx +475 -0
  35. package/sdga-ui/content/docs/index.mdx +239 -0
  36. package/sdga-ui/next.config.mjs +10 -0
  37. package/sdga-ui/package-lock.json +5851 -0
  38. package/sdga-ui/package.json +32 -0
  39. package/sdga-ui/postcss.config.mjs +5 -0
  40. package/sdga-ui/source.config.ts +27 -0
  41. package/sdga-ui/src/app/(home)/layout.tsx +6 -0
  42. package/sdga-ui/src/app/(home)/page.tsx +202 -0
  43. package/sdga-ui/src/app/api/search/route.ts +7 -0
  44. package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +54 -0
  45. package/sdga-ui/src/app/docs/layout.tsx +11 -0
  46. package/sdga-ui/src/app/global.css +3 -0
  47. package/sdga-ui/src/app/layout.tsx +25 -0
  48. package/sdga-ui/src/app/llms-full.txt/route.ts +10 -0
  49. package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +34 -0
  50. package/sdga-ui/src/app/sdga-scoped.css +7 -0
  51. package/sdga-ui/src/components/sdga-preview.tsx +105 -0
  52. package/sdga-ui/src/lib/layout.shared.tsx +9 -0
  53. package/sdga-ui/src/lib/source.ts +27 -0
  54. package/sdga-ui/src/mdx-components.tsx +9 -0
  55. package/sdga-ui/tsconfig.json +46 -0
  56. package/theme/_variables.scss +7 -5
  57. package/theme/components/_buttons.scss +105 -0
  58. package/theme/config/_base.scss +10 -0
  59. package/theme/config/_contexts.scss +471 -0
  60. package/theme/customizations/_alerts.scss +100 -112
  61. package/theme/customizations/_badges.scss +15 -0
  62. package/theme/customizations/_buttons.scss +288 -146
  63. package/theme/customizations/_cards.scss +52 -0
  64. package/theme/customizations/_contexts.scss +432 -0
  65. package/theme/customizations/_footer.scss +83 -0
  66. package/theme/customizations/_links.scss +55 -39
  67. package/theme/customizations/_toasts.scss +79 -100
  68. package/theme/dga-ui.scss +2 -0
  69. package/demo-angular/src/app/views/bootstrap/bootstrap.component.html +0 -14
  70. package/demo-angular/src/app/views/bootstrap/bootstrap.component.scss +0 -91
  71. package/demo-angular/src/app/views/bootstrap/bootstrap.component.ts +0 -23
@@ -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%;
@@ -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;