@elementor/editor-components 3.35.4 → 3.35.6

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
@@ -572,6 +572,7 @@ var import_store11 = require("@elementor/store");
572
572
  var import_utils = require("@elementor/utils");
573
573
  var import_i18n = require("@wordpress/i18n");
574
574
  function removePropFromAllGroups(groups, propKey) {
575
+ const propKeys = Array.isArray(propKey) ? propKey : [propKey];
575
576
  return {
576
577
  ...groups,
577
578
  items: Object.fromEntries(
@@ -579,7 +580,7 @@ function removePropFromAllGroups(groups, propKey) {
579
580
  groupId,
580
581
  {
581
582
  ...group,
582
- props: group.props.filter((p) => p !== propKey)
583
+ props: group.props.filter((p) => !propKeys.includes(p))
583
584
  }
584
585
  ])
585
586
  )
@@ -1173,15 +1174,25 @@ function revertElementSettings(element) {
1173
1174
  // src/store/actions/delete-overridable-prop.ts
1174
1175
  function deleteOverridableProp({ componentId, propKey, source }) {
1175
1176
  const overridableProps = selectOverridableProps((0, import_store15.__getState)(), componentId);
1176
- if (!overridableProps) {
1177
+ if (!overridableProps || Object.keys(overridableProps.props).length === 0) {
1177
1178
  return;
1178
1179
  }
1179
- const prop = overridableProps.props[propKey];
1180
- if (!prop) {
1180
+ const propKeysToDelete = Array.isArray(propKey) ? propKey : [propKey];
1181
+ const deletedProps = [];
1182
+ for (const key of propKeysToDelete) {
1183
+ const prop = overridableProps.props[key];
1184
+ if (!prop) {
1185
+ continue;
1186
+ }
1187
+ deletedProps.push(prop);
1188
+ revertElementOverridableSetting(prop.elementId, prop.propKey, prop.originValue, key);
1189
+ }
1190
+ if (deletedProps.length === 0) {
1181
1191
  return;
1182
1192
  }
1183
- revertElementOverridableSetting(prop.elementId, prop.propKey, prop.originValue, propKey);
1184
- const { [propKey]: removedProp, ...remainingProps } = overridableProps.props;
1193
+ const remainingProps = Object.fromEntries(
1194
+ Object.entries(overridableProps.props).filter(([key]) => !propKeysToDelete.includes(key))
1195
+ );
1185
1196
  const updatedGroups = removePropFromAllGroups(overridableProps.groups, propKey);
1186
1197
  (0, import_store15.__dispatch)(
1187
1198
  slice.actions.setOverridableProps({
@@ -1194,15 +1205,17 @@ function deleteOverridableProp({ componentId, propKey, source }) {
1194
1205
  })
1195
1206
  );
1196
1207
  const currentComponent = selectCurrentComponent((0, import_store15.__getState)());
1197
- trackComponentEvent({
1198
- action: "propertyRemoved",
1199
- source,
1200
- component_uid: currentComponent?.uid,
1201
- property_id: removedProp.overrideKey,
1202
- property_path: removedProp.propKey,
1203
- property_name: removedProp.label,
1204
- element_type: removedProp.widgetType ?? removedProp.elType
1205
- });
1208
+ for (const prop of deletedProps) {
1209
+ trackComponentEvent({
1210
+ action: "propertyRemoved",
1211
+ source,
1212
+ component_uid: currentComponent?.uid,
1213
+ property_id: prop.overrideKey,
1214
+ property_path: prop.propKey,
1215
+ property_name: prop.label,
1216
+ element_type: prop.widgetType ?? prop.elType
1217
+ });
1218
+ }
1206
1219
  }
1207
1220
 
1208
1221
  // src/store/actions/reorder-group-props.ts
@@ -3448,12 +3461,12 @@ function updateCurrentComponent({
3448
3461
  path,
3449
3462
  currentComponentId
3450
3463
  }) {
3451
- const dispatch20 = (0, import_store49.__getStore)()?.dispatch;
3452
- if (!dispatch20) {
3464
+ const dispatch19 = (0, import_store49.__getStore)()?.dispatch;
3465
+ if (!dispatch19) {
3453
3466
  return;
3454
3467
  }
3455
- dispatch20(slice.actions.setPath(path));
3456
- dispatch20(slice.actions.setCurrentComponentId(currentComponentId));
3468
+ dispatch19(slice.actions.setPath(path));
3469
+ dispatch19(slice.actions.setCurrentComponentId(currentComponentId));
3457
3470
  }
3458
3471
 
3459
3472
  // src/components/edit-component/component-modal.tsx
@@ -4295,6 +4308,17 @@ function InstanceEditingPanel() {
4295
4308
  ), /* @__PURE__ */ React28.createElement(import_ui22.Divider, null)))))));
4296
4309
  }
4297
4310
 
4311
+ // src/components/load-template-components.tsx
4312
+ var import_react16 = require("react");
4313
+ var import_editor_templates = require("@elementor/editor-templates");
4314
+ var LoadTemplateComponents = () => {
4315
+ const templates = (0, import_editor_templates.useLoadedTemplates)();
4316
+ (0, import_react16.useEffect)(() => {
4317
+ loadComponentsAssets(templates.flatMap((elements) => elements ?? []));
4318
+ }, [templates]);
4319
+ return null;
4320
+ };
4321
+
4298
4322
  // src/components/overridable-props/overridable-prop-control.tsx
4299
4323
  var React29 = __toESM(require("react"));
4300
4324
  var import_editor_controls5 = require("@elementor/editor-controls");
@@ -4455,7 +4479,7 @@ function setOverridableProp({
4455
4479
 
4456
4480
  // src/components/overridable-props/indicator.tsx
4457
4481
  var React30 = __toESM(require("react"));
4458
- var import_react16 = require("react");
4482
+ var import_react17 = require("react");
4459
4483
  var import_icons15 = require("@elementor/icons");
4460
4484
  var import_ui23 = require("@elementor/ui");
4461
4485
  var import_i18n28 = require("@wordpress/i18n");
@@ -4514,7 +4538,7 @@ var Content = (0, import_ui23.styled)(import_ui23.Box)`
4514
4538
  }
4515
4539
  }
4516
4540
  `;
4517
- var Indicator2 = (0, import_react16.forwardRef)(({ isOpen, isOverridable, ...props }, ref) => /* @__PURE__ */ React30.createElement(Content, { ref, ...props, className: isOpen || isOverridable ? "enlarged" : "" }, /* @__PURE__ */ React30.createElement(
4541
+ var Indicator2 = (0, import_react17.forwardRef)(({ isOpen, isOverridable, ...props }, ref) => /* @__PURE__ */ React30.createElement(Content, { ref, ...props, className: isOpen || isOverridable ? "enlarged" : "" }, /* @__PURE__ */ React30.createElement(
4518
4542
  IconContainer,
4519
4543
  {
4520
4544
  className: "icon",
@@ -4968,10 +4992,10 @@ function initMcp() {
4968
4992
  }
4969
4993
 
4970
4994
  // src/populate-store.ts
4971
- var import_react17 = require("react");
4995
+ var import_react18 = require("react");
4972
4996
  var import_store65 = require("@elementor/store");
4973
4997
  function PopulateStore() {
4974
- (0, import_react17.useEffect)(() => {
4998
+ (0, import_react18.useEffect)(() => {
4975
4999
  (0, import_store65.__dispatch)(loadComponents());
4976
5000
  }, []);
4977
5001
  return null;
@@ -5311,7 +5335,10 @@ var import_editor_elements21 = require("@elementor/editor-elements");
5311
5335
  var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
5312
5336
  var import_store80 = require("@elementor/store");
5313
5337
  function initCleanupOverridablePropsOnDelete() {
5314
- (0, import_editor_v1_adapters8.registerDataHook)("dependency", "document/elements/delete", (args) => {
5338
+ (0, import_editor_v1_adapters8.registerDataHook)("dependency", "document/elements/delete", (args, options) => {
5339
+ if (isPartOfMoveCommand(options)) {
5340
+ return true;
5341
+ }
5315
5342
  const state = (0, import_store80.__getState)();
5316
5343
  if (!state) {
5317
5344
  return true;
@@ -5336,23 +5363,7 @@ function initCleanupOverridablePropsOnDelete() {
5336
5363
  if (propKeysToDelete.length === 0) {
5337
5364
  return true;
5338
5365
  }
5339
- const remainingProps = Object.fromEntries(
5340
- Object.entries(overridableProps.props).filter(([propKey]) => !propKeysToDelete.includes(propKey))
5341
- );
5342
- let updatedGroups = overridableProps.groups;
5343
- for (const propKey of propKeysToDelete) {
5344
- updatedGroups = removePropFromAllGroups(updatedGroups, propKey);
5345
- }
5346
- (0, import_store80.__dispatch)(
5347
- slice.actions.setOverridableProps({
5348
- componentId: currentComponentId,
5349
- overridableProps: {
5350
- ...overridableProps,
5351
- props: remainingProps,
5352
- groups: updatedGroups
5353
- }
5354
- })
5355
- );
5366
+ deleteOverridableProp({ componentId: currentComponentId, propKey: propKeysToDelete, source: "system" });
5356
5367
  return true;
5357
5368
  });
5358
5369
  }
@@ -5360,6 +5371,10 @@ function collectDeletedElementIds(containers) {
5360
5371
  const elementIds = containers.filter(Boolean).flatMap((container) => [container, ...(0, import_editor_elements21.getAllDescendants)(container)]).map((element) => element.model?.get?.("id") ?? element.id).filter((id2) => Boolean(id2));
5361
5372
  return elementIds;
5362
5373
  }
5374
+ function isPartOfMoveCommand(options) {
5375
+ const isMoveCommandInTrace = options?.commandsCurrentTrace?.includes("document/elements/move") || options?.commandsCurrentTrace?.includes("document/repeater/move");
5376
+ return Boolean(isMoveCommandInTrace);
5377
+ }
5363
5378
 
5364
5379
  // src/sync/handle-component-edit-mode-container.ts
5365
5380
  var import_editor_elements22 = require("@elementor/editor-elements");
@@ -5533,6 +5548,10 @@ function init() {
5533
5548
  }
5534
5549
  await loadComponentsAssets(config?.elements ?? []);
5535
5550
  });
5551
+ (0, import_editor.injectIntoLogic)({
5552
+ id: "templates",
5553
+ component: LoadTemplateComponents
5554
+ });
5536
5555
  (0, import_editor_editing_panel8.registerFieldIndicator)({
5537
5556
  fieldType: import_editor_editing_panel8.FIELD_TYPE.SETTINGS,
5538
5557
  id: "component-overridable-prop",