@volverjs/style 0.1.9-beta.6 → 0.1.9-beta.8

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 (32) 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-dropdown-optgroup.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-radio.css +1 -1
  8. package/dist/components/vv-select.css +1 -1
  9. package/dist/components/vv-table.css +1 -1
  10. package/dist/components/vv-textarea.css +1 -1
  11. package/dist/components.css +1 -1
  12. package/dist/props/input.css +1 -1
  13. package/dist/props.css +1 -1
  14. package/dist/volver.css +1 -1
  15. package/package.json +21 -21
  16. package/src/_config.scss +1 -1
  17. package/src/components/index.scss +1 -1
  18. package/src/components/{vv-toast.scss → vv-alert-group.scss} +2 -2
  19. package/src/settings/_index.scss +1 -1
  20. package/src/settings/_input.scss +19 -19
  21. package/src/settings/components/_vv-alert-group.scss +171 -0
  22. package/src/settings/components/_vv-alert.scss +254 -58
  23. package/src/settings/components/_vv-dropdown-optgroup.scss +0 -1
  24. package/src/settings/components/_vv-dropdown-option.scss +6 -2
  25. package/src/settings/components/_vv-input-text.scss +2 -2
  26. package/src/settings/components/_vv-radio.scss +5 -3
  27. package/src/settings/components/_vv-select.scss +3 -1
  28. package/src/settings/components/_vv-table.scss +5 -0
  29. package/src/settings/components/_vv-textarea.scss +2 -2
  30. package/src/tools/_mixins.scss +28 -14
  31. package/dist/components/vv-toast.css +0 -1
  32. package/src/settings/components/_vv-toast.scss +0 -259
@@ -1,22 +1,38 @@
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-pie-animation-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
+ ),
25
+ title: (
26
+ font-weight: var(--font-bold),
27
+ ),
28
+ content: (
29
+ line-height: var(--leading-normal),
30
+ color: var(--color-word-1),
31
+ text-overflow: ellipsis,
32
+ overflow: hidden,
33
+ ),
34
+ footer: (
35
+ display: flex,
20
36
  ),
21
37
  close: (
22
38
  position: absolute,
@@ -28,41 +44,63 @@ $vv-alert: (
28
44
  background-position: center,
29
45
  background-size: 100% auto,
30
46
  background-repeat: no-repeat,
47
+ align-self: center,
31
48
  ),
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),
49
+ icon: (
50
+ flex-shrink: 0,
38
51
  ),
39
- content: (
40
- line-height: var(--leading-normal),
41
- color: var(--color-word-1),
42
- text-overflow: ellipsis,
43
- white-space: nowrap,
52
+ pie: (
53
+ position: absolute,
54
+ display: block,
55
+ right: var(--spacing-10),
56
+ width: 1.1em,
57
+ height: 1.1em,
58
+ background-color: var(--color-white),
59
+ border: 1px solid var(--color-white),
60
+ border-radius: 50%,
44
61
  overflow: hidden,
62
+ opacity: var(--opacity-80),
63
+ cursor: pointer,
64
+ pseudo: (
65
+ before: (
66
+ position: absolute,
67
+ top: 0,
68
+ width: 50%,
69
+ height: 100%,
70
+ transform-origin: 100% 50%,
71
+ background-color: var(--color-gray),
72
+ border-radius: 100% 0 0 100% / 50% 0 0 50%,
73
+ will-change: transform,
74
+ [animation]: spin var(--alert-pie-animation-duration) linear,
75
+ ),
76
+ after: (
77
+ position: absolute,
78
+ top: 0,
79
+ width: 50%,
80
+ height: 100%,
81
+ background-color: var(--color-white),
82
+ will-change: opacity,
83
+ border-radius: 100% 0 0 100% / 50% 0 0 50%,
84
+ [animation]: pie-masks var(--alert-pie-animation-duration)
85
+ steps(1, end),
86
+ opacity: var(--opacity-0),
87
+ ),
88
+ ),
45
89
  ),
46
- separator: (
47
- _alias: '> hr',
48
- height: var(--border),
49
- background-color: var(--color-alpha-2),
50
- margin-block: var(--spacing-sm),
90
+ pie-mask: (
91
+ position: absolute,
92
+ top: 0,
93
+ width: 50%,
94
+ height: 100%,
95
+ left: 50%,
96
+ background-color: var(--color-gray),
97
+ will-change: opacity,
98
+ [animation]: pie-masks var(--alert-pie-animation-duration)
99
+ steps(1, end) reverse,
100
+ z-index: 1,
51
101
  ),
52
102
  ),
53
103
  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
104
  success: (
67
105
  border-color: var(--color-success-lighten-5),
68
106
  background-color: var(--color-surface-success),
@@ -70,7 +108,7 @@ $vv-alert: (
70
108
  icon: (
71
109
  color: var(--color-success),
72
110
  ),
73
- title: (
111
+ header: (
74
112
  color: var(--color-success),
75
113
  ),
76
114
  ),
@@ -82,31 +120,31 @@ $vv-alert: (
82
120
  icon: (
83
121
  color: var(--color-danger),
84
122
  ),
85
- title: (
123
+ header: (
86
124
  color: var(--color-danger),
87
125
  ),
88
126
  ),
89
127
  ),
90
128
  warning: (
91
- border-color: var(--color-warning-lighten-5),
129
+ border-color: var(--color-warning-lighten-1),
92
130
  background-color: var(--color-surface-warning),
93
131
  element: (
94
132
  icon: (
95
133
  color: var(--color-warning-darken-2),
96
134
  ),
97
- title: (
135
+ header: (
98
136
  color: var(--color-warning-darken-2),
99
137
  ),
100
138
  ),
101
139
  ),
102
140
  info: (
103
- border-color: var(--color-info-lighten-5),
141
+ border-color: var(--color-info-lighten-1),
104
142
  background-color: var(--color-surface-info),
105
143
  element: (
106
144
  icon: (
107
145
  color: var(--color-info-darken-2),
108
146
  ),
109
- title: (
147
+ header: (
110
148
  color: var(--color-info-darken-2),
111
149
  ),
112
150
  ),
@@ -118,7 +156,7 @@ $vv-alert: (
118
156
  icon: (
119
157
  color: var(--color-accent),
120
158
  ),
121
- title: (
159
+ header: (
122
160
  color: var(--color-accent),
123
161
  ),
124
162
  ),
@@ -130,32 +168,190 @@ $vv-alert: (
130
168
  icon: (
131
169
  color: var(--color-brand),
132
170
  ),
133
- title: (
171
+ header: (
134
172
  color: var(--color-brand),
135
173
  ),
136
174
  ),
137
175
  ),
176
+ dismissable: (
177
+ position: relative,
178
+ padding-right: calc(var(--spacing-md) * 2 + 1em),
179
+ ),
180
+ notification: (
181
+ padding: var(--spacing-0),
182
+ width: clamp(15vw, 20rem, 80vw),
183
+ border-color: var(--color-gray),
184
+ flex-direction: column,
185
+ align-items: none,
186
+ gap: var(--spacing-0),
187
+ element: (
188
+ header: (
189
+ padding: var(--spacing-sm),
190
+ background-color: var(--color-gray),
191
+ color: var(--color-white),
192
+ ),
193
+ title: (
194
+ font-weight: var(--font-normal),
195
+ margin-right: auto,
196
+ ),
197
+ icon: (
198
+ color: var(--color-white),
199
+ ),
200
+ content: (
201
+ padding: var(--spacing-sm),
202
+ font-size: var(--text-xs),
203
+ ),
204
+ footer: (
205
+ padding: 0 var(--spacing-sm) var(--spacing-sm)
206
+ var(--spacing-sm),
207
+ ),
208
+ close: (
209
+ background-color: var(--color-surface-2),
210
+ border-radius: var(--rounded),
211
+ background-size: 70% auto,
212
+ inline-size: 1.1em,
213
+ block-size: 1.1em,
214
+ ),
215
+ ),
216
+ modifier: (
217
+ dismissable: (
218
+ padding-right: 0,
219
+ element: (
220
+ header: (
221
+ position: relative,
222
+ padding-right: calc(var(--spacing-md) * 2 + 1em),
223
+ ),
224
+ ),
225
+ ),
226
+ success: (
227
+ border-color: var(--color-success),
228
+ element: (
229
+ header: (
230
+ background-color: var(--color-success),
231
+ ),
232
+ ),
233
+ ),
234
+ danger: (
235
+ border-color: var(--color-danger),
236
+ element: (
237
+ header: (
238
+ background-color: var(--color-danger),
239
+ ),
240
+ ),
241
+ ),
242
+ warning: (
243
+ border-color: var(--color-warning),
244
+ element: (
245
+ header: (
246
+ background-color: var(--color-warning),
247
+ ),
248
+ ),
249
+ ),
250
+ info: (
251
+ border-color: var(--color-info),
252
+ element: (
253
+ header: (
254
+ background-color: var(--color-info),
255
+ ),
256
+ ),
257
+ ),
258
+ accent: (
259
+ border-color: var(--color-accent),
260
+ element: (
261
+ header: (
262
+ background-color: var(--color-accent),
263
+ ),
264
+ ),
265
+ ),
266
+ brand: (
267
+ border-color: var(--color-brand),
268
+ element: (
269
+ header: (
270
+ background-color: var(--color-brand),
271
+ ),
272
+ ),
273
+ ),
274
+ ),
275
+ ),
138
276
  callout: (
139
- display: block,
277
+ box-shadow: none,
140
278
  border-radius: var(--rounded-none),
141
279
  border-width: 0 0 0 var(--spacing-4),
280
+ flex-direction: column,
281
+ align-items: none,
142
282
  element: (
143
283
  title: (
144
- margin-bottom: var(--spacing-sm),
145
- margin-right: 0,
146
284
  text-transform: uppercase,
147
285
  ),
148
286
  content: (
149
287
  line-height: var(--leading-normal),
150
- white-space: wrap,
151
288
  ),
152
289
  ),
153
290
  ),
154
- icon: (
155
- padding-left: calc(var(--spacing-md) * 2 + 1em),
291
+ ),
292
+ transition: (
293
+ fade-inline-end: (
294
+ active: (
295
+ transition: var(--transition-transform),
296
+ ),
297
+ enter-from: (
298
+ opacity: var(--opacity-0),
299
+ transform: translateX(100%),
300
+ ),
301
+ leave-to: (
302
+ opacity: var(--opacity-0),
303
+ transform: translateX(100%),
304
+ ),
156
305
  ),
157
- close: (
158
- padding-right: calc(var(--spacing-md) * 2 + 1em),
306
+ fade-inline-start: (
307
+ active: (
308
+ transition: var(--transition-transform),
309
+ ),
310
+ enter-from: (
311
+ opacity: var(--opacity-0),
312
+ transform: translateX(-100%),
313
+ ),
314
+ leave-to: (
315
+ opacity: var(--opacity-0),
316
+ transform: translateX(-100%),
317
+ ),
318
+ ),
319
+ fade-block-top: (
320
+ active: (
321
+ transition: var(--transition-transform),
322
+ ),
323
+ enter-from: (
324
+ opacity: var(--opacity-0),
325
+ transform: translateY(-100%),
326
+ ),
327
+ leave-to: (
328
+ opacity: var(--opacity-0),
329
+ transform: translateY(-100%),
330
+ ),
331
+ ),
332
+ fade-block-bottom: (
333
+ active: (
334
+ transition: var(--transition-transform),
335
+ ),
336
+ enter-from: (
337
+ opacity: var(--opacity-0),
338
+ transform: translateY(100%),
339
+ ),
340
+ leave-to: (
341
+ opacity: var(--opacity-0),
342
+ transform: translateY(100%),
343
+ ),
344
+ ),
345
+ fade: (
346
+ active: (
347
+ transition: var(--transition-opacity),
348
+ ),
349
+ enter-from: (
350
+ opacity: var(--opacity-0),
351
+ ),
352
+ leave-to: (
353
+ opacity: var(--opacity-0),
354
+ ),
159
355
  ),
160
356
  ),
161
357
  ) !default;
@@ -9,6 +9,5 @@ $vv-dropdown-optgroup: (
9
9
  text-transform: uppercase,
10
10
  font-size: var(--text-xs),
11
11
  font-weight: var(--font-bold),
12
- colot: var(--color-word-3),
13
12
  background-color: var(--color-surface-2),
14
13
  );
@@ -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: (
@@ -39,12 +39,14 @@ $vv-radio: (
39
39
  element: (
40
40
  input: (
41
41
  _alias: "> input[type='radio']",
42
- border: var(--spacing-2) solid var(--input-color),
42
+ border-width: var(--spacing-2),
43
+ border-style: solid,
44
+ border-color: var(--input-color),
43
45
  min-width: var(--spacing-20),
44
46
  height: var(--spacing-20),
45
47
  border-radius: 50%,
46
48
  margin: 0 var(--input-label-gap) 0 0,
47
- background: transparent,
49
+ background-color: transparent,
48
50
  cursor: pointer,
49
51
  position: relative,
50
52
  pseudo: (
@@ -52,7 +54,7 @@ $vv-radio: (
52
54
  position: absolute,
53
55
  width: 70%,
54
56
  height: 70%,
55
- background: var(--input-color),
57
+ background-color: var(--input-color),
56
58
  inset: 50% 50%,
57
59
  border-radius: 50%,
58
60
  transform: translate(-50%, -50%) scale(0),
@@ -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: (
@@ -8,6 +8,11 @@ $vv-table: (
8
8
  _alias: 'caption',
9
9
  caption-side: bottom,
10
10
  [padding]: var(--table-cell-padding),
11
+ state: (
12
+ empty: (
13
+ display: none,
14
+ ),
15
+ ),
11
16
  ),
12
17
  tr: (
13
18
  _alias: 'tr',
@@ -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: (
@@ -230,7 +230,8 @@
230
230
  $block: $block,
231
231
  $modifier: $modifier + $selector,
232
232
  $props: $props,
233
- $zero-specificity: $zero-specificity
233
+ $zero-specificity: $zero-specificity,
234
+ $bps: $bps
234
235
  );
235
236
  }
236
237
 
@@ -244,7 +245,8 @@
244
245
  $block: $block,
245
246
  $modifier: $modifier + $selector,
246
247
  $props: $props,
247
- $zero-specificity: $zero-specificity
248
+ $zero-specificity: $zero-specificity,
249
+ $bps: $bps
248
250
  );
249
251
  }
250
252
 
@@ -254,9 +256,11 @@
254
256
  $map: $value,
255
257
  $prefix: #{$prefix}-#{$key}-#{$item},
256
258
  $key: 'breakpoint',
257
- $block: $selector,
259
+ $block: $block,
260
+ $modifier: $modifier + $selector,
258
261
  $props: $props,
259
- $zero-specificity: $zero-specificity
262
+ $zero-specificity: $zero-specificity,
263
+ $bps: $bps
260
264
  );
261
265
  }
262
266
 
@@ -366,7 +370,8 @@
366
370
  $block: $selector,
367
371
  $alias: $alias,
368
372
  $props: $props,
369
- $zero-specificity: $zero-specificity
373
+ $zero-specificity: $zero-specificity,
374
+ $bps: $bps
370
375
  );
371
376
  }
372
377
 
@@ -378,7 +383,8 @@
378
383
  $key: 'breakpoint',
379
384
  $block: list-to-string(($selector, $alias)),
380
385
  $props: $props,
381
- $zero-specificity: $zero-specificity
386
+ $zero-specificity: $zero-specificity,
387
+ $bps: $bps
382
388
  );
383
389
  }
384
390
  }
@@ -630,7 +636,8 @@
630
636
  $block: $block,
631
637
  $modifier: $selector,
632
638
  $props: $props,
633
- $zero-specificity: $zero-specificity
639
+ $zero-specificity: $zero-specificity,
640
+ $bps: $bps
634
641
  );
635
642
  }
636
643
  }
@@ -640,16 +647,21 @@
640
647
 
641
648
  // Transform a map into a list of breakpoints
642
649
  @mixin spread-map-into-breakpoints(
650
+ $original: null,
643
651
  $map: (),
644
652
  $prefix: '',
645
653
  $key: 'breakpoint',
646
654
  $block: null,
655
+ $modifier: '',
647
656
  $props: true,
657
+ $zero-specificity: true,
648
658
  $bps: (
649
659
  xxs: 0,
650
- ),
651
- $zero-specificity: true
660
+ )
652
661
  ) {
662
+ @if not $original {
663
+ $original: $map;
664
+ }
653
665
  @if not $block {
654
666
  $block: &;
655
667
  }
@@ -657,12 +669,12 @@
657
669
  @each $breakpoint, $value in map.get($map, $key) {
658
670
  @if map.has-key($bps, $breakpoint) {
659
671
  @include wrap-with-where(
660
- $selector: $block,
672
+ $selector: '#{$modifier}#{$block}',
661
673
  $enabled: $zero-specificity
662
674
  ) {
663
675
  @include media-breakpoint-up($breakpoint, $bps) {
664
676
  @include spread-map-into-attrs(
665
- $original: $map,
677
+ $original: $original,
666
678
  $map: $value,
667
679
  $prefix: $prefix,
668
680
  $variant: #{$key}-#{$breakpoint},
@@ -1036,7 +1048,7 @@
1036
1048
  @each $state, $value in $states {
1037
1049
  @if $state in [ 'enter-from', 'enter-active', 'enter-to',
1038
1050
  'leave-from', 'leave-active', 'leave-to', 'active',
1039
- 'inert' ] and type-of($value) == 'map'
1051
+ 'inert'] and type-of($value) == 'map'
1040
1052
  {
1041
1053
  $selector: '.#{$transition}';
1042
1054
 
@@ -1071,7 +1083,8 @@
1071
1083
  $ignore: (
1072
1084
  'element',
1073
1085
  ),
1074
- $props: $props
1086
+ $props: $props,
1087
+ $bps: $bps
1075
1088
  );
1076
1089
  }
1077
1090
 
@@ -1085,7 +1098,8 @@
1085
1098
  $block: $block,
1086
1099
  $modifier: $selector,
1087
1100
  $props: $props,
1088
- $zero-specificity: $zero-specificity
1101
+ $zero-specificity: $zero-specificity,
1102
+ $bps: $bps
1089
1103
  );
1090
1104
  }
1091
1105
  }