sdga-ui 1.0.11 → 1.0.13
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.
- package/css/dga-ui.css +503 -71
- package/css/dga-ui.css.map +1 -1
- package/package.json +1 -1
- package/theme/components/_forms-form-control.scss +14 -9
- package/theme/components/_forms-form-select.scss +48 -0
- package/theme/components/_forms.scss +1 -1
- package/theme/components/_tooltips.scss +10 -14
- package/theme/config/_typography.scss +1 -1
- package/theme/customizations/_forms-form-control.scss +214 -38
- package/theme/customizations/_forms-form-select.scss +143 -0
- package/theme/customizations/_forms.scss +1 -0
- package/theme/customizations/_global.scss +10 -0
- package/theme/customizations/_progress-indicator.scss +245 -0
- package/theme/dga-ui.scss +1 -0
- package/theme/components/_forms-select.scss +0 -47
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
// Bootstrap Progress Indicator Component
|
|
2
|
+
.progress-indicator {
|
|
3
|
+
position: relative;
|
|
4
|
+
|
|
5
|
+
.step {
|
|
6
|
+
flex: 1;
|
|
7
|
+
text-align: start;
|
|
8
|
+
position: relative;
|
|
9
|
+
|
|
10
|
+
// Default line style (color and z-index)
|
|
11
|
+
// Content and position are handled by layout classes (.horizontal/.vertical)
|
|
12
|
+
&::after {
|
|
13
|
+
background-color: $gray-300;
|
|
14
|
+
z-index: 1;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&.hover {
|
|
18
|
+
cursor: pointer; // Make entire step clickable/hoverable
|
|
19
|
+
|
|
20
|
+
&.completed:hover {
|
|
21
|
+
.step-circle {
|
|
22
|
+
background-color: $primary-700;
|
|
23
|
+
border-color: $primary-700;
|
|
24
|
+
color: white;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&::after {
|
|
28
|
+
background-color: $primary-700;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&.upcoming:hover {
|
|
34
|
+
.step-circle {
|
|
35
|
+
border-color: $gray-400;
|
|
36
|
+
color: $gray-400;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&::after {
|
|
40
|
+
background-color: $gray-400;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
outline: none; // Remove default browser outline
|
|
46
|
+
|
|
47
|
+
// Base Circle Styles
|
|
48
|
+
.step-circle {
|
|
49
|
+
width: 2.25rem;
|
|
50
|
+
height: 2.25rem;
|
|
51
|
+
border-radius: 50%;
|
|
52
|
+
border: 2px solid $gray-300;
|
|
53
|
+
display: flex;
|
|
54
|
+
align-items: center;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
background-color: $white;
|
|
57
|
+
color: $gray-300;
|
|
58
|
+
font-weight: $font-weight-semibold;
|
|
59
|
+
position: relative;
|
|
60
|
+
z-index: 2;
|
|
61
|
+
transition: all 0.3s ease;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.step-content {
|
|
65
|
+
transition: all 0.2s ease;
|
|
66
|
+
display: inline-block; // Allow border to hug content
|
|
67
|
+
border: 2px solid transparent; // Reserve space for border to avoid jump
|
|
68
|
+
padding-block: 4px 8px;
|
|
69
|
+
padding-inline-end: 4px;
|
|
70
|
+
border-radius: $radius-sm;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// State: Upcoming
|
|
74
|
+
&.upcoming {
|
|
75
|
+
.step-circle {
|
|
76
|
+
border-color: $gray-300;
|
|
77
|
+
background-color: $white;
|
|
78
|
+
color: $gray-300;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.step-title {
|
|
82
|
+
color: $gray-300;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.step-description {
|
|
86
|
+
color: $gray-500;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// State: Active
|
|
91
|
+
&.active {
|
|
92
|
+
.step-circle {
|
|
93
|
+
border-color: $primary;
|
|
94
|
+
background-color: $white;
|
|
95
|
+
color: $primary;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.step-title {
|
|
99
|
+
color: $primary;
|
|
100
|
+
font-weight: $font-weight-bold;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.step-description {
|
|
104
|
+
color: $gray-700;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// State: Completed
|
|
109
|
+
&.completed {
|
|
110
|
+
.step-circle {
|
|
111
|
+
background-color: $primary;
|
|
112
|
+
border-color: $primary;
|
|
113
|
+
color: $white;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.step-title {
|
|
117
|
+
color: $primary;
|
|
118
|
+
font-weight: $font-weight-semibold;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.step-description {
|
|
122
|
+
color: $gray-300;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
&::after {
|
|
126
|
+
background-color: $primary;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Focus States - Placed last to override other states
|
|
131
|
+
&:focus-visible,
|
|
132
|
+
&.focused,
|
|
133
|
+
&:focus {
|
|
134
|
+
outline: none !important;
|
|
135
|
+
|
|
136
|
+
.step-circle {
|
|
137
|
+
// Create a ring effect: white gap then dark ring
|
|
138
|
+
// This overrides any state-specific shadows due to cascade order
|
|
139
|
+
box-shadow: 0 0 0 2px $white, 0 0 0 5px $dark;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.step-content {
|
|
143
|
+
border: 2px solid $dark;
|
|
144
|
+
background-color: rgba($white, 0.5);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// // Pulse animation for active state
|
|
150
|
+
// @keyframes pulse {
|
|
151
|
+
// 0% {
|
|
152
|
+
// box-shadow: 0 0 0 0 rgba($primary, 0.4);
|
|
153
|
+
// }
|
|
154
|
+
// 70% {
|
|
155
|
+
// box-shadow: 0 0 0 8px rgba($primary, 0);
|
|
156
|
+
// }
|
|
157
|
+
// 100% {
|
|
158
|
+
// box-shadow: 0 0 0 0 rgba($primary, 0);
|
|
159
|
+
// }
|
|
160
|
+
// }
|
|
161
|
+
|
|
162
|
+
// Horizontal layout (default)
|
|
163
|
+
&.horizontal {
|
|
164
|
+
.progress-steps {
|
|
165
|
+
display: flex;
|
|
166
|
+
flex-direction: row;
|
|
167
|
+
align-items: start;
|
|
168
|
+
flex-wrap: wrap;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.step {
|
|
172
|
+
display: flex;
|
|
173
|
+
flex-direction: column;
|
|
174
|
+
align-items: start;
|
|
175
|
+
text-align: start;
|
|
176
|
+
position: relative;
|
|
177
|
+
flex: 1;
|
|
178
|
+
max-width: 12.5rem;
|
|
179
|
+
max-height: 12.5rem;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.step-circle {
|
|
183
|
+
margin: 0 0 .75rem 0;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
.step:not(:last-child)::after {
|
|
188
|
+
content: '';
|
|
189
|
+
position: absolute;
|
|
190
|
+
top: 1.125rem;
|
|
191
|
+
inset-inline-start: 2.25rem;
|
|
192
|
+
inset-inline-end: 0;
|
|
193
|
+
height: .125rem;
|
|
194
|
+
// background-color: $gray-300; // Moved to base .step::after
|
|
195
|
+
// z-index: 1; // Moved to base .step::after
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
// Vertical layout
|
|
200
|
+
&.vertical {
|
|
201
|
+
.progress-steps {
|
|
202
|
+
display: flex;
|
|
203
|
+
flex-direction: column;
|
|
204
|
+
max-width: 18.75rem;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.step {
|
|
208
|
+
display: flex;
|
|
209
|
+
align-items: flex-start;
|
|
210
|
+
position: relative;
|
|
211
|
+
padding: 0 0 1.25rem 0;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.step-circle {
|
|
215
|
+
margin: 0 1rem 0 0;
|
|
216
|
+
flex-shrink: 0;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.step-content {
|
|
220
|
+
flex: 1;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.step:not(:last-child)::after {
|
|
224
|
+
content: '';
|
|
225
|
+
position: absolute;
|
|
226
|
+
top: 1.125rem;
|
|
227
|
+
left: calc(1.125rem - 1px);
|
|
228
|
+
bottom: 0px;
|
|
229
|
+
width: .125rem;
|
|
230
|
+
// background-color: $gray-300; // Moved to base .step::after
|
|
231
|
+
z-index: 0; // Vertical needs different z-index? No, usually fine, but verify.
|
|
232
|
+
// Vertical line z-index was 0 in original code
|
|
233
|
+
z-index: 0 !important; // Force 0 if needed or just set 0 here to override base 1
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
.step:last-child {
|
|
237
|
+
padding-bottom: 0;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
// Legacy class support
|
|
243
|
+
.progress-steps {
|
|
244
|
+
position: relative;
|
|
245
|
+
}
|
package/theme/dga-ui.scss
CHANGED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Bootstrap 5.3 - Form Select Variables
|
|
2
|
-
|
|
3
|
-
// ============================================
|
|
4
|
-
// FORM SELECT
|
|
5
|
-
// ============================================
|
|
6
|
-
|
|
7
|
-
$form-select-padding-y: $input-padding-y;
|
|
8
|
-
$form-select-padding-x: $input-padding-x;
|
|
9
|
-
$form-select-font-family: $input-font-family;
|
|
10
|
-
$form-select-font-size: $input-font-size;
|
|
11
|
-
$form-select-indicator-padding: 1rem;
|
|
12
|
-
$form-select-font-weight: $input-font-weight;
|
|
13
|
-
$form-select-line-height: $input-line-height;
|
|
14
|
-
$form-select-color: $input-color;
|
|
15
|
-
$form-select-bg: $input-bg;
|
|
16
|
-
$form-select-disabled-color: null;
|
|
17
|
-
$form-select-disabled-bg: $gray-200;
|
|
18
|
-
$form-select-disabled-border-color: $input-disabled-border-color;
|
|
19
|
-
$form-select-bg-position: right $form-select-padding-x center;
|
|
20
|
-
$form-select-bg-size: 16px 12px;
|
|
21
|
-
$form-select-indicator-color: $gray-800;
|
|
22
|
-
$form-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>");
|
|
23
|
-
|
|
24
|
-
$form-select-feedback-icon-padding-end: calc((1em + #{$form-select-padding-x * 2}) * 3 / 4 + #{$form-select-indicator-padding});
|
|
25
|
-
$form-select-feedback-icon-position: center right $form-select-indicator-padding;
|
|
26
|
-
$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half;
|
|
27
|
-
|
|
28
|
-
$form-select-border-width: $input-border-width;
|
|
29
|
-
$form-select-border-color: $input-border-color;
|
|
30
|
-
$form-select-border-radius: $input-border-radius;
|
|
31
|
-
$form-select-box-shadow: $input-box-shadow;
|
|
32
|
-
|
|
33
|
-
$form-select-focus-border-color: $input-focus-border-color;
|
|
34
|
-
$form-select-focus-width: $input-focus-width;
|
|
35
|
-
$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width rgba($primary, 0.25);
|
|
36
|
-
|
|
37
|
-
$form-select-padding-y-sm: $input-padding-y-sm;
|
|
38
|
-
$form-select-padding-x-sm: $input-padding-x-sm;
|
|
39
|
-
$form-select-font-size-sm: $input-font-size-sm;
|
|
40
|
-
$form-select-border-radius-sm: $input-border-radius-sm;
|
|
41
|
-
|
|
42
|
-
$form-select-padding-y-lg: $input-padding-y-lg;
|
|
43
|
-
$form-select-padding-x-lg: $input-padding-x-lg;
|
|
44
|
-
$form-select-font-size-lg: $input-font-size-lg;
|
|
45
|
-
$form-select-border-radius-lg: $input-border-radius-lg;
|
|
46
|
-
|
|
47
|
-
$form-select-transition: $input-transition;
|