@@ -838,94 +838,24 @@ $merged-class-set: map.merge($standard-class-set, $responsive-class-set);
838838// Apply mixin
839839@mixin apply ($utilities ) {
840840 $utility-array : core .string-split ($utilities , ' ' );
841+
841842 @each $utility in $utility-array {
843+
842844 $escaped-utility : core .escape ($utility );
843- @if map .get ($merged-class-set , $escaped-utility ) == null {
844- @error ' [#{$utility } ] could not be found, please check your spelling.' ;
845- } @else {
846- $target-utility : map .get ($merged-class-set , $escaped-utility );
847- $properties : map .get ($target-utility , properties );
848- $selector : map .get ($target-utility , selector );
849- $category : map .get ($target-utility , category );
850- $extra-selector : map .get ($target-utility , extra-selector );
851- $all-pseudos : map .get ($config , pseudos );
852- $pseudo : map .get ($target-utility , pseudo );
853- $screen : map .get ($target-utility , screen );
854-
855- @if $screen == null {
856- @if $category == pseudo {
857- @if $pseudo == group- hover {
858- @at-root .group :hover & {
859- @if $extra-selector == null {
860- @each $property , $value in $properties {
861- #{$property } : #{$value } ;
862- }
863- } @else {
864- & #{$extra-selector } {
865- @each $property , $value in $properties {
866- #{$property } : #{$value } ;
867- }
868- }
869- }
870- }
871- } @else if $pseudo == group- focus {
872- @at-root .group :focus & {
873- @if $extra-selector == null {
874- @each $property , $value in $properties {
875- #{$property } : #{$value } ;
876- }
877- } @else {
878- & #{$extra-selector } {
879- @each $property , $value in $properties {
880- #{$property } : #{$value } ;
881- }
882- }
883- }
884- }
885- } @else if $pseudo == checked- sibling {
886- @at-root input :checked ~ & {
887- @if $extra-selector == null {
888- @each $property , $value in $properties {
889- #{$property } : #{$value } ;
890- }
891- } @else {
892- & #{$extra-selector } {
893- @each $property , $value in $properties {
894- #{$property } : #{$value } ;
895- }
896- }
897- }
898- }
899- } @else if $pseudo != none {
900- @at-root & #{map .get ($all-pseudos , $pseudo )} {
901- @if $extra-selector == null {
902- @each $property , $value in $properties {
903- #{$property } : #{$value } ;
904- }
905- } @else {
906- & #{$extra-selector } {
907- @each $property , $value in $properties {
908- #{$property } : #{$value } ;
909- }
910- }
911- }
912- }
913- }
914- } @else {
915- @if $extra-selector == null {
916- @each $property , $value in $properties {
917- #{$property } : #{$value } ;
918- }
919- } @else {
920- & #{$extra-selector } {
921- @each $property , $value in $properties {
922- #{$property } : #{$value } ;
923- }
924- }
925- }
926- }
845+ @if $escaped-utility != " " {
846+ @if map .get ($merged-class-set , $escaped-utility ) == null {
847+ @error ' [#{$utility } ] could not be found, please check your spelling.' ;
927848 } @else {
928- @media (min-width : map .get ($config , screens , $screen )) {
849+ $target-utility : map .get ($merged-class-set , $escaped-utility );
850+ $properties : map .get ($target-utility , properties );
851+ $selector : map .get ($target-utility , selector );
852+ $category : map .get ($target-utility , category );
853+ $extra-selector : map .get ($target-utility , extra-selector );
854+ $all-pseudos : map .get ($config , pseudos );
855+ $pseudo : map .get ($target-utility , pseudo );
856+ $screen : map .get ($target-utility , screen );
857+
858+ @if $screen == null {
929859 @if $category == pseudo {
930860 @if $pseudo == group- hover {
931861 @at-root .group :hover & {
@@ -970,7 +900,7 @@ $merged-class-set: map.merge($standard-class-set, $responsive-class-set);
970900 }
971901 }
972902 } @else if $pseudo != none {
973- @at-root & : #{ $ pseudo } {
903+ @at-root & #{ map . get ( $all-pseudos , $ pseudo) } {
974904 @if $extra-selector == null {
975905 @each $property , $value in $properties {
976906 #{$property } : #{$value } ;
@@ -997,6 +927,80 @@ $merged-class-set: map.merge($standard-class-set, $responsive-class-set);
997927 }
998928 }
999929 }
930+ } @else {
931+ @media (min-width : map .get ($config , screens , $screen )) {
932+ @if $category == pseudo {
933+ @if $pseudo == group- hover {
934+ @at-root .group :hover & {
935+ @if $extra-selector == null {
936+ @each $property , $value in $properties {
937+ #{$property } : #{$value } ;
938+ }
939+ } @else {
940+ & #{$extra-selector } {
941+ @each $property , $value in $properties {
942+ #{$property } : #{$value } ;
943+ }
944+ }
945+ }
946+ }
947+ } @else if $pseudo == group- focus {
948+ @at-root .group :focus & {
949+ @if $extra-selector == null {
950+ @each $property , $value in $properties {
951+ #{$property } : #{$value } ;
952+ }
953+ } @else {
954+ & #{$extra-selector } {
955+ @each $property , $value in $properties {
956+ #{$property } : #{$value } ;
957+ }
958+ }
959+ }
960+ }
961+ } @else if $pseudo == checked- sibling {
962+ @at-root input :checked ~ & {
963+ @if $extra-selector == null {
964+ @each $property , $value in $properties {
965+ #{$property } : #{$value } ;
966+ }
967+ } @else {
968+ & #{$extra-selector } {
969+ @each $property , $value in $properties {
970+ #{$property } : #{$value } ;
971+ }
972+ }
973+ }
974+ }
975+ } @else if $pseudo != none {
976+ @at-root & :#{$pseudo } {
977+ @if $extra-selector == null {
978+ @each $property , $value in $properties {
979+ #{$property } : #{$value } ;
980+ }
981+ } @else {
982+ & #{$extra-selector } {
983+ @each $property , $value in $properties {
984+ #{$property } : #{$value } ;
985+ }
986+ }
987+ }
988+ }
989+ }
990+ } @else {
991+ @if $extra-selector == null {
992+ @each $property , $value in $properties {
993+ #{$property } : #{$value } ;
994+ }
995+ } @else {
996+ & #{$extra-selector } {
997+ @each $property , $value in $properties {
998+ #{$property } : #{$value } ;
999+ }
1000+ }
1001+ }
1002+ }
1003+ }
10001004 }
10011005 }
10021006 }
0 commit comments