@elementor/frontend-handlers 3.35.0-344 → 3.35.0-346

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/index.js CHANGED
@@ -89,16 +89,25 @@ var onElementRender = ({
89
89
  }) => {
90
90
  const controller = new AbortController();
91
91
  const manualUnmount = [];
92
- element.dispatchEvent(
93
- new CustomEvent(ELEMENT_RENDERED_EVENT_NAME, {
94
- bubbles: true,
95
- detail: {
96
- element,
97
- elementType,
98
- elementId
99
- }
100
- })
101
- );
92
+ const dispatchRenderedEvent = () => {
93
+ element.dispatchEvent(
94
+ new CustomEvent(ELEMENT_RENDERED_EVENT_NAME, {
95
+ bubbles: true,
96
+ detail: {
97
+ element,
98
+ elementType,
99
+ elementId
100
+ }
101
+ })
102
+ );
103
+ };
104
+ if (!element.isConnected) {
105
+ requestAnimationFrame(() => {
106
+ dispatchRenderedEvent();
107
+ });
108
+ } else {
109
+ dispatchRenderedEvent();
110
+ }
102
111
  if (!elementTypeHandlers.has(elementType)) {
103
112
  return;
104
113
  }
@@ -114,7 +123,6 @@ var onElementRender = ({
114
123
  return;
115
124
  }
116
125
  callback();
117
- event.stopPropagation();
118
126
  },
119
127
  { signal: controller.signal }
120
128
  );
package/dist/index.mjs CHANGED
@@ -59,16 +59,25 @@ var onElementRender = ({
59
59
  }) => {
60
60
  const controller = new AbortController();
61
61
  const manualUnmount = [];
62
- element.dispatchEvent(
63
- new CustomEvent(ELEMENT_RENDERED_EVENT_NAME, {
64
- bubbles: true,
65
- detail: {
66
- element,
67
- elementType,
68
- elementId
69
- }
70
- })
71
- );
62
+ const dispatchRenderedEvent = () => {
63
+ element.dispatchEvent(
64
+ new CustomEvent(ELEMENT_RENDERED_EVENT_NAME, {
65
+ bubbles: true,
66
+ detail: {
67
+ element,
68
+ elementType,
69
+ elementId
70
+ }
71
+ })
72
+ );
73
+ };
74
+ if (!element.isConnected) {
75
+ requestAnimationFrame(() => {
76
+ dispatchRenderedEvent();
77
+ });
78
+ } else {
79
+ dispatchRenderedEvent();
80
+ }
72
81
  if (!elementTypeHandlers.has(elementType)) {
73
82
  return;
74
83
  }
@@ -84,7 +93,6 @@ var onElementRender = ({
84
93
  return;
85
94
  }
86
95
  callback();
87
- event.stopPropagation();
88
96
  },
89
97
  { signal: controller.signal }
90
98
  );
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/frontend-handlers",
3
3
  "description": "Elementor Frontend Handlers",
4
- "version": "3.35.0-344",
4
+ "version": "3.35.0-346",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -17,16 +17,27 @@ export const onElementRender = ( {
17
17
  const controller = new AbortController();
18
18
  const manualUnmount: ( () => void )[] = [];
19
19
 
20
- element.dispatchEvent(
21
- new CustomEvent( ELEMENT_RENDERED_EVENT_NAME, {
22
- bubbles: true,
23
- detail: {
24
- element,
25
- elementType,
26
- elementId,
27
- },
28
- } )
29
- );
20
+ const dispatchRenderedEvent = () => {
21
+ element.dispatchEvent(
22
+ new CustomEvent( ELEMENT_RENDERED_EVENT_NAME, {
23
+ bubbles: true,
24
+ detail: {
25
+ element,
26
+ elementType,
27
+ elementId,
28
+ },
29
+ } )
30
+ );
31
+ };
32
+
33
+ // When the rendered event is dispatched, the element is not yet connected to the DOM (marrionet view case)
34
+ if ( ! element.isConnected ) {
35
+ requestAnimationFrame( () => {
36
+ dispatchRenderedEvent();
37
+ } );
38
+ } else {
39
+ dispatchRenderedEvent();
40
+ }
30
41
 
31
42
  if ( ! elementTypeHandlers.has( elementType ) ) {
32
43
  return;
@@ -47,8 +58,6 @@ export const onElementRender = ( {
47
58
  }
48
59
 
49
60
  callback();
50
-
51
- event.stopPropagation();
52
61
  },
53
62
  { signal: controller.signal }
54
63
  );