@wix/interact 1.93.0 → 1.94.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/__tests__/interact.spec.js +170 -0
- package/dist/cjs/__tests__/interact.spec.js.map +1 -1
- package/dist/cjs/__tests__/viewEnter.spec.js +23 -6
- package/dist/cjs/__tests__/viewEnter.spec.js.map +1 -1
- package/dist/cjs/core/add.js.map +1 -1
- package/dist/cjs/handlers/animationEnd.js +6 -1
- package/dist/cjs/handlers/animationEnd.js.map +1 -1
- package/dist/cjs/handlers/click.js +12 -2
- package/dist/cjs/handlers/click.js.map +1 -1
- package/dist/cjs/handlers/hover.js +13 -3
- package/dist/cjs/handlers/hover.js.map +1 -1
- package/dist/cjs/handlers/viewEnter.js +7 -2
- package/dist/cjs/handlers/viewEnter.js.map +1 -1
- package/dist/cjs/handlers/viewProgress.js +3 -1
- package/dist/cjs/handlers/viewProgress.js.map +1 -1
- package/dist/esm/__tests__/interact.spec.js +170 -0
- package/dist/esm/__tests__/interact.spec.js.map +1 -1
- package/dist/esm/__tests__/viewEnter.spec.js +23 -6
- package/dist/esm/__tests__/viewEnter.spec.js.map +1 -1
- package/dist/esm/core/add.js.map +1 -1
- package/dist/esm/handlers/animationEnd.js +6 -1
- package/dist/esm/handlers/animationEnd.js.map +1 -1
- package/dist/esm/handlers/click.js +12 -2
- package/dist/esm/handlers/click.js.map +1 -1
- package/dist/esm/handlers/hover.js +13 -3
- package/dist/esm/handlers/hover.js.map +1 -1
- package/dist/esm/handlers/viewEnter.js +7 -2
- package/dist/esm/handlers/viewEnter.js.map +1 -1
- package/dist/esm/handlers/viewProgress.js +3 -1
- package/dist/esm/handlers/viewProgress.js.map +1 -1
- package/dist/types/__tests__/viewEnter.spec.d.ts +7 -0
- package/package.json +3 -3
|
@@ -688,6 +688,176 @@ describe('interact', () => {
|
|
|
688
688
|
});
|
|
689
689
|
});
|
|
690
690
|
});
|
|
691
|
+
describe('null animation handling', () => {
|
|
692
|
+
it('should not add click handler when getAnimation returns null', () => {
|
|
693
|
+
Interact.destroy();
|
|
694
|
+
const {
|
|
695
|
+
getWebAnimation
|
|
696
|
+
} = require('@wix/motion');
|
|
697
|
+
Interact.create({
|
|
698
|
+
interactions: [{
|
|
699
|
+
trigger: 'click',
|
|
700
|
+
key: 'null-click-test',
|
|
701
|
+
effects: [{
|
|
702
|
+
effectId: 'null-test-effect'
|
|
703
|
+
}]
|
|
704
|
+
}],
|
|
705
|
+
effects: {
|
|
706
|
+
'null-test-effect': {
|
|
707
|
+
namedEffect: {
|
|
708
|
+
type: 'FadeIn'
|
|
709
|
+
},
|
|
710
|
+
duration: 500
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
});
|
|
714
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
715
|
+
element = document.createElement('interact-element');
|
|
716
|
+
const div = document.createElement('div');
|
|
717
|
+
element.append(div);
|
|
718
|
+
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
719
|
+
add(element, 'null-click-test');
|
|
720
|
+
expect(addEventListenerSpy).not.toHaveBeenCalled();
|
|
721
|
+
});
|
|
722
|
+
it('should not add hover handler when getAnimation returns null', () => {
|
|
723
|
+
Interact.destroy();
|
|
724
|
+
const {
|
|
725
|
+
getWebAnimation
|
|
726
|
+
} = require('@wix/motion');
|
|
727
|
+
Interact.create({
|
|
728
|
+
interactions: [{
|
|
729
|
+
trigger: 'hover',
|
|
730
|
+
key: 'null-hover-test',
|
|
731
|
+
effects: [{
|
|
732
|
+
effectId: 'null-test-effect'
|
|
733
|
+
}]
|
|
734
|
+
}],
|
|
735
|
+
effects: {
|
|
736
|
+
'null-test-effect': {
|
|
737
|
+
namedEffect: {
|
|
738
|
+
type: 'FadeIn'
|
|
739
|
+
},
|
|
740
|
+
duration: 500
|
|
741
|
+
}
|
|
742
|
+
}
|
|
743
|
+
});
|
|
744
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
745
|
+
element = document.createElement('interact-element');
|
|
746
|
+
const div = document.createElement('div');
|
|
747
|
+
element.append(div);
|
|
748
|
+
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
749
|
+
add(element, 'null-hover-test');
|
|
750
|
+
expect(addEventListenerSpy).not.toHaveBeenCalled();
|
|
751
|
+
});
|
|
752
|
+
it('should not add animationEnd handler when getAnimation returns null', () => {
|
|
753
|
+
Interact.destroy();
|
|
754
|
+
const {
|
|
755
|
+
getWebAnimation
|
|
756
|
+
} = require('@wix/motion');
|
|
757
|
+
Interact.create({
|
|
758
|
+
interactions: [{
|
|
759
|
+
trigger: 'animationEnd',
|
|
760
|
+
key: 'null-animationend-test',
|
|
761
|
+
params: {
|
|
762
|
+
effectId: 'trigger-effect'
|
|
763
|
+
},
|
|
764
|
+
effects: [{
|
|
765
|
+
effectId: 'null-test-effect'
|
|
766
|
+
}]
|
|
767
|
+
}],
|
|
768
|
+
effects: {
|
|
769
|
+
'null-test-effect': {
|
|
770
|
+
namedEffect: {
|
|
771
|
+
type: 'FadeIn'
|
|
772
|
+
},
|
|
773
|
+
duration: 500
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
});
|
|
777
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
778
|
+
element = document.createElement('interact-element');
|
|
779
|
+
const div = document.createElement('div');
|
|
780
|
+
element.append(div);
|
|
781
|
+
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
782
|
+
add(element, 'null-animationend-test');
|
|
783
|
+
expect(addEventListenerSpy).not.toHaveBeenCalled();
|
|
784
|
+
});
|
|
785
|
+
it('should not add viewProgress handler when getWebAnimation returns null (ViewTimeline)', () => {
|
|
786
|
+
Interact.destroy();
|
|
787
|
+
const {
|
|
788
|
+
getWebAnimation
|
|
789
|
+
} = require('@wix/motion');
|
|
790
|
+
Interact.create({
|
|
791
|
+
interactions: [{
|
|
792
|
+
trigger: 'viewProgress',
|
|
793
|
+
key: 'null-viewprogress-test',
|
|
794
|
+
effects: [{
|
|
795
|
+
effectId: 'null-scroll-effect'
|
|
796
|
+
}]
|
|
797
|
+
}],
|
|
798
|
+
effects: {
|
|
799
|
+
'null-scroll-effect': {
|
|
800
|
+
namedEffect: {
|
|
801
|
+
type: 'FadeScroll',
|
|
802
|
+
range: 'in',
|
|
803
|
+
opacity: 0
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
}
|
|
807
|
+
});
|
|
808
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
809
|
+
element = document.createElement('interact-element');
|
|
810
|
+
const div = document.createElement('div');
|
|
811
|
+
element.append(div);
|
|
812
|
+
add(element, 'null-viewprogress-test');
|
|
813
|
+
|
|
814
|
+
// getWebAnimation should have been called
|
|
815
|
+
expect(getWebAnimation).toHaveBeenCalled();
|
|
816
|
+
});
|
|
817
|
+
it('should not add viewProgress handler when getScrubScene returns null (polyfill)', () => {
|
|
818
|
+
// Remove ViewTimeline support to use polyfill path
|
|
819
|
+
delete window.ViewTimeline;
|
|
820
|
+
Interact.destroy();
|
|
821
|
+
const {
|
|
822
|
+
getScrubScene
|
|
823
|
+
} = require('@wix/motion');
|
|
824
|
+
Interact.create({
|
|
825
|
+
interactions: [{
|
|
826
|
+
trigger: 'viewProgress',
|
|
827
|
+
key: 'null-viewprogress-polyfill-test',
|
|
828
|
+
effects: [{
|
|
829
|
+
effectId: 'null-scroll-effect'
|
|
830
|
+
}]
|
|
831
|
+
}],
|
|
832
|
+
effects: {
|
|
833
|
+
'null-scroll-effect': {
|
|
834
|
+
namedEffect: {
|
|
835
|
+
type: 'FadeScroll',
|
|
836
|
+
range: 'in',
|
|
837
|
+
opacity: 0
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
});
|
|
842
|
+
getScrubScene.mockReturnValueOnce(null);
|
|
843
|
+
element = document.createElement('interact-element');
|
|
844
|
+
const div = document.createElement('div');
|
|
845
|
+
element.append(div);
|
|
846
|
+
add(element, 'null-viewprogress-polyfill-test');
|
|
847
|
+
|
|
848
|
+
// getScrubScene should have been called
|
|
849
|
+
expect(getScrubScene).toHaveBeenCalled();
|
|
850
|
+
|
|
851
|
+
// Restore ViewTimeline
|
|
852
|
+
window.ViewTimeline = class ViewTimeline {
|
|
853
|
+
constructor(options) {
|
|
854
|
+
return {
|
|
855
|
+
...options
|
|
856
|
+
};
|
|
857
|
+
}
|
|
858
|
+
};
|
|
859
|
+
});
|
|
860
|
+
});
|
|
691
861
|
describe('pointerMove', () => {
|
|
692
862
|
it('should add handler for pointerMove trigger', () => {
|
|
693
863
|
const {
|