@volverjs/style 0.1.12-beta.1 → 0.1.12-beta.10

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 (109) hide show
  1. package/README.md +4 -4
  2. package/dist/base.css +1 -1
  3. package/dist/components/vv-accordion-group.css +1 -1
  4. package/dist/components/vv-accordion.css +1 -1
  5. package/dist/components/vv-alert-group.css +1 -1
  6. package/dist/components/vv-alert.css +1 -1
  7. package/dist/components/vv-avatar-group.css +1 -1
  8. package/dist/components/vv-avatar.css +1 -1
  9. package/dist/components/vv-badge.css +1 -1
  10. package/dist/components/vv-breadcrumb.css +1 -1
  11. package/dist/components/vv-button-group.css +1 -1
  12. package/dist/components/vv-button.css +1 -1
  13. package/dist/components/vv-card.css +1 -1
  14. package/dist/components/vv-checkbox-group.css +1 -1
  15. package/dist/components/vv-checkbox.css +1 -1
  16. package/dist/components/vv-dialog.css +1 -1
  17. package/dist/components/vv-dropdown-option.css +1 -1
  18. package/dist/components/vv-dropdown.css +1 -1
  19. package/dist/components/vv-input-file.css +1 -0
  20. package/dist/components/vv-input-text.css +1 -1
  21. package/dist/components/vv-nav.css +1 -1
  22. package/dist/components/vv-progress.css +1 -1
  23. package/dist/components/vv-radio-group.css +1 -1
  24. package/dist/components/vv-radio.css +1 -1
  25. package/dist/components/vv-select.css +1 -1
  26. package/dist/components/vv-table.css +1 -1
  27. package/dist/components/vv-text.css +1 -1
  28. package/dist/components/vv-textarea.css +1 -1
  29. package/dist/components/vv-tooltip.css +1 -1
  30. package/dist/components.css +1 -1
  31. package/dist/export.css +1 -1
  32. package/dist/props/background.css +1 -1
  33. package/dist/props/colors.css +1 -1
  34. package/dist/props/filters.css +1 -1
  35. package/dist/props/input.css +1 -1
  36. package/dist/props/layout.css +1 -1
  37. package/dist/props/transitions.css +1 -1
  38. package/dist/props.css +1 -1
  39. package/dist/reset.css +1 -1
  40. package/dist/themes/dark/components.css +1 -1
  41. package/dist/themes/dark/props.css +1 -1
  42. package/dist/themes/dark/volver.css +1 -1
  43. package/dist/utilities/backgrounds.css +1 -1
  44. package/dist/utilities/colors.css +1 -1
  45. package/dist/utilities/filters.css +1 -1
  46. package/dist/utilities/layout.css +1 -1
  47. package/dist/utilities/typography.css +1 -1
  48. package/dist/utilities.css +1 -1
  49. package/dist/volver.css +1 -1
  50. package/package.json +30 -27
  51. package/src/_config.scss +10 -9
  52. package/src/_preflight.scss +15 -0
  53. package/src/components/index.scss +1 -0
  54. package/src/components/vv-button-group.scss +6 -6
  55. package/src/components/vv-button.scss +1 -12
  56. package/src/components/vv-input-file.scss +93 -0
  57. package/src/components/vv-input-text.scss +54 -11
  58. package/src/components/vv-select.scss +53 -10
  59. package/src/components/vv-textarea.scss +53 -10
  60. package/src/export.scss +17 -32
  61. package/src/props/background.scss +1 -0
  62. package/src/props/transitions.scss +19 -0
  63. package/src/settings/_background.scss +228 -0
  64. package/src/settings/_colors.scss +16 -53
  65. package/src/settings/_effects.scss +0 -18
  66. package/src/settings/_filters.scss +15 -0
  67. package/src/settings/_index.scss +1 -0
  68. package/src/settings/_input.scss +4 -3
  69. package/src/settings/_layout.scss +1 -0
  70. package/src/settings/_transitions.scss +1 -0
  71. package/src/settings/components/_vv-accordion.scss +4 -5
  72. package/src/settings/components/_vv-alert-group.scss +9 -2
  73. package/src/settings/components/_vv-alert.scss +8 -8
  74. package/src/settings/components/_vv-avatar.scss +50 -52
  75. package/src/settings/components/_vv-badge.scss +65 -27
  76. package/src/settings/components/_vv-button.scss +10 -5
  77. package/src/settings/components/_vv-checkbox-group.scss +1 -0
  78. package/src/settings/components/_vv-dialog.scss +3 -0
  79. package/src/settings/components/_vv-dropdown-option.scss +2 -2
  80. package/src/settings/components/_vv-dropdown.scss +93 -7
  81. package/src/settings/components/_vv-input-file.scss +474 -0
  82. package/src/settings/components/_vv-input-text.scss +1 -0
  83. package/src/settings/components/_vv-nav.scss +10 -9
  84. package/src/settings/components/_vv-progress.scss +2 -0
  85. package/src/settings/components/_vv-radio.scss +2 -2
  86. package/src/settings/components/_vv-select.scss +2 -0
  87. package/src/settings/components/_vv-table.scss +19 -1
  88. package/src/settings/components/_vv-text.scss +1 -0
  89. package/src/settings/components/_vv-textarea.scss +1 -0
  90. package/src/themes/dark/components/_vv-avatar.scss +22 -0
  91. package/src/themes/dark/components/_vv-badge.scss +22 -0
  92. package/src/themes/dark/components/_vv-dropdown-action.scss +22 -0
  93. package/src/themes/dark/components/_vv-dropdown-option.scss +22 -0
  94. package/src/themes/dark/components/_vv-nav.scss +22 -0
  95. package/src/themes/dark/components/index.scss +6 -1
  96. package/src/themes/dark/settings/_background.scss +2 -0
  97. package/src/themes/dark/settings/_colors.scss +4 -38
  98. package/src/themes/dark/settings/_index.scss +6 -1
  99. package/src/themes/dark/settings/components/_vv-alert.scss +1 -1
  100. package/src/themes/dark/settings/components/_vv-avatar.scss +27 -0
  101. package/src/themes/dark/settings/components/_vv-badge.scss +50 -0
  102. package/src/themes/dark/settings/components/_vv-button.scss +13 -8
  103. package/src/themes/dark/settings/components/_vv-dropdown-action.scss +3 -0
  104. package/src/themes/dark/settings/components/_vv-dropdown-option.scss +19 -0
  105. package/src/themes/dark/settings/components/_vv-nav.scss +15 -0
  106. package/src/tools/_functions.scss +26 -13
  107. package/src/tools/_mixins.scss +29 -2
  108. package/src/utilities/backgrounds.scss +14 -4
  109. package/src/utilities/typography.scss +10 -0
@@ -0,0 +1,22 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ $component-name: map.get($components-names, vv-dropdown-option);
5
+ $component-map: $dark-vv-dropdown-option;
6
+
7
+ @mixin theme-dark-vv-dropdown-option {
8
+ @include spread-map-into-props(
9
+ $map: $component-map,
10
+ $prefix: $component-name
11
+ );
12
+ }
13
+
14
+ :where(:host, :root, .theme):not(.theme--light) {
15
+ @media (prefers-color-scheme: dark) {
16
+ @include theme-dark-vv-dropdown-option;
17
+ }
18
+ }
19
+
20
+ :where(.theme.theme--dark) {
21
+ @include theme-dark-vv-dropdown-option;
22
+ }
@@ -0,0 +1,22 @@
1
+ @use 'sass:map';
2
+ @use '../context' as *;
3
+
4
+ $component-name: map.get($components-names, vv-nav);
5
+ $component-map: $dark-vv-nav;
6
+
7
+ @mixin theme-dark-vv-nav {
8
+ @include spread-map-into-props(
9
+ $map: $component-map,
10
+ $prefix: $component-name
11
+ );
12
+ }
13
+
14
+ :where(:host, :root, .theme):not(.theme--light) {
15
+ @media (prefers-color-scheme: dark) {
16
+ @include theme-dark-vv-nav;
17
+ }
18
+ }
19
+
20
+ :where(.theme.theme--dark) {
21
+ @include theme-dark-vv-nav;
22
+ }
@@ -1,2 +1,7 @@
1
- @use 'vv-button';
2
1
  @use 'vv-alert';
2
+ @use 'vv-avatar';
3
+ @use 'vv-badge';
4
+ @use 'vv-button';
5
+ @use 'vv-dropdown-action';
6
+ @use 'vv-dropdown-option';
7
+ @use 'vv-nav';
@@ -6,6 +6,8 @@ $dark-background-image: (
6
6
  none: none,
7
7
  chevron:
8
8
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(#{hex-to-rgb($dark-color-word)})' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"),
9
+ chessboard:
10
+ url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' version='1.1' width='200' height='400'%3E%3Cdefs%3E%3Cpattern id='grid' width='20' height='20' patternUnits='userSpaceOnUse'%3E%3Crect fill='white' x='0' y='0' width='10' height='10' opacity='0.1'/%3E%3Crect fill='black' x='10' y='0' width='10' height='10'/%3E%3Crect fill='white' x='10' y='10' width='10' height='10' opacity='0.1'/%3E%3Crect fill='black' x='0' y='10' width='10' height='10'/%3E%3C/pattern%3E%3C/defs%3E%3Crect fill='url(%23grid)' x='0' y='0' width='100%25' height='100%25'/%3E%3C/svg%3E"),
9
11
  grid:
10
12
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' width='32' height='32' fill='none' stroke='rgb(51 65 85 / 0.25)'%3E%3Cpath d='M0 .5H31.5V32'/%3E%3C/svg%3E"),
11
13
  check:
@@ -4,10 +4,8 @@
4
4
  @use '../../../settings/colors' as *;
5
5
 
6
6
  $dark-color-scheme: dark !default;
7
- $dark-color-brand: #1976d2 !default;
8
- $dark-color-word: hsl(color.hue($dark-color-brand) 15% 85%) !default;
9
- $dark-color-surface: hsl(color.hue($dark-color-brand) 10% 5%) !default;
10
- $dark-color-alpha: hsla(0deg 0% 100% / 0%) !default;
7
+ $dark-color-word: hsl(color.hue($color-brand) 15% 85%) !default;
8
+ $dark-color-surface: hsl(color.hue($color-brand) 10% 5%) !default;
11
9
  $dark-color-surface-palette: (
12
10
  brand: hsl(var(--color-brand-hue) var(--color-brand-saturation) 10%),
13
11
  accent: hsl(var(--color-accent-hue) var(--color-accent-saturation) 10%),
@@ -29,30 +27,6 @@ $dark-color-surface-palette-no-vars: (
29
27
  $dark-colors: (
30
28
  scheme: $dark-color-scheme,
31
29
  word: color-darken-map($dark-color-word, 'word', $scale: 12%, $fixed: true),
32
- surface:
33
- map.merge(
34
- color-lighten-map(
35
- $dark-color-surface,
36
- 'surface',
37
- $scale: 5%,
38
- $fixed: true
39
- ),
40
- $dark-color-surface-palette
41
- ),
42
- alpha: color-alpha-map($dark-color-alpha, 'alpha', $steps: 5, $scale: 5%),
43
- ) !default;
44
-
45
- // dark-colors computed map
46
- $dark-colors-computed: (
47
- scheme: $dark-color-scheme,
48
- word:
49
- color-darken-map(
50
- $dark-color-word,
51
- 'word',
52
- $scale: 12%,
53
- $fixed: true,
54
- $noVarExport: true
55
- ),
56
30
  surface:
57
31
  map.merge(
58
32
  color-lighten-map(
@@ -60,16 +34,8 @@ $dark-colors-computed: (
60
34
  'surface',
61
35
  $scale: 5%,
62
36
  $fixed: true,
63
- $noVarExport: true
37
+ $inverted: false
64
38
  ),
65
- $dark-color-surface-palette-no-vars
66
- ),
67
- alpha:
68
- color-alpha-map(
69
- $dark-color-alpha,
70
- 'alpha',
71
- $steps: 5,
72
- $scale: 5%,
73
- $noVarExport: true
39
+ $dark-color-surface-palette
74
40
  ),
75
41
  ) !default;
@@ -2,5 +2,10 @@
2
2
  @forward 'background';
3
3
  @forward 'input';
4
4
 
5
- @forward 'components/vv-button';
6
5
  @forward 'components/vv-alert';
6
+ @forward 'components/vv-avatar';
7
+ @forward 'components/vv-badge';
8
+ @forward 'components/vv-button';
9
+ @forward 'components/vv-dropdown-action';
10
+ @forward 'components/vv-dropdown-option';
11
+ @forward 'components/vv-nav';
@@ -43,7 +43,7 @@ $dark-vv-alert: (
43
43
  brand: (
44
44
  element: (
45
45
  header: (
46
- color: var(--color-brand-lighten-2),
46
+ color: var(--color-brand-lighten-3),
47
47
  ),
48
48
  ),
49
49
  ),
@@ -0,0 +1,27 @@
1
+ $dark-vv-avatar: (
2
+ modifier: (
3
+ ring: (
4
+ color: var(--color-brand-lighten-3),
5
+ modifier: (
6
+ danger: (
7
+ color: var(--color-danger-lighten-5),
8
+ ),
9
+ success: (
10
+ color: var(--color-success-lighten-3),
11
+ ),
12
+ warning: (
13
+ color: var(--color-warning),
14
+ ),
15
+ gray: (
16
+ color: var(--color-gray-lighten-3),
17
+ ),
18
+ info: (
19
+ color: var(--color-info),
20
+ ),
21
+ accent: (
22
+ color: var(--color-accent-lighten-5),
23
+ ),
24
+ ),
25
+ ),
26
+ ),
27
+ );
@@ -0,0 +1,50 @@
1
+ $dark-vv-badge: (
2
+ modifier: (
3
+ outline: (
4
+ color: var(--color-brand-lighten-3),
5
+ modifier: (
6
+ danger: (
7
+ color: var(--color-danger-lighten-3),
8
+ ),
9
+ success: (
10
+ color: var(--color-success-lighten-3),
11
+ ),
12
+ warning: (
13
+ color: var(--color-warning),
14
+ ),
15
+ info: (
16
+ color: var(--color-info),
17
+ ),
18
+ accent: (
19
+ color: var(--color-accent-lighten-3),
20
+ ),
21
+ gray: (
22
+ color: var(--color-gray-lighten-3),
23
+ ),
24
+ ),
25
+ ),
26
+ ghost: (
27
+ color: var(--color-brand-lighten-3),
28
+ modifier: (
29
+ danger: (
30
+ color: var(--color-danger-lighten-3),
31
+ ),
32
+ success: (
33
+ color: var(--color-success-lighten-3),
34
+ ),
35
+ warning: (
36
+ color: var(--color-warning),
37
+ ),
38
+ info: (
39
+ color: var(--color-info),
40
+ ),
41
+ accent: (
42
+ color: var(--color-accent-lighten-3),
43
+ ),
44
+ gray: (
45
+ color: var(--color-gray-lighten-3),
46
+ ),
47
+ ),
48
+ ),
49
+ ),
50
+ );
@@ -1,25 +1,25 @@
1
1
  $dark-vv-button: (
2
2
  modifier: (
3
3
  primary: (
4
- border-color: var(--color-gray-darken-1),
5
- background: var(--color-gray-darken-1),
4
+ border-color: var(--color-gray-darken-3),
5
+ background: var(--color-gray-darken-3),
6
6
  state: (
7
7
  focus-visible: (
8
8
  outline: var(--spacing-px) solid var(--color-gray),
9
9
  ),
10
10
  hover: (
11
- background: var(--color-gray-lighten-1),
12
- border-color: var(--color-gray-lighten-1),
11
+ background: var(--color-gray-darken-2),
12
+ border-color: var(--color-gray-darken-2),
13
13
  ),
14
14
  active: (
15
- background: var(--color-gray),
16
- border-color: var(--color-gray),
15
+ background: var(--color-gray-darken-1),
16
+ border-color: var(--color-gray-darken-1),
17
17
  ),
18
18
  ),
19
19
  ),
20
20
  secondary: (
21
21
  border-color: var(--color-gray-darken-1),
22
- background: var(--color-gray-darken-3),
22
+ background: transparent,
23
23
  text-shadow: 0 1px 0 var(--color-gray-darken-5),
24
24
  state: (
25
25
  focus-visible: (
@@ -52,7 +52,12 @@ $dark-vv-button: (
52
52
  ),
53
53
  ),
54
54
  link: (
55
- color: var(--color-brand-lighten-1),
55
+ color: var(--color-brand-lighten-3),
56
+ state: (
57
+ active: (
58
+ color: var(--color-brand-lighten-2),
59
+ ),
60
+ ),
56
61
  ),
57
62
  ),
58
63
  ) !default;
@@ -0,0 +1,3 @@
1
+ $dark-vv-dropdown-action: (
2
+ color: var(--color-brand-lighten-3),
3
+ );
@@ -0,0 +1,19 @@
1
+ $dark-vv-dropdown-option: (
2
+ state: (
3
+ focus-visible: (
4
+ color: var(--color-success-lighten-3),
5
+ ),
6
+ selected: (
7
+ color: var(--color-brand-lighten-3),
8
+ ),
9
+ ),
10
+ modifier: (
11
+ unselectable: (
12
+ state: (
13
+ focus-visible: (
14
+ color: var(--color-danger-lighten-5),
15
+ ),
16
+ ),
17
+ ),
18
+ ),
19
+ );
@@ -0,0 +1,15 @@
1
+ $dark-vv-nav: (
2
+ modifier: (
3
+ tabs: (
4
+ element: (
5
+ item-label: (
6
+ state: (
7
+ current: (
8
+ color: var(--color-brand-lighten-3),
9
+ ),
10
+ ),
11
+ ),
12
+ ),
13
+ ),
14
+ ),
15
+ );
@@ -15,9 +15,7 @@
15
15
  hue: color.hue($color),
16
16
  saturation: color.saturation($color),
17
17
  lightness: color.lightness($color),
18
- #{$name}: hsla(var(--color-#{$name}-hue)
19
- var(--color-#{$name}-saturation)
20
- var(--color-#{$name}-lightness) / color.alpha($color))
18
+ #{$name}: hsla(var(--color-#{$name}-hue), var(--color-#{$name}-saturation), var(--color-#{$name}-lightness), color.alpha($color))
21
19
  );
22
20
  }
23
21
  }
@@ -34,8 +32,10 @@
34
32
  );
35
33
  } @else {
36
34
  @return hsla(
37
- var(--color-#{$name}-hue) var(--color-#{$name}-saturation)
38
- var(--color-#{$name}-lightness) / #{$alpha}
35
+ var(--color-#{$name}-hue),
36
+ var(--color-#{$name}-saturation),
37
+ var(--color-#{$name}-lightness),
38
+ $alpha
39
39
  );
40
40
  }
41
41
  }
@@ -48,7 +48,7 @@
48
48
  $color,
49
49
  $name,
50
50
  $steps: 9,
51
- $scale: 10%,
51
+ $scale: 0.1,
52
52
  $noVarExport: false
53
53
  ) {
54
54
  $result: hsla-map($color, $name, $noVarExport);
@@ -73,8 +73,7 @@
73
73
  $noVarExport: false
74
74
  ) {
75
75
  $result: map.merge(
76
- map.merge(
77
- (#{$name}: $color),
76
+ map.set(
78
77
  color-lighten-map(
79
78
  $color,
80
79
  $name,
@@ -83,7 +82,9 @@
83
82
  'lighten',
84
83
  $fixed,
85
84
  $noVarExport
86
- )
85
+ ),
86
+ $name,
87
+ $color
87
88
  ),
88
89
  color-darken-map(
89
90
  $color,
@@ -105,10 +106,16 @@
105
106
  $scale: 10%,
106
107
  $prefix: '',
107
108
  $fixed: false,
108
- $noVarExport: false
109
+ $noVarExport: false,
110
+ $inverted: true
109
111
  ) {
110
112
  $result: hsla-map($color, $name, $noVarExport);
111
- @for $index from 1 to ($steps + 1) {
113
+ @for $counter from 1 to ($steps + 1) {
114
+ $index: $counter;
115
+ @if $inverted {
116
+ $index: $steps + 1 - $counter;
117
+ }
118
+
112
119
  $key: $index;
113
120
  @if $prefix != '' {
114
121
  $key: $prefix + '-' + $index;
@@ -192,11 +199,17 @@
192
199
  $scale: 10%,
193
200
  $prefix: '',
194
201
  $fixed: false,
195
- $noVarExport: false
202
+ $noVarExport: false,
203
+ $inverted: false
196
204
  ) {
197
205
  $result: hsla-map($color, $name, $noVarExport);
198
206
 
199
- @for $index from 1 to ($steps + 1) {
207
+ @for $counter from 1 to ($steps + 1) {
208
+ $index: $counter;
209
+ @if $inverted {
210
+ $index: $steps + 1 - $counter;
211
+ }
212
+
200
213
  $key: $index;
201
214
  @if $prefix != '' {
202
215
  $key: $prefix + '-' + $index;
@@ -428,6 +428,7 @@
428
428
  disabled,
429
429
  checked,
430
430
  checked-within,
431
+ multiple,
431
432
  selected,
432
433
  readonly,
433
434
  empty,
@@ -514,7 +515,14 @@
514
515
  '#{$modifier}#{$alias}:not(:has(*:placeholder-shown))'
515
516
  );
516
517
  }
517
- } @else if $state == 'disabled' or $state == 'readonly' {
518
+ } @else if
519
+ $state ==
520
+ 'disabled' or
521
+ $state ==
522
+ 'readonly' or
523
+ $state ==
524
+ 'multiple'
525
+ {
518
526
  $selectors: list.join(
519
527
  $selectors,
520
528
  '#{$modifier}#{$block-item}[#{$state}]'
@@ -844,6 +852,8 @@
844
852
  datetime-edit,
845
853
  datetime-edit-fields-wrapper,
846
854
  datetime-edit-day-field,
855
+ backdrop,
856
+ file-selector-button,
847
857
  -webkit-progress-bar,
848
858
  -webkit-progress-value,
849
859
  -webkit-inner-element,
@@ -851,7 +861,9 @@
851
861
  -moz-progress-value,
852
862
  -moz-inner-element,
853
863
  -webkit-details-marker,
854
- -webkit-scrollbar
864
+ -webkit-scrollbar,
865
+ -webkit-scrollbar-track,
866
+ -webkit-scrollbar-thumb
855
867
  ),
856
868
  $pseudo-element
857
869
  )
@@ -1178,6 +1190,21 @@
1178
1190
  $bps: $bps
1179
1191
  );
1180
1192
  }
1193
+
1194
+ // map breakpoints
1195
+ @if map.get($value, 'breakpoint') {
1196
+ @include spread-map-into-breakpoints(
1197
+ $original: $map,
1198
+ $map: $value,
1199
+ $prefix: #{$prefix}-#{$key}-#{$transition}-#{$state},
1200
+ $key: 'breakpoint',
1201
+ $block: $block,
1202
+ $modifier: $selector,
1203
+ $props: $props,
1204
+ $zero-specificity: $zero-specificity,
1205
+ $bps: $bps
1206
+ );
1207
+ }
1181
1208
  }
1182
1209
  }
1183
1210
  }
@@ -3,7 +3,7 @@
3
3
  // background-attachment
4
4
  @include spread-map-into-utilities(
5
5
  $map: $background-attachment,
6
- $class: 'bg',
6
+ $class: bg,
7
7
  $attribute: 'background-attachment',
8
8
  $zero-specificity: $zero-specificity-for-utilities
9
9
  );
@@ -11,7 +11,7 @@
11
11
  // background-clip
12
12
  @include spread-map-into-utilities(
13
13
  $map: $background-clip,
14
- $class: 'bg-clip',
14
+ $class: bg-clip,
15
15
  $attribute: 'background-clip',
16
16
  $zero-specificity: $zero-specificity-for-utilities
17
17
  );
@@ -19,7 +19,7 @@
19
19
  // background-origin
20
20
  @include spread-map-into-utilities(
21
21
  $map: $background-origin,
22
- $class: 'bg-origin',
22
+ $class: bg-origin,
23
23
  $attribute: 'background-origin',
24
24
  $zero-specificity: $zero-specificity-for-utilities
25
25
  );
@@ -27,7 +27,7 @@
27
27
  // background-position
28
28
  @include spread-map-into-utilities(
29
29
  $map: $background-position,
30
- $class: 'bg',
30
+ $class: bg,
31
31
  $attribute: 'background-position',
32
32
  $zero-specificity: $zero-specificity-for-utilities
33
33
  );
@@ -53,5 +53,15 @@
53
53
  $map: $background-image,
54
54
  $class: bg,
55
55
  $attribute: background-image,
56
+ $prop: bg,
57
+ $zero-specificity: $zero-specificity-for-utilities
58
+ );
59
+
60
+ // background gradients
61
+ @include spread-map-into-utilities(
62
+ $map: $gradient,
63
+ $class: bg-gradient,
64
+ $attribute: background-image,
65
+ $prop: gradient,
56
66
  $zero-specificity: $zero-specificity-for-utilities
57
67
  );
@@ -195,6 +195,16 @@
195
195
  @extend %text-clip;
196
196
  }
197
197
 
198
+ %text-balance {
199
+ text-wrap: balance;
200
+ }
201
+ @include wrap-with-where(
202
+ $selector: '.text-balance',
203
+ $enabled: $zero-specificity-for-utilities
204
+ ) {
205
+ @extend %text-balance;
206
+ }
207
+
198
208
  // word break
199
209
  %break-normal {
200
210
  overflow-wrap: normal;