@volverjs/style 0.1.2-beta.3 → 0.1.2-beta.31

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 (190) hide show
  1. package/README.md +40 -40
  2. package/dist/components/vv-accordion.css +1 -0
  3. package/dist/components/vv-alert.css +1 -0
  4. package/dist/components/vv-avatar.css +1 -0
  5. package/dist/components/vv-badge.css +1 -1
  6. package/dist/components/vv-breadcrumb.css +1 -0
  7. package/dist/components/vv-button-group.css +1 -1
  8. package/dist/components/vv-button.css +1 -1
  9. package/dist/components/vv-card.css +1 -1
  10. package/dist/components/vv-checkbox-group.css +1 -0
  11. package/dist/components/vv-checkbox.css +1 -0
  12. package/dist/components/vv-dialog.css +1 -1
  13. package/dist/components/vv-dropdown.css +1 -1
  14. package/dist/components/vv-input-text.css +1 -1
  15. package/dist/components/vv-nav.css +1 -0
  16. package/dist/components/vv-progress.css +1 -1
  17. package/dist/components/vv-radio-group.css +1 -0
  18. package/dist/components/vv-radio.css +1 -0
  19. package/dist/components/vv-select.css +1 -1
  20. package/dist/components/vv-skeleton.css +1 -0
  21. package/dist/components/vv-tab.css +1 -0
  22. package/dist/components/vv-table.css +1 -1
  23. package/dist/components/vv-text.css +1 -1
  24. package/dist/components/vv-textarea.css +1 -1
  25. package/dist/components/vv-toast.css +1 -0
  26. package/dist/components/vv-tooltip.css +1 -0
  27. package/dist/components.css +1 -1
  28. package/dist/export.css +1 -1
  29. package/dist/props/background.css +1 -1
  30. package/dist/props/colors.css +1 -1
  31. package/dist/props/filters.css +1 -1
  32. package/dist/props/input.css +1 -1
  33. package/dist/props/layout.css +1 -1
  34. package/dist/props/spacing.css +1 -1
  35. package/dist/props/transitions.css +1 -0
  36. package/dist/props.css +1 -1
  37. package/dist/reset.css +1 -1
  38. package/dist/themes/dark/components.css +1 -1
  39. package/dist/themes/dark/props.css +1 -1
  40. package/dist/themes/dark/volver.css +1 -0
  41. package/dist/utilities/backgrounds.css +1 -1
  42. package/dist/utilities/borders.css +1 -1
  43. package/dist/utilities/colors.css +1 -1
  44. package/dist/utilities/effects.css +1 -1
  45. package/dist/utilities/filters.css +1 -1
  46. package/dist/utilities/flexbox.css +1 -1
  47. package/dist/utilities/grid.css +1 -1
  48. package/dist/utilities/interactivity.css +1 -0
  49. package/dist/utilities/layout.css +1 -1
  50. package/dist/utilities/sizing.css +1 -1
  51. package/dist/utilities/spacing.css +1 -1
  52. package/dist/utilities/transitions.css +1 -0
  53. package/dist/utilities/typography.css +1 -1
  54. package/dist/utilities.css +1 -1
  55. package/dist/volver.css +1 -0
  56. package/package.json +163 -118
  57. package/src/_config.scss +19 -11
  58. package/src/_context.scss +3 -3
  59. package/src/_preflight.scss +412 -0
  60. package/src/components/index.scss +25 -17
  61. package/src/components/vv-accordion.scss +13 -0
  62. package/src/components/vv-alert.scss +13 -0
  63. package/src/components/vv-avatar.scss +13 -0
  64. package/src/components/vv-badge.scss +3 -2
  65. package/src/components/vv-breadcrumb.scss +13 -0
  66. package/src/components/vv-button-group.scss +15 -18
  67. package/src/components/vv-button.scss +5 -8
  68. package/src/components/vv-card.scss +3 -2
  69. package/src/components/vv-checkbox-group.scss +13 -0
  70. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +7 -6
  71. package/src/components/vv-dialog.scss +3 -2
  72. package/src/components/vv-dropdown.scss +3 -2
  73. package/src/components/vv-input-text.scss +6 -5
  74. package/src/components/vv-nav.scss +13 -0
  75. package/src/components/vv-progress.scss +3 -2
  76. package/src/components/vv-radio-group.scss +13 -0
  77. package/src/components/{vv-input-radio.scss → vv-radio.scss} +6 -5
  78. package/src/components/vv-select.scss +6 -5
  79. package/src/components/vv-skeleton.scss +14 -0
  80. package/src/components/vv-tab.scss +13 -0
  81. package/src/components/vv-table.scss +3 -2
  82. package/src/components/vv-text.scss +3 -2
  83. package/src/components/vv-textarea.scss +6 -5
  84. package/src/components/vv-toast.scss +13 -0
  85. package/src/components/vv-tooltip.scss +33 -0
  86. package/src/export.scss +73 -12
  87. package/src/props/background.scss +1 -1
  88. package/src/props/borders.scss +1 -1
  89. package/src/props/colors.scss +1 -1
  90. package/src/props/effects.scss +1 -1
  91. package/src/props/filters.scss +2 -1
  92. package/src/props/index.scss +12 -12
  93. package/src/props/input.scss +1 -1
  94. package/src/props/layout.scss +6 -1
  95. package/src/props/media.scss +1 -1
  96. package/src/props/sizing.scss +1 -1
  97. package/src/props/spacing.scss +2 -2
  98. package/src/props/{animation.scss → transitions.scss} +53 -2
  99. package/src/props/typography.scss +2 -2
  100. package/src/reset.scss +1 -1
  101. package/src/settings/_background.scss +6 -1
  102. package/src/settings/_breakpoints.scss +2 -0
  103. package/src/settings/_colors.scss +16 -2
  104. package/src/settings/_effects.scss +47 -2
  105. package/src/settings/_filters.scss +9 -0
  106. package/src/settings/_index.scss +40 -31
  107. package/src/settings/_input.scss +8 -6
  108. package/src/settings/_interactivity.scss +39 -0
  109. package/src/settings/_layout.scss +18 -10
  110. package/src/settings/_spacing.scss +1 -0
  111. package/src/settings/_transitions.scss +44 -0
  112. package/src/settings/components/_vv-accordion.scss +134 -0
  113. package/src/settings/components/_vv-alert.scss +161 -0
  114. package/src/settings/components/_vv-avatar.scss +55 -0
  115. package/src/settings/components/_vv-badge.scss +59 -18
  116. package/src/settings/components/_vv-breadcrumb.scss +95 -0
  117. package/src/settings/components/_vv-button-group.scss +4 -0
  118. package/src/settings/components/_vv-button.scss +120 -15
  119. package/src/settings/components/_vv-card.scss +4 -3
  120. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +2 -1
  121. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +46 -10
  122. package/src/settings/components/_vv-dialog.scss +71 -89
  123. package/src/settings/components/_vv-input-text.scss +83 -37
  124. package/src/settings/components/_vv-nav.scss +142 -0
  125. package/src/settings/components/_vv-progress.scss +1 -1
  126. package/src/settings/components/_vv-radio-group.scss +3 -0
  127. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +34 -4
  128. package/src/settings/components/_vv-select.scss +77 -12
  129. package/src/settings/components/_vv-skeleton.scss +22 -0
  130. package/src/settings/components/_vv-tab.scss +16 -0
  131. package/src/settings/components/_vv-table.scss +22 -3
  132. package/src/settings/components/_vv-text.scss +20 -1
  133. package/src/settings/components/_vv-textarea.scss +49 -24
  134. package/src/settings/components/_vv-toast.scss +259 -0
  135. package/src/settings/components/_vv-tooltip.scss +74 -0
  136. package/src/themes/dark/_context.scss +7 -4
  137. package/src/themes/dark/components/_vv-button.scss +3 -5
  138. package/src/themes/dark/components/index.scss +1 -2
  139. package/src/themes/dark/props/_background.scss +2 -2
  140. package/src/themes/dark/props/_colors.scss +2 -2
  141. package/src/themes/dark/props/_input.scss +15 -0
  142. package/src/themes/dark/props/index.scss +3 -2
  143. package/src/themes/dark/settings/_background.scss +9 -4
  144. package/src/themes/dark/settings/_colors.scss +25 -10
  145. package/src/themes/dark/settings/_index.scss +4 -4
  146. package/src/themes/dark/settings/_input.scss +8 -0
  147. package/src/themes/dark/settings/components/_vv-button.scss +10 -10
  148. package/src/themes/dark/volver.scss +5 -0
  149. package/src/tools/_breakpoints.scss +7 -7
  150. package/src/tools/_index.scss +3 -3
  151. package/src/tools/_mixins.scss +200 -37
  152. package/src/utilities/backgrounds.scss +15 -8
  153. package/src/utilities/borders.scss +22 -9
  154. package/src/utilities/colors.scss +9 -5
  155. package/src/utilities/effects.scss +23 -5
  156. package/src/utilities/filters.scss +15 -4
  157. package/src/utilities/flexbox.scss +26 -8
  158. package/src/utilities/grid.scss +25 -9
  159. package/src/utilities/index.scss +13 -12
  160. package/src/utilities/interactivity.scss +10 -0
  161. package/src/utilities/layout.scss +36 -23
  162. package/src/utilities/sizing.scss +23 -26
  163. package/src/utilities/spacing.scss +1 -1
  164. package/src/utilities/transitions.scss +47 -0
  165. package/src/utilities/typography.scss +34 -17
  166. package/src/volver.scss +14 -0
  167. package/dist/components/vv-collapse.css +0 -1
  168. package/dist/components/vv-input-checkbox-group.css +0 -1
  169. package/dist/components/vv-input-checkbox.css +0 -1
  170. package/dist/components/vv-input-radio-group.css +0 -1
  171. package/dist/components/vv-input-radio.css +0 -1
  172. package/dist/preflight.css +0 -1
  173. package/dist/props/animation.css +0 -1
  174. package/dist/style.css +0 -1
  175. package/dist/themes/dark/style.css +0 -1
  176. package/dist/utilities/animation.css +0 -1
  177. package/src/assets/24consulting.svg +0 -63
  178. package/src/assets/volverjs.svg +0 -15
  179. package/src/components/vv-collapse.scss +0 -12
  180. package/src/components/vv-input-checkbox-group.scss +0 -12
  181. package/src/components/vv-input-radio-group.scss +0 -12
  182. package/src/preflight.scss +0 -281
  183. package/src/settings/_animation.scss +0 -9
  184. package/src/settings/components/_vv-collapse.scss +0 -111
  185. package/src/settings/components/_vv-input-radio-group.scss +0 -1
  186. package/src/style.scss +0 -14
  187. package/src/themes/dark/components/_vv-input-checkbox.scss +0 -24
  188. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +0 -26
  189. package/src/themes/dark/style.scss +0 -5
  190. package/src/utilities/animation.scss +0 -8
@@ -0,0 +1,142 @@
1
+ $vv-nav: (
2
+ --nav-item-padding: var(--spacing-xs) var(--spacing-sm),
3
+ display: flex,
4
+ element: (
5
+ menu: (
6
+ _alias: 'ul',
7
+ flex: 1,
8
+ display: flex,
9
+ flex-direction: column,
10
+ gap: var(--spacing-2),
11
+ ),
12
+ item: (
13
+ _alias: 'li',
14
+ ),
15
+ heading-label: (
16
+ display: block,
17
+ font-weight: var(--font-semibold),
18
+ [padding]: var(--nav-item-padding),
19
+ ),
20
+ item-label: (
21
+ _alias: 'li > a',
22
+ display: flex,
23
+ align-items: center,
24
+ will-change: background-color color,
25
+ transition: var(--transition-all),
26
+ color: var(--color-word-3),
27
+ [padding]: var(--nav-item-padding),
28
+ state: (
29
+ hover: (
30
+ color: var(--color-word-1),
31
+ ),
32
+ current: (
33
+ color: var(--color-word-1),
34
+ ),
35
+ ),
36
+ ),
37
+ divider: (
38
+ _alias: 'li[role="separator"]',
39
+ display: block,
40
+ margin-block: var(--spacing-16),
41
+ height: var(--spacing-px),
42
+ background-color: var(--color-surface-3),
43
+ ),
44
+ ),
45
+ modifier: (
46
+ sidebar: (
47
+ font-size: var(--text-14),
48
+ element: (
49
+ item-label: (
50
+ border-radius: var(--rounded-md),
51
+ state: (
52
+ hover: (
53
+ background-color: var(--color-surface-2),
54
+ ),
55
+ active: (
56
+ background-color: var(--color-surface-3),
57
+ ),
58
+ current: (
59
+ background-color: var(--color-surface-2),
60
+ ),
61
+ ),
62
+ ),
63
+ ),
64
+ ),
65
+ aside: (
66
+ --nav-item-padding: var(--spacing-8) var(--spacing-12),
67
+ font-size: var(--text-12),
68
+ border-left: var(--border) solid var(--color-surface-3),
69
+ element: (
70
+ heading-label: (
71
+ text-transform: uppercase,
72
+ ),
73
+ item-label: (
74
+ margin-left: calc(-1 * var(--border)),
75
+ border-left: var(--border) solid var(--color-surface-3),
76
+ border-radius: 0,
77
+ state: (
78
+ hover: (
79
+ border-color: var(--color-brand),
80
+ ),
81
+ current: (
82
+ border-color: var(--color-brand),
83
+ ),
84
+ ),
85
+ ),
86
+ divider: (
87
+ margin-block: var(--spacing-8),
88
+ ),
89
+ ),
90
+ ),
91
+ tabs: (
92
+ element: (
93
+ menu: (
94
+ overflow: auto hidden,
95
+ overscroll-behavior-x: contain,
96
+ scroll-behavior: smooth,
97
+ scroll-snap-type: x mandatory,
98
+ flex-direction: row,
99
+ border-bottom: 1px solid var(--color-surface-4),
100
+ scrollbar-width: none,
101
+ pseudo: (
102
+ -webkit-scrollbar: (
103
+ width: 0,
104
+ height: 0,
105
+ ),
106
+ ),
107
+ ),
108
+ item-label: (
109
+ border-bottom: 2px solid transparent,
110
+ margin-bottom: -1px,
111
+ white-space: nowrap,
112
+ state: (
113
+ hover: (
114
+ color: var(--color-brand),
115
+ ),
116
+ current: (
117
+ color: var(--color-brand),
118
+ border-color: var(--color-brand),
119
+ background-color:
120
+ hsla(
121
+ var(--color-brand-hue)
122
+ var(--color-brand-saturation)
123
+ var(--color-brand-lightness) / 5%
124
+ ),
125
+ ),
126
+ ),
127
+ ),
128
+ ),
129
+ ),
130
+ full: (
131
+ element: (
132
+ item: (
133
+ flex: 1 1 0%,
134
+ ),
135
+ item-label: (
136
+ display: block,
137
+ text-align: center,
138
+ ),
139
+ ),
140
+ ),
141
+ ),
142
+ ) !default;
@@ -31,7 +31,7 @@ $vv-progress: (
31
31
  var(--color-surface-2) 30%
32
32
  )
33
33
  top left/150% 150% no-repeat,
34
- animation: var(--animate-progress-indeterminate),
34
+ animation: var(--animation-progress-indeterminate),
35
35
  pseudo: (
36
36
  progress-bar: (
37
37
  background: transparent,
@@ -0,0 +1,3 @@
1
+ @use 'vv-checkbox-group' as *;
2
+
3
+ $vv-radio-group: $vv-checkbox-group !default;
@@ -1,6 +1,6 @@
1
- $vv-input-radio: (
1
+ $vv-radio: (
2
2
  display: inline-flex,
3
- flex-wrap: nowrap,
3
+ flex-wrap: wrap,
4
4
  align-items: center,
5
5
  cursor: pointer,
6
6
  user-select: none,
@@ -8,21 +8,39 @@ $vv-input-radio: (
8
8
  color: var(--input-color),
9
9
  font-size: var(--input-font-size),
10
10
  line-height: var(--input-line-height),
11
+ min-width: var(--input-min-width),
11
12
  state: (
12
13
  disabled: (
13
14
  opacity: 0.3,
14
15
  cursor: not-allowed,
15
16
  ),
17
+ ),
18
+ modifier: (
16
19
  readonly: (
20
+ opacity: 1,
17
21
  cursor: default,
18
22
  pointer-events: none,
19
23
  ),
24
+ valid: (
25
+ element: (
26
+ hint: (
27
+ color: var(--input-valid-color),
28
+ ),
29
+ ),
30
+ ),
31
+ invalid: (
32
+ element: (
33
+ hint: (
34
+ color: var(--input-invalid-color),
35
+ ),
36
+ ),
37
+ ),
20
38
  ),
21
39
  element: (
22
40
  input: (
23
41
  _alias: "> input[type='radio']",
24
42
  border: var(--spacing-2) solid var(--input-color),
25
- width: var(--spacing-20),
43
+ min-width: var(--spacing-20),
26
44
  height: var(--spacing-20),
27
45
  border-radius: 50%,
28
46
  margin: 0 var(--input-label-gap) 0 0,
@@ -39,7 +57,7 @@ $vv-input-radio: (
39
57
  border-radius: 50%,
40
58
  transform: translate(-50%, -50%) scale(0),
41
59
  will-change: transform,
42
- transition: transform 0.2s ease-in-out,
60
+ transition: var(--transition-transform),
43
61
  ),
44
62
  ),
45
63
  state: (
@@ -56,5 +74,17 @@ $vv-input-radio: (
56
74
  ),
57
75
  ),
58
76
  ),
77
+ hint: (
78
+ _alias: '> small',
79
+ flex-basis: 100%,
80
+ display: var(--input-hint-display),
81
+ font-size: var(--input-hint-font-size),
82
+ color: var(--input-hint-color),
83
+ padding-top: var(--input-hint-gap),
84
+ white-space: var(--input-hint-white-space),
85
+ text-overflow: var(--input-hint-text-overflow),
86
+ overflow: var(--input-hint-overflow),
87
+ max-width: var(--input-hint-max-width),
88
+ ),
59
89
  ),
60
90
  ) !default;
@@ -6,6 +6,7 @@ $vv-select: (
6
6
  font-size: var(--input-font-size),
7
7
  line-height: var(--input-line-height),
8
8
  user-select: none,
9
+ min-width: var(--input-min-width),
9
10
  element: (
10
11
  label: (
11
12
  _alias: '> label',
@@ -25,7 +26,7 @@ $vv-select: (
25
26
  flex: 1,
26
27
  background-color: var(--input-background-color),
27
28
  will-change: background-color,
28
- transition: background-color 0.2s ease-in-out,
29
+ transition: var(--transition-colors),
29
30
  pseudo: (
30
31
  before: (
31
32
  position: absolute,
@@ -41,7 +42,7 @@ $vv-select: (
41
42
  transform: scaleX(0),
42
43
  transform-origin: left,
43
44
  will-change: transform,
44
- transition: transform 0.2s ease-in-out,
45
+ transition: var(--transition-transform),
45
46
  ),
46
47
  ),
47
48
  state: (
@@ -68,26 +69,35 @@ $vv-select: (
68
69
  ),
69
70
  input: (
70
71
  _alias: 'select',
71
- display: block,
72
+ display: flex,
73
+ align-items: center,
72
74
  flex: 1,
73
75
  color: var(--input-placeholder-color),
74
- [padding]: var(--input-padding-top) var(--input-padding-right)
75
- var(--input-padding-bottom) var(--input-padding-left),
76
- min-height: var(--spacing-50),
76
+ [padding]: var(--input-spacing-top) var(--input-spacing-right)
77
+ var(--input-spacing-bottom) var(--input-spacing-left),
77
78
  background-image: var(--bg-chevron),
78
79
  background-repeat: no-repeat,
79
- [background-position]: right var(--input-padding-right) center,
80
+ [background-position]: right var(--input-spacing-right) center,
80
81
  background-size: 1em,
82
+ min-height: var(--spacing-50),
81
83
  state: (
82
84
  disabled: (
83
85
  cursor: not-allowed,
84
86
  ),
85
87
  ),
88
+ pseudo: (
89
+ marker: (
90
+ display: none,
91
+ ),
92
+ -webkit-details-marker: (
93
+ display: none,
94
+ ),
95
+ ),
86
96
  ),
87
97
  icon: (
88
98
  _alias: ':where(svg, [data-icon])',
89
- margin: var(--input-padding-top) var(--input-padding-right)
90
- var(--input-padding-bottom) var(--input-padding-left),
99
+ margin: var(--input-spacing-top) var(--input-spacing-right)
100
+ var(--input-spacing-bottom) var(--input-spacing-left),
91
101
  position: var(--input-icon-position),
92
102
  width: var(--input-icon-width),
93
103
  height: var(--input-icon-height),
@@ -120,10 +130,10 @@ $vv-select: (
120
130
  ),
121
131
  ),
122
132
  icon-left: (
123
- --input-padding-left: calc(var(--spacing-sm) * 2 + 1em),
133
+ --input-spacing-left: calc(var(--spacing-sm) * 2 + 1em),
124
134
  ),
125
135
  icon-right: (
126
- --input-padding-right: calc(var(--spacing-sm) * 2 + 1em),
136
+ --input-spacing-right: calc(var(--spacing-sm) * 2 + 1em),
127
137
  ),
128
138
  valid: (
129
139
  element: (
@@ -170,7 +180,62 @@ $vv-select: (
170
180
  background: var(--color-brand-lighten-5),
171
181
  ),
172
182
  after: (
173
- animation: progress 2.2s infinite,
183
+ animation: var(--animation-indeterminate),
184
+ ),
185
+ ),
186
+ ),
187
+ ),
188
+ ),
189
+ floating: (
190
+ [margin-left]: var(--input-spacing-left),
191
+ [margin-right]: var(--input-spacing-right),
192
+ element: (
193
+ wrapper: (
194
+ [margin-left]: calc(var(--input-spacing-left) * -1),
195
+ [margin-right]: calc(var(--input-spacing-right) * -1),
196
+ ),
197
+ hint: (
198
+ [margin-left]: calc(var(--input-spacing-left) * -1),
199
+ [margin-right]: calc(var(--input-spacing-right) * -1),
200
+ ),
201
+ label: (
202
+ position: absolute,
203
+ z-index: 1,
204
+ pointer-events: none,
205
+ font-size: inherit,
206
+ [padding-top]: var(--input-spacing-top),
207
+ [padding-bottom]: var(--input-spacing-bottom),
208
+ padding-inline: 0,
209
+ margin: 0,
210
+ will-change: 'transform',
211
+ transform-origin: left,
212
+ transition: var(--transition-all),
213
+ ),
214
+ input: (
215
+ pseudo: (
216
+ placeholder: (
217
+ opacity: 0,
218
+ ),
219
+ ),
220
+ ),
221
+ ),
222
+ state: (
223
+ dirty: (
224
+ element: (
225
+ label: (
226
+ transform: translateY(-0.8em),
227
+ font-size: var(--text-12),
228
+ ),
229
+ input: (
230
+ [padding-top]:
231
+ calc(var(--input-spacing-top) + 0.55em),
232
+ [padding-bottom]:
233
+ calc(var(--input-spacing-bottom) - 0.55em),
234
+ pseudo: (
235
+ placeholder: (
236
+ opacity: 1,
237
+ ),
238
+ ),
174
239
  ),
175
240
  ),
176
241
  ),
@@ -0,0 +1,22 @@
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
+ [color]: transparent,
16
+ background-size: 200% 100%,
17
+ height: 1em,
18
+ border-radius: var(--rounded),
19
+ animation: var(--animation-shine),
20
+ ),
21
+ ),
22
+ ) !default;
@@ -0,0 +1,16 @@
1
+ $vv-tab: (
2
+ display: flex,
3
+ flex-direction: column,
4
+ element: (
5
+ panel: (
6
+ display: none,
7
+ padding: var(--spacing-lg),
8
+ line-height: var(--leading-normal),
9
+ state: (
10
+ target: (
11
+ display: block,
12
+ ),
13
+ ),
14
+ ),
15
+ ),
16
+ ) !default;
@@ -1,11 +1,22 @@
1
1
  $vv-table: (
2
+ --table-cell-padding: var(--spacing-md) 0,
2
3
  width: 100%,
4
+ border-collapse: collapse,
5
+ border-color: var(--color-surface-5),
3
6
  element: (
7
+ caption: (
8
+ _alias: 'caption',
9
+ caption-side: bottom,
10
+ ),
4
11
  tr: (
5
12
  _alias: 'tr',
6
13
  border-width: 0 0 1px 0,
7
14
  border-style: solid,
8
- border-color: var(--color-alpha-1),
15
+ border-color: var(--color-surface-5),
16
+ ),
17
+ tbody-tr: (
18
+ _alias: 'tbody > tr',
19
+ border-color: var(--color-surface-3),
9
20
  state: (
10
21
  last-child: (
11
22
  border-width: 0,
@@ -15,15 +26,23 @@ $vv-table: (
15
26
  th: (
16
27
  _alias: 'th',
17
28
  font-weight: semibold,
18
- padding-block: var(--spacing-md),
19
29
  font-size: var(--text-sm),
20
30
  color: var(--color-word-2),
31
+ vertical-align: middle,
32
+ [padding]: var(--table-cell-padding),
21
33
  ),
22
34
  td: (
23
35
  _alias: 'td',
24
- padding-block: var(--spacing-md),
25
36
  border-style: solid,
26
37
  font-size: var(--text-xs),
38
+ vertical-align: middle,
39
+ [padding]: var(--table-cell-padding),
40
+ ),
41
+ ),
42
+ modifier: (
43
+ inline-spacing: (
44
+ --table-cell-padding: var(--spacing-md),
45
+ border-width: 0,
27
46
  ),
28
47
  ),
29
48
  ) !default;
@@ -4,7 +4,6 @@ $vv-text: (
4
4
  line-height: var(--leading-normal),
5
5
  modifier: (
6
6
  headline: (
7
- font-family: var(--font-serif),
8
7
  font-weight: var(--font-semibold),
9
8
  line-height: var(--leading-tight),
10
9
  margin-top: var(--spacing-24),
@@ -13,6 +12,26 @@ $vv-text: (
13
12
  copy: (
14
13
  margin-block: var(--spacing-16),
15
14
  ),
15
+ link: (
16
+ color: var(--color-brand),
17
+ state: (
18
+ focus-visible: (
19
+ outline: var(--spacing-px) solid var(--color-brand),
20
+ outline-offset: var(--spacing-4),
21
+ ),
22
+ hover: (
23
+ text-decoration: underline,
24
+ text-underline-offset: var(--spacing-4),
25
+ ),
26
+ active: (
27
+ color: var(--color-brand-darken-3),
28
+ ),
29
+ disabled: (
30
+ opacity: 0.5,
31
+ cursor: not-allowed,
32
+ ),
33
+ ),
34
+ ),
16
35
  quote: (
17
36
  font-family: var(--font-serif),
18
37
  border-left: var(--spacing-4) solid var(--color-surface-3),
@@ -5,6 +5,7 @@ $vv-textarea: (
5
5
  margin-bottom: var(--input-gap),
6
6
  font-size: var(--input-font-size),
7
7
  line-height: var(--input-line-height),
8
+ min-width: var(--input-min-width),
8
9
  element: (
9
10
  label: (
10
11
  _alias: '> label',
@@ -17,6 +18,13 @@ $vv-textarea: (
17
18
  overflow: var(--input-label-overflow),
18
19
  max-width: var(--input-label-max-width),
19
20
  ),
21
+ limit: (
22
+ position: absolute,
23
+ right: var(--input-gap),
24
+ bottom: var(--input-gap),
25
+ font-size: var(--input-hint-font-size),
26
+ color: var(--input-hint-color),
27
+ ),
20
28
  wrapper: (
21
29
  position: relative,
22
30
  display: flex,
@@ -25,7 +33,8 @@ $vv-textarea: (
25
33
  overflow: hidden,
26
34
  background-color: var(--input-background-color),
27
35
  will-change: background-color,
28
- transition: background-color 0.2s ease-in-out,
36
+ transition: var(--transition-colors),
37
+ min-height: var(--spacing-50),
29
38
  pseudo: (
30
39
  before: (
31
40
  position: absolute,
@@ -41,7 +50,7 @@ $vv-textarea: (
41
50
  transform: scaleX(0),
42
51
  transform-origin: left,
43
52
  will-change: transform,
44
- transition: transform 0.2s ease-in-out,
53
+ transition: var(--transition-transform),
45
54
  ),
46
55
  ),
47
56
  state: (
@@ -63,9 +72,9 @@ $vv-textarea: (
63
72
  display: block,
64
73
  flex: 1,
65
74
  color: var(--input-color),
66
- [padding]: var(--input-padding-top) var(--input-padding-right)
67
- var(--input-padding-bottom) var(--input-padding-left),
68
- min-height: var(--spacing-50),
75
+ [padding]: var(--input-spacing-top) var(--input-spacing-right)
76
+ var(--input-spacing-bottom) var(--input-spacing-left),
77
+ overflow: auto,
69
78
  pseudo: (
70
79
  placeholder: (
71
80
  color: var(--input-placeholder-color),
@@ -82,8 +91,8 @@ $vv-textarea: (
82
91
  ),
83
92
  icon: (
84
93
  _alias: ':where(svg, [data-icon])',
85
- margin: var(--input-padding-top) var(--input-padding-right)
86
- var(--input-padding-bottom) var(--input-padding-left),
94
+ margin: var(--input-spacing-top) var(--input-spacing-right)
95
+ var(--input-spacing-bottom) var(--input-spacing-left),
87
96
  position: var(--input-icon-position),
88
97
  width: var(--input-icon-width),
89
98
  height: var(--input-icon-height),
@@ -117,10 +126,17 @@ $vv-textarea: (
117
126
  ),
118
127
  modifier: (
119
128
  icon-left: (
120
- --input-padding-left: calc(var(--spacing-sm) * 2 + 1em),
129
+ --input-spacing-left: calc(var(--spacing-sm) * 2 + 1em),
121
130
  ),
122
131
  icon-right: (
123
- --input-padding-right: calc(var(--spacing-sm) * 2 + 1em),
132
+ --input-spacing-right: calc(var(--spacing-sm) * 2 + 1em),
133
+ ),
134
+ resizable: (
135
+ element: (
136
+ input: (
137
+ resize: vertical,
138
+ ),
139
+ ),
124
140
  ),
125
141
  valid: (
126
142
  element: (
@@ -135,6 +151,9 @@ $vv-textarea: (
135
151
  hint: (
136
152
  color: var(--input-valid-color),
137
153
  ),
154
+ limit: (
155
+ color: var(--input-valid-color),
156
+ ),
138
157
  icon-right: (
139
158
  color: var(--input-valid-color),
140
159
  ),
@@ -153,6 +172,9 @@ $vv-textarea: (
153
172
  hint: (
154
173
  color: var(--input-invalid-color),
155
174
  ),
175
+ limit: (
176
+ color: var(--input-invalid-color),
177
+ ),
156
178
  icon-right: (
157
179
  color: var(--input-invalid-color),
158
180
  ),
@@ -167,40 +189,43 @@ $vv-textarea: (
167
189
  background: var(--color-brand-lighten-5),
168
190
  ),
169
191
  after: (
170
- animation: var(--animate-indeterminate),
192
+ animation: var(--animation-indeterminate),
171
193
  ),
172
194
  ),
173
195
  ),
174
196
  ),
175
197
  ),
176
198
  floating: (
177
- [margin-left]: var(--input-padding-left),
178
- [margin-right]: var(--input-padding-right),
199
+ [margin-left]: var(--input-spacing-left),
200
+ [margin-right]: var(--input-spacing-right),
179
201
  element: (
180
202
  wrapper: (
181
- [margin-left]: calc(var(--input-padding-left) * -1),
182
- [margin-right]: calc(var(--input-padding-right) * -1),
203
+ [margin-left]: calc(var(--input-spacing-left) * -1),
204
+ [margin-right]: calc(var(--input-spacing-right) * -1),
183
205
  ),
184
206
  hint: (
185
- [margin-left]: calc(var(--input-padding-left) * -1),
186
- [margin-right]: calc(var(--input-padding-right) * -1),
207
+ [margin-left]: calc(var(--input-spacing-left) * -1),
208
+ [margin-right]: calc(var(--input-spacing-right) * -1),
187
209
  ),
188
210
  label: (
189
211
  position: absolute,
190
212
  z-index: 1,
191
213
  pointer-events: none,
192
214
  font-size: inherit,
193
- [padding-top]: var(--input-padding-top),
194
- [padding-bottom]: var(--input-padding-bottom),
215
+ [padding-top]: var(--input-spacing-top),
216
+ [padding-bottom]: var(--input-spacing-bottom),
195
217
  padding-inline: 0,
196
218
  margin: 0,
197
219
  will-change: 'transform',
198
- transform-origin: left,
199
- transition: all 0.2s ease-in-out,
220
+ transition: var(--transition-all),
200
221
  ),
201
222
  input: (
223
+ will-change: 'transform',
224
+ transition: var(--transition-all),
202
225
  pseudo: (
203
226
  placeholder: (
227
+ will-change: 'opacity',
228
+ transition: var(--transition-opacity),
204
229
  opacity: 0,
205
230
  ),
206
231
  ),
@@ -210,11 +235,11 @@ $vv-textarea: (
210
235
  focus-within: (
211
236
  element: (
212
237
  label: (
213
- transform: translateY(-1.2ch),
238
+ transform: translateY(-0.8em),
214
239
  font-size: var(--text-12),
215
240
  ),
216
241
  input: (
217
- transform: translateY(0.85ch),
242
+ transform: translateY(0.55em),
218
243
  pseudo: (
219
244
  placeholder: (
220
245
  opacity: 1,
@@ -226,11 +251,11 @@ $vv-textarea: (
226
251
  dirty: (
227
252
  element: (
228
253
  label: (
229
- transform: translateY(-1.2ch),
254
+ transform: translateY(-0.8em),
230
255
  font-size: var(--text-12),
231
256
  ),
232
257
  input: (
233
- transform: translateY(0.85ch),
258
+ transform: translateY(0.55em),
234
259
  pseudo: (
235
260
  placeholder: (
236
261
  opacity: 1,