@volverjs/style 0.1.2-beta.24 → 0.1.2-beta.26

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 (75) hide show
  1. package/dist/components/vv-accordion.css +1 -1
  2. package/dist/components/vv-button.css +1 -1
  3. package/dist/components/vv-dialog.css +1 -1
  4. package/dist/components/vv-input-checkbox.css +1 -1
  5. package/dist/components/vv-input-radio.css +1 -1
  6. package/dist/components/vv-input-text.css +1 -1
  7. package/dist/components/vv-nav.css +1 -1
  8. package/dist/components/vv-select.css +1 -1
  9. package/dist/components/vv-skeleton.css +1 -0
  10. package/dist/components/vv-textarea.css +1 -1
  11. package/dist/components/vv-tooltip.css +1 -1
  12. package/dist/components.css +1 -1
  13. package/dist/export.css +1 -1
  14. package/dist/props/transitions.css +1 -0
  15. package/dist/props.css +1 -1
  16. package/dist/utilities/borders.css +1 -1
  17. package/dist/utilities/interactivity.css +1 -0
  18. package/dist/utilities/transitions.css +1 -1
  19. package/dist/utilities/typography.css +1 -1
  20. package/dist/utilities.css +1 -1
  21. package/dist/volver.css +1 -1
  22. package/package.json +22 -20
  23. package/src/_config.scss +3 -2
  24. package/src/components/index.scss +1 -0
  25. package/src/components/vv-accordion.scss +1 -1
  26. package/src/components/vv-alert.scss +1 -1
  27. package/src/components/vv-avatar.scss +1 -1
  28. package/src/components/vv-badge.scss +1 -1
  29. package/src/components/vv-breadcrumb.scss +1 -1
  30. package/src/components/vv-button-group.scss +9 -9
  31. package/src/components/vv-button.scss +2 -6
  32. package/src/components/vv-card.scss +1 -1
  33. package/src/components/vv-dialog.scss +1 -1
  34. package/src/components/vv-dropdown.scss +1 -1
  35. package/src/components/vv-input-checkbox-group.scss +1 -1
  36. package/src/components/vv-input-checkbox.scss +3 -3
  37. package/src/components/vv-input-radio-group.scss +1 -1
  38. package/src/components/vv-input-radio.scss +2 -2
  39. package/src/components/vv-input-text.scss +4 -4
  40. package/src/components/vv-nav.scss +1 -1
  41. package/src/components/vv-progress.scss +1 -1
  42. package/src/components/vv-select.scss +4 -4
  43. package/src/components/vv-skeleton.scss +14 -0
  44. package/src/components/vv-tab.scss +1 -1
  45. package/src/components/vv-table.scss +1 -1
  46. package/src/components/vv-text.scss +1 -1
  47. package/src/components/vv-textarea.scss +4 -4
  48. package/src/components/vv-toast.scss +1 -1
  49. package/src/components/vv-tooltip.scss +3 -3
  50. package/src/export.scss +2 -2
  51. package/src/props/index.scss +3 -3
  52. package/src/props/{animation.scss → transitions.scss} +41 -1
  53. package/src/settings/_index.scss +8 -7
  54. package/src/settings/_interactivity.scss +39 -0
  55. package/src/settings/_transitions.scss +4 -1
  56. package/src/settings/components/_vv-accordion.scss +2 -2
  57. package/src/settings/components/_vv-button.scss +1 -1
  58. package/src/settings/components/_vv-dialog.scss +63 -87
  59. package/src/settings/components/_vv-input-checkbox.scss +2 -2
  60. package/src/settings/components/_vv-input-radio.scss +1 -1
  61. package/src/settings/components/_vv-input-text.scss +8 -11
  62. package/src/settings/components/_vv-nav.scss +1 -1
  63. package/src/settings/components/_vv-select.scss +9 -9
  64. package/src/settings/components/_vv-skeleton.scss +21 -0
  65. package/src/settings/components/_vv-textarea.scss +7 -7
  66. package/src/settings/components/_vv-tooltip.scss +1 -1
  67. package/src/tools/_mixins.scss +95 -0
  68. package/src/utilities/borders.scss +5 -0
  69. package/src/utilities/index.scss +2 -2
  70. package/src/utilities/{animation.scss → interactivity.scss} +5 -4
  71. package/src/utilities/transitions.scss +17 -1
  72. package/src/utilities/typography.scss +1 -0
  73. package/dist/props/animation.css +0 -1
  74. package/dist/utilities/animation.css +0 -1
  75. package/src/settings/_animation.scss +0 -9
@@ -1,11 +1,45 @@
1
1
  @use '../context' as *;
2
2
 
3
3
  :where(:host, :root, .theme) {
4
+ // animation
4
5
  @media (prefers-reduced-motion: no-preference) {
5
- @include spread-map-into-props($animate, $prefix: animate);
6
+ // transition-property
7
+ @include spread-map-into-props(
8
+ $transition-property,
9
+ $prefix: transition-property
10
+ );
11
+
12
+ // duration
13
+ @include spread-map-into-props(
14
+ $transition-duration-delay,
15
+ $prefix: duration
16
+ );
17
+
18
+ // ease
19
+ @include spread-map-into-props(
20
+ $transition-timing-function,
21
+ $prefix: ease
22
+ );
23
+
24
+ // animation
25
+ @include spread-map-into-props($animation, animation);
26
+
27
+ // transition
28
+ @each $property, $value in $transition-property {
29
+ @if $property != 'none' {
30
+ --transition-#{$property}: var(
31
+ --transition-property-#{$property}
32
+ )
33
+ var(--duration-300)
34
+ var(--ease-in-out);
35
+ } @else {
36
+ --transition-#{$property}: none;
37
+ }
38
+ }
6
39
  }
7
40
  }
8
41
 
42
+ // keyframes
9
43
  @keyframes indeterminate {
10
44
  0% {
11
45
  transform: scaleX(0);
@@ -89,3 +123,9 @@
89
123
  opacity: 0;
90
124
  }
91
125
  }
126
+
127
+ @keyframes shine {
128
+ to {
129
+ background-position-x: -200%;
130
+ }
131
+ }
@@ -1,19 +1,19 @@
1
1
  // utilities and custom props
2
- @forward 'animation';
2
+ @forward 'colors';
3
+ @forward 'background';
3
4
  @forward 'borders';
4
5
  @forward 'breakpoints';
5
- @forward 'colors';
6
- @forward 'layout';
6
+ @forward 'effects';
7
7
  @forward 'filters';
8
8
  @forward 'flexbox';
9
9
  @forward 'grid';
10
+ @forward 'input';
11
+ @forward 'interactivity';
12
+ @forward 'layout';
10
13
  @forward 'sizing';
11
14
  @forward 'spacing';
12
- @forward 'typography';
13
- @forward 'background';
14
- @forward 'effects';
15
- @forward 'input';
16
15
  @forward 'transitions';
16
+ @forward 'typography';
17
17
 
18
18
  // components
19
19
  @forward 'components/vv-accordion';
@@ -34,6 +34,7 @@
34
34
  @forward 'components/vv-nav';
35
35
  @forward 'components/vv-progress';
36
36
  @forward 'components/vv-select';
37
+ @forward 'components/vv-skeleton';
37
38
  @forward 'components/vv-tab';
38
39
  @forward 'components/vv-table';
39
40
  @forward 'components/vv-text';
@@ -0,0 +1,39 @@
1
+ // cursor
2
+ $cursor: (
3
+ auto: auto,
4
+ default: default,
5
+ pointer: pointer,
6
+ wait: wait,
7
+ text: text,
8
+ move: move,
9
+ help: help,
10
+ not-allowed: not-allowed,
11
+ none: none,
12
+ context-menu: context-menu,
13
+ progress: progress,
14
+ cell: cell,
15
+ crosshair: crosshair,
16
+ vertical-text: vertical-text,
17
+ alias: alias,
18
+ copy: copy,
19
+ no-drop: no-drop,
20
+ grab: grab,
21
+ grabbing: grabbing,
22
+ all-scroll: all-scroll,
23
+ col-resize: col-resize,
24
+ row-resize: row-resize,
25
+ n-resize: n-resize,
26
+ e-resize: e-resize,
27
+ s-resize: s-resize,
28
+ w-resize: w-resize,
29
+ ne-resize: ne-resize,
30
+ nw-resize: nw-resize,
31
+ se-resize: se-resize,
32
+ sw-resize: sw-resize,
33
+ ew-resize: ew-resize,
34
+ ns-resize: ns-resize,
35
+ nesw-resize: nesw-resize,
36
+ nwse-resize: nwse-resize,
37
+ zoom-in: zoom-in,
38
+ zoom-out: zoom-out,
39
+ ) !default;
@@ -34,8 +34,11 @@ $transition-timing-function: (
34
34
  // animation
35
35
  $animation: (
36
36
  none: none,
37
- spin: spin 1s linear infinite,
37
+ indeterminate: indeterminate 2s infinite,
38
+ progress-indeterminate: progress-indeterminate 1.5s linear infinite,
39
+ spin: spin 1s infinite,
38
40
  ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite,
39
41
  pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite,
40
42
  bounce: bounce 1s infinite,
43
+ shine: shine 1.5s infinite,
41
44
  ) !default;
@@ -35,7 +35,7 @@ $vv-accordion: (
35
35
  line-height: var(--leading-normal),
36
36
  color: var(--color-word-2),
37
37
  will-change: background-color,
38
- transition: background-color 0.3s ease-in-out,
38
+ transition: var(--transition-colors),
39
39
  font-size: var(--text-sm),
40
40
  border-radius: var(--rounded-lg),
41
41
  -webkit-tap-highlight-color: transparent,
@@ -52,7 +52,7 @@ $vv-accordion: (
52
52
  background-size: 1em,
53
53
  background-repeat: no-repeat,
54
54
  will-change: transform,
55
- transition: transform 0.3s ease-in-out,
55
+ transition: var(--transition-transform),
56
56
  transform: rotate(-90deg),
57
57
  ),
58
58
  marker: (
@@ -15,7 +15,7 @@ $vv-button: (
15
15
  padding-block: 0.75ch,
16
16
  padding-inline: 1.75ch,
17
17
  text-shadow: 0 1px 0 var(--color-gray-darken-5),
18
- transition: all 0.3s ease-in-out,
18
+ transition: var(--transition-all),
19
19
  will-change: all,
20
20
  min-width: 0,
21
21
  state: (
@@ -69,119 +69,95 @@ $vv-dialog: (
69
69
  border-top: var(--border) solid var(--color-surface-4),
70
70
  ),
71
71
  ),
72
- modifier: (
73
- small: (
74
- element: (
75
- wrapper: (
76
- width: clamp(10vw, 25rem, 90vw),
77
- ),
78
- ),
79
- ),
80
- fullscreen: (
81
- padding: 0,
82
- element: (
83
- wrapper: (
84
- border-radius: var(--rounded-0),
85
- max-width: auto,
86
- max-height: auto,
87
- width: 100%,
88
- height: 100%,
89
- ),
90
- ),
91
- ),
92
- fade-block-enter-active: (
93
- transition: opacity 0.3s ease-in-out,
94
- element: (
95
- wrapper: (
96
- transition: transform 0.3s ease-in-out,
97
- ),
98
- ),
99
- ),
100
- fade-block-leave-active: (
101
- transition: opacity 0.3s ease-in-out,
102
- element: (
103
- wrapper: (
104
- transition: transform 0.3s ease-in-out,
105
- ),
106
- ),
107
- ),
108
- fade-block-enter-from: (
109
- opacity: 0,
110
- element: (
111
- wrapper: (
112
- transform: translateY(100%),
72
+ transition: (
73
+ fade-block: (
74
+ active: (
75
+ transition: var(--transition-opacity),
76
+ element: (
77
+ wrapper: (
78
+ transition: var(--transition-transform),
79
+ ),
113
80
  ),
114
81
  ),
115
- ),
116
- fade-block-leave-to: (
117
- opacity: 0,
118
- element: (
119
- wrapper: (
120
- transform: translateY(-100%),
82
+ enter-from: (
83
+ opacity: 0,
84
+ element: (
85
+ wrapper: (
86
+ transform: translateY(100%),
87
+ ),
121
88
  ),
122
89
  ),
123
- ),
124
- fade-inline-enter-active: (
125
- transition: opacity 0.3s ease-in-out,
126
- element: (
127
- wrapper: (
128
- transition: transform 0.3s ease-in-out,
90
+ leave-to: (
91
+ opacity: 0,
92
+ element: (
93
+ wrapper: (
94
+ transform: translateY(-100%),
95
+ ),
129
96
  ),
130
97
  ),
131
98
  ),
132
- fade-inline-leave-active: (
133
- transition: opacity 0.3s ease-in-out,
134
- element: (
135
- wrapper: (
136
- transition: transform 0.3s ease-in-out,
99
+ fade-inline: (
100
+ active: (
101
+ transition: var(--transition-opacity),
102
+ element: (
103
+ wrapper: (
104
+ transition: var(--transition-transform),
105
+ ),
137
106
  ),
138
107
  ),
139
- ),
140
- fade-inline-enter-from: (
141
- opacity: 0,
142
- element: (
143
- wrapper: (
144
- transform: translateX(-100%),
108
+ enter-from: (
109
+ opacity: 0,
110
+ element: (
111
+ wrapper: (
112
+ transform: translateX(-100%),
113
+ ),
145
114
  ),
146
115
  ),
147
- ),
148
- fade-inline-leave-to: (
149
- opacity: 0,
150
- element: (
151
- wrapper: (
152
- transform: translateX(100%),
116
+ leave-to: (
117
+ opacity: 0,
118
+ element: (
119
+ wrapper: (
120
+ transform: translateX(100%),
121
+ ),
153
122
  ),
154
123
  ),
155
124
  ),
156
- scale-enter-active: (
157
- transition: opacity 0.3s ease-in-out,
158
- element: (
159
- wrapper: (
160
- transition: transform 0.3s ease-in-out,
125
+ scale: (
126
+ active: (
127
+ transition: var(--transition-opacity),
128
+ element: (
129
+ wrapper: (
130
+ transition: var(--transition-transform),
131
+ ),
161
132
  ),
162
133
  ),
163
- ),
164
- scale-leave-active: (
165
- transition: opacity 0.3s ease-in-out,
166
- element: (
167
- wrapper: (
168
- transition: transform 0.3s ease-in-out,
134
+ inert: (
135
+ opacity: 0,
136
+ element: (
137
+ wrapper: (
138
+ transform: scale(0%),
139
+ ),
169
140
  ),
170
141
  ),
171
142
  ),
172
- scale-enter-from: (
173
- opacity: 0,
143
+ ),
144
+ modifier: (
145
+ small: (
174
146
  element: (
175
147
  wrapper: (
176
- transform: scale(0%),
148
+ width: clamp(10vw, 25rem, 90vw),
177
149
  ),
178
150
  ),
179
151
  ),
180
- scale-leave-to: (
181
- opacity: 0,
152
+ fullscreen: (
153
+ padding: 0,
182
154
  element: (
183
155
  wrapper: (
184
- transform: scale(0%),
156
+ border-radius: var(--rounded-0),
157
+ max-width: auto,
158
+ max-height: auto,
159
+ width: 100%,
160
+ height: 100%,
185
161
  ),
186
162
  ),
187
163
  ),
@@ -57,7 +57,7 @@ $vv-input-checkbox: (
57
57
  background-color: var(--color-word-5),
58
58
  position: relative,
59
59
  will-change: background-color,
60
- transition: background-color 0.3s ease-in-out,
60
+ transition: var(--transition-colors),
61
61
  pseudo: (
62
62
  after: (
63
63
  width: var(--spacing-20),
@@ -67,7 +67,7 @@ $vv-input-checkbox: (
67
67
  inset: var(--spacing-2) 0 0 var(--spacing-2),
68
68
  background: var(--color-white),
69
69
  will-change: transform,
70
- transition: transform 0.3s ease-in-out,
70
+ transition: var(--transition-transform),
71
71
  ),
72
72
  ),
73
73
  state: (
@@ -41,7 +41,7 @@ $vv-input-radio: (
41
41
  border-radius: 50%,
42
42
  transform: translate(-50%, -50%) scale(0),
43
43
  will-change: transform,
44
- transition: transform 0.3s ease-in-out,
44
+ transition: var(--transition-transform),
45
45
  ),
46
46
  ),
47
47
  state: (
@@ -26,7 +26,7 @@ $vv-input-text: (
26
26
  overflow: hidden,
27
27
  background-color: var(--input-background-color),
28
28
  will-change: background-color,
29
- transition: background-color 0.3s ease-in-out,
29
+ transition: var(--transition-colors),
30
30
  pseudo: (
31
31
  before: (
32
32
  position: absolute,
@@ -42,7 +42,7 @@ $vv-input-text: (
42
42
  transform: scaleX(0),
43
43
  transform-origin: left,
44
44
  will-change: transform,
45
- transition: transform 0.3s ease-in-out,
45
+ transition: var(--transition-transform),
46
46
  ),
47
47
  ),
48
48
  state: (
@@ -80,10 +80,7 @@ $vv-input-text: (
80
80
  opacity: 0,
81
81
  ),
82
82
  search-cancel-button: (
83
- position: absolute,
84
- padding: var(--spacing-sm),
85
- top: 0,
86
- right: 0,
83
+ -webkit-appearance: none,
87
84
  opacity: 0,
88
85
  ),
89
86
  color-swatch: (
@@ -271,7 +268,7 @@ $vv-input-text: (
271
268
  margin: 0,
272
269
  will-change: 'transform',
273
270
  transform-origin: left,
274
- transition: all 0.3s ease-in-out,
271
+ transition: var(--transition-all),
275
272
  ),
276
273
  input: (
277
274
  pseudo: (
@@ -285,11 +282,11 @@ $vv-input-text: (
285
282
  focus-within: (
286
283
  element: (
287
284
  label: (
288
- transform: translateY(-1.2ch),
285
+ transform: translateY(-0.8em),
289
286
  font-size: var(--text-12),
290
287
  ),
291
288
  input: (
292
- transform: translateY(0.85ch),
289
+ transform: translateY(0.55em),
293
290
  pseudo: (
294
291
  placeholder: (
295
292
  opacity: 1,
@@ -301,11 +298,11 @@ $vv-input-text: (
301
298
  dirty: (
302
299
  element: (
303
300
  label: (
304
- transform: translateY(-1.2ch),
301
+ transform: translateY(-0.8em),
305
302
  font-size: var(--text-12),
306
303
  ),
307
304
  input: (
308
- transform: translateY(0.85ch),
305
+ transform: translateY(0.55em),
309
306
  pseudo: (
310
307
  placeholder: (
311
308
  opacity: 1,
@@ -22,7 +22,7 @@ $vv-nav: (
22
22
  display: flex,
23
23
  align-items: center,
24
24
  will-change: background-color color,
25
- transition: all 0.3s ease-in-out,
25
+ transition: var(--transition-all),
26
26
  color: var(--color-word-3),
27
27
  [padding]: var(--nav-item-padding),
28
28
  state: (
@@ -26,7 +26,7 @@ $vv-select: (
26
26
  flex: 1,
27
27
  background-color: var(--input-background-color),
28
28
  will-change: background-color,
29
- transition: background-color 0.3s ease-in-out,
29
+ transition: var(--transition-colors),
30
30
  pseudo: (
31
31
  before: (
32
32
  position: absolute,
@@ -42,7 +42,7 @@ $vv-select: (
42
42
  transform: scaleX(0),
43
43
  transform-origin: left,
44
44
  will-change: transform,
45
- transition: transform 0.3s ease-in-out,
45
+ transition: var(--transition-transform),
46
46
  ),
47
47
  ),
48
48
  state: (
@@ -209,7 +209,7 @@ $vv-select: (
209
209
  margin: 0,
210
210
  will-change: 'transform',
211
211
  transform-origin: left,
212
- transition: all 0.3s ease-in-out,
212
+ transition: var(--transition-all),
213
213
  ),
214
214
  input: (
215
215
  pseudo: (
@@ -223,14 +223,14 @@ $vv-select: (
223
223
  focus-within: (
224
224
  element: (
225
225
  label: (
226
- transform: translateY(-1.2ch),
226
+ transform: translateY(-0.8em),
227
227
  font-size: var(--text-12),
228
228
  ),
229
229
  input: (
230
230
  [padding-top]:
231
- calc(var(--input-padding-top) + 0.85ch),
231
+ calc(var(--input-padding-top) + 0.55em),
232
232
  [padding-bottom]:
233
- calc(var(--input-padding-bottom) - 0.85ch),
233
+ calc(var(--input-padding-bottom) - 0.55em),
234
234
  pseudo: (
235
235
  placeholder: (
236
236
  opacity: 1,
@@ -242,14 +242,14 @@ $vv-select: (
242
242
  dirty: (
243
243
  element: (
244
244
  label: (
245
- transform: translateY(-1.2ch),
245
+ transform: translateY(-0.8em),
246
246
  font-size: var(--text-12),
247
247
  ),
248
248
  input: (
249
249
  [padding-top]:
250
- calc(var(--input-padding-top) + 0.85ch),
250
+ calc(var(--input-padding-top) + 0.55em),
251
251
  [padding-bottom]:
252
- calc(var(--input-padding-bottom) - 0.85ch),
252
+ calc(var(--input-padding-bottom) - 0.55em),
253
253
  pseudo: (
254
254
  placeholder: (
255
255
  opacity: 1,
@@ -0,0 +1,21 @@
1
+ $vv-skeleton: (
2
+ --skeleton-background: var(--color-surface-2),
3
+ --skeleton-shine-color: var(--color-surface),
4
+ display: grid,
5
+ gap: calc(1em * (var(--leading-normal) - 1)),
6
+ element: (
7
+ item: (
8
+ [background]:
9
+ linear-gradient(
10
+ 110deg,
11
+ var(--skeleton-background) 8%,
12
+ var(--skeleton-shine-color) 18%,
13
+ var(--skeleton-background) 33%
14
+ ),
15
+ background-size: 200% 100%,
16
+ height: 1em,
17
+ border-radius: var(--rounded),
18
+ animation: var(--animation-shine),
19
+ ),
20
+ ),
21
+ ) !default;
@@ -33,7 +33,7 @@ $vv-textarea: (
33
33
  overflow: hidden,
34
34
  background-color: var(--input-background-color),
35
35
  will-change: background-color,
36
- transition: background-color 0.3s ease-in-out,
36
+ transition: var(--transition-colors),
37
37
  pseudo: (
38
38
  before: (
39
39
  position: absolute,
@@ -49,7 +49,7 @@ $vv-textarea: (
49
49
  transform: scaleX(0),
50
50
  transform-origin: left,
51
51
  will-change: transform,
52
- transition: transform 0.3s ease-in-out,
52
+ transition: var(--transition-transform),
53
53
  ),
54
54
  ),
55
55
  state: (
@@ -218,7 +218,7 @@ $vv-textarea: (
218
218
  margin: 0,
219
219
  will-change: 'transform',
220
220
  transform-origin: left,
221
- transition: all 0.3s ease-in-out,
221
+ transition: var(--transition-all),
222
222
  ),
223
223
  input: (
224
224
  pseudo: (
@@ -232,11 +232,11 @@ $vv-textarea: (
232
232
  focus-within: (
233
233
  element: (
234
234
  label: (
235
- transform: translateY(-1.2ch),
235
+ transform: translateY(-0.8em),
236
236
  font-size: var(--text-12),
237
237
  ),
238
238
  input: (
239
- transform: translateY(0.85ch),
239
+ transform: translateY(0.55em),
240
240
  pseudo: (
241
241
  placeholder: (
242
242
  opacity: 1,
@@ -248,11 +248,11 @@ $vv-textarea: (
248
248
  dirty: (
249
249
  element: (
250
250
  label: (
251
- transform: translateY(-1.2ch),
251
+ transform: translateY(-0.8em),
252
252
  font-size: var(--text-12),
253
253
  ),
254
254
  input: (
255
- transform: translateY(0.85ch),
255
+ transform: translateY(0.55em),
256
256
  pseudo: (
257
257
  placeholder: (
258
258
  opacity: 1,
@@ -17,7 +17,7 @@ $vv-tooltip: (
17
17
  text-align: center,
18
18
  box-shadow: var(--shadow-md),
19
19
  will-change: opacity,
20
- transition: opacity 0.3s ease-in-out,
20
+ transition: var(--transition-opacity),
21
21
  pseudo: (
22
22
  after: (
23
23
  position: absolute,