@wix/interact 1.84.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 (53) hide show
  1. package/README.md +7 -7
  2. package/dist/cjs/{WixInteractElement.js → InteractElement.js} +19 -16
  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 +28 -15
  7. package/dist/cjs/core/Interact.js.map +1 -1
  8. package/dist/cjs/core/add.js +38 -31
  9. package/dist/cjs/core/add.js.map +1 -1
  10. package/dist/cjs/core/remove.js +9 -10
  11. package/dist/cjs/core/remove.js.map +1 -1
  12. package/dist/cjs/core/utilities.js +16 -0
  13. package/dist/cjs/core/utilities.js.map +1 -0
  14. package/dist/cjs/handlers/click.js +11 -4
  15. package/dist/cjs/handlers/click.js.map +1 -1
  16. package/dist/cjs/handlers/hover.js +12 -5
  17. package/dist/cjs/handlers/hover.js.map +1 -1
  18. package/dist/cjs/handlers/utilities.js +0 -2
  19. package/dist/cjs/handlers/utilities.js.map +1 -1
  20. package/dist/cjs/types.js.map +1 -1
  21. package/dist/cjs/utils.js +2 -2
  22. package/dist/cjs/utils.js.map +1 -1
  23. package/dist/esm/{WixInteractElement.js → InteractElement.js} +17 -14
  24. package/dist/esm/InteractElement.js.map +1 -0
  25. package/dist/esm/__tests__/interact.spec.js +55 -55
  26. package/dist/esm/__tests__/interact.spec.js.map +1 -1
  27. package/dist/esm/core/Interact.js +29 -18
  28. package/dist/esm/core/Interact.js.map +1 -1
  29. package/dist/esm/core/add.js +38 -31
  30. package/dist/esm/core/add.js.map +1 -1
  31. package/dist/esm/core/remove.js +9 -10
  32. package/dist/esm/core/remove.js.map +1 -1
  33. package/dist/esm/core/utilities.js +14 -0
  34. package/dist/esm/core/utilities.js.map +1 -0
  35. package/dist/esm/handlers/click.js +11 -4
  36. package/dist/esm/handlers/click.js.map +1 -1
  37. package/dist/esm/handlers/hover.js +12 -5
  38. package/dist/esm/handlers/hover.js.map +1 -1
  39. package/dist/esm/handlers/utilities.js +0 -2
  40. package/dist/esm/handlers/utilities.js.map +1 -1
  41. package/dist/esm/types.js.map +1 -1
  42. package/dist/esm/utils.js +2 -2
  43. package/dist/esm/utils.js.map +1 -1
  44. package/dist/types/{WixInteractElement.d.ts → InteractElement.d.ts} +3 -3
  45. package/dist/types/core/Interact.d.ts +11 -7
  46. package/dist/types/core/add.d.ts +3 -3
  47. package/dist/types/core/utilities.d.ts +2 -0
  48. package/dist/types/handlers/click.d.ts +2 -2
  49. package/dist/types/handlers/hover.d.ts +2 -2
  50. package/dist/types/types.d.ts +12 -14
  51. package/package.json +3 -3
  52. package/dist/cjs/WixInteractElement.js.map +0 -1
  53. package/dist/esm/WixInteractElement.js.map +0 -1
package/README.md CHANGED
@@ -56,10 +56,10 @@ const interact = Interact.create(config);
56
56
  ### 2. HTML Setup
57
57
 
58
58
  ```html
59
- <!-- Wrap your target element with wix-interact-element -->
60
- <wix-interact-element data-wix-path="my-element">
59
+ <!-- Wrap your target element with interact-element -->
60
+ <interact-element data-interact-key="my-element">
61
61
  <div>This will fade in when it enters the viewport!</div>
62
- </wix-interact-element>
62
+ </interact-element>
63
63
  ```
64
64
 
65
65
  ### 3. Framework Integration
@@ -70,11 +70,11 @@ import React from 'react';
70
70
 
71
71
  function MyComponent() {
72
72
  return (
73
- <wix-interact-element data-wix-path="my-element">
73
+ <interact-element data-interact-key="my-element">
74
74
  <div className="animated-content">
75
75
  Hello, animated world!
76
76
  </div>
77
- </wix-interact-element>
77
+ </interact-element>
78
78
  );
79
79
  }
80
80
  ```
@@ -140,13 +140,13 @@ Interact.create(config: InteractConfig): Interact
140
140
  Interact.getInstance(key: string): Interact | undefined
141
141
 
142
142
  // Get cached element by key
143
- Interact.getElement(key: string): IWixInteractElement | undefined
143
+ Interact.getElement(key: string): IInteractElement | undefined
144
144
  ```
145
145
 
146
146
  ### Standalone Functions
147
147
  ```typescript
148
148
  // Add interactions to an element
149
- add(element: IWixInteractElement, key: string): boolean
149
+ add(element: IInteractElement, key: string): boolean
150
150
 
151
151
  // Remove all interactions from an element
152
152
  remove(key: string): void
@@ -2,16 +2,16 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
- exports.WIX_INTERACT_EFFECT_DATA_ATTR = void 0;
6
- exports.getWixInteractElement = getWixInteractElement;
5
+ exports.INTERACT_EFFECT_DATA_ATTR = void 0;
6
+ exports.getInteractElement = getInteractElement;
7
7
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
8
  var _add = require("./core/add");
9
9
  var _remove = require("./core/remove");
10
- const WIX_INTERACT_EFFECT_DATA_ATTR = exports.WIX_INTERACT_EFFECT_DATA_ATTR = 'wixInteractEffect';
11
- function getWixInteractElement() {
10
+ const INTERACT_EFFECT_DATA_ATTR = exports.INTERACT_EFFECT_DATA_ATTR = 'interactEffect';
11
+ function getInteractElement() {
12
12
  let checkedForLegacyStateSyntax = false;
13
13
  let isLegacyStateSyntax = false;
14
- return class WixInteractElement extends HTMLElement {
14
+ return class InteractElement extends HTMLElement {
15
15
  constructor() {
16
16
  super();
17
17
  (0, _defineProperty2.default)(this, "_internals", void 0);
@@ -44,7 +44,7 @@ function getWixInteractElement() {
44
44
  this.disconnect();
45
45
  }
46
46
  disconnect() {
47
- const key = this.dataset.wixPath;
47
+ const key = this.dataset.interactKey;
48
48
  if (key) {
49
49
  (0, _remove.remove)(key);
50
50
  }
@@ -59,9 +59,9 @@ function getWixInteractElement() {
59
59
  if (this.connected) {
60
60
  return;
61
61
  }
62
- key = key || this.dataset.wixPath;
62
+ key = key || this.dataset.interactKey;
63
63
  if (!key) {
64
- console.warn('WixInteractElement: No key provided');
64
+ console.warn('InteractElement: No key provided');
65
65
  return;
66
66
  }
67
67
  this.connected = (0, _add.add)(this, key);
@@ -83,11 +83,14 @@ function getWixInteractElement() {
83
83
  }
84
84
  }
85
85
  }
86
- toggleEffect(effectId, method) {
86
+ toggleEffect(effectId, method, item) {
87
+ if (item === null) {
88
+ return;
89
+ }
87
90
  if (isLegacyStateSyntax) {
88
91
  effectId = `--${effectId}`;
89
92
  }
90
- if (this._internals) {
93
+ if (this._internals && !item) {
91
94
  if (method === 'toggle') {
92
95
  this._internals.states.has(effectId) ? this._internals.states.delete(effectId) : this._internals.states.add(effectId);
93
96
  } else if (method === 'add') {
@@ -98,8 +101,8 @@ function getWixInteractElement() {
98
101
  this._internals.states.clear();
99
102
  }
100
103
  } else {
101
- var _this$dataset$WIX_INT;
102
- const currentEffects = new Set(((_this$dataset$WIX_INT = this.dataset[WIX_INTERACT_EFFECT_DATA_ATTR]) == null ? void 0 : _this$dataset$WIX_INT.split(' ')) || []);
104
+ var _this$dataset$INTERAC;
105
+ const currentEffects = new Set(((_this$dataset$INTERAC = this.dataset[INTERACT_EFFECT_DATA_ATTR]) == null ? void 0 : _this$dataset$INTERAC.split(' ')) || []);
103
106
  if (method === 'toggle') {
104
107
  currentEffects.has(effectId) ? currentEffects.delete(effectId) : currentEffects.add(effectId);
105
108
  } else if (method === 'add') {
@@ -109,7 +112,7 @@ function getWixInteractElement() {
109
112
  } else if (method === 'clear') {
110
113
  currentEffects.clear();
111
114
  }
112
- this.dataset[WIX_INTERACT_EFFECT_DATA_ATTR] = Array.from(currentEffects).join(' ');
115
+ (item || this).dataset[INTERACT_EFFECT_DATA_ATTR] = Array.from(currentEffects).join(' ');
113
116
  }
114
117
  }
115
118
  getActiveEffects() {
@@ -117,7 +120,7 @@ function getWixInteractElement() {
117
120
  const effects = Array.from(this._internals.states);
118
121
  return isLegacyStateSyntax ? effects.map(effect => effect.replace(/^--/g, '')) : effects;
119
122
  }
120
- const raw = this.dataset[WIX_INTERACT_EFFECT_DATA_ATTR] || '';
123
+ const raw = this.dataset[INTERACT_EFFECT_DATA_ATTR] || '';
121
124
  const trimmed = raw.trim();
122
125
  return trimmed ? trimmed.split(/\s+/) : [];
123
126
  }
@@ -136,7 +139,7 @@ function getWixInteractElement() {
136
139
  }
137
140
  }
138
141
  _childListChangeHandler(listContainer, entries) {
139
- const key = this.dataset.wixPath;
142
+ const key = this.dataset.interactKey;
140
143
  const removedElements = [];
141
144
  const addedElements = [];
142
145
  entries.forEach(entry => {
@@ -156,4 +159,4 @@ function getWixInteractElement() {
156
159
  }
157
160
  };
158
161
  }
159
- //# sourceMappingURL=WixInteractElement.js.map
162
+ //# sourceMappingURL=InteractElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_add","require","_remove","INTERACT_EFFECT_DATA_ATTR","exports","getInteractElement","checkedForLegacyStateSyntax","isLegacyStateSyntax","InteractElement","HTMLElement","constructor","_defineProperty2","default","connected","sheet","_observers","WeakMap","attachInternals","_internals","states","add","delete","e","connectedCallback","connect","disconnectedCallback","disconnect","key","dataset","interactKey","remove","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","removeListItems","addListItems"],"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":[]}
@@ -250,7 +250,7 @@ describe('interact', () => {
250
250
  }
251
251
  });
252
252
  beforeEach(() => {
253
- element = document.createElement('wix-interact-element');
253
+ element = document.createElement('interact-element');
254
254
  const div = document.createElement('div');
255
255
  element.append(div);
256
256
 
@@ -400,14 +400,14 @@ describe('interact', () => {
400
400
  describe('init Interact instance', () => {
401
401
  it('should initialize with valid config', () => {
402
402
  _Interact.Interact.create({});
403
- expect(customElements.get('wix-interact-element')).toBeDefined();
403
+ expect(customElements.get('interact-element')).toBeDefined();
404
404
  });
405
405
  });
406
406
  describe('destroy Interact instance', () => {
407
407
  it('should clear an instance entire cache', () => {
408
408
  const instance = _Interact.Interact.create(getMockConfig());
409
- element = document.createElement('wix-interact-element');
410
- element.dataset.wixPath = 'logo-entrance';
409
+ element = document.createElement('interact-element');
410
+ element.dataset.interactKey = 'logo-entrance';
411
411
  const div = document.createElement('div');
412
412
  element.append(div);
413
413
  (0, _add.add)(element, 'logo-entrance');
@@ -431,7 +431,7 @@ describe('interact', () => {
431
431
  });
432
432
  it('should clear all elements from cache', () => {
433
433
  _Interact.Interact.create(getMockConfig());
434
- element = document.createElement('wix-interact-element');
434
+ element = document.createElement('interact-element');
435
435
  const div = document.createElement('div');
436
436
  element.append(div);
437
437
  (0, _add.add)(element, 'logo-hover');
@@ -441,10 +441,10 @@ describe('interact', () => {
441
441
  });
442
442
  it('should call disconnect on all cached elements', () => {
443
443
  _Interact.Interact.create(getMockConfig());
444
- const element1 = document.createElement('wix-interact-element');
444
+ const element1 = document.createElement('interact-element');
445
445
  const div1 = document.createElement('div');
446
446
  element1.append(div1);
447
- const element2 = document.createElement('wix-interact-element');
447
+ const element2 = document.createElement('interact-element');
448
448
  const div2 = document.createElement('div');
449
449
  element2.append(div2);
450
450
  (0, _add.add)(element1, 'logo-hover');
@@ -457,7 +457,7 @@ describe('interact', () => {
457
457
  });
458
458
  it('should clean up interactions after destroy', () => {
459
459
  _Interact.Interact.create(getMockConfig());
460
- element = document.createElement('wix-interact-element');
460
+ element = document.createElement('interact-element');
461
461
  const div = document.createElement('div');
462
462
  element.append(div);
463
463
  (0, _add.add)(element, 'logo-click');
@@ -468,7 +468,7 @@ describe('interact', () => {
468
468
 
469
469
  // Re-create instance and verify it works independently
470
470
  _Interact.Interact.create(getMockConfig());
471
- const newElement = document.createElement('wix-interact-element');
471
+ const newElement = document.createElement('interact-element');
472
472
  const newDiv = document.createElement('div');
473
473
  newElement.append(newDiv);
474
474
  const newAddEventListenerSpy = jest.spyOn(newDiv, 'addEventListener');
@@ -482,9 +482,9 @@ describe('interact', () => {
482
482
  // Interact.create(mockConfig);
483
483
 
484
484
  // element = document.createElement(
485
- // 'wix-interact-element',
486
- // ) as IWixInteractElement;
487
- // element.dataset.wixPath = 'logo-click';
485
+ // 'interact-element',
486
+ // ) as IInteractElement;
487
+ // element.dataset.interactKey = 'logo-click';
488
488
  // const div = document.createElement('div');
489
489
  // element.append(div);
490
490
 
@@ -527,7 +527,7 @@ describe('interact', () => {
527
527
  }
528
528
  }
529
529
  });
530
- element = document.createElement('wix-interact-element');
530
+ element = document.createElement('interact-element');
531
531
  const div = document.createElement('div');
532
532
  element.append(div);
533
533
  (0, _add.add)(element, 'logo-hover');
@@ -552,7 +552,7 @@ describe('interact', () => {
552
552
  const {
553
553
  getWebAnimation
554
554
  } = require('@wix/motion');
555
- element = document.createElement('wix-interact-element');
555
+ element = document.createElement('interact-element');
556
556
  const div = document.createElement('div');
557
557
  element.append(div);
558
558
  const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
@@ -579,7 +579,7 @@ describe('interact', () => {
579
579
  });
580
580
  describe('click', () => {
581
581
  it('should add handler for click trigger', () => {
582
- element = document.createElement('wix-interact-element');
582
+ element = document.createElement('interact-element');
583
583
  const div = document.createElement('div');
584
584
  element.append(div);
585
585
  const addEventListenerSpy = jest.spyOn(div, 'addEventListener');
@@ -595,7 +595,7 @@ describe('interact', () => {
595
595
  const {
596
596
  getWebAnimation
597
597
  } = require('@wix/motion');
598
- element = document.createElement('wix-interact-element');
598
+ element = document.createElement('interact-element');
599
599
  const div = document.createElement('div');
600
600
  element.append(div);
601
601
  (0, _add.add)(element, 'logo-entrance');
@@ -608,15 +608,15 @@ describe('interact', () => {
608
608
  const {
609
609
  getWebAnimation
610
610
  } = require('@wix/motion');
611
- element = document.createElement('wix-interact-element');
611
+ element = document.createElement('interact-element');
612
612
  const div = document.createElement('div');
613
613
  div.id = 'logo-entrance';
614
- element.dataset.wixPath = 'logo-entrance';
614
+ element.dataset.interactKey = 'logo-entrance';
615
615
  element.append(div);
616
- const elementClick = document.createElement('wix-interact-element');
616
+ const elementClick = document.createElement('interact-element');
617
617
  const divClick = document.createElement('div');
618
618
  divClick.id = 'logo-click';
619
- elementClick.dataset.wixPath = 'logo-click';
619
+ elementClick.dataset.interactKey = 'logo-click';
620
620
  elementClick.append(divClick);
621
621
  (0, _add.add)(elementClick, 'logo-click');
622
622
  (0, _add.add)(element, 'logo-entrance');
@@ -640,7 +640,7 @@ describe('interact', () => {
640
640
  const {
641
641
  getWebAnimation
642
642
  } = require('@wix/motion');
643
- element = document.createElement('wix-interact-element');
643
+ element = document.createElement('interact-element');
644
644
  const div = document.createElement('div');
645
645
  element.append(div);
646
646
  (0, _add.add)(element, 'logo-loop');
@@ -655,7 +655,7 @@ describe('interact', () => {
655
655
  const {
656
656
  getWebAnimation
657
657
  } = require('@wix/motion');
658
- element = document.createElement('wix-interact-element');
658
+ element = document.createElement('interact-element');
659
659
  const div = document.createElement('div');
660
660
  element.append(div);
661
661
  (0, _add.add)(element, 'logo-animation-end');
@@ -678,7 +678,7 @@ describe('interact', () => {
678
678
  destroy: jest.fn()
679
679
  };
680
680
  Pointer.mockImplementation(() => pointerInstance);
681
- element = document.createElement('wix-interact-element');
681
+ element = document.createElement('interact-element');
682
682
  const div = document.createElement('div');
683
683
  element.append(div);
684
684
  (0, _add.add)(element, 'logo-mouse');
@@ -694,7 +694,7 @@ describe('interact', () => {
694
694
  const {
695
695
  getWebAnimation
696
696
  } = require('@wix/motion');
697
- element = document.createElement('wix-interact-element');
697
+ element = document.createElement('interact-element');
698
698
  const div = document.createElement('div');
699
699
  element.append(div);
700
700
  (0, _add.add)(element, 'logo-scroll');
@@ -717,7 +717,7 @@ describe('interact', () => {
717
717
  destroy: jest.fn()
718
718
  };
719
719
  Scroll.mockImplementation(() => scrollInstance);
720
- element = document.createElement('wix-interact-element');
720
+ element = document.createElement('interact-element');
721
721
  const div = document.createElement('div');
722
722
  element.append(div);
723
723
  (0, _add.add)(element, 'logo-scroll');
@@ -732,7 +732,7 @@ describe('interact', () => {
732
732
  });
733
733
  describe('listContainer', () => {
734
734
  it('should add a handler per list item for click trigger with listContainer', () => {
735
- element = document.createElement('wix-interact-element');
735
+ element = document.createElement('interact-element');
736
736
  const div = document.createElement('div');
737
737
  const ul = document.createElement('ul');
738
738
  ul.id = 'logo-list';
@@ -758,7 +758,7 @@ describe('interact', () => {
758
758
  const {
759
759
  getWebAnimation
760
760
  } = require('@wix/motion');
761
- element = document.createElement('wix-interact-element');
761
+ element = document.createElement('interact-element');
762
762
  const div = document.createElement('div');
763
763
  const ul = document.createElement('ul');
764
764
  ul.id = 'logo-list';
@@ -774,7 +774,7 @@ describe('interact', () => {
774
774
  expect(getWebAnimation.mock.calls[1][0]).toBe(li2);
775
775
  });
776
776
  it('should add a handler per newly added list item for click trigger with listContainer', () => {
777
- element = document.createElement('wix-interact-element');
777
+ element = document.createElement('interact-element');
778
778
  const div = document.createElement('div');
779
779
  const ul = document.createElement('ul');
780
780
  ul.id = 'logo-list';
@@ -808,9 +808,9 @@ describe('interact', () => {
808
808
  const {
809
809
  getWebAnimation
810
810
  } = require('@wix/motion');
811
- element = document.createElement('wix-interact-element');
811
+ element = document.createElement('interact-element');
812
812
  const div = document.createElement('div');
813
- const targetElement = document.createElement('wix-interact-element');
813
+ const targetElement = document.createElement('interact-element');
814
814
  const divTarget = document.createElement('div');
815
815
  const ul = document.createElement('ul');
816
816
  ul.id = 'logo-scroll-list';
@@ -849,7 +849,7 @@ describe('interact', () => {
849
849
  _Interact.Interact.destroy();
850
850
  });
851
851
  it('should remove event listeners', () => {
852
- element = document.createElement('wix-interact-element');
852
+ element = document.createElement('interact-element');
853
853
  const div = document.createElement('div');
854
854
  element.append(div);
855
855
  const removeEventListenerSpy = jest.spyOn(div, 'removeEventListener');
@@ -870,7 +870,7 @@ describe('interact', () => {
870
870
  destroy: jest.fn()
871
871
  };
872
872
  Pointer.mockImplementation(() => pointerInstance);
873
- element = document.createElement('wix-interact-element');
873
+ element = document.createElement('interact-element');
874
874
  const div = document.createElement('div');
875
875
  element.append(div);
876
876
  (0, _add.add)(element, 'logo-mouse');
@@ -886,10 +886,10 @@ describe('interact', () => {
886
886
  } = require('@wix/motion');
887
887
  const config = createCascadingTestConfig({}, ['min-width: 1024px']);
888
888
  _Interact.Interact.create(config);
889
- const sourceElement = document.createElement('wix-interact-element');
889
+ const sourceElement = document.createElement('interact-element');
890
890
  const sourceDiv = document.createElement('div');
891
891
  sourceElement.append(sourceDiv);
892
- const targetElement = document.createElement('wix-interact-element');
892
+ const targetElement = document.createElement('interact-element');
893
893
  const targetDiv = document.createElement('div');
894
894
  targetElement.append(targetDiv);
895
895
  const addEventListenerSpy = jest.spyOn(sourceDiv, 'addEventListener');
@@ -918,10 +918,10 @@ describe('interact', () => {
918
918
  const config = createCascadingTestConfig({}, []); // No matching conditions
919
919
 
920
920
  _Interact.Interact.create(config);
921
- const sourceElement = document.createElement('wix-interact-element');
921
+ const sourceElement = document.createElement('interact-element');
922
922
  const sourceDiv = document.createElement('div');
923
923
  sourceElement.append(sourceDiv);
924
- const targetElement = document.createElement('wix-interact-element');
924
+ const targetElement = document.createElement('interact-element');
925
925
  const targetDiv = document.createElement('div');
926
926
  targetElement.append(targetDiv);
927
927
  (0, _add.add)(sourceElement, 'cascade-source');
@@ -944,10 +944,10 @@ describe('interact', () => {
944
944
  } = require('@wix/motion');
945
945
  const config = createCascadingTestConfig({}, ['max-width: 767px']);
946
946
  _Interact.Interact.create(config);
947
- const sourceElement = document.createElement('wix-interact-element');
947
+ const sourceElement = document.createElement('interact-element');
948
948
  const sourceDiv = document.createElement('div');
949
949
  sourceElement.append(sourceDiv);
950
- const targetElement = document.createElement('wix-interact-element');
950
+ const targetElement = document.createElement('interact-element');
951
951
  const targetDiv = document.createElement('div');
952
952
  targetElement.append(targetDiv);
953
953
  (0, _add.add)(sourceElement, 'cascade-source');
@@ -972,10 +972,10 @@ describe('interact', () => {
972
972
  } = require('@wix/motion');
973
973
  const config = createCascadingTestConfig({}, ['min-width: 1024px']);
974
974
  _Interact.Interact.create(config);
975
- const sourceElement = document.createElement('wix-interact-element');
975
+ const sourceElement = document.createElement('interact-element');
976
976
  const sourceDiv = document.createElement('div');
977
977
  sourceElement.append(sourceDiv);
978
- const targetElement = document.createElement('wix-interact-element');
978
+ const targetElement = document.createElement('interact-element');
979
979
  const targetDiv = document.createElement('div');
980
980
  targetElement.append(targetDiv);
981
981
 
@@ -998,10 +998,10 @@ describe('interact', () => {
998
998
  } = require('@wix/motion');
999
999
  const config = createCascadingTestConfig({}, ['min-width: 1024px']);
1000
1000
  _Interact.Interact.create(config);
1001
- const sourceElement = document.createElement('wix-interact-element');
1001
+ const sourceElement = document.createElement('interact-element');
1002
1002
  const sourceDiv = document.createElement('div');
1003
1003
  sourceElement.append(sourceDiv);
1004
- const targetElement = document.createElement('wix-interact-element');
1004
+ const targetElement = document.createElement('interact-element');
1005
1005
  const targetDiv = document.createElement('div');
1006
1006
  targetElement.append(targetDiv);
1007
1007
 
@@ -1069,13 +1069,13 @@ describe('interact', () => {
1069
1069
  };
1070
1070
  mockMatchMedia(['min-width: 1024px']); // Only desktop matches
1071
1071
  _Interact.Interact.create(complexConfig);
1072
- const sourceElement = document.createElement('wix-interact-element');
1072
+ const sourceElement = document.createElement('interact-element');
1073
1073
  const sourceDiv = document.createElement('div');
1074
1074
  sourceElement.append(sourceDiv);
1075
- const target1Element = document.createElement('wix-interact-element');
1075
+ const target1Element = document.createElement('interact-element');
1076
1076
  const target1Div = document.createElement('div');
1077
1077
  target1Element.append(target1Div);
1078
- const target2Element = document.createElement('wix-interact-element');
1078
+ const target2Element = document.createElement('interact-element');
1079
1079
  const target2Div = document.createElement('div');
1080
1080
  target2Element.append(target2Div);
1081
1081
  (0, _add.add)(sourceElement, 'multi-source-1');
@@ -1143,10 +1143,10 @@ describe('interact', () => {
1143
1143
  // Both conditions match
1144
1144
  mockMatchMedia(['min-width: 1024px', 'min-resolution: 2dppx']);
1145
1145
  _Interact.Interact.create(multiConditionConfig);
1146
- const sourceElement = document.createElement('wix-interact-element');
1146
+ const sourceElement = document.createElement('interact-element');
1147
1147
  const sourceDiv = document.createElement('div');
1148
1148
  sourceElement.append(sourceDiv);
1149
- const targetElement = document.createElement('wix-interact-element');
1149
+ const targetElement = document.createElement('interact-element');
1150
1150
  const targetDiv = document.createElement('div');
1151
1151
  targetElement.append(targetDiv);
1152
1152
  (0, _add.add)(sourceElement, 'cascade-source');
@@ -1199,10 +1199,10 @@ describe('interact', () => {
1199
1199
  };
1200
1200
  mockMatchMedia(['min-width: 1024px']);
1201
1201
  _Interact.Interact.create(configWithMissingCondition);
1202
- const sourceElement = document.createElement('wix-interact-element');
1202
+ const sourceElement = document.createElement('interact-element');
1203
1203
  const sourceDiv = document.createElement('div');
1204
1204
  sourceElement.append(sourceDiv);
1205
- const targetElement = document.createElement('wix-interact-element');
1205
+ const targetElement = document.createElement('interact-element');
1206
1206
  const targetDiv = document.createElement('div');
1207
1207
  targetElement.append(targetDiv);
1208
1208
  (0, _add.add)(sourceElement, 'cascade-source');
@@ -1246,10 +1246,10 @@ describe('interact', () => {
1246
1246
  };
1247
1247
  mockMatchMedia([]);
1248
1248
  _Interact.Interact.create(configWithEmptyConditions);
1249
- const sourceElement = document.createElement('wix-interact-element');
1249
+ const sourceElement = document.createElement('interact-element');
1250
1250
  const sourceDiv = document.createElement('div');
1251
1251
  sourceElement.append(sourceDiv);
1252
- const targetElement = document.createElement('wix-interact-element');
1252
+ const targetElement = document.createElement('interact-element');
1253
1253
  const targetDiv = document.createElement('div');
1254
1254
  targetElement.append(targetDiv);
1255
1255
  (0, _add.add)(sourceElement, 'cascade-source');
@@ -1272,7 +1272,7 @@ describe('interact', () => {
1272
1272
  let targetElement;
1273
1273
  beforeEach(() => {
1274
1274
  // Create source element with multiple child elements
1275
- sourceElement = document.createElement('wix-interact-element');
1275
+ sourceElement = document.createElement('interact-element');
1276
1276
  sourceElement.innerHTML = `
1277
1277
  <div class="first-child">First Child</div>
1278
1278
  <button class="trigger-button">Click Me</button>
@@ -1285,7 +1285,7 @@ describe('interact', () => {
1285
1285
  `;
1286
1286
 
1287
1287
  // Create target element with multiple child elements
1288
- targetElement = document.createElement('wix-interact-element');
1288
+ targetElement = document.createElement('interact-element');
1289
1289
  targetElement.innerHTML = `
1290
1290
  <div class="first-child">Target First</div>
1291
1291
  <div class="animation-target">Animation Target</div>
@@ -1520,7 +1520,7 @@ describe('interact', () => {
1520
1520
  _Interact.Interact.create(config);
1521
1521
  (0, _add.add)(sourceElement, 'invalid-source');
1522
1522
  (0, _add.add)(targetElement, 'invalid-target');
1523
- expect(consoleSpy).toHaveBeenCalledWith('WixInteract: No element found for selector ".non-existent-element"');
1523
+ expect(consoleSpy).toHaveBeenCalledWith('Interact: No element found for selector ".non-existent-element"');
1524
1524
  });
1525
1525
  it('should warn when listContainer selector does not match', () => {
1526
1526
  const config = {
@@ -1550,7 +1550,7 @@ describe('interact', () => {
1550
1550
  _Interact.Interact.create(config);
1551
1551
  (0, _add.add)(sourceElement, 'invalid-container-source');
1552
1552
  (0, _add.add)(targetElement, 'invalid-container-target');
1553
- expect(consoleSpy).toHaveBeenCalledWith('WixInteract: No container found for list container ".non-existent-container"');
1553
+ expect(consoleSpy).toHaveBeenCalledWith('Interact: No container found for list container ".non-existent-container"');
1554
1554
  });
1555
1555
  it('should gracefully handle invalid selectors without breaking interactions', () => {
1556
1556
  const config = {