@volverjs/style 0.1.2-beta.9 → 0.1.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 (180) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +53 -46
  3. package/dist/components/vv-accordion.css +1 -1
  4. package/dist/components/vv-alert.css +1 -0
  5. package/dist/components/vv-avatar.css +1 -0
  6. package/dist/components/vv-badge.css +1 -1
  7. package/dist/components/vv-breadcrumb.css +1 -1
  8. package/dist/components/vv-button-group.css +1 -1
  9. package/dist/components/vv-button.css +1 -1
  10. package/dist/components/vv-card.css +1 -1
  11. package/dist/components/vv-checkbox-group.css +1 -0
  12. package/dist/components/vv-checkbox.css +1 -0
  13. package/dist/components/vv-dialog.css +1 -1
  14. package/dist/components/vv-dropdown.css +1 -1
  15. package/dist/components/vv-input-text.css +1 -1
  16. package/dist/components/vv-nav.css +1 -1
  17. package/dist/components/vv-progress.css +1 -1
  18. package/dist/components/vv-radio-group.css +1 -0
  19. package/dist/components/vv-radio.css +1 -0
  20. package/dist/components/vv-select.css +1 -1
  21. package/dist/components/vv-skeleton.css +1 -0
  22. package/dist/components/vv-tab.css +1 -0
  23. package/dist/components/vv-table.css +1 -1
  24. package/dist/components/vv-text.css +1 -1
  25. package/dist/components/vv-textarea.css +1 -1
  26. package/dist/components/vv-toast.css +1 -0
  27. package/dist/components/vv-tooltip.css +1 -0
  28. package/dist/components.css +1 -1
  29. package/dist/export.css +1 -1
  30. package/dist/props/background.css +1 -1
  31. package/dist/props/breakpoints.css +1 -0
  32. package/dist/props/colors.css +1 -1
  33. package/dist/props/filters.css +1 -1
  34. package/dist/props/input.css +1 -1
  35. package/dist/props/layout.css +1 -1
  36. package/dist/props/spacing.css +1 -1
  37. package/dist/props/transitions.css +1 -0
  38. package/dist/props.css +1 -1
  39. package/dist/themes/dark/components.css +1 -1
  40. package/dist/themes/dark/props.css +1 -1
  41. package/dist/themes/dark/volver.css +1 -1
  42. package/dist/utilities/backgrounds.css +1 -1
  43. package/dist/utilities/borders.css +1 -1
  44. package/dist/utilities/colors.css +1 -1
  45. package/dist/utilities/effects.css +1 -1
  46. package/dist/utilities/filters.css +1 -1
  47. package/dist/utilities/flexbox.css +1 -1
  48. package/dist/utilities/interactivity.css +1 -0
  49. package/dist/utilities/layout.css +1 -1
  50. package/dist/utilities/sizing.css +1 -1
  51. package/dist/utilities/spacing.css +1 -1
  52. package/dist/utilities/transitions.css +1 -0
  53. package/dist/utilities/typography.css +1 -1
  54. package/dist/utilities.css +1 -1
  55. package/dist/volver.css +1 -1
  56. package/package.json +56 -36
  57. package/src/_config.scss +17 -11
  58. package/src/_context.scss +3 -3
  59. package/src/_preflight.scss +308 -247
  60. package/src/components/index.scss +25 -19
  61. package/src/components/vv-accordion.scss +3 -2
  62. package/src/components/vv-alert.scss +13 -0
  63. package/src/components/vv-avatar.scss +13 -0
  64. package/src/components/vv-badge.scss +3 -2
  65. package/src/components/vv-breadcrumb.scss +3 -2
  66. package/src/components/vv-button-group.scss +11 -10
  67. package/src/components/vv-button.scss +5 -8
  68. package/src/components/vv-card.scss +3 -2
  69. package/src/components/vv-checkbox-group.scss +13 -0
  70. package/src/components/{vv-input-checkbox.scss → vv-checkbox.scss} +7 -6
  71. package/src/components/vv-dialog.scss +3 -2
  72. package/src/components/vv-dropdown.scss +3 -2
  73. package/src/components/vv-input-text.scss +6 -5
  74. package/src/components/vv-nav.scss +3 -2
  75. package/src/components/vv-progress.scss +3 -2
  76. package/src/components/vv-radio-group.scss +13 -0
  77. package/src/components/{vv-input-radio.scss → vv-radio.scss} +6 -5
  78. package/src/components/vv-select.scss +6 -5
  79. package/src/components/vv-skeleton.scss +14 -0
  80. package/src/components/vv-tab.scss +13 -0
  81. package/src/components/vv-table.scss +3 -2
  82. package/src/components/vv-text.scss +3 -2
  83. package/src/components/vv-textarea.scss +6 -5
  84. package/src/components/vv-toast.scss +13 -0
  85. package/src/components/vv-tooltip.scss +33 -0
  86. package/src/export.scss +89 -27
  87. package/src/props/background.scss +1 -1
  88. package/src/props/borders.scss +1 -1
  89. package/src/props/breakpoints.scss +15 -0
  90. package/src/props/colors.scss +1 -1
  91. package/src/props/effects.scss +1 -1
  92. package/src/props/filters.scss +2 -1
  93. package/src/props/index.scss +13 -12
  94. package/src/props/input.scss +1 -1
  95. package/src/props/layout.scss +1 -1
  96. package/src/props/media.scss +1 -1
  97. package/src/props/sizing.scss +1 -1
  98. package/src/props/spacing.scss +2 -2
  99. package/src/props/{animation.scss → transitions.scss} +53 -2
  100. package/src/props/typography.scss +2 -2
  101. package/src/settings/_background.scss +6 -1
  102. package/src/settings/_breakpoints.scss +2 -0
  103. package/src/settings/_colors.scss +23 -4
  104. package/src/settings/_effects.scss +47 -2
  105. package/src/settings/_filters.scss +9 -0
  106. package/src/settings/_index.scss +40 -33
  107. package/src/settings/_input.scss +8 -6
  108. package/src/settings/_interactivity.scss +39 -0
  109. package/src/settings/_layout.scss +18 -10
  110. package/src/settings/_spacing.scss +1 -0
  111. package/src/settings/_transitions.scss +44 -0
  112. package/src/settings/components/_vv-accordion.scss +40 -34
  113. package/src/settings/components/_vv-alert.scss +161 -0
  114. package/src/settings/components/_vv-avatar.scss +55 -0
  115. package/src/settings/components/_vv-badge.scss +43 -11
  116. package/src/settings/components/_vv-breadcrumb.scss +23 -15
  117. package/src/settings/components/_vv-button-group.scss +4 -0
  118. package/src/settings/components/_vv-button.scss +30 -25
  119. package/src/settings/components/_vv-card.scss +2 -2
  120. package/src/settings/components/{_vv-input-checkbox-group.scss → _vv-checkbox-group.scss} +2 -1
  121. package/src/settings/components/{_vv-input-checkbox.scss → _vv-checkbox.scss} +46 -11
  122. package/src/settings/components/_vv-dialog.scss +71 -89
  123. package/src/settings/components/_vv-input-text.scss +83 -37
  124. package/src/settings/components/_vv-nav.scss +98 -13
  125. package/src/settings/components/_vv-progress.scss +1 -1
  126. package/src/settings/components/_vv-radio-group.scss +3 -0
  127. package/src/settings/components/{_vv-input-radio.scss → _vv-radio.scss} +33 -4
  128. package/src/settings/components/_vv-select.scss +34 -43
  129. package/src/settings/components/_vv-skeleton.scss +22 -0
  130. package/src/settings/components/_vv-tab.scss +16 -0
  131. package/src/settings/components/_vv-table.scss +8 -1
  132. package/src/settings/components/_vv-text.scss +20 -0
  133. package/src/settings/components/_vv-textarea.scss +49 -24
  134. package/src/settings/components/_vv-toast.scss +259 -0
  135. package/src/settings/components/_vv-tooltip.scss +74 -0
  136. package/src/themes/dark/_context.scss +7 -4
  137. package/src/themes/dark/components/_vv-button.scss +2 -4
  138. package/src/themes/dark/components/index.scss +1 -2
  139. package/src/themes/dark/props/_background.scss +1 -1
  140. package/src/themes/dark/props/_colors.scss +1 -1
  141. package/src/themes/dark/props/_input.scss +15 -0
  142. package/src/themes/dark/props/index.scss +3 -2
  143. package/src/themes/dark/settings/_background.scss +5 -0
  144. package/src/themes/dark/settings/_colors.scss +22 -2
  145. package/src/themes/dark/settings/_index.scss +4 -4
  146. package/src/themes/dark/settings/_input.scss +8 -0
  147. package/src/themes/dark/settings/components/_vv-button.scss +9 -9
  148. package/src/themes/dark/volver.scss +2 -2
  149. package/src/tools/_breakpoints.scss +7 -7
  150. package/src/tools/_functions.scss +95 -37
  151. package/src/tools/_index.scss +3 -3
  152. package/src/tools/_mixins.scss +166 -35
  153. package/src/utilities/backgrounds.scss +15 -8
  154. package/src/utilities/borders.scss +22 -9
  155. package/src/utilities/colors.scss +9 -5
  156. package/src/utilities/effects.scss +23 -5
  157. package/src/utilities/filters.scss +15 -4
  158. package/src/utilities/flexbox.scss +15 -8
  159. package/src/utilities/grid.scss +17 -9
  160. package/src/utilities/index.scss +13 -12
  161. package/src/utilities/interactivity.scss +10 -0
  162. package/src/utilities/layout.scss +35 -23
  163. package/src/utilities/sizing.scss +23 -26
  164. package/src/utilities/spacing.scss +1 -1
  165. package/src/utilities/transitions.scss +47 -0
  166. package/src/utilities/typography.scss +34 -17
  167. package/src/volver.scss +4 -4
  168. package/dist/components/vv-input-checkbox-group.css +0 -1
  169. package/dist/components/vv-input-checkbox.css +0 -1
  170. package/dist/components/vv-input-radio-group.css +0 -1
  171. package/dist/components/vv-input-radio.css +0 -1
  172. package/dist/props/animation.css +0 -1
  173. package/dist/utilities/animation.css +0 -1
  174. package/src/components/vv-input-checkbox-group.scss +0 -12
  175. package/src/components/vv-input-radio-group.scss +0 -12
  176. package/src/settings/_animation.scss +0 -9
  177. package/src/settings/components/_vv-input-radio-group.scss +0 -1
  178. package/src/themes/dark/components/_vv-input-checkbox.scss +0 -24
  179. package/src/themes/dark/settings/components/_vv-input-checkbox.scss +0 -26
  180. package/src/utilities/animation.scss +0 -8
@@ -3,6 +3,8 @@
3
3
  @use 'sass:string';
4
4
  @use 'sass:meta';
5
5
  @use 'sass:selector';
6
+ @use 'functions' as *;
7
+ @use 'breakpoints' as *;
6
8
 
7
9
  // Check ascending order
8
10
  // Used to ensure the breakpoints are ordered ascending.
@@ -77,7 +79,7 @@
77
79
  xxs: 0,
78
80
  ),
79
81
  $prefix: '',
80
- $zero-specificity: $zero-specificity-for-utilities
82
+ $zero-specificity: false
81
83
  ) {
82
84
  @if (type-of($map) == 'map' or type-of($map) == 'list') and $attribute != ''
83
85
  {
@@ -91,12 +93,14 @@
91
93
  }
92
94
  @if type-of($value) == 'map' and $deep {
93
95
  @include spread-map-into-utilities(
94
- $value,
95
- $class,
96
- $attribute,
97
- $prop,
98
- $key,
99
- $prefix
96
+ $map: $value,
97
+ $class: $class,
98
+ $attribute: $attribute,
99
+ $prop: $prop,
100
+ $name: $key,
101
+ $bps: $bps,
102
+ $prefix: $prefix,
103
+ $zero-specificity: $zero-specificity
100
104
  );
101
105
  } @else {
102
106
  $default: null;
@@ -133,8 +137,12 @@
133
137
  $default: $key;
134
138
  }
135
139
 
140
+ @if type-of($default) == 'string' {
141
+ $default: string.unquote($default);
142
+ }
143
+
136
144
  %#{$prefix}#{$class-name} {
137
- @include media-breakpoint-up($breakpoint) {
145
+ @include media-breakpoint-up($breakpoint, $bps) {
138
146
  @if type-of($attribute) != 'list' {
139
147
  $attribute: ($attribute);
140
148
  }
@@ -170,7 +178,10 @@
170
178
  $key: 'modifier',
171
179
  $block: null,
172
180
  $props: true,
173
- $zero-specificity: true
181
+ $zero-specificity: true,
182
+ $bps: (
183
+ xxs: 0,
184
+ )
174
185
  ) {
175
186
  @if not $block {
176
187
  $block: &;
@@ -255,7 +266,10 @@
255
266
  $block: null,
256
267
  $modifier: null,
257
268
  $props: true,
258
- $zero-specificity: true
269
+ $zero-specificity: true,
270
+ $bps: (
271
+ xxs: 0,
272
+ )
259
273
  ) {
260
274
  @if not $block {
261
275
  $block: &;
@@ -360,7 +374,10 @@
360
374
  $modifier: '',
361
375
  $alias: null,
362
376
  $props: true,
363
- $zero-specificity: true
377
+ $zero-specificity: true,
378
+ $bps: (
379
+ xxs: 0,
380
+ )
364
381
  ) {
365
382
  @if not $original {
366
383
  $original: $map;
@@ -397,7 +414,7 @@
397
414
  close,
398
415
  determinate,
399
416
  indeterminate,
400
- selected,
417
+ pressed,
401
418
  current
402
419
  ),
403
420
  $state
@@ -519,16 +536,16 @@
519
536
  '#{$modifier}#{$alias}:#{$state}'
520
537
  );
521
538
  }
522
- } @else if $state == 'selected' {
539
+ } @else if $state == 'pressed' {
523
540
  $selectors: list.join(
524
541
  $selectors,
525
- '#{$modifier}#{$block-item}[aria-selected="true"]'
542
+ '#{$modifier}#{$block-item}[aria-pressed="true"]'
526
543
  );
527
544
 
528
545
  @if $alias {
529
546
  $selectors: list.join(
530
547
  $selectors,
531
- '#{$modifier}#{$alias}[aria-selected="true"]'
548
+ '#{$modifier}#{$alias}[aria-pressed="true"]'
532
549
  );
533
550
  }
534
551
  } @else if $state != 'current' {
@@ -561,6 +578,7 @@
561
578
  $props: $props
562
579
  );
563
580
  }
581
+
564
582
  @include wrap-with-where(
565
583
  $selector: $selector,
566
584
  $enabled: $zero-specificity
@@ -593,7 +611,9 @@
593
611
  $key: 'breakpoint',
594
612
  $block: null,
595
613
  $props: true,
596
- $bps: $breakpoints,
614
+ $bps: (
615
+ xxs: 0,
616
+ ),
597
617
  $zero-specificity: true
598
618
  ) {
599
619
  @if not $block {
@@ -633,7 +653,9 @@
633
653
  outer-spin-button,
634
654
  progress-bar,
635
655
  progress-value,
636
- progress-inner-element
656
+ progress-inner-element,
657
+ datetime-edit-fields-wrapper,
658
+ datetime-edit-day-field
637
659
  ),
638
660
  $pseudo-element
639
661
  )
@@ -660,7 +682,10 @@
660
682
  $postfix: '',
661
683
  $deep: false,
662
684
  $ignore: (),
663
- $props: true
685
+ $props: true,
686
+ $bps: (
687
+ xxs: 0,
688
+ )
664
689
  ) {
665
690
  @if type-of($map) == 'map' and $prefix != '' {
666
691
  @each $key, $value in $map {
@@ -693,13 +718,16 @@
693
718
  progress-value,
694
719
  inner-element,
695
720
  marker,
721
+ datetime-edit-fields-wrapper,
722
+ datetime-edit-day-field,
696
723
  -webkit-progress-bar,
697
724
  -webkit-progress-value,
698
725
  -webkit-inner-element,
699
726
  -moz-progress-bar,
700
727
  -moz-progress-value,
701
728
  -moz-inner-element,
702
- -webkit-details-marker
729
+ -webkit-details-marker,
730
+ -webkit-scrollbar
703
731
  ),
704
732
  $pseudo-element
705
733
  )
@@ -804,17 +832,17 @@
804
832
 
805
833
  // Wrap selector with :where()
806
834
  @mixin wrap-with-where($selector, $enabled: true) {
807
- @if type-of($selector) == 'map' {
835
+ @if type-of($selector) == 'map' or type-of($selector) == 'list' {
808
836
  $merged: '';
809
837
  @each $element in $selector {
810
838
  @if $enabled {
811
- $merged: '#{$merged}, :where(#{$element})';
839
+ $merged: '#{$merged}, :where(#{unquote($element)})';
812
840
  } @else {
813
- $merged: '#{$merged}, #{$element}';
841
+ $merged: '#{$merged}, #{unquote($element)}';
814
842
  }
815
843
  }
816
844
  } @else if $enabled {
817
- $selector: ':where(#{$selector})';
845
+ $selector: ':where(#{unquote($selector)})';
818
846
  }
819
847
 
820
848
  #{$selector} {
@@ -830,25 +858,31 @@
830
858
  $modifiers-key: 'modifier',
831
859
  $states-key: 'state',
832
860
  $breakpoints-key: 'breakpoint',
861
+ $transitions-key: 'transition',
833
862
  $props: true,
834
863
  $zero-specificity: true,
864
+ $custom-props: false,
835
865
  $custom-block: false,
836
866
  $custom-elements: false,
837
867
  $custom-modifiers: false,
838
868
  $custom-states: false,
839
- $custom-breakpoints: false
869
+ $custom-breakpoints: false,
870
+ $custom-transitions: false,
871
+ $bps: (xxs: 0)
840
872
  ) {
841
873
  @if type-of($map) == 'map' and $block != '' {
842
874
  $selector: '.' + $block;
843
875
 
844
876
  // custom props
845
- @if $props {
846
- :where(:host, :root, .theme) {
847
- @include spread-map-into-props(
848
- $map: $map,
849
- $prefix: $block,
850
- $deep: true
851
- );
877
+ @if not $custom-props {
878
+ @if $props {
879
+ :where(:host, :root, .theme) {
880
+ @include spread-map-into-props(
881
+ $map: $map,
882
+ $prefix: $block,
883
+ $deep: true
884
+ );
885
+ }
852
886
  }
853
887
  }
854
888
 
@@ -884,7 +918,8 @@
884
918
  $key: $elements-key,
885
919
  $block: $selector,
886
920
  $props: $props,
887
- $zero-specificity: $zero-specificity
921
+ $zero-specificity: $zero-specificity,
922
+ $bps: $bps
888
923
  );
889
924
  }
890
925
  }
@@ -898,7 +933,8 @@
898
933
  $key: $states-key,
899
934
  $block: $selector,
900
935
  $props: $props,
901
- $zero-specificity: $zero-specificity
936
+ $zero-specificity: $zero-specificity,
937
+ $bps: $bps
902
938
  );
903
939
  }
904
940
  }
@@ -912,7 +948,23 @@
912
948
  $key: $modifiers-key,
913
949
  $block: $selector,
914
950
  $props: $props,
915
- $zero-specificity: $zero-specificity
951
+ $zero-specificity: $zero-specificity,
952
+ $bps: $bps
953
+ );
954
+ }
955
+ }
956
+
957
+ // transition
958
+ @if not $custom-transitions {
959
+ @if map.has-key($map, $transitions-key) {
960
+ @include spread-map-into-transitions(
961
+ $map: $map,
962
+ $prefix: $block,
963
+ $key: $transitions-key,
964
+ $block: $selector,
965
+ $props: $props,
966
+ $zero-specificity: $zero-specificity,
967
+ $bps: $bps
916
968
  );
917
969
  }
918
970
  }
@@ -926,9 +978,88 @@
926
978
  $key: $breakpoints-key,
927
979
  $block: $selector,
928
980
  $props: $props,
929
- $zero-specificity: $zero-specificity
981
+ $zero-specificity: $zero-specificity,
982
+ $bps: $bps
930
983
  );
931
984
  }
932
985
  }
933
986
  }
934
987
  }
988
+
989
+ // Transform a map into a list of transitions
990
+ @mixin spread-map-into-transitions(
991
+ $map: (),
992
+ $prefix: '',
993
+ $key: 'transition',
994
+ $block: null,
995
+ $props: true,
996
+ $zero-specificity: true,
997
+ $bps: (
998
+ xxs: 0,
999
+ )
1000
+ ) {
1001
+ @if not $block {
1002
+ $block: &;
1003
+ }
1004
+ @if type-of(map.get($map, $key)) == 'map' {
1005
+ @each $transition, $states in map.get($map, $key) {
1006
+ @each $state, $value in $states {
1007
+ @if $state in [ 'enter-from', 'enter-active', 'enter-to',
1008
+ 'leave-from', 'leave-active', 'leave-to', 'active',
1009
+ 'inert' ] and type-of($value) == 'map'
1010
+ {
1011
+ $selector: '.#{$transition}';
1012
+
1013
+ @if $prefix != '' {
1014
+ $selector: '.#{$prefix}--#{$transition}';
1015
+ }
1016
+
1017
+ @if $state == 'active' {
1018
+ $selector: (
1019
+ '#{$selector}-enter-active',
1020
+ '#{$selector}-leave-active'
1021
+ );
1022
+ } @else if $state == 'inert' {
1023
+ $selector: (
1024
+ '#{$selector}-enter-from',
1025
+ '#{$selector}-leave-to'
1026
+ );
1027
+ } @else {
1028
+ $selector: '#{$selector}-#{$state}';
1029
+ }
1030
+
1031
+ // map props and attributes
1032
+ @include wrap-with-where(
1033
+ $selector,
1034
+ $enabled: $zero-specificity
1035
+ ) {
1036
+ @include spread-map-into-attrs(
1037
+ $map: $value,
1038
+ $prefix: $prefix,
1039
+ $variant: #{$key}-#{$transition}-#{$state},
1040
+ $deep: true,
1041
+ $ignore: (
1042
+ 'element',
1043
+ ),
1044
+ $props: $props
1045
+ );
1046
+ }
1047
+
1048
+ // map elements
1049
+ @if map.get($value, 'element') {
1050
+ @include spread-map-into-elements(
1051
+ $original: $map,
1052
+ $map: $value,
1053
+ $prefix: #{$prefix}-#{$key}-#{$transition}-#{$state},
1054
+ $key: 'element',
1055
+ $block: $block,
1056
+ $modifier: $selector,
1057
+ $props: $props,
1058
+ $zero-specificity: $zero-specificity
1059
+ );
1060
+ }
1061
+ }
1062
+ }
1063
+ }
1064
+ }
1065
+ }
@@ -1,50 +1,57 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  // background-attachment
4
4
  @include spread-map-into-utilities(
5
5
  $map: $background-attachment,
6
6
  $class: 'bg',
7
- $attribute: 'background-attachment'
7
+ $attribute: 'background-attachment',
8
+ $zero-specificity: $zero-specificity-for-utilities
8
9
  );
9
10
 
10
11
  // background-clip
11
12
  @include spread-map-into-utilities(
12
13
  $map: $background-clip,
13
14
  $class: 'bg-clip',
14
- $attribute: 'background-clip'
15
+ $attribute: 'background-clip',
16
+ $zero-specificity: $zero-specificity-for-utilities
15
17
  );
16
18
 
17
19
  // background-origin
18
20
  @include spread-map-into-utilities(
19
21
  $map: $background-origin,
20
22
  $class: 'bg-origin',
21
- $attribute: 'background-origin'
23
+ $attribute: 'background-origin',
24
+ $zero-specificity: $zero-specificity-for-utilities
22
25
  );
23
26
 
24
27
  // background-position
25
28
  @include spread-map-into-utilities(
26
29
  $map: $background-position,
27
30
  $class: 'bg',
28
- $attribute: 'background-position'
31
+ $attribute: 'background-position',
32
+ $zero-specificity: $zero-specificity-for-utilities
29
33
  );
30
34
 
31
35
  // background-repeat
32
36
  @include spread-map-into-utilities(
33
37
  $map: $background-repeat,
34
38
  $class: bg,
35
- $attribute: background-repeat
39
+ $attribute: background-repeat,
40
+ $zero-specificity: $zero-specificity-for-utilities
36
41
  );
37
42
 
38
43
  // background-size
39
44
  @include spread-map-into-utilities(
40
45
  $map: $background-size,
41
46
  $class: bg,
42
- $attribute: background-size
47
+ $attribute: background-size,
48
+ $zero-specificity: $zero-specificity-for-utilities
43
49
  );
44
50
 
45
51
  // background-image
46
52
  @include spread-map-into-utilities(
47
53
  $map: $background-image,
48
54
  $class: bg,
49
- $attribute: background-image
55
+ $attribute: background-image,
56
+ $zero-specificity: $zero-specificity-for-utilities
50
57
  );
@@ -1,12 +1,13 @@
1
1
  @use 'sass:map';
2
- @import '../context';
2
+ @use '../context' as *;
3
3
 
4
4
  // border-radius
5
5
  @include spread-map-into-utilities(
6
6
  $map: $border-radius,
7
7
  $class: rounded,
8
8
  $attribute: border-radius,
9
- $prop: rounded
9
+ $prop: rounded,
10
+ $zero-specificity: $zero-specificity-for-utilities
10
11
  );
11
12
 
12
13
  @each $x-key, $x-value in (t: top, b: bottom) {
@@ -17,7 +18,8 @@
17
18
  border- + $x-value + -left-radius,
18
19
  border- + $x-value + -right-radius,
19
20
  ),
20
- $prop: rounded
21
+ $prop: rounded,
22
+ $zero-specificity: $zero-specificity-for-utilities
21
23
  );
22
24
 
23
25
  @each $y-key, $y-value in (r: right, l: left) {
@@ -27,7 +29,8 @@
27
29
  $attribute: (
28
30
  border- + $x-value + '-' + $y-value + -radius,
29
31
  ),
30
- $prop: rounded
32
+ $prop: rounded,
33
+ $zero-specificity: $zero-specificity-for-utilities
31
34
  );
32
35
  }
33
36
  }
@@ -37,7 +40,9 @@
37
40
  $map: $border-width,
38
41
  $class: border,
39
42
  $attribute: border-width,
40
- $prop: border
43
+ $prop: border,
44
+ $bps: $breakpoints,
45
+ $zero-specificity: $zero-specificity-for-utilities
41
46
  );
42
47
 
43
48
  @include spread-map-into-utilities(
@@ -47,7 +52,9 @@
47
52
  border-right-width,
48
53
  border-left-width,
49
54
  ),
50
- $prop: border
55
+ $bps: $breakpoints,
56
+ $prop: border,
57
+ $zero-specificity: $zero-specificity-for-utilities
51
58
  );
52
59
 
53
60
  @include spread-map-into-utilities(
@@ -57,7 +64,9 @@
57
64
  border-top-width,
58
65
  border-bottom-width,
59
66
  ),
60
- $prop: border
67
+ $bps: $breakpoints,
68
+ $prop: border,
69
+ $zero-specificity: $zero-specificity-for-utilities
61
70
  );
62
71
 
63
72
  @each $key, $value in (t: top, r: right, b: bottom, l: left) {
@@ -67,7 +76,9 @@
67
76
  $attribute: (
68
77
  border- + $value + -width,
69
78
  ),
70
- $prop: border
79
+ $bps: $breakpoints,
80
+ $prop: border,
81
+ $zero-specificity: $zero-specificity-for-utilities
71
82
  );
72
83
  }
73
84
 
@@ -75,5 +86,7 @@
75
86
  @include spread-map-into-utilities(
76
87
  $map: $border-style,
77
88
  $class: border,
78
- $attribute: border-style
89
+ $attribute: border-style,
90
+ $bps: $breakpoints,
91
+ $zero-specificity: $zero-specificity-for-utilities
79
92
  );
@@ -1,11 +1,12 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  // background-color
4
4
  @include spread-map-into-utilities(
5
5
  $map: $colors,
6
6
  $class: bg,
7
7
  $attribute: background-color,
8
- $prop: color
8
+ $prop: color,
9
+ $zero-specificity: $zero-specificity-for-utilities
9
10
  );
10
11
 
11
12
  // color
@@ -13,7 +14,8 @@
13
14
  $map: $colors,
14
15
  $class: text,
15
16
  $attribute: color,
16
- $prop: color
17
+ $prop: color,
18
+ $zero-specificity: $zero-specificity-for-utilities
17
19
  );
18
20
 
19
21
  // text-decoration-color
@@ -21,7 +23,8 @@
21
23
  $map: $colors,
22
24
  $class: decoration,
23
25
  $attribute: text-decoration-color,
24
- $prop: color
26
+ $prop: color,
27
+ $zero-specificity: $zero-specificity-for-utilities
25
28
  );
26
29
 
27
30
  // border-color
@@ -29,5 +32,6 @@
29
32
  $map: $colors,
30
33
  $class: border,
31
34
  $attribute: border-color,
32
- $prop: color
35
+ $prop: color,
36
+ $zero-specificity: $zero-specificity-for-utilities
33
37
  );
@@ -1,15 +1,33 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  // box shadow
4
4
  @include spread-map-into-utilities(
5
5
  $map: $box-shadow,
6
6
  $class: shadow,
7
- $attribute: box-shadow
7
+ $attribute: box-shadow,
8
+ $zero-specificity: $zero-specificity-for-utilities
8
9
  );
9
10
 
10
- // blend mode
11
+ // opacity
11
12
  @include spread-map-into-utilities(
12
- $map: $blend-mode,
13
+ $map: $opacity,
14
+ $class: opacity,
15
+ $attribute: opacity,
16
+ $zero-specificity: $zero-specificity-for-utilities
17
+ );
18
+
19
+ // mix blend mode
20
+ @include spread-map-into-utilities(
21
+ $map: $mix-blend-mode,
13
22
  $class: mix-blend,
14
- $attribute: mix-blend-mode
23
+ $attribute: mix-blend-mode,
24
+ $zero-specificity: $zero-specificity-for-utilities
25
+ );
26
+
27
+ // background blend mode
28
+ @include spread-map-into-utilities(
29
+ $map: $background-blend-mode,
30
+ $class: bg-blend,
31
+ $attribute: background-blend-mode,
32
+ $zero-specificity: $zero-specificity-for-utilities
15
33
  );
@@ -1,22 +1,33 @@
1
- @import '../context';
1
+ @use '../context' as *;
2
2
 
3
3
  // blur
4
4
  @include spread-map-into-utilities(
5
5
  $map: $blur,
6
6
  $class: blur,
7
- $attribute: filter
7
+ $attribute: filter,
8
+ $zero-specificity: $zero-specificity-for-utilities
8
9
  );
9
10
 
10
11
  // brightness
11
12
  @include spread-map-into-utilities(
12
13
  $map: $brightness,
13
14
  $class: brightness,
14
- $attribute: filter
15
+ $attribute: filter,
16
+ $zero-specificity: $zero-specificity-for-utilities
17
+ );
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
15
25
  );
16
26
 
17
27
  // backdrop blur
18
28
  @include spread-map-into-utilities(
19
29
  $map: $blur,
20
30
  $class: backdrop-blur,
21
- $attribute: backdrop-filter
31
+ $attribute: backdrop-filter,
32
+ $zero-specificity: $zero-specificity-for-utilities
22
33
  );
@@ -1,12 +1,13 @@
1
1
  @use 'sass:map';
2
- @import '../context';
2
+ @use '../context' as *;
3
3
 
4
4
  // flex direction
5
5
  @include spread-map-into-utilities(
6
6
  $map: $flex-direction,
7
7
  $class: flex,
8
8
  $attribute: flex-direction,
9
- $bps: $breakpoints
9
+ $bps: $breakpoints,
10
+ $zero-specificity: $zero-specificity-for-utilities
10
11
  );
11
12
 
12
13
  // flex wrap
@@ -14,7 +15,8 @@
14
15
  $map: $flex-wrap,
15
16
  $class: flex,
16
17
  $attribute: flex-wrap,
17
- $bps: $breakpoints
18
+ $bps: $breakpoints,
19
+ $zero-specificity: $zero-specificity-for-utilities
18
20
  );
19
21
 
20
22
  // flex
@@ -22,7 +24,8 @@
22
24
  $map: $flex,
23
25
  $class: flex,
24
26
  $attribute: flex,
25
- $bps: $breakpoints
27
+ $bps: $breakpoints,
28
+ $zero-specificity: $zero-specificity-for-utilities
26
29
  );
27
30
 
28
31
  // flex grow
@@ -45,7 +48,8 @@
45
48
  $map: $order,
46
49
  $class: order,
47
50
  $attribute: order,
48
- $bps: $breakpoints
51
+ $bps: $breakpoints,
52
+ $zero-specificity: $zero-specificity-for-utilities
49
53
  );
50
54
 
51
55
  // gap
@@ -99,7 +103,8 @@
99
103
  $map: $justify-align-content,
100
104
  $class: $class,
101
105
  $attribute: $attribute,
102
- $bps: $breakpoints
106
+ $bps: $breakpoints,
107
+ $zero-specificity: $zero-specificity-for-utilities
103
108
  );
104
109
  }
105
110
 
@@ -109,7 +114,8 @@
109
114
  $map: $justify-align-items,
110
115
  $class: $class,
111
116
  $attribute: $attribute,
112
- $bps: $breakpoints
117
+ $bps: $breakpoints,
118
+ $zero-specificity: $zero-specificity-for-utilities
113
119
  );
114
120
  }
115
121
 
@@ -119,6 +125,7 @@
119
125
  $map: $justify-align-self,
120
126
  $class: $class,
121
127
  $attribute: $attribute,
122
- $bps: $breakpoints
128
+ $bps: $breakpoints,
129
+ $zero-specificity: $zero-specificity-for-utilities
123
130
  );
124
131
  }