@elementor/editor-components 3.35.0-418 → 3.35.0-419
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 +29 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +22 -22
- package/src/component-instance-transformer.ts +1 -9
- package/src/component-overridable-transformer.ts +4 -5
- package/src/create-component-type.ts +38 -1
- package/src/types.ts +5 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elementor/editor-components",
|
|
3
3
|
"description": "Elementor editor components",
|
|
4
|
-
"version": "3.35.0-
|
|
4
|
+
"version": "3.35.0-419",
|
|
5
5
|
"private": false,
|
|
6
6
|
"author": "Elementor Team",
|
|
7
7
|
"homepage": "https://elementor.com/",
|
|
@@ -40,30 +40,30 @@
|
|
|
40
40
|
"dev": "tsup --config=../../tsup.dev.ts"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@elementor/editor": "3.35.0-
|
|
44
|
-
"@elementor/editor-canvas": "3.35.0-
|
|
45
|
-
"@elementor/editor-controls": "3.35.0-
|
|
46
|
-
"@elementor/editor-documents": "3.35.0-
|
|
47
|
-
"@elementor/editor-editing-panel": "3.35.0-
|
|
48
|
-
"@elementor/editor-elements": "3.35.0-
|
|
49
|
-
"@elementor/editor-elements-panel": "3.35.0-
|
|
50
|
-
"@elementor/editor-mcp": "3.35.0-
|
|
51
|
-
"@elementor/editor-panels": "3.35.0-
|
|
52
|
-
"@elementor/editor-props": "3.35.0-
|
|
53
|
-
"@elementor/editor-styles-repository": "3.35.0-
|
|
54
|
-
"@elementor/editor-ui": "3.35.0-
|
|
55
|
-
"@elementor/editor-v1-adapters": "3.35.0-
|
|
56
|
-
"@elementor/http-client": "3.35.0-
|
|
43
|
+
"@elementor/editor": "3.35.0-419",
|
|
44
|
+
"@elementor/editor-canvas": "3.35.0-419",
|
|
45
|
+
"@elementor/editor-controls": "3.35.0-419",
|
|
46
|
+
"@elementor/editor-documents": "3.35.0-419",
|
|
47
|
+
"@elementor/editor-editing-panel": "3.35.0-419",
|
|
48
|
+
"@elementor/editor-elements": "3.35.0-419",
|
|
49
|
+
"@elementor/editor-elements-panel": "3.35.0-419",
|
|
50
|
+
"@elementor/editor-mcp": "3.35.0-419",
|
|
51
|
+
"@elementor/editor-panels": "3.35.0-419",
|
|
52
|
+
"@elementor/editor-props": "3.35.0-419",
|
|
53
|
+
"@elementor/editor-styles-repository": "3.35.0-419",
|
|
54
|
+
"@elementor/editor-ui": "3.35.0-419",
|
|
55
|
+
"@elementor/editor-v1-adapters": "3.35.0-419",
|
|
56
|
+
"@elementor/http-client": "3.35.0-419",
|
|
57
57
|
"@elementor/icons": "^1.63.0",
|
|
58
|
-
"@elementor/mixpanel": "3.35.0-
|
|
59
|
-
"@elementor/query": "3.35.0-
|
|
60
|
-
"@elementor/schema": "3.35.0-
|
|
61
|
-
"@elementor/store": "3.35.0-
|
|
58
|
+
"@elementor/mixpanel": "3.35.0-419",
|
|
59
|
+
"@elementor/query": "3.35.0-419",
|
|
60
|
+
"@elementor/schema": "3.35.0-419",
|
|
61
|
+
"@elementor/store": "3.35.0-419",
|
|
62
62
|
"@elementor/ui": "1.36.17",
|
|
63
|
-
"@elementor/utils": "3.35.0-
|
|
63
|
+
"@elementor/utils": "3.35.0-419",
|
|
64
64
|
"@wordpress/i18n": "^5.13.0",
|
|
65
|
-
"@elementor/editor-notifications": "3.35.0-
|
|
66
|
-
"@elementor/editor-current-user": "3.35.0-
|
|
65
|
+
"@elementor/editor-notifications": "3.35.0-419",
|
|
66
|
+
"@elementor/editor-current-user": "3.35.0-419"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"react": "^18.3.1",
|
|
@@ -1,18 +1,10 @@
|
|
|
1
|
-
import { createTransformer
|
|
1
|
+
import { createTransformer } from '@elementor/editor-canvas';
|
|
2
2
|
import { __getState as getState } from '@elementor/store';
|
|
3
3
|
|
|
4
4
|
import { type ComponentInstanceOverrideProp } from './prop-types/component-instance-override-prop-type';
|
|
5
5
|
import { selectUnpublishedComponents } from './store/store';
|
|
6
6
|
import { getComponentDocumentData } from './utils/component-document-data';
|
|
7
7
|
|
|
8
|
-
type ComponentInstanceContext = {
|
|
9
|
-
overrides?: Record< string, unknown >;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export const componentInstanceContext = new RenderContext< ComponentInstanceContext >( 'component-instance', {
|
|
13
|
-
overrides: {},
|
|
14
|
-
} );
|
|
15
|
-
|
|
16
8
|
export const componentInstanceTransformer = createTransformer(
|
|
17
9
|
async ( {
|
|
18
10
|
component_id: id,
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { createTransformer, settingsTransformersRegistry } from '@elementor/editor-canvas';
|
|
1
|
+
import { createTransformer, settingsTransformersRegistry, type TransformerOptions } from '@elementor/editor-canvas';
|
|
2
2
|
import { type PropValue, type TransformablePropValue } from '@elementor/editor-props';
|
|
3
3
|
|
|
4
|
-
import { componentInstanceContext } from './component-instance-transformer';
|
|
5
4
|
import { type ComponentOverridable } from './types';
|
|
6
5
|
|
|
7
6
|
export const componentOverridableTransformer = createTransformer(
|
|
8
|
-
( value: ComponentOverridable, options:
|
|
9
|
-
const { overrides } =
|
|
7
|
+
( value: ComponentOverridable, options: TransformerOptions ) => {
|
|
8
|
+
const { overrides } = options.renderContext ?? {};
|
|
10
9
|
|
|
11
|
-
const overrideValue = overrides?.[ value.override_key ];
|
|
10
|
+
const overrideValue = overrides?.[ value.override_key as keyof typeof overrides ];
|
|
12
11
|
|
|
13
12
|
if ( overrideValue ) {
|
|
14
13
|
const isOverride = isOriginValueOverride( value.origin_value );
|
|
@@ -7,6 +7,8 @@ import {
|
|
|
7
7
|
type ElementType,
|
|
8
8
|
type ElementView,
|
|
9
9
|
type LegacyWindow,
|
|
10
|
+
type NamespacedRenderContext,
|
|
11
|
+
type RenderContext,
|
|
10
12
|
} from '@elementor/editor-canvas';
|
|
11
13
|
import { getCurrentDocument } from '@elementor/editor-documents';
|
|
12
14
|
import { __getState as getState } from '@elementor/store';
|
|
@@ -15,7 +17,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
15
17
|
import { apiClient } from './api';
|
|
16
18
|
import { type ComponentInstanceProp } from './prop-types/component-instance-prop-type';
|
|
17
19
|
import { type ComponentsSlice, selectComponentByUid } from './store/store';
|
|
18
|
-
import { type ExtendedWindow } from './types';
|
|
20
|
+
import { type ComponentRenderContext, type ExtendedWindow } from './types';
|
|
19
21
|
import { switchToComponent } from './utils/switch-to-component';
|
|
20
22
|
import { trackComponentEvent } from './utils/tracking';
|
|
21
23
|
|
|
@@ -104,6 +106,7 @@ function createComponentView(
|
|
|
104
106
|
return class extends createTemplatedElementView( options ) {
|
|
105
107
|
legacyWindow = window as unknown as LegacyWindow & ExtendedWindow;
|
|
106
108
|
eventsManagerConfig = this.legacyWindow.elementorCommon.eventsManager.config;
|
|
109
|
+
#componentRenderContext: ComponentRenderContext | undefined;
|
|
107
110
|
|
|
108
111
|
isComponentCurrentlyEdited() {
|
|
109
112
|
const currentDocument = getCurrentDocument();
|
|
@@ -111,6 +114,36 @@ function createComponentView(
|
|
|
111
114
|
return currentDocument?.id === this.getComponentId();
|
|
112
115
|
}
|
|
113
116
|
|
|
117
|
+
getRenderContext(): NamespacedRenderContext | undefined {
|
|
118
|
+
const namespaceKey = this.getNamespaceKey();
|
|
119
|
+
const parentContext = this._parent?.getRenderContext?.();
|
|
120
|
+
const parentComponentContext = parentContext?.[ namespaceKey ];
|
|
121
|
+
|
|
122
|
+
if ( ! this.#componentRenderContext ) {
|
|
123
|
+
return parentContext;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
const ownOverrides = this.#componentRenderContext.overrides ?? {};
|
|
127
|
+
const parentOverrides = parentComponentContext?.overrides ?? {};
|
|
128
|
+
|
|
129
|
+
return {
|
|
130
|
+
...parentContext,
|
|
131
|
+
[ namespaceKey ]: {
|
|
132
|
+
overrides: {
|
|
133
|
+
...parentOverrides,
|
|
134
|
+
...ownOverrides,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
getResolverRenderContext(): RenderContext | undefined {
|
|
141
|
+
const namespaceKey = this.getNamespaceKey();
|
|
142
|
+
const context = this.getRenderContext();
|
|
143
|
+
|
|
144
|
+
return context?.[ namespaceKey ];
|
|
145
|
+
}
|
|
146
|
+
|
|
114
147
|
afterSettingsResolve( settings: { [ key: string ]: unknown } ) {
|
|
115
148
|
const componentInstance = settings.component_instance as
|
|
116
149
|
| {
|
|
@@ -120,6 +153,10 @@ function createComponentView(
|
|
|
120
153
|
| undefined;
|
|
121
154
|
|
|
122
155
|
if ( componentInstance ) {
|
|
156
|
+
this.#componentRenderContext = {
|
|
157
|
+
overrides: componentInstance.overrides ?? {},
|
|
158
|
+
};
|
|
159
|
+
|
|
123
160
|
this.collection = this.legacyWindow.elementor.createBackboneElementsCollection(
|
|
124
161
|
componentInstance.elements
|
|
125
162
|
);
|
package/src/types.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type RenderContext } from '@elementor/editor-canvas';
|
|
1
2
|
import { type V1ElementData } from '@elementor/editor-elements';
|
|
2
3
|
import { type PropValue, type TransformablePropValue } from '@elementor/editor-props';
|
|
3
4
|
import type { StyleDefinition } from '@elementor/editor-styles';
|
|
@@ -74,6 +75,10 @@ export type ComponentOverridable = {
|
|
|
74
75
|
origin_value: TransformablePropValue< string >;
|
|
75
76
|
};
|
|
76
77
|
|
|
78
|
+
export type ComponentRenderContext = RenderContext< {
|
|
79
|
+
overrides?: Record< string, unknown >;
|
|
80
|
+
} >;
|
|
81
|
+
|
|
77
82
|
export type UpdatedComponentName = {
|
|
78
83
|
componentId: number;
|
|
79
84
|
title: string;
|