@volverjs/style 0.1.2-beta.9 → 0.1.3

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/LICENSE +1 -1
  2. package/README.md +53 -46
  3. package/dist/components/vv-accordion-group.css +1 -0
  4. package/dist/components/vv-accordion.css +1 -1
  5. package/dist/components/vv-alert.css +1 -0
  6. package/dist/components/vv-avatar.css +1 -0
  7. package/dist/components/vv-badge.css +1 -1
  8. package/dist/components/vv-breadcrumb.css +1 -1
  9. package/dist/components/vv-button-group.css +1 -1
  10. package/dist/components/vv-button.css +1 -1
  11. package/dist/components/vv-card.css +1 -1
  12. package/dist/components/vv-checkbox-group.css +1 -0
  13. package/dist/components/vv-checkbox.css +1 -0
  14. package/dist/components/vv-dialog.css +1 -1
  15. package/dist/components/vv-dropdown.css +1 -1
  16. package/dist/components/vv-input-text.css +1 -1
  17. package/dist/components/vv-nav.css +1 -1
  18. package/dist/components/vv-progress.css +1 -1
  19. package/dist/components/vv-radio-group.css +1 -0
  20. package/dist/components/vv-radio.css +1 -0
  21. package/dist/components/vv-select.css +1 -1
  22. package/dist/components/vv-skeleton.css +1 -0
  23. package/dist/components/vv-tab.css +1 -0
  24. package/dist/components/vv-table.css +1 -1
  25. package/dist/components/vv-text.css +1 -1
  26. package/dist/components/vv-textarea.css +1 -1
  27. package/dist/components/vv-toast.css +1 -0
  28. package/dist/components/vv-tooltip.css +1 -0
  29. package/dist/components.css +1 -1
  30. package/dist/export.css +1 -1
  31. package/dist/props/background.css +1 -1
  32. package/dist/props/breakpoints.css +1 -0
  33. package/dist/props/colors.css +1 -1
  34. package/dist/props/effects.css +1 -1
  35. package/dist/props/filters.css +1 -1
  36. package/dist/props/input.css +1 -1
  37. package/dist/props/layout.css +1 -1
  38. package/dist/props/spacing.css +1 -1
  39. package/dist/props/transitions.css +1 -0
  40. package/dist/props.css +1 -1
  41. package/dist/themes/dark/components.css +1 -1
  42. package/dist/themes/dark/props.css +1 -1
  43. package/dist/themes/dark/volver.css +1 -1
  44. package/dist/utilities/backgrounds.css +1 -1
  45. package/dist/utilities/borders.css +1 -1
  46. package/dist/utilities/colors.css +1 -1
  47. package/dist/utilities/effects.css +1 -1
  48. package/dist/utilities/filters.css +1 -1
  49. package/dist/utilities/flexbox.css +1 -1
  50. package/dist/utilities/interactivity.css +1 -0
  51. package/dist/utilities/layout.css +1 -1
  52. package/dist/utilities/sizing.css +1 -1
  53. package/dist/utilities/spacing.css +1 -1
  54. package/dist/utilities/tables.css +1 -0
  55. package/dist/utilities/transforms.css +1 -0
  56. package/dist/utilities/transitions.css +1 -0
  57. package/dist/utilities/typography.css +1 -1
  58. package/dist/utilities.css +1 -1
  59. package/dist/volver.css +1 -1
  60. package/package.json +62 -36
  61. package/src/_config.scss +18 -11
  62. package/src/_context.scss +3 -3
  63. package/src/_preflight.scss +308 -247
  64. package/src/components/index.scss +26 -19
  65. package/src/components/vv-accordion-group.scss +13 -0
  66. package/src/components/vv-accordion.scss +3 -2
  67. package/src/components/vv-alert.scss +13 -0
  68. package/src/components/vv-avatar.scss +13 -0
  69. package/src/components/vv-badge.scss +3 -2
  70. package/src/components/vv-breadcrumb.scss +3 -2
  71. package/src/components/vv-button-group.scss +11 -10
  72. package/src/components/vv-button.scss +5 -8
  73. package/src/components/vv-card.scss +3 -2
  74. package/src/components/vv-checkbox-group.scss +13 -0
  75. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +7 -6
  76. package/src/components/vv-dialog.scss +3 -2
  77. package/src/components/vv-dropdown.scss +3 -2
  78. package/src/components/vv-input-text.scss +6 -5
  79. package/src/components/vv-nav.scss +3 -2
  80. package/src/components/vv-progress.scss +3 -2
  81. package/src/components/vv-radio-group.scss +13 -0
  82. package/src/components/{vv-input-radio.scss → vv-radio.scss} +6 -5
  83. package/src/components/vv-select.scss +6 -5
  84. package/src/components/vv-skeleton.scss +14 -0
  85. package/src/components/vv-tab.scss +13 -0
  86. package/src/components/vv-table.scss +3 -2
  87. package/src/components/vv-text.scss +3 -2
  88. package/src/components/vv-textarea.scss +6 -5
  89. package/src/components/vv-toast.scss +13 -0
  90. package/src/components/vv-tooltip.scss +33 -0
  91. package/src/export.scss +138 -27
  92. package/src/props/background.scss +1 -1
  93. package/src/props/borders.scss +1 -1
  94. package/src/props/breakpoints.scss +15 -0
  95. package/src/props/colors.scss +1 -1
  96. package/src/props/effects.scss +2 -1
  97. package/src/props/filters.scss +2 -1
  98. package/src/props/index.scss +13 -12
  99. package/src/props/input.scss +1 -1
  100. package/src/props/layout.scss +1 -1
  101. package/src/props/media.scss +1 -1
  102. package/src/props/sizing.scss +1 -1
  103. package/src/props/spacing.scss +2 -2
  104. package/src/props/{animation.scss → transitions.scss} +53 -2
  105. package/src/props/typography.scss +2 -2
  106. package/src/settings/_background.scss +6 -1
  107. package/src/settings/_breakpoints.scss +2 -0
  108. package/src/settings/_colors.scss +23 -4
  109. package/src/settings/_effects.scss +47 -2
  110. package/src/settings/_filters.scss +9 -0
  111. package/src/settings/_index.scss +43 -33
  112. package/src/settings/_input.scss +8 -6
  113. package/src/settings/_interactivity.scss +39 -0
  114. package/src/settings/_layout.scss +30 -10
  115. package/src/settings/_spacing.scss +1 -0
  116. package/src/settings/_tables.scss +11 -0
  117. package/src/settings/_transforms.scss +50 -0
  118. package/src/settings/_transitions.scss +44 -0
  119. package/src/settings/components/_vv-accordion-group.scss +5 -0
  120. package/src/settings/components/_vv-accordion.scss +49 -34
  121. package/src/settings/components/_vv-alert.scss +161 -0
  122. package/src/settings/components/_vv-avatar.scss +55 -0
  123. package/src/settings/components/_vv-badge.scss +43 -11
  124. package/src/settings/components/_vv-breadcrumb.scss +23 -15
  125. package/src/settings/components/_vv-button-group.scss +4 -0
  126. package/src/settings/components/_vv-button.scss +31 -26
  127. package/src/settings/components/_vv-card.scss +2 -2
  128. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +2 -1
  129. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +47 -12
  130. package/src/settings/components/_vv-dialog.scss +72 -90
  131. package/src/settings/components/_vv-input-text.scss +89 -43
  132. package/src/settings/components/_vv-nav.scss +98 -13
  133. package/src/settings/components/_vv-progress.scss +1 -1
  134. package/src/settings/components/_vv-radio-group.scss +3 -0
  135. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +35 -6
  136. package/src/settings/components/_vv-select.scss +39 -48
  137. package/src/settings/components/_vv-skeleton.scss +22 -0
  138. package/src/settings/components/_vv-tab.scss +16 -0
  139. package/src/settings/components/_vv-table.scss +8 -1
  140. package/src/settings/components/_vv-text.scss +20 -0
  141. package/src/settings/components/_vv-textarea.scss +53 -28
  142. package/src/settings/components/_vv-toast.scss +259 -0
  143. package/src/settings/components/_vv-tooltip.scss +74 -0
  144. package/src/themes/dark/_context.scss +7 -4
  145. package/src/themes/dark/components/_vv-button.scss +2 -4
  146. package/src/themes/dark/components/index.scss +1 -2
  147. package/src/themes/dark/props/_background.scss +1 -1
  148. package/src/themes/dark/props/_colors.scss +1 -1
  149. package/src/themes/dark/props/_input.scss +15 -0
  150. package/src/themes/dark/props/index.scss +3 -2
  151. package/src/themes/dark/settings/_background.scss +5 -0
  152. package/src/themes/dark/settings/_colors.scss +22 -2
  153. package/src/themes/dark/settings/_index.scss +4 -4
  154. package/src/themes/dark/settings/_input.scss +8 -0
  155. package/src/themes/dark/settings/components/_vv-button.scss +9 -9
  156. package/src/themes/dark/volver.scss +2 -2
  157. package/src/tools/_breakpoints.scss +7 -7
  158. package/src/tools/_functions.scss +95 -37
  159. package/src/tools/_index.scss +3 -3
  160. package/src/tools/_mixins.scss +166 -35
  161. package/src/utilities/backgrounds.scss +15 -8
  162. package/src/utilities/borders.scss +22 -9
  163. package/src/utilities/colors.scss +9 -5
  164. package/src/utilities/effects.scss +23 -5
  165. package/src/utilities/filters.scss +15 -4
  166. package/src/utilities/flexbox.scss +15 -8
  167. package/src/utilities/grid.scss +17 -9
  168. package/src/utilities/index.scss +15 -12
  169. package/src/utilities/interactivity.scss +10 -0
  170. package/src/utilities/layout.scss +45 -28
  171. package/src/utilities/sizing.scss +23 -26
  172. package/src/utilities/spacing.scss +1 -1
  173. package/src/utilities/tables.scss +15 -0
  174. package/src/utilities/transforms.scss +111 -0
  175. package/src/utilities/transitions.scss +47 -0
  176. package/src/utilities/typography.scss +34 -17
  177. package/src/volver.scss +4 -4
  178. package/dist/components/vv-input-checkbox-group.css +0 -1
  179. package/dist/components/vv-input-checkbox.css +0 -1
  180. package/dist/components/vv-input-radio-group.css +0 -1
  181. package/dist/components/vv-input-radio.css +0 -1
  182. package/dist/props/animation.css +0 -1
  183. package/dist/utilities/animation.css +0 -1
  184. package/src/components/vv-input-checkbox-group.scss +0 -12
  185. package/src/components/vv-input-radio-group.scss +0 -12
  186. package/src/settings/_animation.scss +0 -9
  187. package/src/settings/components/_vv-input-radio-group.scss +0 -1
  188. package/src/themes/dark/components/_vv-input-checkbox.scss +0 -24
  189. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +0 -26
  190. package/src/utilities/animation.scss +0 -8
@@ -13,7 +13,7 @@ $vv-dialog: (
13
13
  border: 0,
14
14
  background-color: var(--color-backdrop),
15
15
  backdrop-filter: var(--blur-sm),
16
- opacity: 1,
16
+ opacity: var(--opacity-100),
17
17
  state: (
18
18
  close: (
19
19
  display: none,
@@ -26,7 +26,7 @@ $vv-dialog: (
26
26
  flex-direction: column,
27
27
  position: relative,
28
28
  box-shadow: var(--shadow-lg),
29
- max-width: clamp(30vw, 40rem, 50vw),
29
+ width: clamp(30vw, 40rem, 90vw),
30
30
  max-height: 90vh,
31
31
  z-index: var(--z-modal),
32
32
  background: var(--color-surface),
@@ -45,11 +45,17 @@ $vv-dialog: (
45
45
  border-bottom: var(--border) solid var(--color-surface-4),
46
46
  ),
47
47
  close: (
48
- display: flex,
48
+ inline-size: 1em,
49
+ block-size: 1em,
49
50
  cursor: pointer,
51
+ background-image: var(--bg-close),
52
+ background-position: center,
53
+ background-size: 100% auto,
54
+ background-repeat: no-repeat,
50
55
  ),
51
56
  content: (
52
57
  padding: var(--spacing-md),
58
+ line-height: var(--leading-normal),
53
59
  flex: 1,
54
60
  min-height: 0,
55
61
  overflow: auto,
@@ -63,119 +69,95 @@ $vv-dialog: (
63
69
  border-top: var(--border) solid var(--color-surface-4),
64
70
  ),
65
71
  ),
66
- modifier: (
67
- small: (
68
- element: (
69
- wrapper: (
70
- max-width: clamp(10vw, 25rem, 30vw),
72
+ transition: (
73
+ fade-block: (
74
+ active: (
75
+ transition: var(--transition-opacity),
76
+ element: (
77
+ wrapper: (
78
+ transition: var(--transition-transform),
79
+ ),
71
80
  ),
72
81
  ),
73
- ),
74
- fullscreen: (
75
- padding: 0,
76
- element: (
77
- wrapper: (
78
- border-radius: var(--rounded-0),
79
- max-width: auto,
80
- max-height: auto,
81
- width: 100%,
82
- height: 100%,
82
+ enter-from: (
83
+ opacity: var(--opacity-0),
84
+ element: (
85
+ wrapper: (
86
+ transform: translateY(100%),
87
+ ),
83
88
  ),
84
89
  ),
85
- ),
86
- fade-block-enter-active: (
87
- transition: opacity 0.3s ease-in-out,
88
- element: (
89
- wrapper: (
90
- transition: transform 0.3s ease-in-out,
90
+ leave-to: (
91
+ opacity: var(--opacity-0),
92
+ element: (
93
+ wrapper: (
94
+ transform: translateY(-100%),
95
+ ),
91
96
  ),
92
97
  ),
93
98
  ),
94
- fade-block-leave-active: (
95
- transition: opacity 0.3s ease-in-out,
96
- element: (
97
- wrapper: (
98
- 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
+ ),
99
106
  ),
100
107
  ),
101
- ),
102
- fade-block-enter-from: (
103
- opacity: 0,
104
- element: (
105
- wrapper: (
106
- transform: translateY(100%),
108
+ enter-from: (
109
+ opacity: var(--opacity-0),
110
+ element: (
111
+ wrapper: (
112
+ transform: translateX(-100%),
113
+ ),
107
114
  ),
108
115
  ),
109
- ),
110
- fade-block-leave-to: (
111
- opacity: 0,
112
- element: (
113
- wrapper: (
114
- transform: translateY(-100%),
116
+ leave-to: (
117
+ opacity: var(--opacity-0),
118
+ element: (
119
+ wrapper: (
120
+ transform: translateX(100%),
121
+ ),
115
122
  ),
116
123
  ),
117
124
  ),
118
- fade-inline-enter-active: (
119
- transition: opacity 0.3s ease-in-out,
120
- element: (
121
- wrapper: (
122
- 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
+ ),
123
132
  ),
124
133
  ),
125
- ),
126
- fade-inline-leave-active: (
127
- transition: opacity 0.3s ease-in-out,
128
- element: (
129
- wrapper: (
130
- transition: transform 0.3s ease-in-out,
134
+ inert: (
135
+ opacity: var(--opacity-0),
136
+ element: (
137
+ wrapper: (
138
+ transform: scale(0%),
139
+ ),
131
140
  ),
132
141
  ),
133
142
  ),
134
- fade-inline-enter-from: (
135
- opacity: 0,
136
- element: (
137
- wrapper: (
138
- transform: translateX(-100%),
139
- ),
140
- ),
141
- ),
142
- fade-inline-leave-to: (
143
- opacity: 0,
144
- element: (
145
- wrapper: (
146
- transform: translateX(100%),
147
- ),
148
- ),
149
- ),
150
- scale-enter-active: (
151
- transition: opacity 0.3s ease-in-out,
152
- element: (
153
- wrapper: (
154
- transition: transform 0.3s ease-in-out,
155
- ),
156
- ),
157
- ),
158
- scale-leave-active: (
159
- transition: opacity 0.3s ease-in-out,
160
- element: (
161
- wrapper: (
162
- transition: transform 0.3s ease-in-out,
163
- ),
164
- ),
165
- ),
166
- scale-enter-from: (
167
- opacity: 0,
143
+ ),
144
+ modifier: (
145
+ small: (
168
146
  element: (
169
147
  wrapper: (
170
- transform: scale(0%),
148
+ width: clamp(10vw, 25rem, 90vw),
171
149
  ),
172
150
  ),
173
151
  ),
174
- scale-leave-to: (
175
- opacity: 0,
152
+ fullscreen: (
153
+ padding: 0,
176
154
  element: (
177
155
  wrapper: (
178
- transform: scale(0%),
156
+ border-radius: var(--rounded-0),
157
+ max-width: auto,
158
+ max-height: auto,
159
+ width: 100%,
160
+ height: 100%,
179
161
  ),
180
162
  ),
181
163
  ),
@@ -5,6 +5,7 @@ $vv-input-text: (
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',
@@ -25,7 +26,8 @@ $vv-input-text: (
25
26
  overflow: hidden,
26
27
  background-color: var(--input-background-color),
27
28
  will-change: background-color,
28
- transition: background-color 0.3s ease-in-out,
29
+ transition: var(--transition-colors),
30
+ min-height: var(--spacing-50),
29
31
  pseudo: (
30
32
  before: (
31
33
  position: absolute,
@@ -41,7 +43,7 @@ $vv-input-text: (
41
43
  transform: scaleX(0),
42
44
  transform-origin: left,
43
45
  will-change: transform,
44
- transition: transform 0.3s ease-in-out,
46
+ transition: var(--transition-transform),
45
47
  ),
46
48
  ),
47
49
  state: (
@@ -63,9 +65,11 @@ $vv-input-text: (
63
65
  display: block,
64
66
  flex: 1,
65
67
  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),
68
+ [margin-block]: var(--input-spacing-top) var(--input-spacing-bottom),
69
+ [padding-inline]: var(--input-spacing-left)
70
+ var(--input-spacing-right),
71
+ min-width: 0,
72
+ block-size: calc(var(--input-line-height) * var(--input-font-size)),
69
73
  pseudo: (
70
74
  placeholder: (
71
75
  color: var(--input-placeholder-color),
@@ -75,22 +79,19 @@ $vv-input-text: (
75
79
  padding: var(--spacing-sm),
76
80
  top: 0,
77
81
  right: 0,
78
- opacity: 0,
82
+ opacity: var(--opacity-0),
79
83
  ),
80
84
  search-cancel-button: (
81
- display: none,
85
+ -webkit-appearance: none,
86
+ opacity: var(--opacity-0),
82
87
  ),
83
88
  color-swatch-wrapper: (
84
- display: block,
85
- border: none,
86
- height: 100%,
87
- padding: 0,
89
+ padding: 1px,
88
90
  ),
89
91
  color-swatch: (
90
- display: block,
91
- border: none,
92
92
  height: var(--spacing-20),
93
93
  border-radius: var(--spacing-4),
94
+ padding: 0,
94
95
  ),
95
96
  outer-spin-button: (
96
97
  display: none,
@@ -98,6 +99,12 @@ $vv-input-text: (
98
99
  inner-spin-button: (
99
100
  display: none,
100
101
  ),
102
+ datetime-edit-fields-wrapper: (
103
+ padding: 0,
104
+ ),
105
+ datetime-edit-day-field: (
106
+ padding: 0,
107
+ ),
101
108
  ),
102
109
  state: (
103
110
  disabled: (
@@ -114,35 +121,52 @@ $vv-input-text: (
114
121
  ),
115
122
  icon: (
116
123
  _alias: ':where(svg, [data-icon])',
117
- margin: var(--input-padding-top) var(--input-padding-right)
118
- var(--input-padding-bottom) var(--input-padding-left),
119
- position: var(--input-icon-position),
124
+ margin: var(--input-spacing-top) var(--input-spacing-right)
125
+ var(--input-spacing-bottom) var(--input-spacing-left),
120
126
  width: var(--input-icon-width),
121
127
  height: var(--input-icon-height),
122
128
  padding: var(--input-icon-padding),
129
+ ),
130
+ icon-left: (
131
+ _alias: '> div > :where(svg, [data-icon])',
132
+ position: var(--input-icon-position),
123
133
  pointer-events: var(--input-icon-pointer-events),
124
134
  ),
125
135
  icon-right: (
126
136
  _alias: 'input + :where(svg, [data-icon])',
137
+ position: var(--input-icon-position),
138
+ pointer-events: var(--input-icon-pointer-events),
127
139
  right: 0,
128
140
  ),
129
141
  actions-group: (
130
142
  display: flex,
131
143
  flex-direction: column,
132
- position: absolute,
133
- right: 0,
134
- top: 0,
135
- bottom: var(--spacing-px),
144
+ height: var(--input-min-height),
145
+ ),
146
+ action: (
147
+ cursor: pointer,
148
+ state: (
149
+ focus-visible: (
150
+ text-shadow: 0 1px 0 var(--color-gray-darken-5),
151
+ ),
152
+ ),
136
153
  ),
137
154
  action-chevron: (
138
155
  flex: 1,
139
- width: calc(1em + var(--spacing-sm) * 2),
156
+ width:
157
+ calc(
158
+ var(--input-icon-width) + var(--input-spacing-left) +
159
+ var(--input-spacing-right)
160
+ ),
140
161
  background-position: center var(--spacing-2),
141
162
  background-size: var(--text-14) auto,
142
163
  background-repeat: no-repeat,
143
164
  background-image: var(--bg-chevron),
144
165
  cursor: pointer,
145
166
  state: (
167
+ focus-visible: (
168
+ background-color: var(--color-surface-3),
169
+ ),
146
170
  hover: (
147
171
  background-color: var(--color-surface-4),
148
172
  ),
@@ -166,13 +190,23 @@ $vv-input-text: (
166
190
  overflow: var(--input-hint-overflow),
167
191
  max-width: var(--input-hint-max-width),
168
192
  ),
193
+ limit: (
194
+ [padding-right]: var(--input-spacing-right),
195
+ font-size: var(--input-hint-font-size),
196
+ color: var(--input-hint-color),
197
+ ),
169
198
  ),
170
199
  modifier: (
171
200
  icon-left: (
172
- --input-padding-left: calc(var(--spacing-sm) * 2 + 1em),
201
+ --input-spacing-left: calc(var(--spacing-sm) * 2 + 1em),
173
202
  ),
174
203
  icon-right: (
175
- --input-padding-right: calc(var(--spacing-sm) * 2 + 1em),
204
+ --input-spacing-right: calc(var(--spacing-sm) * 2 + 1em),
205
+ element: (
206
+ limit: (
207
+ margin-left: calc((var(--spacing-sm) + 1em) * -1),
208
+ ),
209
+ ),
176
210
  ),
177
211
  valid: (
178
212
  element: (
@@ -187,6 +221,9 @@ $vv-input-text: (
187
221
  hint: (
188
222
  color: var(--input-valid-color),
189
223
  ),
224
+ limit: (
225
+ color: var(--input-valid-color),
226
+ ),
190
227
  icon-right: (
191
228
  color: var(--input-valid-color),
192
229
  ),
@@ -205,6 +242,9 @@ $vv-input-text: (
205
242
  hint: (
206
243
  color: var(--input-invalid-color),
207
244
  ),
245
+ limit: (
246
+ color: var(--input-invalid-color),
247
+ ),
208
248
  icon-right: (
209
249
  color: var(--input-invalid-color),
210
250
  ),
@@ -219,41 +259,47 @@ $vv-input-text: (
219
259
  background: var(--color-brand-lighten-5),
220
260
  ),
221
261
  after: (
222
- animation: var(--animate-indeterminate),
262
+ animation: var(--animation-indeterminate),
223
263
  ),
224
264
  ),
225
265
  ),
226
266
  ),
227
267
  ),
228
268
  floating: (
229
- [margin-left]: var(--input-padding-left),
230
- [margin-right]: var(--input-padding-right),
269
+ [margin-left]: var(--input-spacing-left),
270
+ [margin-right]: var(--input-spacing-right),
231
271
  element: (
232
272
  wrapper: (
233
- [margin-left]: calc(var(--input-padding-left) * -1),
234
- [margin-right]: calc(var(--input-padding-right) * -1),
273
+ [margin-left]: calc(var(--input-spacing-left) * -1),
274
+ [margin-right]: calc(var(--input-spacing-right) * -1),
235
275
  ),
236
276
  hint: (
237
- [margin-left]: calc(var(--input-padding-left) * -1),
238
- [margin-right]: calc(var(--input-padding-right) * -1),
277
+ [margin-left]: calc(var(--input-spacing-left) * -1),
278
+ [margin-right]: calc(var(--input-spacing-right) * -1),
239
279
  ),
240
280
  label: (
241
281
  position: absolute,
242
282
  z-index: 1,
283
+ display: flex,
284
+ align-items: center,
285
+ min-height: var(--input-min-height),
243
286
  pointer-events: none,
244
287
  font-size: inherit,
245
- [padding-top]: var(--input-padding-top),
246
- [padding-bottom]: var(--input-padding-bottom),
288
+ [padding-top]: var(--input-spacing-top),
289
+ [padding-bottom]: var(--input-spacing-bottom),
247
290
  padding-inline: 0,
248
291
  margin: 0,
249
292
  will-change: 'transform',
250
- transform-origin: left,
251
- transition: all 0.3s ease-in-out,
293
+ transition: var(--transition-all),
252
294
  ),
253
295
  input: (
296
+ will-change: 'transform',
297
+ transition: var(--transition-all),
254
298
  pseudo: (
255
299
  placeholder: (
256
- opacity: 0,
300
+ will-change: 'opacity',
301
+ transition: var(--transition-opacity),
302
+ opacity: var(--opacity-0),
257
303
  ),
258
304
  ),
259
305
  ),
@@ -262,14 +308,14 @@ $vv-input-text: (
262
308
  focus-within: (
263
309
  element: (
264
310
  label: (
265
- transform: translateY(-1.2ch),
311
+ transform: translateY(-0.8em),
266
312
  font-size: var(--text-12),
267
313
  ),
268
314
  input: (
269
- transform: translateY(0.85ch),
315
+ transform: translateY(0.55em),
270
316
  pseudo: (
271
317
  placeholder: (
272
- opacity: 1,
318
+ opacity: var(--opacity-100),
273
319
  ),
274
320
  ),
275
321
  ),
@@ -278,14 +324,14 @@ $vv-input-text: (
278
324
  dirty: (
279
325
  element: (
280
326
  label: (
281
- transform: translateY(-1.2ch),
327
+ transform: translateY(-0.8em),
282
328
  font-size: var(--text-12),
283
329
  ),
284
330
  input: (
285
- transform: translateY(0.85ch),
331
+ transform: translateY(0.55em),
286
332
  pseudo: (
287
333
  placeholder: (
288
- opacity: 1,
334
+ opacity: var(--opacity-100),
289
335
  ),
290
336
  ),
291
337
  ),
@@ -296,7 +342,7 @@ $vv-input-text: (
296
342
  ),
297
343
  state: (
298
344
  disabled: (
299
- opacity: 0.5,
345
+ opacity: var(--opacity-50),
300
346
  element: (
301
347
  wrapper: (
302
348
  state: (
@@ -312,7 +358,7 @@ $vv-input-text: (
312
358
  wrapper: (
313
359
  pseudo: (
314
360
  after: (
315
- opacity: 0,
361
+ opacity: var(--opacity-0),
316
362
  ),
317
363
  ),
318
364
  state: (
@@ -1,5 +1,6 @@
1
1
  $vv-nav: (
2
2
  --nav-item-padding: var(--spacing-xs) var(--spacing-sm),
3
+ display: flex,
3
4
  element: (
4
5
  menu: (
5
6
  _alias: 'ul',
@@ -12,29 +13,23 @@ $vv-nav: (
12
13
  _alias: 'li',
13
14
  ),
14
15
  heading-label: (
15
- _alias: '[aria-hidden="true"]',
16
16
  display: block,
17
17
  font-weight: var(--font-semibold),
18
18
  [padding]: var(--nav-item-padding),
19
19
  ),
20
20
  item-label: (
21
21
  _alias: 'li > a',
22
- display: block,
22
+ display: flex,
23
+ align-items: center,
23
24
  will-change: background-color color,
24
- transition: all 0.3s ease-in-out,
25
- border-radius: var(--rounded-md),
25
+ transition: var(--transition-all),
26
26
  color: var(--color-word-3),
27
27
  [padding]: var(--nav-item-padding),
28
28
  state: (
29
29
  hover: (
30
- background-color: var(--color-surface-2),
31
30
  color: var(--color-word-1),
32
31
  ),
33
- active: (
34
- background-color: var(--color-surface-3),
35
- ),
36
32
  current: (
37
- background-color: var(--color-surface-2),
38
33
  color: var(--color-word-1),
39
34
  ),
40
35
  ),
@@ -48,10 +43,100 @@ $vv-nav: (
48
43
  ),
49
44
  ),
50
45
  modifier: (
51
- menu: (
52
- font-size: 0.9em,
53
- display: flex,
54
- flex-direction: column,
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
+ ),
55
140
  ),
56
141
  ),
57
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;