@volverjs/style 0.1.9-beta.7 → 0.1.9-beta.9

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 (44) hide show
  1. package/dist/base.css +1 -1
  2. package/dist/components/vv-alert-group.css +1 -0
  3. package/dist/components/vv-alert.css +1 -1
  4. package/dist/components/vv-dialog.css +1 -1
  5. package/dist/components/vv-dropdown-option.css +1 -1
  6. package/dist/components/vv-input-text.css +1 -1
  7. package/dist/components/vv-select.css +1 -1
  8. package/dist/components/vv-textarea.css +1 -1
  9. package/dist/components.css +1 -1
  10. package/dist/export.css +1 -1
  11. package/dist/props/colors.css +1 -1
  12. package/dist/props/input.css +1 -1
  13. package/dist/props/sizing.css +1 -1
  14. package/dist/props/transitions.css +1 -1
  15. package/dist/props.css +1 -1
  16. package/dist/themes/dark/components.css +1 -1
  17. package/dist/themes/dark/volver.css +1 -1
  18. package/dist/utilities/colors.css +1 -1
  19. package/dist/utilities/sizing.css +1 -1
  20. package/dist/utilities.css +1 -1
  21. package/dist/volver.css +1 -1
  22. package/package.json +19 -19
  23. package/src/_config.scss +1 -1
  24. package/src/components/index.scss +1 -1
  25. package/src/components/{vv-toast.scss → vv-alert-group.scss} +2 -2
  26. package/src/props/transitions.scss +10 -0
  27. package/src/settings/_colors.scss +1 -1
  28. package/src/settings/_index.scss +1 -1
  29. package/src/settings/_input.scss +19 -19
  30. package/src/settings/_sizing.scss +4 -4
  31. package/src/settings/components/_vv-alert-group.scss +174 -0
  32. package/src/settings/components/_vv-alert.scss +297 -67
  33. package/src/settings/components/_vv-dialog.scss +3 -3
  34. package/src/settings/components/_vv-dropdown-option.scss +6 -2
  35. package/src/settings/components/_vv-input-text.scss +2 -2
  36. package/src/settings/components/_vv-select.scss +3 -1
  37. package/src/settings/components/_vv-textarea.scss +2 -2
  38. package/src/themes/dark/components/_vv-alert.scss +22 -0
  39. package/src/themes/dark/components/index.scss +1 -0
  40. package/src/themes/dark/settings/_index.scss +1 -0
  41. package/src/themes/dark/settings/components/_vv-alert.scss +94 -0
  42. package/src/tools/_mixins.scss +1 -1
  43. package/dist/components/vv-toast.css +0 -1
  44. package/src/settings/components/_vv-toast.scss +0 -259
@@ -1,22 +1,43 @@
1
1
  $vv-alert: (
2
- display: flex,
3
- min-width: 0,
4
- overflow: hidden,
5
- align-items: center,
6
- padding: var(--spacing-sm) var(--spacing-md),
2
+ --alert-duration: 3s,
7
3
  background-color: var(--color-surface-2),
4
+ box-shadow: var(--shadow-lg),
8
5
  border-color: var(--color-gray-lighten-4),
9
- border-width: var(--border),
10
- border-style: solid,
11
6
  border-radius: var(--rounded),
12
- position: relative,
7
+ border-style: solid,
8
+ border-width: var(--border),
9
+ display: flex,
10
+ flex-wrap: wrap,
11
+ align-items: center,
12
+ gap: var(--spacing-sm),
13
+ min-width: 0,
14
+ overflow: hidden,
15
+ font-size: var(--text-sm),
16
+ padding: var(--spacing-sm),
13
17
  element: (
14
- icon: (
15
- _alias: '> :where(svg, [data-icon])',
16
- position: absolute,
17
- left: var(--spacing-md),
18
- inline-size: 1.2em,
19
- block-size: 1.2em,
18
+ header: (
19
+ display: flex,
20
+ align-items: center,
21
+ gap: var(--spacing-sm),
22
+ line-height: var(--leading-none),
23
+ color: var(--color-word),
24
+ overflow: hidden,
25
+ text-overflow: ellipsis,
26
+ ),
27
+ title: (
28
+ min-width: 0,
29
+ font-weight: var(--font-bold),
30
+ overflow: hidden,
31
+ text-overflow: ellipsis,
32
+ ),
33
+ content: (
34
+ line-height: var(--leading-normal),
35
+ color: var(--color-word-1),
36
+ text-overflow: ellipsis,
37
+ overflow: hidden,
38
+ ),
39
+ footer: (
40
+ display: flex,
20
41
  ),
21
42
  close: (
22
43
  position: absolute,
@@ -28,50 +49,34 @@ $vv-alert: (
28
49
  background-position: center,
29
50
  background-size: 100% auto,
30
51
  background-repeat: no-repeat,
52
+ align-self: center,
53
+ border-radius: var(--rounded),
31
54
  ),
32
- title: (
33
- display: flex,
34
- margin-right: 1ch,
35
- line-height: var(--leading-normal),
36
- font-weight: var(--font-bold),
37
- color: var(--color-word),
38
- ),
39
- content: (
40
- line-height: var(--leading-normal),
41
- color: var(--color-word-1),
42
- text-overflow: ellipsis,
43
- white-space: nowrap,
44
- overflow: hidden,
55
+ icon: (
56
+ flex-shrink: 0,
45
57
  ),
46
- separator: (
47
- _alias: '> hr',
48
- height: var(--border),
49
- background-color: var(--color-alpha-2),
50
- margin-block: var(--spacing-sm),
58
+ close-mask: (
59
+ display: none,
60
+ position: absolute,
61
+ top: 0,
62
+ width: 50%,
63
+ height: 100%,
64
+ left: 50%,
65
+ background-color: var(--color-gray),
66
+ [animation]: pie-masks var(--alert-duration) steps(1, end) reverse,
67
+ z-index: 1,
51
68
  ),
52
69
  ),
53
70
  modifier: (
54
- fixed: (
55
- position: fixed,
56
- z-index: var(--z-notification-alert),
57
- ),
58
- top: (
59
- inset-inline: var(--spacing-lg),
60
- inset-block: var(--spacing-lg) auto,
61
- ),
62
- bottom: (
63
- inset-inline: var(--spacing-lg),
64
- inset-block: auto var(--spacing-lg),
65
- ),
66
71
  success: (
67
72
  border-color: var(--color-success-lighten-5),
68
73
  background-color: var(--color-surface-success),
69
74
  element: (
70
75
  icon: (
71
- color: var(--color-success),
76
+ color: var(--color-success-darken-1),
72
77
  ),
73
- title: (
74
- color: var(--color-success),
78
+ header: (
79
+ color: var(--color-success-darken-1),
75
80
  ),
76
81
  ),
77
82
  ),
@@ -82,32 +87,32 @@ $vv-alert: (
82
87
  icon: (
83
88
  color: var(--color-danger),
84
89
  ),
85
- title: (
90
+ header: (
86
91
  color: var(--color-danger),
87
92
  ),
88
93
  ),
89
94
  ),
90
95
  warning: (
91
- border-color: var(--color-warning-lighten-5),
96
+ border-color: var(--color-warning-lighten-1),
92
97
  background-color: var(--color-surface-warning),
93
98
  element: (
94
99
  icon: (
95
- color: var(--color-warning-darken-2),
100
+ color: var(--color-warning-darken-5),
96
101
  ),
97
- title: (
98
- color: var(--color-warning-darken-2),
102
+ header: (
103
+ color: var(--color-warning-darken-5),
99
104
  ),
100
105
  ),
101
106
  ),
102
107
  info: (
103
- border-color: var(--color-info-lighten-5),
108
+ border-color: var(--color-info-lighten-1),
104
109
  background-color: var(--color-surface-info),
105
110
  element: (
106
111
  icon: (
107
- color: var(--color-info-darken-2),
112
+ color: var(--color-info-darken-5),
108
113
  ),
109
- title: (
110
- color: var(--color-info-darken-2),
114
+ header: (
115
+ color: var(--color-info-darken-5),
111
116
  ),
112
117
  ),
113
118
  ),
@@ -118,7 +123,7 @@ $vv-alert: (
118
123
  icon: (
119
124
  color: var(--color-accent),
120
125
  ),
121
- title: (
126
+ header: (
122
127
  color: var(--color-accent),
123
128
  ),
124
129
  ),
@@ -128,34 +133,259 @@ $vv-alert: (
128
133
  background-color: var(--color-surface-brand),
129
134
  element: (
130
135
  icon: (
131
- color: var(--color-brand),
136
+ color: var(--color-brand-darken-2),
137
+ ),
138
+ header: (
139
+ color: var(--color-brand-darken-2),
140
+ ),
141
+ ),
142
+ ),
143
+ dismissable: (
144
+ position: relative,
145
+ padding-right: calc(var(--spacing-md) * 2 + 1em),
146
+ ),
147
+ auto-close: (
148
+ element: (
149
+ close: (
150
+ background-color: var(--color-white),
151
+ border: var(--border) solid var(--color-white),
152
+ border-radius: 50%,
153
+ overflow: hidden,
154
+ opacity: var(--opacity-80),
155
+ background-image: none,
156
+ background-size: 70% auto,
157
+ inline-size: 1.1em,
158
+ block-size: 1.1em,
159
+ [animation]: fade-out var(--alert-duration) forwards,
160
+ pseudo: (
161
+ before: (
162
+ position: absolute,
163
+ top: 0,
164
+ width: 50%,
165
+ height: 100%,
166
+ transform-origin: 100% 50%,
167
+ background-color: var(--color-gray),
168
+ border-radius: 100% 0 0 100% / 50% 0 0 50%,
169
+ [animation]: spin var(--alert-duration) linear,
170
+ ),
171
+ after: (
172
+ position: absolute,
173
+ top: 0,
174
+ width: 50%,
175
+ height: 100%,
176
+ background-color: var(--color-white),
177
+ border-radius: 100% 0 0 100% / 50% 0 0 50%,
178
+ [animation]: pie-masks var(--alert-duration)
179
+ steps(1, end),
180
+ opacity: var(--opacity-0),
181
+ ),
182
+ ),
183
+ ),
184
+ close-mask: (
185
+ display: block,
186
+ ),
187
+ ),
188
+ state: (
189
+ hover: (
190
+ element: (
191
+ close-mask: (
192
+ opacity: var(--opacity-0),
193
+ animation: none,
194
+ ),
195
+ close: (
196
+ border-radius: var(--rounded),
197
+ background-image: var(--bg-close),
198
+ animation: none,
199
+ pseudo: (
200
+ before: (
201
+ opacity: var(--opacity-0),
202
+ animation: none,
203
+ ),
204
+ after: (
205
+ opacity: var(--opacity-0),
206
+ animation: none,
207
+ ),
208
+ ),
209
+ ),
210
+ ),
211
+ ),
212
+ ),
213
+ ),
214
+ notification: (
215
+ padding: var(--spacing-0),
216
+ width: clamp(15dvw, 20rem, 80dvw),
217
+ border-color: var(--color-gray),
218
+ flex-direction: column,
219
+ align-items: none,
220
+ gap: var(--spacing-0),
221
+ element: (
222
+ header: (
223
+ padding: var(--spacing-sm),
224
+ background-color: var(--color-gray-darken-1),
225
+ color: var(--color-white),
132
226
  ),
133
227
  title: (
134
- color: var(--color-brand),
228
+ font-weight: var(--font-normal),
229
+ margin-right: auto,
230
+ ),
231
+ icon: (
232
+ color: var(--color-white),
233
+ ),
234
+ content: (
235
+ padding: var(--spacing-sm),
236
+ font-size: var(--text-xs),
237
+ ),
238
+ footer: (
239
+ padding: 0 var(--spacing-sm) var(--spacing-sm)
240
+ var(--spacing-sm),
241
+ ),
242
+ close: (
243
+ background-color: var(--color-surface-2),
244
+ border-radius: var(--rounded),
245
+ background-size: 70% auto,
246
+ inline-size: 1.1em,
247
+ block-size: 1.1em,
248
+ ),
249
+ ),
250
+ modifier: (
251
+ dismissable: (
252
+ padding-right: 0,
253
+ element: (
254
+ header: (
255
+ position: relative,
256
+ padding-right: calc(var(--spacing-md) * 2 + 1em),
257
+ ),
258
+ ),
259
+ ),
260
+ success: (
261
+ border-color: var(--color-success),
262
+ element: (
263
+ header: (
264
+ background-color: var(--color-success),
265
+ ),
266
+ ),
267
+ ),
268
+ danger: (
269
+ border-color: var(--color-danger),
270
+ element: (
271
+ header: (
272
+ background-color: var(--color-danger),
273
+ ),
274
+ ),
275
+ ),
276
+ warning: (
277
+ border-color: var(--color-warning),
278
+ element: (
279
+ header: (
280
+ background-color: var(--color-warning),
281
+ ),
282
+ ),
283
+ ),
284
+ info: (
285
+ border-color: var(--color-info),
286
+ element: (
287
+ header: (
288
+ background-color: var(--color-info),
289
+ ),
290
+ ),
291
+ ),
292
+ accent: (
293
+ border-color: var(--color-accent),
294
+ element: (
295
+ header: (
296
+ background-color: var(--color-accent),
297
+ ),
298
+ ),
299
+ ),
300
+ brand: (
301
+ border-color: var(--color-brand),
302
+ element: (
303
+ header: (
304
+ background-color: var(--color-brand),
305
+ ),
306
+ ),
135
307
  ),
136
308
  ),
137
309
  ),
138
310
  callout: (
139
- display: block,
311
+ box-shadow: none,
140
312
  border-radius: var(--rounded-none),
141
313
  border-width: 0 0 0 var(--spacing-4),
314
+ flex-direction: column,
315
+ align-items: none,
142
316
  element: (
143
317
  title: (
144
- margin-bottom: var(--spacing-sm),
145
- margin-right: 0,
146
318
  text-transform: uppercase,
147
319
  ),
148
320
  content: (
149
321
  line-height: var(--leading-normal),
150
- white-space: wrap,
151
322
  ),
152
323
  ),
153
324
  ),
154
- icon: (
155
- padding-left: calc(var(--spacing-md) * 2 + 1em),
325
+ ),
326
+ transition: (
327
+ fade-inline-end: (
328
+ active: (
329
+ transition: var(--transition-all),
330
+ ),
331
+ enter-from: (
332
+ opacity: var(--opacity-0),
333
+ transform: translateX(100%),
334
+ ),
335
+ leave-to: (
336
+ opacity: var(--opacity-0),
337
+ transform: translateX(100%),
338
+ ),
156
339
  ),
157
- close: (
158
- padding-right: calc(var(--spacing-md) * 2 + 1em),
340
+ fade-inline-start: (
341
+ active: (
342
+ transition: var(--transition-all),
343
+ ),
344
+ enter-from: (
345
+ opacity: var(--opacity-0),
346
+ transform: translateX(-100%),
347
+ ),
348
+ leave-to: (
349
+ opacity: var(--opacity-0),
350
+ transform: translateX(-100%),
351
+ ),
352
+ ),
353
+ fade-block-top: (
354
+ active: (
355
+ transition: var(--transition-all),
356
+ ),
357
+ enter-from: (
358
+ opacity: var(--opacity-0),
359
+ transform: translateY(-100%),
360
+ ),
361
+ leave-to: (
362
+ opacity: var(--opacity-0),
363
+ transform: translateY(-100%),
364
+ ),
365
+ ),
366
+ fade-block-bottom: (
367
+ active: (
368
+ transition: var(--transition-all),
369
+ ),
370
+ enter-from: (
371
+ opacity: var(--opacity-0),
372
+ transform: translateY(100%),
373
+ ),
374
+ leave-to: (
375
+ opacity: var(--opacity-0),
376
+ transform: translateY(100%),
377
+ ),
378
+ ),
379
+ fade: (
380
+ active: (
381
+ transition: var(--transition-opacity),
382
+ ),
383
+ enter-from: (
384
+ opacity: var(--opacity-0),
385
+ ),
386
+ leave-to: (
387
+ opacity: var(--opacity-0),
388
+ ),
159
389
  ),
160
390
  ),
161
391
  ) !default;
@@ -26,8 +26,8 @@ $vv-dialog: (
26
26
  flex-direction: column,
27
27
  position: relative,
28
28
  box-shadow: var(--shadow-lg),
29
- width: clamp(30vw, 40rem, 90vw),
30
- max-height: 90vh,
29
+ width: clamp(30dvw, 40rem, 90dvw),
30
+ max-height: 90dvh,
31
31
  z-index: var(--z-modal),
32
32
  background: var(--color-surface),
33
33
  border-radius: var(--rounded-md),
@@ -145,7 +145,7 @@ $vv-dialog: (
145
145
  small: (
146
146
  element: (
147
147
  wrapper: (
148
- width: clamp(10vw, 25rem, 90vw),
148
+ width: clamp(10dvw, 25rem, 90dvw),
149
149
  ),
150
150
  ),
151
151
  ),
@@ -3,9 +3,8 @@ $vv-dropdown-option: (
3
3
  min-width: 0,
4
4
  overflow: hidden,
5
5
  gap: var(--spacing-sm),
6
- align-items: center,
6
+ align-items: flex-end,
7
7
  padding: var(--spacing-sm),
8
- white-space: nowrap,
9
8
  state: (
10
9
  disabled: (
11
10
  opacity: var(--opacity-50),
@@ -60,5 +59,10 @@ $vv-dropdown-option: (
60
59
  white-space: nowrap,
61
60
  overflow: hidden,
62
61
  ),
62
+ label: (
63
+ text-overflow: ellipsis,
64
+ white-space: nowrap,
65
+ overflow: hidden,
66
+ ),
63
67
  ),
64
68
  ) !default;
@@ -78,10 +78,10 @@ $vv-input-text: (
78
78
  var(--input-spacing-right),
79
79
  min-width: 0,
80
80
  min-height: var(--input-min-height),
81
+ text-overflow: var(--input-text-overflow),
81
82
  pseudo: (
82
83
  placeholder: (
83
84
  color: var(--input-placeholder-color),
84
- text-overflow: ellipsis,
85
85
  ),
86
86
  calendar-picker-indicator: (
87
87
  position: absolute,
@@ -206,7 +206,6 @@ $vv-input-text: (
206
206
  white-space: var(--input-hint-white-space),
207
207
  text-overflow: var(--input-hint-text-overflow),
208
208
  overflow: var(--input-hint-overflow),
209
- max-width: var(--input-hint-max-width),
210
209
  ),
211
210
  limit: (
212
211
  [padding-right]: var(--input-spacing-right),
@@ -290,6 +289,7 @@ $vv-input-text: (
290
289
  ),
291
290
  ),
292
291
  floating: (
292
+ position: relative,
293
293
  [margin-left]: var(--input-spacing-left),
294
294
  [margin-right]: var(--input-spacing-right),
295
295
  element: (
@@ -91,6 +91,8 @@ $vv-select: (
91
91
  background-size: 1em,
92
92
  min-height: var(--input-min-height),
93
93
  gap: 0.5ch,
94
+ text-overflow: var(--input-text-overflow),
95
+ white-space: nowrap,
94
96
  state: (
95
97
  disabled: (
96
98
  cursor: not-allowed,
@@ -138,7 +140,6 @@ $vv-select: (
138
140
  white-space: var(--input-hint-white-space),
139
141
  text-overflow: var(--input-hint-text-overflow),
140
142
  overflow: var(--input-hint-overflow),
141
- max-width: var(--input-hint-max-width),
142
143
  ),
143
144
  ),
144
145
  modifier: (
@@ -234,6 +235,7 @@ $vv-select: (
234
235
  ),
235
236
  ),
236
237
  floating: (
238
+ position: relative,
237
239
  [margin-left]: var(--input-spacing-left),
238
240
  [margin-right]: var(--input-spacing-right),
239
241
  element: (
@@ -80,10 +80,10 @@ $vv-textarea: (
80
80
  [padding]: var(--input-spacing-top) var(--input-spacing-right)
81
81
  var(--input-spacing-bottom) var(--input-spacing-left),
82
82
  overflow: auto,
83
+ text-overflow: var(--input-text-overflow),
83
84
  pseudo: (
84
85
  placeholder: (
85
86
  color: var(--input-placeholder-color),
86
- text-overflow: ellipsis,
87
87
  ),
88
88
  ),
89
89
  state: (
@@ -138,7 +138,6 @@ $vv-textarea: (
138
138
  white-space: var(--input-hint-white-space),
139
139
  text-overflow: var(--input-hint-text-overflow),
140
140
  overflow: var(--input-hint-overflow),
141
- max-width: var(--input-hint-max-width),
142
141
  ),
143
142
  ),
144
143
  modifier: (
@@ -210,6 +209,7 @@ $vv-textarea: (
210
209
  ),
211
210
  ),
212
211
  floating: (
212
+ position: relative,
213
213
  [margin-left]: var(--input-spacing-left),
214
214
  [margin-right]: var(--input-spacing-right),
215
215
  element: (
@@ -0,0 +1,22 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ $component-name: map.get($components-names, vv-alert);
5
+ $component-map: $dark-vv-alert;
6
+
7
+ @mixin theme-dark-vv-alert {
8
+ @include spread-map-into-props(
9
+ $map: $component-map,
10
+ $prefix: $component-name
11
+ );
12
+ }
13
+
14
+ :where(:host, :root, .theme):not(.theme--light) {
15
+ @media (prefers-color-scheme: dark) {
16
+ @include theme-dark-vv-alert;
17
+ }
18
+ }
19
+
20
+ :where(.theme.theme--dark) {
21
+ @include theme-dark-vv-alert;
22
+ }
@@ -1 +1,2 @@
1
1
  @use 'vv-button';
2
+ @use 'vv-alert';
@@ -3,3 +3,4 @@
3
3
  @forward 'input';
4
4
 
5
5
  @forward 'components/vv-button';
6
+ @forward 'components/vv-alert';
@@ -0,0 +1,94 @@
1
+ $dark-vv-alert: (
2
+ modifier: (
3
+ auto-close: (
4
+ element: (
5
+ close: (
6
+ background-color: var(--color-black),
7
+ pseudo: (
8
+ after: (
9
+ background-color: var(--color-black),
10
+ ),
11
+ ),
12
+ ),
13
+ ),
14
+ ),
15
+ success: (
16
+ element: (
17
+ header: (
18
+ color: var(--color-success-lighten-3),
19
+ ),
20
+ ),
21
+ ),
22
+ warning: (
23
+ element: (
24
+ header: (
25
+ color: var(--color-warning),
26
+ ),
27
+ ),
28
+ ),
29
+ danger: (
30
+ element: (
31
+ header: (
32
+ color: var(--color-danger-lighten-5),
33
+ ),
34
+ ),
35
+ ),
36
+ accent: (
37
+ element: (
38
+ header: (
39
+ color: var(--color-accent-lighten-4),
40
+ ),
41
+ ),
42
+ ),
43
+ brand: (
44
+ element: (
45
+ header: (
46
+ color: var(--color-brand-lighten-2),
47
+ ),
48
+ ),
49
+ ),
50
+ info: (
51
+ element: (
52
+ header: (
53
+ color: var(--color-info),
54
+ ),
55
+ ),
56
+ ),
57
+ notification: (
58
+ element: (
59
+ header: (
60
+ background-color: var(--color-gray-darken-2),
61
+ ),
62
+ ),
63
+ modifier: (
64
+ danger: (
65
+ border-color: var(--color-danger-lighten-3),
66
+ ),
67
+ brand: (
68
+ border-color: var(--color-brand-lighten-3),
69
+ ),
70
+ success: (
71
+ border-color: var(--color-success-lighten-3),
72
+ ),
73
+ accent: (
74
+ border-color: var(--color-accent-lighten-3),
75
+ ),
76
+ warning: (
77
+ element: (
78
+ header: (
79
+ background-color: var(--color-warning-darken-5),
80
+ ),
81
+ ),
82
+ ),
83
+ info: (
84
+ border-color: var(--color-info-darken-2),
85
+ element: (
86
+ header: (
87
+ background-color: var(--color-info-darken-5),
88
+ ),
89
+ ),
90
+ ),
91
+ ),
92
+ ),
93
+ ),
94
+ );
@@ -1048,7 +1048,7 @@
1048
1048
  @each $state, $value in $states {
1049
1049
  @if $state in [ 'enter-from', 'enter-active', 'enter-to',
1050
1050
  'leave-from', 'leave-active', 'leave-to', 'active',
1051
- 'inert' ] and type-of($value) == 'map'
1051
+ 'inert'] and type-of($value) == 'map'
1052
1052
  {
1053
1053
  $selector: '.#{$transition}';
1054
1054