@elementor/editor-canvas 3.35.0-423 → 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 +6 -5
- package/dist/index.mjs +6 -5
- package/package.json +18 -18
- package/src/legacy/__tests__/create-templated-element-type.test.ts +56 -0
- package/src/legacy/create-templated-element-type.ts +7 -5
- package/src/legacy/replacements/__tests__/manager.test.ts +56 -0
- package/src/legacy/replacements/manager.ts +7 -5
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
|
|
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
|
|
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-
|
|
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-
|
|
41
|
-
"@elementor/editor-controls": "3.35.0-
|
|
42
|
-
"@elementor/editor-documents": "3.35.0-
|
|
43
|
-
"@elementor/editor-elements": "3.35.0-
|
|
44
|
-
"@elementor/editor-interactions": "3.35.0-
|
|
45
|
-
"@elementor/editor-mcp": "3.35.0-
|
|
46
|
-
"@elementor/editor-notifications": "3.35.0-
|
|
47
|
-
"@elementor/editor-props": "3.35.0-
|
|
48
|
-
"@elementor/editor-responsive": "3.35.0-
|
|
49
|
-
"@elementor/editor-styles": "3.35.0-
|
|
50
|
-
"@elementor/editor-styles-repository": "3.35.0-
|
|
51
|
-
"@elementor/editor-ui": "3.35.0-
|
|
52
|
-
"@elementor/editor-v1-adapters": "3.35.0-
|
|
53
|
-
"@elementor/schema": "3.35.0-
|
|
54
|
-
"@elementor/twing": "3.35.0-
|
|
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-
|
|
57
|
-
"@elementor/wp-media": "3.35.0-
|
|
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
|
|
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
|
|
122
|
-
type,
|
|
123
|
-
renderer,
|
|
124
|
-
element,
|
|
125
|
-
} );
|
|
127
|
+
return view;
|
|
126
128
|
}
|
|
127
129
|
};
|
|
128
130
|
};
|