@@ -961,7 +961,41 @@ describe('transformCss', () => {
961961 ` ) ;
962962 } ) ;
963963
964- it ( 'should handle nested @supports and @media queries' , ( ) => {
964+ it ( 'should handle @container queries' , ( ) => {
965+ expect (
966+ transformCss ( {
967+ composedClassLists : [ ] ,
968+ localClassNames : [ 'testClass' ] ,
969+ cssObjs : [
970+ {
971+ type : 'local' ,
972+ selector : 'testClass' ,
973+ rule : {
974+ display : 'flex' ,
975+ containerName : 'sidebar' ,
976+ '@container' : {
977+ 'sidebar (min-width: 700px)' : {
978+ display : 'grid' ,
979+ } ,
980+ } ,
981+ } ,
982+ } ,
983+ ] ,
984+ } ) . join ( '\n' ) ,
985+ ) . toMatchInlineSnapshot ( `
986+ ".testClass {
987+ display: flex;
988+ container-name: sidebar;
989+ }
990+ @container sidebar (min-width: 700px) {
991+ .testClass {
992+ display: grid;
993+ }
994+ }"
995+ ` ) ;
996+ } ) ;
997+
998+ it ( 'should handle nested @supports, @media and @container queries' , ( ) => {
965999 expect (
9661000 transformCss ( {
9671001 composedClassLists : [ ] ,
@@ -978,16 +1012,27 @@ describe('transformCss', () => {
9781012 '@media' : {
9791013 'screen and (min-width: 700px)' : {
9801014 display : 'grid' ,
1015+ '@container' : {
1016+ 'sidebar (min-width: 700px)' : {
1017+ display : 'grid' ,
1018+ } ,
1019+ } ,
9811020 } ,
9821021 } ,
9831022 } ,
9841023 } ,
1024+
9851025 '@media' : {
9861026 'screen and (min-width: 700px)' : {
9871027 color : 'green' ,
9881028 '@supports' : {
9891029 '(display: grid)' : {
9901030 borderColor : 'blue' ,
1031+ '@container' : {
1032+ 'sidebar (min-width: 700px)' : {
1033+ display : 'grid' ,
1034+ } ,
1035+ } ,
9911036 } ,
9921037 } ,
9931038 } ,
@@ -1008,6 +1053,11 @@ describe('transformCss', () => {
10081053 .testClass {
10091054 border-color: blue;
10101055 }
1056+ @container sidebar (min-width: 700px) {
1057+ .testClass {
1058+ display: grid;
1059+ }
1060+ }
10111061 }
10121062 }
10131063 @supports (display: grid) {
@@ -1018,12 +1068,17 @@ describe('transformCss', () => {
10181068 .testClass {
10191069 display: grid;
10201070 }
1071+ @container sidebar (min-width: 700px) {
1072+ .testClass {
1073+ display: grid;
1074+ }
1075+ }
10211076 }
10221077 }"
10231078 ` ) ;
10241079 } ) ;
10251080
1026- it ( 'should merge nested @supports and @media queries' , ( ) => {
1081+ it ( 'should merge nested @supports, @media and @container queries' , ( ) => {
10271082 expect (
10281083 transformCss ( {
10291084 composedClassLists : [ ] ,
@@ -1038,12 +1093,18 @@ describe('transformCss', () => {
10381093 '@supports' : {
10391094 '(display: grid)' : {
10401095 borderColor : 'blue' ,
1096+ '@container' : {
1097+ 'sidebar (min-width: 700px)' : {
1098+ display : 'grid' ,
1099+ } ,
1100+ } ,
10411101 } ,
10421102 } ,
10431103 } ,
10441104 } ,
10451105 } ,
10461106 } ,
1107+
10471108 {
10481109 type : 'local' ,
10491110 selector : 'otherClass' ,
@@ -1053,6 +1114,11 @@ describe('transformCss', () => {
10531114 '@supports' : {
10541115 '(display: grid)' : {
10551116 backgroundColor : 'yellow' ,
1117+ '@container' : {
1118+ 'sidebar (min-width: 700px)' : {
1119+ display : 'grid' ,
1120+ } ,
1121+ } ,
10561122 } ,
10571123 } ,
10581124 } ,
@@ -1070,6 +1136,14 @@ describe('transformCss', () => {
10701136 .otherClass {
10711137 background-color: yellow;
10721138 }
1139+ @container sidebar (min-width: 700px) {
1140+ .testClass {
1141+ display: grid;
1142+ }
1143+ .otherClass {
1144+ display: grid;
1145+ }
1146+ }
10731147 }
10741148 }"
10751149 ` ) ;
0 commit comments