@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 +60 -41
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +59 -40
- package/dist/index.mjs.map +1 -1
- package/package.json +23 -22
- package/src/components/load-template-components.tsx +14 -0
- package/src/init.ts +6 -0
- package/src/store/actions/delete-overridable-prop.ts +31 -17
- package/src/store/utils/groups-transformers.ts +4 -2
- package/src/sync/cleanup-overridable-props-on-delete.ts +24 -24
- package/src/utils/tracking.ts +1 -1
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
|
|
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
|
|
1180
|
-
|
|
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
|
-
|
|
1184
|
-
|
|
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
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
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
|
|
3452
|
-
if (!
|
|
3464
|
+
const dispatch19 = (0, import_store49.__getStore)()?.dispatch;
|
|
3465
|
+
if (!dispatch19) {
|
|
3453
3466
|
return;
|
|
3454
3467
|
}
|
|
3455
|
-
|
|
3456
|
-
|
|
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
|
|
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,
|
|
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
|
|
4995
|
+
var import_react18 = require("react");
|
|
4972
4996
|
var import_store65 = require("@elementor/store");
|
|
4973
4997
|
function PopulateStore() {
|
|
4974
|
-
(0,
|
|
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
|
-
|
|
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",
|