@volverjs/style 0.1.22 → 0.1.24-beta.1

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-dropdown-action.css +1 -1
  10. package/dist/components/vv-dropdown-option.css +1 -1
  11. package/dist/components/vv-dropdown.css +1 -1
  12. package/dist/components/vv-input-file.css +1 -1
  13. package/dist/components/vv-input-text.css +1 -1
  14. package/dist/components/vv-nav.css +1 -1
  15. package/dist/components/vv-radio.css +1 -1
  16. package/dist/components/vv-select.css +1 -1
  17. package/dist/components/vv-text.css +1 -1
  18. package/dist/components/vv-tooltip.css +1 -1
  19. package/dist/components.css +1 -1
  20. package/dist/export.css +1 -1
  21. package/dist/props/breakpoints.css +1 -1
  22. package/dist/props/colors.css +1 -1
  23. package/dist/props/effects.css +1 -1
  24. package/dist/props/spacing.css +1 -1
  25. package/dist/props/transitions.css +1 -1
  26. package/dist/props/typography.css +1 -1
  27. package/dist/props.css +1 -1
  28. package/dist/reset.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 +22 -22
  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 +3 -0
  47. package/src/components/vv-accordion.scss +3 -0
  48. package/src/components/vv-alert-group.scss +3 -0
  49. package/src/components/vv-alert.scss +3 -0
  50. package/src/components/vv-avatar-group.scss +3 -0
  51. package/src/components/vv-avatar.scss +3 -0
  52. package/src/components/vv-badge.scss +3 -0
  53. package/src/components/vv-breadcrumb.scss +3 -0
  54. package/src/components/vv-button-group.scss +3 -0
  55. package/src/components/vv-button.scss +3 -0
  56. package/src/components/vv-card.scss +3 -0
  57. package/src/components/vv-checkbox-group.scss +3 -0
  58. package/src/components/vv-checkbox.scss +3 -0
  59. package/src/components/vv-dialog.scss +3 -0
  60. package/src/components/vv-dropdown-action.scss +3 -0
  61. package/src/components/vv-dropdown-optgroup.scss +3 -0
  62. package/src/components/vv-dropdown-option.scss +3 -0
  63. package/src/components/vv-dropdown.scss +3 -0
  64. package/src/components/vv-input-file.scss +3 -0
  65. package/src/components/vv-input-text.scss +3 -0
  66. package/src/components/vv-nav.scss +3 -0
  67. package/src/components/vv-progress.scss +3 -0
  68. package/src/components/vv-radio-group.scss +3 -0
  69. package/src/components/vv-radio.scss +3 -0
  70. package/src/components/vv-select.scss +3 -0
  71. package/src/components/vv-skeleton.scss +3 -0
  72. package/src/components/vv-tab.scss +3 -0
  73. package/src/components/vv-table.scss +3 -0
  74. package/src/components/vv-text.scss +3 -0
  75. package/src/components/vv-textarea.scss +3 -0
  76. package/src/components/vv-tooltip.scss +5 -7
  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 +16 -16
  88. package/src/props/transitions.scss +150 -118
  89. package/src/props/typography.scss +24 -24
  90. package/src/reset.scss +4 -3
  91. package/src/settings/_colors.scss +80 -50
  92. package/src/settings/_effects.scss +7 -7
  93. package/src/settings/components/_vv-accordion.scss +2 -1
  94. package/src/settings/components/_vv-badge.scss +2 -10
  95. package/src/settings/components/_vv-button.scss +1 -1
  96. package/src/settings/components/_vv-card.scss +3 -17
  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 +14 -10
  100. package/src/themes/dark/components/_vv-avatar.scss +14 -10
  101. package/src/themes/dark/components/_vv-badge.scss +14 -10
  102. package/src/themes/dark/components/_vv-button.scss +14 -10
  103. package/src/themes/dark/components/_vv-dropdown-action.scss +14 -10
  104. package/src/themes/dark/components/_vv-dropdown-option.scss +14 -10
  105. package/src/themes/dark/components/_vv-nav.scss +14 -10
  106. package/src/themes/dark/components/_vv-select.scss +14 -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 +354 -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
@@ -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
 
@@ -48,8 +48,9 @@ $vv-accordion: (
48
48
  will-change: background-color,
49
49
  transition: var(--transition-colors),
50
50
  border-radius: var(--rounded-lg),
51
- -webkit-tap-highlight-color: transparent,
52
51
  outline: none,
52
+ list-style-type: none,
53
+ -webkit-tap-highlight-color: transparent,
53
54
  pseudo: (
54
55
  before: (
55
56
  display: block,
@@ -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
  ),
@@ -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,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-alert;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-alert;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-alert;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-alert;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-avatar;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-avatar;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-avatar;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-avatar;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-badge;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-badge;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-badge;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-badge;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-button;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-button;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-button;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-button;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-dropdown-action;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-dropdown-action;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-dropdown-action;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-dropdown-action;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-dropdown-option;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-dropdown-option;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-dropdown-option;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-dropdown-option;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-nav;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-nav;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-nav;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-nav;
25
+ }
22
26
  }
@@ -2,21 +2,25 @@
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
11
13
  );
12
14
  }
13
15
 
14
- :where(:host, :root, .theme):not(.theme--light) {
15
- @media (prefers-color-scheme: dark) {
16
- @include theme-dark-vv-select;
16
+ @include layer(themes, $use-css-layers, $layer-prefix) {
17
+ :where(:host, :root, .theme):not(.theme--light) {
18
+ @media (prefers-color-scheme: dark) {
19
+ @include theme-dark-vv-select;
20
+ }
17
21
  }
18
- }
19
22
 
20
- :where(.theme.theme--dark) {
21
- @include theme-dark-vv-select;
23
+ :where(.theme.theme--dark) {
24
+ @include theme-dark-vv-select;
25
+ }
22
26
  }
@@ -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
+ }
@@ -1,41 +1,55 @@
1
1
  @use 'sass:color';
2
2
  @use 'sass:map';
3
+ @use 'sass:meta';
4
+ @use 'sass:string';
3
5
  @use '../../../tools/functions' as *;
4
6
  @use '../../../settings/colors' as *;
7
+ @use '../../../config' as config;
5
8
 
6
9
  $dark-color-scheme: dark !default;
7
10
  $dark-color-word: hsl(color-hue($color-brand) 15% 85%) !default;
8
11
  $dark-color-surface: hsl(color-hue($color-brand) 10% 5%) !default;
9
- $dark-color-surface-palette: (
10
- brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 10%),
11
- accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 10%),
12
- success: hsl(var(--color-success-hue) var(--color-success-saturation) 10%),
13
- danger: hsl(var(--color-danger-hue) var(--color-danger-saturation) 10%),
14
- info: hsl(var(--color-info-hue) var(--color-info-saturation) 10%),
15
- warning: hsl(var(--color-warning-hue) var(--color-warning-saturation) 10%),
16
- ) !default;
17
- $dark-color-surface-palette-no-vars: (
18
- brand: hsl(color-hue($color-brand) color-saturation($color-brand) 10%),
19
- accent: hsl(color-hue($color-accent) color-saturation($color-accent) 10%),
20
- success: hsl(color-hue($color-success) color-saturation($color-success) 10%),
21
- danger: hsl(color-hue($color-danger) color-saturation($color-danger) 10%),
22
- info: hsl(color-hue($color-info) color-saturation($color-info) 10%),
23
- warning: hsl(color-hue($color-warning) color-saturation($color-warning) 10%),
12
+
13
+ // Surface palette for dark theme
14
+ $dark-color-surface-palette: if(
15
+ sass(config.$use-color-mix):
16
+ (
17
+ brand: string.unquote('hsl(from var(--color-brand) h s 10%)'),
18
+ accent: string.unquote('hsl(from var(--color-accent) h s 10%)'),
19
+ success: string.unquote('hsl(from var(--color-success) h s 10%)'),
20
+ danger: string.unquote('hsl(from var(--color-danger) h s 10%)'),
21
+ info: string.unquote('hsl(from var(--color-info) h s 10%)'),
22
+ warning: string.unquote('hsl(from var(--color-warning) h s 10%)'),
23
+ );
24
+ else:
25
+ (
26
+ brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 10%),
27
+ accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 10%),
28
+ success: hsl(var(--color-success-hue) var(--color-success-saturation) 10%),
29
+ danger: hsl(var(--color-danger-hue) var(--color-danger-saturation) 10%),
30
+ info: hsl(var(--color-info-hue) var(--color-info-saturation) 10%),
31
+ warning: hsl(var(--color-warning-hue) var(--color-warning-saturation) 10%),
32
+ )
24
33
  ) !default;
25
34
 
26
35
  // color map
27
- $dark-colors: (
28
- scheme: $dark-color-scheme,
29
- word: color-darken-map($dark-color-word, 'word', $scale: 12%, $fixed: true),
30
- surface:
31
- map.merge(
32
- color-lighten-map(
33
- $dark-color-surface,
34
- 'surface',
35
- $scale: 5%,
36
- $fixed: true,
37
- $inverted: false
36
+ $dark-colors: if(
37
+ sass(config.$use-color-mix):
38
+ (
39
+ scheme: $dark-color-scheme,
40
+ word: color-mix-darken-map($dark-color-word, 'word', $steps: 5, $scale: 12%),
41
+ surface: map.merge(
42
+ color-mix-lighten-map($dark-color-surface, 'surface', $steps: 5, $scale: 5%),
43
+ $dark-color-surface-palette
44
+ ),
45
+ );
46
+ else:
47
+ (
48
+ scheme: $dark-color-scheme,
49
+ word: color-darken-map($dark-color-word, 'word', $scale: 12%, $fixed: true),
50
+ surface: map.merge(
51
+ color-lighten-map($dark-color-surface, 'surface', $scale: 5%, $fixed: true, $inverted: false),
52
+ $dark-color-surface-palette
38
53
  ),
39
- $dark-color-surface-palette
40
- ),
54
+ )
41
55
  ) !default;
@@ -59,19 +59,41 @@ $dark-vv-alert: (
59
59
  modifier: (
60
60
  danger: (
61
61
  border-color: var(--color-danger-lighten-3),
62
+ element: (
63
+ header: (
64
+ color: var(--color-white)
65
+ ),
66
+ ),
62
67
  ),
63
68
  brand: (
64
69
  border-color: var(--color-brand-lighten-3),
70
+ element: (
71
+ header: (
72
+ color: var(--color-white)
73
+ ),
74
+ ),
65
75
  ),
66
76
  success: (
67
77
  border-color: var(--color-success-lighten-3),
78
+ element: (
79
+ header: (
80
+ color: var(--color-white)
81
+ ),
82
+ ),
68
83
  ),
69
84
  accent: (
70
85
  border-color: var(--color-accent-lighten-3),
86
+ element: (
87
+ header: (
88
+ color: var(--color-white)
89
+ ),
90
+ ),
71
91
  ),
72
92
  warning: (
93
+ border-color: var(--color-warning-darken-5),
73
94
  element: (
74
95
  header: (
96
+ color: var(--color-white),
75
97
  background-color: var(--color-warning-darken-5),
76
98
  ),
77
99
  ),
@@ -80,6 +102,7 @@ $dark-vv-alert: (
80
102
  border-color: var(--color-info-darken-2),
81
103
  element: (
82
104
  header: (
105
+ color: var(--color-white),
83
106
  background-color: var(--color-info-darken-5),
84
107
  ),
85
108
  ),
@@ -21,6 +21,9 @@ $dark-vv-avatar: (
21
21
  accent: (
22
22
  color: var(--color-accent-lighten-5),
23
23
  ),
24
+ surface: (
25
+ color: var(--color-word-2),
26
+ ),
24
27
  ),
25
28
  ),
26
29
  ),
@@ -19,7 +19,6 @@ $dark-vv-button: (
19
19
  ),
20
20
  secondary: (
21
21
  border-color: var(--color-gray-darken-1),
22
- background: transparent,
23
22
  text-shadow: 0 1px 0 var(--color-gray-darken-5),
24
23
  state: (
25
24
  focus-visible: (