@elementor/editor-components 3.35.0-357 → 3.35.0-358
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 +79 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +63 -13
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -21
- package/src/component-instance-transformer.ts +29 -5
- package/src/component-overridable-transformer.ts +52 -5
- package/src/component-override-transformer.ts +9 -0
- package/src/create-component-type.ts +9 -2
- package/src/init.ts +2 -0
- package/src/types.ts +1 -1
package/dist/index.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { injectIntoLogic, injectIntoTop } from "@elementor/editor";
|
|
3
3
|
import {
|
|
4
4
|
registerElementType,
|
|
5
|
-
settingsTransformersRegistry
|
|
5
|
+
settingsTransformersRegistry as settingsTransformersRegistry2
|
|
6
6
|
} from "@elementor/editor-canvas";
|
|
7
7
|
import { getV1CurrentDocument } from "@elementor/editor-documents";
|
|
8
8
|
import {
|
|
@@ -19,7 +19,7 @@ import { __registerSlice as registerSlice } from "@elementor/store";
|
|
|
19
19
|
import { __ as __17 } from "@wordpress/i18n";
|
|
20
20
|
|
|
21
21
|
// src/component-instance-transformer.ts
|
|
22
|
-
import { createTransformer } from "@elementor/editor-canvas";
|
|
22
|
+
import { createTransformer, RenderContext } from "@elementor/editor-canvas";
|
|
23
23
|
import { __getState as getState } from "@elementor/store";
|
|
24
24
|
|
|
25
25
|
// src/store/store.ts
|
|
@@ -242,25 +242,73 @@ var invalidateComponentDocumentData = (id) => {
|
|
|
242
242
|
};
|
|
243
243
|
|
|
244
244
|
// src/component-instance-transformer.ts
|
|
245
|
+
var componentInstanceContext = new RenderContext("component-instance", {
|
|
246
|
+
overrides: {}
|
|
247
|
+
});
|
|
245
248
|
var componentInstanceTransformer = createTransformer(
|
|
246
|
-
async ({
|
|
249
|
+
async ({
|
|
250
|
+
component_id: id,
|
|
251
|
+
overrides: overridesValue
|
|
252
|
+
}) => {
|
|
247
253
|
const unpublishedComponents = selectUnpublishedComponents(getState());
|
|
248
254
|
const unpublishedComponent = unpublishedComponents.find(({ uid }) => uid === id);
|
|
255
|
+
const overrides = overridesValue?.reduce((acc, override) => ({ ...acc, ...override }), {});
|
|
249
256
|
if (unpublishedComponent) {
|
|
250
|
-
return
|
|
257
|
+
return {
|
|
258
|
+
elements: structuredClone(unpublishedComponent.elements),
|
|
259
|
+
overrides
|
|
260
|
+
};
|
|
251
261
|
}
|
|
252
262
|
if (typeof id !== "number") {
|
|
253
|
-
throw new Error(`Component ID "${id}" not
|
|
263
|
+
throw new Error(`Component ID "${id}" not valid.`);
|
|
254
264
|
}
|
|
255
265
|
const data = await getComponentDocumentData(id);
|
|
256
|
-
return
|
|
266
|
+
return {
|
|
267
|
+
elements: data?.elements ?? [],
|
|
268
|
+
overrides
|
|
269
|
+
};
|
|
257
270
|
}
|
|
258
271
|
);
|
|
259
272
|
|
|
260
273
|
// src/component-overridable-transformer.ts
|
|
261
|
-
import { createTransformer as createTransformer2 } from "@elementor/editor-canvas";
|
|
262
|
-
var componentOverridableTransformer = createTransformer2(
|
|
263
|
-
|
|
274
|
+
import { createTransformer as createTransformer2, settingsTransformersRegistry } from "@elementor/editor-canvas";
|
|
275
|
+
var componentOverridableTransformer = createTransformer2(
|
|
276
|
+
(value, options) => {
|
|
277
|
+
const { overrides } = componentInstanceContext.get();
|
|
278
|
+
const overrideValue = overrides?.[value.override_key];
|
|
279
|
+
if (overrideValue) {
|
|
280
|
+
const isOverride = isOriginValueOverride(value.origin_value);
|
|
281
|
+
if (isOverride) {
|
|
282
|
+
return transformOverride(value, options, overrideValue);
|
|
283
|
+
}
|
|
284
|
+
return overrideValue;
|
|
285
|
+
}
|
|
286
|
+
return value.origin_value;
|
|
287
|
+
}
|
|
288
|
+
);
|
|
289
|
+
function transformOverride(value, options, overrideValue) {
|
|
290
|
+
const transformer = settingsTransformersRegistry.get("override");
|
|
291
|
+
if (!transformer) {
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
const transformedValue = transformer(value.origin_value.value, options);
|
|
295
|
+
if (!transformedValue) {
|
|
296
|
+
return null;
|
|
297
|
+
}
|
|
298
|
+
const [key] = Object.keys(transformedValue);
|
|
299
|
+
return {
|
|
300
|
+
[key]: overrideValue
|
|
301
|
+
};
|
|
302
|
+
}
|
|
303
|
+
function isOriginValueOverride(originValue) {
|
|
304
|
+
return originValue.$$type === "override";
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
// src/component-override-transformer.ts
|
|
308
|
+
import { createTransformer as createTransformer3 } from "@elementor/editor-canvas";
|
|
309
|
+
var componentOverrideTransformer = createTransformer3((override) => {
|
|
310
|
+
const { override_key: key, override_value: overrideValue } = override;
|
|
311
|
+
return { [key]: overrideValue };
|
|
264
312
|
});
|
|
265
313
|
|
|
266
314
|
// src/components/component-panel-header/component-panel-header.tsx
|
|
@@ -572,9 +620,10 @@ function createComponentView(options) {
|
|
|
572
620
|
return currentDocument?.id === this.getComponentId();
|
|
573
621
|
}
|
|
574
622
|
afterSettingsResolve(settings) {
|
|
575
|
-
|
|
623
|
+
const componentInstance = settings.component_instance;
|
|
624
|
+
if (componentInstance) {
|
|
576
625
|
this.collection = this.legacyWindow.elementor.createBackboneElementsCollection(
|
|
577
|
-
|
|
626
|
+
componentInstance.elements
|
|
578
627
|
);
|
|
579
628
|
this.collection.models.forEach(setInactiveRecursively);
|
|
580
629
|
settings.component_instance = "<template data-children-placeholder></template>";
|
|
@@ -2863,8 +2912,9 @@ function init() {
|
|
|
2863
2912
|
condition: (_, elementType) => elementType.key === "e-component",
|
|
2864
2913
|
component: InstanceEditingPanel
|
|
2865
2914
|
});
|
|
2866
|
-
|
|
2867
|
-
|
|
2915
|
+
settingsTransformersRegistry2.register("component-instance", componentInstanceTransformer);
|
|
2916
|
+
settingsTransformersRegistry2.register("overridable", componentOverridableTransformer);
|
|
2917
|
+
settingsTransformersRegistry2.register("override", componentOverrideTransformer);
|
|
2868
2918
|
initMcp();
|
|
2869
2919
|
}
|
|
2870
2920
|
export {
|