@elementor/editor-components 3.35.0-454 → 3.35.0-456
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 +25 -13
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +22 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +22 -22
- package/src/components/errors.ts +6 -0
- package/src/components/instance-editing-panel/override-prop-control.tsx +9 -1
- package/src/components/overridable-props/overridable-prop-indicator.tsx +5 -7
package/dist/index.js
CHANGED
|
@@ -3703,6 +3703,13 @@ var ControlLabel = ({ children, ...props }) => {
|
|
|
3703
3703
|
return /* @__PURE__ */ React25.createElement(import_ui19.Stack, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React25.createElement(import_editor_controls2.ControlFormLabel, { ...props }, children), /* @__PURE__ */ React25.createElement(import_editor_controls2.ControlAdornments, null));
|
|
3704
3704
|
};
|
|
3705
3705
|
|
|
3706
|
+
// src/components/errors.ts
|
|
3707
|
+
var import_utils7 = require("@elementor/utils");
|
|
3708
|
+
var OverrideControlInnerElementNotFoundError = (0, import_utils7.createError)({
|
|
3709
|
+
code: "override_control_inner_element_not_found",
|
|
3710
|
+
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.`
|
|
3711
|
+
});
|
|
3712
|
+
|
|
3706
3713
|
// src/components/instance-editing-panel/override-prop-control.tsx
|
|
3707
3714
|
function OverridePropControl({ overridableProp, overrides }) {
|
|
3708
3715
|
return /* @__PURE__ */ React26.createElement(import_editor_editing_panel3.SettingsField, { bind: "component_instance", propDisplayName: overridableProp.label }, /* @__PURE__ */ React26.createElement(OverrideControl, { overridableProp, overrides }));
|
|
@@ -3765,6 +3772,12 @@ function OverrideControl({ overridableProp, overrides }) {
|
|
|
3765
3772
|
overridableProp.label
|
|
3766
3773
|
);
|
|
3767
3774
|
const { elementId, widgetType, elType, propKey } = overridableProp.originPropFields ?? overridableProp;
|
|
3775
|
+
const elementContainer = (0, import_editor_elements14.getContainer)(elementId);
|
|
3776
|
+
if (!elementContainer) {
|
|
3777
|
+
throw new OverrideControlInnerElementNotFoundError({
|
|
3778
|
+
context: { componentId: componentInstanceId, elementId }
|
|
3779
|
+
});
|
|
3780
|
+
}
|
|
3768
3781
|
const type = elType === "widget" ? widgetType : elType;
|
|
3769
3782
|
const elementType = (0, import_editor_elements14.getElementType)(type);
|
|
3770
3783
|
if (!elementType) {
|
|
@@ -4008,7 +4021,7 @@ var import_i18n28 = require("@wordpress/i18n");
|
|
|
4008
4021
|
|
|
4009
4022
|
// src/store/actions/set-overridable-prop.ts
|
|
4010
4023
|
var import_store58 = require("@elementor/store");
|
|
4011
|
-
var
|
|
4024
|
+
var import_utils8 = require("@elementor/utils");
|
|
4012
4025
|
function setOverridableProp({
|
|
4013
4026
|
componentId,
|
|
4014
4027
|
overrideKey,
|
|
@@ -4034,7 +4047,7 @@ function setOverridableProp({
|
|
|
4034
4047
|
groupId || existingOverridableProp?.groupId || void 0
|
|
4035
4048
|
);
|
|
4036
4049
|
const overridableProp = {
|
|
4037
|
-
overrideKey: existingOverridableProp?.overrideKey || (0,
|
|
4050
|
+
overrideKey: existingOverridableProp?.overrideKey || (0, import_utils8.generateUniqueId)("prop"),
|
|
4038
4051
|
label,
|
|
4039
4052
|
elementId,
|
|
4040
4053
|
propKey,
|
|
@@ -4154,12 +4167,11 @@ function getOverridableProp({
|
|
|
4154
4167
|
}
|
|
4155
4168
|
|
|
4156
4169
|
// src/components/overridable-props/overridable-prop-indicator.tsx
|
|
4157
|
-
var FORBIDDEN_KEYS = ["_cssid", "attributes"];
|
|
4158
4170
|
function OverridablePropIndicator() {
|
|
4159
|
-
const {
|
|
4171
|
+
const { propType } = (0, import_editor_controls6.useBoundProp)();
|
|
4160
4172
|
const componentId = useCurrentComponentId();
|
|
4161
4173
|
const overridableProps = useOverridableProps(componentId);
|
|
4162
|
-
if (!isPropAllowed(
|
|
4174
|
+
if (!isPropAllowed(propType) || !componentId || !overridableProps) {
|
|
4163
4175
|
return null;
|
|
4164
4176
|
}
|
|
4165
4177
|
return /* @__PURE__ */ React31.createElement(Content2, { componentId, overridableProps });
|
|
@@ -4238,8 +4250,8 @@ function Content2({ componentId, overridableProps }) {
|
|
|
4238
4250
|
)
|
|
4239
4251
|
));
|
|
4240
4252
|
}
|
|
4241
|
-
function isPropAllowed(
|
|
4242
|
-
return
|
|
4253
|
+
function isPropAllowed(propType) {
|
|
4254
|
+
return propType.meta.overridable !== false;
|
|
4243
4255
|
}
|
|
4244
4256
|
|
|
4245
4257
|
// src/hooks/cleanup-overridable-props-on-delete.ts
|
|
@@ -4300,7 +4312,7 @@ function collectDeletedElementIds(containers) {
|
|
|
4300
4312
|
// src/hooks/regenerate-override-keys.ts
|
|
4301
4313
|
var import_editor_elements18 = require("@elementor/editor-elements");
|
|
4302
4314
|
var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
|
|
4303
|
-
var
|
|
4315
|
+
var import_utils9 = require("@elementor/utils");
|
|
4304
4316
|
function initRegenerateOverrideKeys() {
|
|
4305
4317
|
(0, import_editor_v1_adapters9.registerDataHook)("after", "document/elements/duplicate", (_args, result) => {
|
|
4306
4318
|
regenerateOverrideKeysForContainers(result);
|
|
@@ -4343,7 +4355,7 @@ function regenerateOverrideKeys(element) {
|
|
|
4343
4355
|
...override,
|
|
4344
4356
|
value: {
|
|
4345
4357
|
...override.value,
|
|
4346
|
-
override_key: (0,
|
|
4358
|
+
override_key: (0, import_utils9.generateUniqueId)("prop")
|
|
4347
4359
|
}
|
|
4348
4360
|
};
|
|
4349
4361
|
});
|
|
@@ -4385,7 +4397,7 @@ var import_editor_elements19 = require("@elementor/editor-elements");
|
|
|
4385
4397
|
var import_editor_mcp2 = require("@elementor/editor-mcp");
|
|
4386
4398
|
var import_http_client2 = require("@elementor/http-client");
|
|
4387
4399
|
var import_schema6 = require("@elementor/schema");
|
|
4388
|
-
var
|
|
4400
|
+
var import_utils10 = require("@elementor/utils");
|
|
4389
4401
|
var InputSchema = {
|
|
4390
4402
|
element_id: import_schema6.z.string().describe(
|
|
4391
4403
|
'The unique identifier of the element to save as a component. Use the "list-elements" tool to find available element IDs in the current document.'
|
|
@@ -4435,7 +4447,7 @@ var handleSaveAsComponent = async (params) => {
|
|
|
4435
4447
|
if (overridableProps) {
|
|
4436
4448
|
updateElementDataWithOverridableProps(element, overridableProps);
|
|
4437
4449
|
}
|
|
4438
|
-
const uid = (0,
|
|
4450
|
+
const uid = (0, import_utils10.generateUniqueId)("component");
|
|
4439
4451
|
try {
|
|
4440
4452
|
await apiClient.validate({
|
|
4441
4453
|
items: [
|
|
@@ -4457,7 +4469,7 @@ var handleSaveAsComponent = async (params) => {
|
|
|
4457
4469
|
};
|
|
4458
4470
|
function enrichOverridableProps(input, rootElement) {
|
|
4459
4471
|
const enrichedProps = {};
|
|
4460
|
-
const defaultGroupId = (0,
|
|
4472
|
+
const defaultGroupId = (0, import_utils10.generateUniqueId)("group");
|
|
4461
4473
|
Object.entries(input.props).forEach(([, prop]) => {
|
|
4462
4474
|
const { elementId, propKey, label } = prop;
|
|
4463
4475
|
const element = findElementById(rootElement, elementId);
|
|
@@ -4478,7 +4490,7 @@ function enrichOverridableProps(input, rootElement) {
|
|
|
4478
4490
|
`Property "${propKey}" does not exist in element "${elementId}" (type: ${widgetType}). Available properties: ${availableProps}`
|
|
4479
4491
|
);
|
|
4480
4492
|
}
|
|
4481
|
-
const overrideKey = (0,
|
|
4493
|
+
const overrideKey = (0, import_utils10.generateUniqueId)("prop");
|
|
4482
4494
|
const originValue = element.settings?.[propKey] ? element.settings[propKey] : elementType.propsSchema[propKey].default ?? null;
|
|
4483
4495
|
enrichedProps[overrideKey] = {
|
|
4484
4496
|
overrideKey,
|