@volverjs/style 0.1.12-beta.9 → 0.1.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.
Files changed (82) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/base.css +1 -1
  4. package/dist/components/vv-accordion-group.css +1 -1
  5. package/dist/components/vv-accordion.css +1 -1
  6. package/dist/components/vv-alert-group.css +1 -1
  7. package/dist/components/vv-alert.css +1 -1
  8. package/dist/components/vv-avatar.css +1 -1
  9. package/dist/components/vv-badge.css +1 -1
  10. package/dist/components/vv-breadcrumb.css +1 -1
  11. package/dist/components/vv-button-group.css +1 -1
  12. package/dist/components/vv-button.css +1 -1
  13. package/dist/components/vv-card.css +1 -1
  14. package/dist/components/vv-checkbox-group.css +1 -1
  15. package/dist/components/vv-checkbox.css +1 -1
  16. package/dist/components/vv-dialog.css +1 -1
  17. package/dist/components/vv-input-file.css +1 -1
  18. package/dist/components/vv-input-text.css +1 -1
  19. package/dist/components/vv-nav.css +1 -1
  20. package/dist/components/vv-radio-group.css +1 -1
  21. package/dist/components/vv-radio.css +1 -1
  22. package/dist/components/vv-select.css +1 -1
  23. package/dist/components/vv-textarea.css +1 -1
  24. package/dist/components/vv-tooltip.css +1 -1
  25. package/dist/components.css +1 -1
  26. package/dist/export.css +1 -1
  27. package/dist/props/background.css +1 -1
  28. package/dist/props/spacing.css +1 -1
  29. package/dist/props/transitions.css +1 -1
  30. package/dist/props/typography.css +1 -1
  31. package/dist/props.css +1 -1
  32. package/dist/themes/dark/props.css +1 -1
  33. package/dist/themes/dark/volver.css +1 -1
  34. package/dist/utilities/backgrounds.css +1 -1
  35. package/dist/utilities/effects.css +1 -1
  36. package/dist/utilities/interactivity.css +1 -1
  37. package/dist/utilities/sizing.css +1 -1
  38. package/dist/utilities/transforms.css +1 -1
  39. package/dist/utilities/typography.css +1 -1
  40. package/dist/utilities.css +1 -1
  41. package/dist/volver.css +1 -1
  42. package/package.json +34 -33
  43. package/src/_preflight.scss +21 -2
  44. package/src/components/vv-button-group.scss +6 -6
  45. package/src/components/vv-tooltip.scss +1 -1
  46. package/src/export.scss +16 -14
  47. package/src/props/breakpoints.scss +5 -4
  48. package/src/props/spacing.scss +2 -2
  49. package/src/props/typography.scss +3 -2
  50. package/src/settings/_colors.scss +11 -11
  51. package/src/settings/_effects.scss +3 -3
  52. package/src/settings/_interactivity.scss +14 -0
  53. package/src/settings/_typography.scss +9 -1
  54. package/src/settings/components/_vv-accordion-group.scss +2 -2
  55. package/src/settings/components/_vv-accordion.scss +2 -0
  56. package/src/settings/components/_vv-alert-group.scss +5 -2
  57. package/src/settings/components/_vv-alert.scss +1 -1
  58. package/src/settings/components/_vv-avatar-group.scss +1 -0
  59. package/src/settings/components/_vv-avatar.scss +12 -8
  60. package/src/settings/components/_vv-badge.scss +2 -0
  61. package/src/settings/components/_vv-breadcrumb.scss +1 -0
  62. package/src/settings/components/_vv-button.scss +1 -0
  63. package/src/settings/components/_vv-card.scss +2 -0
  64. package/src/settings/components/_vv-checkbox-group.scss +2 -0
  65. package/src/settings/components/_vv-checkbox.scss +6 -0
  66. package/src/settings/components/_vv-dialog.scss +1 -0
  67. package/src/settings/components/_vv-input-file.scss +32 -3
  68. package/src/settings/components/_vv-input-text.scss +4 -1
  69. package/src/settings/components/_vv-radio.scss +1 -0
  70. package/src/settings/components/_vv-select.scss +4 -1
  71. package/src/settings/components/_vv-textarea.scss +5 -1
  72. package/src/themes/dark/settings/_colors.scss +8 -8
  73. package/src/tools/_breakpoints.scss +64 -11
  74. package/src/tools/_functions.scss +100 -26
  75. package/src/tools/_mixins.scss +57 -21
  76. package/src/utilities/flexbox.scss +6 -1
  77. package/src/utilities/interactivity.scss +17 -1
  78. package/src/utilities/layout.scss +9 -3
  79. package/src/utilities/sizing.scss +10 -2
  80. package/src/utilities/spacing.scss +10 -1
  81. package/src/utilities/transforms.scss +2 -2
  82. package/src/utilities/typography.scss +11 -0
@@ -13,6 +13,11 @@ $vv-checkbox: (
13
13
  disabled: (
14
14
  opacity: var(--opacity-30),
15
15
  cursor: not-allowed,
16
+ element: (
17
+ input: (
18
+ cursor: not-allowed,
19
+ ),
20
+ ),
16
21
  ),
17
22
  ),
18
23
  element: (
@@ -42,6 +47,7 @@ $vv-checkbox: (
42
47
  ),
43
48
  hint: (
44
49
  _alias: '> small',
50
+ _combinator: '>',
45
51
  flex-basis: 100%,
46
52
  display: var(--input-hint-display),
47
53
  font-size: var(--input-hint-font-size),
@@ -25,6 +25,7 @@ $vv-dialog: (
25
25
  element: (
26
26
  wrapper: (
27
27
  _alias: '> article',
28
+ _combinator: '>',
28
29
  display: flex,
29
30
  flex-direction: column,
30
31
  position: relative,
@@ -9,6 +9,7 @@ $vv-input-file: (
9
9
  element: (
10
10
  label: (
11
11
  _alias: '> label',
12
+ _combinator: '>',
12
13
  display: var(--input-label-display),
13
14
  font-size: var(--input-label-font-size),
14
15
  font-weight: var(--input-label-font-weight),
@@ -72,11 +73,12 @@ $vv-input-file: (
72
73
  white-space: nowrap,
73
74
  cursor: pointer,
74
75
  color: var(--input-color),
75
- [padding-block]: var(--input-spacing-top) 0,
76
76
  [padding-inline]: var(--input-spacing-left)
77
77
  var(--input-spacing-right),
78
78
  min-width: 0,
79
79
  min-height: var(--input-min-height),
80
+ display: flex,
81
+ align-items: center,
80
82
  text-overflow: var(--input-text-overflow),
81
83
  pseudo: (
82
84
  file-selector-button: (
@@ -86,6 +88,7 @@ $vv-input-file: (
86
88
  cursor: pointer,
87
89
  text-decoration: underline,
88
90
  color: var(--input-color),
91
+ min-height: var(--input-min-height),
89
92
  ),
90
93
  ),
91
94
  state: (
@@ -121,6 +124,7 @@ $vv-input-file: (
121
124
  height: var(--input-min-height),
122
125
  margin: var(--input-icon-margin),
123
126
  pointer-events: var(--input-icon-pointer-events),
127
+ flex-shrink: 0,
124
128
  ),
125
129
  icon-after: (
126
130
  _alias: 'input + :where(svg, [data-icon])',
@@ -172,6 +176,12 @@ $vv-input-file: (
172
176
  ),
173
177
  ),
174
178
  ),
179
+ drop-area-action: (
180
+ position: absolute,
181
+ top: var(--spacing-8),
182
+ right: var(--spacing-8),
183
+ z-index: var(--z-1),
184
+ ),
175
185
  preview: (
176
186
  position: absolute,
177
187
  display: flex,
@@ -190,7 +200,7 @@ $vv-input-file: (
190
200
  height: var(--border-2),
191
201
  bottom: 0,
192
202
  left: 0,
193
- z-index: 1,
203
+ z-index: var(--z-1),
194
204
  pseudo: (
195
205
  -webkit-progress-bar: (
196
206
  background-color: transparent,
@@ -217,12 +227,19 @@ $vv-input-file: (
217
227
  ),
218
228
  ),
219
229
  item: (
230
+ position: relative,
231
+ overflow: hidden,
220
232
  display: flex,
221
233
  font-size: var(--input-label-font-size),
222
234
  align-items: center,
223
235
  gap: var(--spacing-8),
224
236
  background-color: var(--input-background-color),
225
237
  padding: var(--spacing-8),
238
+ state: (
239
+ active: (
240
+ background-color: var(--color-surface-2),
241
+ ),
242
+ ),
226
243
  ),
227
244
  item-name: (
228
245
  white-space: nowrap,
@@ -236,14 +253,22 @@ $vv-input-file: (
236
253
  align-self: flex-end,
237
254
  ),
238
255
  item-link: (
256
+ white-space: nowrap,
257
+ text-overflow: ellipsis,
258
+ overflow: hidden,
239
259
  cursor: pointer,
240
260
  text-decoration: underline,
241
261
  ),
242
262
  item-icon: (
243
263
  flex-shrink: 0,
244
264
  ),
265
+ item-action: (
266
+ flex-shrink: 0,
267
+ cursor: pointer,
268
+ ),
245
269
  item-remove: (
246
270
  flex-shrink: 0,
271
+ cursor: pointer,
247
272
  background-image: var(--bg-close),
248
273
  width: 1.4em,
249
274
  height: 1.4em,
@@ -253,7 +278,6 @@ $vv-input-file: (
253
278
  border-radius: var(--rounded-full),
254
279
  background-color: var(--color-surface-3),
255
280
  margin-inline-start: auto,
256
- cursor: pointer,
257
281
  transition: var(--transition-colors),
258
282
  state: (
259
283
  hover: (
@@ -421,6 +445,11 @@ $vv-input-file: (
421
445
  preview: (
422
446
  border-radius: var(--rounded-full),
423
447
  ),
448
+ drop-area-action: (
449
+ position: relative,
450
+ top: auto,
451
+ right: auto,
452
+ ),
424
453
  ),
425
454
  ),
426
455
  ),
@@ -9,6 +9,7 @@ $vv-input-text: (
9
9
  element: (
10
10
  label: (
11
11
  _alias: '> label',
12
+ _combinator: '>',
12
13
  display: var(--input-label-display),
13
14
  font-size: var(--input-label-font-size),
14
15
  font-weight: var(--input-label-font-weight),
@@ -150,6 +151,7 @@ $vv-input-text: (
150
151
  height: var(--input-min-height),
151
152
  margin: var(--input-icon-margin),
152
153
  pointer-events: var(--input-icon-pointer-events),
154
+ flex-shrink: 0,
153
155
  ),
154
156
  icon-after: (
155
157
  _alias: 'input + :where(svg, [data-icon])',
@@ -199,6 +201,7 @@ $vv-input-text: (
199
201
  ),
200
202
  hint: (
201
203
  _alias: '> small',
204
+ _combinator: '>',
202
205
  display: var(--input-hint-display),
203
206
  font-size: var(--input-hint-font-size),
204
207
  color: var(--input-hint-color),
@@ -304,7 +307,7 @@ $vv-input-text: (
304
307
  ),
305
308
  label: (
306
309
  position: absolute,
307
- z-index: 1,
310
+ z-index: var(--z-1),
308
311
  min-height: var(--input-min-height),
309
312
  line-height: var(--input-min-height),
310
313
  pointer-events: none,
@@ -79,6 +79,7 @@ $vv-radio: (
79
79
  ),
80
80
  hint: (
81
81
  _alias: '> small',
82
+ _combinator: '>',
82
83
  flex-basis: 100%,
83
84
  display: var(--input-hint-display),
84
85
  font-size: var(--input-hint-font-size),
@@ -10,6 +10,7 @@ $vv-select: (
10
10
  element: (
11
11
  label: (
12
12
  _alias: '> label',
13
+ _combinator: '>',
13
14
  display: var(--input-label-display),
14
15
  font-size: var(--input-label-font-size),
15
16
  font-weight: var(--input-label-font-weight),
@@ -132,6 +133,7 @@ $vv-select: (
132
133
  height: var(--input-min-height),
133
134
  margin: var(--input-icon-margin),
134
135
  pointer-events: var(--input-icon-pointer-events),
136
+ flex-shrink: 0,
135
137
  ),
136
138
  icon-after: (
137
139
  _alias: 'select + :where(svg, [data-icon])',
@@ -139,6 +141,7 @@ $vv-select: (
139
141
  ),
140
142
  hint: (
141
143
  _alias: '> small',
144
+ _combinator: '>',
142
145
  display: var(--input-hint-display),
143
146
  font-size: var(--input-hint-font-size),
144
147
  color: var(--input-hint-color),
@@ -256,7 +259,7 @@ $vv-select: (
256
259
  ),
257
260
  label: (
258
261
  position: absolute,
259
- z-index: 1,
262
+ z-index: var(--z-1),
260
263
  min-height: var(--input-min-height),
261
264
  line-height: var(--input-min-height),
262
265
  pointer-events: none,
@@ -9,6 +9,7 @@ $vv-textarea: (
9
9
  element: (
10
10
  label: (
11
11
  _alias: '> label',
12
+ _combinator: '>',
12
13
  display: var(--input-label-display),
13
14
  font-size: var(--input-label-font-size),
14
15
  font-weight: var(--input-label-font-weight),
@@ -82,6 +83,7 @@ $vv-textarea: (
82
83
  var(--input-spacing-bottom) var(--input-spacing-left),
83
84
  overflow: auto,
84
85
  text-overflow: var(--input-text-overflow),
86
+ min-height: var(--input-min-height),
85
87
  pseudo: (
86
88
  placeholder: (
87
89
  color: var(--input-placeholder-color),
@@ -116,6 +118,7 @@ $vv-textarea: (
116
118
  height: var(--input-min-height),
117
119
  margin: var(--input-icon-margin),
118
120
  pointer-events: var(--input-icon-pointer-events),
121
+ flex-shrink: 0,
119
122
  ),
120
123
  icon-after: (
121
124
  _alias: 'textarea + :where(svg, [data-icon])',
@@ -131,6 +134,7 @@ $vv-textarea: (
131
134
  ),
132
135
  hint: (
133
136
  _alias: '> small',
137
+ _combinator: '>',
134
138
  display: var(--input-hint-display),
135
139
  font-size: var(--input-hint-font-size),
136
140
  color: var(--input-hint-color),
@@ -224,7 +228,7 @@ $vv-textarea: (
224
228
  ),
225
229
  label: (
226
230
  position: absolute,
227
- z-index: 1,
231
+ z-index: var(--z-1),
228
232
  min-height: var(--input-min-height),
229
233
  line-height: var(--input-min-height),
230
234
  pointer-events: none,
@@ -4,8 +4,8 @@
4
4
  @use '../../../settings/colors' as *;
5
5
 
6
6
  $dark-color-scheme: dark !default;
7
- $dark-color-word: hsl(color.hue($color-brand) 15% 85%) !default;
8
- $dark-color-surface: hsl(color.hue($color-brand) 10% 5%) !default;
7
+ $dark-color-word: hsl(color-hue($color-brand) 15% 85%) !default;
8
+ $dark-color-surface: hsl(color-hue($color-brand) 10% 5%) !default;
9
9
  $dark-color-surface-palette: (
10
10
  brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 10%),
11
11
  accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 10%),
@@ -15,12 +15,12 @@ $dark-color-surface-palette: (
15
15
  warning: hsl(var(--color-warning-hue) var(--color-warning-saturation) 10%),
16
16
  ) !default;
17
17
  $dark-color-surface-palette-no-vars: (
18
- brand: hsl(color.hue($color-brand) color.saturation($color-brand) 10%),
19
- accent: hsl(color.hue($color-accent) color.saturation($color-accent) 10%),
20
- success: hsl(color.hue($color-success) color.saturation($color-success) 10%),
21
- danger: hsl(color.hue($color-danger) color.saturation($color-danger) 10%),
22
- info: hsl(color.hue($color-info) color.saturation($color-info) 10%),
23
- warning: hsl(color.hue($color-warning) color.saturation($color-warning) 10%),
18
+ brand: hsl(color-hue($color-brand) color-saturation($color-brand) 10%),
19
+ accent: hsl(color-hue($color-accent) color-saturation($color-accent) 10%),
20
+ success: hsl(color-hue($color-success) color-saturation($color-success) 10%),
21
+ danger: hsl(color-hue($color-danger) color-saturation($color-danger) 10%),
22
+ info: hsl(color-hue($color-info) color-saturation($color-info) 10%),
23
+ warning: hsl(color-hue($color-warning) color-saturation($color-warning) 10%),
24
24
  ) !default;
25
25
 
26
26
  // color map
@@ -19,21 +19,31 @@
19
19
  $bps-names: map.keys($bps)
20
20
  ) {
21
21
  $n: list.index($bps-names, $name);
22
+
22
23
  @return if(
23
- $n != null and $n < length($bps-names),
24
- nth($bps-names, $n + 1),
24
+ $n != null and $n < list.length($bps-names),
25
+ list.nth($bps-names, $n + 1),
25
26
  null
26
27
  );
27
28
  }
28
29
 
30
+ @function bp-next($name, $bps: $breakpoints, $bps-names: map.keys($bps)) {
31
+ @return breakpoint-next($name, $bps, $bps-names);
32
+ }
33
+
29
34
  // Minimum breakpoint width. Null for the smallest (first) breakpoint.
30
35
  // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
31
36
  // 576px
32
- @function breakpoint-min($name, $bps) {
37
+ @function breakpoint-min($name, $bps: $breakpoints) {
33
38
  $min: map.get($bps, $name);
39
+
34
40
  @return if($min != 0, $min, null);
35
41
  }
36
42
 
43
+ @function bp-min($name, $bps: $breakpoints) {
44
+ @return breakpoint-min($name, $bps);
45
+ }
46
+
37
47
  // Maximum breakpoint width. Null for the largest (last) breakpoint.
38
48
  // The maximum value is calculated as the minimum of the next one less 0.02px
39
49
  // to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
@@ -42,50 +52,81 @@
42
52
  // See https://bugs.webkit.org/show_bug.cgi?id=178261
43
53
  // >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
44
54
  // 767.98px
45
- @function breakpoint-max($name, $bps) {
55
+ @function breakpoint-max($name, $bps: $breakpoints) {
46
56
  $next: breakpoint-next($name, $bps);
57
+
47
58
  @return if($next, breakpoint-min($next, $bps) - 0.02, null);
48
59
  }
49
60
 
61
+ @function bp-max($name, $bps: $breakpoints) {
62
+ @return breakpoint-max($name, $bps);
63
+ }
64
+
50
65
  // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
51
66
  // Useful for making responsive utilities.
52
67
  // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
53
68
  // "" (Returns a blank string)
54
69
  // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
55
70
  // "-sm"
56
- @function breakpoint-infix($name, $bps) {
71
+ @function breakpoint-infix($name, $bps: $breakpoints) {
57
72
  @return if(breakpoint-min($name, $bps) == null, '', '-#{$name}');
58
73
  }
59
74
 
75
+ @function bp-infix($name, $bps: $breakpoints) {
76
+ @return breakpoint-infix($name, $bps);
77
+ }
78
+
60
79
  // Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
61
80
  // Makes the @content apply to the given breakpoint and wider.
62
- @mixin media-breakpoint-up($name, $bps) {
81
+ @mixin media-breakpoint-up($name, $bps: $breakpoints) {
63
82
  $min: breakpoint-min($name, $bps);
83
+
64
84
  @if $min {
65
85
  @media (min-width: $min) {
66
- @content;
86
+ & {
87
+ @content;
88
+ }
67
89
  }
68
90
  } @else {
91
+ & {
92
+ @content;
93
+ }
94
+ }
95
+ }
96
+
97
+ @mixin bp-up($name, $bps: $breakpoints) {
98
+ @include media-breakpoint-up($name, $bps) {
69
99
  @content;
70
100
  }
71
101
  }
72
102
 
73
103
  // Media of at most the maximum breakpoint width. No query for the largest breakpoint.
74
104
  // Makes the @content apply to the given breakpoint and narrower.
75
- @mixin media-breakpoint-down($name, $bps) {
105
+ @mixin media-breakpoint-down($name, $bps: $breakpoints) {
76
106
  $max: breakpoint-max($name, $bps);
107
+
77
108
  @if $max {
78
109
  @media (max-width: $max) {
79
- @content;
110
+ & {
111
+ @content;
112
+ }
80
113
  }
81
114
  } @else {
115
+ & {
116
+ @content;
117
+ }
118
+ }
119
+ }
120
+
121
+ @mixin bp-down($name, $bps: $breakpoints) {
122
+ @include media-breakpoint-down($name, $bps) {
82
123
  @content;
83
124
  }
84
125
  }
85
126
 
86
127
  // Media that spans multiple breakpoint widths.
87
128
  // Makes the @content apply between the min and max breakpoints
88
- @mixin media-breakpoint-between($lower, $upper, $bps) {
129
+ @mixin media-breakpoint-between($lower, $upper, $bps: $breakpoints) {
89
130
  $min: breakpoint-min($lower, $bps);
90
131
  $max: breakpoint-max($upper, $bps);
91
132
 
@@ -104,10 +145,16 @@
104
145
  }
105
146
  }
106
147
 
148
+ @mixin bp-between($lower, $upper, $bps: $breakpoints) {
149
+ @include media-breakpoint-between($lower, $upper, $bps) {
150
+ @content;
151
+ }
152
+ }
153
+
107
154
  // Media between the breakpoint's minimum and maximum widths.
108
155
  // No minimum for the smallest breakpoint, and no maximum for the largest one.
109
156
  // Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
110
- @mixin media-breakpoint-only($name, $bps) {
157
+ @mixin media-breakpoint-only($name, $bps: $breakpoints) {
111
158
  $min: breakpoint-min($name, $bps);
112
159
  $max: breakpoint-max($name, $bps);
113
160
 
@@ -125,3 +172,9 @@
125
172
  }
126
173
  }
127
174
  }
175
+
176
+ @mixin bp-only($name, $bps: $breakpoints) {
177
+ @include media-breakpoint-only($name, $bps) {
178
+ @content;
179
+ }
180
+ }