@@ -20,7 +20,7 @@ expect.addSnapshotSerializer({
2020} ) ;
2121
2222function getFirstClassName ( resolvedStyles : Record < string , MakeStylesResolvedRule > ) : string {
23- return resolvedStyles [ Object . keys ( resolvedStyles ) [ 0 ] ] [ 0 ] ;
23+ return resolvedStyles [ Object . keys ( resolvedStyles ) [ 0 ] ] [ 0 ] as string ;
2424}
2525
2626describe ( 'resolveStyleRules' , ( ) => {
@@ -367,32 +367,17 @@ describe('resolveStyleRules', () => {
367367 } ) ;
368368 } ) ;
369369
370- describe ( 'experimental ' , ( ) => {
371- it ( 'allows to define keyframes ' , ( ) => {
370+ describe ( 'keyframes ' , ( ) => {
371+ it ( 'allows to define string as animationName ' , ( ) => {
372372 expect (
373373 resolveStyleRules ( {
374- animationName : {
375- from : {
376- transform : 'rotate(0deg)' ,
377- } ,
378- to : {
379- transform : 'rotate(360deg)' ,
380- } ,
381- } ,
374+ animationName : 'fade-in slide-out' ,
382375 animationIterationCount : 'infinite' ,
383376 animationDuration : '5s' ,
384377 } ) ,
385378 ) . toMatchInlineSnapshot ( `
386- @keyframes f13owpa8 {
387- from {
388- transform: rotate(0deg);
389- }
390- to {
391- transform: rotate(360deg);
392- }
393- }
394- .fkf6eed0 {
395- animation-name: f13owpa8;
379+ .fc59ano0 {
380+ animation-name: fade-in slide-out;
396381 }
397382 .f1cpbl36 {
398383 animation-iteration-count: infinite;
@@ -403,6 +388,206 @@ describe('resolveStyleRules', () => {
403388 ` ) ;
404389 } ) ;
405390
391+ it ( 'allows to define object as animationName' , ( ) => {
392+ expect (
393+ resolveStyleRules ( {
394+ animationName : {
395+ from : {
396+ transform : 'rotate(0deg)' ,
397+ } ,
398+ to : {
399+ transform : 'rotate(360deg)' ,
400+ } ,
401+ } ,
402+ animationIterationCount : 'infinite' ,
403+ animationDuration : '5s' ,
404+ } ) ,
405+ ) . toMatchInlineSnapshot ( `
406+ @-webkit-keyframes f13owpa8 {
407+ from {
408+ -webkit-transform: rotate(0deg);
409+ -moz-transform: rotate(0deg);
410+ -ms-transform: rotate(0deg);
411+ transform: rotate(0deg);
412+ }
413+ to {
414+ -webkit-transform: rotate(360deg);
415+ -moz-transform: rotate(360deg);
416+ -ms-transform: rotate(360deg);
417+ transform: rotate(360deg);
418+ }
419+ }
420+ @keyframes f13owpa8 {
421+ from {
422+ -webkit-transform: rotate(0deg);
423+ -moz-transform: rotate(0deg);
424+ -ms-transform: rotate(0deg);
425+ transform: rotate(0deg);
426+ }
427+ to {
428+ -webkit-transform: rotate(360deg);
429+ -moz-transform: rotate(360deg);
430+ -ms-transform: rotate(360deg);
431+ transform: rotate(360deg);
432+ }
433+ }
434+ @-webkit-keyframes rf13owpa8 {
435+ from {
436+ -webkit-transform: rotate(0deg);
437+ -moz-transform: rotate(0deg);
438+ -ms-transform: rotate(0deg);
439+ transform: rotate(0deg);
440+ }
441+ to {
442+ -webkit-transform: rotate(-360deg);
443+ -moz-transform: rotate(-360deg);
444+ -ms-transform: rotate(-360deg);
445+ transform: rotate(-360deg);
446+ }
447+ }
448+ @keyframes rf13owpa8 {
449+ from {
450+ -webkit-transform: rotate(0deg);
451+ -moz-transform: rotate(0deg);
452+ -ms-transform: rotate(0deg);
453+ transform: rotate(0deg);
454+ }
455+ to {
456+ -webkit-transform: rotate(-360deg);
457+ -moz-transform: rotate(-360deg);
458+ -ms-transform: rotate(-360deg);
459+ transform: rotate(-360deg);
460+ }
461+ }
462+ .fkf6eed0 {
463+ animation-name: f13owpa8;
464+ }
465+ .rfkf6eed0 {
466+ animation-name: rf13owpa8;
467+ }
468+ .f1cpbl36 {
469+ animation-iteration-count: infinite;
470+ }
471+ .f1t9cprh {
472+ animation-duration: 5s;
473+ }
474+ ` ) ;
475+ } ) ;
476+
477+ it ( 'allows to define array as animationName' , ( ) => {
478+ expect (
479+ resolveStyleRules ( {
480+ animationName : [
481+ {
482+ from : {
483+ transform : 'rotate(0deg)' ,
484+ } ,
485+ to : {
486+ transform : 'rotate(360deg)' ,
487+ } ,
488+ } ,
489+ {
490+ from : {
491+ opacity : 0 ,
492+ } ,
493+ to : {
494+ opacity : 1 ,
495+ } ,
496+ } ,
497+ ] ,
498+ animationIterationCount : 'infinite' ,
499+ animationDuration : '5s' ,
500+ } ) ,
501+ ) . toMatchInlineSnapshot ( `
502+ @-webkit-keyframes f13owpa8 {
503+ from {
504+ -webkit-transform: rotate(0deg);
505+ -moz-transform: rotate(0deg);
506+ -ms-transform: rotate(0deg);
507+ transform: rotate(0deg);
508+ }
509+ to {
510+ -webkit-transform: rotate(360deg);
511+ -moz-transform: rotate(360deg);
512+ -ms-transform: rotate(360deg);
513+ transform: rotate(360deg);
514+ }
515+ }
516+ @keyframes f13owpa8 {
517+ from {
518+ -webkit-transform: rotate(0deg);
519+ -moz-transform: rotate(0deg);
520+ -ms-transform: rotate(0deg);
521+ transform: rotate(0deg);
522+ }
523+ to {
524+ -webkit-transform: rotate(360deg);
525+ -moz-transform: rotate(360deg);
526+ -ms-transform: rotate(360deg);
527+ transform: rotate(360deg);
528+ }
529+ }
530+ @-webkit-keyframes f1qa61cu {
531+ from {
532+ opacity: 0;
533+ }
534+ to {
535+ opacity: 1;
536+ }
537+ }
538+ @keyframes f1qa61cu {
539+ from {
540+ opacity: 0;
541+ }
542+ to {
543+ opacity: 1;
544+ }
545+ }
546+ @-webkit-keyframes rf13owpa8 {
547+ from {
548+ -webkit-transform: rotate(0deg);
549+ -moz-transform: rotate(0deg);
550+ -ms-transform: rotate(0deg);
551+ transform: rotate(0deg);
552+ }
553+ to {
554+ -webkit-transform: rotate(-360deg);
555+ -moz-transform: rotate(-360deg);
556+ -ms-transform: rotate(-360deg);
557+ transform: rotate(-360deg);
558+ }
559+ }
560+ @keyframes rf13owpa8 {
561+ from {
562+ -webkit-transform: rotate(0deg);
563+ -moz-transform: rotate(0deg);
564+ -ms-transform: rotate(0deg);
565+ transform: rotate(0deg);
566+ }
567+ to {
568+ -webkit-transform: rotate(-360deg);
569+ -moz-transform: rotate(-360deg);
570+ -ms-transform: rotate(-360deg);
571+ transform: rotate(-360deg);
572+ }
573+ }
574+ .f18gdskf {
575+ animation-name: f13owpa8 f1qa61cu;
576+ }
577+ .rf18gdskf {
578+ animation-name: rf13owpa8 f1qa61cu;
579+ }
580+ .f1cpbl36 {
581+ animation-iteration-count: infinite;
582+ }
583+ .f1t9cprh {
584+ animation-duration: 5s;
585+ }
586+ ` ) ;
587+ } ) ;
588+ } ) ;
589+
590+ describe ( 'experimental' , ( ) => {
406591 it ( 'allows to increase specificity' , ( ) => {
407592 expect ( resolveStyleRules ( { color : 'red' } , 1 ) ) . toMatchInlineSnapshot ( `
408593 .fe3e8s901.fe3e8s901 {
0 commit comments