sdga-ui 1.0.8 → 1.0.10

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 (101) hide show
  1. package/css/dga-ui.css +371 -98
  2. package/css/dga-ui.css.map +1 -1
  3. package/package.json +20 -4
  4. package/theme/_variables.scss +1 -1
  5. package/theme/components/_buttons.scss +2 -2
  6. package/theme/components/_dropdowns.scss +2 -2
  7. package/theme/components/_navbar.scss +10 -9
  8. package/theme/config/_base.scss +1 -1
  9. package/theme/customizations/_alerts.scss +29 -45
  10. package/theme/customizations/_cards.scss +2 -71
  11. package/theme/customizations/_global.scss +7 -4
  12. package/theme/customizations/_icon-featured.scss +122 -0
  13. package/theme/customizations/_links.scss +22 -21
  14. package/theme/customizations/_navbar.scss +167 -0
  15. package/theme/dga-ui.scss +2 -0
  16. package/.editorconfig +0 -23
  17. package/.github/workflows/deploy.yml +0 -71
  18. package/.github/workflows/publish.yml +0 -36
  19. package/.prettierignore +0 -73
  20. package/.prettierrc +0 -17
  21. package/demo-angular/.editorconfig +0 -17
  22. package/demo-angular/.vscode/extensions.json +0 -4
  23. package/demo-angular/.vscode/launch.json +0 -20
  24. package/demo-angular/.vscode/tasks.json +0 -42
  25. package/demo-angular/README.md +0 -91
  26. package/demo-angular/angular.json +0 -96
  27. package/demo-angular/package-lock.json +0 -10600
  28. package/demo-angular/package.json +0 -53
  29. package/demo-angular/public/404.html +0 -35
  30. package/demo-angular/public/favicon.ico +0 -0
  31. package/demo-angular/public/i18n/ar.json +0 -289
  32. package/demo-angular/public/i18n/en.json +0 -289
  33. package/demo-angular/src/app/app.config.ts +0 -20
  34. package/demo-angular/src/app/app.html +0 -52
  35. package/demo-angular/src/app/app.routes.ts +0 -49
  36. package/demo-angular/src/app/app.scss +0 -430
  37. package/demo-angular/src/app/app.spec.ts +0 -23
  38. package/demo-angular/src/app/app.ts +0 -97
  39. package/demo-angular/src/app/shared/code-example/code-example.component.html +0 -30
  40. package/demo-angular/src/app/shared/code-example/code-example.component.scss +0 -183
  41. package/demo-angular/src/app/shared/code-example/code-example.component.ts +0 -89
  42. package/demo-angular/src/app/views/alerts/alerts.component.html +0 -155
  43. package/demo-angular/src/app/views/alerts/alerts.component.scss +0 -3
  44. package/demo-angular/src/app/views/alerts/alerts.component.ts +0 -134
  45. package/demo-angular/src/app/views/buttons/buttons.component.html +0 -360
  46. package/demo-angular/src/app/views/buttons/buttons.component.scss +0 -11
  47. package/demo-angular/src/app/views/buttons/buttons.component.ts +0 -225
  48. package/demo-angular/src/app/views/cards/cards.component.html +0 -156
  49. package/demo-angular/src/app/views/cards/cards.component.html.backup +0 -156
  50. package/demo-angular/src/app/views/cards/cards.component.scss +0 -11
  51. package/demo-angular/src/app/views/cards/cards.component.ts +0 -194
  52. package/demo-angular/src/app/views/footer/footer.html +0 -270
  53. package/demo-angular/src/app/views/footer/footer.ts +0 -276
  54. package/demo-angular/src/app/views/forms/forms.component.html +0 -347
  55. package/demo-angular/src/app/views/forms/forms.component.scss +0 -3
  56. package/demo-angular/src/app/views/forms/forms.component.ts +0 -222
  57. package/demo-angular/src/app/views/header/header.html +0 -1
  58. package/demo-angular/src/app/views/header/header.scss +0 -0
  59. package/demo-angular/src/app/views/header/header.spec.ts +0 -23
  60. package/demo-angular/src/app/views/header/header.ts +0 -11
  61. package/demo-angular/src/app/views/home/home.component.html +0 -33
  62. package/demo-angular/src/app/views/home/home.component.scss +0 -35
  63. package/demo-angular/src/app/views/home/home.component.ts +0 -12
  64. package/demo-angular/src/app/views/links/links.component.html +0 -21
  65. package/demo-angular/src/app/views/links/links.component.scss +0 -11
  66. package/demo-angular/src/app/views/links/links.component.ts +0 -19
  67. package/demo-angular/src/app/views/tables/tables.component.html +0 -289
  68. package/demo-angular/src/app/views/tables/tables.component.scss +0 -3
  69. package/demo-angular/src/app/views/tables/tables.component.ts +0 -278
  70. package/demo-angular/src/app/views/toasts/toasts.component.html +0 -201
  71. package/demo-angular/src/app/views/toasts/toasts.component.scss +0 -0
  72. package/demo-angular/src/app/views/toasts/toasts.component.ts +0 -182
  73. package/demo-angular/src/index.html +0 -28
  74. package/demo-angular/src/main.ts +0 -6
  75. package/demo-angular/src/styles.scss +0 -4
  76. package/demo-angular/tsconfig.app.json +0 -16
  77. package/demo-angular/tsconfig.json +0 -33
  78. package/demo-angular/tsconfig.spec.json +0 -15
  79. package/sdga-ui/README.md +0 -45
  80. package/sdga-ui/content/docs/components/alerts.mdx +0 -475
  81. package/sdga-ui/content/docs/index.mdx +0 -239
  82. package/sdga-ui/next.config.mjs +0 -10
  83. package/sdga-ui/package-lock.json +0 -5851
  84. package/sdga-ui/package.json +0 -32
  85. package/sdga-ui/postcss.config.mjs +0 -5
  86. package/sdga-ui/source.config.ts +0 -27
  87. package/sdga-ui/src/app/(home)/layout.tsx +0 -6
  88. package/sdga-ui/src/app/(home)/page.tsx +0 -202
  89. package/sdga-ui/src/app/api/search/route.ts +0 -7
  90. package/sdga-ui/src/app/docs/[[...slug]]/page.tsx +0 -54
  91. package/sdga-ui/src/app/docs/layout.tsx +0 -11
  92. package/sdga-ui/src/app/global.css +0 -3
  93. package/sdga-ui/src/app/layout.tsx +0 -25
  94. package/sdga-ui/src/app/llms-full.txt/route.ts +0 -10
  95. package/sdga-ui/src/app/og/docs/[...slug]/route.tsx +0 -34
  96. package/sdga-ui/src/app/sdga-scoped.css +0 -7
  97. package/sdga-ui/src/components/sdga-preview.tsx +0 -105
  98. package/sdga-ui/src/lib/layout.shared.tsx +0 -9
  99. package/sdga-ui/src/lib/source.ts +0 -27
  100. package/sdga-ui/src/mdx-components.tsx +0 -9
  101. package/sdga-ui/tsconfig.json +0 -46
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdga-ui",
3
- "version": "1.0.8",
3
+ "version": "1.0.10",
4
4
  "description": "DGA UI - Government-Style Bootstrap Theme",
5
5
  "keywords": [
6
6
  "sdga",
@@ -26,24 +26,40 @@
26
26
  "author": "Mahmoud Adel",
27
27
  "type": "module",
28
28
  "main": "index.js",
29
+ "exports": {
30
+ ".": "./index.js",
31
+ "./css/dga-ui.css": "./css/dga-ui.css",
32
+ "./css/*": "./css/*",
33
+ "./fonts/*": "./fonts/*",
34
+ "./theme/*": "./theme/*"
35
+ },
36
+ "files": [
37
+ "css",
38
+ "fonts",
39
+ "theme",
40
+ "README.md",
41
+ "LICENSE"
42
+ ],
29
43
  "scripts": {
30
44
  "test": "echo \"No tests yet\" && exit 0",
31
45
  "format": "prettier --write \"**/*.{js,json,md,css,scss}\"",
32
46
  "format:check": "prettier --check \"**/*.{js,json,md,css,scss}\"",
33
47
  "build-css": "sass --load-path=node_modules theme/dga-ui.scss css/dga-ui.css",
34
48
  "watch-css": "sass --load-path=node_modules --watch theme/dga-ui.scss css/dga-ui.css",
35
- "update-demo-version": "node -e \"const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json'));const demoPkg=JSON.parse(fs.readFileSync('demo-angular/package.json'));demoPkg.version=pkg.version;demoPkg.dependencies['sdga-ui']='^'+pkg.version;fs.writeFileSync('demo-angular/package.json',JSON.stringify(demoPkg,null,2)+'\\n');console.log('Synced demo-angular version to',pkg.version);\"",
49
+ "update-docs-version": "node -e \"const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json'));const docsPkg=JSON.parse(fs.readFileSync('docs/package.json'));docsPkg.version=pkg.version;fs.writeFileSync('docs/package.json',JSON.stringify(docsPkg,null,2)+'\\n');console.log('Synced docs version to',pkg.version);\"",
36
50
  "prepublishOnly": "npm run build-css",
37
51
  "preversion": "npm run build-css",
38
- "version": "npm run update-demo-version && git add .",
52
+ "version": "npm run update-docs-version && git add .",
39
53
  "postversion": "git push --follow-tags"
40
54
  },
41
55
  "peerDependencies": {
42
- "bootstrap": "^5.3.8"
56
+ "bootstrap": "^5.3.8",
57
+ "bootstrap-icons": "^1.13.1"
43
58
  },
44
59
  "devDependencies": {
45
60
  "autoprefixer": "^10.4.19",
46
61
  "bootstrap": "^5.3.8",
62
+ "bootstrap-icons": "^1.13.1",
47
63
  "postcss": "^8.4.38",
48
64
  "prettier": "^3.7.3",
49
65
  "sass": "^1.69.5"
@@ -35,8 +35,8 @@
35
35
  @import 'components/dropdowns';
36
36
  @import 'components/cards';
37
37
  @import 'components/tables';
38
-
39
38
  @import 'components/navbar';
39
+
40
40
  @import 'components/modals';
41
41
  @import 'components/tooltips';
42
42
  @import 'components/popovers';
@@ -60,9 +60,9 @@ $btn-link-focus-shadow-rgb: none;
60
60
  $btn-link-disabled-color: $gray-600;
61
61
 
62
62
  // Button close
63
- $btn-close-width: .7031rem;
63
+ $btn-close-width: .56rem;
64
64
  $btn-close-height: $btn-close-width;
65
- $btn-close-padding-x: .5rem;
65
+ $btn-close-padding-x: .3rem;
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>");
@@ -19,8 +19,8 @@ $dropdown-link-color: $gray-900;
19
19
  $dropdown-link-hover-color: darken($gray-900, 5%);
20
20
  $dropdown-link-hover-bg: $gray-100;
21
21
 
22
- $dropdown-link-active-color: $white;
23
- $dropdown-link-active-bg: $primary;
22
+ $dropdown-link-active-color: $black;
23
+ $dropdown-link-active-bg: $neutral-200;
24
24
 
25
25
  $dropdown-link-disabled-color: $gray-500;
26
26
 
@@ -1,9 +1,10 @@
1
1
  // Bootstrap 5.3 - Navbar Component Variables
2
2
 
3
- $navbar-padding-y: 0.5rem;
4
- $navbar-padding-x: 1rem;
3
+ $navbar-padding-y: 0;
4
+ $navbar-padding-x: 2rem;
5
5
 
6
- $navbar-nav-link-padding-x: 0.5rem;
6
+ $navbar-nav-link-padding-x: 1rem;
7
+ $navbar-nav-link-padding-y: 0.5rem;
7
8
 
8
9
  $navbar-brand-font-size: $font-size-lg;
9
10
  $navbar-brand-height: null;
@@ -29,12 +30,12 @@ $navbar-dark-brand-color: $navbar-dark-active-color;
29
30
  $navbar-dark-brand-hover-color: $navbar-dark-active-color;
30
31
 
31
32
  // Navbar light theme
32
- $navbar-light-color: rgba($black, 0.55);
33
- $navbar-light-hover-color: rgba($black, 0.7);
34
- $navbar-light-active-color: rgba($black, 0.9);
33
+ $navbar-light-color: $black;
34
+ $navbar-light-hover-color: $black;
35
+ $navbar-light-active-color: $black;
35
36
  $navbar-light-disabled-color: rgba($black, 0.3);
36
- $navbar-light-icon-color: rgba($black, 0.5);
37
+ $navbar-light-icon-color: $black;
37
38
  $navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
38
- $navbar-light-toggler-border-color: rgba($black, 0.1);
39
+ $navbar-light-toggler-border-color: transparent;
39
40
  $navbar-light-brand-color: $navbar-light-active-color;
40
- $navbar-light-brand-hover-color: $navbar-light-active-color;
41
+ $navbar-light-brand-hover-color: $navbar-light-active-color;
@@ -44,7 +44,7 @@ $focus-ring-width: 0.25rem;
44
44
  $focus-ring-opacity: 0.25;
45
45
  $focus-ring-color: shadow-rgba($focus-ring-opacity);
46
46
  $focus-ring-blur: 0;
47
- $focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color;
47
+ $focus-ring-box-shadow: none;
48
48
 
49
49
  // ============================================
50
50
  // UTILITIES
@@ -7,78 +7,62 @@
7
7
 
8
8
  // Define alert color variants
9
9
  $alert-variants: (
10
- "primary": (
11
- border-color: rgba($primary-600, 0.7),
10
+ "primary": (border-color: rgba($primary-600, 0.7),
12
11
  bg: $primary-25,
13
12
  border: $primary-200,
14
13
  icon-bg: $primary-50,
15
14
  icon-color: $primary-700,
16
15
  title-color: $primary-700,
17
- mobile-border-top: $primary-600
18
- ),
19
- "lavender": (
20
- border-color: rgba($lavender-600, 0.7),
16
+ mobile-border-top: $primary-600 ),
17
+ "lavender": (border-color: rgba($lavender-600, 0.7),
21
18
  bg: $lavender-25,
22
19
  border: $lavender-200,
23
20
  icon-bg: $lavender-50,
24
21
  icon-color: $lavender-700,
25
22
  title-color: $lavender-700,
26
- mobile-border-top: rgba($lavender-600, 0.7)
27
- ),
28
- "neutral": (
29
- border-color: rgba($neutral-300, 0.7),
23
+ mobile-border-top: rgba($lavender-600, 0.7)),
24
+ "neutral": (border-color: rgba($neutral-300, 0.7),
30
25
  bg: $neutral-25,
31
26
  border: $neutral-300,
32
27
  icon-bg: $neutral-50,
33
28
  icon-color: $black,
34
29
  title-color: $black,
35
- mobile-border-top: rgba($neutral-300, 0.7)
36
- ),
37
- "success": (
38
- border-color: rgba($success-600, 0.7),
30
+ mobile-border-top: rgba($neutral-300, 0.7)),
31
+ "success": (border-color: rgba($success-600, 0.7),
39
32
  bg: $success-25,
40
33
  border: $success-200,
41
34
  icon-bg: $success-50,
42
35
  icon-color: $success-700,
43
36
  title-color: $success-700,
44
- mobile-border-top: rgba($success-600, 0.7)
45
- ),
46
- "danger": (
47
- border-color: rgba($danger-600, 0.7),
37
+ mobile-border-top: rgba($success-600, 0.7)),
38
+ "danger": (border-color: rgba($danger-600, 0.7),
48
39
  bg: $danger-25,
49
40
  border: $danger-200,
50
41
  icon-bg: $danger-50,
51
42
  icon-color: $danger-700,
52
43
  title-color: $danger-700,
53
- mobile-border-top: rgba($danger-600, 0.7)
54
- ),
55
- "warning": (
56
- border-color: rgba($warning-600, 0.7),
44
+ mobile-border-top: rgba($danger-600, 0.7)),
45
+ "warning": (border-color: rgba($warning-600, 0.7),
57
46
  bg: $warning-25,
58
47
  border: $warning-200,
59
48
  icon-bg: $warning-50,
60
49
  icon-color: $warning-700,
61
50
  title-color: $warning-700,
62
- mobile-border-top: rgba($warning-600, 0.7)
63
- ),
64
- "info": (
65
- border-color: rgba($info-600, 0.7),
51
+ mobile-border-top: rgba($warning-600, 0.7)),
52
+ "info": (border-color: rgba($info-600, 0.7),
66
53
  bg: $info-25,
67
54
  border: $info-200,
68
55
  icon-bg: $info-50,
69
56
  icon-color: $info-700,
70
57
  title-color: $info-700,
71
- mobile-border-top: rgba($info-600, 0.7)
72
- ),
73
- "secondary": (
74
- border-color: rgba($secondary-200, 0.7),
58
+ mobile-border-top: rgba($info-600, 0.7)),
59
+ "secondary": (border-color: rgba($secondary-200, 0.7),
75
60
  bg: $secondary-25,
76
61
  border: $secondary-200,
77
62
  icon-bg: $secondary-50,
78
63
  icon-color: $black,
79
64
  title-color: $black,
80
- mobile-border-top: rgba($secondary-200, 0.7)
81
- )
65
+ mobile-border-top: rgba($secondary-200, 0.7))
82
66
  );
83
67
 
84
68
  // ============================================
@@ -131,6 +115,11 @@ $alert-variants: (
131
115
  padding-right: unset;
132
116
  padding-inline-end: $alert-dismissible-padding-r;
133
117
  padding-inline-start: $alert-padding-x;
118
+
119
+ .btn-close {
120
+ right: unset;
121
+ inset-inline-end: 0;
122
+ }
134
123
  }
135
124
 
136
125
  // Generate alert variant classes
@@ -151,13 +140,14 @@ $alert-variants: (
151
140
  --#{$prefix}alert-title-color: #{$gray-800};
152
141
  }
153
142
 
154
- .alert-footer{
143
+ .alert-footer {
155
144
  display: flex;
156
145
  gap: 1.25rem;
157
146
  margin-top: 1rem;
158
147
  margin-inline-start: -0.75rem;
159
148
  }
160
149
 
150
+
161
151
  // ============================================
162
152
  // MOBILE RESPONSIVE
163
153
  // ============================================
@@ -166,6 +156,7 @@ $alert-variants: (
166
156
  gap: 1rem;
167
157
  border-inline-start-width: $alert-border-width;
168
158
  border-top-width: 0.5rem;
159
+ position: relative;
169
160
 
170
161
  @each $name, $colors in $alert-variants {
171
162
  &.alert-#{$name} {
@@ -190,6 +181,7 @@ $alert-variants: (
190
181
  button {
191
182
  width: 100%;
192
183
  justify-content: center;
184
+
193
185
  &:first-of-type {
194
186
  --#{$prefix}btn-color: #{$black};
195
187
  --#{$prefix}btn-bg: #{$secondary-100};
@@ -207,17 +199,9 @@ $alert-variants: (
207
199
  }
208
200
  }
209
201
  }
210
- }
211
- }
212
- // ============================================
213
- // DISMISSIBLE ALERTS
214
- // ============================================
215
- .alert-dismissible {
216
- .btn-close {
217
- padding: $btn-close-padding-y $btn-close-padding-x;
218
- position: absolute;
219
- top: 1rem;
220
- right: unset;
221
- inset-inline-end: 1.5rem;
202
+
203
+ &.alert-dismissible {
204
+ padding: $alert-padding-y $alert-padding-x;
205
+ }
222
206
  }
223
207
  }
@@ -5,37 +5,7 @@
5
5
  // CARD ICON VARIANTS - Using Sass map and @each loop
6
6
  // ============================================
7
7
 
8
- // Define card icon color variants
9
- $card-icon-variants: (
10
- "success": (
11
- icon-bg: $success-50,
12
- icon-color: $success-700
13
- ),
14
- "primary": (
15
- icon-bg: $primary-50,
16
- icon-color: $primary-700
17
- ),
18
- "danger": (
19
- icon-bg: $danger-50,
20
- icon-color: $danger-700
21
- ),
22
- "warning": (
23
- icon-bg: $warning-50,
24
- icon-color: $warning-700
25
- ),
26
- "info": (
27
- icon-bg: $info-50,
28
- icon-color: $info-700
29
- ),
30
- "secondary": (
31
- icon-bg: $secondary-50,
32
- icon-color: $secondary-700
33
- ),
34
- "neutral": (
35
- icon-bg: $neutral-50,
36
- icon-color: $neutral-700
37
- )
38
- );
8
+
39
9
 
40
10
  // ============================================
41
11
  // CARD BASE STYLES
@@ -84,45 +54,6 @@ $card-icon-variants: (
84
54
  &.disabled {
85
55
  background-color: $gray-200;
86
56
  cursor: not-allowed;
87
-
88
- .card-title-icon {
89
- &::after {
90
- background-color: $gray-100;
91
- }
92
- color: $gray-400;
93
- }
94
-
95
- }
96
-
97
- .card-title-icon {
98
- &::after {
99
- content: '';
100
- width: 3rem;
101
- height: 3rem;
102
- border-radius: $radius-full;
103
- background-color: $primary-50;
104
- position: absolute;
105
- z-index: -1;
106
- }
107
- width: 3rem;
108
- height: 3rem;
109
- position: relative;
110
- display: inline-flex;
111
- align-items: center;
112
- justify-content: center;
113
- color: $success-700;
114
- z-index: 1;
115
-
116
- // Generate card icon variant classes
117
- @each $name, $colors in $card-icon-variants {
118
- &.card-title-icon-#{$name} {
119
- color: map-get($colors, icon-color);
120
-
121
- &::after {
122
- background-color: map-get($colors, icon-bg);
123
- }
124
- }
125
- }
126
57
  }
127
58
 
128
59
  .card-title-checked {
@@ -166,4 +97,4 @@ $card-icon-variants: (
166
97
  }
167
98
  }
168
99
  }
169
- }
100
+ }
@@ -18,16 +18,19 @@
18
18
  --#{$prefix}text-muted: #{rgba($white, 0.8)};
19
19
  --#{$prefix}border-color: #{rgba($white, 0.3)};
20
20
 
21
- *:focus-visible {
21
+ *:focus-visible,
22
+ *:focus {
22
23
  outline-color: $white !important;
23
24
  }
24
25
  }
25
26
 
26
27
  .list-unstyled {
27
- padding-left: unset;
28
- padding-right: unset;
28
+ padding-left: unset;
29
+ padding-inline-start: 0;
29
30
  }
30
31
 
32
+
33
+
31
34
  // ============================================
32
35
  // SAFARI COMPATIBILITY
33
36
  // ============================================
@@ -40,4 +43,4 @@ th {
40
43
  // Fix text-size-adjust for modern browsers
41
44
  html {
42
45
  text-size-adjust: 100%;
43
- }
46
+ }
@@ -0,0 +1,122 @@
1
+ // Define card icon color variants
2
+ $card-icon-variants: (
3
+ "success": (icon-bg: $success-50,
4
+ icon-color: $success-700 ),
5
+ "primary": (icon-bg: $primary-50,
6
+ icon-color: $primary-700 ),
7
+ "danger": (icon-bg: $danger-50,
8
+ icon-color: $danger-700 ),
9
+ "warning": (icon-bg: $warning-50,
10
+ icon-color: $warning-700 ),
11
+ "info": (icon-bg: $info-50,
12
+ icon-color: $info-700 ),
13
+ "secondary": (icon-bg: $secondary-50,
14
+ icon-color: $secondary-700 ),
15
+ "neutral": (icon-bg: $neutral-50,
16
+ icon-color: $neutral-700 )
17
+ );
18
+
19
+ .dga-featured-icon {
20
+ display: flex;
21
+ width: 3rem;
22
+ height: 3rem;
23
+ justify-content: center;
24
+ align-items: center;
25
+ gap: .5rem;
26
+ background: $primary-50;
27
+ font-size: 1.3rem;
28
+
29
+ &.dga-featured-icon-sm {
30
+ width: 2.5rem;
31
+ height: 2.5rem;
32
+ font-size: 0.875rem;
33
+ }
34
+
35
+ &.dga-featured-icon-md {
36
+ width: 3rem;
37
+ height: 3rem;
38
+ font-size: 1.3rem;
39
+ }
40
+
41
+ &.dga-featured-icon-lg {
42
+ width: 4rem;
43
+ height: 4rem;
44
+ font-size: 1.875rem;
45
+ }
46
+
47
+ &.dga-featured-icon-circle {
48
+ border-radius: $radius-full;
49
+ }
50
+
51
+ &.dga-featured-icon-rounded-lg {
52
+ border-radius: $radius-lg;
53
+ }
54
+
55
+ &.dga-featured-icon-rounded-sm {
56
+ border-radius: $radius-sm;
57
+ }
58
+
59
+ &.dga-featured-icon-rounded-md,
60
+ &.dga-featured-icon-rounded {
61
+ border-radius: $radius-md;
62
+ }
63
+
64
+ @each $name, $colors in $card-icon-variants {
65
+ &.dga-featured-icon-#{$name} {
66
+ background-color: map-get($colors, icon-bg);
67
+
68
+ svg,
69
+ i {
70
+ fill: map-get($colors, icon-color);
71
+ color: map-get($colors, icon-color);
72
+ stroke: map-get($colors, icon-color);
73
+ }
74
+
75
+ &.disabled {
76
+ background-color: $gray-100;
77
+
78
+ svg,
79
+ i {
80
+ fill: $gray-400;
81
+ color: $gray-400;
82
+ stroke: $gray-400;
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ &.disabled {
89
+ background-color: $gray-100;
90
+
91
+ svg,
92
+ i {
93
+ fill: $gray-400;
94
+ color: $gray-400;
95
+ stroke: $gray-400;
96
+ }
97
+ }
98
+
99
+ svg,
100
+ i {
101
+ fill: $primary-600;
102
+ color: $primary-600;
103
+ font-size: 1em;
104
+ display: grid;
105
+ place-items: center;
106
+ }
107
+ }
108
+
109
+
110
+ .on-primary {
111
+ .dga-featured-icon,
112
+ &.dga-featured-icon {
113
+ background: rgba($white, 0.1);
114
+
115
+ svg,
116
+ i {
117
+ stroke: $white;
118
+ fill: $white;
119
+ color: $white;
120
+ }
121
+ }
122
+ }
@@ -7,37 +7,33 @@
7
7
 
8
8
  // Define link color variants with their shades
9
9
  $link-variants: (
10
- "primary": (
11
- base: rgba($primary-600, var(--#{$prefix}link-opacity, 1)),
10
+ "primary": (base: rgba($primary-600, var(--#{$prefix}link-opacity, 1)),
12
11
  base-decoration: rgba($primary-600, var(--#{$prefix}link-decoration-opacity, 1)),
13
12
  hover: rgba($primary-400, var(--#{$prefix}link-opacity, 1)),
14
13
  hover-decoration: rgba($primary-400, var(--#{$prefix}link-decoration-opacity, 1)),
15
14
  active: rgba($primary-300, var(--#{$prefix}link-opacity, 1)),
16
- active-decoration: rgba($primary-300, var(--#{$prefix}link-decoration-opacity, 1)) ),
17
- "neutral": (
18
- base: rgba($neutral-700, var(--#{$prefix}link-opacity, 1)),
15
+ active-decoration: rgba($primary-300, var(--#{$prefix}link-decoration-opacity, 1))),
16
+ "neutral": (base: rgba($neutral-700, var(--#{$prefix}link-opacity, 1)),
19
17
  base-decoration: rgba($neutral-700, var(--#{$prefix}link-decoration-opacity, 1)),
20
18
  hover: rgba($neutral-500, var(--#{$prefix}link-opacity, 1)),
21
19
  hover-decoration: rgba($neutral-500, var(--#{$prefix}link-decoration-opacity, 1)),
22
20
  active: rgba($neutral-400, var(--#{$prefix}link-opacity, 1)),
23
- active-decoration: rgba($neutral-400, var(--#{$prefix}link-decoration-opacity, 1)) )
21
+ active-decoration: rgba($neutral-400, var(--#{$prefix}link-decoration-opacity, 1)))
24
22
  );
25
23
 
26
24
  $on-primary-link-variants: (
27
- "primary": (
28
- base: rgba($white, var(--#{$prefix}link-opacity, 1)),
25
+ "primary": (base: rgba($white, var(--#{$prefix}link-opacity, 1)),
29
26
  base-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 1)),
30
27
  hover: rgba($white, var(--#{$prefix}link-opacity, 0.8)),
31
28
  hover-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.8)),
32
29
  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)),
30
+ active-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.6))),
31
+ "neutral": (base: rgba($white, var(--#{$prefix}link-opacity, 1)),
36
32
  base-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 1)),
37
33
  hover: rgba($white, var(--#{$prefix}link-opacity, 0.8)),
38
34
  hover-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.8)),
39
35
  active: rgba($white, var(--#{$prefix}link-opacity, 0.6)),
40
- active-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.6)) )
36
+ active-decoration: rgba($white, var(--#{$prefix}link-decoration-opacity, 0.6)))
41
37
  );
42
38
 
43
39
  // Generate link variant classes
@@ -63,10 +59,16 @@ $on-primary-link-variants: (
63
59
  color: map-get($colors, active) !important;
64
60
  text-decoration-color: map-get($colors, active-decoration) !important;
65
61
  }
62
+
63
+ &.disabled {
64
+ color: rgba($gray-400, var(--#{$prefix}link-opacity, 1)) !important;
65
+ text-decoration-color: rgba($gray-400, var(--#{$prefix}link-opacity, 1)) !important;
66
+ pointer-events: none;
67
+ }
66
68
  }
67
69
  }
68
70
 
69
- .on-primary {
71
+ .on-primary {
70
72
  @each $name, $colors in $on-primary-link-variants {
71
73
  .link-#{$name} {
72
74
  color: map-get($colors, base) !important;
@@ -88,13 +90,12 @@ $on-primary-link-variants: (
88
90
  color: map-get($colors, active) !important;
89
91
  text-decoration-color: map-get($colors, active-decoration) !important;
90
92
  }
93
+
94
+ &.disabled {
95
+ color: rgba($gray-400, var(--#{$prefix}link-opacity, 1)) !important;
96
+ text-decoration-color: rgba($gray-400, var(--#{$prefix}link-opacity, 1)) !important;
97
+ pointer-events: none;
98
+ }
91
99
  }
92
100
  }
93
- }
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
-
101
+ }