@elementor/editor-components 3.35.0-493 → 3.35.0

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
@@ -15,7 +15,7 @@ import {
15
15
  import { injectTab } from "@elementor/editor-elements-panel";
16
16
  import { __registerPanel as registerPanel } from "@elementor/editor-panels";
17
17
  import { stylesRepository } from "@elementor/editor-styles-repository";
18
- import { registerDataHook as registerDataHook6 } from "@elementor/editor-v1-adapters";
18
+ import { registerDataHook as registerDataHook5 } from "@elementor/editor-v1-adapters";
19
19
  import { __registerSlice as registerSlice } from "@elementor/store";
20
20
  import { __ as __31 } from "@wordpress/i18n";
21
21
 
@@ -290,10 +290,6 @@ var getComponentDocumentData = async (id2) => {
290
290
  return null;
291
291
  }
292
292
  };
293
- var invalidateComponentDocumentData = (id2) => {
294
- const documentManager = getV1DocumentsManager();
295
- documentManager.invalidateCache(id2);
296
- };
297
293
 
298
294
  // src/component-instance-transformer.ts
299
295
  var componentInstanceTransformer = createTransformer(
@@ -379,8 +375,8 @@ import { getV1DocumentsManager as getV1DocumentsManager2 } from "@elementor/edit
379
375
  import { __useSelector as useSelector2 } from "@elementor/store";
380
376
 
381
377
  // src/utils/switch-to-component.ts
378
+ import { invalidateDocumentData, switchToDocument } from "@elementor/editor-documents";
382
379
  import { getCurrentDocumentContainer, selectElement } from "@elementor/editor-elements";
383
- import { __privateRunCommand as runCommand2 } from "@elementor/editor-v1-adapters";
384
380
 
385
381
  // src/utils/expand-navigator.ts
386
382
  import { __privateRunCommand as runCommand } from "@elementor/editor-v1-adapters";
@@ -391,8 +387,8 @@ async function expandNavigator() {
391
387
  // src/utils/switch-to-component.ts
392
388
  async function switchToComponent(componentId, componentInstanceId, element) {
393
389
  const selector = getSelector(element, componentInstanceId);
394
- await runCommand2("editor/documents/switch", {
395
- id: componentId,
390
+ invalidateDocumentData(componentId);
391
+ await switchToDocument(componentId, {
396
392
  selector,
397
393
  mode: "autosave",
398
394
  setAsInitial: false,
@@ -3131,7 +3127,7 @@ function findNonAtomicElementsInElement(element) {
3131
3127
 
3132
3128
  // src/store/actions/create-unpublished-component.ts
3133
3129
  import { createElements, deleteElement, getContainer as getContainer3 } from "@elementor/editor-elements";
3134
- import { __privateRunCommand as runCommand3 } from "@elementor/editor-v1-adapters";
3130
+ import { __privateRunCommand as runCommand2 } from "@elementor/editor-v1-adapters";
3135
3131
  import { __dispatch as dispatch12 } from "@elementor/store";
3136
3132
  import { generateUniqueId as generateUniqueId3 } from "@elementor/utils";
3137
3133
  import { __ as __22 } from "@wordpress/i18n";
@@ -3170,7 +3166,7 @@ async function createUnpublishedComponent({
3170
3166
  ...eventData
3171
3167
  });
3172
3168
  try {
3173
- await runCommand3("document/save/auto");
3169
+ await runCommand2("document/save/auto");
3174
3170
  } catch (error) {
3175
3171
  restoreOriginalElement(originalElement, componentInstance.id);
3176
3172
  dispatch12(slice.actions.removeUnpublished(generatedUid));
@@ -3839,6 +3835,7 @@ import {
3839
3835
  createTopLevelObjectType,
3840
3836
  ElementProvider as ElementProvider2,
3841
3837
  getControlReplacements,
3838
+ isDynamicPropValue,
3842
3839
  SettingsField,
3843
3840
  useElement as useElement2
3844
3841
  } from "@elementor/editor-editing-panel";
@@ -3961,12 +3958,10 @@ var getPropTypeForComponentOverride = (overridableProp) => {
3961
3958
  if (overridableProp.originPropFields) {
3962
3959
  return getPropType(overridableProp.originPropFields);
3963
3960
  }
3964
- const { elType, widgetType, propKey, elementId } = overridableProp;
3961
+ const { widgetType, propKey } = overridableProp;
3965
3962
  return getPropType({
3966
- elType,
3967
3963
  widgetType,
3968
- propKey,
3969
- elementId
3964
+ propKey
3970
3965
  });
3971
3966
  };
3972
3967
  function getPropType({ widgetType, propKey }) {
@@ -3989,6 +3984,92 @@ var OverrideControlInnerElementNotFoundError = createError({
3989
3984
  message: `Component inner element not found for override control. The element may have been deleted without updating the overridable props, or the component has not finished rendering yet.`
3990
3985
  });
3991
3986
 
3987
+ // src/components/instance-editing-panel/use-resolved-origin-value.tsx
3988
+ import { __useSelector as useSelector6 } from "@elementor/store";
3989
+ function useResolvedOriginValue(override, overridableProp) {
3990
+ const components = useSelector6(selectData);
3991
+ return resolveOriginValue(components, override, overridableProp);
3992
+ }
3993
+ function resolveOriginValue(components, matchingOverride, overridableProp) {
3994
+ const { originValue: fallbackOriginValue, originPropFields } = overridableProp;
3995
+ if (hasValue(fallbackOriginValue)) {
3996
+ return fallbackOriginValue;
3997
+ }
3998
+ if (matchingOverride) {
3999
+ const result = getOriginFromOverride(components, matchingOverride);
4000
+ if (hasValue(result)) {
4001
+ return result;
4002
+ }
4003
+ }
4004
+ const { elementId, propKey } = originPropFields ?? {};
4005
+ if (elementId && propKey) {
4006
+ return findOriginValueByElementId(components, elementId, propKey);
4007
+ }
4008
+ return null;
4009
+ }
4010
+ function getOriginFromOverride(components, override) {
4011
+ const overridableValue = componentOverridablePropTypeUtil.extract(override);
4012
+ const innerOverride = overridableValue ? componentInstanceOverridePropTypeUtil.extract(overridableValue.origin_value) : componentInstanceOverridePropTypeUtil.extract(override);
4013
+ if (!innerOverride) {
4014
+ return null;
4015
+ }
4016
+ const { schema_source: schemaSource, override_key: overrideKey, override_value: overrideValue } = innerOverride;
4017
+ const componentId = schemaSource?.id;
4018
+ if (!componentId || !overrideKey) {
4019
+ return null;
4020
+ }
4021
+ const prop = getOverridableProp(components, componentId, overrideKey);
4022
+ if (hasValue(prop?.originValue)) {
4023
+ return prop.originValue;
4024
+ }
4025
+ if (prop?.originPropFields?.elementId) {
4026
+ const targetPropKey = prop.originPropFields.propKey ?? prop.propKey;
4027
+ const result = findOriginValueByElementId(components, prop.originPropFields.elementId, targetPropKey);
4028
+ if (hasValue(result)) {
4029
+ return result;
4030
+ }
4031
+ }
4032
+ const nestedOverridable = componentOverridablePropTypeUtil.extract(overrideValue);
4033
+ if (nestedOverridable) {
4034
+ return getOriginFromOverride(components, componentOverridablePropTypeUtil.create(nestedOverridable));
4035
+ }
4036
+ return null;
4037
+ }
4038
+ function findOriginValueByElementId(components, targetElementId, targetPropKey, visited = /* @__PURE__ */ new Set()) {
4039
+ for (const component of components) {
4040
+ if (visited.has(component.id)) {
4041
+ continue;
4042
+ }
4043
+ visited.add(component.id);
4044
+ const matchingProp = Object.values(component.overridableProps?.props ?? {}).find(
4045
+ ({ elementId, propKey }) => elementId === targetElementId && propKey === targetPropKey
4046
+ );
4047
+ if (!matchingProp) {
4048
+ continue;
4049
+ }
4050
+ if (hasValue(matchingProp.originValue)) {
4051
+ return matchingProp.originValue;
4052
+ }
4053
+ if (matchingProp.originPropFields?.elementId) {
4054
+ const innerPropKey = matchingProp.originPropFields.propKey ?? targetPropKey;
4055
+ return findOriginValueByElementId(
4056
+ components,
4057
+ matchingProp.originPropFields.elementId,
4058
+ innerPropKey,
4059
+ visited
4060
+ );
4061
+ }
4062
+ }
4063
+ return null;
4064
+ }
4065
+ function hasValue(value) {
4066
+ return value !== null && value !== void 0;
4067
+ }
4068
+ function getOverridableProp(components, componentId, overrideKey) {
4069
+ const component = components.find(({ id: id2 }) => id2 === componentId);
4070
+ return component?.overridableProps?.props?.[overrideKey];
4071
+ }
4072
+
3992
4073
  // src/components/instance-editing-panel/override-prop-control.tsx
3993
4074
  function OverridePropControl({ overridableProp, overrides }) {
3994
4075
  return /* @__PURE__ */ React26.createElement(SettingsField, { bind: "component_instance", propDisplayName: overridableProp.label }, /* @__PURE__ */ React26.createElement(OverrideControl, { overridableProp, overrides }));
@@ -4001,26 +4082,27 @@ function OverrideControl({ overridableProp, overrides }) {
4001
4082
  overridableProp?.originPropFields?.widgetType ?? overridableProp.widgetType
4002
4083
  );
4003
4084
  const controlReplacements = getControlReplacements();
4085
+ const matchingOverride = getMatchingOverride(overrides, overridableProp.overrideKey);
4086
+ const recursiveOriginValue = useResolvedOriginValue(matchingOverride, overridableProp);
4004
4087
  const propType = getPropTypeForComponentOverride(overridableProp);
4005
4088
  if (!propType) {
4006
4089
  return null;
4007
4090
  }
4008
- const propTypeSchema = createTopLevelObjectType({
4009
- schema: {
4010
- [overridableProp.overrideKey]: propType
4011
- }
4012
- });
4013
4091
  const componentInstanceId = instanceValue.component_id?.value;
4014
4092
  if (!componentInstanceId) {
4015
4093
  throw new Error("Component ID is required");
4016
4094
  }
4017
- const matchingOverride = getMatchingOverride(overrides, overridableProp.overrideKey);
4018
- const propValue = matchingOverride ? resolveOverridePropValue(matchingOverride) : overridableProp.originValue;
4095
+ const resolvedOverrideValue = matchingOverride ? resolveOverridePropValue(matchingOverride) : null;
4096
+ const propValue = resolvedOverrideValue ?? recursiveOriginValue ?? overridableProp.originValue;
4019
4097
  const value = {
4020
4098
  [overridableProp.overrideKey]: propValue
4021
4099
  };
4022
4100
  const setValue = (newValue) => {
4023
- const newPropValue = newValue[overridableProp.overrideKey];
4101
+ const newPropValue = getTempNewValueForDynamicProp(
4102
+ propType,
4103
+ propValue,
4104
+ newValue[overridableProp.overrideKey]
4105
+ );
4024
4106
  const newOverrideValue = createOverrideValue({
4025
4107
  matchingOverride,
4026
4108
  overrideKey: overridableProp.overrideKey,
@@ -4062,6 +4144,11 @@ function OverrideControl({ overridableProp, overrides }) {
4062
4144
  if (!elementType) {
4063
4145
  return null;
4064
4146
  }
4147
+ const propTypeSchema = createTopLevelObjectType({
4148
+ schema: {
4149
+ [overridableProp.overrideKey]: propType
4150
+ }
4151
+ });
4065
4152
  return /* @__PURE__ */ React26.createElement(
4066
4153
  OverridablePropProvider,
4067
4154
  {
@@ -4082,8 +4169,15 @@ function OverrideControl({ overridableProp, overrides }) {
4082
4169
  )))
4083
4170
  );
4084
4171
  }
4172
+ function getTempNewValueForDynamicProp(propType, propValue, newPropValue) {
4173
+ const isRemovingOverride = newPropValue === null;
4174
+ if (isRemovingOverride && isDynamicPropValue(propValue)) {
4175
+ return propType.default ?? null;
4176
+ }
4177
+ return newPropValue;
4178
+ }
4085
4179
  function getMatchingOverride(overrides, overrideKey) {
4086
- return overrides?.find((override) => {
4180
+ const result = overrides?.find((override) => {
4087
4181
  const overridableValue = componentOverridablePropTypeUtil.extract(override);
4088
4182
  let comparedOverrideKey = null;
4089
4183
  if (overridableValue) {
@@ -4093,6 +4187,7 @@ function getMatchingOverride(overrides, overrideKey) {
4093
4187
  }
4094
4188
  return comparedOverrideKey === overrideKey;
4095
4189
  }) ?? null;
4190
+ return result;
4096
4191
  }
4097
4192
  function createOverrideValue({
4098
4193
  matchingOverride,
@@ -4219,7 +4314,7 @@ function InstanceEditingPanel() {
4219
4314
  const isNonEmptyGroup = (group) => group !== null && group.props.length > 0;
4220
4315
  const groups = overridableProps.groups.order.map((groupId) => overridableProps.groups.items[groupId] ?? null).filter(isNonEmptyGroup);
4221
4316
  const isEmpty = groups.length === 0 || Object.keys(overridableProps.props).length === 0;
4222
- return /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(PanelHeader3, { sx: { justifyContent: "start", px: 2 } }, /* @__PURE__ */ React28.createElement(Stack16, { direction: "row", alignItems: "center", flexGrow: 1, gap: 1, maxWidth: "100%" }, /* @__PURE__ */ React28.createElement(ComponentsIcon4, { fontSize: "small", sx: { color: "text.tertiary" } }), /* @__PURE__ */ React28.createElement(EllipsisWithTooltip4, { title: component.name, as: PanelHeaderTitle2, sx: { flexGrow: 1 } }), canEdit && /* @__PURE__ */ React28.createElement(Tooltip5, { title: panelTitle }, /* @__PURE__ */ React28.createElement(IconButton6, { size: "tiny", onClick: handleEditComponent, "aria-label": panelTitle }, /* @__PURE__ */ React28.createElement(PencilIcon2, { fontSize: "tiny" }))))), /* @__PURE__ */ React28.createElement(PanelBody2, null, /* @__PURE__ */ React28.createElement(ControlAdornmentsProvider, { items: getFieldIndicators("settings") }, isEmpty ? /* @__PURE__ */ React28.createElement(EmptyState2, { onEditComponent: handleEditComponent }) : /* @__PURE__ */ React28.createElement(Stack16, { direction: "column", alignItems: "stretch" }, groups.map((group) => /* @__PURE__ */ React28.createElement(React28.Fragment, { key: group.id }, /* @__PURE__ */ React28.createElement(
4317
+ return /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(PanelHeader3, { sx: { justifyContent: "start", px: 2 } }, /* @__PURE__ */ React28.createElement(Stack16, { direction: "row", alignItems: "center", flexGrow: 1, gap: 1, maxWidth: "100%" }, /* @__PURE__ */ React28.createElement(ComponentsIcon4, { fontSize: "small", sx: { color: "text.tertiary" } }), /* @__PURE__ */ React28.createElement(EllipsisWithTooltip4, { title: component.name, as: PanelHeaderTitle2, sx: { flexGrow: 1 } }), canEdit && /* @__PURE__ */ React28.createElement(Tooltip5, { title: panelTitle }, /* @__PURE__ */ React28.createElement(IconButton6, { size: "tiny", onClick: handleEditComponent, "aria-label": panelTitle }, /* @__PURE__ */ React28.createElement(PencilIcon2, { fontSize: "tiny" }))))), /* @__PURE__ */ React28.createElement(PanelBody2, null, /* @__PURE__ */ React28.createElement(ControlAdornmentsProvider, { items: getFieldIndicators("settings") }, isEmpty ? /* @__PURE__ */ React28.createElement(EmptyState2, { onEditComponent: handleEditComponent }) : /* @__PURE__ */ React28.createElement(Stack16, { direction: "column", alignItems: "stretch" }, groups.map((group) => /* @__PURE__ */ React28.createElement(React28.Fragment, { key: group.id + componentInstanceId }, /* @__PURE__ */ React28.createElement(
4223
4318
  OverridePropsGroup,
4224
4319
  {
4225
4320
  group,
@@ -4465,7 +4560,7 @@ var Indicator2 = forwardRef2(({ isOpen, isOverridable, ...props }, ref) => /* @_
4465
4560
 
4466
4561
  // src/components/overridable-props/utils/get-overridable-prop.ts
4467
4562
  import { __getState as getState18 } from "@elementor/store";
4468
- function getOverridableProp({
4563
+ function getOverridableProp2({
4469
4564
  componentId,
4470
4565
  overrideKey
4471
4566
  }) {
@@ -4529,7 +4624,7 @@ function Content2({ componentId, overridableProps }) {
4529
4624
  }
4530
4625
  popupState.close();
4531
4626
  };
4532
- const overridableConfig = overridableValue ? getOverridableProp({ componentId, overrideKey: overridableValue.override_key }) : void 0;
4627
+ const overridableConfig = overridableValue ? getOverridableProp2({ componentId, overrideKey: overridableValue.override_key }) : void 0;
4533
4628
  return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(Tooltip6, { placement: "top", title: __29("Override Property", "elementor") }, /* @__PURE__ */ React31.createElement(Indicator2, { ...triggerProps, isOpen: !!popoverProps.open, isOverridable: !!overridableValue })), /* @__PURE__ */ React31.createElement(
4534
4629
  Popover4,
4535
4630
  {
@@ -5159,7 +5254,7 @@ function updateElementComponentId(elementId, componentId) {
5159
5254
  }
5160
5255
 
5161
5256
  // src/sync/publish-draft-components-in-page-before-save.ts
5162
- import { isDocumentDirty as isDocumentDirty2 } from "@elementor/editor-documents";
5257
+ import { invalidateDocumentData as invalidateDocumentData2, isDocumentDirty as isDocumentDirty2 } from "@elementor/editor-documents";
5163
5258
  async function publishDraftComponentsInPageBeforeSave({ status, elements }) {
5164
5259
  if (status !== "publish") {
5165
5260
  return;
@@ -5170,7 +5265,7 @@ async function publishDraftComponentsInPageBeforeSave({ status, elements }) {
5170
5265
  return;
5171
5266
  }
5172
5267
  await apiClient.updateStatuses(draftIds, "publish");
5173
- draftIds.forEach((id2) => invalidateComponentDocumentData(id2));
5268
+ draftIds.forEach((id2) => invalidateDocumentData2(id2));
5174
5269
  }
5175
5270
 
5176
5271
  // src/sync/set-component-overridable-props-settings-before-save.ts
@@ -5388,95 +5483,16 @@ function load(result) {
5388
5483
  loadComponentsAssets(containers.map((container) => container.model.toJSON()));
5389
5484
  }
5390
5485
 
5391
- // src/sync/regenerate-override-keys.ts
5392
- import { getAllDescendants as getAllDescendants6, getContainer as getContainer6, updateElementSettings as updateElementSettings3 } from "@elementor/editor-elements";
5393
- import { registerDataHook as registerDataHook4 } from "@elementor/editor-v1-adapters";
5394
- import { generateUniqueId as generateUniqueId6 } from "@elementor/utils";
5395
- function initRegenerateOverrideKeys() {
5396
- registerDataHook4("after", "document/elements/duplicate", (_args, result) => {
5397
- regenerateOverrideKeysForContainers(result);
5398
- });
5399
- registerDataHook4("after", "document/elements/paste", (_args, result) => {
5400
- regenerateOverrideKeysForContainers(result);
5401
- });
5402
- registerDataHook4("after", "document/elements/import", (_args, result) => {
5403
- regenerateOverrideKeysForContainers(result);
5404
- });
5405
- }
5406
- function regenerateOverrideKeysForContainers(result) {
5407
- const containers = Array.isArray(result) ? result : [result];
5408
- containers.forEach((container) => {
5409
- regenerateOverrideKeysRecursive(container.id);
5410
- });
5411
- }
5412
- function regenerateOverrideKeysRecursive(elementId) {
5413
- const container = getContainer6(elementId);
5414
- if (!container) {
5415
- return;
5416
- }
5417
- getAllDescendants6(container).forEach(regenerateOverrideKeys);
5418
- }
5419
- function regenerateOverrideKeys(element) {
5420
- if (!isComponentInstance(element.model.toJSON())) {
5421
- return;
5422
- }
5423
- const settings = element.settings?.toJSON() ?? {};
5424
- if (!hasOverrides(settings)) {
5425
- return;
5426
- }
5427
- const componentInstance = settings.component_instance;
5428
- const overrides = componentInstance.value.overrides;
5429
- const newOverrides = overrides.value.map((override) => {
5430
- if (!componentInstanceOverridePropTypeUtil.isValid(override)) {
5431
- return override;
5432
- }
5433
- return {
5434
- ...override,
5435
- value: {
5436
- ...override.value,
5437
- override_key: generateUniqueId6("prop")
5438
- }
5439
- };
5440
- });
5441
- const newComponentInstance = {
5442
- ...componentInstance,
5443
- value: {
5444
- ...componentInstance.value,
5445
- overrides: {
5446
- ...overrides,
5447
- value: newOverrides
5448
- }
5449
- }
5450
- };
5451
- updateElementSettings3({
5452
- id: element.id,
5453
- props: { component_instance: newComponentInstance },
5454
- withHistory: false
5455
- });
5456
- }
5457
- function hasOverrides(settings) {
5458
- if (!componentInstancePropTypeUtil.isValid(settings?.component_instance)) {
5459
- return false;
5460
- }
5461
- const componentInstance = componentInstancePropTypeUtil.extract(settings?.component_instance);
5462
- const overrides = componentInstance?.overrides;
5463
- if (!componentInstanceOverridesPropTypeUtil.isValid(overrides)) {
5464
- return false;
5465
- }
5466
- const overridesValue = overrides?.value;
5467
- return !!overridesValue?.length;
5468
- }
5469
-
5470
5486
  // src/sync/revert-overridables-on-copy-or-duplicate.ts
5471
- import { registerDataHook as registerDataHook5 } from "@elementor/editor-v1-adapters";
5487
+ import { registerDataHook as registerDataHook4 } from "@elementor/editor-v1-adapters";
5472
5488
  function initRevertOverridablesOnCopyOrDuplicate() {
5473
- registerDataHook5("after", "document/elements/duplicate", (_args, result) => {
5489
+ registerDataHook4("after", "document/elements/duplicate", (_args, result) => {
5474
5490
  if (!isEditingComponent()) {
5475
5491
  return;
5476
5492
  }
5477
5493
  revertOverridablesForDuplicatedElements(result);
5478
5494
  });
5479
- registerDataHook5("after", "document/elements/copy", (args) => {
5495
+ registerDataHook4("after", "document/elements/copy", (args) => {
5480
5496
  if (!isEditingComponent()) {
5481
5497
  return;
5482
5498
  }
@@ -5514,14 +5530,14 @@ function init() {
5514
5530
  COMPONENT_WIDGET_TYPE,
5515
5531
  (options) => createComponentType({ ...options, showLockedByModal: openEditModeDialog })
5516
5532
  );
5517
- registerDataHook6("dependency", "editor/documents/close", (args) => {
5533
+ registerDataHook5("dependency", "editor/documents/close", (args) => {
5518
5534
  const document = getV1CurrentDocument();
5519
5535
  if (document.config.type === COMPONENT_DOCUMENT_TYPE) {
5520
5536
  args.mode = "autosave";
5521
5537
  }
5522
5538
  return true;
5523
5539
  });
5524
- registerDataHook6("after", "preview/drop", onElementDrop);
5540
+ registerDataHook5("after", "preview/drop", onElementDrop);
5525
5541
  window.elementorCommon.__beforeSave = beforeSave;
5526
5542
  injectTab({
5527
5543
  id: "components",
@@ -5545,7 +5561,7 @@ function init() {
5545
5561
  id: "component-panel-header",
5546
5562
  component: ComponentPanelHeader
5547
5563
  });
5548
- registerDataHook6("after", "editor/documents/attach-preview", async () => {
5564
+ registerDataHook5("after", "editor/documents/attach-preview", async () => {
5549
5565
  const { id: id2, config } = getV1CurrentDocument();
5550
5566
  if (id2) {
5551
5567
  removeComponentStyles(id2);
@@ -5571,7 +5587,6 @@ function init() {
5571
5587
  settingsTransformersRegistry2.register("component-instance", componentInstanceTransformer);
5572
5588
  settingsTransformersRegistry2.register("overridable", componentOverridableTransformer);
5573
5589
  settingsTransformersRegistry2.register("override", componentOverrideTransformer);
5574
- initRegenerateOverrideKeys();
5575
5590
  initCleanupOverridablePropsOnDelete();
5576
5591
  initMcp();
5577
5592
  initCircularNestingPrevention();