@wix/interact 1.85.0 → 1.89.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/README.md +7 -7
- package/dist/cjs/{WixInteractElement.js → InteractElement.js} +14 -14
- package/dist/cjs/InteractElement.js.map +1 -0
- package/dist/cjs/__tests__/interact.spec.js +81 -55
- package/dist/cjs/__tests__/interact.spec.js.map +1 -1
- package/dist/cjs/__tests__/viewEnter.spec.js +207 -0
- package/dist/cjs/__tests__/viewEnter.spec.js.map +1 -0
- package/dist/cjs/core/Interact.js +19 -7
- package/dist/cjs/core/Interact.js.map +1 -1
- package/dist/cjs/core/add.js +3 -3
- package/dist/cjs/core/add.js.map +1 -1
- package/dist/cjs/handlers/click.js +3 -3
- package/dist/cjs/handlers/click.js.map +1 -1
- package/dist/cjs/handlers/hover.js +4 -4
- package/dist/cjs/handlers/hover.js.map +1 -1
- package/dist/cjs/handlers/pointerMove.js +8 -2
- package/dist/cjs/handlers/pointerMove.js.map +1 -1
- package/dist/cjs/handlers/utilities.js +0 -2
- package/dist/cjs/handlers/utilities.js.map +1 -1
- package/dist/cjs/handlers/viewEnter.js +63 -11
- package/dist/cjs/handlers/viewEnter.js.map +1 -1
- package/dist/cjs/handlers/viewProgress.js +9 -3
- package/dist/cjs/handlers/viewProgress.js.map +1 -1
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils.js +2 -2
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/{WixInteractElement.js → InteractElement.js} +12 -12
- package/dist/esm/InteractElement.js.map +1 -0
- package/dist/esm/__tests__/interact.spec.js +80 -55
- package/dist/esm/__tests__/interact.spec.js.map +1 -1
- package/dist/esm/__tests__/viewEnter.spec.js +210 -0
- package/dist/esm/__tests__/viewEnter.spec.js.map +1 -0
- package/dist/esm/core/Interact.js +19 -7
- package/dist/esm/core/Interact.js.map +1 -1
- package/dist/esm/core/add.js +3 -3
- package/dist/esm/core/add.js.map +1 -1
- package/dist/esm/handlers/click.js +3 -3
- package/dist/esm/handlers/click.js.map +1 -1
- package/dist/esm/handlers/hover.js +4 -4
- package/dist/esm/handlers/hover.js.map +1 -1
- package/dist/esm/handlers/pointerMove.js +8 -2
- package/dist/esm/handlers/pointerMove.js.map +1 -1
- package/dist/esm/handlers/utilities.js +0 -2
- package/dist/esm/handlers/utilities.js.map +1 -1
- package/dist/esm/handlers/viewEnter.js +65 -11
- package/dist/esm/handlers/viewEnter.js.map +1 -1
- package/dist/esm/handlers/viewProgress.js +9 -3
- package/dist/esm/handlers/viewProgress.js.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils.js +2 -2
- package/dist/esm/utils.js.map +1 -1
- package/dist/types/{WixInteractElement.d.ts → InteractElement.d.ts} +2 -2
- package/dist/types/__tests__/viewEnter.spec.d.ts +0 -0
- package/dist/types/core/Interact.d.ts +11 -6
- package/dist/types/core/add.d.ts +3 -3
- package/dist/types/handlers/pointerMove.d.ts +2 -0
- package/dist/types/handlers/viewEnter.d.ts +2 -0
- package/dist/types/handlers/viewProgress.d.ts +2 -0
- package/dist/types/types.d.ts +8 -3
- package/package.json +7 -6
- package/dist/cjs/WixInteractElement.js.map +0 -1
- package/dist/esm/WixInteractElement.js.map +0 -1
|
@@ -2,6 +2,7 @@ import { Interact } from '../core/Interact';
|
|
|
2
2
|
import { add, addListItems } from '../core/add';
|
|
3
3
|
import { remove } from '../core/remove';
|
|
4
4
|
import { effectToAnimationOptions } from '../handlers/utilities';
|
|
5
|
+
import TRIGGER_TO_HANDLER_MODULE_MAP from '../handlers';
|
|
5
6
|
|
|
6
7
|
// Mock @wix/motion module
|
|
7
8
|
jest.mock('@wix/motion', () => {
|
|
@@ -249,7 +250,7 @@ describe('interact', () => {
|
|
|
249
250
|
}
|
|
250
251
|
});
|
|
251
252
|
beforeEach(() => {
|
|
252
|
-
element = document.createElement('
|
|
253
|
+
element = document.createElement('interact-element');
|
|
253
254
|
const div = document.createElement('div');
|
|
254
255
|
element.append(div);
|
|
255
256
|
|
|
@@ -408,14 +409,14 @@ describe('interact', () => {
|
|
|
408
409
|
describe('init Interact instance', () => {
|
|
409
410
|
it('should initialize with valid config', () => {
|
|
410
411
|
Interact.create({});
|
|
411
|
-
expect(customElements.get('
|
|
412
|
+
expect(customElements.get('interact-element')).toBeDefined();
|
|
412
413
|
});
|
|
413
414
|
});
|
|
414
415
|
describe('destroy Interact instance', () => {
|
|
415
416
|
it('should clear an instance entire cache', () => {
|
|
416
417
|
const instance = Interact.create(getMockConfig());
|
|
417
|
-
element = document.createElement('
|
|
418
|
-
element.dataset.
|
|
418
|
+
element = document.createElement('interact-element');
|
|
419
|
+
element.dataset.interactKey = 'logo-entrance';
|
|
419
420
|
const div = document.createElement('div');
|
|
420
421
|
element.append(div);
|
|
421
422
|
add(element, 'logo-entrance');
|
|
@@ -439,7 +440,7 @@ describe('interact', () => {
|
|
|
439
440
|
});
|
|
440
441
|
it('should clear all elements from cache', () => {
|
|
441
442
|
Interact.create(getMockConfig());
|
|
442
|
-
element = document.createElement('
|
|
443
|
+
element = document.createElement('interact-element');
|
|
443
444
|
const div = document.createElement('div');
|
|
444
445
|
element.append(div);
|
|
445
446
|
add(element, 'logo-hover');
|
|
@@ -449,10 +450,10 @@ describe('interact', () => {
|
|
|
449
450
|
});
|
|
450
451
|
it('should call disconnect on all cached elements', () => {
|
|
451
452
|
Interact.create(getMockConfig());
|
|
452
|
-
const element1 = document.createElement('
|
|
453
|
+
const element1 = document.createElement('interact-element');
|
|
453
454
|
const div1 = document.createElement('div');
|
|
454
455
|
element1.append(div1);
|
|
455
|
-
const element2 = document.createElement('
|
|
456
|
+
const element2 = document.createElement('interact-element');
|
|
456
457
|
const div2 = document.createElement('div');
|
|
457
458
|
element2.append(div2);
|
|
458
459
|
add(element1, 'logo-hover');
|
|
@@ -465,7 +466,7 @@ describe('interact', () => {
|
|
|
465
466
|
});
|
|
466
467
|
it('should clean up interactions after destroy', () => {
|
|
467
468
|
Interact.create(getMockConfig());
|
|
468
|
-
element = document.createElement('
|
|
469
|
+
element = document.createElement('interact-element');
|
|
469
470
|
const div = document.createElement('div');
|
|
470
471
|
element.append(div);
|
|
471
472
|
add(element, 'logo-click');
|
|
@@ -476,7 +477,7 @@ describe('interact', () => {
|
|
|
476
477
|
|
|
477
478
|
// Re-create instance and verify it works independently
|
|
478
479
|
Interact.create(getMockConfig());
|
|
479
|
-
const newElement = document.createElement('
|
|
480
|
+
const newElement = document.createElement('interact-element');
|
|
480
481
|
const newDiv = document.createElement('div');
|
|
481
482
|
newElement.append(newDiv);
|
|
482
483
|
const newAddEventListenerSpy = jest.spyOn(newDiv, 'addEventListener');
|
|
@@ -490,9 +491,9 @@ describe('interact', () => {
|
|
|
490
491
|
// Interact.create(mockConfig);
|
|
491
492
|
|
|
492
493
|
// element = document.createElement(
|
|
493
|
-
// '
|
|
494
|
-
// ) as
|
|
495
|
-
// element.dataset.
|
|
494
|
+
// 'interact-element',
|
|
495
|
+
// ) as IInteractElement;
|
|
496
|
+
// element.dataset.interactKey = 'logo-click';
|
|
496
497
|
// const div = document.createElement('div');
|
|
497
498
|
// element.append(div);
|
|
498
499
|
|
|
@@ -535,7 +536,7 @@ describe('interact', () => {
|
|
|
535
536
|
}
|
|
536
537
|
}
|
|
537
538
|
});
|
|
538
|
-
element = document.createElement('
|
|
539
|
+
element = document.createElement('interact-element');
|
|
539
540
|
const div = document.createElement('div');
|
|
540
541
|
element.append(div);
|
|
541
542
|
add(element, 'logo-hover');
|
|
@@ -560,7 +561,7 @@ describe('interact', () => {
|
|
|
560
561
|
const {
|
|
561
562
|
getWebAnimation
|
|
562
563
|
} = require('@wix/motion');
|
|
563
|
-
element = document.createElement('
|
|
564
|
+
element = document.createElement('interact-element');
|
|
564
565
|
const div = document.createElement('div');
|
|
565
566
|
element.append(div);
|
|
566
567
|
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
@@ -587,7 +588,7 @@ describe('interact', () => {
|
|
|
587
588
|
});
|
|
588
589
|
describe('click', () => {
|
|
589
590
|
it('should add handler for click trigger', () => {
|
|
590
|
-
element = document.createElement('
|
|
591
|
+
element = document.createElement('interact-element');
|
|
591
592
|
const div = document.createElement('div');
|
|
592
593
|
element.append(div);
|
|
593
594
|
const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
|
|
@@ -603,7 +604,7 @@ describe('interact', () => {
|
|
|
603
604
|
const {
|
|
604
605
|
getWebAnimation
|
|
605
606
|
} = require('@wix/motion');
|
|
606
|
-
element = document.createElement('
|
|
607
|
+
element = document.createElement('interact-element');
|
|
607
608
|
const div = document.createElement('div');
|
|
608
609
|
element.append(div);
|
|
609
610
|
add(element, 'logo-entrance');
|
|
@@ -616,15 +617,15 @@ describe('interact', () => {
|
|
|
616
617
|
const {
|
|
617
618
|
getWebAnimation
|
|
618
619
|
} = require('@wix/motion');
|
|
619
|
-
element = document.createElement('
|
|
620
|
+
element = document.createElement('interact-element');
|
|
620
621
|
const div = document.createElement('div');
|
|
621
622
|
div.id = 'logo-entrance';
|
|
622
|
-
element.dataset.
|
|
623
|
+
element.dataset.interactKey = 'logo-entrance';
|
|
623
624
|
element.append(div);
|
|
624
|
-
const elementClick = document.createElement('
|
|
625
|
+
const elementClick = document.createElement('interact-element');
|
|
625
626
|
const divClick = document.createElement('div');
|
|
626
627
|
divClick.id = 'logo-click';
|
|
627
|
-
elementClick.dataset.
|
|
628
|
+
elementClick.dataset.interactKey = 'logo-click';
|
|
628
629
|
elementClick.append(divClick);
|
|
629
630
|
add(elementClick, 'logo-click');
|
|
630
631
|
add(element, 'logo-entrance');
|
|
@@ -648,7 +649,7 @@ describe('interact', () => {
|
|
|
648
649
|
const {
|
|
649
650
|
getWebAnimation
|
|
650
651
|
} = require('@wix/motion');
|
|
651
|
-
element = document.createElement('
|
|
652
|
+
element = document.createElement('interact-element');
|
|
652
653
|
const div = document.createElement('div');
|
|
653
654
|
element.append(div);
|
|
654
655
|
add(element, 'logo-loop');
|
|
@@ -663,7 +664,7 @@ describe('interact', () => {
|
|
|
663
664
|
const {
|
|
664
665
|
getWebAnimation
|
|
665
666
|
} = require('@wix/motion');
|
|
666
|
-
element = document.createElement('
|
|
667
|
+
element = document.createElement('interact-element');
|
|
667
668
|
const div = document.createElement('div');
|
|
668
669
|
element.append(div);
|
|
669
670
|
add(element, 'logo-animation-end');
|
|
@@ -686,7 +687,7 @@ describe('interact', () => {
|
|
|
686
687
|
destroy: jest.fn()
|
|
687
688
|
};
|
|
688
689
|
Pointer.mockImplementation(() => pointerInstance);
|
|
689
|
-
element = document.createElement('
|
|
690
|
+
element = document.createElement('interact-element');
|
|
690
691
|
const div = document.createElement('div');
|
|
691
692
|
element.append(div);
|
|
692
693
|
add(element, 'logo-mouse');
|
|
@@ -702,7 +703,7 @@ describe('interact', () => {
|
|
|
702
703
|
const {
|
|
703
704
|
getWebAnimation
|
|
704
705
|
} = require('@wix/motion');
|
|
705
|
-
element = document.createElement('
|
|
706
|
+
element = document.createElement('interact-element');
|
|
706
707
|
const div = document.createElement('div');
|
|
707
708
|
element.append(div);
|
|
708
709
|
add(element, 'logo-scroll');
|
|
@@ -725,7 +726,7 @@ describe('interact', () => {
|
|
|
725
726
|
destroy: jest.fn()
|
|
726
727
|
};
|
|
727
728
|
Scroll.mockImplementation(() => scrollInstance);
|
|
728
|
-
element = document.createElement('
|
|
729
|
+
element = document.createElement('interact-element');
|
|
729
730
|
const div = document.createElement('div');
|
|
730
731
|
element.append(div);
|
|
731
732
|
add(element, 'logo-scroll');
|
|
@@ -740,7 +741,7 @@ describe('interact', () => {
|
|
|
740
741
|
});
|
|
741
742
|
describe('listContainer', () => {
|
|
742
743
|
it('should add a handler per list item for click trigger with listContainer', () => {
|
|
743
|
-
element = document.createElement('
|
|
744
|
+
element = document.createElement('interact-element');
|
|
744
745
|
const div = document.createElement('div');
|
|
745
746
|
const ul = document.createElement('ul');
|
|
746
747
|
ul.id = 'logo-list';
|
|
@@ -766,7 +767,7 @@ describe('interact', () => {
|
|
|
766
767
|
const {
|
|
767
768
|
getWebAnimation
|
|
768
769
|
} = require('@wix/motion');
|
|
769
|
-
element = document.createElement('
|
|
770
|
+
element = document.createElement('interact-element');
|
|
770
771
|
const div = document.createElement('div');
|
|
771
772
|
const ul = document.createElement('ul');
|
|
772
773
|
ul.id = 'logo-list';
|
|
@@ -782,7 +783,7 @@ describe('interact', () => {
|
|
|
782
783
|
expect(getWebAnimation.mock.calls[1][0]).toBe(li2);
|
|
783
784
|
});
|
|
784
785
|
it('should add a handler per newly added list item for click trigger with listContainer', () => {
|
|
785
|
-
element = document.createElement('
|
|
786
|
+
element = document.createElement('interact-element');
|
|
786
787
|
const div = document.createElement('div');
|
|
787
788
|
const ul = document.createElement('ul');
|
|
788
789
|
ul.id = 'logo-list';
|
|
@@ -816,9 +817,9 @@ describe('interact', () => {
|
|
|
816
817
|
const {
|
|
817
818
|
getWebAnimation
|
|
818
819
|
} = require('@wix/motion');
|
|
819
|
-
element = document.createElement('
|
|
820
|
+
element = document.createElement('interact-element');
|
|
820
821
|
const div = document.createElement('div');
|
|
821
|
-
const targetElement = document.createElement('
|
|
822
|
+
const targetElement = document.createElement('interact-element');
|
|
822
823
|
const divTarget = document.createElement('div');
|
|
823
824
|
const ul = document.createElement('ul');
|
|
824
825
|
ul.id = 'logo-scroll-list';
|
|
@@ -857,7 +858,7 @@ describe('interact', () => {
|
|
|
857
858
|
Interact.destroy();
|
|
858
859
|
});
|
|
859
860
|
it('should remove event listeners', () => {
|
|
860
|
-
element = document.createElement('
|
|
861
|
+
element = document.createElement('interact-element');
|
|
861
862
|
const div = document.createElement('div');
|
|
862
863
|
element.append(div);
|
|
863
864
|
const removeEventListenerSpy = jest.spyOn(div, 'removeEventListener');
|
|
@@ -878,7 +879,7 @@ describe('interact', () => {
|
|
|
878
879
|
destroy: jest.fn()
|
|
879
880
|
};
|
|
880
881
|
Pointer.mockImplementation(() => pointerInstance);
|
|
881
|
-
element = document.createElement('
|
|
882
|
+
element = document.createElement('interact-element');
|
|
882
883
|
const div = document.createElement('div');
|
|
883
884
|
element.append(div);
|
|
884
885
|
add(element, 'logo-mouse');
|
|
@@ -894,10 +895,10 @@ describe('interact', () => {
|
|
|
894
895
|
} = require('@wix/motion');
|
|
895
896
|
const config = createCascadingTestConfig({}, ['min-width: 1024px']);
|
|
896
897
|
Interact.create(config);
|
|
897
|
-
const sourceElement = document.createElement('
|
|
898
|
+
const sourceElement = document.createElement('interact-element');
|
|
898
899
|
const sourceDiv = document.createElement('div');
|
|
899
900
|
sourceElement.append(sourceDiv);
|
|
900
|
-
const targetElement = document.createElement('
|
|
901
|
+
const targetElement = document.createElement('interact-element');
|
|
901
902
|
const targetDiv = document.createElement('div');
|
|
902
903
|
targetElement.append(targetDiv);
|
|
903
904
|
const addEventListenerSpy = jest.spyOn(sourceDiv, 'addEventListener');
|
|
@@ -926,10 +927,10 @@ describe('interact', () => {
|
|
|
926
927
|
const config = createCascadingTestConfig({}, []); // No matching conditions
|
|
927
928
|
|
|
928
929
|
Interact.create(config);
|
|
929
|
-
const sourceElement = document.createElement('
|
|
930
|
+
const sourceElement = document.createElement('interact-element');
|
|
930
931
|
const sourceDiv = document.createElement('div');
|
|
931
932
|
sourceElement.append(sourceDiv);
|
|
932
|
-
const targetElement = document.createElement('
|
|
933
|
+
const targetElement = document.createElement('interact-element');
|
|
933
934
|
const targetDiv = document.createElement('div');
|
|
934
935
|
targetElement.append(targetDiv);
|
|
935
936
|
add(sourceElement, 'cascade-source');
|
|
@@ -952,10 +953,10 @@ describe('interact', () => {
|
|
|
952
953
|
} = require('@wix/motion');
|
|
953
954
|
const config = createCascadingTestConfig({}, ['max-width: 767px']);
|
|
954
955
|
Interact.create(config);
|
|
955
|
-
const sourceElement = document.createElement('
|
|
956
|
+
const sourceElement = document.createElement('interact-element');
|
|
956
957
|
const sourceDiv = document.createElement('div');
|
|
957
958
|
sourceElement.append(sourceDiv);
|
|
958
|
-
const targetElement = document.createElement('
|
|
959
|
+
const targetElement = document.createElement('interact-element');
|
|
959
960
|
const targetDiv = document.createElement('div');
|
|
960
961
|
targetElement.append(targetDiv);
|
|
961
962
|
add(sourceElement, 'cascade-source');
|
|
@@ -980,10 +981,10 @@ describe('interact', () => {
|
|
|
980
981
|
} = require('@wix/motion');
|
|
981
982
|
const config = createCascadingTestConfig({}, ['min-width: 1024px']);
|
|
982
983
|
Interact.create(config);
|
|
983
|
-
const sourceElement = document.createElement('
|
|
984
|
+
const sourceElement = document.createElement('interact-element');
|
|
984
985
|
const sourceDiv = document.createElement('div');
|
|
985
986
|
sourceElement.append(sourceDiv);
|
|
986
|
-
const targetElement = document.createElement('
|
|
987
|
+
const targetElement = document.createElement('interact-element');
|
|
987
988
|
const targetDiv = document.createElement('div');
|
|
988
989
|
targetElement.append(targetDiv);
|
|
989
990
|
|
|
@@ -1006,10 +1007,10 @@ describe('interact', () => {
|
|
|
1006
1007
|
} = require('@wix/motion');
|
|
1007
1008
|
const config = createCascadingTestConfig({}, ['min-width: 1024px']);
|
|
1008
1009
|
Interact.create(config);
|
|
1009
|
-
const sourceElement = document.createElement('
|
|
1010
|
+
const sourceElement = document.createElement('interact-element');
|
|
1010
1011
|
const sourceDiv = document.createElement('div');
|
|
1011
1012
|
sourceElement.append(sourceDiv);
|
|
1012
|
-
const targetElement = document.createElement('
|
|
1013
|
+
const targetElement = document.createElement('interact-element');
|
|
1013
1014
|
const targetDiv = document.createElement('div');
|
|
1014
1015
|
targetElement.append(targetDiv);
|
|
1015
1016
|
|
|
@@ -1077,13 +1078,13 @@ describe('interact', () => {
|
|
|
1077
1078
|
};
|
|
1078
1079
|
mockMatchMedia(['min-width: 1024px']); // Only desktop matches
|
|
1079
1080
|
Interact.create(complexConfig);
|
|
1080
|
-
const sourceElement = document.createElement('
|
|
1081
|
+
const sourceElement = document.createElement('interact-element');
|
|
1081
1082
|
const sourceDiv = document.createElement('div');
|
|
1082
1083
|
sourceElement.append(sourceDiv);
|
|
1083
|
-
const target1Element = document.createElement('
|
|
1084
|
+
const target1Element = document.createElement('interact-element');
|
|
1084
1085
|
const target1Div = document.createElement('div');
|
|
1085
1086
|
target1Element.append(target1Div);
|
|
1086
|
-
const target2Element = document.createElement('
|
|
1087
|
+
const target2Element = document.createElement('interact-element');
|
|
1087
1088
|
const target2Div = document.createElement('div');
|
|
1088
1089
|
target2Element.append(target2Div);
|
|
1089
1090
|
add(sourceElement, 'multi-source-1');
|
|
@@ -1151,10 +1152,10 @@ describe('interact', () => {
|
|
|
1151
1152
|
// Both conditions match
|
|
1152
1153
|
mockMatchMedia(['min-width: 1024px', 'min-resolution: 2dppx']);
|
|
1153
1154
|
Interact.create(multiConditionConfig);
|
|
1154
|
-
const sourceElement = document.createElement('
|
|
1155
|
+
const sourceElement = document.createElement('interact-element');
|
|
1155
1156
|
const sourceDiv = document.createElement('div');
|
|
1156
1157
|
sourceElement.append(sourceDiv);
|
|
1157
|
-
const targetElement = document.createElement('
|
|
1158
|
+
const targetElement = document.createElement('interact-element');
|
|
1158
1159
|
const targetDiv = document.createElement('div');
|
|
1159
1160
|
targetElement.append(targetDiv);
|
|
1160
1161
|
add(sourceElement, 'cascade-source');
|
|
@@ -1207,10 +1208,10 @@ describe('interact', () => {
|
|
|
1207
1208
|
};
|
|
1208
1209
|
mockMatchMedia(['min-width: 1024px']);
|
|
1209
1210
|
Interact.create(configWithMissingCondition);
|
|
1210
|
-
const sourceElement = document.createElement('
|
|
1211
|
+
const sourceElement = document.createElement('interact-element');
|
|
1211
1212
|
const sourceDiv = document.createElement('div');
|
|
1212
1213
|
sourceElement.append(sourceDiv);
|
|
1213
|
-
const targetElement = document.createElement('
|
|
1214
|
+
const targetElement = document.createElement('interact-element');
|
|
1214
1215
|
const targetDiv = document.createElement('div');
|
|
1215
1216
|
targetElement.append(targetDiv);
|
|
1216
1217
|
add(sourceElement, 'cascade-source');
|
|
@@ -1254,10 +1255,10 @@ describe('interact', () => {
|
|
|
1254
1255
|
};
|
|
1255
1256
|
mockMatchMedia([]);
|
|
1256
1257
|
Interact.create(configWithEmptyConditions);
|
|
1257
|
-
const sourceElement = document.createElement('
|
|
1258
|
+
const sourceElement = document.createElement('interact-element');
|
|
1258
1259
|
const sourceDiv = document.createElement('div');
|
|
1259
1260
|
sourceElement.append(sourceDiv);
|
|
1260
|
-
const targetElement = document.createElement('
|
|
1261
|
+
const targetElement = document.createElement('interact-element');
|
|
1261
1262
|
const targetDiv = document.createElement('div');
|
|
1262
1263
|
targetElement.append(targetDiv);
|
|
1263
1264
|
add(sourceElement, 'cascade-source');
|
|
@@ -1280,7 +1281,7 @@ describe('interact', () => {
|
|
|
1280
1281
|
let targetElement;
|
|
1281
1282
|
beforeEach(() => {
|
|
1282
1283
|
// Create source element with multiple child elements
|
|
1283
|
-
sourceElement = document.createElement('
|
|
1284
|
+
sourceElement = document.createElement('interact-element');
|
|
1284
1285
|
sourceElement.innerHTML = `
|
|
1285
1286
|
<div class="first-child">First Child</div>
|
|
1286
1287
|
<button class="trigger-button">Click Me</button>
|
|
@@ -1293,7 +1294,7 @@ describe('interact', () => {
|
|
|
1293
1294
|
`;
|
|
1294
1295
|
|
|
1295
1296
|
// Create target element with multiple child elements
|
|
1296
|
-
targetElement = document.createElement('
|
|
1297
|
+
targetElement = document.createElement('interact-element');
|
|
1297
1298
|
targetElement.innerHTML = `
|
|
1298
1299
|
<div class="first-child">Target First</div>
|
|
1299
1300
|
<div class="animation-target">Animation Target</div>
|
|
@@ -1528,7 +1529,7 @@ describe('interact', () => {
|
|
|
1528
1529
|
Interact.create(config);
|
|
1529
1530
|
add(sourceElement, 'invalid-source');
|
|
1530
1531
|
add(targetElement, 'invalid-target');
|
|
1531
|
-
expect(consoleSpy).toHaveBeenCalledWith('
|
|
1532
|
+
expect(consoleSpy).toHaveBeenCalledWith('Interact: No element found for selector ".non-existent-element"');
|
|
1532
1533
|
});
|
|
1533
1534
|
it('should warn when listContainer selector does not match', () => {
|
|
1534
1535
|
const config = {
|
|
@@ -1558,7 +1559,7 @@ describe('interact', () => {
|
|
|
1558
1559
|
Interact.create(config);
|
|
1559
1560
|
add(sourceElement, 'invalid-container-source');
|
|
1560
1561
|
add(targetElement, 'invalid-container-target');
|
|
1561
|
-
expect(consoleSpy).toHaveBeenCalledWith('
|
|
1562
|
+
expect(consoleSpy).toHaveBeenCalledWith('Interact: No container found for list container ".non-existent-container"');
|
|
1562
1563
|
});
|
|
1563
1564
|
it('should gracefully handle invalid selectors without breaking interactions', () => {
|
|
1564
1565
|
const config = {
|
|
@@ -1779,5 +1780,29 @@ describe('interact', () => {
|
|
|
1779
1780
|
expect(Interact.elementCache.get(keyWithoutInstance)).toBe(element);
|
|
1780
1781
|
});
|
|
1781
1782
|
});
|
|
1783
|
+
describe('setup', () => {
|
|
1784
|
+
afterEach(() => {
|
|
1785
|
+
Interact.setup({
|
|
1786
|
+
scrollOptionsGetter: () => ({}),
|
|
1787
|
+
pointerOptionsGetter: () => ({})
|
|
1788
|
+
});
|
|
1789
|
+
});
|
|
1790
|
+
it('should register scroll options getter', () => {
|
|
1791
|
+
const scrollOptionsGetter = jest.fn().mockReturnValue({});
|
|
1792
|
+
const spy = jest.spyOn(TRIGGER_TO_HANDLER_MODULE_MAP.viewProgress, 'registerOptionsGetter');
|
|
1793
|
+
Interact.setup({
|
|
1794
|
+
scrollOptionsGetter
|
|
1795
|
+
});
|
|
1796
|
+
expect(spy).toHaveBeenCalledWith(scrollOptionsGetter);
|
|
1797
|
+
});
|
|
1798
|
+
it('should register pointer options getter', () => {
|
|
1799
|
+
const pointerOptionsGetter = jest.fn().mockReturnValue({});
|
|
1800
|
+
const spy = jest.spyOn(TRIGGER_TO_HANDLER_MODULE_MAP.pointerMove, 'registerOptionsGetter');
|
|
1801
|
+
Interact.setup({
|
|
1802
|
+
pointerOptionsGetter
|
|
1803
|
+
});
|
|
1804
|
+
expect(spy).toHaveBeenCalledWith(pointerOptionsGetter);
|
|
1805
|
+
});
|
|
1806
|
+
});
|
|
1782
1807
|
});
|
|
1783
1808
|
//# sourceMappingURL=interact.spec.js.map
|