@@ -772,3 +772,58 @@ crosscheck(() => {
772
772
} )
773
773
} )
774
774
} )
775
+
776
+ test ( 'optimize universal defaults groups :has separately' , ( ) => {
777
+ let config = {
778
+ experimental : { optimizeUniversalDefaults : true } ,
779
+ content : [
780
+ { raw : html `<div class= "ring-1" > </ div> ` } ,
781
+ { raw : html `<div class= "has-[:checked]:ring-1" > </ div> ` } ,
782
+ ] ,
783
+ corePlugins : { preflight : false } ,
784
+ }
785
+
786
+ let input = css `
787
+ @tailwind base;
788
+ @tailwind utilities;
789
+ `
790
+
791
+ return run ( input , config ) . then ( ( result ) => {
792
+ return expect ( result . css ) . toMatchFormattedCss ( css `
793
+ .ring-1 {
794
+ --tw-ring-inset : ;
795
+ --tw-ring-offset-width : 0px ;
796
+ --tw-ring-offset-color : # fff ;
797
+ --tw-ring-color : # 3b82f680 ;
798
+ --tw-ring-offset-shadow : 0 0 # 0000 ;
799
+ --tw-ring-shadow : 0 0 # 0000 ;
800
+ --tw-shadow : 0 0 # 0000 ;
801
+ --tw-shadow-colored : 0 0 # 0000 ;
802
+ }
803
+ .has-\[\:checked\]\:ring-1 : has (: checked ) {
804
+ --tw-ring-inset : ;
805
+ --tw-ring-offset-width : 0px ;
806
+ --tw-ring-offset-color : # fff ;
807
+ --tw-ring-color : # 3b82f680 ;
808
+ --tw-ring-offset-shadow : 0 0 # 0000 ;
809
+ --tw-ring-shadow : 0 0 # 0000 ;
810
+ --tw-shadow : 0 0 # 0000 ;
811
+ --tw-shadow-colored : 0 0 # 0000 ;
812
+ }
813
+ .ring-1 {
814
+ --tw-ring-offset-shadow : var (--tw-ring-inset ) 0 0 0 var (--tw-ring-offset-width )
815
+ var (--tw-ring-offset-color );
816
+ --tw-ring-shadow : var (--tw-ring-inset ) 0 0 0 calc (1px + var (--tw-ring-offset-width ))
817
+ var (--tw-ring-color );
818
+ box-shadow : var (--tw-ring-offset-shadow ), var (--tw-ring-shadow ), var (--tw-shadow , 0 0 # 0000 );
819
+ }
820
+ .has-\[\:checked\]\:ring-1 : has (: checked ) {
821
+ --tw-ring-offset-shadow : var (--tw-ring-inset ) 0 0 0 var (--tw-ring-offset-width )
822
+ var (--tw-ring-offset-color );
823
+ --tw-ring-shadow : var (--tw-ring-inset ) 0 0 0 calc (1px + var (--tw-ring-offset-width ))
824
+ var (--tw-ring-color );
825
+ box-shadow : var (--tw-ring-offset-shadow ), var (--tw-ring-shadow ), var (--tw-shadow , 0 0 # 0000 );
826
+ }
827
+ ` )
828
+ } )
829
+ } )
0 commit comments