sdga-ui 1.0.2 → 1.0.4

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 (119) hide show
  1. package/.editorconfig +23 -23
  2. package/.github/workflows/deploy.yml +57 -0
  3. package/.github/workflows/publish.yml +36 -33
  4. package/.prettierignore +73 -73
  5. package/.prettierrc +17 -17
  6. package/LICENSE +21 -21
  7. package/README.md +175 -167
  8. package/css/dga-ui.css +60 -30
  9. package/css/dga-ui.css.map +1 -1
  10. package/demo-angular/.editorconfig +17 -0
  11. package/demo-angular/.vscode/extensions.json +4 -0
  12. package/demo-angular/.vscode/launch.json +20 -0
  13. package/demo-angular/.vscode/tasks.json +42 -0
  14. package/demo-angular/README.md +59 -0
  15. package/demo-angular/angular.json +90 -0
  16. package/demo-angular/package-lock.json +10459 -0
  17. package/demo-angular/package.json +50 -0
  18. package/demo-angular/public/.nojekyll +0 -0
  19. package/demo-angular/public/favicon.ico +0 -0
  20. package/demo-angular/public/i18n/ar.json +239 -0
  21. package/demo-angular/public/i18n/en.json +239 -0
  22. package/demo-angular/src/app/app.config.ts +20 -0
  23. package/demo-angular/src/app/app.html +52 -0
  24. package/demo-angular/src/app/app.routes.ts +45 -0
  25. package/demo-angular/src/app/app.scss +430 -0
  26. package/demo-angular/src/app/app.spec.ts +23 -0
  27. package/demo-angular/src/app/app.ts +88 -0
  28. package/demo-angular/src/app/shared/code-example/code-example.component.html +30 -0
  29. package/demo-angular/src/app/shared/code-example/code-example.component.scss +183 -0
  30. package/demo-angular/src/app/shared/code-example/code-example.component.ts +78 -0
  31. package/demo-angular/src/app/views/alerts/alerts.component.html +155 -0
  32. package/demo-angular/src/app/views/alerts/alerts.component.scss +3 -0
  33. package/demo-angular/src/app/views/alerts/alerts.component.ts +134 -0
  34. package/demo-angular/src/app/views/bootstrap/bootstrap.component.html +14 -0
  35. package/demo-angular/src/app/views/bootstrap/bootstrap.component.scss +91 -0
  36. package/demo-angular/src/app/views/bootstrap/bootstrap.component.ts +23 -0
  37. package/demo-angular/src/app/views/buttons/buttons.component.html +289 -0
  38. package/demo-angular/src/app/views/buttons/buttons.component.scss +14 -0
  39. package/demo-angular/src/app/views/buttons/buttons.component.ts +155 -0
  40. package/demo-angular/src/app/views/cards/cards.component.html +156 -0
  41. package/demo-angular/src/app/views/cards/cards.component.html.backup +156 -0
  42. package/demo-angular/src/app/views/cards/cards.component.scss +11 -0
  43. package/demo-angular/src/app/views/cards/cards.component.ts +194 -0
  44. package/demo-angular/src/app/views/forms/forms.component.html +347 -0
  45. package/demo-angular/src/app/views/forms/forms.component.scss +3 -0
  46. package/demo-angular/src/app/views/forms/forms.component.ts +222 -0
  47. package/demo-angular/src/app/views/home/home.component.html +38 -0
  48. package/demo-angular/src/app/views/home/home.component.scss +35 -0
  49. package/demo-angular/src/app/views/home/home.component.ts +12 -0
  50. package/demo-angular/src/app/views/links/links.component.html +140 -0
  51. package/demo-angular/src/app/views/links/links.component.scss +60 -0
  52. package/demo-angular/src/app/views/links/links.component.ts +123 -0
  53. package/demo-angular/src/app/views/tables/tables.component.html +289 -0
  54. package/demo-angular/src/app/views/tables/tables.component.scss +3 -0
  55. package/demo-angular/src/app/views/tables/tables.component.ts +278 -0
  56. package/demo-angular/src/app/views/toasts/toasts.component.html +201 -0
  57. package/demo-angular/src/app/views/toasts/toasts.component.scss +0 -0
  58. package/demo-angular/src/app/views/toasts/toasts.component.ts +182 -0
  59. package/demo-angular/src/index.html +14 -0
  60. package/demo-angular/src/main.ts +6 -0
  61. package/demo-angular/src/styles.scss +4 -0
  62. package/demo-angular/tsconfig.app.json +15 -0
  63. package/demo-angular/tsconfig.json +33 -0
  64. package/demo-angular/tsconfig.spec.json +15 -0
  65. package/fonts/IBM_Plex_Sans_Arabic/OFL.txt +93 -93
  66. package/package.json +50 -47
  67. package/theme/_fonts.scss +58 -58
  68. package/theme/_functions.scss +11 -11
  69. package/theme/_variables.scss +50 -50
  70. package/theme/components/_accordion.scss +35 -35
  71. package/theme/components/_alerts.scss +11 -11
  72. package/theme/components/_badges.scss +8 -8
  73. package/theme/components/_breadcrumb.scss +13 -13
  74. package/theme/components/_buttons.scss +270 -270
  75. package/theme/components/_cards.scss +21 -21
  76. package/theme/components/_carousel.scss +33 -33
  77. package/theme/components/_content.scss +211 -211
  78. package/theme/components/_dropdowns.scss +45 -45
  79. package/theme/components/_forms-check.scss +124 -124
  80. package/theme/components/_forms-floating.scss +17 -17
  81. package/theme/components/_forms-inputs.scss +70 -70
  82. package/theme/components/_forms-range.scss +26 -26
  83. package/theme/components/_forms-select.scss +47 -47
  84. package/theme/components/_forms-switch.scss +63 -63
  85. package/theme/components/_forms-validation.scss +16 -16
  86. package/theme/components/_forms.scss +14 -14
  87. package/theme/components/_list-group.scss +26 -26
  88. package/theme/components/_modals.scss +42 -42
  89. package/theme/components/_navbar.scss +40 -40
  90. package/theme/components/_navigation.scss +151 -151
  91. package/theme/components/_offcanvas.scss +15 -15
  92. package/theme/components/_overlays.scss +112 -112
  93. package/theme/components/_pagination.scss +39 -39
  94. package/theme/components/_popovers.scss +26 -26
  95. package/theme/components/_progress.scss +11 -11
  96. package/theme/components/_spinners.scss +11 -11
  97. package/theme/components/_tables.scss +47 -47
  98. package/theme/components/_toasts.scss +16 -16
  99. package/theme/components/_tooltips.scss +15 -15
  100. package/theme/config/_base.scss +111 -111
  101. package/theme/config/_colors.scss +303 -303
  102. package/theme/config/_effects.scss +227 -227
  103. package/theme/config/_radius.scss +78 -78
  104. package/theme/config/_spacing.scss +155 -155
  105. package/theme/config/_typography.scss +118 -118
  106. package/theme/customizations/_alerts.scss +242 -242
  107. package/theme/customizations/_badges.scss +15 -15
  108. package/theme/customizations/_buttons.scss +209 -209
  109. package/theme/customizations/_cards.scss +117 -117
  110. package/theme/customizations/_forms-check.scss +278 -278
  111. package/theme/customizations/_forms-inputs.scss +9 -9
  112. package/theme/customizations/_forms-switch.scss +91 -91
  113. package/theme/customizations/_forms.scss +5 -5
  114. package/theme/customizations/_global.scss +25 -25
  115. package/theme/customizations/_links.scss +94 -46
  116. package/theme/customizations/_tables.scss +67 -67
  117. package/theme/customizations/_toasts.scss +221 -221
  118. package/theme/customizations/_utilities.scss +138 -138
  119. package/theme/dga-ui.scss +28 -28
package/README.md CHANGED
@@ -1,167 +1,175 @@
1
- # **DGA UI – Government-Style Bootstrap Theme**
2
-
3
- **DGA UI** is a customizable UI theme inspired by modern government and authority design systems.
4
- Built on top of **Bootstrap**, it provides consistent colors, typography, spacing, and reusable UI patterns suitable for official portals, administrative dashboards, and public-sector applications.
5
-
6
- This package helps you apply a clean, structured, and authoritative look across your web interfaces with minimal setup.
7
-
8
- ---
9
-
10
- ## **✨ Features**
11
-
12
- * Government-inspired design system
13
- * Full compatibility with Bootstrap
14
- * Custom color palette and typography
15
- * Standardized spacing & component overrides
16
- * Utility classes for layout and theming
17
- * Light / dark mode friendly (optional)
18
- * Easy to integrate into any frontend project
19
-
20
- ---
21
-
22
- ## **📦 Installation**
23
-
24
- Install via npm:
25
-
26
- ```bash
27
- npm install sdga-ui
28
- ```
29
-
30
- Or with yarn:
31
-
32
- ```bash
33
- yarn add sdga-ui
34
- ```
35
-
36
- ---
37
-
38
- ## **🔧 Usage**
39
-
40
- ### **Using the Compiled CSS**
41
-
42
- Include the compiled CSS file in your HTML:
43
-
44
- ```html
45
- <link rel="stylesheet" href="node_modules/sdga-ui/css/dga-ui.css">
46
- ```
47
-
48
- Or import it in your JavaScript/CSS:
49
-
50
- ```css
51
- @import "sdga-ui/css/dga-ui.css";
52
- ```
53
-
54
- ### **Using SCSS Source Files**
55
-
56
- Import the theme in your SCSS file:
57
-
58
- ```scss
59
- @import "sdga-ui/theme/dga-ui";
60
- ```
61
-
62
- All Bootstrap components automatically adopt the DGA UI theme.
63
-
64
- ---
65
-
66
- ## **📁 File Structure**
67
-
68
- ```
69
- dga-ui/
70
-
71
- ├─ css/ # Compiled CSS output
72
- │ └─ dga-ui.css
73
- ├─ fonts/ # Font files (IBM Plex Sans Arabic)
74
- ├─ theme/ # Source SCSS theme files
75
- │ ├─ dga-ui.scss # Main theme entry point
76
- │ ├─ _fonts.scss
77
- │ ├─ _functions.scss
78
- ├─ _variables.scss
79
- ├─ config/ # Base configuration
80
- ├─ components/ # Component styles
81
- │ └─ customizations/ # Theme customizations
82
- ├─ package.json
83
- ├─ LICENSE
84
- └─ README.md
85
- ```
86
-
87
- ---
88
-
89
- ## **🛠 Development**
90
-
91
- ### **Building the CSS**
92
-
93
- Compile the SCSS to CSS:
94
-
95
- ```bash
96
- npm run build-css
97
- ```
98
-
99
- ### **Watch Mode**
100
-
101
- Watch for changes and auto-compile:
102
-
103
- ```bash
104
- npm run watch-css
105
- ```
106
-
107
- ### **Customization**
108
-
109
- You can override SCSS variables before importing the theme:
110
-
111
- ```scss
112
- // Your custom variables
113
- $primary: #0d47a1;
114
- $secondary: #ffc107;
115
-
116
- // Import the DGA UI theme
117
- @import "dga-ui/theme/dga-ui";
118
- ```
119
-
120
- ---
121
-
122
- ## **🎨 Theme Structure**
123
-
124
- The theme is organized into three main sections:
125
-
126
- - **config/** - Base configuration (colors, typography, spacing, etc.)
127
- - **components/** - Bootstrap component overrides
128
- - **customizations/** - Additional styling and utilities
129
-
130
- ---
131
-
132
- ## **📚 Roadmap**
133
-
134
- * React / Angular UI components
135
- * Icon set
136
- * Forms enhancement
137
- * Grid templates
138
- * Additional themes (municipal, ministry, authority variants)
139
-
140
- ---
141
-
142
- ## **🤝 Contributing**
143
-
144
- Contributions are welcome!
145
- Feel free to open issues, submit pull requests, or suggest improvements.
146
-
147
- ---
148
-
149
- ## **📄 License**
150
-
151
- MIT License — free for personal and commercial use.
152
-
153
- ---
154
-
155
- ## **👤 Author**
156
-
157
- Created and maintained by **Mahmoud**.
158
-
159
- ---
160
-
161
- If you want, I can also generate:
162
-
163
- A logo
164
- ✅ A color palette for the authority theme
165
- Example screenshots/mockups
166
- ✅ NPM keywords
167
- Just tell me!
1
+ # **DGA UI – Government-Style Bootstrap Theme**
2
+
3
+ **DGA UI** is a customizable UI theme inspired by modern government and authority design systems.
4
+ Built on top of **Bootstrap**, it provides consistent colors, typography, spacing, and reusable UI patterns suitable for official portals, administrative dashboards, and public-sector applications.
5
+
6
+ This package helps you apply a clean, structured, and authoritative look across your web interfaces with minimal setup.
7
+
8
+ ---
9
+
10
+ ## **🌐 Live Demo**
11
+
12
+ Check out the live demo and explore all components:
13
+
14
+ **[https://mahmoudadel1996.github.io/dga-ui/](https://mahmoudadel1996.github.io/dga-ui/)**
15
+
16
+ ---
17
+
18
+ ## **✨ Features**
19
+
20
+ * Government-inspired design system
21
+ * Full compatibility with Bootstrap
22
+ * Custom color palette and typography
23
+ * Standardized spacing & component overrides
24
+ * Utility classes for layout and theming
25
+ * Light / dark mode friendly (optional)
26
+ * Easy to integrate into any frontend project
27
+
28
+ ---
29
+
30
+ ## **📦 Installation**
31
+
32
+ Install via npm:
33
+
34
+ ```bash
35
+ npm install sdga-ui
36
+ ```
37
+
38
+ Or with yarn:
39
+
40
+ ```bash
41
+ yarn add sdga-ui
42
+ ```
43
+
44
+ ---
45
+
46
+ ## **🔧 Usage**
47
+
48
+ ### **Using the Compiled CSS**
49
+
50
+ Include the compiled CSS file in your HTML:
51
+
52
+ ```html
53
+ <link rel="stylesheet" href="node_modules/sdga-ui/css/dga-ui.css">
54
+ ```
55
+
56
+ Or import it in your JavaScript/CSS:
57
+
58
+ ```css
59
+ @import "sdga-ui/css/dga-ui.css";
60
+ ```
61
+
62
+ ### **Using SCSS Source Files**
63
+
64
+ Import the theme in your SCSS file:
65
+
66
+ ```scss
67
+ @import "sdga-ui/theme/dga-ui";
68
+ ```
69
+
70
+ All Bootstrap components automatically adopt the DGA UI theme.
71
+
72
+ ---
73
+
74
+ ## **📁 File Structure**
75
+
76
+ ```
77
+ dga-ui/
78
+
79
+ ├─ css/ # Compiled CSS output
80
+ └─ dga-ui.css
81
+ ├─ fonts/ # Font files (IBM Plex Sans Arabic)
82
+ ├─ theme/ # Source SCSS theme files
83
+ ├─ dga-ui.scss # Main theme entry point
84
+ │ ├─ _fonts.scss
85
+ │ ├─ _functions.scss
86
+ │ ├─ _variables.scss
87
+ │ ├─ config/ # Base configuration
88
+ │ ├─ components/ # Component styles
89
+ │ └─ customizations/ # Theme customizations
90
+ ├─ package.json
91
+ ├─ LICENSE
92
+ └─ README.md
93
+ ```
94
+
95
+ ---
96
+
97
+ ## **🛠 Development**
98
+
99
+ ### **Building the CSS**
100
+
101
+ Compile the SCSS to CSS:
102
+
103
+ ```bash
104
+ npm run build-css
105
+ ```
106
+
107
+ ### **Watch Mode**
108
+
109
+ Watch for changes and auto-compile:
110
+
111
+ ```bash
112
+ npm run watch-css
113
+ ```
114
+
115
+ ### **Customization**
116
+
117
+ You can override SCSS variables before importing the theme:
118
+
119
+ ```scss
120
+ // Your custom variables
121
+ $primary: #0d47a1;
122
+ $secondary: #ffc107;
123
+
124
+ // Import the DGA UI theme
125
+ @import "dga-ui/theme/dga-ui";
126
+ ```
127
+
128
+ ---
129
+
130
+ ## **🎨 Theme Structure**
131
+
132
+ The theme is organized into three main sections:
133
+
134
+ - **config/** - Base configuration (colors, typography, spacing, etc.)
135
+ - **components/** - Bootstrap component overrides
136
+ - **customizations/** - Additional styling and utilities
137
+
138
+ ---
139
+
140
+ ## **📚 Roadmap**
141
+
142
+ * React / Angular UI components
143
+ * Icon set
144
+ * Forms enhancement
145
+ * Grid templates
146
+ * Additional themes (municipal, ministry, authority variants)
147
+
148
+ ---
149
+
150
+ ## **🤝 Contributing**
151
+
152
+ Contributions are welcome!
153
+ Feel free to open issues, submit pull requests, or suggest improvements.
154
+
155
+ ---
156
+
157
+ ## **📄 License**
158
+
159
+ MIT License — free for personal and commercial use.
160
+
161
+ ---
162
+
163
+ ## **👤 Author**
164
+
165
+ Created and maintained by **Mahmoud**.
166
+
167
+ ---
168
+
169
+ If you want, I can also generate:
170
+
171
+ ✅ A logo
172
+ ✅ A color palette for the authority theme
173
+ ✅ Example screenshots/mockups
174
+ ✅ NPM keywords
175
+ Just tell me!
package/css/dga-ui.css CHANGED
@@ -8613,14 +8613,14 @@ textarea.form-control-lg {
8613
8613
  --dga-btn-color: #1B8354;
8614
8614
  --dga-btn-bg: transparent;
8615
8615
  --dga-btn-border-color: transparent;
8616
- --dga-btn-hover-color: rgb(18.36, 89.08, 57.12);
8616
+ --dga-btn-hover-color: #1B8354;
8617
8617
  --dga-btn-hover-border-color: transparent;
8618
- --dga-btn-active-color: rgb(18.36, 89.08, 57.12);
8618
+ --dga-btn-active-color: #1B8354;
8619
8619
  --dga-btn-active-border-color: transparent;
8620
8620
  --dga-btn-disabled-color: #4D5761;
8621
8621
  --dga-btn-disabled-border-color: transparent;
8622
8622
  --dga-btn-box-shadow: 0 0 0 #000;
8623
- --dga-btn-focus-shadow-rgb: rgba(27, 131, 84, 0.5);
8623
+ --dga-btn-focus-shadow-rgb: none;
8624
8624
  text-decoration: none;
8625
8625
  }
8626
8626
  .btn-link:hover, .btn-link:focus-visible {
@@ -26421,9 +26421,9 @@ html {
26421
26421
  }
26422
26422
  .card .card-title-checked {
26423
26423
  margin-inline-start: auto;
26424
- margin-inline-end: 4%;
26425
- margin-top: 4%;
26426
- margin-bottom: 4%;
26424
+ margin-inline-end: 1rem;
26425
+ margin-top: 1rem;
26426
+ margin-bottom: 1rem;
26427
26427
  }
26428
26428
  .card .card-text {
26429
26429
  margin: 0;
@@ -27152,45 +27152,75 @@ html {
27152
27152
  }
27153
27153
 
27154
27154
  .link-primary {
27155
- --dga-link-color: #1B8354;
27156
- --dga-link-color-rgb: 27, 131, 84;
27157
- --dga-link-hover-color: #54C08A;
27158
- --dga-link-hover-color-rgb: 84, 192, 138;
27155
+ color: #1B8354 !important;
27156
+ }
27157
+ .link-primary:hover, .link-primary:focus {
27158
+ color: #54C08A !important;
27159
+ text-decoration-color: #54C08A !important;
27160
+ }
27161
+ .link-primary:active {
27162
+ color: #88D8AD !important;
27163
+ text-decoration-color: #88D8AD !important;
27159
27164
  }
27160
27165
 
27161
27166
  .link-secondary {
27162
- --dga-link-color: #4D5761;
27163
- --dga-link-color-rgb: 77, 87, 97;
27164
- --dga-link-hover-color: #9DA4AE;
27165
- --dga-link-hover-color-rgb: 157, 164, 174;
27167
+ color: #4D5761 !important;
27168
+ }
27169
+ .link-secondary:hover, .link-secondary:focus {
27170
+ color: #9DA4AE !important;
27171
+ text-decoration-color: #9DA4AE !important;
27172
+ }
27173
+ .link-secondary:active {
27174
+ color: #D2D6DB !important;
27175
+ text-decoration-color: #D2D6DB !important;
27166
27176
  }
27167
27177
 
27168
27178
  .link-success {
27169
- --dga-link-color: #079455;
27170
- --dga-link-color-rgb: 7, 148, 85;
27171
- --dga-link-hover-color: #47CD89;
27172
- --dga-link-hover-color-rgb: 71, 205, 137;
27179
+ color: #079455 !important;
27180
+ }
27181
+ .link-success:hover, .link-success:focus {
27182
+ color: #47CD89 !important;
27183
+ text-decoration-color: #47CD89 !important;
27184
+ }
27185
+ .link-success:active {
27186
+ color: #75E0A7 !important;
27187
+ text-decoration-color: #75E0A7 !important;
27173
27188
  }
27174
27189
 
27175
27190
  .link-danger {
27176
- --dga-link-color: #D92D20;
27177
- --dga-link-color-rgb: 217, 45, 32;
27178
- --dga-link-hover-color: #F97066;
27179
- --dga-link-hover-color-rgb: 249, 112, 102;
27191
+ color: #D92D20 !important;
27192
+ }
27193
+ .link-danger:hover, .link-danger:focus {
27194
+ color: #F97066 !important;
27195
+ text-decoration-color: #F97066 !important;
27196
+ }
27197
+ .link-danger:active {
27198
+ color: #FDA29B !important;
27199
+ text-decoration-color: #FDA29B !important;
27180
27200
  }
27181
27201
 
27182
27202
  .link-warning {
27183
- --dga-link-color: #DC6803;
27184
- --dga-link-color-rgb: 220, 104, 3;
27185
- --dga-link-hover-color: #FDB022;
27186
- --dga-link-hover-color-rgb: 253, 176, 34;
27203
+ color: #DC6803 !important;
27204
+ }
27205
+ .link-warning:hover, .link-warning:focus {
27206
+ color: #FDB022 !important;
27207
+ text-decoration-color: #FDB022 !important;
27208
+ }
27209
+ .link-warning:active {
27210
+ color: #FEC84B !important;
27211
+ text-decoration-color: #FEC84B !important;
27187
27212
  }
27188
27213
 
27189
27214
  .link-info {
27190
- --dga-link-color: #1570EF;
27191
- --dga-link-color-rgb: 21, 112, 239;
27192
- --dga-link-hover-color: #53B1FD;
27193
- --dga-link-hover-color-rgb: 83, 177, 253;
27215
+ color: #1570EF !important;
27216
+ }
27217
+ .link-info:hover, .link-info:focus {
27218
+ color: #53B1FD !important;
27219
+ text-decoration-color: #53B1FD !important;
27220
+ }
27221
+ .link-info:active {
27222
+ color: #84CAFF !important;
27223
+ text-decoration-color: #84CAFF !important;
27194
27224
  }
27195
27225
 
27196
27226
  .bg-neutral {