@volverjs/style 0.1.23 → 0.1.24-beta.2

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 (140) hide show
  1. package/README.md +30 -0
  2. package/dist/base.css +1 -1
  3. package/dist/components/vv-accordion.css +1 -1
  4. package/dist/components/vv-alert.css +1 -1
  5. package/dist/components/vv-badge.css +1 -1
  6. package/dist/components/vv-button.css +1 -1
  7. package/dist/components/vv-card.css +1 -1
  8. package/dist/components/vv-checkbox.css +1 -1
  9. package/dist/components/vv-dialog.css +1 -1
  10. package/dist/components/vv-dropdown-action.css +1 -1
  11. package/dist/components/vv-dropdown-option.css +1 -1
  12. package/dist/components/vv-dropdown.css +1 -1
  13. package/dist/components/vv-input-file.css +1 -1
  14. package/dist/components/vv-input-text.css +1 -1
  15. package/dist/components/vv-nav.css +1 -1
  16. package/dist/components/vv-radio.css +1 -1
  17. package/dist/components/vv-select.css +1 -1
  18. package/dist/components/vv-text.css +1 -1
  19. package/dist/components/vv-tooltip.css +1 -1
  20. package/dist/components.css +1 -1
  21. package/dist/export.css +1 -1
  22. package/dist/props/breakpoints.css +1 -1
  23. package/dist/props/colors.css +1 -1
  24. package/dist/props/effects.css +1 -1
  25. package/dist/props/spacing.css +1 -1
  26. package/dist/props/transitions.css +1 -1
  27. package/dist/props/typography.css +1 -1
  28. package/dist/props.css +1 -1
  29. package/dist/themes/dark/components.css +1 -1
  30. package/dist/themes/dark/props.css +1 -1
  31. package/dist/themes/dark/volver.css +1 -1
  32. package/dist/utilities/borders.css +1 -1
  33. package/dist/utilities/colors.css +1 -1
  34. package/dist/utilities/effects.css +1 -1
  35. package/dist/utilities/flexbox.css +1 -1
  36. package/dist/utilities/grid.css +1 -1
  37. package/dist/utilities/layout.css +1 -1
  38. package/dist/utilities/sizing.css +1 -1
  39. package/dist/utilities/typography.css +1 -1
  40. package/dist/utilities.css +1 -1
  41. package/dist/volver.css +1 -1
  42. package/package.json +17 -17
  43. package/src/_config.scss +12 -0
  44. package/src/_layers.scss +4 -0
  45. package/src/_preflight.scss +2 -0
  46. package/src/components/vv-accordion-group.scss +4 -1
  47. package/src/components/vv-accordion.scss +4 -1
  48. package/src/components/vv-alert-group.scss +4 -1
  49. package/src/components/vv-alert.scss +4 -1
  50. package/src/components/vv-avatar-group.scss +4 -1
  51. package/src/components/vv-avatar.scss +4 -1
  52. package/src/components/vv-badge.scss +4 -1
  53. package/src/components/vv-breadcrumb.scss +4 -1
  54. package/src/components/vv-button-group.scss +4 -1
  55. package/src/components/vv-button.scss +5 -2
  56. package/src/components/vv-card.scss +4 -1
  57. package/src/components/vv-checkbox-group.scss +4 -1
  58. package/src/components/vv-checkbox.scss +4 -1
  59. package/src/components/vv-dialog.scss +4 -1
  60. package/src/components/vv-dropdown-action.scss +4 -1
  61. package/src/components/vv-dropdown-optgroup.scss +4 -1
  62. package/src/components/vv-dropdown-option.scss +4 -1
  63. package/src/components/vv-dropdown.scss +4 -1
  64. package/src/components/vv-input-file.scss +4 -1
  65. package/src/components/vv-input-text.scss +4 -1
  66. package/src/components/vv-nav.scss +4 -1
  67. package/src/components/vv-progress.scss +4 -1
  68. package/src/components/vv-radio-group.scss +4 -1
  69. package/src/components/vv-radio.scss +4 -1
  70. package/src/components/vv-select.scss +4 -1
  71. package/src/components/vv-skeleton.scss +4 -1
  72. package/src/components/vv-tab.scss +4 -1
  73. package/src/components/vv-table.scss +4 -1
  74. package/src/components/vv-text.scss +4 -1
  75. package/src/components/vv-textarea.scss +4 -1
  76. package/src/components/vv-tooltip.scss +6 -8
  77. package/src/export.scss +0 -1
  78. package/src/props/background.scss +5 -3
  79. package/src/props/borders.scss +5 -3
  80. package/src/props/breakpoints.scss +11 -9
  81. package/src/props/colors.scss +4 -2
  82. package/src/props/effects.scss +5 -3
  83. package/src/props/filters.scss +6 -4
  84. package/src/props/input.scss +4 -2
  85. package/src/props/layout.scss +5 -3
  86. package/src/props/sizing.scss +5 -3
  87. package/src/props/spacing.scss +18 -16
  88. package/src/props/transitions.scss +150 -118
  89. package/src/props/typography.scss +26 -24
  90. package/src/reset.scss +4 -0
  91. package/src/settings/_colors.scss +80 -50
  92. package/src/settings/_effects.scss +7 -7
  93. package/src/settings/components/_vv-badge.scss +2 -10
  94. package/src/settings/components/_vv-button.scss +1 -1
  95. package/src/settings/components/_vv-card.scss +3 -17
  96. package/src/settings/components/_vv-dialog.scss +1 -0
  97. package/src/settings/components/_vv-nav.scss +1 -6
  98. package/src/settings/components/_vv-text.scss +1 -0
  99. package/src/themes/dark/components/_vv-alert.scss +15 -10
  100. package/src/themes/dark/components/_vv-avatar.scss +15 -10
  101. package/src/themes/dark/components/_vv-badge.scss +15 -10
  102. package/src/themes/dark/components/_vv-button.scss +15 -10
  103. package/src/themes/dark/components/_vv-dropdown-action.scss +15 -10
  104. package/src/themes/dark/components/_vv-dropdown-option.scss +15 -10
  105. package/src/themes/dark/components/_vv-nav.scss +15 -10
  106. package/src/themes/dark/components/_vv-select.scss +15 -10
  107. package/src/themes/dark/props/_background.scss +3 -0
  108. package/src/themes/dark/props/_colors.scss +3 -0
  109. package/src/themes/dark/props/_input.scss +3 -0
  110. package/src/themes/dark/settings/_colors.scss +42 -28
  111. package/src/themes/dark/settings/components/_vv-alert.scss +23 -0
  112. package/src/themes/dark/settings/components/_vv-avatar.scss +3 -0
  113. package/src/themes/dark/settings/components/_vv-button.scss +0 -1
  114. package/src/tools/_breakpoints.scss +20 -4
  115. package/src/tools/_functions.scss +157 -0
  116. package/src/tools/_mixins.scss +5 -1216
  117. package/src/tools/mixin-modules/_attrs.scss +178 -0
  118. package/src/tools/mixin-modules/_bem.scss +751 -0
  119. package/src/tools/mixin-modules/_helpers.scss +23 -0
  120. package/src/tools/mixin-modules/_index.scss +25 -0
  121. package/src/tools/mixin-modules/_layers.scss +42 -0
  122. package/src/tools/mixin-modules/_props.scss +41 -0
  123. package/src/tools/mixin-modules/_theme.scss +373 -0
  124. package/src/tools/mixin-modules/_utilities.scss +121 -0
  125. package/src/utilities/backgrounds.scss +3 -0
  126. package/src/utilities/borders.scss +3 -0
  127. package/src/utilities/colors.scss +3 -0
  128. package/src/utilities/effects.scss +3 -0
  129. package/src/utilities/filters.scss +3 -0
  130. package/src/utilities/flexbox.scss +3 -0
  131. package/src/utilities/grid.scss +3 -0
  132. package/src/utilities/interactivity.scss +3 -0
  133. package/src/utilities/layout.scss +3 -0
  134. package/src/utilities/sizing.scss +3 -0
  135. package/src/utilities/spacing.scss +3 -0
  136. package/src/utilities/tables.scss +3 -0
  137. package/src/utilities/transforms.scss +11 -6
  138. package/src/utilities/transitions.scss +3 -0
  139. package/src/utilities/typography.scss +3 -0
  140. package/src/volver.scss +2 -1
@@ -1,12 +1,19 @@
1
1
  @use 'sass:color';
2
2
  @use 'sass:map';
3
+ @use 'sass:meta';
4
+ @use 'sass:string';
3
5
  @use '../tools/functions' as *;
6
+ @use '../config' as config;
4
7
 
5
- // color variables
8
+ // ============================================
9
+ // Color Variables
10
+ // ============================================
6
11
  $color-scheme: light !default;
7
12
  $color-transparent: transparent !default;
8
13
  $color-black: #000 !default;
9
14
  $color-white: #fff !default;
15
+
16
+ // Primary colors - accepts any CSS color format (hex, rgb, hsl, oklch, etc.)
10
17
  $color-brand: #166abd !default;
11
18
  $color-accent: #9c27b0 !default;
12
19
  $color-success: #178230 !default;
@@ -16,58 +23,81 @@ $color-warning: #e7b735 !default;
16
23
  $color-gray: hsl(color-hue($color-brand) 15% 50%) !default;
17
24
  $color-word: hsl(color-hue($color-brand) 15% 10%) !default;
18
25
  $color-surface: hsl(color-hue($color-brand) 10% 100%) !default;
19
- $color-surface-palette: (
20
- brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 90%),
21
- accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 90%),
22
- success: hsl(var(--color-success-hue) var(--color-success-saturation) 90%),
23
- danger: hsl(var(--color-danger-hue) var(--color-danger-saturation) 90%),
24
- info: hsl(var(--color-info-hue) var(--color-info-saturation) 90%),
25
- warning: hsl(var(--color-warning-hue) var(--color-warning-saturation) 90%),
26
- ) !default;
27
- $color-surface-palette-no-vars: (
28
- brand: hsl(color-hue($color-brand) color-saturation($color-brand) 90%),
29
- accent: hsl(color-hue($color-accent) color-saturation($color-accent) 90%),
30
- success: hsl(color-hue($color-success) color-saturation($color-success) 90%),
31
- danger: hsl(color-hue($color-danger) color-saturation($color-danger) 90%),
32
- info: hsl(color-hue($color-info) color-saturation($color-info) 90%),
33
- warning: hsl(color-hue($color-warning) color-saturation($color-warning) 90%),
34
- ) !default;
35
26
  $color-shadow: hsl(color-hue($color-brand) 50% 20%) !default;
36
27
  $color-backdrop: hsla(color-hue($color-brand) 50% 20% / 20%) !default;
37
28
  $color-alpha: hsl(0deg 0% 0% / 0%) !default;
38
29
 
39
- // colors map
40
- $colors: (
41
- scheme: $color-scheme,
42
- transparent: $color-transparent,
43
- shadow: hsla-map($color-shadow, 'shadow'),
44
- backdrop: hsla-map($color-backdrop, 'backdrop'),
45
- black: hsla-map($color-black, 'black'),
46
- white: hsla-map($color-white, 'white'),
47
- word:
48
- color-lighten-map(
49
- $color-word,
50
- 'word',
51
- $scale: 12%,
52
- $fixed: true,
53
- $inverted: false
54
- ),
55
- surface:
56
- map.merge(
57
- color-darken-map(
58
- $color-surface,
59
- 'surface',
60
- $scale: 2%,
61
- $fixed: true
30
+ // ============================================
31
+ // Surface Palette (semantic surface colors)
32
+ // ============================================
33
+ $color-surface-palette: if(
34
+ sass(config.$use-color-mix):
35
+ (
36
+ brand: string.unquote('hsl(from var(--color-brand) h s 90%)'),
37
+ accent: string.unquote('hsl(from var(--color-accent) h s 90%)'),
38
+ success: string.unquote('hsl(from var(--color-success) h s 90%)'),
39
+ danger: string.unquote('hsl(from var(--color-danger) h s 90%)'),
40
+ info: string.unquote('hsl(from var(--color-info) h s 90%)'),
41
+ warning: string.unquote('hsl(from var(--color-warning) h s 90%)'),
42
+ );
43
+ else:
44
+ (
45
+ brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 90%),
46
+ accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 90%),
47
+ success: hsl(var(--color-success-hue) var(--color-success-saturation) 90%),
48
+ danger: hsl(var(--color-danger-hue) var(--color-danger-saturation) 90%),
49
+ info: hsl(var(--color-info-hue) var(--color-info-saturation) 90%),
50
+ warning: hsl(var(--color-warning-hue) var(--color-warning-saturation) 90%),
51
+ )
52
+ ) !default;
53
+
54
+ // ============================================
55
+ // Colors Map
56
+ // Override this map or use map.merge() to customize
57
+ // ============================================
58
+ $colors: if(
59
+ sass(config.$use-color-mix):
60
+ (
61
+ scheme: $color-scheme,
62
+ transparent: $color-transparent,
63
+ shadow: color-base-map($color-shadow, 'shadow'),
64
+ backdrop: color-base-map($color-backdrop, 'backdrop'),
65
+ black: color-base-map($color-black, 'black'),
66
+ white: color-base-map($color-white, 'white'),
67
+ word: color-mix-lighten-map($color-word, 'word', $steps: 5, $scale: 12%),
68
+ surface: map.merge(
69
+ color-mix-darken-map($color-surface, 'surface', $steps: 5, $scale: 2%),
70
+ $color-surface-palette
71
+ ),
72
+ alpha: color-mix-alpha-map($color-alpha, 'alpha', $steps: 5, $scale: 0.05),
73
+ brand: color-mix-shades-map($color-brand, 'brand'),
74
+ accent: color-mix-shades-map($color-accent, 'accent'),
75
+ success: color-mix-shades-map($color-success, 'success'),
76
+ danger: color-mix-shades-map($color-danger, 'danger'),
77
+ info: color-mix-shades-map($color-info, 'info'),
78
+ warning: color-mix-shades-map($color-warning, 'warning'),
79
+ gray: color-mix-shades-map($color-gray, 'gray', $scale: 15%),
80
+ );
81
+ else:
82
+ (
83
+ scheme: $color-scheme,
84
+ transparent: $color-transparent,
85
+ shadow: hsla-map($color-shadow, 'shadow'),
86
+ backdrop: hsla-map($color-backdrop, 'backdrop'),
87
+ black: hsla-map($color-black, 'black'),
88
+ white: hsla-map($color-white, 'white'),
89
+ word: color-lighten-map($color-word, 'word', $scale: 12%, $fixed: true, $inverted: false),
90
+ surface: map.merge(
91
+ color-darken-map($color-surface, 'surface', $scale: 2%, $fixed: true),
92
+ $color-surface-palette
62
93
  ),
63
- $color-surface-palette
64
- ),
65
- alpha: color-alpha-map($color-alpha, 'alpha', $steps: 5, $scale: 0.05),
66
- brand: color-shades-map($color-brand, 'brand'),
67
- accent: color-shades-map($color-accent, 'accent'),
68
- success: color-shades-map($color-success, 'success'),
69
- danger: color-shades-map($color-danger, 'danger'),
70
- info: color-shades-map($color-info, 'info'),
71
- warning: color-shades-map($color-warning, 'warning'),
72
- gray: color-shades-map($color-gray, 'gray', $scale: 15%),
94
+ alpha: color-alpha-map($color-alpha, 'alpha', $steps: 5, $scale: 0.05),
95
+ brand: color-shades-map($color-brand, 'brand'),
96
+ accent: color-shades-map($color-accent, 'accent'),
97
+ success: color-shades-map($color-success, 'success'),
98
+ danger: color-shades-map($color-danger, 'danger'),
99
+ info: color-shades-map($color-info, 'info'),
100
+ warning: color-shades-map($color-warning, 'warning'),
101
+ gray: color-shades-map($color-gray, 'gray', $scale: 15%),
102
+ )
73
103
  ) !default;
@@ -5,19 +5,19 @@
5
5
  // box-shadow
6
6
  $box-shadow: (
7
7
  sm:
8
- '0 1px 2px 0 hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 5%)',
8
+ '0 1px 2px 0 color-mix(in srgb, var(--color-shadow), transparent 95%)',
9
9
  shadow:
10
- '0 1px 3px 0 hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 1px 2px -1px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
10
+ '0 1px 3px 0 color-mix(in srgb, var(--color-shadow), transparent 90%), 0 1px 2px -1px color-mix(in srgb, var(--color-shadow), transparent 90%)',
11
11
  md:
12
- '0 4px 6px -1px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 2px 4px -2px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
12
+ '0 4px 6px -1px color-mix(in srgb, var(--color-shadow), transparent 90%), 0 2px 4px -2px color-mix(in srgb, var(--color-shadow), transparent 90%)',
13
13
  lg:
14
- '0 10px 15px -3px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 4px 6px -4px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
14
+ '0 10px 15px -3px color-mix(in srgb, var(--color-shadow), transparent 90%), 0 4px 6px -4px color-mix(in srgb, var(--color-shadow), transparent 90%)',
15
15
  xl:
16
- '0 20px 25px -5px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%), 0 8px 10px -6px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 10%)',
16
+ '0 20px 25px -5px color-mix(in srgb, var(--color-shadow), transparent 90%), 0 8px 10px -6px color-mix(in srgb, var(--color-shadow), transparent 90%)',
17
17
  2xl:
18
- '0 25px 50px -12px hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 25%)',
18
+ '0 25px 50px -12px color-mix(in srgb, var(--color-shadow), transparent 75%)',
19
19
  inner:
20
- 'inset 0 2px 4px 0 hsla(var(--color-shadow-hue) var(--color-shadow-saturation) var(--color-shadow-lightness) / 5%)',
20
+ 'inset 0 2px 4px 0 color-mix(in srgb, var(--color-shadow), transparent 95%)',
21
21
  none: '0 0 #0000',
22
22
  ) !default;
23
23
 
@@ -67,19 +67,11 @@ $vv-badge: (
67
67
  border-radius: 1em,
68
68
  ),
69
69
  white: (
70
- background-color:
71
- hsl(
72
- var(--color-white-hue) var(--color-white-saturation)
73
- var(--color-white-lightness) / 80%
74
- ),
70
+ background-color: color-mix(in srgb, var(--color-white), transparent 20%),
75
71
  color: var(--color-black),
76
72
  ),
77
73
  black: (
78
- background-color:
79
- hsl(
80
- var(--color-black-hue) var(--color-black-saturation)
81
- var(--color-black-lightness) / 80%
82
- ),
74
+ background-color: color-mix(in srgb, var(--color-black), transparent 20%),
83
75
  color: var(--color-white),
84
76
  ),
85
77
  danger: (
@@ -89,7 +89,7 @@ $vv-button: (
89
89
  ),
90
90
  ),
91
91
  secondary: (
92
- background: var(--color-white),
92
+ background: var(--color-surface),
93
93
  border-style: solid,
94
94
  border-color: var(--color-gray-lighten-4),
95
95
  color: var(--color-word),
@@ -45,28 +45,14 @@ $vv-card: (
45
45
  ),
46
46
  modifier: (
47
47
  glass: (
48
- background-color:
49
- hsl(
50
- var(--color-surface-hue) var(--color-surface-saturation)
51
- var(--color-surface-lightness) / 60%
52
- ),
48
+ background-color: color-mix(in srgb, var(--color-surface), transparent 40%),
53
49
  backdrop-filter: var(--blur-md),
54
50
  element: (
55
51
  header: (
56
- background-color:
57
- hsl(
58
- var(--color-surface-hue)
59
- var(--color-surface-saturation)
60
- var(--color-surface-lightness) / 30%
61
- ),
52
+ background-color: color-mix(in srgb, var(--color-surface), transparent 70%),
62
53
  ),
63
54
  footer: (
64
- background-color:
65
- hsl(
66
- var(--color-surface-hue)
67
- var(--color-surface-saturation)
68
- var(--color-surface-lightness) / 30%
69
- ),
55
+ background-color: color-mix(in srgb, var(--color-surface), transparent 70%),
70
56
  ),
71
57
  ),
72
58
  ),
@@ -1,5 +1,6 @@
1
1
  $vv-dialog: (
2
2
  display: flex,
3
+ user-select: text,
3
4
  z-index: var(--z-modal-backdrop),
4
5
  position: fixed,
5
6
  inset: 0,
@@ -122,12 +122,7 @@ $vv-nav: (
122
122
  current: (
123
123
  color: var(--color-brand),
124
124
  border-color: currentcolor,
125
- background-color:
126
- hsl(
127
- var(--color-brand-hue)
128
- var(--color-brand-saturation)
129
- var(--color-brand-lightness) / 5%
130
- ),
125
+ background-color: color-mix(in srgb, var(--color-brand), transparent 95%),
131
126
  ),
132
127
  ),
133
128
  ),
@@ -9,6 +9,7 @@ $vv-text: (
9
9
  letter-spacing: var(--tracking-tight),
10
10
  margin-top: var(--spacing-24),
11
11
  margin-bottom: var(--spacing-16),
12
+ color: var(--color-word),
12
13
  ),
13
14
  copy: (
14
15
  margin-block: var(--spacing-16),
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-alert);
5
- $component-map: $dark-vv-alert;
6
5
 
7
6
  @mixin theme-dark-vv-alert {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-alert,
9
+ $theme-map: $dark-vv-alert,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-alert;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-alert;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-alert;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-alert;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-avatar);
5
- $component-map: $dark-vv-avatar;
6
5
 
7
6
  @mixin theme-dark-vv-avatar {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-avatar,
9
+ $theme-map: $dark-vv-avatar,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-avatar;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-avatar;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-avatar;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-avatar;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-badge);
5
- $component-map: $dark-vv-badge;
6
5
 
7
6
  @mixin theme-dark-vv-badge {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-badge,
9
+ $theme-map: $dark-vv-badge,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-badge;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-badge;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-badge;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-badge;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-button);
5
- $component-map: $dark-vv-button;
6
5
 
7
6
  @mixin theme-dark-vv-button {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-button,
9
+ $theme-map: $dark-vv-button,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-button;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-button;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-button;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-button;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-dropdown-action);
5
- $component-map: $dark-vv-dropdown-action;
6
5
 
7
6
  @mixin theme-dark-vv-dropdown-action {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-dropdown-action,
9
+ $theme-map: $dark-vv-dropdown-action,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-dropdown-action;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-dropdown-action;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-dropdown-action;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-dropdown-action;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-dropdown-option);
5
- $component-map: $dark-vv-dropdown-option;
6
5
 
7
6
  @mixin theme-dark-vv-dropdown-option {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-dropdown-option,
9
+ $theme-map: $dark-vv-dropdown-option,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-dropdown-option;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-dropdown-option;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-dropdown-option;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-dropdown-option;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-nav);
5
- $component-map: $dark-vv-nav;
6
5
 
7
6
  @mixin theme-dark-vv-nav {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-nav,
9
+ $theme-map: $dark-vv-nav,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-nav;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-nav;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-nav;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-nav;
26
+ }
22
27
  }
@@ -2,21 +2,26 @@
2
2
  @use '../context' as *;
3
3
 
4
4
  $component-name: map.get($components-names, vv-select);
5
- $component-map: $dark-vv-select;
6
5
 
7
6
  @mixin theme-dark-vv-select {
8
- @include spread-map-into-props(
9
- $map: $component-map,
10
- $prefix: $component-name
7
+ @include spread-theme-component(
8
+ $base-map: $vv-select,
9
+ $theme-map: $dark-vv-select,
10
+ $component-name: $component-name,
11
+ $bps: $breakpoints,
12
+ $use-custom-props: $use-custom-props-for-components,
13
+ $zero-specificity: $zero-specificity-for-components
11
14
  );
12
15
  }
13
16
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-select;
17
+ @include layer(themes, $use-css-layers, $layer-prefix) {
18
+ :where(:host, :root, .theme):not(.theme--light) {
19
+ @media (prefers-color-scheme: dark) {
20
+ @include theme-dark-vv-select;
21
+ }
17
22
  }
18
- }
19
23
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-select;
24
+ :where(.theme.theme--dark) {
25
+ @include theme-dark-vv-select;
26
+ }
22
27
  }
@@ -4,6 +4,7 @@
4
4
  @include spread-map-into-props($dark-background-image, 'bg');
5
5
  }
6
6
 
7
+ @include layer(themes, $use-css-layers, $layer-prefix) {
7
8
  :where(:host, :root, .theme):not(.theme--light) {
8
9
  @media (prefers-color-scheme: dark) {
9
10
  @include theme-dark-bg;
@@ -13,3 +14,5 @@
13
14
  :where(.theme.theme--dark) {
14
15
  @include theme-dark-bg;
15
16
  }
17
+
18
+ }
@@ -4,6 +4,7 @@
4
4
  @include spread-map-into-props($dark-colors, 'color');
5
5
  }
6
6
 
7
+ @include layer(themes, $use-css-layers, $layer-prefix) {
7
8
  :where(:host, :root, .theme):not(.theme--light) {
8
9
  @media (prefers-color-scheme: dark) {
9
10
  @include theme-dark-colors;
@@ -13,3 +14,5 @@
13
14
  :where(.theme.theme--dark) {
14
15
  @include theme-dark-colors;
15
16
  }
17
+
18
+ }
@@ -4,6 +4,7 @@
4
4
  @include spread-map-into-props($dark-input, 'input');
5
5
  }
6
6
 
7
+ @include layer(themes, $use-css-layers, $layer-prefix) {
7
8
  :where(:host, :root, .theme):not(.theme--light) {
8
9
  @media (prefers-color-scheme: dark) {
9
10
  @include theme-dark-input;
@@ -13,3 +14,5 @@
13
14
  :where(.theme.theme--dark) {
14
15
  @include theme-dark-input;
15
16
  }
17
+
18
+ }