@vsn-ux/gaia-styles 0.6.0 → 0.6.2

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.
@@ -0,0 +1,341 @@
1
+ # Notification
2
+
3
+ ## Visual Structure
4
+
5
+ ```
6
+ ga-notification [--information|--success|--error|--warning]
7
+ ├── ga-notification__icon (optional)
8
+ ├── ga-notification__content
9
+ │ ├── ga-notification__heading (optional)
10
+ │ │ ├── ga-notification__title
11
+ │ │ └── ga-notification__title-actions (optional)
12
+ │ └── ga-notification__description
13
+ └── ga-notification__progress [--indeterminate] (optional)
14
+ └── ga-notification__progress-bar
15
+ ```
16
+
17
+ ## Elements Hierarchy
18
+
19
+ ### Core Block
20
+
21
+ - `ga-notification` - Main container for the entire notification component
22
+
23
+ ### Mandatory Elements
24
+
25
+ - `ga-notification__content` - Container for all text content within the notification
26
+ - `ga-notification__description` - The contents of the notification
27
+
28
+ ### Optional Elements
29
+
30
+ - `ga-notification__icon` - Icon displayed to enhance the visual meaning of the notification
31
+ - `ga-notification__heading` - Container that groups the title and action buttons
32
+ - `ga-notification__title` - The heading text of the notification
33
+ - `ga-notification__title-actions` - Container for action buttons displayed in the title area
34
+ - `ga-notification__progress` - Container for the progress bar, indicating the status of the notification
35
+ - `ga-notification__progress-bar` - The actual progress bar element, use css `width` to control the progress percentage value
36
+ - Dismiss button - Button to close/dismiss the notification
37
+
38
+ ### Modifiers
39
+
40
+ - `ga-notification--information` - Styles the notification with information colors
41
+ - `ga-notification--success` - Styles the notification with success colors
42
+ - `ga-notification--error` - Styles the notification with error colors
43
+ - `ga-notification--warning` - Styles the notification with warning colors
44
+ - `ga-notification__progress--indeterminate` - Styles the notification with indeterminate progress bar
45
+
46
+ ## Examples
47
+
48
+ ### Default
49
+
50
+ ```html
51
+ <div class="ga-notification">
52
+ <div class="ga-notification__content">
53
+ <p class="ga-notification__description">
54
+ This is an information notification message.
55
+ </p>
56
+ </div>
57
+ </div>
58
+ ```
59
+
60
+ ### With Title
61
+
62
+ ```html
63
+ <div class="ga-notification">
64
+ <div class="ga-notification__content">
65
+ <div class="ga-notification__heading">
66
+ <div class="ga-notification__title">Information notification</div>
67
+ </div>
68
+ <p class="ga-notification__description">
69
+ Here is some important information for you.
70
+ </p>
71
+ </div>
72
+ </div>
73
+ ```
74
+
75
+ ### With Icon
76
+
77
+ ```html
78
+ <div class="ga-notification">
79
+ <!-- icon: hand-coins, size=24, class="ga-notification__icon" -->
80
+ <div class="ga-notification__content">
81
+ <p class="ga-notification__description">
82
+ Here is some important information for you.
83
+ </p>
84
+ </div>
85
+ </div>
86
+ ```
87
+
88
+ ### With Icon & Title
89
+
90
+ ```html
91
+ <div class="ga-notification">
92
+ <!-- icon: hand-coins, size=24, class="ga-notification__icon" -->
93
+ <div class="ga-notification__content">
94
+ <div class="ga-notification__heading">
95
+ <div class="ga-notification__title">Information notification</div>
96
+ </div>
97
+ <p class="ga-notification__description">
98
+ Here is some important information for you.
99
+ </p>
100
+ </div>
101
+ </div>
102
+ ```
103
+
104
+ ### Success
105
+
106
+ ```html
107
+ <div class="ga-notification ga-notification--success">
108
+ <!-- icon: circle-check, size=24, class="ga-notification__icon" -->
109
+ <div class="ga-notification__content">
110
+ <div class="ga-notification__heading">
111
+ <div class="ga-notification__title">Success notification</div>
112
+ </div>
113
+ <p class="ga-notification__description">
114
+ The operation was completed successfully.
115
+ </p>
116
+ </div>
117
+ </div>
118
+ ```
119
+
120
+ ### Error
121
+
122
+ ```html
123
+ <div class="ga-notification ga-notification--error">
124
+ <!-- icon: octagon-alert, size=24, class="ga-notification__icon" -->
125
+ <div class="ga-notification__content">
126
+ <div class="ga-notification__heading">
127
+ <div class="ga-notification__title">Error notification</div>
128
+ </div>
129
+ <p class="ga-notification__description">
130
+ An error occurred while processing your request.
131
+ </p>
132
+ </div>
133
+ </div>
134
+ ```
135
+
136
+ ### Warning
137
+
138
+ ```html
139
+ <div class="ga-notification ga-notification--warning">
140
+ <!-- icon: triangle-alert, size=24, class="ga-notification__icon" -->
141
+ <div class="ga-notification__content">
142
+ <div class="ga-notification__heading">
143
+ <div class="ga-notification__title">Warning notification</div>
144
+ </div>
145
+ <p class="ga-notification__description">
146
+ Please review the following warning message.
147
+ </p>
148
+ </div>
149
+ </div>
150
+ ```
151
+
152
+ ### Information
153
+
154
+ ```html
155
+ <div class="ga-notification ga-notification--information">
156
+ <!-- icon: info, size=24, class="ga-notification__icon" -->
157
+ <div class="ga-notification__content">
158
+ <div class="ga-notification__heading">
159
+ <div class="ga-notification__title">Information notification</div>
160
+ </div>
161
+ <p class="ga-notification__description">
162
+ Here is some important information for you.
163
+ </p>
164
+ </div>
165
+ </div>
166
+ ```
167
+
168
+ ### With Icon & Dismiss
169
+
170
+ ```html
171
+ <div class="ga-notification">
172
+ <!-- icon: hand-coins, size=24, class="ga-notification__icon" -->
173
+ <div class="ga-notification__content">
174
+ <p class="ga-notification__description">
175
+ This is an information notification message.
176
+ </p>
177
+ </div>
178
+ <button type="button" class="ga-button ga-button--icon-only ga-button--ghost">
179
+ <!-- icon: x, size=24 -->
180
+ </button>
181
+ </div>
182
+ ```
183
+
184
+ ### With Content
185
+
186
+ ```html
187
+ <div class="ga-notification">
188
+ <!-- icon: hand-coins, size=24, class="ga-notification__icon" -->
189
+ <div class="ga-notification__content">
190
+ <div class="ga-notification__heading">
191
+ <div class="ga-notification__title">Title of the notification</div>
192
+ </div>
193
+ <div class="ga-notification__description">
194
+ <p>This is an information notification message.</p>
195
+ <div class="mt-4 flex flex-wrap gap-2">
196
+ <button type="button" class="ga-button ga-button--primary">
197
+ <!-- icon: check, size=24 -->
198
+ Approve
199
+ </button>
200
+ <button type="button" class="ga-button ga-button--secondary">
201
+ <!-- icon: octagon-x, size=24 -->
202
+ Reject
203
+ </button>
204
+ </div>
205
+ </div>
206
+ </div>
207
+ </div>
208
+ ```
209
+
210
+ ### With Title Actions
211
+
212
+ ```html
213
+ <div class="ga-notification">
214
+ <!-- icon: hand-coins, size=24, class="ga-notification__icon" -->
215
+ <div class="ga-notification__content">
216
+ <div class="ga-notification__heading">
217
+ <div class="ga-notification__title">Title of the notification</div>
218
+ <div class="ga-notification__title-actions">
219
+ <button
220
+ type="button"
221
+ class="ga-button ga-button--icon-only ga-button--ghost"
222
+ >
223
+ <!-- icon: ellipsis, size=24 -->
224
+ </button>
225
+ <button
226
+ type="button"
227
+ class="ga-button ga-button--icon-only ga-button--ghost"
228
+ >
229
+ <!-- icon: bell-off, size=24 -->
230
+ </button>
231
+ <button
232
+ type="button"
233
+ class="ga-button ga-button--icon-only ga-button--ghost"
234
+ >
235
+ <!-- icon: chevrons-left-right-ellipsis, size=24 -->
236
+ </button>
237
+ </div>
238
+ </div>
239
+ <div class="ga-notification__description">
240
+ <p>This is an information notification message.</p>
241
+ </div>
242
+ </div>
243
+ </div>
244
+ ```
245
+
246
+ ### With Progress Bar
247
+
248
+ ```html
249
+ <div class="ga-notification">
250
+ <div class="ga-notification__content">
251
+ <p class="ga-notification__description">
252
+ This is an information notification message.
253
+ </p>
254
+ </div>
255
+ <div class="ga-notification__progress">
256
+ <div class="ga-notification__progress-bar" style="width: 35%"></div>
257
+ </div>
258
+ </div>
259
+ ```
260
+ ```html
261
+ <div class="ga-notification ga-notification--success">
262
+ <!-- icon: circle-check, size=24, class="ga-notification__icon" -->
263
+ <div class="ga-notification__content">
264
+ <div class="ga-notification__heading">
265
+ <div class="ga-notification__title">Success notification</div>
266
+ </div>
267
+ <p class="ga-notification__description">
268
+ The operation was completed successfully.
269
+ </p>
270
+ </div>
271
+ <div class="ga-notification__progress">
272
+ <div class="ga-notification__progress-bar" style="width: 35%"></div>
273
+ </div>
274
+ </div>
275
+ ```
276
+ ```html
277
+ <div class="ga-notification ga-notification--error">
278
+ <!-- icon: octagon-alert, size=24, class="ga-notification__icon" -->
279
+ <div class="ga-notification__content">
280
+ <div class="ga-notification__heading">
281
+ <div class="ga-notification__title">Error notification</div>
282
+ </div>
283
+ <p class="ga-notification__description">
284
+ An error occurred while processing your request.
285
+ </p>
286
+ </div>
287
+ <div class="ga-notification__progress">
288
+ <div class="ga-notification__progress-bar" style="width: 35%"></div>
289
+ </div>
290
+ </div>
291
+ ```
292
+ ```html
293
+ <div class="ga-notification ga-notification--warning">
294
+ <!-- icon: triangle-alert, size=24, class="ga-notification__icon" -->
295
+ <div class="ga-notification__content">
296
+ <div class="ga-notification__heading">
297
+ <div class="ga-notification__title">Warning notification</div>
298
+ </div>
299
+ <p class="ga-notification__description">
300
+ Please review the following warning message.
301
+ </p>
302
+ </div>
303
+ <div class="ga-notification__progress">
304
+ <div class="ga-notification__progress-bar" style="width: 35%"></div>
305
+ </div>
306
+ </div>
307
+ ```
308
+ ```html
309
+ <div class="ga-notification ga-notification--information">
310
+ <!-- icon: info, size=24, class="ga-notification__icon" -->
311
+ <div class="ga-notification__content">
312
+ <div class="ga-notification__heading">
313
+ <div class="ga-notification__title">Information notification</div>
314
+ </div>
315
+ <p class="ga-notification__description">
316
+ Here is some important information for you.
317
+ </p>
318
+ </div>
319
+ <div class="ga-notification__progress">
320
+ <div class="ga-notification__progress-bar" style="width: 35%"></div>
321
+ </div>
322
+ </div>
323
+ ```
324
+ ```html
325
+ <div class="ga-notification ga-notification--information">
326
+ <!-- icon: info, size=24, class="ga-notification__icon" -->
327
+ <div class="ga-notification__content">
328
+ <div class="ga-notification__heading">
329
+ <div class="ga-notification__title">Information notification</div>
330
+ </div>
331
+ <p class="ga-notification__description">
332
+ Here is some important information for you.
333
+ </p>
334
+ </div>
335
+ <div
336
+ class="ga-notification__progress ga-notification__progress--indeterminate"
337
+ >
338
+ <div class="ga-notification__progress-bar"></div>
339
+ </div>
340
+ </div>
341
+ ```
@@ -0,0 +1,87 @@
1
+ # Progress Bar
2
+
3
+ ## Visual Structure
4
+
5
+ ```
6
+ ga-progress [--success|--error|--indeterminate]
7
+ ├── ga-progress__label (optional)
8
+ ├── ga-progress__buffer
9
+ │ └── ga-progress__bar
10
+ └── ga-progress__helper (optional)
11
+ ```
12
+
13
+ ## Elements Hierarchy
14
+
15
+ ### Core Block
16
+
17
+ - `ga-progress` - Main container for the progress bar component
18
+
19
+ ### Mandatory Elements
20
+
21
+ - `ga-progress__buffer` - Background buffer for the progress bar
22
+ - `ga-progress__bar` - Actual progress indicator
23
+
24
+ ### Optional Elements
25
+
26
+ - `ga-progress__label` - Label for the progress bar
27
+ - `ga-progress__helper` - Helper text providing additional context
28
+
29
+ ### Modifiers
30
+
31
+ - `ga-progress--success` - Indicates a successful operation
32
+ - `ga-progress--error` - Indicates an error or failure
33
+ - `ga-progress--indeterminate` - Represents an ongoing process without a defined end
34
+
35
+ ## Examples
36
+
37
+ ### Default
38
+
39
+ ```html
40
+ <div class="ga-progress w-40">
41
+ <div class="ga-progress__label">Label</div>
42
+ <div class="ga-progress__buffer">
43
+ <div class="ga-progress__bar" style="width: 40%"></div>
44
+ </div>
45
+ <div class="ga-progress__helper">Helper text</div>
46
+ </div>
47
+ ```
48
+
49
+ ### Success
50
+
51
+ ```html
52
+ <div class="ga-progress ga-progress--success w-40">
53
+ <div class="ga-progress__label">Label</div>
54
+ <div class="ga-progress__buffer">
55
+ <div class="ga-progress__bar" style="width: 40%"></div>
56
+ </div>
57
+ <div class="ga-progress__helper">
58
+ <!-- icon: circle-check, size=16, class="ga-icon" -->
59
+ Helper text
60
+ </div>
61
+ </div>
62
+ ```
63
+
64
+ ### Error
65
+
66
+ ```html
67
+ <div class="ga-progress ga-progress--error w-40">
68
+ <div class="ga-progress__label">Label</div>
69
+ <div class="ga-progress__buffer">
70
+ <div class="ga-progress__bar" style="width: 40%"></div>
71
+ </div>
72
+ <div class="ga-progress__helper">
73
+ <!-- icon: octagon-alert, size=16, class="ga-icon" -->
74
+ Helper text
75
+ </div>
76
+ </div>
77
+ ```
78
+
79
+ ### Indeterminate
80
+
81
+ ```html
82
+ <div class="ga-progress ga-progress--indeterminate w-40">
83
+ <div class="ga-progress__label">Label</div>
84
+ <div class="ga-progress__buffer"><div class="ga-progress__bar"></div></div>
85
+ <div class="ga-progress__helper">Helper text</div>
86
+ </div>
87
+ ```
@@ -0,0 +1,217 @@
1
+ # Progress Indicator
2
+
3
+ A component for displaying multi-step progress, such as wizards, checkout flows, or onboarding processes.
4
+
5
+ ## Visual Structure
6
+
7
+ ```
8
+ ga-progress-indicator [--vertical|--horizontal]
9
+ ├── ga-progress-indicator__item [--completed|--current|--incomplete|--error|--disabled]
10
+ │ ├── ga-progress-indicator__indicator
11
+ │ │ ├── ga-icon
12
+ │ │ └── ga-progress-indicator__current-dot (optional, for current state)
13
+ │ └── ga-progress-indicator__content
14
+ │ ├── ga-progress-indicator__label
15
+ │ │ ├── ga-progress-indicator__label-text
16
+ │ │ └── ga-progress-indicator__label-state (optional)
17
+ │ └── ga-progress-indicator__description (optional)
18
+ ├── ga-progress-indicator__item
19
+ └── ...
20
+ ```
21
+
22
+ ## Elements Hierarchy
23
+
24
+ ### Core Block
25
+
26
+ - `ga-progress-indicator` - Main container for the progress indicator component
27
+
28
+ ### Mandatory Elements
29
+
30
+ - `ga-progress-indicator__item` - Individual step item (use `<button>` for clickable steps). The border-top/border-left acts as the connector line.
31
+ - `ga-progress-indicator__indicator` - Icon container (positioned to the left of content)
32
+ - `ga-progress-indicator__content` - Container for label and description (aligned vertically)
33
+ - `ga-progress-indicator__label` - Label wrapper
34
+ - `ga-progress-indicator__label-text` - The text content of the step label
35
+
36
+ ### Optional Elements
37
+
38
+ - `ga-progress-indicator__current-dot` - Small dot inside the indicator for current state
39
+ - `ga-progress-indicator__label-state` - Additional text for the label (e.g., "(optional)")
40
+ - `ga-progress-indicator__description` - Helper text below the label (aligned with label, not icon)
41
+
42
+ ### Block Modifiers
43
+
44
+ - `ga-progress-indicator--vertical` - Arranges items in a vertical column (border-left as connector)
45
+ - `ga-progress-indicator--horizontal` - Arranges items in a horizontal row (border-top as connector)
46
+
47
+ ### Item State Modifiers
48
+
49
+ - `ga-progress-indicator__item--completed` - Step has been completed. Use `CircleCheckBigIcon` (size 22).
50
+ - `ga-progress-indicator__item--current` - Currently active step. Use `CircleDashedIcon` (size 22) with `ga-progress-indicator__current-dot` inside.
51
+ - `ga-progress-indicator__item--incomplete` - Step not yet reached. Use `CircleDashedIcon` (size 22).
52
+ - `ga-progress-indicator__item--error` - Step has an error. Use `OctagonAlertIcon` (size 22).
53
+ - `ga-progress-indicator__item--disabled` - Step is disabled/non-interactive. Use `CircleDashedIcon` (size 22).
54
+
55
+ ## Horizontal
56
+
57
+ ```html
58
+ <div class="ga-progress-indicator ga-progress-indicator--horizontal w-250">
59
+ <button
60
+ class="ga-progress-indicator__item ga-progress-indicator__item--completed"
61
+ >
62
+ <div class="ga-progress-indicator__indicator">
63
+ <!-- icon: circle-check-big, size=22, class="ga-icon" -->
64
+ </div>
65
+ <div class="ga-progress-indicator__content">
66
+ <span class="ga-progress-indicator__label">
67
+ <span class="ga-progress-indicator__label-text">Account setup</span>
68
+ </span>
69
+ </div>
70
+ </button>
71
+ <button
72
+ class="ga-progress-indicator__item ga-progress-indicator__item--current"
73
+ >
74
+ <div class="ga-progress-indicator__indicator">
75
+ <!-- icon: circle-dashed, size=22, class="ga-icon" -->
76
+ <span class="ga-progress-indicator__current-dot"></span>
77
+ </div>
78
+ <div class="ga-progress-indicator__content">
79
+ <span class="ga-progress-indicator__label">
80
+ <span class="ga-progress-indicator__label-text">Personal info</span>
81
+ </span>
82
+ <span class="ga-progress-indicator__description">
83
+ Provide your personal details.
84
+ </span>
85
+ </div>
86
+ </button>
87
+ <button
88
+ class="ga-progress-indicator__item ga-progress-indicator__item--incomplete"
89
+ >
90
+ <div class="ga-progress-indicator__indicator">
91
+ <!-- icon: circle-dashed, size=22, class="ga-icon" -->
92
+ </div>
93
+ <div class="ga-progress-indicator__content">
94
+ <span class="ga-progress-indicator__label">
95
+ <span class="ga-progress-indicator__label-text">Preferences</span>
96
+ <span class="ga-progress-indicator__label-state">(optional)</span>
97
+ </span>
98
+ <span class="ga-progress-indicator__description">
99
+ Set your notification preferences.
100
+ </span>
101
+ </div>
102
+ </button>
103
+ <button
104
+ class="ga-progress-indicator__item ga-progress-indicator__item--error"
105
+ >
106
+ <div class="ga-progress-indicator__indicator">
107
+ <!-- icon: octagon-alert, size=22, class="ga-icon" -->
108
+ </div>
109
+ <div class="ga-progress-indicator__content">
110
+ <span class="ga-progress-indicator__label">
111
+ <span class="ga-progress-indicator__label-text">Verification</span>
112
+ </span>
113
+ <span class="ga-progress-indicator__description">
114
+ Identity verification failed.
115
+ </span>
116
+ </div>
117
+ </button>
118
+ <button
119
+ class="ga-progress-indicator__item ga-progress-indicator__item--disabled"
120
+ disabled=""
121
+ >
122
+ <div class="ga-progress-indicator__indicator">
123
+ <!-- icon: circle-dashed, size=22, class="ga-icon" -->
124
+ </div>
125
+ <div class="ga-progress-indicator__content">
126
+ <span class="ga-progress-indicator__label">
127
+ <span class="ga-progress-indicator__label-text">Confirmation</span>
128
+ </span>
129
+ <span class="ga-progress-indicator__description">
130
+ Finalize your registration.
131
+ </span>
132
+ </div>
133
+ </button>
134
+ </div>
135
+ ```
136
+
137
+ ## Vertical
138
+
139
+ ```html
140
+ <div class="ga-progress-indicator ga-progress-indicator--vertical w-60">
141
+ <button
142
+ class="ga-progress-indicator__item ga-progress-indicator__item--completed"
143
+ >
144
+ <div class="ga-progress-indicator__indicator">
145
+ <!-- icon: circle-check-big, size=22, class="ga-icon" -->
146
+ </div>
147
+ <div class="ga-progress-indicator__content">
148
+ <span class="ga-progress-indicator__label">
149
+ <span class="ga-progress-indicator__label-text">Account setup</span>
150
+ </span>
151
+ </div>
152
+ </button>
153
+ <button
154
+ class="ga-progress-indicator__item ga-progress-indicator__item--current"
155
+ >
156
+ <div class="ga-progress-indicator__indicator">
157
+ <!-- icon: circle-dashed, size=22, class="ga-icon" -->
158
+ <span class="ga-progress-indicator__current-dot"></span>
159
+ </div>
160
+ <div class="ga-progress-indicator__content">
161
+ <span class="ga-progress-indicator__label">
162
+ <span class="ga-progress-indicator__label-text">Personal info</span>
163
+ </span>
164
+ <span class="ga-progress-indicator__description">
165
+ Provide your personal details.
166
+ </span>
167
+ </div>
168
+ </button>
169
+ <button
170
+ class="ga-progress-indicator__item ga-progress-indicator__item--incomplete"
171
+ >
172
+ <div class="ga-progress-indicator__indicator">
173
+ <!-- icon: circle-dashed, size=22, class="ga-icon" -->
174
+ </div>
175
+ <div class="ga-progress-indicator__content">
176
+ <span class="ga-progress-indicator__label">
177
+ <span class="ga-progress-indicator__label-text">Preferences</span>
178
+ <span class="ga-progress-indicator__label-state">(optional)</span>
179
+ </span>
180
+ <span class="ga-progress-indicator__description">
181
+ Set your notification preferences.
182
+ </span>
183
+ </div>
184
+ </button>
185
+ <button
186
+ class="ga-progress-indicator__item ga-progress-indicator__item--error"
187
+ >
188
+ <div class="ga-progress-indicator__indicator">
189
+ <!-- icon: octagon-alert, size=22, class="ga-icon" -->
190
+ </div>
191
+ <div class="ga-progress-indicator__content">
192
+ <span class="ga-progress-indicator__label">
193
+ <span class="ga-progress-indicator__label-text">Verification</span>
194
+ </span>
195
+ <span class="ga-progress-indicator__description">
196
+ Identity verification failed.
197
+ </span>
198
+ </div>
199
+ </button>
200
+ <button
201
+ class="ga-progress-indicator__item ga-progress-indicator__item--disabled"
202
+ disabled=""
203
+ >
204
+ <div class="ga-progress-indicator__indicator">
205
+ <!-- icon: circle-dashed, size=22, class="ga-icon" -->
206
+ </div>
207
+ <div class="ga-progress-indicator__content">
208
+ <span class="ga-progress-indicator__label">
209
+ <span class="ga-progress-indicator__label-text">Confirmation</span>
210
+ </span>
211
+ <span class="ga-progress-indicator__description">
212
+ Finalize your registration.
213
+ </span>
214
+ </div>
215
+ </button>
216
+ </div>
217
+ ```