sdga-ui 1.0.2 → 1.0.3

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 (61) hide show
  1. package/.editorconfig +23 -23
  2. package/.github/workflows/publish.yml +38 -33
  3. package/.prettierignore +73 -73
  4. package/.prettierrc +17 -17
  5. package/LICENSE +21 -21
  6. package/README.md +167 -167
  7. package/fonts/IBM_Plex_Sans_Arabic/OFL.txt +93 -93
  8. package/package.json +51 -47
  9. package/theme/_fonts.scss +58 -58
  10. package/theme/_functions.scss +11 -11
  11. package/theme/_variables.scss +50 -50
  12. package/theme/components/_accordion.scss +35 -35
  13. package/theme/components/_alerts.scss +11 -11
  14. package/theme/components/_badges.scss +8 -8
  15. package/theme/components/_breadcrumb.scss +13 -13
  16. package/theme/components/_buttons.scss +270 -270
  17. package/theme/components/_cards.scss +21 -21
  18. package/theme/components/_carousel.scss +33 -33
  19. package/theme/components/_content.scss +211 -211
  20. package/theme/components/_dropdowns.scss +45 -45
  21. package/theme/components/_forms-check.scss +124 -124
  22. package/theme/components/_forms-floating.scss +17 -17
  23. package/theme/components/_forms-inputs.scss +70 -70
  24. package/theme/components/_forms-range.scss +26 -26
  25. package/theme/components/_forms-select.scss +47 -47
  26. package/theme/components/_forms-switch.scss +63 -63
  27. package/theme/components/_forms-validation.scss +16 -16
  28. package/theme/components/_forms.scss +14 -14
  29. package/theme/components/_list-group.scss +26 -26
  30. package/theme/components/_modals.scss +42 -42
  31. package/theme/components/_navbar.scss +40 -40
  32. package/theme/components/_navigation.scss +151 -151
  33. package/theme/components/_offcanvas.scss +15 -15
  34. package/theme/components/_overlays.scss +112 -112
  35. package/theme/components/_pagination.scss +39 -39
  36. package/theme/components/_popovers.scss +26 -26
  37. package/theme/components/_progress.scss +11 -11
  38. package/theme/components/_spinners.scss +11 -11
  39. package/theme/components/_tables.scss +47 -47
  40. package/theme/components/_toasts.scss +16 -16
  41. package/theme/components/_tooltips.scss +15 -15
  42. package/theme/config/_base.scss +111 -111
  43. package/theme/config/_colors.scss +303 -303
  44. package/theme/config/_effects.scss +227 -227
  45. package/theme/config/_radius.scss +78 -78
  46. package/theme/config/_spacing.scss +155 -155
  47. package/theme/config/_typography.scss +118 -118
  48. package/theme/customizations/_alerts.scss +242 -242
  49. package/theme/customizations/_badges.scss +15 -15
  50. package/theme/customizations/_buttons.scss +209 -209
  51. package/theme/customizations/_cards.scss +117 -117
  52. package/theme/customizations/_forms-check.scss +278 -278
  53. package/theme/customizations/_forms-inputs.scss +9 -9
  54. package/theme/customizations/_forms-switch.scss +91 -91
  55. package/theme/customizations/_forms.scss +5 -5
  56. package/theme/customizations/_global.scss +25 -25
  57. package/theme/customizations/_links.scss +46 -46
  58. package/theme/customizations/_tables.scss +67 -67
  59. package/theme/customizations/_toasts.scss +221 -221
  60. package/theme/customizations/_utilities.scss +138 -138
  61. package/theme/dga-ui.scss +28 -28
@@ -1,228 +1,228 @@
1
- // Bootstrap 5.3 - Effects & Utilities
2
- // Elevation shadows and backdrop blur utilities using SDGA design tokens
3
-
4
- @use 'sass:map';
5
-
6
- // ============================================
7
- // EFFECTS CONFIGURATION
8
- // ============================================
9
-
10
- // Global ripple effect toggle
11
- $enable-ripple-effect: true !default;
12
-
13
- // Ripple effect variables
14
- $ripple-size: 200% !default; // Percentage-based size relative to element
15
- $ripple-hover-opacity: 0.08 !default;
16
- $ripple-active-opacity: 0.08 !default;
17
- $ripple-focus-opacity: 0.08 !default;
18
- $ripple-transition-duration: 0.2s !default;
19
- $ripple-transition-timing: ease-out !default;
20
-
21
- // ============================================
22
- // RIPPLE EFFECT MIXIN
23
- // ============================================
24
-
25
- @mixin ripple-effect(
26
- $size: $ripple-size,
27
- $hover-opacity: $ripple-hover-opacity,
28
- $active-opacity: $ripple-active-opacity,
29
- $focus-opacity: $ripple-focus-opacity,
30
- $duration: $ripple-transition-duration,
31
- $timing: $ripple-transition-timing
32
- ) {
33
- position: relative;
34
- overflow: visible;
35
-
36
- // Ripple background element
37
- &::before {
38
- content: '';
39
- position: absolute;
40
- top: 50%;
41
- left: 50%;
42
- width: $size;
43
- height: $size;
44
- background-color: currentColor;
45
- border-radius: 50%;
46
- transform: translate(-50%, -50%) scale(0);
47
- opacity: 0;
48
- pointer-events: none;
49
- transition: transform $duration $timing, opacity $duration $timing;
50
- }
51
-
52
- // Ripple on hover (subtle)
53
- &:hover:not(:disabled):not([readonly])::before {
54
- transform: translate(-50%, -50%) scale(1);
55
- opacity: $hover-opacity;
56
- }
57
-
58
- // Ripple on active/click (prominent)
59
- &:active:not(:disabled):not([readonly])::before {
60
- transform: translate(-50%, -50%) scale(1);
61
- opacity: $active-opacity;
62
- transition: transform ($duration * 0.5) $timing, opacity ($duration * 0.5) $timing;
63
- }
64
-
65
- // Ripple on focus
66
- &:focus:not(:disabled):not([readonly])::before {
67
- transform: translate(-50%, -50%) scale(1);
68
- opacity: $focus-opacity;
69
- }
70
- }
71
-
72
- // ============================================
73
- // ELEVATION SHADOWS
74
- // ============================================
75
-
76
- // Shadow XS - Subtle elevation
77
- $box-shadow-xs:
78
- 0px 1px 2px 0px shadow-rgba(0.05),
79
- 0px 1px 3px 0px shadow-rgba(0.10);
80
-
81
- // Shadow SM - Small elevation
82
- $box-shadow-sm:
83
- 0px 1px 2px 0px shadow-rgba(0.06),
84
- 0px 4px 8px -2px shadow-rgba(0.10);
85
-
86
- // Shadow MD - Medium elevation (Bootstrap default)
87
- $box-shadow:
88
- 0px 4px 8px -2px shadow-rgba(0.10),
89
- 0px 2px 4px -2px shadow-rgba(0.06);
90
-
91
- // Shadow LG - Large elevation
92
- $box-shadow-lg:
93
- 0px 4px 6px -2px shadow-rgba(0.03),
94
- 0px 20px 24px -4px shadow-rgba(0.08);
95
-
96
- // Shadow XL - Extra large elevation
97
- $box-shadow-xl:
98
- 0px 8px 8px -4px shadow-rgba(0.03),
99
- 0px 24px 48px -12px shadow-rgba(0.08);
100
-
101
- // Shadow 2XL - Very large elevation
102
- $box-shadow-2xl:
103
- 0px 24px 48px -12px shadow-rgba(0.18);
104
-
105
- // Shadow 3XL - Maximum elevation
106
- $box-shadow-3xl:
107
- 0px 32px 64px -12px shadow-rgba(0.14);
108
-
109
- // Shadow Inset - For form controls
110
- $box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
111
-
112
- // ============================================
113
- // BACKDROP BLUR
114
- // ============================================
115
-
116
- $backdrop-blur-sm: blur(8px);
117
- $backdrop-blur-md: blur(16px);
118
- $backdrop-blur-lg: blur(24px);
119
- $backdrop-blur-xl: blur(40px);
120
-
121
- // ============================================
122
- // UTILITY CLASSES GENERATION
123
- // ============================================
124
-
125
- // ============================================
126
- // UTILITY CLASSES GENERATION
127
- // ============================================
128
-
129
- // Elevation shadow utilities
130
- $utilities: (
131
- "shadow-xs": (
132
- property: box-shadow,
133
- class: shadow-xs,
134
- values: (
135
- null: $box-shadow-xs
136
- )
137
- ),
138
- "shadow-sm": (
139
- property: box-shadow,
140
- class: shadow-sm,
141
- values: (
142
- null: $box-shadow-sm
143
- )
144
- ),
145
- "shadow-md": (
146
- property: box-shadow,
147
- class: shadow-md,
148
- values: (
149
- null: $box-shadow
150
- )
151
- ),
152
- "shadow-lg": (
153
- property: box-shadow,
154
- class: shadow-lg,
155
- values: (
156
- null: $box-shadow-lg
157
- )
158
- ),
159
- "shadow-xl": (
160
- property: box-shadow,
161
- class: shadow-xl,
162
- values: (
163
- null: $box-shadow-xl
164
- )
165
- ),
166
- "shadow-2xl": (
167
- property: box-shadow,
168
- class: shadow-2xl,
169
- values: (
170
- null: $box-shadow-2xl
171
- )
172
- ),
173
- "shadow-3xl": (
174
- property: box-shadow,
175
- class: shadow-3xl,
176
- values: (
177
- null: $box-shadow-3xl
178
- )
179
- ),
180
- // Backdrop blur utilities
181
- "backdrop-blur-sm": (
182
- property: backdrop-filter,
183
- class: backdrop-blur-sm,
184
- values: (
185
- null: $backdrop-blur-sm
186
- )
187
- ),
188
- "backdrop-blur-md": (
189
- property: backdrop-filter,
190
- class: backdrop-blur-md,
191
- values: (
192
- null: $backdrop-blur-md
193
- )
194
- ),
195
- "backdrop-blur-lg": (
196
- property: backdrop-filter,
197
- class: backdrop-blur-lg,
198
- values: (
199
- null: $backdrop-blur-lg
200
- )
201
- ),
202
- "backdrop-blur-xl": (
203
- property: backdrop-filter,
204
- class: backdrop-blur-xl,
205
- values: (
206
- null: $backdrop-blur-xl
207
- )
208
- )
209
- );
210
-
211
- // Generate utility classes
212
- @each $key, $utility in $utilities {
213
- $property: map.get($utility, property);
214
- $class: map.get($utility, class);
215
- $values: map.get($utility, values);
216
-
217
- @each $value-key, $value in $values {
218
- @if $value-key == null {
219
- .#{$class} {
220
- #{$property}: $value !important;
221
- }
222
- } @else {
223
- .#{$class}-#{$value-key} {
224
- #{$property}: $value !important;
225
- }
226
- }
227
- }
1
+ // Bootstrap 5.3 - Effects & Utilities
2
+ // Elevation shadows and backdrop blur utilities using SDGA design tokens
3
+
4
+ @use 'sass:map';
5
+
6
+ // ============================================
7
+ // EFFECTS CONFIGURATION
8
+ // ============================================
9
+
10
+ // Global ripple effect toggle
11
+ $enable-ripple-effect: true !default;
12
+
13
+ // Ripple effect variables
14
+ $ripple-size: 200% !default; // Percentage-based size relative to element
15
+ $ripple-hover-opacity: 0.08 !default;
16
+ $ripple-active-opacity: 0.08 !default;
17
+ $ripple-focus-opacity: 0.08 !default;
18
+ $ripple-transition-duration: 0.2s !default;
19
+ $ripple-transition-timing: ease-out !default;
20
+
21
+ // ============================================
22
+ // RIPPLE EFFECT MIXIN
23
+ // ============================================
24
+
25
+ @mixin ripple-effect(
26
+ $size: $ripple-size,
27
+ $hover-opacity: $ripple-hover-opacity,
28
+ $active-opacity: $ripple-active-opacity,
29
+ $focus-opacity: $ripple-focus-opacity,
30
+ $duration: $ripple-transition-duration,
31
+ $timing: $ripple-transition-timing
32
+ ) {
33
+ position: relative;
34
+ overflow: visible;
35
+
36
+ // Ripple background element
37
+ &::before {
38
+ content: '';
39
+ position: absolute;
40
+ top: 50%;
41
+ left: 50%;
42
+ width: $size;
43
+ height: $size;
44
+ background-color: currentColor;
45
+ border-radius: 50%;
46
+ transform: translate(-50%, -50%) scale(0);
47
+ opacity: 0;
48
+ pointer-events: none;
49
+ transition: transform $duration $timing, opacity $duration $timing;
50
+ }
51
+
52
+ // Ripple on hover (subtle)
53
+ &:hover:not(:disabled):not([readonly])::before {
54
+ transform: translate(-50%, -50%) scale(1);
55
+ opacity: $hover-opacity;
56
+ }
57
+
58
+ // Ripple on active/click (prominent)
59
+ &:active:not(:disabled):not([readonly])::before {
60
+ transform: translate(-50%, -50%) scale(1);
61
+ opacity: $active-opacity;
62
+ transition: transform ($duration * 0.5) $timing, opacity ($duration * 0.5) $timing;
63
+ }
64
+
65
+ // Ripple on focus
66
+ &:focus:not(:disabled):not([readonly])::before {
67
+ transform: translate(-50%, -50%) scale(1);
68
+ opacity: $focus-opacity;
69
+ }
70
+ }
71
+
72
+ // ============================================
73
+ // ELEVATION SHADOWS
74
+ // ============================================
75
+
76
+ // Shadow XS - Subtle elevation
77
+ $box-shadow-xs:
78
+ 0px 1px 2px 0px shadow-rgba(0.05),
79
+ 0px 1px 3px 0px shadow-rgba(0.10);
80
+
81
+ // Shadow SM - Small elevation
82
+ $box-shadow-sm:
83
+ 0px 1px 2px 0px shadow-rgba(0.06),
84
+ 0px 4px 8px -2px shadow-rgba(0.10);
85
+
86
+ // Shadow MD - Medium elevation (Bootstrap default)
87
+ $box-shadow:
88
+ 0px 4px 8px -2px shadow-rgba(0.10),
89
+ 0px 2px 4px -2px shadow-rgba(0.06);
90
+
91
+ // Shadow LG - Large elevation
92
+ $box-shadow-lg:
93
+ 0px 4px 6px -2px shadow-rgba(0.03),
94
+ 0px 20px 24px -4px shadow-rgba(0.08);
95
+
96
+ // Shadow XL - Extra large elevation
97
+ $box-shadow-xl:
98
+ 0px 8px 8px -4px shadow-rgba(0.03),
99
+ 0px 24px 48px -12px shadow-rgba(0.08);
100
+
101
+ // Shadow 2XL - Very large elevation
102
+ $box-shadow-2xl:
103
+ 0px 24px 48px -12px shadow-rgba(0.18);
104
+
105
+ // Shadow 3XL - Maximum elevation
106
+ $box-shadow-3xl:
107
+ 0px 32px 64px -12px shadow-rgba(0.14);
108
+
109
+ // Shadow Inset - For form controls
110
+ $box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
111
+
112
+ // ============================================
113
+ // BACKDROP BLUR
114
+ // ============================================
115
+
116
+ $backdrop-blur-sm: blur(8px);
117
+ $backdrop-blur-md: blur(16px);
118
+ $backdrop-blur-lg: blur(24px);
119
+ $backdrop-blur-xl: blur(40px);
120
+
121
+ // ============================================
122
+ // UTILITY CLASSES GENERATION
123
+ // ============================================
124
+
125
+ // ============================================
126
+ // UTILITY CLASSES GENERATION
127
+ // ============================================
128
+
129
+ // Elevation shadow utilities
130
+ $utilities: (
131
+ "shadow-xs": (
132
+ property: box-shadow,
133
+ class: shadow-xs,
134
+ values: (
135
+ null: $box-shadow-xs
136
+ )
137
+ ),
138
+ "shadow-sm": (
139
+ property: box-shadow,
140
+ class: shadow-sm,
141
+ values: (
142
+ null: $box-shadow-sm
143
+ )
144
+ ),
145
+ "shadow-md": (
146
+ property: box-shadow,
147
+ class: shadow-md,
148
+ values: (
149
+ null: $box-shadow
150
+ )
151
+ ),
152
+ "shadow-lg": (
153
+ property: box-shadow,
154
+ class: shadow-lg,
155
+ values: (
156
+ null: $box-shadow-lg
157
+ )
158
+ ),
159
+ "shadow-xl": (
160
+ property: box-shadow,
161
+ class: shadow-xl,
162
+ values: (
163
+ null: $box-shadow-xl
164
+ )
165
+ ),
166
+ "shadow-2xl": (
167
+ property: box-shadow,
168
+ class: shadow-2xl,
169
+ values: (
170
+ null: $box-shadow-2xl
171
+ )
172
+ ),
173
+ "shadow-3xl": (
174
+ property: box-shadow,
175
+ class: shadow-3xl,
176
+ values: (
177
+ null: $box-shadow-3xl
178
+ )
179
+ ),
180
+ // Backdrop blur utilities
181
+ "backdrop-blur-sm": (
182
+ property: backdrop-filter,
183
+ class: backdrop-blur-sm,
184
+ values: (
185
+ null: $backdrop-blur-sm
186
+ )
187
+ ),
188
+ "backdrop-blur-md": (
189
+ property: backdrop-filter,
190
+ class: backdrop-blur-md,
191
+ values: (
192
+ null: $backdrop-blur-md
193
+ )
194
+ ),
195
+ "backdrop-blur-lg": (
196
+ property: backdrop-filter,
197
+ class: backdrop-blur-lg,
198
+ values: (
199
+ null: $backdrop-blur-lg
200
+ )
201
+ ),
202
+ "backdrop-blur-xl": (
203
+ property: backdrop-filter,
204
+ class: backdrop-blur-xl,
205
+ values: (
206
+ null: $backdrop-blur-xl
207
+ )
208
+ )
209
+ );
210
+
211
+ // Generate utility classes
212
+ @each $key, $utility in $utilities {
213
+ $property: map.get($utility, property);
214
+ $class: map.get($utility, class);
215
+ $values: map.get($utility, values);
216
+
217
+ @each $value-key, $value in $values {
218
+ @if $value-key == null {
219
+ .#{$class} {
220
+ #{$property}: $value !important;
221
+ }
222
+ } @else {
223
+ .#{$class}-#{$value-key} {
224
+ #{$property}: $value !important;
225
+ }
226
+ }
227
+ }
228
228
  }
@@ -1,78 +1,78 @@
1
- // Bootstrap 5.3 - Border Radius Variables & Utilities
2
- // Extended radius system with utility classes
3
-
4
- // ============================================
5
- // BORDER RADIUS SCALE
6
- // ============================================
7
-
8
- // Extended radius scale
9
- $radius-none: 0rem; // 0px
10
- $radius-xs: 0.125rem; // 2px
11
- $radius-sm: 0.25rem; // 4px
12
- $radius-md: 0.5rem; // 8px
13
- $radius-lg: 1rem; // 16px
14
- $radius-xl: 1.5rem; // 24px
15
- $radius-full: 9999px; // Full round
16
-
17
- // Radius scale map
18
- $radius-scale: (
19
- none: $radius-none,
20
- xs: $radius-xs,
21
- sm: $radius-sm,
22
- md: $radius-md,
23
- lg: $radius-lg,
24
- xl: $radius-xl,
25
- full: $radius-full
26
- );
27
-
28
- // ============================================
29
- // UTILITY CLASSES GENERATION
30
- // ============================================
31
-
32
- // Generate border-radius utilities
33
- @each $name, $value in $radius-scale {
34
- .radius-#{$name} {
35
- border-radius: $value !important;
36
- }
37
-
38
- // Top corners
39
- .radius-t-#{$name} {
40
- border-top-left-radius: $value !important;
41
- border-top-right-radius: $value !important;
42
- }
43
-
44
- // Bottom corners
45
- .radius-b-#{$name} {
46
- border-bottom-left-radius: $value !important;
47
- border-bottom-right-radius: $value !important;
48
- }
49
-
50
- // Left corners
51
- .radius-l-#{$name} {
52
- border-top-left-radius: $value !important;
53
- border-bottom-left-radius: $value !important;
54
- }
55
-
56
- // Right corners
57
- .radius-r-#{$name} {
58
- border-top-right-radius: $value !important;
59
- border-bottom-right-radius: $value !important;
60
- }
61
-
62
- // Individual corners
63
- .radius-tl-#{$name} {
64
- border-top-left-radius: $value !important;
65
- }
66
-
67
- .radius-tr-#{$name} {
68
- border-top-right-radius: $value !important;
69
- }
70
-
71
- .radius-bl-#{$name} {
72
- border-bottom-left-radius: $value !important;
73
- }
74
-
75
- .radius-br-#{$name} {
76
- border-bottom-right-radius: $value !important;
77
- }
78
- }
1
+ // Bootstrap 5.3 - Border Radius Variables & Utilities
2
+ // Extended radius system with utility classes
3
+
4
+ // ============================================
5
+ // BORDER RADIUS SCALE
6
+ // ============================================
7
+
8
+ // Extended radius scale
9
+ $radius-none: 0rem; // 0px
10
+ $radius-xs: 0.125rem; // 2px
11
+ $radius-sm: 0.25rem; // 4px
12
+ $radius-md: 0.5rem; // 8px
13
+ $radius-lg: 1rem; // 16px
14
+ $radius-xl: 1.5rem; // 24px
15
+ $radius-full: 9999px; // Full round
16
+
17
+ // Radius scale map
18
+ $radius-scale: (
19
+ none: $radius-none,
20
+ xs: $radius-xs,
21
+ sm: $radius-sm,
22
+ md: $radius-md,
23
+ lg: $radius-lg,
24
+ xl: $radius-xl,
25
+ full: $radius-full
26
+ );
27
+
28
+ // ============================================
29
+ // UTILITY CLASSES GENERATION
30
+ // ============================================
31
+
32
+ // Generate border-radius utilities
33
+ @each $name, $value in $radius-scale {
34
+ .radius-#{$name} {
35
+ border-radius: $value !important;
36
+ }
37
+
38
+ // Top corners
39
+ .radius-t-#{$name} {
40
+ border-top-left-radius: $value !important;
41
+ border-top-right-radius: $value !important;
42
+ }
43
+
44
+ // Bottom corners
45
+ .radius-b-#{$name} {
46
+ border-bottom-left-radius: $value !important;
47
+ border-bottom-right-radius: $value !important;
48
+ }
49
+
50
+ // Left corners
51
+ .radius-l-#{$name} {
52
+ border-top-left-radius: $value !important;
53
+ border-bottom-left-radius: $value !important;
54
+ }
55
+
56
+ // Right corners
57
+ .radius-r-#{$name} {
58
+ border-top-right-radius: $value !important;
59
+ border-bottom-right-radius: $value !important;
60
+ }
61
+
62
+ // Individual corners
63
+ .radius-tl-#{$name} {
64
+ border-top-left-radius: $value !important;
65
+ }
66
+
67
+ .radius-tr-#{$name} {
68
+ border-top-right-radius: $value !important;
69
+ }
70
+
71
+ .radius-bl-#{$name} {
72
+ border-bottom-left-radius: $value !important;
73
+ }
74
+
75
+ .radius-br-#{$name} {
76
+ border-bottom-right-radius: $value !important;
77
+ }
78
+ }