@wix/interact 1.93.0 → 1.95.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 +171 -2
- 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/cjs/types.js +2 -0
- 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/esm/types.js +1 -1
- package/dist/types/__tests__/viewEnter.spec.d.ts +7 -0
- package/package.json +3 -3
|
@@ -7,8 +7,7 @@ var _add = require("../core/add");
|
|
|
7
7
|
var _remove = require("../core/remove");
|
|
8
8
|
var _utilities = require("../handlers/utilities");
|
|
9
9
|
var _handlers = _interopRequireDefault(require("../handlers"));
|
|
10
|
-
function
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
12
11
|
// Mock @wix/motion module
|
|
13
12
|
jest.mock('@wix/motion', () => {
|
|
14
13
|
const mock = {
|
|
@@ -680,6 +679,176 @@ describe('interact', () => {
|
|
|
680
679
|
});
|
|
681
680
|
});
|
|
682
681
|
});
|
|
682
|
+
describe('null animation handling', () => {
|
|
683
|
+
it('should not add click handler when getAnimation returns null', () => {
|
|
684
|
+
_Interact.Interact.destroy();
|
|
685
|
+
const {
|
|
686
|
+
getWebAnimation
|
|
687
|
+
} = require('@wix/motion');
|
|
688
|
+
_Interact.Interact.create({
|
|
689
|
+
interactions: [{
|
|
690
|
+
trigger: 'click',
|
|
691
|
+
key: 'null-click-test',
|
|
692
|
+
effects: [{
|
|
693
|
+
effectId: 'null-test-effect'
|
|
694
|
+
}]
|
|
695
|
+
}],
|
|
696
|
+
effects: {
|
|
697
|
+
'null-test-effect': {
|
|
698
|
+
namedEffect: {
|
|
699
|
+
type: 'FadeIn'
|
|
700
|
+
},
|
|
701
|
+
duration: 500
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
});
|
|
705
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
706
|
+
element = document.createElement('interact-element');
|
|
707
|
+
const div = document.createElement('div');
|
|
708
|
+
element.append(div);
|
|
709
|
+
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
710
|
+
(0, _add.add)(element, 'null-click-test');
|
|
711
|
+
expect(addEventListenerSpy).not.toHaveBeenCalled();
|
|
712
|
+
});
|
|
713
|
+
it('should not add hover handler when getAnimation returns null', () => {
|
|
714
|
+
_Interact.Interact.destroy();
|
|
715
|
+
const {
|
|
716
|
+
getWebAnimation
|
|
717
|
+
} = require('@wix/motion');
|
|
718
|
+
_Interact.Interact.create({
|
|
719
|
+
interactions: [{
|
|
720
|
+
trigger: 'hover',
|
|
721
|
+
key: 'null-hover-test',
|
|
722
|
+
effects: [{
|
|
723
|
+
effectId: 'null-test-effect'
|
|
724
|
+
}]
|
|
725
|
+
}],
|
|
726
|
+
effects: {
|
|
727
|
+
'null-test-effect': {
|
|
728
|
+
namedEffect: {
|
|
729
|
+
type: 'FadeIn'
|
|
730
|
+
},
|
|
731
|
+
duration: 500
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
});
|
|
735
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
736
|
+
element = document.createElement('interact-element');
|
|
737
|
+
const div = document.createElement('div');
|
|
738
|
+
element.append(div);
|
|
739
|
+
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
740
|
+
(0, _add.add)(element, 'null-hover-test');
|
|
741
|
+
expect(addEventListenerSpy).not.toHaveBeenCalled();
|
|
742
|
+
});
|
|
743
|
+
it('should not add animationEnd handler when getAnimation returns null', () => {
|
|
744
|
+
_Interact.Interact.destroy();
|
|
745
|
+
const {
|
|
746
|
+
getWebAnimation
|
|
747
|
+
} = require('@wix/motion');
|
|
748
|
+
_Interact.Interact.create({
|
|
749
|
+
interactions: [{
|
|
750
|
+
trigger: 'animationEnd',
|
|
751
|
+
key: 'null-animationend-test',
|
|
752
|
+
params: {
|
|
753
|
+
effectId: 'trigger-effect'
|
|
754
|
+
},
|
|
755
|
+
effects: [{
|
|
756
|
+
effectId: 'null-test-effect'
|
|
757
|
+
}]
|
|
758
|
+
}],
|
|
759
|
+
effects: {
|
|
760
|
+
'null-test-effect': {
|
|
761
|
+
namedEffect: {
|
|
762
|
+
type: 'FadeIn'
|
|
763
|
+
},
|
|
764
|
+
duration: 500
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
});
|
|
768
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
769
|
+
element = document.createElement('interact-element');
|
|
770
|
+
const div = document.createElement('div');
|
|
771
|
+
element.append(div);
|
|
772
|
+
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
773
|
+
(0, _add.add)(element, 'null-animationend-test');
|
|
774
|
+
expect(addEventListenerSpy).not.toHaveBeenCalled();
|
|
775
|
+
});
|
|
776
|
+
it('should not add viewProgress handler when getWebAnimation returns null (ViewTimeline)', () => {
|
|
777
|
+
_Interact.Interact.destroy();
|
|
778
|
+
const {
|
|
779
|
+
getWebAnimation
|
|
780
|
+
} = require('@wix/motion');
|
|
781
|
+
_Interact.Interact.create({
|
|
782
|
+
interactions: [{
|
|
783
|
+
trigger: 'viewProgress',
|
|
784
|
+
key: 'null-viewprogress-test',
|
|
785
|
+
effects: [{
|
|
786
|
+
effectId: 'null-scroll-effect'
|
|
787
|
+
}]
|
|
788
|
+
}],
|
|
789
|
+
effects: {
|
|
790
|
+
'null-scroll-effect': {
|
|
791
|
+
namedEffect: {
|
|
792
|
+
type: 'FadeScroll',
|
|
793
|
+
range: 'in',
|
|
794
|
+
opacity: 0
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
});
|
|
799
|
+
getWebAnimation.mockReturnValueOnce(null);
|
|
800
|
+
element = document.createElement('interact-element');
|
|
801
|
+
const div = document.createElement('div');
|
|
802
|
+
element.append(div);
|
|
803
|
+
(0, _add.add)(element, 'null-viewprogress-test');
|
|
804
|
+
|
|
805
|
+
// getWebAnimation should have been called
|
|
806
|
+
expect(getWebAnimation).toHaveBeenCalled();
|
|
807
|
+
});
|
|
808
|
+
it('should not add viewProgress handler when getScrubScene returns null (polyfill)', () => {
|
|
809
|
+
// Remove ViewTimeline support to use polyfill path
|
|
810
|
+
delete window.ViewTimeline;
|
|
811
|
+
_Interact.Interact.destroy();
|
|
812
|
+
const {
|
|
813
|
+
getScrubScene
|
|
814
|
+
} = require('@wix/motion');
|
|
815
|
+
_Interact.Interact.create({
|
|
816
|
+
interactions: [{
|
|
817
|
+
trigger: 'viewProgress',
|
|
818
|
+
key: 'null-viewprogress-polyfill-test',
|
|
819
|
+
effects: [{
|
|
820
|
+
effectId: 'null-scroll-effect'
|
|
821
|
+
}]
|
|
822
|
+
}],
|
|
823
|
+
effects: {
|
|
824
|
+
'null-scroll-effect': {
|
|
825
|
+
namedEffect: {
|
|
826
|
+
type: 'FadeScroll',
|
|
827
|
+
range: 'in',
|
|
828
|
+
opacity: 0
|
|
829
|
+
}
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
});
|
|
833
|
+
getScrubScene.mockReturnValueOnce(null);
|
|
834
|
+
element = document.createElement('interact-element');
|
|
835
|
+
const div = document.createElement('div');
|
|
836
|
+
element.append(div);
|
|
837
|
+
(0, _add.add)(element, 'null-viewprogress-polyfill-test');
|
|
838
|
+
|
|
839
|
+
// getScrubScene should have been called
|
|
840
|
+
expect(getScrubScene).toHaveBeenCalled();
|
|
841
|
+
|
|
842
|
+
// Restore ViewTimeline
|
|
843
|
+
window.ViewTimeline = class ViewTimeline {
|
|
844
|
+
constructor(options) {
|
|
845
|
+
return {
|
|
846
|
+
...options
|
|
847
|
+
};
|
|
848
|
+
}
|
|
849
|
+
};
|
|
850
|
+
});
|
|
851
|
+
});
|
|
683
852
|
describe('pointerMove', () => {
|
|
684
853
|
it('should add handler for pointerMove trigger', () => {
|
|
685
854
|
const {
|