@volverjs/style 0.0.0

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 (104) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +139 -0
  3. package/package.json +158 -0
  4. package/src/_config.scss +32 -0
  5. package/src/_context.scss +11 -0
  6. package/src/assets/24consulting.svg +63 -0
  7. package/src/assets/volverjs.svg +15 -0
  8. package/src/components/index.scss +17 -0
  9. package/src/components/vv-badge.scss +12 -0
  10. package/src/components/vv-button-group.scss +115 -0
  11. package/src/components/vv-button.scss +57 -0
  12. package/src/components/vv-card.scss +12 -0
  13. package/src/components/vv-collapse.scss +12 -0
  14. package/src/components/vv-dialog.scss +12 -0
  15. package/src/components/vv-dropdown.scss +12 -0
  16. package/src/components/vv-input-checkbox-group.scss +12 -0
  17. package/src/components/vv-input-checkbox.scss +28 -0
  18. package/src/components/vv-input-radio-group.scss +12 -0
  19. package/src/components/vv-input-radio.scss +20 -0
  20. package/src/components/vv-input-text.scss +49 -0
  21. package/src/components/vv-progress.scss +12 -0
  22. package/src/components/vv-select.scss +49 -0
  23. package/src/components/vv-table.scss +12 -0
  24. package/src/components/vv-text.scss +12 -0
  25. package/src/components/vv-textarea.scss +49 -0
  26. package/src/export.scss +411 -0
  27. package/src/preflight.scss +281 -0
  28. package/src/props/animation.scss +80 -0
  29. package/src/props/background.scss +5 -0
  30. package/src/props/borders.scss +6 -0
  31. package/src/props/colors.scss +5 -0
  32. package/src/props/effects.scss +5 -0
  33. package/src/props/filters.scss +6 -0
  34. package/src/props/index.scss +12 -0
  35. package/src/props/input.scss +5 -0
  36. package/src/props/layout.scss +6 -0
  37. package/src/props/media.scss +49 -0
  38. package/src/props/sizing.scss +6 -0
  39. package/src/props/spacing.scss +27 -0
  40. package/src/props/typography.scss +38 -0
  41. package/src/reset.scss +88 -0
  42. package/src/settings/_animation.scss +9 -0
  43. package/src/settings/_background.scss +56 -0
  44. package/src/settings/_borders.scss +24 -0
  45. package/src/settings/_breakpoints.scss +13 -0
  46. package/src/settings/_colors.scss +39 -0
  47. package/src/settings/_effects.scss +39 -0
  48. package/src/settings/_filters.scss +26 -0
  49. package/src/settings/_flexbox.scss +66 -0
  50. package/src/settings/_grid.scss +104 -0
  51. package/src/settings/_index.scss +34 -0
  52. package/src/settings/_input.scss +51 -0
  53. package/src/settings/_layout.scss +109 -0
  54. package/src/settings/_sizing.scss +99 -0
  55. package/src/settings/_spacing.scss +77 -0
  56. package/src/settings/_typography.scss +179 -0
  57. package/src/settings/components/_vv-badge.scss +43 -0
  58. package/src/settings/components/_vv-button-group.scss +20 -0
  59. package/src/settings/components/_vv-button.scss +214 -0
  60. package/src/settings/components/_vv-card.scss +74 -0
  61. package/src/settings/components/_vv-collapse.scss +111 -0
  62. package/src/settings/components/_vv-dialog.scss +183 -0
  63. package/src/settings/components/_vv-dropdown.scss +37 -0
  64. package/src/settings/components/_vv-input-checkbox-group.scss +60 -0
  65. package/src/settings/components/_vv-input-checkbox.scss +92 -0
  66. package/src/settings/components/_vv-input-radio-group.scss +1 -0
  67. package/src/settings/components/_vv-input-radio.scss +60 -0
  68. package/src/settings/components/_vv-input-text.scss +327 -0
  69. package/src/settings/components/_vv-progress.scss +45 -0
  70. package/src/settings/components/_vv-select.scss +216 -0
  71. package/src/settings/components/_vv-table.scss +29 -0
  72. package/src/settings/components/_vv-text.scss +42 -0
  73. package/src/settings/components/_vv-textarea.scss +275 -0
  74. package/src/style.scss +14 -0
  75. package/src/themes/dark/_context.scss +8 -0
  76. package/src/themes/dark/components/_vv-button.scss +24 -0
  77. package/src/themes/dark/components/_vv-input-checkbox.scss +24 -0
  78. package/src/themes/dark/components/index.scss +2 -0
  79. package/src/themes/dark/props/_background.scss +15 -0
  80. package/src/themes/dark/props/_colors.scss +15 -0
  81. package/src/themes/dark/props/index.scss +2 -0
  82. package/src/themes/dark/settings/_background.scss +12 -0
  83. package/src/themes/dark/settings/_colors.scss +15 -0
  84. package/src/themes/dark/settings/_index.scss +5 -0
  85. package/src/themes/dark/settings/components/_vv-button.scss +58 -0
  86. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +26 -0
  87. package/src/themes/dark/style.scss +5 -0
  88. package/src/tools/_breakpoints.scss +126 -0
  89. package/src/tools/_functions.scss +138 -0
  90. package/src/tools/_index.scss +3 -0
  91. package/src/tools/_mixins.scss +902 -0
  92. package/src/utilities/animation.scss +8 -0
  93. package/src/utilities/backgrounds.scss +50 -0
  94. package/src/utilities/borders.scss +79 -0
  95. package/src/utilities/colors.scss +33 -0
  96. package/src/utilities/effects.scss +15 -0
  97. package/src/utilities/filters.scss +22 -0
  98. package/src/utilities/flexbox.scss +113 -0
  99. package/src/utilities/grid.scss +68 -0
  100. package/src/utilities/index.scss +12 -0
  101. package/src/utilities/layout.scss +188 -0
  102. package/src/utilities/sizing.scss +80 -0
  103. package/src/utilities/spacing.scss +109 -0
  104. package/src/utilities/typography.scss +226 -0
@@ -0,0 +1,92 @@
1
+ $vv-input-checkbox: (
2
+ display: inline-flex,
3
+ flex-wrap: nowrap,
4
+ align-items: center,
5
+ cursor: pointer,
6
+ user-select: none,
7
+ margin: 0 var(--input-gap) var(--input-gap) 0,
8
+ color: var(--input-color),
9
+ font-size: var(--input-font-size),
10
+ line-height: var(--input-line-height),
11
+ state: (
12
+ disabled: (
13
+ opacity: 0.3,
14
+ cursor: not-allowed,
15
+ ),
16
+ readonly: (
17
+ cursor: default,
18
+ pointer-events: none,
19
+ ),
20
+ ),
21
+ element: (
22
+ input: (
23
+ _alias: "> input[type='checkbox']",
24
+ border: var(--spacing-2) solid var(--input-color),
25
+ width: var(--spacing-20),
26
+ height: var(--spacing-20),
27
+ margin: 0 var(--input-label-gap) 0 0,
28
+ background-position: center,
29
+ background-size: var(--text-12) auto,
30
+ background-repeat: no-repeat,
31
+ cursor: pointer,
32
+ position: relative,
33
+ state: (
34
+ checked: (
35
+ background-image: var(--bg-check),
36
+ ),
37
+ indeterminate: (
38
+ background-image: var(--bg-minus),
39
+ ),
40
+ focus-visible: (
41
+ outline: var(--spacing-px) solid var(--color-brand),
42
+ outline-offset: var(--spacing-2),
43
+ ),
44
+ ),
45
+ ),
46
+ ),
47
+ modifier: (
48
+ switch: (
49
+ element: (
50
+ input: (
51
+ border: 0,
52
+ width: var(--spacing-44),
53
+ height: var(--spacing-24),
54
+ border-radius: var(--spacing-12),
55
+ background-color: var(--color-word-5),
56
+ position: relative,
57
+ will-change: background-color,
58
+ transition: background-color 0.2s ease-in-out,
59
+ pseudo: (
60
+ after: (
61
+ width: var(--spacing-20),
62
+ height: var(--spacing-20),
63
+ border-radius: 50%,
64
+ position: absolute,
65
+ inset: var(--spacing-2) 0 0 var(--spacing-2),
66
+ background: var(--color-white),
67
+ will-change: transform,
68
+ transition: transform 0.2s ease-in-out,
69
+ ),
70
+ ),
71
+ state: (
72
+ hover: (
73
+ background-color: var(--color-word-4),
74
+ ),
75
+ active: (
76
+ background-color: var(--color-word-3),
77
+ ),
78
+ checked: (
79
+ background-image: none,
80
+ background-color: var(--color-brand),
81
+ pseudo: (
82
+ after: (
83
+ transform: translateX(100%),
84
+ ),
85
+ ),
86
+ ),
87
+ ),
88
+ ),
89
+ ),
90
+ ),
91
+ ),
92
+ ) !default;
@@ -0,0 +1 @@
1
+ $vv-input-radio-group: $vv-input-checkbox-group !default;
@@ -0,0 +1,60 @@
1
+ $vv-input-radio: (
2
+ display: inline-flex,
3
+ flex-wrap: nowrap,
4
+ align-items: center,
5
+ cursor: pointer,
6
+ user-select: none,
7
+ margin: 0 var(--input-gap) var(--input-gap) 0,
8
+ color: var(--input-color),
9
+ font-size: var(--input-font-size),
10
+ line-height: var(--input-line-height),
11
+ state: (
12
+ disabled: (
13
+ opacity: 0.3,
14
+ cursor: not-allowed,
15
+ ),
16
+ readonly: (
17
+ cursor: default,
18
+ pointer-events: none,
19
+ ),
20
+ ),
21
+ element: (
22
+ input: (
23
+ _alias: "> input[type='radio']",
24
+ border: var(--spacing-2) solid var(--input-color),
25
+ width: var(--spacing-20),
26
+ height: var(--spacing-20),
27
+ border-radius: 50%,
28
+ margin: 0 var(--input-label-gap) 0 0,
29
+ background: transparent,
30
+ cursor: pointer,
31
+ position: relative,
32
+ pseudo: (
33
+ after: (
34
+ position: absolute,
35
+ width: 70%,
36
+ height: 70%,
37
+ background: var(--input-color),
38
+ inset: 50% 50%,
39
+ border-radius: 50%,
40
+ transform: translate(-50%, -50%) scale(0),
41
+ will-change: transform,
42
+ transition: transform 0.2s ease-in-out,
43
+ ),
44
+ ),
45
+ state: (
46
+ checked: (
47
+ pseudo: (
48
+ after: (
49
+ transform: translate(-50%, -50%) scale(1),
50
+ ),
51
+ ),
52
+ ),
53
+ focus-visible: (
54
+ outline: var(--spacing-px) solid var(--color-brand),
55
+ outline-offset: var(--spacing-2),
56
+ ),
57
+ ),
58
+ ),
59
+ ),
60
+ ) !default;
@@ -0,0 +1,327 @@
1
+ $vv-input-text: (
2
+ display: var(--input-display),
3
+ flex: var(--input-flex),
4
+ flex-direction: var(--input-flex-direction),
5
+ margin-bottom: var(--input-gap),
6
+ font-size: var(--input-font-size),
7
+ line-height: var(--input-line-height),
8
+ element: (
9
+ label: (
10
+ _alias: '> label',
11
+ display: var(--input-label-display),
12
+ font-size: var(--input-label-font-size),
13
+ color: var(--input-label-color),
14
+ margin: 0 0 var(--input-label-gap) 0,
15
+ white-space: var(--input-label-white-space),
16
+ text-overflow: var(--input-label-text-overflow),
17
+ overflow: var(--input-label-overflow),
18
+ max-width: var(--input-label-max-width),
19
+ ),
20
+ wrapper: (
21
+ position: relative,
22
+ display: flex,
23
+ align-items: center,
24
+ flex: 1,
25
+ overflow: hidden,
26
+ background-color: var(--input-background-color),
27
+ will-change: background-color,
28
+ transition: background-color 0.2s ease-in-out,
29
+ pseudo: (
30
+ before: (
31
+ position: absolute,
32
+ height: var(--spacing-1),
33
+ inset: auto 0 0 0,
34
+ background: var(--color-word-5),
35
+ ),
36
+ after: (
37
+ position: absolute,
38
+ height: var(--spacing-2),
39
+ inset: auto 0 0 0,
40
+ background: var(--color-brand),
41
+ transform: scaleX(0),
42
+ transform-origin: left,
43
+ will-change: transform,
44
+ transition: transform 0.2s ease-in-out,
45
+ ),
46
+ ),
47
+ state: (
48
+ hover: (
49
+ background-color: var(--color-surface-3),
50
+ ),
51
+ focus-within: (
52
+ background-color: var(--color-surface-2),
53
+ pseudo: (
54
+ after: (
55
+ transform: scaleX(1),
56
+ ),
57
+ ),
58
+ ),
59
+ ),
60
+ ),
61
+ input: (
62
+ _alias: 'input',
63
+ display: block,
64
+ flex: 1,
65
+ 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),
69
+ pseudo: (
70
+ placeholder: (
71
+ color: var(--input-placeholder-color),
72
+ ),
73
+ calendar-picker-indicator: (
74
+ position: absolute,
75
+ padding: var(--spacing-sm),
76
+ top: 0,
77
+ right: 0,
78
+ opacity: 0,
79
+ ),
80
+ search-cancel-button: (
81
+ display: none,
82
+ ),
83
+ color-swatch-wrapper: (
84
+ display: block,
85
+ border: none,
86
+ height: 100%,
87
+ padding: 0,
88
+ ),
89
+ color-swatch: (
90
+ display: block,
91
+ border: none,
92
+ height: var(--spacing-20),
93
+ border-radius: var(--spacing-4),
94
+ ),
95
+ outer-spin-button: (
96
+ display: none,
97
+ ),
98
+ inner-spin-button: (
99
+ display: none,
100
+ ),
101
+ ),
102
+ state: (
103
+ disabled: (
104
+ cursor: not-allowed,
105
+ ),
106
+ readonly: (
107
+ cursor: text,
108
+ ),
109
+ ),
110
+ ),
111
+ number: (
112
+ _alias: 'input[type="number"]',
113
+ -moz-appearance: textfield,
114
+ ),
115
+ icon: (
116
+ _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),
120
+ width: var(--input-icon-width),
121
+ height: var(--input-icon-height),
122
+ padding: var(--input-icon-padding),
123
+ pointer-events: var(--input-icon-pointer-events),
124
+ ),
125
+ icon-right: (
126
+ _alias: 'input + :where(svg, [data-icon])',
127
+ right: 0,
128
+ ),
129
+ actions-group: (
130
+ display: flex,
131
+ flex-direction: column,
132
+ position: absolute,
133
+ right: 0,
134
+ top: 0,
135
+ bottom: var(--spacing-px),
136
+ ),
137
+ action-chevron: (
138
+ flex: 1,
139
+ width: calc(1em + var(--spacing-sm) * 2),
140
+ background-position: center var(--spacing-2),
141
+ background-size: var(--text-14) auto,
142
+ background-repeat: no-repeat,
143
+ background-image: var(--bg-chevron),
144
+ cursor: pointer,
145
+ state: (
146
+ hover: (
147
+ background-color: var(--color-surface-4),
148
+ ),
149
+ active: (
150
+ background-color: var(--color-surface-5),
151
+ ),
152
+ ),
153
+ ),
154
+ action-chevron-up: (
155
+ transform: rotate(180deg),
156
+ ),
157
+ hint: (
158
+ _alias: '> small',
159
+ display: var(--input-hint-display),
160
+ font-size: var(--input-hint-font-size),
161
+ color: var(--input-hint-color),
162
+ padding-top: var(--input-hint-gap),
163
+ padding-inline: var(--spacing-xs),
164
+ white-space: var(--input-hint-white-space),
165
+ text-overflow: var(--input-hint-text-overflow),
166
+ overflow: var(--input-hint-overflow),
167
+ max-width: var(--input-hint-max-width),
168
+ ),
169
+ ),
170
+ modifier: (
171
+ icon-left: (
172
+ --input-padding-left: calc(var(--spacing-sm) * 2 + 1em),
173
+ ),
174
+ icon-right: (
175
+ --input-padding-right: calc(var(--spacing-sm) * 2 + 1em),
176
+ ),
177
+ valid: (
178
+ element: (
179
+ wrapper: (
180
+ pseudo: (
181
+ after: (
182
+ background: var(--input-valid-color),
183
+ transform: scaleX(1),
184
+ ),
185
+ ),
186
+ ),
187
+ hint: (
188
+ color: var(--input-valid-color),
189
+ ),
190
+ icon-right: (
191
+ color: var(--input-valid-color),
192
+ ),
193
+ ),
194
+ ),
195
+ invalid: (
196
+ element: (
197
+ wrapper: (
198
+ pseudo: (
199
+ after: (
200
+ background: var(--input-invalid-color),
201
+ transform: scaleX(1),
202
+ ),
203
+ ),
204
+ ),
205
+ hint: (
206
+ color: var(--input-invalid-color),
207
+ ),
208
+ icon-right: (
209
+ color: var(--input-invalid-color),
210
+ ),
211
+ ),
212
+ ),
213
+ loading: (
214
+ element: (
215
+ wrapper: (
216
+ pseudo: (
217
+ before: (
218
+ height: 2px,
219
+ background: var(--color-brand-lighten-5),
220
+ ),
221
+ after: (
222
+ animation: var(--animate-indeterminate),
223
+ ),
224
+ ),
225
+ ),
226
+ ),
227
+ ),
228
+ floating: (
229
+ [margin-left]: var(--input-padding-left),
230
+ [margin-right]: var(--input-padding-right),
231
+ element: (
232
+ wrapper: (
233
+ [margin-left]: calc(var(--input-padding-left) * -1),
234
+ [margin-right]: calc(var(--input-padding-right) * -1),
235
+ ),
236
+ hint: (
237
+ [margin-left]: calc(var(--input-padding-left) * -1),
238
+ [margin-right]: calc(var(--input-padding-right) * -1),
239
+ ),
240
+ label: (
241
+ position: absolute,
242
+ z-index: 1,
243
+ pointer-events: none,
244
+ font-size: inherit,
245
+ [padding-top]: var(--input-padding-top),
246
+ [padding-bottom]: var(--input-padding-bottom),
247
+ padding-inline: 0,
248
+ margin: 0,
249
+ will-change: 'transform',
250
+ transform-origin: left,
251
+ transition: all 0.2s ease-in-out,
252
+ ),
253
+ input: (
254
+ pseudo: (
255
+ placeholder: (
256
+ opacity: 0,
257
+ ),
258
+ ),
259
+ ),
260
+ ),
261
+ state: (
262
+ focus-within: (
263
+ element: (
264
+ label: (
265
+ transform: translateY(-1.2ch),
266
+ font-size: var(--text-12),
267
+ ),
268
+ input: (
269
+ transform: translateY(0.85ch),
270
+ pseudo: (
271
+ placeholder: (
272
+ opacity: 1,
273
+ ),
274
+ ),
275
+ ),
276
+ ),
277
+ ),
278
+ dirty: (
279
+ element: (
280
+ label: (
281
+ transform: translateY(-1.2ch),
282
+ font-size: var(--text-12),
283
+ ),
284
+ input: (
285
+ transform: translateY(0.85ch),
286
+ pseudo: (
287
+ placeholder: (
288
+ opacity: 1,
289
+ ),
290
+ ),
291
+ ),
292
+ ),
293
+ ),
294
+ ),
295
+ ),
296
+ ),
297
+ state: (
298
+ disabled: (
299
+ opacity: 0.5,
300
+ element: (
301
+ wrapper: (
302
+ state: (
303
+ hover: (
304
+ background-color: var(--color-surface-1),
305
+ ),
306
+ ),
307
+ ),
308
+ ),
309
+ ),
310
+ readonly: (
311
+ element: (
312
+ wrapper: (
313
+ pseudo: (
314
+ after: (
315
+ opacity: 0,
316
+ ),
317
+ ),
318
+ state: (
319
+ hover: (
320
+ background-color: var(--color-surface-1),
321
+ ),
322
+ ),
323
+ ),
324
+ ),
325
+ ),
326
+ ),
327
+ ) !default;
@@ -0,0 +1,45 @@
1
+ @use 'sass:map';
2
+
3
+ $vv-progress: (
4
+ position: relative,
5
+ display: flex,
6
+ appearance: none,
7
+ width: 100%,
8
+ height: var(--spacing-8),
9
+ border: var(--border-0),
10
+ border-radius: var(--rounded-full),
11
+ overflow: hidden,
12
+ color: var(--color-brand),
13
+ background-color: var(--color-surface-2),
14
+ pseudo: (
15
+ -webkit-progress-bar: (
16
+ background-color: transparent,
17
+ ),
18
+ -moz-progress-bar: (
19
+ background-color: var(--color-brand),
20
+ ),
21
+ -webkit-progress-value: (
22
+ background-color: var(--color-brand),
23
+ ),
24
+ ),
25
+ state: (
26
+ indeterminate: (
27
+ background: var(--color-surface-2)
28
+ linear-gradient(
29
+ to right,
30
+ var(--color-brand) 30%,
31
+ var(--color-surface-2) 30%
32
+ )
33
+ top left/150% 150% no-repeat,
34
+ animation: var(--animate-progress-indeterminate),
35
+ pseudo: (
36
+ progress-bar: (
37
+ background: transparent,
38
+ ),
39
+ progress-value: (
40
+ background: transparent,
41
+ ),
42
+ ),
43
+ ),
44
+ ),
45
+ ) !default;