@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.mjs CHANGED
@@ -3597,7 +3597,7 @@ import {
3597
3597
  SettingsField,
3598
3598
  useElement as useElement2
3599
3599
  } from "@elementor/editor-editing-panel";
3600
- import { getElementType as getElementType3 } from "@elementor/editor-elements";
3600
+ import { getContainer as getContainer3, getElementType as getElementType3 } from "@elementor/editor-elements";
3601
3601
  import { Stack as Stack15 } from "@elementor/ui";
3602
3602
 
3603
3603
  // src/hooks/use-controls-by-widget-type.ts
@@ -3737,6 +3737,13 @@ var ControlLabel = ({ children, ...props }) => {
3737
3737
  return /* @__PURE__ */ React25.createElement(Stack14, { direction: "row", alignItems: "center", justifyItems: "start", gap: 0.25 }, /* @__PURE__ */ React25.createElement(ControlFormLabel, { ...props }, children), /* @__PURE__ */ React25.createElement(ControlAdornments, null));
3738
3738
  };
3739
3739
 
3740
+ // src/components/errors.ts
3741
+ import { createError } from "@elementor/utils";
3742
+ var OverrideControlInnerElementNotFoundError = createError({
3743
+ code: "override_control_inner_element_not_found",
3744
+ 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.`
3745
+ });
3746
+
3740
3747
  // src/components/instance-editing-panel/override-prop-control.tsx
3741
3748
  function OverridePropControl({ overridableProp, overrides }) {
3742
3749
  return /* @__PURE__ */ React26.createElement(SettingsField, { bind: "component_instance", propDisplayName: overridableProp.label }, /* @__PURE__ */ React26.createElement(OverrideControl, { overridableProp, overrides }));
@@ -3799,6 +3806,12 @@ function OverrideControl({ overridableProp, overrides }) {
3799
3806
  overridableProp.label
3800
3807
  );
3801
3808
  const { elementId, widgetType, elType, propKey } = overridableProp.originPropFields ?? overridableProp;
3809
+ const elementContainer = getContainer3(elementId);
3810
+ if (!elementContainer) {
3811
+ throw new OverrideControlInnerElementNotFoundError({
3812
+ context: { componentId: componentInstanceId, elementId }
3813
+ });
3814
+ }
3802
3815
  const type = elType === "widget" ? widgetType : elType;
3803
3816
  const elementType = getElementType3(type);
3804
3817
  if (!elementType) {
@@ -4188,12 +4201,11 @@ function getOverridableProp({
4188
4201
  }
4189
4202
 
4190
4203
  // src/components/overridable-props/overridable-prop-indicator.tsx
4191
- var FORBIDDEN_KEYS = ["_cssid", "attributes"];
4192
4204
  function OverridablePropIndicator() {
4193
- const { bind } = useBoundProp3();
4205
+ const { propType } = useBoundProp3();
4194
4206
  const componentId = useCurrentComponentId();
4195
4207
  const overridableProps = useOverridableProps(componentId);
4196
- if (!isPropAllowed(bind) || !componentId || !overridableProps) {
4208
+ if (!isPropAllowed(propType) || !componentId || !overridableProps) {
4197
4209
  return null;
4198
4210
  }
4199
4211
  return /* @__PURE__ */ React31.createElement(Content2, { componentId, overridableProps });
@@ -4272,8 +4284,8 @@ function Content2({ componentId, overridableProps }) {
4272
4284
  )
4273
4285
  ));
4274
4286
  }
4275
- function isPropAllowed(bind) {
4276
- return !FORBIDDEN_KEYS.includes(bind);
4287
+ function isPropAllowed(propType) {
4288
+ return propType.meta.overridable !== false;
4277
4289
  }
4278
4290
 
4279
4291
  // src/hooks/cleanup-overridable-props-on-delete.ts
@@ -4332,7 +4344,7 @@ function collectDeletedElementIds(containers) {
4332
4344
  }
4333
4345
 
4334
4346
  // src/hooks/regenerate-override-keys.ts
4335
- import { getAllDescendants as getAllDescendants4, getContainer as getContainer3, updateElementSettings as updateElementSettings2 } from "@elementor/editor-elements";
4347
+ import { getAllDescendants as getAllDescendants4, getContainer as getContainer4, updateElementSettings as updateElementSettings2 } from "@elementor/editor-elements";
4336
4348
  import { registerDataHook as registerDataHook2 } from "@elementor/editor-v1-adapters";
4337
4349
  import { generateUniqueId as generateUniqueId5 } from "@elementor/utils";
4338
4350
  function initRegenerateOverrideKeys() {
@@ -4353,7 +4365,7 @@ function regenerateOverrideKeysForContainers(result) {
4353
4365
  });
4354
4366
  }
4355
4367
  function regenerateOverrideKeysRecursive(elementId) {
4356
- const container = getContainer3(elementId);
4368
+ const container = getContainer4(elementId);
4357
4369
  if (!container) {
4358
4370
  return;
4359
4371
  }
@@ -4415,7 +4427,7 @@ import { getMCPByDomain as getMCPByDomain2 } from "@elementor/editor-mcp";
4415
4427
 
4416
4428
  // src/mcp/save-as-component-tool.ts
4417
4429
  import { DOCUMENT_STRUCTURE_URI, WIDGET_SCHEMA_URI } from "@elementor/editor-canvas";
4418
- import { getContainer as getContainer4, getElementType as getElementType4, getWidgetsCache as getWidgetsCache4 } from "@elementor/editor-elements";
4430
+ import { getContainer as getContainer5, getElementType as getElementType4, getWidgetsCache as getWidgetsCache4 } from "@elementor/editor-elements";
4419
4431
  import { getMCPByDomain, toolPrompts } from "@elementor/editor-mcp";
4420
4432
  import { AxiosError } from "@elementor/http-client";
4421
4433
  import { z as z6 } from "@elementor/schema";
@@ -4453,7 +4465,7 @@ var ERROR_MESSAGES3 = {
4453
4465
  var handleSaveAsComponent = async (params) => {
4454
4466
  const { element_id: elementId, component_name: componentName, overridable_props: overridablePropsInput } = params;
4455
4467
  const validElementTypes = getValidElementTypes();
4456
- const container = getContainer4(elementId);
4468
+ const container = getContainer5(elementId);
4457
4469
  if (!container) {
4458
4470
  throw new Error(ERROR_MESSAGES3.ELEMENT_NOT_FOUND);
4459
4471
  }