@@ -772,3 +772,58 @@ crosscheck(() => {
772772 } )
773773 } )
774774} )
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