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
@@ -0,0 +1,160 @@
1
+ .dga-footer {
2
+ padding: 0 2rem;
3
+
4
+ .dga-footer-content {
5
+ justify-self: center;
6
+ display: flex;
7
+ max-width: 80rem;
8
+ width: 100%;
9
+ padding: var(--spacing-5xl, 2.5rem) 0 var(--spacing-3xl, 1.5rem) 0;
10
+ flex-direction: column;
11
+ align-items: flex-start;
12
+ gap: var(--Global-spacing-6xl, 3rem);
13
+ flex: 1 0 0;
14
+ }
15
+
16
+ .dga-footer-section-title {
17
+ display: flex;
18
+ padding-bottom: var(--spacing-md, 0.5rem);
19
+ flex-direction: column;
20
+ align-items: flex-start;
21
+ align-self: stretch;
22
+
23
+ border-bottom: 1px solid var(--#{$prefix}border-color);
24
+ margin-bottom: 0;
25
+ font-size: $font-size-base;
26
+ font-weight: $font-weight-medium;
27
+ }
28
+
29
+ .dga-footer-nav-wrapper {
30
+ display: flex;
31
+ padding: var(--spacing-xl, 1rem) 0 var(--spacing-5xl, 2.5rem) 0;
32
+ align-items: flex-start;
33
+ align-content: flex-start;
34
+ gap: 1.5rem var(--spacing-3xl, 1.5rem);
35
+ align-self: stretch;
36
+ flex-wrap: wrap;
37
+ }
38
+
39
+ .dga-footer-nav-group {
40
+ display: flex;
41
+ min-width: 11.9rem;
42
+ flex-direction: column;
43
+ align-items: flex-start;
44
+ gap: var(--spacing-md, 0.5rem);
45
+ flex: 1 0 0;
46
+ }
47
+
48
+ .dga-footer-social {
49
+ display: flex;
50
+ min-width: 11.9rem;
51
+ flex-direction: column;
52
+ align-items: flex-start;
53
+ gap: var(--spacing-4xl, 2rem);
54
+ flex: 1 0 0;
55
+
56
+ .dga-footer-nav-group {
57
+ width: 100%;
58
+ }
59
+ }
60
+
61
+ .dga-footer-meta {
62
+ display: flex;
63
+ padding: var(--spacing-xl, 1rem) 0;
64
+ align-items: center;
65
+ gap: var(--spacing-3xl, 1.5rem);
66
+ align-self: stretch;
67
+
68
+ .dga-footer-copyright-container {
69
+ display: flex;
70
+ flex-direction: column;
71
+ align-items: flex-start;
72
+ gap: var(--spacing-md, 0.5rem);
73
+ align-self: stretch;
74
+ }
75
+
76
+ .dga-footer-meta-content {
77
+ display: flex;
78
+ flex-direction: column;
79
+ align-items: flex-start;
80
+ gap: var(--spacing-5xl, 2.5rem);
81
+ flex: 1 0 0;
82
+ }
83
+
84
+ .dga-footer-meta-links {
85
+ display: flex;
86
+ align-items: flex-start;
87
+ align-content: flex-start;
88
+ gap: 1rem var(--spacing-xl, 1rem);
89
+ align-self: stretch;
90
+ flex-wrap: wrap;
91
+ }
92
+
93
+ .dga-footer-copyright {
94
+ font-size: var(--Size-Text-typo-size-text-sm, 0.875rem);
95
+ font-style: normal;
96
+ font-weight: 600;
97
+ line-height: var(--Line-Height-Text-line-heights-text-sm, 1.25rem);
98
+
99
+ margin-bottom: 0;
100
+ }
101
+
102
+ .dga-footer-legal-links {
103
+ display: flex;
104
+ align-items: flex-start;
105
+ align-content: flex-start;
106
+ gap: 1rem var(--spacing-xl, 1rem);
107
+ flex-wrap: wrap;
108
+ }
109
+
110
+ .dga-footer-logo {
111
+ display: flex;
112
+ justify-content: flex-end;
113
+ align-items: center;
114
+ gap: var(--spacing-xl, 1rem);
115
+ }
116
+
117
+ }
118
+
119
+ @media (max-width: $tablet) {
120
+ .dga-footer-social {
121
+ padding: var(--spacing-xl, 1rem) 0;
122
+ gap: var(--spacing-5xl, 2.5rem);
123
+ flex-basis: 100%;
124
+ flex-direction: row;
125
+ flex-wrap: wrap;
126
+ }
127
+
128
+ .dga-footer-content {
129
+ gap: 2.5;
130
+ }
131
+
132
+ .dga-footer-meta {
133
+ flex-direction: column;
134
+
135
+ .dga-footer-meta-content {
136
+ flex-direction: column;
137
+ justify-content: center;
138
+ align-items: center;
139
+ gap: var(--spacing-4xl, 4rem);
140
+ }
141
+
142
+ .dga-footer-meta-links {
143
+ justify-content: center;
144
+ }
145
+
146
+ .dga-footer-copyright-container {
147
+ flex-direction: column;
148
+ justify-content: center;
149
+ align-items: center;
150
+ gap: var(--spacing-md, 0.5rem);
151
+ }
152
+
153
+ .dga-footer-logo {
154
+ width: 100%;
155
+ justify-content: space-between;
156
+ margin-top: 1rem;
157
+ }
158
+ }
159
+ }
160
+ }
@@ -6,8 +6,26 @@
6
6
  // Global button focus styling - applies to all button variants
7
7
  *:focus-visible {
8
8
  outline-offset: 2px !important;
9
- outline: 2px solid #161616 !important;
10
- border-color: $border-color !important;
9
+ outline: 2px solid $black !important;
10
+ }
11
+
12
+ .on-primary {
13
+ background-color: $primary-900;
14
+ color: $white;
15
+
16
+ --#{$prefix}body-bg: #{$primary-900};
17
+ --#{$prefix}body-color: #{$white};
18
+ --#{$prefix}text-muted: #{rgba($white, 0.8)};
19
+ --#{$prefix}border-color: #{rgba($white, 0.3)};
20
+
21
+ *:focus-visible {
22
+ outline-color: $white !important;
23
+ }
24
+ }
25
+
26
+ .list-unstyled {
27
+ padding-left: unset;
28
+ padding-right: unset;
11
29
  }
12
30
 
13
31
  // ============================================
@@ -8,76 +8,93 @@
8
8
  // Define link color variants with their shades
9
9
  $link-variants: (
10
10
  "primary": (
11
- base: $primary-600,
12
- hover: $primary-400,
13
- active: $primary-300 ),
14
- "secondary": (
15
- base: $secondary-600,
16
- hover: $secondary-400,
17
- active: $secondary-300 ),
18
- "success": (
19
- base: $success-600,
20
- hover: $success-400,
21
- active: $success-300 ),
22
- "danger": (
23
- base: $danger-600,
24
- hover: $danger-400,
25
- active: $danger-300 ),
26
- "warning": (
27
- base: $warning-600,
28
- hover: $warning-400,
29
- active: $warning-300 ),
30
- "info": (
31
- base: $info-600,
32
- hover: $info-400,
33
- active: $info-300 ),
11
+ base: rgba($primary-600, var(--#{$prefix}link-opacity, 1)),
12
+ base-decoration: rgba($primary-600, var(--#{$prefix}link-decoration-opacity, 1)),
13
+ hover: rgba($primary-400, var(--#{$prefix}link-opacity, 1)),
14
+ hover-decoration: rgba($primary-400, var(--#{$prefix}link-decoration-opacity, 1)),
15
+ active: rgba($primary-300, var(--#{$prefix}link-opacity, 1)),
16
+ active-decoration: rgba($primary-300, var(--#{$prefix}link-decoration-opacity, 1)) ),
34
17
  "neutral": (
35
- base: $neutral-700,
36
- hover: $neutral-500,
37
- active: $neutral-400 ),
38
- "lavender": (
39
- base: $lavender-600,
40
- hover: $lavender-500,
41
- active: $lavender-400 ),
42
- "oncolor": (
43
- base: $white,
44
- hover: rgba($white, 0.8),
45
- active: rgba($white, 0.6) )
18
+ base: rgba($neutral-700, var(--#{$prefix}link-opacity, 1)),
19
+ base-decoration: rgba($neutral-700, var(--#{$prefix}link-decoration-opacity, 1)),
20
+ hover: rgba($neutral-500, var(--#{$prefix}link-opacity, 1)),
21
+ hover-decoration: rgba($neutral-500, var(--#{$prefix}link-decoration-opacity, 1)),
22
+ active: rgba($neutral-400, var(--#{$prefix}link-opacity, 1)),
23
+ active-decoration: rgba($neutral-400, var(--#{$prefix}link-decoration-opacity, 1)) )
24
+ );
25
+
26
+ $on-primary-link-variants: (
27
+ "primary": (
28
+ base: rgba($white, var(--#{$prefix}link-opacity, 1)),
29
+ base-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 1)),
30
+ hover: rgba($white, var(--#{$prefix}link-opacity, 0.8)),
31
+ hover-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.8)),
32
+ active: rgba($white, var(--#{$prefix}link-opacity, 0.6)),
33
+ active-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.6)) ),
34
+ "neutral": (
35
+ base: rgba($white, var(--#{$prefix}link-opacity, 1)),
36
+ base-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 1)),
37
+ hover: rgba($white, var(--#{$prefix}link-opacity, 0.8)),
38
+ hover-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.8)),
39
+ active: rgba($white, var(--#{$prefix}link-opacity, 0.6)),
40
+ active-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.6)) )
46
41
  );
47
42
 
48
43
  // Generate link variant classes
44
+
49
45
  @each $name, $colors in $link-variants {
50
46
  .link-#{$name} {
51
47
  color: map-get($colors, base) !important;
52
- text-decoration-color: map-get($colors, base) !important;
48
+ text-decoration-color: map-get($colors, base-decoration) !important;
53
49
 
54
50
  &:visited,
55
51
  &:focus-visible {
56
52
  color: map-get($colors, base) !important;
57
- text-decoration-color: map-get($colors, base) !important;
53
+ text-decoration-color: map-get($colors, base-decoration) !important;
58
54
  }
59
55
 
60
56
  &:hover,
61
57
  &:focus {
62
58
  color: map-get($colors, hover) !important;
63
- text-decoration-color: map-get($colors, hover) !important;
59
+ text-decoration-color: map-get($colors, hover-decoration) !important;
64
60
  }
65
61
 
66
62
  &:active {
67
63
  color: map-get($colors, active) !important;
68
- text-decoration-color: map-get($colors, active) !important;
64
+ text-decoration-color: map-get($colors, active-decoration) !important;
69
65
  }
70
66
  }
71
67
  }
72
68
 
73
- a.disabled {
74
- color: $gray-400 !important;
75
- text-decoration-color: $gray-400 !important;
76
- pointer-events: none;
69
+ .on-primary {
70
+ @each $name, $colors in $on-primary-link-variants {
71
+ .link-#{$name} {
72
+ color: map-get($colors, base) !important;
73
+ text-decoration-color: map-get($colors, base-decoration) !important;
77
74
 
78
- &.link-oncolor {
79
- color: rgba($white, 0.3) !important;
80
- text-decoration-color: rgba($white, 0.3) !important;
75
+ &:visited,
76
+ &:focus-visible {
77
+ color: map-get($colors, base) !important;
78
+ text-decoration-color: map-get($colors, base-decoration) !important;
79
+ }
80
+
81
+ &:hover,
82
+ &:focus {
83
+ color: map-get($colors, hover) !important;
84
+ text-decoration-color: map-get($colors, hover-decoration) !important;
85
+ }
86
+
87
+ &:active {
88
+ color: map-get($colors, active) !important;
89
+ text-decoration-color: map-get($colors, active-decoration) !important;
90
+ }
91
+ }
81
92
  }
82
93
  }
83
94
 
95
+ a.disabled {
96
+ color: rgba($gray-400, var(--#{$prefix}link-opacity, 1)) !important;
97
+ text-decoration-color: rgba($gray-400, var(--#{$prefix}link-opacity, 1)) !important;
98
+ pointer-events: none;
99
+ }
100
+
@@ -1,4 +1,69 @@
1
1
  // Toast Customizations - SDGA Custom Enhancements
2
+ // Following Bootstrap 5.3 recommended practices
3
+
4
+ // ============================================
5
+ // TOAST VARIANTS - Using Sass map and @each loop
6
+ // ============================================
7
+
8
+ // Define toast color variants
9
+ $toast-variants: (
10
+ "primary": (
11
+ border-color: rgba($primary-600, 0.7),
12
+ border: $primary-200,
13
+ icon-bg: $primary-50,
14
+ icon-color: $primary-700,
15
+ title-color: $primary-700
16
+ ),
17
+ "secondary": (
18
+ border-color: rgba($secondary-200, 0.7),
19
+ border: $secondary-200,
20
+ icon-bg: $secondary-50,
21
+ icon-color: $black,
22
+ title-color: $black
23
+ ),
24
+ "success": (
25
+ border-color: rgba($success-600, 0.7),
26
+ border: $success-200,
27
+ icon-bg: $success-50,
28
+ icon-color: $success-700,
29
+ title-color: $success-700
30
+ ),
31
+ "danger": (
32
+ border-color: rgba($danger-600, 0.7),
33
+ border: $danger-200,
34
+ icon-bg: $danger-50,
35
+ icon-color: $danger-700,
36
+ title-color: $danger-700
37
+ ),
38
+ "warning": (
39
+ border-color: rgba($warning-600, 0.7),
40
+ border: $warning-200,
41
+ icon-bg: $warning-50,
42
+ icon-color: $warning-700,
43
+ title-color: $warning-700
44
+ ),
45
+ "info": (
46
+ border-color: rgba($info-600, 0.7),
47
+ border: $info-200,
48
+ icon-bg: $info-50,
49
+ icon-color: $info-700,
50
+ title-color: $info-700
51
+ ),
52
+ "lavender": (
53
+ border-color: rgba($lavender-600, 0.7),
54
+ border: $lavender-200,
55
+ icon-bg: $lavender-50,
56
+ icon-color: $lavender-700,
57
+ title-color: $lavender-700
58
+ ),
59
+ "neutral": (
60
+ border-color: rgba($neutral-300, 0.7),
61
+ border: $neutral-300,
62
+ icon-bg: $neutral-50,
63
+ icon-color: $black,
64
+ title-color: $black
65
+ )
66
+ );
2
67
 
3
68
  // ============================================
4
69
  // TOAST BASE STYLES
@@ -21,7 +86,6 @@
21
86
  gap: .75rem;
22
87
 
23
88
  .btn-close {
24
- padding: 0.5rem;
25
89
  position: absolute;
26
90
  top: 1rem;
27
91
  right: unset;
@@ -83,68 +147,15 @@
83
147
  // TOAST VARIANTS
84
148
  // ============================================
85
149
 
86
- &.toast-primary {
87
- border-inline-start-color: rgba($primary-600, 0.7);
88
- --#{$prefix}border-color: #{$primary-200};
89
- --#{$prefix}toast-icon-bg: #{$primary-50};
90
- --#{$prefix}toast-icon-color: #{$primary-700};
91
- --#{$prefix}toast-title-color: #{$primary-700};
92
- }
93
-
94
- &.toast-secondary {
95
- border-inline-start-color: rgba($secondary-200, 0.7);
96
- --#{$prefix}border-color: #{$secondary-200};
97
- --#{$prefix}toast-icon-bg: #{$secondary-50};
98
- --#{$prefix}toast-icon-color: #{$black};
99
- --#{$prefix}toast-title-color: #{$black};
100
- }
101
-
102
- &.toast-success {
103
- border-inline-start-color: rgba($success-600, 0.7);
104
- --#{$prefix}border-color: #{$success-200};
105
- --#{$prefix}toast-icon-bg: #{$success-50};
106
- --#{$prefix}toast-icon-color: #{$success-700};
107
- --#{$prefix}toast-title-color: #{$success-700};
108
- }
109
-
110
- &.toast-danger {
111
- border-inline-start-color: rgba($danger-600, 0.7);
112
- --#{$prefix}border-color: #{$danger-200};
113
- --#{$prefix}toast-icon-bg: #{$danger-50};
114
- --#{$prefix}toast-icon-color: #{$danger-700};
115
- --#{$prefix}toast-title-color: #{$danger-700};
116
- }
117
-
118
- &.toast-warning {
119
- border-inline-start-color: rgba($warning-600, 0.7);
120
- --#{$prefix}border-color: #{$warning-200};
121
- --#{$prefix}toast-icon-bg: #{$warning-50};
122
- --#{$prefix}toast-icon-color: #{$warning-700};
123
- --#{$prefix}toast-title-color: #{$warning-700};
124
- }
125
-
126
- &.toast-info {
127
- border-inline-start-color: rgba($info-600, 0.7);
128
- --#{$prefix}border-color: #{$info-200};
129
- --#{$prefix}toast-icon-bg: #{$info-50};
130
- --#{$prefix}toast-icon-color: #{$info-700};
131
- --#{$prefix}toast-title-color: #{$info-700};
132
- }
133
-
134
- &.toast-lavender {
135
- border-inline-start-color: rgba($lavender-600, 0.7);
136
- --#{$prefix}border-color: #{$lavender-200};
137
- --#{$prefix}toast-icon-bg: #{$lavender-50};
138
- --#{$prefix}toast-icon-color: #{$lavender-700};
139
- --#{$prefix}toast-title-color: #{$lavender-700};
140
- }
141
-
142
- &.toast-neutral {
143
- border-inline-start-color: rgba($neutral-300, 0.7);
144
- --#{$prefix}border-color: #{$neutral-300};
145
- --#{$prefix}toast-icon-bg: #{$neutral-50};
146
- --#{$prefix}toast-icon-color: #{$black};
147
- --#{$prefix}toast-title-color: #{$black};
150
+ // Generate toast variant classes
151
+ @each $name, $colors in $toast-variants {
152
+ &.toast-#{$name} {
153
+ border-inline-start-color: map-get($colors, border-color);
154
+ --#{$prefix}border-color: #{map-get($colors, border)};
155
+ --#{$prefix}toast-icon-bg: #{map-get($colors, icon-bg)};
156
+ --#{$prefix}toast-icon-color: #{map-get($colors, icon-color)};
157
+ --#{$prefix}toast-title-color: #{map-get($colors, title-color)};
158
+ }
148
159
  }
149
160
 
150
161
  // ============================================
@@ -158,44 +169,11 @@
158
169
  width: 100%;
159
170
  flex-direction: column;
160
171
 
161
- &.toast-primary {
162
- border-inline-start-color: $toast-border-color;
163
- border-top-color: rgba($primary-600, 0.7);
164
- }
165
-
166
- &.toast-secondary {
167
- border-inline-start-color: $toast-border-color;
168
- border-top-color: rgba($secondary-200, 0.7);
169
- }
170
-
171
- &.toast-success {
172
- border-inline-start-color: $toast-border-color;
173
- border-top-color: rgba($success-600, 0.7);
174
- }
175
-
176
- &.toast-danger {
177
- border-inline-start-color: $toast-border-color;
178
- border-top-color: rgba($danger-600, 0.7);
179
- }
180
-
181
- &.toast-warning {
182
- border-inline-start-color: $toast-border-color;
183
- border-top-color: rgba($warning-600, 0.7);
184
- }
185
-
186
- &.toast-info {
187
- border-inline-start-color: $toast-border-color;
188
- border-top-color: rgba($info-600, 0.7);
189
- }
190
-
191
- &.toast-lavender {
192
- border-inline-start-color: $toast-border-color;
193
- border-top-color: rgba($lavender-600, 0.7);
194
- }
195
-
196
- &.toast-neutral {
197
- border-inline-start-color: $toast-border-color;
198
- border-top-color: rgba($neutral-300, 0.7);
172
+ @each $name, $colors in $toast-variants {
173
+ &.toast-#{$name} {
174
+ border-inline-start-color: $toast-border-color;
175
+ border-top-color: map-get($colors, border-color);
176
+ }
199
177
  }
200
178
 
201
179
  .toast-footer {
@@ -204,19 +182,19 @@
204
182
  margin-inline-start: 0;
205
183
 
206
184
  button {
207
- --#{$prefix}btn-color: #{$btn-secondary-color};
208
- --#{$prefix}btn-bg: #{$btn-secondary-bg};
209
- --#{$prefix}btn-border-color: #{$btn-secondary-border-color};
210
- --#{$prefix}btn-hover-color: #{$btn-secondary-hover-color};
211
- --#{$prefix}btn-hover-bg: #{$btn-secondary-hover-bg};
212
- --#{$prefix}btn-hover-border-color: #{$btn-secondary-hover-border-color};
213
- --#{$prefix}btn-focus-shadow-rgb: #{$btn-secondary-focus-shadow-rgb};
214
- --#{$prefix}btn-active-color: #{$btn-secondary-active-color};
215
- --#{$prefix}btn-active-bg: #{$btn-secondary-active-bg};
216
- --#{$prefix}btn-active-border-color: #{$btn-secondary-active-border-color};
217
- --#{$prefix}btn-disabled-color: #{$btn-secondary-disabled-color};
218
- --#{$prefix}btn-disabled-bg: #{$btn-secondary-disabled-bg};
219
- --#{$prefix}btn-disabled-border-color: #{$btn-secondary-disabled-border-color};
185
+ --#{$prefix}btn-color: #{$black};
186
+ --#{$prefix}btn-bg: #{$secondary-100};
187
+ --#{$prefix}btn-border-color: #{$secondary-100};
188
+ --#{$prefix}btn-hover-color: #{$black};
189
+ --#{$prefix}btn-hover-bg: #{$secondary-200};
190
+ --#{$prefix}btn-hover-border-color: #{$secondary-200};
191
+ --#{$prefix}btn-focus-shadow-rgb: null;
192
+ --#{$prefix}btn-active-color: #{$black};
193
+ --#{$prefix}btn-active-bg: #{$secondary-200};
194
+ --#{$prefix}btn-active-border-color: #{$secondary-200};
195
+ --#{$prefix}btn-disabled-color: #{$secondary-400};
196
+ --#{$prefix}btn-disabled-bg: #{$secondary-200};
197
+ --#{$prefix}btn-disabled-border-color: #{$secondary-200};
220
198
  }
221
199
  }
222
200
  }
package/theme/dga-ui.scss CHANGED
@@ -15,8 +15,8 @@
15
15
  // ============================================
16
16
 
17
17
  // Import all component customizations
18
- @import './customizations/links';
19
18
  @import './customizations/global';
19
+ @import './customizations/links';
20
20
  @import './customizations/buttons';
21
21
  @import './customizations/cards';
22
22
  @import './customizations/alerts';
@@ -25,3 +25,4 @@
25
25
  @import './customizations/forms';
26
26
  @import './customizations/forms-switch';
27
27
  @import './customizations/tables';
28
+ @import './customizations/footer';
@@ -1,14 +0,0 @@
1
- <div class="container py-5">
2
- <h1 class="display-4 mb-4">{{ 'bootstrap.title' | translate }}</h1>
3
- <p class="lead mb-5">{{ 'bootstrap.subtitle' | translate }}</p>
4
-
5
- <app-alerts />
6
-
7
- <app-buttons />
8
-
9
- <app-cards />
10
-
11
- <app-forms />
12
-
13
- <app-tables />
14
- </div>
@@ -1,91 +0,0 @@
1
- .demo-section {
2
- margin-bottom: 3rem;
3
- padding-bottom: 2rem;
4
- border-bottom: 1px solid #e5e7eb;
5
-
6
- &:last-child {
7
- border-bottom: none;
8
- }
9
-
10
- h2 {
11
- margin-bottom: 1.5rem;
12
- padding-bottom: 0.5rem;
13
- border-bottom: 2px solid #1B8354;
14
- }
15
-
16
- h3 {
17
- margin-top: 2rem;
18
- margin-bottom: 1rem;
19
- font-size: 1.25rem;
20
- color: #384250;
21
- }
22
- }
23
-
24
- .component-showcase {
25
- display: flex;
26
- flex-wrap: wrap;
27
- gap: 0.75rem;
28
- margin-bottom: 1.5rem;
29
- align-items: flex-start;
30
-
31
- > * {
32
- flex: 0 0 auto;
33
- }
34
- }
35
-
36
- .demo-card-grid {
37
- display: flex;
38
- flex-wrap: wrap;
39
- gap: 1rem;
40
- align-items: flex-start;
41
- }
42
-
43
- .toast-container-demo {
44
- position: fixed;
45
- top: 1rem;
46
- right: 1rem;
47
- z-index: 1090;
48
- }
49
-
50
- // Radius Showcase
51
- .radius-showcase {
52
- display: grid;
53
- grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
54
- gap: 1.5rem;
55
- margin-bottom: 2rem;
56
- }
57
-
58
- .radius-item {
59
- display: flex;
60
- flex-direction: column;
61
- align-items: flex-start;
62
- gap: 0.5rem;
63
- }
64
-
65
- .radius-box {
66
- width: 180px;
67
- height: 140px;
68
- background-color: #ffffff;
69
- border: 1px solid #D2D6DB;
70
-
71
- &.circle {
72
- width: 140px;
73
- height: 140px;
74
- }
75
- }
76
-
77
- .radius-label {
78
- font-size: 0.875rem;
79
- font-weight: 600;
80
- color: #111927;
81
- }
82
-
83
- .radius-value {
84
- font-size: 0.875rem;
85
- color: #4D5761;
86
- }
87
-
88
- .radius-pixels {
89
- font-size: 0.75rem;
90
- color: #6C737F;
91
- }