@elementor/editor-components 3.35.0-357 → 3.35.0-359

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.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 ({ component_id: id }) => {
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 structuredClone(unpublishedComponent.elements);
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 found.`);
263
+ throw new Error(`Component ID "${id}" not valid.`);
254
264
  }
255
265
  const data = await getComponentDocumentData(id);
256
- return data?.elements ?? [];
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((value) => {
263
- return value.origin_value;
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
- if (settings.component_instance) {
623
+ const componentInstance = settings.component_instance;
624
+ if (componentInstance) {
576
625
  this.collection = this.legacyWindow.elementor.createBackboneElementsCollection(
577
- settings.component_instance
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
- settingsTransformersRegistry.register("component-instance", componentInstanceTransformer);
2867
- settingsTransformersRegistry.register("overridable", componentOverridableTransformer);
2915
+ settingsTransformersRegistry2.register("component-instance", componentInstanceTransformer);
2916
+ settingsTransformersRegistry2.register("overridable", componentOverridableTransformer);
2917
+ settingsTransformersRegistry2.register("override", componentOverrideTransformer);
2868
2918
  initMcp();
2869
2919
  }
2870
2920
  export {