@elementor/editor-components 4.2.0-915 → 4.2.0-917

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 CHANGED
@@ -88,7 +88,7 @@ module.exports = __toCommonJS(index_exports);
88
88
 
89
89
  // src/init.ts
90
90
  var import_editor = require("@elementor/editor");
91
- var import_editor_canvas5 = require("@elementor/editor-canvas");
91
+ var import_editor_canvas6 = require("@elementor/editor-canvas");
92
92
  var import_editor_documents6 = require("@elementor/editor-documents");
93
93
  var import_editor_editing_panel7 = require("@elementor/editor-editing-panel");
94
94
  var import_editor_elements_panel = require("@elementor/editor-elements-panel");
@@ -1142,6 +1142,7 @@ var import_icons9 = require("@elementor/icons");
1142
1142
  var import_i18n10 = require("@wordpress/i18n");
1143
1143
 
1144
1144
  // src/utils/detach-component-instance/detach-component-instance.ts
1145
+ var import_editor_canvas4 = require("@elementor/editor-canvas");
1145
1146
  var import_editor_elements3 = require("@elementor/editor-elements");
1146
1147
  var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
1147
1148
  var import_store10 = require("@elementor/store");
@@ -1340,7 +1341,7 @@ function resolvePropValue(propValue, overrideMap, options) {
1340
1341
  return resolveOverridableOverride(matchingOverride, originValue);
1341
1342
  }
1342
1343
  const matchingOverrideValue = componentInstanceOverridePropTypeUtil.extract(matchingOverride)?.override_value;
1343
- return matchingOverrideValue;
1344
+ return matchingOverrideValue ?? originValue;
1344
1345
  }
1345
1346
  function resolveOverridableOverride(matchingOverride, originValue) {
1346
1347
  if (!originValue || !componentInstanceOverridePropTypeUtil.isValid(originValue)) {
@@ -1403,6 +1404,9 @@ function getOverridableOverride(propValue) {
1403
1404
  }
1404
1405
 
1405
1406
  // src/utils/detach-component-instance/detach-component-instance.ts
1407
+ var DETACH_EVENT = "elementor/components/detach-instance";
1408
+ var DETACH_UNDO_EVENT = "elementor/components/undo-detach-instance";
1409
+ var DETACH_REDO_EVENT = "elementor/components/redo-detach-instance";
1406
1410
  async function detachComponentInstance({
1407
1411
  instanceId,
1408
1412
  componentId,
@@ -1428,14 +1432,22 @@ async function detachComponentInstance({
1428
1432
  rootElement,
1429
1433
  overrides
1430
1434
  );
1431
- const editedComponentOnDetach = selectCurrentComponentId((0, import_store10.__getState)());
1432
- const overridablePropsBeforeDetach = editedComponentOnDetach ? selectOverridableProps((0, import_store10.__getState)(), editedComponentOnDetach) ?? null : null;
1433
1435
  const originalInstanceModel = instanceContainer.model.toJSON();
1436
+ const actionId = (/* @__PURE__ */ new Date()).getTime();
1437
+ window.dispatchEvent(
1438
+ new CustomEvent(DETACH_EVENT, {
1439
+ detail: {
1440
+ detachedInstanceId: instanceId,
1441
+ detachActionId: actionId
1442
+ }
1443
+ })
1444
+ );
1434
1445
  const detachedElement = (0, import_editor_elements3.replaceElement)({
1435
1446
  currentElementId: instanceId,
1436
1447
  newElement: detachedInstanceElementData,
1437
1448
  withHistory: false
1438
1449
  });
1450
+ (0, import_editor_elements3.selectElement)(detachedElement.id);
1439
1451
  const componentUid = selectComponent((0, import_store10.__getState)(), componentId)?.uid;
1440
1452
  trackComponentEvent({
1441
1453
  action: "detached",
@@ -1449,47 +1461,48 @@ async function detachComponentInstance({
1449
1461
  return {
1450
1462
  detachedElement,
1451
1463
  detachedInstanceElementData,
1452
- editedComponentOnDetach,
1453
- overridablePropsBeforeDetach,
1454
- originalInstanceModel
1464
+ originalInstanceModel,
1465
+ actionId
1455
1466
  };
1456
1467
  },
1457
- undo: (_, {
1458
- detachedElement,
1459
- originalInstanceModel,
1460
- overridablePropsBeforeDetach,
1461
- editedComponentOnDetach
1462
- }) => {
1468
+ undo: (_, { detachedElement, originalInstanceModel, actionId }) => {
1463
1469
  const restoredInstance = (0, import_editor_elements3.replaceElement)({
1464
1470
  currentElementId: detachedElement.id,
1465
1471
  newElement: originalInstanceModel,
1466
1472
  withHistory: false
1467
1473
  });
1468
- const currentComponentId = selectCurrentComponentId((0, import_store10.__getState)());
1469
- if (currentComponentId && currentComponentId === editedComponentOnDetach && overridablePropsBeforeDetach) {
1470
- (0, import_store10.__dispatch)(
1471
- slice.actions.setOverridableProps({
1472
- componentId: currentComponentId,
1473
- overridableProps: overridablePropsBeforeDetach
1474
- })
1475
- );
1476
- }
1474
+ window.dispatchEvent(
1475
+ new CustomEvent(DETACH_UNDO_EVENT, {
1476
+ detail: {
1477
+ restoredInstanceId: restoredInstance.id,
1478
+ detachActionId: actionId
1479
+ }
1480
+ })
1481
+ );
1482
+ (0, import_editor_canvas4.doAfterRender)([restoredInstance.id], () => {
1483
+ (0, import_editor_elements3.selectElement)(restoredInstance.id);
1484
+ });
1477
1485
  return restoredInstance;
1478
1486
  },
1479
1487
  redo: (_, doReturn, restoredInstance) => {
1480
- const { detachedInstanceElementData } = doReturn;
1481
- const editedComponentOnDetach = selectCurrentComponentId((0, import_store10.__getState)());
1482
- const overridablePropsBeforeDetach = editedComponentOnDetach ? selectOverridableProps((0, import_store10.__getState)(), editedComponentOnDetach) ?? null : null;
1488
+ const { detachedInstanceElementData, actionId } = doReturn;
1483
1489
  const detachedElement = (0, import_editor_elements3.replaceElement)({
1484
1490
  currentElementId: restoredInstance.id,
1485
1491
  newElement: detachedInstanceElementData,
1486
1492
  withHistory: false
1487
1493
  });
1494
+ window.dispatchEvent(
1495
+ new CustomEvent(DETACH_REDO_EVENT, {
1496
+ detail: {
1497
+ detachedInstanceId: detachedElement.id,
1498
+ detachActionId: actionId
1499
+ }
1500
+ })
1501
+ );
1502
+ (0, import_editor_elements3.selectElement)(detachedElement.id);
1488
1503
  return {
1489
1504
  ...doReturn,
1490
- detachedElement,
1491
- editedComponentOnDetach,
1492
- overridablePropsBeforeDetach
1505
+ detachedElement
1493
1506
  };
1494
1507
  }
1495
1508
  },
@@ -2681,7 +2694,7 @@ function LoadTemplateComponentsInternal() {
2681
2694
  }
2682
2695
 
2683
2696
  // src/create-component-type.ts
2684
- var import_editor_canvas4 = require("@elementor/editor-canvas");
2697
+ var import_editor_canvas5 = require("@elementor/editor-canvas");
2685
2698
  var import_editor_documents4 = require("@elementor/editor-documents");
2686
2699
  var import_editor_notifications2 = require("@elementor/editor-notifications");
2687
2700
  var import_store25 = require("@elementor/store");
@@ -2832,7 +2845,7 @@ function createComponentType(options) {
2832
2845
  }
2833
2846
  function createComponentView(options) {
2834
2847
  const legacyWindow = window;
2835
- return class extends (0, import_editor_canvas4.createTemplatedElementView)(options) {
2848
+ return class extends (0, import_editor_canvas5.createTemplatedElementView)(options) {
2836
2849
  eventsManagerConfig = legacyWindow.elementorCommon.eventsManager.config;
2837
2850
  #componentRenderContext;
2838
2851
  isComponentCurrentlyEdited() {
@@ -3332,7 +3345,7 @@ function load(result) {
3332
3345
  function init() {
3333
3346
  import_editor_styles_repository2.stylesRepository.register(componentsStylesProvider);
3334
3347
  (0, import_store34.__registerSlice)(slice);
3335
- (0, import_editor_canvas5.registerElementType)(
3348
+ (0, import_editor_canvas6.registerElementType)(
3336
3349
  COMPONENT_WIDGET_TYPE2,
3337
3350
  (options) => createComponentType({
3338
3351
  ...options,
@@ -3367,9 +3380,9 @@ function init() {
3367
3380
  condition: (_, elementType) => elementType.key === "e-component",
3368
3381
  component: InstanceEditingPanel
3369
3382
  });
3370
- import_editor_canvas5.settingsTransformersRegistry.register("component-instance", componentInstanceTransformer);
3371
- import_editor_canvas5.settingsTransformersRegistry.register("overridable", componentOverridableTransformer);
3372
- import_editor_canvas5.settingsTransformersRegistry.register("override", componentOverrideTransformer);
3383
+ import_editor_canvas6.settingsTransformersRegistry.register("component-instance", componentInstanceTransformer);
3384
+ import_editor_canvas6.settingsTransformersRegistry.register("overridable", componentOverridableTransformer);
3385
+ import_editor_canvas6.settingsTransformersRegistry.register("override", componentOverrideTransformer);
3373
3386
  initCircularNestingPrevention();
3374
3387
  initLoadComponentDataAfterInstanceAdded();
3375
3388
  }