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

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 (37) hide show
  1. package/dist/components/vv-checkbox-group.css +1 -0
  2. package/dist/components/vv-checkbox.css +1 -0
  3. package/dist/components/vv-radio-group.css +1 -0
  4. package/dist/components/vv-radio.css +1 -0
  5. package/dist/components/vv-skeleton.css +1 -1
  6. package/dist/components.css +1 -1
  7. package/dist/export.css +1 -1
  8. package/dist/props/filters.css +1 -1
  9. package/dist/props.css +1 -1
  10. package/dist/utilities/filters.css +1 -1
  11. package/dist/utilities/transitions.css +1 -1
  12. package/dist/utilities.css +1 -1
  13. package/dist/volver.css +1 -1
  14. package/package.json +14 -14
  15. package/src/_config.scss +4 -4
  16. package/src/_preflight.scss +54 -29
  17. package/src/components/index.scss +4 -4
  18. package/src/components/{vv-input-radio-group.scss → vv-checkbox-group.scss} +2 -2
  19. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +2 -2
  20. package/src/components/{vv-input-checkbox-group.scss → vv-radio-group.scss} +2 -2
  21. package/src/components/{vv-input-radio.scss → vv-radio.scss} +2 -2
  22. package/src/export.scss +19 -0
  23. package/src/props/filters.scss +1 -0
  24. package/src/settings/_filters.scss +9 -0
  25. package/src/settings/_index.scss +4 -4
  26. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +1 -1
  27. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +35 -9
  28. package/src/settings/components/_vv-radio-group.scss +3 -0
  29. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +31 -3
  30. package/src/settings/components/_vv-skeleton.scss +1 -0
  31. package/src/utilities/filters.scss +8 -0
  32. package/src/utilities/transitions.scss +4 -3
  33. package/dist/components/vv-input-checkbox-group.css +0 -1
  34. package/dist/components/vv-input-checkbox.css +0 -1
  35. package/dist/components/vv-input-radio-group.css +0 -1
  36. package/dist/components/vv-input-radio.css +0 -1
  37. package/src/settings/components/_vv-input-radio-group.scss +0 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@volverjs/style",
3
- "version": "0.1.2-beta.26",
3
+ "version": "0.1.2-beta.28",
4
4
  "description": "@volverjs/style is a lightweight responsive CSS utility library to accompany @volverjs/ui and static webpages as well.",
5
5
  "main": "dist/style.css",
6
6
  "style": "dist/style.css",
@@ -39,24 +39,24 @@
39
39
  "./scss/components/vv-button": "./src/components/vv-button.scss",
40
40
  "./components/vv-card": "./dist/components/vv-card.css",
41
41
  "./scss/components/vv-card": "./src/components/vv-card.scss",
42
+ "./components/vv-checkbox-group": "./dist/components/vv-checkbox-group.css",
43
+ "./scss/components/vv-checkbox-group": "./src/components/vv-checkbox-group.scss",
44
+ "./components/vv-checkbox": "./dist/components/vv-checkbox.css",
45
+ "./scss/components/vv-checkbox": "./src/components/vv-checkbox.scss",
42
46
  "./components/vv-dialog": "./dist/components/vv-dialog.css",
43
47
  "./scss/components/vv-dialog": "./src/components/vv-dialog.scss",
44
48
  "./components/vv-dropdown": "./dist/components/vv-dropdown.css",
45
49
  "./scss/components/vv-dropdown": "./src/components/vv-dropdown.scss",
46
- "./components/vv-input-checkbox-group": "./dist/components/vv-input-checkbox-group.css",
47
- "./scss/components/vv-input-checkbox-group": "./src/components/vv-input-checkbox-group.scss",
48
- "./components/vv-input-checkbox": "./dist/components/vv-input-checkbox.css",
49
- "./scss/components/vv-input-checkbox": "./src/components/vv-input-checkbox.scss",
50
- "./components/vv-input-radio-group": "./dist/components/vv-input-radio-group.css",
51
- "./scss/components/vv-input-radio-group": "./src/components/vv-input-radio-group.scss",
52
- "./components/vv-input-radio": "./dist/components/vv-input-radio.css",
53
- "./scss/components/vv-input-radio": "./src/components/vv-input-radio.scss",
54
50
  "./components/vv-input-text": "./dist/components/vv-input-text.css",
55
51
  "./scss/components/vv-input-text": "./src/components/vv-input-text.scss",
56
52
  "./components/vv-nav": "./dist/components/vv-nav.css",
57
53
  "./scss/components/vv-nav": "./src/components/vv-nav.scss",
58
54
  "./components/vv-progress": "./dist/components/vv-progress.css",
59
55
  "./scss/components/vv-progress": "./src/components/vv-progress.scss",
56
+ "./components/vv-radio-group": "./dist/components/vv-radio-group.css",
57
+ "./scss/components/vv-radio-group": "./src/components/vv-radio-group.scss",
58
+ "./components/vv-radio": "./dist/components/vv-radio.css",
59
+ "./scss/components/vv-radio": "./src/components/vv-radio.scss",
60
60
  "./components/vv-select": "./dist/components/vv-select.css",
61
61
  "./scss/components/vv-select": "./src/components/vv-select.scss",
62
62
  "./components/vv-skeleton": "./dist/components/vv-skeleton.css",
@@ -157,21 +157,21 @@
157
157
  "devDependencies": {
158
158
  "@iconify/vue": "^4.0.2",
159
159
  "@vitejs/plugin-vue": "^4.0.0",
160
- "@vueuse/core": "^9.6.0",
160
+ "@vueuse/core": "^9.8.2",
161
161
  "@vueuse/head": "^1.0.22",
162
- "eslint": "^8.29.0",
162
+ "eslint": "^8.30.0",
163
163
  "eslint-config-prettier": "^8.5.0",
164
164
  "eslint-plugin-vue": "^9.8.0",
165
165
  "glob": "^8.0.3",
166
166
  "icss-utils": "^5.1.0",
167
- "markdown-it-anchor": "^8.6.5",
167
+ "markdown-it-anchor": "^8.6.6",
168
168
  "markdown-it-prism": "^2.3.0",
169
169
  "postcss": "^8.4.20",
170
170
  "postcss-html": "^1.5.0",
171
171
  "postcss-preset-env": "^7.8.3",
172
172
  "prism-themes": "^1.9.0",
173
173
  "prismjs": "1.29.0",
174
- "sass": "^1.56.2",
174
+ "sass": "^1.57.1",
175
175
  "stylelint": "^14.16.0",
176
176
  "stylelint-config-prettier": "^9.0.4",
177
177
  "stylelint-config-recommended-scss": "^8.0.0",
@@ -179,7 +179,7 @@
179
179
  "stylelint-config-standard-scss": "^6.1.0",
180
180
  "unplugin-auto-import": "^0.12.1",
181
181
  "unplugin-vue-components": "^0.22.12",
182
- "vite": "^4.0.1",
182
+ "vite": "^4.0.3",
183
183
  "vite-plugin-css-export": "^1.2.1",
184
184
  "vite-plugin-eslint": "^1.8.1",
185
185
  "vite-plugin-handlebars": "^1.6.0",
package/src/_config.scss CHANGED
@@ -21,10 +21,10 @@ $components-names: (
21
21
  vv-card: $components-prefix + -card,
22
22
  vv-dialog: $components-prefix + -dialog,
23
23
  vv-dropdown: $components-prefix + -dropdown,
24
- vv-input-checkbox-group: $components-prefix + -input-checkbox-group,
25
- vv-input-checkbox: $components-prefix + -input-checkbox,
26
- vv-input-radio-group: $components-prefix + -input-radio-group,
27
- vv-input-radio: $components-prefix + -input-radio,
24
+ vv-checkbox-group: $components-prefix + -checkbox-group,
25
+ vv-checkbox: $components-prefix + -checkbox,
26
+ vv-radio-group: $components-prefix + -radio-group,
27
+ vv-radio: $components-prefix + -radio,
28
28
  vv-avatar: $components-prefix + -avatar,
29
29
  vv-input-text: $components-prefix + -input-text,
30
30
  vv-nav: $components-prefix + -nav,
@@ -1,7 +1,7 @@
1
1
  @use 'sass:map';
2
2
  @use 'context' as *;
3
3
 
4
- :where(:host, :root, [class*='theme']) {
4
+ :where(:host, :root, .theme) {
5
5
  accent-color: var(--color-brand);
6
6
  background: var(--color-surface);
7
7
  caret-color: var(--color-brand);
@@ -169,7 +169,12 @@
169
169
  }
170
170
 
171
171
  // buttons
172
- &:where(button, input[type='button'], input[type='submit'], input[type='reset']) {
172
+ &:where(
173
+ button,
174
+ input[type='button'],
175
+ input[type='submit'],
176
+ input[type='reset']
177
+ ) {
173
178
  @extend %vv-button !optional;
174
179
 
175
180
  &:where([type='button']) {
@@ -205,7 +210,12 @@
205
210
  }
206
211
 
207
212
  &
208
- + :where(button, input[type='button'], input[type='submit'], input[type='reset']) {
213
+ + :where(
214
+ button,
215
+ input[type='button'],
216
+ input[type='submit'],
217
+ input[type='reset']
218
+ ) {
209
219
  @extend %ml-sm !optional;
210
220
  }
211
221
  }
@@ -234,98 +244,95 @@
234
244
 
235
245
  // checkbox
236
246
  &:where(fieldset:has(input[type='checkbox'])) {
237
- @extend %vv-input-checkbox-group !optional;
247
+ @extend %vv-checkbox-group !optional;
238
248
 
239
249
  :where(legend) {
240
- @extend %vv-input-checkbox-group__legend !optional;
250
+ @extend %vv-checkbox-group__legend !optional;
241
251
  }
242
252
  }
243
253
 
244
254
  &:where(label:has(input[type='checkbox'])) {
245
255
  @extend %w-full !optional;
246
- @extend %vv-input-checkbox !optional;
256
+ @extend %vv-checkbox !optional;
247
257
 
248
258
  :where(input[type='checkbox']) {
249
- @extend %vv-input-checkbox__input !optional;
259
+ @extend %vv-checkbox__input !optional;
250
260
 
251
261
  &:checked {
252
- @extend %vv-input-checkbox-element-input--checked !optional;
262
+ @extend %vv-checkbox-element-input--checked !optional;
253
263
  }
254
264
 
255
265
  &:indeterminate {
256
- @extend %vv-input-checkbox-element-input--indeterminate
257
- !optional;
266
+ @extend %vv-checkbox-element-input--indeterminate !optional;
258
267
  }
259
268
 
260
269
  &:focus-visible {
261
- @extend %vv-input-checkbox-element-input--focus-visible
262
- !optional;
270
+ @extend %vv-checkbox-element-input--focus-visible !optional;
263
271
  }
264
272
  }
265
273
  }
266
274
 
267
275
  // switch
268
276
  &:where(label:has(input[type='checkbox'][role='switch'])) {
269
- @extend %vv-input-checkbox--switch !optional;
277
+ @extend %vv-checkbox--switch !optional;
270
278
 
271
279
  :where(input[type='checkbox'][role='switch']) {
272
- @extend %vv-input-checkbox-modifier-switch__input !optional;
280
+ @extend %vv-checkbox-modifier-switch__input !optional;
273
281
 
274
282
  &:hover {
275
- @extend %vv-input-checkbox-modifier-switch-element-input--hover
283
+ @extend %vv-checkbox-modifier-switch-element-input--hover
276
284
  !optional;
277
285
  }
278
286
 
279
287
  &:active {
280
- @extend %vv-input-checkbox-modifier-switch-element-input--active
288
+ @extend %vv-checkbox-modifier-switch-element-input--active
281
289
  !optional;
282
290
  }
283
291
 
284
292
  &:checked {
285
- @extend %vv-input-checkbox-modifier-switch-element-input--checked
293
+ @extend %vv-checkbox-modifier-switch-element-input--checked
286
294
  !optional;
287
295
  }
288
296
 
289
297
  &:focus-visible {
290
- @extend %vv-input-checkbox-modifier-switch-element-input--focus-visible
298
+ @extend %vv-checkbox-modifier-switch-element-input--focus-visible
291
299
  !optional;
292
300
  }
293
301
  }
294
302
  }
295
303
 
296
304
  &:where(label:has(input[type='checkbox']:disabled)) {
297
- @extend %vv-input-checkbox--disabled !optional;
305
+ @extend %vv-checkbox--disabled !optional;
298
306
  }
299
307
 
300
308
  // radio
301
309
  &:where(fieldset:has(input[type='radio'])) {
302
- @extend %vv-input-radio-group !optional;
310
+ @extend %vv-radio-group !optional;
303
311
 
304
312
  :where(legend) {
305
- @extend %vv-input-radio-group__legend !optional;
313
+ @extend %vv-radio-group__legend !optional;
306
314
  }
307
315
  }
308
316
 
309
317
  &:where(label:has(input[type='radio'])) {
310
318
  @extend %w-full !optional;
311
- @extend %vv-input-radio !optional;
319
+ @extend %vv-radio !optional;
312
320
 
313
321
  :where(input[type='radio']) {
314
- @extend %vv-input-radio__input !optional;
322
+ @extend %vv-radio__input !optional;
315
323
 
316
324
  &:checked {
317
- @extend %vv-input-radio-element-input--checked !optional;
325
+ @extend %vv-radio-element-input--checked !optional;
318
326
  }
319
327
 
320
328
  &:focus-visible {
321
- @extend %vv-input-radio-element-input--focus-visible
322
- !optional;
329
+ @extend %vv-radio-element-input--focus-visible !optional;
323
330
  }
324
331
  }
325
332
  }
326
333
 
327
334
  &:where(label:has(input[type='radio']:disabled)) {
328
- @extend %vv-input-radio--disabled !optional;
335
+ @extend %vv-radio--disabled !optional;
329
336
  }
330
337
 
331
338
  // textarea
@@ -365,11 +372,29 @@
365
372
  }
366
373
 
367
374
  // input text
368
- &:where(label:has(+ input:not([type='radio'], [type='checkbox'], [type='button'], [type='submit'], [type='reset']))) {
375
+ &:where(
376
+ label:has(
377
+ + input:not(
378
+ [type='radio'],
379
+ [type='checkbox'],
380
+ [type='button'],
381
+ [type='submit'],
382
+ [type='reset']
383
+ )
384
+ )
385
+ ) {
369
386
  @extend %vv-input-text__label !optional;
370
387
  }
371
388
 
372
- &:where(input:not([type='radio'], [type='checkbox'], [type='button'], [type='submit'], [type='reset'])) {
389
+ &:where(
390
+ input:not(
391
+ [type='radio'],
392
+ [type='checkbox'],
393
+ [type='button'],
394
+ [type='submit'],
395
+ [type='reset']
396
+ )
397
+ ) {
373
398
  @extend %w-full !optional;
374
399
  @extend %vv-input-text !optional;
375
400
  @extend %vv-input-text__wrapper !optional;
@@ -7,10 +7,10 @@
7
7
  @use 'vv-card';
8
8
  @use 'vv-dialog';
9
9
  @use 'vv-dropdown';
10
- @use 'vv-input-checkbox-group';
11
- @use 'vv-input-checkbox';
12
- @use 'vv-input-radio-group';
13
- @use 'vv-input-radio';
10
+ @use 'vv-checkbox-group';
11
+ @use 'vv-checkbox';
12
+ @use 'vv-radio-group';
13
+ @use 'vv-radio';
14
14
  @use 'vv-avatar';
15
15
  @use 'vv-input-text';
16
16
  @use 'vv-nav';
@@ -1,8 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @use '../context' as *;
3
3
 
4
- $component-name: map.get($components-names, vv-input-radio-group);
5
- $component-map: $vv-input-radio-group;
4
+ $component-name: map.get($components-names, vv-checkbox-group);
5
+ $component-map: $vv-checkbox-group;
6
6
 
7
7
  @include spread-map-into-bem(
8
8
  $map: $component-map,
@@ -1,8 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @use '../context' as *;
3
3
 
4
- $component-name: map.get($components-names, vv-input-checkbox);
5
- $component-map: $vv-input-checkbox;
4
+ $component-name: map.get($components-names, vv-checkbox);
5
+ $component-map: $vv-checkbox;
6
6
  $component-selector: '.#{ $component-name}';
7
7
 
8
8
  @include spread-map-into-bem(
@@ -1,8 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @use '../context' as *;
3
3
 
4
- $component-name: map.get($components-names, vv-input-checkbox-group);
5
- $component-map: $vv-input-checkbox-group;
4
+ $component-name: map.get($components-names, vv-radio-group);
5
+ $component-map: $vv-radio-group;
6
6
 
7
7
  @include spread-map-into-bem(
8
8
  $map: $component-map,
@@ -1,8 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @use '../context' as *;
3
3
 
4
- $component-name: map.get($components-names, vv-input-radio);
5
- $component-map: $vv-input-radio;
4
+ $component-name: map.get($components-names, vv-radio);
5
+ $component-map: $vv-radio;
6
6
  $component-selector: '.#{ $component-name}';
7
7
 
8
8
  @include spread-map-into-bem(
package/src/export.scss CHANGED
@@ -424,6 +424,25 @@
424
424
 
425
425
  // #endregion
426
426
 
427
+ // ============================================================== */
428
+ // #region FILTERS
429
+ // blur
430
+ @each $key, $value in $blur {
431
+ #{'blur__' + $key}: $value;
432
+ }
433
+
434
+ // brightness
435
+ @each $key, $value in $brightness {
436
+ #{'brightness__' + $key}: $value;
437
+ }
438
+
439
+ // saturation
440
+ @each $key, $value in $saturation {
441
+ #{'saturation__' + $key}: $value;
442
+ }
443
+
444
+ // #endregion
445
+
427
446
  // ============================================================== */
428
447
  // #region TRANSITIONS & ANIMATIONS
429
448
  // transition property
@@ -3,4 +3,5 @@
3
3
  :where(:host, :root, .theme) {
4
4
  @include spread-map-into-props($blur, $prefix: blur);
5
5
  @include spread-map-into-props($brightness, $prefix: brightness);
6
+ @include spread-map-into-props($saturation, $prefix: saturate);
6
7
  }
@@ -24,3 +24,12 @@ $brightness: (
24
24
  150: brightness(1.5),
25
25
  200: brightness(2),
26
26
  ) !default;
27
+
28
+ // saturation
29
+ $saturation: (
30
+ 0: saturate(0),
31
+ 50: saturate(0.5),
32
+ 100: saturate(1),
33
+ 150: saturate(1.5),
34
+ 200: saturate(2),
35
+ ) !default;
@@ -25,10 +25,10 @@
25
25
  @forward 'components/vv-card';
26
26
  @forward 'components/vv-dialog';
27
27
  @forward 'components/vv-dropdown';
28
- @forward 'components/vv-input-checkbox-group';
29
- @forward 'components/vv-input-checkbox';
30
- @forward 'components/vv-input-radio-group';
31
- @forward 'components/vv-input-radio';
28
+ @forward 'components/vv-checkbox-group';
29
+ @forward 'components/vv-checkbox';
30
+ @forward 'components/vv-radio-group';
31
+ @forward 'components/vv-radio';
32
32
  @forward 'components/vv-avatar';
33
33
  @forward 'components/vv-input-text';
34
34
  @forward 'components/vv-nav';
@@ -1,4 +1,4 @@
1
- $vv-input-checkbox-group: (
1
+ $vv-checkbox-group: (
2
2
  display: var(--input-display),
3
3
  flex: var(--input-flex),
4
4
  flex-direction: var(--input-flex-direction),
@@ -1,6 +1,6 @@
1
- $vv-input-checkbox: (
1
+ $vv-checkbox: (
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,
@@ -14,17 +14,12 @@ $vv-input-checkbox: (
14
14
  opacity: 0.3,
15
15
  cursor: not-allowed,
16
16
  ),
17
- readonly: (
18
- opacity: 1,
19
- cursor: default,
20
- pointer-events: none,
21
- ),
22
17
  ),
23
18
  element: (
24
19
  input: (
25
20
  _alias: "> input[type='checkbox']",
26
21
  border: var(--spacing-2) solid var(--input-color),
27
- width: var(--spacing-20),
22
+ min-width: var(--spacing-20),
28
23
  height: var(--spacing-20),
29
24
  margin: 0 var(--input-label-gap) 0 0,
30
25
  background-position: center,
@@ -45,13 +40,30 @@ $vv-input-checkbox: (
45
40
  ),
46
41
  ),
47
42
  ),
43
+ hint: (
44
+ _alias: '> small',
45
+ flex-basis: 100%,
46
+ display: var(--input-hint-display),
47
+ font-size: var(--input-hint-font-size),
48
+ color: var(--input-hint-color),
49
+ padding-top: var(--input-hint-gap),
50
+ white-space: var(--input-hint-white-space),
51
+ text-overflow: var(--input-hint-text-overflow),
52
+ overflow: var(--input-hint-overflow),
53
+ max-width: var(--input-hint-max-width),
54
+ ),
48
55
  ),
49
56
  modifier: (
57
+ readonly: (
58
+ opacity: 1,
59
+ cursor: default,
60
+ pointer-events: none,
61
+ ),
50
62
  switch: (
51
63
  element: (
52
64
  input: (
53
65
  border: 0,
54
- width: var(--spacing-44),
66
+ min-width: var(--spacing-44),
55
67
  height: var(--spacing-24),
56
68
  border-radius: var(--spacing-12),
57
69
  background-color: var(--color-word-5),
@@ -98,5 +110,19 @@ $vv-input-checkbox: (
98
110
  ),
99
111
  ),
100
112
  ),
113
+ valid: (
114
+ element: (
115
+ hint: (
116
+ color: var(--input-valid-color),
117
+ ),
118
+ ),
119
+ ),
120
+ invalid: (
121
+ element: (
122
+ hint: (
123
+ color: var(--input-invalid-color),
124
+ ),
125
+ ),
126
+ ),
101
127
  ),
102
128
  ) !default;
@@ -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,
@@ -14,17 +14,33 @@ $vv-input-radio: (
14
14
  opacity: 0.3,
15
15
  cursor: not-allowed,
16
16
  ),
17
+ ),
18
+ modifier: (
17
19
  readonly: (
18
20
  opacity: 1,
19
21
  cursor: default,
20
22
  pointer-events: none,
21
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
+ ),
22
38
  ),
23
39
  element: (
24
40
  input: (
25
41
  _alias: "> input[type='radio']",
26
42
  border: var(--spacing-2) solid var(--input-color),
27
- width: var(--spacing-20),
43
+ min-width: var(--spacing-20),
28
44
  height: var(--spacing-20),
29
45
  border-radius: 50%,
30
46
  margin: 0 var(--input-label-gap) 0 0,
@@ -58,5 +74,17 @@ $vv-input-radio: (
58
74
  ),
59
75
  ),
60
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
+ ),
61
89
  ),
62
90
  ) !default;
@@ -12,6 +12,7 @@ $vv-skeleton: (
12
12
  var(--skeleton-shine-color) 18%,
13
13
  var(--skeleton-background) 33%
14
14
  ),
15
+ [color]: transparent,
15
16
  background-size: 200% 100%,
16
17
  height: 1em,
17
18
  border-radius: var(--rounded),
@@ -16,6 +16,14 @@
16
16
  $zero-specificity: $zero-specificity-for-utilities
17
17
  );
18
18
 
19
+ // saturation
20
+ @include spread-map-into-utilities(
21
+ $map: $saturation,
22
+ $class: saturate,
23
+ $attribute: filter,
24
+ $zero-specificity: $zero-specificity-for-utilities
25
+ );
26
+
19
27
  // backdrop blur
20
28
  @include spread-map-into-utilities(
21
29
  $map: $blur,
@@ -1,4 +1,5 @@
1
1
  @use 'sass:map';
2
+ @use 'sass:string';
2
3
  @use '../context' as *;
3
4
 
4
5
  // transition property
@@ -29,14 +30,14 @@
29
30
  $zero-specificity: $zero-specificity-for-utilities
30
31
  );
31
32
 
32
- @each $property in $transition-property {
33
+ @each $property, $value in $transition-property {
33
34
  @include wrap-with-where(
34
35
  $selector: '.transition-#{$property}',
35
36
  $enabled: $zero-specificity-for-utilities
36
37
  ) {
37
- transition-property: $property;
38
+ transition-property: string.unquote($value);
38
39
  @if $property != 'none' {
39
- transition-duration: map.get($transition-duration-delay, '300');
40
+ transition-duration: map.get($transition-duration-delay, 300);
40
41
  transition-timing-function: map.get(
41
42
  $transition-timing-function,
42
43
  'in-out'
@@ -1 +0,0 @@
1
- :where(:host,:root,.theme){--vv-input-checkbox-group-display: var(--input-display);--vv-input-checkbox-group-flex: var(--input-flex);--vv-input-checkbox-group-flex-direction: var(--input-flex-direction);--vv-input-checkbox-group-min-width: var(--input-min-width);--vv-input-checkbox-group-element-legend-display: var(--input-label-display);--vv-input-checkbox-group-element-legend-font-size: var(--input-label-font-size);--vv-input-checkbox-group-element-legend-color: var(--input-label-color);--vv-input-checkbox-group-element-legend-margin: 0 0 var(--input-label-gap) 0;--vv-input-checkbox-group-element-legend-white-space: var(--input-label-white-space);--vv-input-checkbox-group-element-legend-text-overflow: var(--input-label-text-overflow);--vv-input-checkbox-group-element-legend-overflow: var(--input-label-overflow);--vv-input-checkbox-group-element-legend-max-width: var(--input-label-max-width);--vv-input-checkbox-group-element-wrapper-position: relative;--vv-input-checkbox-group-element-wrapper-display: flex;--vv-input-checkbox-group-element-wrapper-flex-direction: column;--vv-input-checkbox-group-element-wrapper-flex-wrap: wrap;--vv-input-checkbox-group-element-hint-display: var(--input-hint-display);--vv-input-checkbox-group-element-hint-font-size: var(--input-hint-font-size);--vv-input-checkbox-group-element-hint-color: var(--input-hint-color);--vv-input-checkbox-group-element-hint-padding-top: var(--input-hint-gap);--vv-input-checkbox-group-element-hint-white-space: var(--input-hint-white-space);--vv-input-checkbox-group-element-hint-text-overflow: var(--input-hint-text-overflow);--vv-input-checkbox-group-element-hint-overflow: var(--input-hint-overflow);--vv-input-checkbox-group-element-hint-max-width: var(--input-hint-max-width);--vv-input-checkbox-group-element-hint-margin-top: calc(var(--input-gap) * -1);--vv-input-checkbox-group-element-hint-margin-bottom: var(--input-gap);--vv-input-checkbox-group-modifier-horizontal-element-wrapper-flex-direction: row;--vv-input-checkbox-group-modifier-valid-element-hint-color: var(--input-valid-color);--vv-input-checkbox-group-modifier-invalid-element-hint-color: var(--input-invalid-color)}:where(.vv-input-checkbox-group){display:var(--vv-input-checkbox-group-display);flex:var(--vv-input-checkbox-group-flex);flex-direction:var(--vv-input-checkbox-group-flex-direction);min-width:var(--vv-input-checkbox-group-min-width)}:where(.vv-input-checkbox-group__legend,.vv-input-checkbox-group > legend){display:var(--vv-input-checkbox-group-element-legend-display);font-size:var(--vv-input-checkbox-group-element-legend-font-size);color:var(--vv-input-checkbox-group-element-legend-color);margin:var(--vv-input-checkbox-group-element-legend-margin);white-space:var(--vv-input-checkbox-group-element-legend-white-space);text-overflow:var(--vv-input-checkbox-group-element-legend-text-overflow);overflow:var(--vv-input-checkbox-group-element-legend-overflow);max-width:var(--vv-input-checkbox-group-element-legend-max-width)}:where(.vv-input-checkbox-group__wrapper){position:var(--vv-input-checkbox-group-element-wrapper-position);display:var(--vv-input-checkbox-group-element-wrapper-display);flex-direction:var(--vv-input-checkbox-group-element-wrapper-flex-direction);flex-wrap:var(--vv-input-checkbox-group-element-wrapper-flex-wrap)}:where(.vv-input-checkbox-group__hint,.vv-input-checkbox-group > small){display:var(--vv-input-checkbox-group-element-hint-display);font-size:var(--vv-input-checkbox-group-element-hint-font-size);color:var(--vv-input-checkbox-group-element-hint-color);padding-top:var(--vv-input-checkbox-group-element-hint-padding-top);white-space:var(--vv-input-checkbox-group-element-hint-white-space);text-overflow:var(--vv-input-checkbox-group-element-hint-text-overflow);overflow:var(--vv-input-checkbox-group-element-hint-overflow);max-width:var(--vv-input-checkbox-group-element-hint-max-width);margin-top:var(--vv-input-checkbox-group-element-hint-margin-top);margin-bottom:var(--vv-input-checkbox-group-element-hint-margin-bottom)}:where(.vv-input-checkbox-group--horizontal .vv-input-checkbox-group__wrapper){flex-direction:var(--vv-input-checkbox-group-modifier-horizontal-element-wrapper-flex-direction)}:where(.vv-input-checkbox-group--valid .vv-input-checkbox-group__hint,.vv-input-checkbox-group--valid > small){color:var(--vv-input-checkbox-group-modifier-valid-element-hint-color)}:where(.vv-input-checkbox-group--invalid .vv-input-checkbox-group__hint,.vv-input-checkbox-group--invalid > small){color:var(--vv-input-checkbox-group-modifier-invalid-element-hint-color)}
@@ -1 +0,0 @@
1
- :where(:host,:root,.theme){--vv-input-checkbox-display: inline-flex;--vv-input-checkbox-flex-wrap: nowrap;--vv-input-checkbox-align-items: center;--vv-input-checkbox-cursor: pointer;--vv-input-checkbox-user-select: none;--vv-input-checkbox-margin: 0 var(--input-gap) var(--input-gap) 0;--vv-input-checkbox-color: var(--input-color);--vv-input-checkbox-font-size: var(--input-font-size);--vv-input-checkbox-line-height: var(--input-line-height);--vv-input-checkbox-min-width: var(--input-min-width);--vv-input-checkbox-state-disabled-opacity: .3;--vv-input-checkbox-state-disabled-cursor: not-allowed;--vv-input-checkbox-state-readonly-opacity: 1;--vv-input-checkbox-state-readonly-cursor: default;--vv-input-checkbox-state-readonly-pointer-events: none;--vv-input-checkbox-element-input-border: var(--spacing-2) solid var(--input-color);--vv-input-checkbox-element-input-width: var(--spacing-20);--vv-input-checkbox-element-input-height: var(--spacing-20);--vv-input-checkbox-element-input-margin: 0 var(--input-label-gap) 0 0;--vv-input-checkbox-element-input-background-position: center;--vv-input-checkbox-element-input-background-size: var(--text-12) auto;--vv-input-checkbox-element-input-background-repeat: no-repeat;--vv-input-checkbox-element-input-cursor: pointer;--vv-input-checkbox-element-input-position: relative;--vv-input-checkbox-element-input-state-checked-background-image: var(--bg-check);--vv-input-checkbox-element-input-state-indeterminate-background-image: var(--bg-minus);--vv-input-checkbox-element-input-state-focus-visible-outline: var(--spacing-px) solid var(--color-brand);--vv-input-checkbox-element-input-state-focus-visible-outline-offset: var(--spacing-2);--vv-input-checkbox-modifier-switch-element-input-border: 0;--vv-input-checkbox-modifier-switch-element-input-width: var(--spacing-44);--vv-input-checkbox-modifier-switch-element-input-height: var(--spacing-24);--vv-input-checkbox-modifier-switch-element-input-border-radius: var(--spacing-12);--vv-input-checkbox-modifier-switch-element-input-background-color: var(--color-word-5);--vv-input-checkbox-modifier-switch-element-input-position: relative;--vv-input-checkbox-modifier-switch-element-input-will-change: background-color;--vv-input-checkbox-modifier-switch-element-input-transition: var(--transition-colors);--vv-input-checkbox-modifier-switch-element-input-pseudo-after-width: var(--spacing-20);--vv-input-checkbox-modifier-switch-element-input-pseudo-after-height: var(--spacing-20);--vv-input-checkbox-modifier-switch-element-input-pseudo-after-border-radius: 50%;--vv-input-checkbox-modifier-switch-element-input-pseudo-after-position: absolute;--vv-input-checkbox-modifier-switch-element-input-pseudo-after-inset: var(--spacing-2) 0 0 var(--spacing-2);--vv-input-checkbox-modifier-switch-element-input-pseudo-after-background: var(--color-white);--vv-input-checkbox-modifier-switch-element-input-pseudo-after-will-change: transform;--vv-input-checkbox-modifier-switch-element-input-pseudo-after-transition: var(--transition-transform);--vv-input-checkbox-modifier-switch-element-input-state-hover-background-color: var(--color-word-4);--vv-input-checkbox-modifier-switch-element-input-state-active-background-color: var(--color-word-3);--vv-input-checkbox-modifier-switch-element-input-state-indeterminate-background-image: none;--vv-input-checkbox-modifier-switch-element-input-state-indeterminate-pseudo-after-transform: translateX(50%);--vv-input-checkbox-modifier-switch-element-input-state-checked-background-image: none;--vv-input-checkbox-modifier-switch-element-input-state-checked-background-color: var(--color-brand);--vv-input-checkbox-modifier-switch-element-input-state-checked-pseudo-after-transform: translateX(100%)}:where(.vv-input-checkbox){display:var(--vv-input-checkbox-display);flex-wrap:var(--vv-input-checkbox-flex-wrap);align-items:var(--vv-input-checkbox-align-items);cursor:var(--vv-input-checkbox-cursor);-webkit-user-select:var(--vv-input-checkbox-user-select);-moz-user-select:var(--vv-input-checkbox-user-select);user-select:var(--vv-input-checkbox-user-select);margin:var(--vv-input-checkbox-margin);color:var(--vv-input-checkbox-color);font-size:var(--vv-input-checkbox-font-size);line-height:var(--vv-input-checkbox-line-height);min-width:var(--vv-input-checkbox-min-width)}:where(.vv-input-checkbox__input,.vv-input-checkbox > input[type=checkbox]){border:var(--vv-input-checkbox-element-input-border);width:var(--vv-input-checkbox-element-input-width);height:var(--vv-input-checkbox-element-input-height);margin:var(--vv-input-checkbox-element-input-margin);background-position:var(--vv-input-checkbox-element-input-background-position);background-size:var(--vv-input-checkbox-element-input-background-size);background-repeat:var(--vv-input-checkbox-element-input-background-repeat);cursor:var(--vv-input-checkbox-element-input-cursor);position:var(--vv-input-checkbox-element-input-position)}:where(.vv-input-checkbox__input--checked,.vv-input-checkbox__input.checked,.vv-input-checkbox > input[type=checkbox].checked,.vv-input-checkbox__input:checked,.vv-input-checkbox > input[type=checkbox]:checked){background-image:var(--vv-input-checkbox-element-input-state-checked-background-image)}:where(.vv-input-checkbox__input--indeterminate,.vv-input-checkbox__input.indeterminate,.vv-input-checkbox > input[type=checkbox].indeterminate,.vv-input-checkbox__input:not([disabled]):indeterminate,.vv-input-checkbox > input[type=checkbox]:not([disabled]):indeterminate){background-image:var(--vv-input-checkbox-element-input-state-indeterminate-background-image)}:where(.vv-input-checkbox__input--focus-visible,.vv-input-checkbox__input.focus-visible,.vv-input-checkbox > input[type=checkbox].focus-visible,.vv-input-checkbox__input:not(:active):not([disabled]):not([tabindex="-1"]:not([aria-disabled=true])):focus-visible,.vv-input-checkbox > input[type=checkbox]:not(:active):not([disabled]):not([tabindex="-1"]:not([aria-disabled=true])):focus-visible){outline:var(--vv-input-checkbox-element-input-state-focus-visible-outline);outline-offset:var(--vv-input-checkbox-element-input-state-focus-visible-outline-offset)}:where(.vv-input-checkbox[\:has\(\%3E\%20input\[type\%3Dcheckbox\]\:disabled\)]),:where(.vv-input-checkbox--disabled,.vv-input-checkbox.disabled,.vv-input-checkbox[disabled],.vv-input-checkbox[aria-disabled=true]){opacity:var(--vv-input-checkbox-state-disabled-opacity);--vv-input-checkbox-cursor: var(--vv-input-checkbox-state-disabled-cursor)}:where(.vv-input-checkbox:has(> input[type=checkbox]:disabled)),:where(.vv-input-checkbox--disabled,.vv-input-checkbox.disabled,.vv-input-checkbox[disabled],.vv-input-checkbox[aria-disabled=true]){opacity:var(--vv-input-checkbox-state-disabled-opacity);--vv-input-checkbox-cursor: var(--vv-input-checkbox-state-disabled-cursor)}:where(.vv-input-checkbox--readonly,.vv-input-checkbox.readonly,.vv-input-checkbox[readonly]){opacity:var(--vv-input-checkbox-state-readonly-opacity);--vv-input-checkbox-cursor: var(--vv-input-checkbox-state-readonly-cursor);pointer-events:var(--vv-input-checkbox-state-readonly-pointer-events)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input,.vv-input-checkbox--switch > input[type=checkbox]){border:var(--vv-input-checkbox-modifier-switch-element-input-border);width:var(--vv-input-checkbox-modifier-switch-element-input-width);height:var(--vv-input-checkbox-modifier-switch-element-input-height);border-radius:var(--vv-input-checkbox-modifier-switch-element-input-border-radius);background-color:var(--vv-input-checkbox-modifier-switch-element-input-background-color);position:var(--vv-input-checkbox-modifier-switch-element-input-position);will-change:var(--vv-input-checkbox-modifier-switch-element-input-will-change);transition:var(--vv-input-checkbox-modifier-switch-element-input-transition)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input,.vv-input-checkbox--switch > input[type=checkbox]):after{content:"";width:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-width);height:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-height);border-radius:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-border-radius);position:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-position);inset:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-inset);background:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-background);will-change:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-will-change);transition:var(--vv-input-checkbox-modifier-switch-element-input-pseudo-after-transition)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input--hover,.vv-input-checkbox--switch .vv-input-checkbox__input.hover,.vv-input-checkbox--switch > input[type=checkbox].hover,.vv-input-checkbox--switch .vv-input-checkbox__input:not([disabled]):hover,.vv-input-checkbox--switch > input[type=checkbox]:not([disabled]):hover){--vv-input-checkbox-modifier-switch-element-input-background-color: var(--vv-input-checkbox-modifier-switch-element-input-state-hover-background-color)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input--active,.vv-input-checkbox--switch .vv-input-checkbox__input.active,.vv-input-checkbox--switch > input[type=checkbox].active,.vv-input-checkbox--switch .vv-input-checkbox__input:not([disabled]):active,.vv-input-checkbox--switch > input[type=checkbox]:not([disabled]):active){--vv-input-checkbox-modifier-switch-element-input-background-color: var(--vv-input-checkbox-modifier-switch-element-input-state-active-background-color)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input--indeterminate,.vv-input-checkbox--switch .vv-input-checkbox__input.indeterminate,.vv-input-checkbox--switch > input[type=checkbox].indeterminate,.vv-input-checkbox--switch .vv-input-checkbox__input:not([disabled]):indeterminate,.vv-input-checkbox--switch > input[type=checkbox]:not([disabled]):indeterminate){background-image:var(--vv-input-checkbox-modifier-switch-element-input-state-indeterminate-background-image)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input--indeterminate,.vv-input-checkbox--switch .vv-input-checkbox__input.indeterminate,.vv-input-checkbox--switch > input[type=checkbox].indeterminate,.vv-input-checkbox--switch .vv-input-checkbox__input:not([disabled]):indeterminate,.vv-input-checkbox--switch > input[type=checkbox]:not([disabled]):indeterminate):after{transform:var(--vv-input-checkbox-modifier-switch-element-input-state-indeterminate-pseudo-after-transform)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input--checked,.vv-input-checkbox--switch .vv-input-checkbox__input.checked,.vv-input-checkbox--switch > input[type=checkbox].checked,.vv-input-checkbox--switch .vv-input-checkbox__input:checked,.vv-input-checkbox--switch > input[type=checkbox]:checked){background-image:var(--vv-input-checkbox-modifier-switch-element-input-state-checked-background-image);--vv-input-checkbox-modifier-switch-element-input-background-color: var(--vv-input-checkbox-modifier-switch-element-input-state-checked-background-color)}:where(.vv-input-checkbox--switch .vv-input-checkbox__input--checked,.vv-input-checkbox--switch .vv-input-checkbox__input.checked,.vv-input-checkbox--switch > input[type=checkbox].checked,.vv-input-checkbox--switch .vv-input-checkbox__input:checked,.vv-input-checkbox--switch > input[type=checkbox]:checked):after{transform:var(--vv-input-checkbox-modifier-switch-element-input-state-checked-pseudo-after-transform)}
@@ -1 +0,0 @@
1
- :where(:host,:root,.theme){--vv-input-radio-group-display: var(--input-display);--vv-input-radio-group-flex: var(--input-flex);--vv-input-radio-group-flex-direction: var(--input-flex-direction);--vv-input-radio-group-min-width: var(--input-min-width);--vv-input-radio-group-element-legend-display: var(--input-label-display);--vv-input-radio-group-element-legend-font-size: var(--input-label-font-size);--vv-input-radio-group-element-legend-color: var(--input-label-color);--vv-input-radio-group-element-legend-margin: 0 0 var(--input-label-gap) 0;--vv-input-radio-group-element-legend-white-space: var(--input-label-white-space);--vv-input-radio-group-element-legend-text-overflow: var(--input-label-text-overflow);--vv-input-radio-group-element-legend-overflow: var(--input-label-overflow);--vv-input-radio-group-element-legend-max-width: var(--input-label-max-width);--vv-input-radio-group-element-wrapper-position: relative;--vv-input-radio-group-element-wrapper-display: flex;--vv-input-radio-group-element-wrapper-flex-direction: column;--vv-input-radio-group-element-wrapper-flex-wrap: wrap;--vv-input-radio-group-element-hint-display: var(--input-hint-display);--vv-input-radio-group-element-hint-font-size: var(--input-hint-font-size);--vv-input-radio-group-element-hint-color: var(--input-hint-color);--vv-input-radio-group-element-hint-padding-top: var(--input-hint-gap);--vv-input-radio-group-element-hint-white-space: var(--input-hint-white-space);--vv-input-radio-group-element-hint-text-overflow: var(--input-hint-text-overflow);--vv-input-radio-group-element-hint-overflow: var(--input-hint-overflow);--vv-input-radio-group-element-hint-max-width: var(--input-hint-max-width);--vv-input-radio-group-element-hint-margin-top: calc(var(--input-gap) * -1);--vv-input-radio-group-element-hint-margin-bottom: var(--input-gap);--vv-input-radio-group-modifier-horizontal-element-wrapper-flex-direction: row;--vv-input-radio-group-modifier-valid-element-hint-color: var(--input-valid-color);--vv-input-radio-group-modifier-invalid-element-hint-color: var(--input-invalid-color)}:where(.vv-input-radio-group){display:var(--vv-input-radio-group-display);flex:var(--vv-input-radio-group-flex);flex-direction:var(--vv-input-radio-group-flex-direction);min-width:var(--vv-input-radio-group-min-width)}:where(.vv-input-radio-group__legend,.vv-input-radio-group > legend){display:var(--vv-input-radio-group-element-legend-display);font-size:var(--vv-input-radio-group-element-legend-font-size);color:var(--vv-input-radio-group-element-legend-color);margin:var(--vv-input-radio-group-element-legend-margin);white-space:var(--vv-input-radio-group-element-legend-white-space);text-overflow:var(--vv-input-radio-group-element-legend-text-overflow);overflow:var(--vv-input-radio-group-element-legend-overflow);max-width:var(--vv-input-radio-group-element-legend-max-width)}:where(.vv-input-radio-group__wrapper){position:var(--vv-input-radio-group-element-wrapper-position);display:var(--vv-input-radio-group-element-wrapper-display);flex-direction:var(--vv-input-radio-group-element-wrapper-flex-direction);flex-wrap:var(--vv-input-radio-group-element-wrapper-flex-wrap)}:where(.vv-input-radio-group__hint,.vv-input-radio-group > small){display:var(--vv-input-radio-group-element-hint-display);font-size:var(--vv-input-radio-group-element-hint-font-size);color:var(--vv-input-radio-group-element-hint-color);padding-top:var(--vv-input-radio-group-element-hint-padding-top);white-space:var(--vv-input-radio-group-element-hint-white-space);text-overflow:var(--vv-input-radio-group-element-hint-text-overflow);overflow:var(--vv-input-radio-group-element-hint-overflow);max-width:var(--vv-input-radio-group-element-hint-max-width);margin-top:var(--vv-input-radio-group-element-hint-margin-top);margin-bottom:var(--vv-input-radio-group-element-hint-margin-bottom)}:where(.vv-input-radio-group--horizontal .vv-input-radio-group__wrapper){flex-direction:var(--vv-input-radio-group-modifier-horizontal-element-wrapper-flex-direction)}:where(.vv-input-radio-group--valid .vv-input-radio-group__hint,.vv-input-radio-group--valid > small){color:var(--vv-input-radio-group-modifier-valid-element-hint-color)}:where(.vv-input-radio-group--invalid .vv-input-radio-group__hint,.vv-input-radio-group--invalid > small){color:var(--vv-input-radio-group-modifier-invalid-element-hint-color)}