@wix/interact 1.85.0 → 1.86.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.
Files changed (42) hide show
  1. package/README.md +7 -7
  2. package/dist/cjs/{WixInteractElement.js → InteractElement.js} +14 -14
  3. package/dist/cjs/InteractElement.js.map +1 -0
  4. package/dist/cjs/__tests__/interact.spec.js +55 -55
  5. package/dist/cjs/__tests__/interact.spec.js.map +1 -1
  6. package/dist/cjs/core/Interact.js +7 -7
  7. package/dist/cjs/core/Interact.js.map +1 -1
  8. package/dist/cjs/core/add.js +3 -3
  9. package/dist/cjs/core/add.js.map +1 -1
  10. package/dist/cjs/handlers/click.js +3 -3
  11. package/dist/cjs/handlers/click.js.map +1 -1
  12. package/dist/cjs/handlers/hover.js +4 -4
  13. package/dist/cjs/handlers/hover.js.map +1 -1
  14. package/dist/cjs/handlers/utilities.js +0 -2
  15. package/dist/cjs/handlers/utilities.js.map +1 -1
  16. package/dist/cjs/types.js.map +1 -1
  17. package/dist/cjs/utils.js +2 -2
  18. package/dist/cjs/utils.js.map +1 -1
  19. package/dist/esm/{WixInteractElement.js → InteractElement.js} +12 -12
  20. package/dist/esm/InteractElement.js.map +1 -0
  21. package/dist/esm/__tests__/interact.spec.js +55 -55
  22. package/dist/esm/__tests__/interact.spec.js.map +1 -1
  23. package/dist/esm/core/Interact.js +7 -7
  24. package/dist/esm/core/Interact.js.map +1 -1
  25. package/dist/esm/core/add.js +3 -3
  26. package/dist/esm/core/add.js.map +1 -1
  27. package/dist/esm/handlers/click.js +3 -3
  28. package/dist/esm/handlers/click.js.map +1 -1
  29. package/dist/esm/handlers/hover.js +4 -4
  30. package/dist/esm/handlers/hover.js.map +1 -1
  31. package/dist/esm/handlers/utilities.js +0 -2
  32. package/dist/esm/handlers/utilities.js.map +1 -1
  33. package/dist/esm/types.js.map +1 -1
  34. package/dist/esm/utils.js +2 -2
  35. package/dist/esm/utils.js.map +1 -1
  36. package/dist/types/{WixInteractElement.d.ts → InteractElement.d.ts} +2 -2
  37. package/dist/types/core/Interact.d.ts +6 -6
  38. package/dist/types/core/add.d.ts +3 -3
  39. package/dist/types/types.d.ts +3 -3
  40. package/package.json +3 -3
  41. package/dist/cjs/WixInteractElement.js.map +0 -1
  42. package/dist/esm/WixInteractElement.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["add","addListItems","remove","removeListItems","INTERACT_EFFECT_DATA_ATTR","getInteractElement","checkedForLegacyStateSyntax","isLegacyStateSyntax","InteractElement","HTMLElement","constructor","_defineProperty","connected","sheet","_observers","WeakMap","attachInternals","_internals","states","delete","e","connectedCallback","connect","disconnectedCallback","disconnect","key","dataset","interactKey","index","document","adoptedStyleSheets","indexOf","splice","console","warn","renderStyle","cssRules","CSSStyleSheet","replace","join","push","position","length","cssRule","insertRule","error","toggleEffect","effectId","method","item","has","clear","_this$dataset$INTERAC","currentEffects","Set","split","Array","from","getActiveEffects","effects","map","effect","raw","trimmed","trim","watchChildList","listContainer","list","querySelector","observer","get","MutationObserver","_childListChangeHandler","bind","set","observe","childList","entries","removedElements","addedElements","forEach","entry","removedNodes","el","addedNodes"],"sources":["../../src/InteractElement.ts"],"sourcesContent":["import type { StateParams } from './types';\nimport { add, addListItems } from './core/add';\nimport { remove, removeListItems } from './core/remove';\n\nexport const INTERACT_EFFECT_DATA_ATTR = 'interactEffect';\n\nexport function getInteractElement() {\n let checkedForLegacyStateSyntax = false;\n let isLegacyStateSyntax = false;\n\n return class InteractElement extends HTMLElement {\n _internals: (ElementInternals & { states: Set<string> }) | null;\n connected: boolean;\n sheet: CSSStyleSheet | null;\n _observers: WeakMap<HTMLElement, MutationObserver>;\n\n constructor() {\n super();\n\n this.connected = false;\n this.sheet = null;\n this._observers = new WeakMap();\n\n if (this.attachInternals) {\n this._internals = this.attachInternals() as ElementInternals & {\n states: Set<string>;\n };\n\n if (!checkedForLegacyStateSyntax) {\n checkedForLegacyStateSyntax = true;\n\n try {\n this._internals.states.add('test');\n this._internals.states.delete('test');\n } catch (e) {\n isLegacyStateSyntax = true;\n }\n }\n } else {\n checkedForLegacyStateSyntax = true; // custom states not supported - skip syntax check\n this._internals = null;\n }\n }\n connectedCallback() {\n this.connect();\n }\n\n disconnectedCallback() {\n this.disconnect();\n }\n\n disconnect() {\n const key = this.dataset.interactKey;\n\n if (key) {\n remove(key);\n }\n\n if (this.sheet) {\n const index = document.adoptedStyleSheets.indexOf(this.sheet);\n document.adoptedStyleSheets.splice(index, 1);\n }\n\n this._observers = new WeakMap();\n\n this.connected = false;\n }\n\n connect(key?: string) {\n if (this.connected) {\n return;\n }\n\n key = key || this.dataset.interactKey;\n\n if (!key) {\n console.warn('InteractElement: No key provided');\n return;\n }\n\n this.connected = add(this, key);\n }\n\n renderStyle(cssRules: string[]) {\n if (!this.sheet) {\n this.sheet = new CSSStyleSheet();\n void this.sheet.replace(cssRules.join('\\n'));\n\n document.adoptedStyleSheets.push(this.sheet);\n } else {\n let position = this.sheet.cssRules.length;\n\n for (const cssRule of cssRules) {\n try {\n this.sheet.insertRule(cssRule, position);\n position++;\n } catch (e) {\n console.error(e);\n }\n }\n }\n }\n\n toggleEffect(\n effectId: string,\n method: StateParams['method'],\n item?: HTMLElement | null,\n ) {\n if (item === null) {\n return;\n }\n if (isLegacyStateSyntax) {\n effectId = `--${effectId}`;\n }\n\n if (this._internals && !item) {\n if (method === 'toggle') {\n this._internals.states.has(effectId)\n ? this._internals.states.delete(effectId)\n : this._internals.states.add(effectId);\n } else if (method === 'add') {\n this._internals.states.add(effectId);\n } else if (method === 'remove') {\n this._internals.states.delete(effectId);\n } else if (method === 'clear') {\n this._internals.states.clear();\n }\n } else {\n const currentEffects = new Set(\n this.dataset[INTERACT_EFFECT_DATA_ATTR]?.split(' ') || [],\n );\n\n if (method === 'toggle') {\n currentEffects.has(effectId)\n ? currentEffects.delete(effectId)\n : currentEffects.add(effectId);\n } else if (method === 'add') {\n currentEffects.add(effectId);\n } else if (method === 'remove') {\n currentEffects.delete(effectId);\n } else if (method === 'clear') {\n currentEffects.clear();\n }\n\n (item || this).dataset[INTERACT_EFFECT_DATA_ATTR] =\n Array.from(currentEffects).join(' ');\n }\n }\n\n getActiveEffects(): string[] {\n if (this._internals) {\n const effects = Array.from(this._internals.states);\n return isLegacyStateSyntax\n ? effects.map((effect) => effect.replace(/^--/g, ''))\n : effects;\n }\n\n const raw = this.dataset[INTERACT_EFFECT_DATA_ATTR] || '';\n const trimmed = raw.trim();\n return trimmed ? trimmed.split(/\\s+/) : [];\n }\n\n watchChildList(listContainer: string): void {\n const list = this.querySelector(listContainer);\n\n if (list) {\n // TODO: we can probably improve this and use less observers, this impl. uses one per container element\n let observer = this._observers.get(list as HTMLElement);\n\n if (!observer) {\n observer = new MutationObserver(\n this._childListChangeHandler.bind(this, listContainer),\n );\n\n this._observers.set(list as HTMLElement, observer);\n\n observer.observe(list as HTMLElement, { childList: true });\n }\n }\n }\n\n _childListChangeHandler(listContainer: string, entries: MutationRecord[]) {\n const key = this.dataset.interactKey;\n const removedElements: HTMLElement[] = [];\n const addedElements: HTMLElement[] = [];\n\n entries.forEach((entry) => {\n entry.removedNodes.forEach((el) => {\n if (el instanceof HTMLElement) {\n removedElements.push(el);\n }\n });\n\n entry.addedNodes.forEach((el) => {\n if (el instanceof HTMLElement) {\n addedElements.push(el);\n }\n });\n });\n\n removeListItems(removedElements);\n key && addListItems(this, key, listContainer, addedElements);\n }\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -249,7 +249,7 @@ describe('interact', () => {
249
249
  }
250
250
  });
251
251
  beforeEach(() => {
252
- element = document.createElement('wix-interact-element');
252
+ element = document.createElement('interact-element');
253
253
  const div = document.createElement('div');
254
254
  element.append(div);
255
255
 
@@ -408,14 +408,14 @@ describe('interact', () => {
408
408
  describe('init Interact instance', () => {
409
409
  it('should initialize with valid config', () => {
410
410
  Interact.create({});
411
- expect(customElements.get('wix-interact-element')).toBeDefined();
411
+ expect(customElements.get('interact-element')).toBeDefined();
412
412
  });
413
413
  });
414
414
  describe('destroy Interact instance', () => {
415
415
  it('should clear an instance entire cache', () => {
416
416
  const instance = Interact.create(getMockConfig());
417
- element = document.createElement('wix-interact-element');
418
- element.dataset.wixPath = 'logo-entrance';
417
+ element = document.createElement('interact-element');
418
+ element.dataset.interactKey = 'logo-entrance';
419
419
  const div = document.createElement('div');
420
420
  element.append(div);
421
421
  add(element, 'logo-entrance');
@@ -439,7 +439,7 @@ describe('interact', () => {
439
439
  });
440
440
  it('should clear all elements from cache', () => {
441
441
  Interact.create(getMockConfig());
442
- element = document.createElement('wix-interact-element');
442
+ element = document.createElement('interact-element');
443
443
  const div = document.createElement('div');
444
444
  element.append(div);
445
445
  add(element, 'logo-hover');
@@ -449,10 +449,10 @@ describe('interact', () => {
449
449
  });
450
450
  it('should call disconnect on all cached elements', () => {
451
451
  Interact.create(getMockConfig());
452
- const element1 = document.createElement('wix-interact-element');
452
+ const element1 = document.createElement('interact-element');
453
453
  const div1 = document.createElement('div');
454
454
  element1.append(div1);
455
- const element2 = document.createElement('wix-interact-element');
455
+ const element2 = document.createElement('interact-element');
456
456
  const div2 = document.createElement('div');
457
457
  element2.append(div2);
458
458
  add(element1, 'logo-hover');
@@ -465,7 +465,7 @@ describe('interact', () => {
465
465
  });
466
466
  it('should clean up interactions after destroy', () => {
467
467
  Interact.create(getMockConfig());
468
- element = document.createElement('wix-interact-element');
468
+ element = document.createElement('interact-element');
469
469
  const div = document.createElement('div');
470
470
  element.append(div);
471
471
  add(element, 'logo-click');
@@ -476,7 +476,7 @@ describe('interact', () => {
476
476
 
477
477
  // Re-create instance and verify it works independently
478
478
  Interact.create(getMockConfig());
479
- const newElement = document.createElement('wix-interact-element');
479
+ const newElement = document.createElement('interact-element');
480
480
  const newDiv = document.createElement('div');
481
481
  newElement.append(newDiv);
482
482
  const newAddEventListenerSpy = jest.spyOn(newDiv, 'addEventListener');
@@ -490,9 +490,9 @@ describe('interact', () => {
490
490
  // Interact.create(mockConfig);
491
491
 
492
492
  // element = document.createElement(
493
- // 'wix-interact-element',
494
- // ) as IWixInteractElement;
495
- // element.dataset.wixPath = 'logo-click';
493
+ // 'interact-element',
494
+ // ) as IInteractElement;
495
+ // element.dataset.interactKey = 'logo-click';
496
496
  // const div = document.createElement('div');
497
497
  // element.append(div);
498
498
 
@@ -535,7 +535,7 @@ describe('interact', () => {
535
535
  }
536
536
  }
537
537
  });
538
- element = document.createElement('wix-interact-element');
538
+ element = document.createElement('interact-element');
539
539
  const div = document.createElement('div');
540
540
  element.append(div);
541
541
  add(element, 'logo-hover');
@@ -560,7 +560,7 @@ describe('interact', () => {
560
560
  const {
561
561
  getWebAnimation
562
562
  } = require('@wix/motion');
563
- element = document.createElement('wix-interact-element');
563
+ element = document.createElement('interact-element');
564
564
  const div = document.createElement('div');
565
565
  element.append(div);
566
566
  const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
@@ -587,7 +587,7 @@ describe('interact', () => {
587
587
  });
588
588
  describe('click', () => {
589
589
  it('should add handler for click trigger', () => {
590
- element = document.createElement('wix-interact-element');
590
+ element = document.createElement('interact-element');
591
591
  const div = document.createElement('div');
592
592
  element.append(div);
593
593
  const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
@@ -603,7 +603,7 @@ describe('interact', () => {
603
603
  const {
604
604
  getWebAnimation
605
605
  } = require('@wix/motion');
606
- element = document.createElement('wix-interact-element');
606
+ element = document.createElement('interact-element');
607
607
  const div = document.createElement('div');
608
608
  element.append(div);
609
609
  add(element, 'logo-entrance');
@@ -616,15 +616,15 @@ describe('interact', () => {
616
616
  const {
617
617
  getWebAnimation
618
618
  } = require('@wix/motion');
619
- element = document.createElement('wix-interact-element');
619
+ element = document.createElement('interact-element');
620
620
  const div = document.createElement('div');
621
621
  div.id = 'logo-entrance';
622
- element.dataset.wixPath = 'logo-entrance';
622
+ element.dataset.interactKey = 'logo-entrance';
623
623
  element.append(div);
624
- const elementClick = document.createElement('wix-interact-element');
624
+ const elementClick = document.createElement('interact-element');
625
625
  const divClick = document.createElement('div');
626
626
  divClick.id = 'logo-click';
627
- elementClick.dataset.wixPath = 'logo-click';
627
+ elementClick.dataset.interactKey = 'logo-click';
628
628
  elementClick.append(divClick);
629
629
  add(elementClick, 'logo-click');
630
630
  add(element, 'logo-entrance');
@@ -648,7 +648,7 @@ describe('interact', () => {
648
648
  const {
649
649
  getWebAnimation
650
650
  } = require('@wix/motion');
651
- element = document.createElement('wix-interact-element');
651
+ element = document.createElement('interact-element');
652
652
  const div = document.createElement('div');
653
653
  element.append(div);
654
654
  add(element, 'logo-loop');
@@ -663,7 +663,7 @@ describe('interact', () => {
663
663
  const {
664
664
  getWebAnimation
665
665
  } = require('@wix/motion');
666
- element = document.createElement('wix-interact-element');
666
+ element = document.createElement('interact-element');
667
667
  const div = document.createElement('div');
668
668
  element.append(div);
669
669
  add(element, 'logo-animation-end');
@@ -686,7 +686,7 @@ describe('interact', () => {
686
686
  destroy: jest.fn()
687
687
  };
688
688
  Pointer.mockImplementation(() => pointerInstance);
689
- element = document.createElement('wix-interact-element');
689
+ element = document.createElement('interact-element');
690
690
  const div = document.createElement('div');
691
691
  element.append(div);
692
692
  add(element, 'logo-mouse');
@@ -702,7 +702,7 @@ describe('interact', () => {
702
702
  const {
703
703
  getWebAnimation
704
704
  } = require('@wix/motion');
705
- element = document.createElement('wix-interact-element');
705
+ element = document.createElement('interact-element');
706
706
  const div = document.createElement('div');
707
707
  element.append(div);
708
708
  add(element, 'logo-scroll');
@@ -725,7 +725,7 @@ describe('interact', () => {
725
725
  destroy: jest.fn()
726
726
  };
727
727
  Scroll.mockImplementation(() => scrollInstance);
728
- element = document.createElement('wix-interact-element');
728
+ element = document.createElement('interact-element');
729
729
  const div = document.createElement('div');
730
730
  element.append(div);
731
731
  add(element, 'logo-scroll');
@@ -740,7 +740,7 @@ describe('interact', () => {
740
740
  });
741
741
  describe('listContainer', () => {
742
742
  it('should add a handler per list item for click trigger with listContainer', () => {
743
- element = document.createElement('wix-interact-element');
743
+ element = document.createElement('interact-element');
744
744
  const div = document.createElement('div');
745
745
  const ul = document.createElement('ul');
746
746
  ul.id = 'logo-list';
@@ -766,7 +766,7 @@ describe('interact', () => {
766
766
  const {
767
767
  getWebAnimation
768
768
  } = require('@wix/motion');
769
- element = document.createElement('wix-interact-element');
769
+ element = document.createElement('interact-element');
770
770
  const div = document.createElement('div');
771
771
  const ul = document.createElement('ul');
772
772
  ul.id = 'logo-list';
@@ -782,7 +782,7 @@ describe('interact', () => {
782
782
  expect(getWebAnimation.mock.calls[1][0]).toBe(li2);
783
783
  });
784
784
  it('should add a handler per newly added list item for click trigger with listContainer', () => {
785
- element = document.createElement('wix-interact-element');
785
+ element = document.createElement('interact-element');
786
786
  const div = document.createElement('div');
787
787
  const ul = document.createElement('ul');
788
788
  ul.id = 'logo-list';
@@ -816,9 +816,9 @@ describe('interact', () => {
816
816
  const {
817
817
  getWebAnimation
818
818
  } = require('@wix/motion');
819
- element = document.createElement('wix-interact-element');
819
+ element = document.createElement('interact-element');
820
820
  const div = document.createElement('div');
821
- const targetElement = document.createElement('wix-interact-element');
821
+ const targetElement = document.createElement('interact-element');
822
822
  const divTarget = document.createElement('div');
823
823
  const ul = document.createElement('ul');
824
824
  ul.id = 'logo-scroll-list';
@@ -857,7 +857,7 @@ describe('interact', () => {
857
857
  Interact.destroy();
858
858
  });
859
859
  it('should remove event listeners', () => {
860
- element = document.createElement('wix-interact-element');
860
+ element = document.createElement('interact-element');
861
861
  const div = document.createElement('div');
862
862
  element.append(div);
863
863
  const removeEventListenerSpy = jest.spyOn(div, 'removeEventListener');
@@ -878,7 +878,7 @@ describe('interact', () => {
878
878
  destroy: jest.fn()
879
879
  };
880
880
  Pointer.mockImplementation(() => pointerInstance);
881
- element = document.createElement('wix-interact-element');
881
+ element = document.createElement('interact-element');
882
882
  const div = document.createElement('div');
883
883
  element.append(div);
884
884
  add(element, 'logo-mouse');
@@ -894,10 +894,10 @@ describe('interact', () => {
894
894
  } = require('@wix/motion');
895
895
  const config = createCascadingTestConfig({}, ['min-width: 1024px']);
896
896
  Interact.create(config);
897
- const sourceElement = document.createElement('wix-interact-element');
897
+ const sourceElement = document.createElement('interact-element');
898
898
  const sourceDiv = document.createElement('div');
899
899
  sourceElement.append(sourceDiv);
900
- const targetElement = document.createElement('wix-interact-element');
900
+ const targetElement = document.createElement('interact-element');
901
901
  const targetDiv = document.createElement('div');
902
902
  targetElement.append(targetDiv);
903
903
  const addEventListenerSpy = jest.spyOn(sourceDiv, 'addEventListener');
@@ -926,10 +926,10 @@ describe('interact', () => {
926
926
  const config = createCascadingTestConfig({}, []); // No matching conditions
927
927
 
928
928
  Interact.create(config);
929
- const sourceElement = document.createElement('wix-interact-element');
929
+ const sourceElement = document.createElement('interact-element');
930
930
  const sourceDiv = document.createElement('div');
931
931
  sourceElement.append(sourceDiv);
932
- const targetElement = document.createElement('wix-interact-element');
932
+ const targetElement = document.createElement('interact-element');
933
933
  const targetDiv = document.createElement('div');
934
934
  targetElement.append(targetDiv);
935
935
  add(sourceElement, 'cascade-source');
@@ -952,10 +952,10 @@ describe('interact', () => {
952
952
  } = require('@wix/motion');
953
953
  const config = createCascadingTestConfig({}, ['max-width: 767px']);
954
954
  Interact.create(config);
955
- const sourceElement = document.createElement('wix-interact-element');
955
+ const sourceElement = document.createElement('interact-element');
956
956
  const sourceDiv = document.createElement('div');
957
957
  sourceElement.append(sourceDiv);
958
- const targetElement = document.createElement('wix-interact-element');
958
+ const targetElement = document.createElement('interact-element');
959
959
  const targetDiv = document.createElement('div');
960
960
  targetElement.append(targetDiv);
961
961
  add(sourceElement, 'cascade-source');
@@ -980,10 +980,10 @@ describe('interact', () => {
980
980
  } = require('@wix/motion');
981
981
  const config = createCascadingTestConfig({}, ['min-width: 1024px']);
982
982
  Interact.create(config);
983
- const sourceElement = document.createElement('wix-interact-element');
983
+ const sourceElement = document.createElement('interact-element');
984
984
  const sourceDiv = document.createElement('div');
985
985
  sourceElement.append(sourceDiv);
986
- const targetElement = document.createElement('wix-interact-element');
986
+ const targetElement = document.createElement('interact-element');
987
987
  const targetDiv = document.createElement('div');
988
988
  targetElement.append(targetDiv);
989
989
 
@@ -1006,10 +1006,10 @@ describe('interact', () => {
1006
1006
  } = require('@wix/motion');
1007
1007
  const config = createCascadingTestConfig({}, ['min-width: 1024px']);
1008
1008
  Interact.create(config);
1009
- const sourceElement = document.createElement('wix-interact-element');
1009
+ const sourceElement = document.createElement('interact-element');
1010
1010
  const sourceDiv = document.createElement('div');
1011
1011
  sourceElement.append(sourceDiv);
1012
- const targetElement = document.createElement('wix-interact-element');
1012
+ const targetElement = document.createElement('interact-element');
1013
1013
  const targetDiv = document.createElement('div');
1014
1014
  targetElement.append(targetDiv);
1015
1015
 
@@ -1077,13 +1077,13 @@ describe('interact', () => {
1077
1077
  };
1078
1078
  mockMatchMedia(['min-width: 1024px']); // Only desktop matches
1079
1079
  Interact.create(complexConfig);
1080
- const sourceElement = document.createElement('wix-interact-element');
1080
+ const sourceElement = document.createElement('interact-element');
1081
1081
  const sourceDiv = document.createElement('div');
1082
1082
  sourceElement.append(sourceDiv);
1083
- const target1Element = document.createElement('wix-interact-element');
1083
+ const target1Element = document.createElement('interact-element');
1084
1084
  const target1Div = document.createElement('div');
1085
1085
  target1Element.append(target1Div);
1086
- const target2Element = document.createElement('wix-interact-element');
1086
+ const target2Element = document.createElement('interact-element');
1087
1087
  const target2Div = document.createElement('div');
1088
1088
  target2Element.append(target2Div);
1089
1089
  add(sourceElement, 'multi-source-1');
@@ -1151,10 +1151,10 @@ describe('interact', () => {
1151
1151
  // Both conditions match
1152
1152
  mockMatchMedia(['min-width: 1024px', 'min-resolution: 2dppx']);
1153
1153
  Interact.create(multiConditionConfig);
1154
- const sourceElement = document.createElement('wix-interact-element');
1154
+ const sourceElement = document.createElement('interact-element');
1155
1155
  const sourceDiv = document.createElement('div');
1156
1156
  sourceElement.append(sourceDiv);
1157
- const targetElement = document.createElement('wix-interact-element');
1157
+ const targetElement = document.createElement('interact-element');
1158
1158
  const targetDiv = document.createElement('div');
1159
1159
  targetElement.append(targetDiv);
1160
1160
  add(sourceElement, 'cascade-source');
@@ -1207,10 +1207,10 @@ describe('interact', () => {
1207
1207
  };
1208
1208
  mockMatchMedia(['min-width: 1024px']);
1209
1209
  Interact.create(configWithMissingCondition);
1210
- const sourceElement = document.createElement('wix-interact-element');
1210
+ const sourceElement = document.createElement('interact-element');
1211
1211
  const sourceDiv = document.createElement('div');
1212
1212
  sourceElement.append(sourceDiv);
1213
- const targetElement = document.createElement('wix-interact-element');
1213
+ const targetElement = document.createElement('interact-element');
1214
1214
  const targetDiv = document.createElement('div');
1215
1215
  targetElement.append(targetDiv);
1216
1216
  add(sourceElement, 'cascade-source');
@@ -1254,10 +1254,10 @@ describe('interact', () => {
1254
1254
  };
1255
1255
  mockMatchMedia([]);
1256
1256
  Interact.create(configWithEmptyConditions);
1257
- const sourceElement = document.createElement('wix-interact-element');
1257
+ const sourceElement = document.createElement('interact-element');
1258
1258
  const sourceDiv = document.createElement('div');
1259
1259
  sourceElement.append(sourceDiv);
1260
- const targetElement = document.createElement('wix-interact-element');
1260
+ const targetElement = document.createElement('interact-element');
1261
1261
  const targetDiv = document.createElement('div');
1262
1262
  targetElement.append(targetDiv);
1263
1263
  add(sourceElement, 'cascade-source');
@@ -1280,7 +1280,7 @@ describe('interact', () => {
1280
1280
  let targetElement;
1281
1281
  beforeEach(() => {
1282
1282
  // Create source element with multiple child elements
1283
- sourceElement = document.createElement('wix-interact-element');
1283
+ sourceElement = document.createElement('interact-element');
1284
1284
  sourceElement.innerHTML = `
1285
1285
  <div class="first-child">First Child</div>
1286
1286
  <button class="trigger-button">Click Me</button>
@@ -1293,7 +1293,7 @@ describe('interact', () => {
1293
1293
  `;
1294
1294
 
1295
1295
  // Create target element with multiple child elements
1296
- targetElement = document.createElement('wix-interact-element');
1296
+ targetElement = document.createElement('interact-element');
1297
1297
  targetElement.innerHTML = `
1298
1298
  <div class="first-child">Target First</div>
1299
1299
  <div class="animation-target">Animation Target</div>
@@ -1528,7 +1528,7 @@ describe('interact', () => {
1528
1528
  Interact.create(config);
1529
1529
  add(sourceElement, 'invalid-source');
1530
1530
  add(targetElement, 'invalid-target');
1531
- expect(consoleSpy).toHaveBeenCalledWith('WixInteract: No element found for selector ".non-existent-element"');
1531
+ expect(consoleSpy).toHaveBeenCalledWith('Interact: No element found for selector ".non-existent-element"');
1532
1532
  });
1533
1533
  it('should warn when listContainer selector does not match', () => {
1534
1534
  const config = {
@@ -1558,7 +1558,7 @@ describe('interact', () => {
1558
1558
  Interact.create(config);
1559
1559
  add(sourceElement, 'invalid-container-source');
1560
1560
  add(targetElement, 'invalid-container-target');
1561
- expect(consoleSpy).toHaveBeenCalledWith('WixInteract: No container found for list container ".non-existent-container"');
1561
+ expect(consoleSpy).toHaveBeenCalledWith('Interact: No container found for list container ".non-existent-container"');
1562
1562
  });
1563
1563
  it('should gracefully handle invalid selectors without breaking interactions', () => {
1564
1564
  const config = {