@elementor/editor-canvas 3.35.0-422 → 3.35.0-424

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
@@ -2014,16 +2014,17 @@ var createTemplatedElementTypeWithReplacements = ({
2014
2014
  element
2015
2015
  }) => {
2016
2016
  const legacyWindow2 = window;
2017
+ const view = createViewWithReplacements({
2018
+ type,
2019
+ renderer,
2020
+ element
2021
+ });
2017
2022
  return class extends legacyWindow2.elementor.modules.elements.types.Widget {
2018
2023
  getType() {
2019
2024
  return type;
2020
2025
  }
2021
2026
  getView() {
2022
- return createViewWithReplacements({
2023
- type,
2024
- renderer,
2025
- element
2026
- });
2027
+ return view;
2027
2028
  }
2028
2029
  };
2029
2030
  };
package/dist/index.mjs CHANGED
@@ -1976,16 +1976,17 @@ var createTemplatedElementTypeWithReplacements = ({
1976
1976
  element
1977
1977
  }) => {
1978
1978
  const legacyWindow2 = window;
1979
+ const view = createViewWithReplacements({
1980
+ type,
1981
+ renderer,
1982
+ element
1983
+ });
1979
1984
  return class extends legacyWindow2.elementor.modules.elements.types.Widget {
1980
1985
  getType() {
1981
1986
  return type;
1982
1987
  }
1983
1988
  getView() {
1984
- return createViewWithReplacements({
1985
- type,
1986
- renderer,
1987
- element
1988
- });
1989
+ return view;
1989
1990
  }
1990
1991
  };
1991
1992
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@elementor/editor-canvas",
3
3
  "description": "Elementor Editor Canvas",
4
- "version": "3.35.0-422",
4
+ "version": "3.35.0-424",
5
5
  "private": false,
6
6
  "author": "Elementor Team",
7
7
  "homepage": "https://elementor.com/",
@@ -37,24 +37,24 @@
37
37
  "react-dom": "^18.3.1"
38
38
  },
39
39
  "dependencies": {
40
- "@elementor/editor": "3.35.0-422",
41
- "@elementor/editor-controls": "3.35.0-422",
42
- "@elementor/editor-documents": "3.35.0-422",
43
- "@elementor/editor-elements": "3.35.0-422",
44
- "@elementor/editor-interactions": "3.35.0-422",
45
- "@elementor/editor-mcp": "3.35.0-422",
46
- "@elementor/editor-notifications": "3.35.0-422",
47
- "@elementor/editor-props": "3.35.0-422",
48
- "@elementor/editor-responsive": "3.35.0-422",
49
- "@elementor/editor-styles": "3.35.0-422",
50
- "@elementor/editor-styles-repository": "3.35.0-422",
51
- "@elementor/editor-ui": "3.35.0-422",
52
- "@elementor/editor-v1-adapters": "3.35.0-422",
53
- "@elementor/schema": "3.35.0-422",
54
- "@elementor/twing": "3.35.0-422",
40
+ "@elementor/editor": "3.35.0-424",
41
+ "@elementor/editor-controls": "3.35.0-424",
42
+ "@elementor/editor-documents": "3.35.0-424",
43
+ "@elementor/editor-elements": "3.35.0-424",
44
+ "@elementor/editor-interactions": "3.35.0-424",
45
+ "@elementor/editor-mcp": "3.35.0-424",
46
+ "@elementor/editor-notifications": "3.35.0-424",
47
+ "@elementor/editor-props": "3.35.0-424",
48
+ "@elementor/editor-responsive": "3.35.0-424",
49
+ "@elementor/editor-styles": "3.35.0-424",
50
+ "@elementor/editor-styles-repository": "3.35.0-424",
51
+ "@elementor/editor-ui": "3.35.0-424",
52
+ "@elementor/editor-v1-adapters": "3.35.0-424",
53
+ "@elementor/schema": "3.35.0-424",
54
+ "@elementor/twing": "3.35.0-424",
55
55
  "@elementor/ui": "1.36.17",
56
- "@elementor/utils": "3.35.0-422",
57
- "@elementor/wp-media": "3.35.0-422",
56
+ "@elementor/utils": "3.35.0-424",
57
+ "@elementor/wp-media": "3.35.0-424",
58
58
  "@floating-ui/react": "^0.27.5",
59
59
  "@wordpress/i18n": "^5.13.0"
60
60
  },
@@ -0,0 +1,56 @@
1
+ import { mockLegacyElementor } from 'test-utils';
2
+
3
+ import { createTemplatedElementType } from '../create-templated-element-type';
4
+
5
+ const MOCK_ELEMENT_TYPE = 'test-element';
6
+
7
+ const createMockRenderer = () => ( {
8
+ register: jest.fn(),
9
+ render: jest.fn( () => Promise.resolve( '<div>Element</div>' ) ),
10
+ } );
11
+
12
+ const createMockElementConfig = () => ( {
13
+ twig_templates: {},
14
+ twig_main_template: 'main',
15
+ atomic_props_schema: {},
16
+ base_styles_dictionary: {},
17
+ } );
18
+
19
+ describe( 'createTemplatedElementType', () => {
20
+ beforeEach( () => {
21
+ mockLegacyElementor();
22
+ } );
23
+
24
+ it( 'should return the correct element type', () => {
25
+ // Arrange
26
+ const ElementType = createTemplatedElementType( {
27
+ type: MOCK_ELEMENT_TYPE,
28
+ renderer: createMockRenderer(),
29
+ element: createMockElementConfig(),
30
+ } );
31
+
32
+ // Act
33
+ const typeInstance = new ElementType();
34
+
35
+ // Assert
36
+ expect( typeInstance.getType() ).toBe( MOCK_ELEMENT_TYPE );
37
+ } );
38
+
39
+ it( 'should return the same view class for multiple type instances', () => {
40
+ // Arrange
41
+ const ElementType = createTemplatedElementType( {
42
+ type: MOCK_ELEMENT_TYPE,
43
+ renderer: createMockRenderer(),
44
+ element: createMockElementConfig(),
45
+ } );
46
+
47
+ // Act
48
+ const typeInstance1 = new ElementType();
49
+ const typeInstance2 = new ElementType();
50
+ const viewClass1 = typeInstance1.getView();
51
+ const viewClass2 = typeInstance2.getView();
52
+
53
+ // Assert
54
+ expect( viewClass1 ).toBe( viewClass2 );
55
+ } );
56
+ } );
@@ -30,17 +30,19 @@ export function createTemplatedElementType( {
30
30
  }: CreateTemplatedElementTypeOptions ): typeof ElementType {
31
31
  const legacyWindow = window as unknown as LegacyWindow;
32
32
 
33
+ const view = createTemplatedElementView( {
34
+ type,
35
+ renderer,
36
+ element,
37
+ } );
38
+
33
39
  return class extends legacyWindow.elementor.modules.elements.types.Widget {
34
40
  getType() {
35
41
  return type;
36
42
  }
37
43
 
38
44
  getView() {
39
- return createTemplatedElementView( {
40
- type,
41
- renderer,
42
- element,
43
- } );
45
+ return view;
44
46
  }
45
47
  };
46
48
  }
@@ -0,0 +1,56 @@
1
+ import { mockLegacyElementor } from 'test-utils';
2
+
3
+ import { createTemplatedElementTypeWithReplacements } from '../manager';
4
+
5
+ const MOCK_ELEMENT_TYPE = 'test-element';
6
+
7
+ const createMockRenderer = () => ( {
8
+ register: jest.fn(),
9
+ render: jest.fn( () => Promise.resolve( '<div>Element</div>' ) ),
10
+ } );
11
+
12
+ const createMockElementConfig = () => ( {
13
+ twig_templates: {},
14
+ twig_main_template: 'main',
15
+ atomic_props_schema: {},
16
+ base_styles_dictionary: {},
17
+ } );
18
+
19
+ describe( 'createTemplatedElementTypeWithReplacements', () => {
20
+ beforeEach( () => {
21
+ mockLegacyElementor();
22
+ } );
23
+
24
+ it( 'should return the correct element type', () => {
25
+ // Arrange
26
+ const ElementType = createTemplatedElementTypeWithReplacements( {
27
+ type: MOCK_ELEMENT_TYPE,
28
+ renderer: createMockRenderer(),
29
+ element: createMockElementConfig(),
30
+ } );
31
+
32
+ // Act
33
+ const typeInstance = new ElementType();
34
+
35
+ // Assert
36
+ expect( typeInstance.getType() ).toBe( MOCK_ELEMENT_TYPE );
37
+ } );
38
+
39
+ it( 'should return the same view class for multiple type instances', () => {
40
+ // Arrange
41
+ const ElementType = createTemplatedElementTypeWithReplacements( {
42
+ type: MOCK_ELEMENT_TYPE,
43
+ renderer: createMockRenderer(),
44
+ element: createMockElementConfig(),
45
+ } );
46
+
47
+ // Act
48
+ const typeInstance1 = new ElementType();
49
+ const typeInstance2 = new ElementType();
50
+ const viewClass1 = typeInstance1.getView();
51
+ const viewClass2 = typeInstance2.getView();
52
+
53
+ // Assert
54
+ expect( viewClass1 ).toBe( viewClass2 );
55
+ } );
56
+ } );
@@ -112,17 +112,19 @@ export const createTemplatedElementTypeWithReplacements = ( {
112
112
  }: CreateTemplatedElementTypeOptions ): typeof ElementType => {
113
113
  const legacyWindow = window as unknown as LegacyWindow;
114
114
 
115
+ const view = createViewWithReplacements( {
116
+ type,
117
+ renderer,
118
+ element,
119
+ } );
120
+
115
121
  return class extends legacyWindow.elementor.modules.elements.types.Widget {
116
122
  getType() {
117
123
  return type;
118
124
  }
119
125
 
120
126
  getView() {
121
- return createViewWithReplacements( {
122
- type,
123
- renderer,
124
- element,
125
- } );
127
+ return view;
126
128
  }
127
129
  };
128
130
  };