@elementor/editor-components 3.35.0-489 → 3.35.0-490

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
@@ -17,7 +17,7 @@ import { __registerPanel as registerPanel } from "@elementor/editor-panels";
17
17
  import { stylesRepository } from "@elementor/editor-styles-repository";
18
18
  import { registerDataHook as registerDataHook6 } from "@elementor/editor-v1-adapters";
19
19
  import { __registerSlice as registerSlice } from "@elementor/store";
20
- import { __ as __30 } from "@wordpress/i18n";
20
+ import { __ as __31 } from "@wordpress/i18n";
21
21
 
22
22
  // src/component-instance-transformer.ts
23
23
  import { createTransformer } from "@elementor/editor-canvas";
@@ -123,6 +123,12 @@ var slice = createSlice({
123
123
  addUnpublished: (state, { payload }) => {
124
124
  state.unpublishedData.unshift(payload);
125
125
  },
126
+ removeUnpublished: (state, { payload }) => {
127
+ const uidsToRemove = Array.isArray(payload) ? payload : [payload];
128
+ state.unpublishedData = state.unpublishedData.filter(
129
+ (component) => !uidsToRemove.includes(component.uid)
130
+ );
131
+ },
126
132
  resetUnpublished: (state) => {
127
133
  state.unpublishedData = [];
128
134
  },
@@ -136,6 +142,9 @@ var slice = createSlice({
136
142
  addCreatedThisSession: (state, { payload }) => {
137
143
  state.createdThisSession.push(payload);
138
144
  },
145
+ removeCreatedThisSession: (state, { payload }) => {
146
+ state.createdThisSession = state.createdThisSession.filter((uid) => uid !== payload);
147
+ },
139
148
  archive: (state, { payload }) => {
140
149
  const component = state.data.find((comp) => comp.id === payload);
141
150
  if (component) {
@@ -3000,7 +3009,7 @@ import { Form as FormElement, ThemeProvider as ThemeProvider3 } from "@elementor
3000
3009
  import { ComponentsIcon as ComponentsIcon3 } from "@elementor/icons";
3001
3010
  import { __getState as getState15 } from "@elementor/store";
3002
3011
  import { Button as Button3, FormLabel as FormLabel2, Grid as Grid2, Popover as Popover3, Stack as Stack10, TextField as TextField3, Typography as Typography10 } from "@elementor/ui";
3003
- import { __ as __22 } from "@wordpress/i18n";
3012
+ import { __ as __23 } from "@wordpress/i18n";
3004
3013
 
3005
3014
  // src/prevent-non-atomic-nesting.ts
3006
3015
  import { isAtomicWidget } from "@elementor/editor-canvas";
@@ -3121,9 +3130,11 @@ function findNonAtomicElementsInElement(element) {
3121
3130
  }
3122
3131
 
3123
3132
  // src/store/actions/create-unpublished-component.ts
3133
+ import { createElements, deleteElement, getContainer as getContainer3 } from "@elementor/editor-elements";
3124
3134
  import { __privateRunCommand as runCommand3 } from "@elementor/editor-v1-adapters";
3125
3135
  import { __dispatch as dispatch12 } from "@elementor/store";
3126
3136
  import { generateUniqueId as generateUniqueId3 } from "@elementor/utils";
3137
+ import { __ as __22 } from "@wordpress/i18n";
3127
3138
  async function createUnpublishedComponent({
3128
3139
  name,
3129
3140
  element,
@@ -3135,6 +3146,13 @@ async function createUnpublishedComponent({
3135
3146
  const generatedUid = uid ?? generateUniqueId3("component");
3136
3147
  const componentBase = { uid: generatedUid, name };
3137
3148
  const elementDataWithOverridablesReverted = revertAllOverridablesInElementData(element);
3149
+ const container = getContainer3(element.id);
3150
+ const modelFromContainer = container?.model?.toJSON?.();
3151
+ const originalElement = {
3152
+ model: modelFromContainer ?? element,
3153
+ parentId: container?.parent?.id ?? "",
3154
+ index: container?.view?._index ?? 0
3155
+ };
3138
3156
  dispatch12(
3139
3157
  slice.actions.addUnpublished({
3140
3158
  ...componentBase,
@@ -3151,9 +3169,30 @@ async function createUnpublishedComponent({
3151
3169
  component_name: name,
3152
3170
  ...eventData
3153
3171
  });
3154
- await runCommand3("document/save/auto");
3172
+ try {
3173
+ await runCommand3("document/save/auto");
3174
+ } catch (error) {
3175
+ restoreOriginalElement(originalElement, componentInstance.id);
3176
+ dispatch12(slice.actions.removeUnpublished(generatedUid));
3177
+ dispatch12(slice.actions.removeCreatedThisSession(generatedUid));
3178
+ throw error;
3179
+ }
3155
3180
  return { uid: generatedUid, instanceId: componentInstance.id };
3156
3181
  }
3182
+ function restoreOriginalElement(originalElement, componentInstanceId) {
3183
+ deleteElement({ elementId: componentInstanceId, options: { useHistory: false } });
3184
+ const clonedModel = structuredClone(originalElement.model);
3185
+ createElements({
3186
+ title: __22("Restore Element", "elementor"),
3187
+ elements: [
3188
+ {
3189
+ containerId: originalElement.parentId,
3190
+ model: clonedModel,
3191
+ options: { at: originalElement.index }
3192
+ }
3193
+ ]
3194
+ });
3195
+ }
3157
3196
 
3158
3197
  // src/components/create-component-form/hooks/use-form.ts
3159
3198
  import { useMemo as useMemo2, useState as useState7 } from "react";
@@ -3281,17 +3320,18 @@ function CreateComponentForm() {
3281
3320
  }
3282
3321
  notify3({
3283
3322
  type: "success",
3284
- message: __22("Component created successfully.", "elementor"),
3323
+ message: __23("Component created successfully.", "elementor"),
3285
3324
  id: `component-saved-successfully-${uid}`
3286
3325
  });
3287
3326
  resetAndClosePopup();
3288
3327
  } catch {
3289
- const errorMessage = __22("Failed to create component. Please try again.", "elementor");
3328
+ const errorMessage = __23("Failed to create component. Please try again.", "elementor");
3290
3329
  notify3({
3291
3330
  type: "error",
3292
3331
  message: errorMessage,
3293
3332
  id: "component-save-failed"
3294
3333
  });
3334
+ resetAndClosePopup();
3295
3335
  }
3296
3336
  };
3297
3337
  const resetAndClosePopup = () => {
@@ -3331,7 +3371,7 @@ function shouldOpenForm(element, componentsCount) {
3331
3371
  shouldOpen: false,
3332
3372
  notification: {
3333
3373
  type: "default",
3334
- message: __22(
3374
+ message: __23(
3335
3375
  "Components require atomic elements only. Remove widgets to create this component.",
3336
3376
  "elementor"
3337
3377
  ),
@@ -3345,7 +3385,7 @@ function shouldOpenForm(element, componentsCount) {
3345
3385
  notification: {
3346
3386
  type: "default",
3347
3387
  /* translators: %s is the maximum number of components */
3348
- message: __22(
3388
+ message: __23(
3349
3389
  `You've reached the limit of %s components. Please remove an existing one to create a new component.`,
3350
3390
  "elementor"
3351
3391
  ).replace("%s", MAX_COMPONENTS.toString()),
@@ -3381,10 +3421,10 @@ var Form2 = ({
3381
3421
  }
3382
3422
  };
3383
3423
  const texts = {
3384
- heading: __22("Create component", "elementor"),
3385
- name: __22("Name", "elementor"),
3386
- cancel: __22("Cancel", "elementor"),
3387
- create: __22("Create", "elementor")
3424
+ heading: __23("Create component", "elementor"),
3425
+ name: __23("Name", "elementor"),
3426
+ cancel: __23("Cancel", "elementor"),
3427
+ create: __23("Create", "elementor")
3388
3428
  };
3389
3429
  const nameInputId = "component-name";
3390
3430
  return /* @__PURE__ */ React19.createElement(FormElement, { onSubmit: handleSubmit }, /* @__PURE__ */ React19.createElement(Stack10, { alignItems: "start", width: "268px" }, /* @__PURE__ */ React19.createElement(
@@ -3440,7 +3480,7 @@ function updateCurrentComponent({
3440
3480
  import * as React20 from "react";
3441
3481
  import { useEffect as useEffect4 } from "react";
3442
3482
  import { createPortal } from "react-dom";
3443
- import { __ as __23 } from "@wordpress/i18n";
3483
+ import { __ as __24 } from "@wordpress/i18n";
3444
3484
 
3445
3485
  // src/hooks/use-canvas-document.ts
3446
3486
  import {
@@ -3570,7 +3610,7 @@ function Backdrop({
3570
3610
  onKeyDown: handleKeyDown,
3571
3611
  role: "button",
3572
3612
  tabIndex: 0,
3573
- "aria-label": __23("Exit component editing mode", "elementor")
3613
+ "aria-label": __24("Exit component editing mode", "elementor")
3574
3614
  }
3575
3615
  );
3576
3616
  }
@@ -3718,18 +3758,18 @@ import * as React22 from "react";
3718
3758
  import { closeDialog, openDialog } from "@elementor/editor-ui";
3719
3759
  import { InfoCircleFilledIcon } from "@elementor/icons";
3720
3760
  import { Box as Box13, Button as Button4, DialogActions, DialogContent, DialogHeader, Icon, Stack as Stack11, Typography as Typography11 } from "@elementor/ui";
3721
- import { __ as __24 } from "@wordpress/i18n";
3761
+ import { __ as __25 } from "@wordpress/i18n";
3722
3762
  var openEditModeDialog = (lockedBy) => {
3723
3763
  openDialog({
3724
3764
  component: /* @__PURE__ */ React22.createElement(EditModeDialog, { lockedBy })
3725
3765
  });
3726
3766
  };
3727
3767
  var EditModeDialog = ({ lockedBy }) => {
3728
- const content = __24("%s is currently editing this document", "elementor").replace("%s", lockedBy);
3729
- return /* @__PURE__ */ React22.createElement(React22.Fragment, null, /* @__PURE__ */ React22.createElement(DialogHeader, { logo: false }, /* @__PURE__ */ React22.createElement(Box13, { display: "flex", alignItems: "center", gap: 1 }, /* @__PURE__ */ React22.createElement(Icon, { color: "secondary" }, /* @__PURE__ */ React22.createElement(InfoCircleFilledIcon, { fontSize: "medium" })), /* @__PURE__ */ React22.createElement(Typography11, { variant: "subtitle1" }, content))), /* @__PURE__ */ React22.createElement(DialogContent, null, /* @__PURE__ */ React22.createElement(Stack11, { spacing: 2, direction: "column" }, /* @__PURE__ */ React22.createElement(Typography11, { variant: "body2" }, __24(
3768
+ const content = __25("%s is currently editing this document", "elementor").replace("%s", lockedBy);
3769
+ return /* @__PURE__ */ React22.createElement(React22.Fragment, null, /* @__PURE__ */ React22.createElement(DialogHeader, { logo: false }, /* @__PURE__ */ React22.createElement(Box13, { display: "flex", alignItems: "center", gap: 1 }, /* @__PURE__ */ React22.createElement(Icon, { color: "secondary" }, /* @__PURE__ */ React22.createElement(InfoCircleFilledIcon, { fontSize: "medium" })), /* @__PURE__ */ React22.createElement(Typography11, { variant: "subtitle1" }, content))), /* @__PURE__ */ React22.createElement(DialogContent, null, /* @__PURE__ */ React22.createElement(Stack11, { spacing: 2, direction: "column" }, /* @__PURE__ */ React22.createElement(Typography11, { variant: "body2" }, __25(
3730
3770
  "You can wait for them to finish or reach out to coordinate your changes together.",
3731
3771
  "elementor"
3732
- )), /* @__PURE__ */ React22.createElement(DialogActions, null, /* @__PURE__ */ React22.createElement(Button4, { color: "secondary", variant: "contained", onClick: closeDialog }, __24("Close", "elementor"))))));
3772
+ )), /* @__PURE__ */ React22.createElement(DialogActions, null, /* @__PURE__ */ React22.createElement(Button4, { color: "secondary", variant: "contained", onClick: closeDialog }, __25("Close", "elementor"))))));
3733
3773
  };
3734
3774
 
3735
3775
  // src/components/instance-editing-panel/instance-editing-panel.tsx
@@ -3741,7 +3781,7 @@ import { PanelBody as PanelBody2, PanelHeader as PanelHeader3, PanelHeaderTitle
3741
3781
  import { EllipsisWithTooltip as EllipsisWithTooltip4 } from "@elementor/editor-ui";
3742
3782
  import { ComponentsIcon as ComponentsIcon4, PencilIcon as PencilIcon2 } from "@elementor/icons";
3743
3783
  import { Divider as Divider4, IconButton as IconButton6, Stack as Stack16, Tooltip as Tooltip5 } from "@elementor/ui";
3744
- import { __ as __26 } from "@wordpress/i18n";
3784
+ import { __ as __27 } from "@wordpress/i18n";
3745
3785
 
3746
3786
  // src/hooks/use-component-instance-settings.ts
3747
3787
  import { useElement } from "@elementor/editor-editing-panel";
@@ -3756,13 +3796,13 @@ function useComponentInstanceSettings() {
3756
3796
  import * as React23 from "react";
3757
3797
  import { ComponentPropListIcon as ComponentPropListIcon4, PencilIcon } from "@elementor/icons";
3758
3798
  import { Button as Button5, Stack as Stack12, Typography as Typography12 } from "@elementor/ui";
3759
- import { __ as __25 } from "@wordpress/i18n";
3799
+ import { __ as __26 } from "@wordpress/i18n";
3760
3800
  var EmptyState2 = ({ onEditComponent }) => {
3761
3801
  const { canEdit } = useComponentsPermissions();
3762
- const message = canEdit ? __25(
3802
+ const message = canEdit ? __26(
3763
3803
  "Edit the component to add properties, manage them or update the design across all instances.",
3764
3804
  "elementor"
3765
- ) : __25(
3805
+ ) : __26(
3766
3806
  "With your current role, you cannot edit this component. Contact an administrator to add properties.",
3767
3807
  "elementor"
3768
3808
  );
@@ -3777,9 +3817,9 @@ var EmptyState2 = ({ onEditComponent }) => {
3777
3817
  gap: 1.5
3778
3818
  },
3779
3819
  /* @__PURE__ */ React23.createElement(ComponentPropListIcon4, { fontSize: "large" }),
3780
- /* @__PURE__ */ React23.createElement(Typography12, { align: "center", variant: "subtitle2" }, __25("No properties yet", "elementor")),
3820
+ /* @__PURE__ */ React23.createElement(Typography12, { align: "center", variant: "subtitle2" }, __26("No properties yet", "elementor")),
3781
3821
  /* @__PURE__ */ React23.createElement(Typography12, { align: "center", variant: "caption", maxWidth: "170px" }, message),
3782
- canEdit && /* @__PURE__ */ React23.createElement(Button5, { variant: "outlined", color: "secondary", size: "small", sx: { mt: 1 }, onClick: onEditComponent }, /* @__PURE__ */ React23.createElement(PencilIcon, { fontSize: "small" }), __25("Edit component", "elementor"))
3822
+ canEdit && /* @__PURE__ */ React23.createElement(Button5, { variant: "outlined", color: "secondary", size: "small", sx: { mt: 1 }, onClick: onEditComponent }, /* @__PURE__ */ React23.createElement(PencilIcon, { fontSize: "small" }), __26("Edit component", "elementor"))
3783
3823
  );
3784
3824
  };
3785
3825
 
@@ -3802,7 +3842,7 @@ import {
3802
3842
  SettingsField,
3803
3843
  useElement as useElement2
3804
3844
  } from "@elementor/editor-editing-panel";
3805
- import { getContainer as getContainer3, getElementType as getElementType3 } from "@elementor/editor-elements";
3845
+ import { getContainer as getContainer4, getElementType as getElementType3 } from "@elementor/editor-elements";
3806
3846
  import { Stack as Stack14 } from "@elementor/ui";
3807
3847
 
3808
3848
  // src/hooks/use-controls-by-widget-type.ts
@@ -4011,7 +4051,7 @@ function OverrideControl({ overridableProp, overrides }) {
4011
4051
  overridableProp.label
4012
4052
  );
4013
4053
  const { elementId, widgetType, elType, propKey } = overridableProp.originPropFields ?? overridableProp;
4014
- const elementContainer = getContainer3(elementId);
4054
+ const elementContainer = getContainer4(elementId);
4015
4055
  if (!elementContainer) {
4016
4056
  throw new OverrideControlInnerElementNotFoundError({
4017
4057
  context: { componentId: componentInstanceId, elementId }
@@ -4174,7 +4214,7 @@ function InstanceEditingPanel() {
4174
4214
  if (!componentId || !overridableProps || !component) {
4175
4215
  return null;
4176
4216
  }
4177
- const panelTitle = __26("Edit %s", "elementor").replace("%s", component.name);
4217
+ const panelTitle = __27("Edit %s", "elementor").replace("%s", component.name);
4178
4218
  const handleEditComponent = () => switchToComponent(componentId, componentInstanceId);
4179
4219
  const isNonEmptyGroup = (group) => group !== null && group.props.length > 0;
4180
4220
  const groups = overridableProps.groups.order.map((groupId) => overridableProps.groups.items[groupId] ?? null).filter(isNonEmptyGroup);
@@ -4273,7 +4313,7 @@ import { useBoundProp as useBoundProp3 } from "@elementor/editor-controls";
4273
4313
  import { useElement as useElement4 } from "@elementor/editor-editing-panel";
4274
4314
  import { getWidgetsCache as getWidgetsCache3 } from "@elementor/editor-elements";
4275
4315
  import { bindPopover as bindPopover2, bindTrigger as bindTrigger4, Popover as Popover4, Tooltip as Tooltip6, usePopupState as usePopupState4 } from "@elementor/ui";
4276
- import { __ as __28 } from "@wordpress/i18n";
4316
+ import { __ as __29 } from "@wordpress/i18n";
4277
4317
 
4278
4318
  // src/store/actions/set-overridable-prop.ts
4279
4319
  import { __dispatch as dispatch14, __getState as getState17 } from "@elementor/store";
@@ -4358,7 +4398,7 @@ import * as React30 from "react";
4358
4398
  import { forwardRef as forwardRef2 } from "react";
4359
4399
  import { CheckIcon, PlusIcon } from "@elementor/icons";
4360
4400
  import { Box as Box15, styled as styled4 } from "@elementor/ui";
4361
- import { __ as __27 } from "@wordpress/i18n";
4401
+ import { __ as __28 } from "@wordpress/i18n";
4362
4402
  var SIZE2 = "tiny";
4363
4403
  var IconContainer = styled4(Box15)`
4364
4404
  pointer-events: none;
@@ -4418,7 +4458,7 @@ var Indicator2 = forwardRef2(({ isOpen, isOverridable, ...props }, ref) => /* @_
4418
4458
  IconContainer,
4419
4459
  {
4420
4460
  className: "icon",
4421
- "aria-label": isOverridable ? __27("Overridable property", "elementor") : __27("Make prop overridable", "elementor")
4461
+ "aria-label": isOverridable ? __28("Overridable property", "elementor") : __28("Make prop overridable", "elementor")
4422
4462
  },
4423
4463
  isOverridable ? /* @__PURE__ */ React30.createElement(CheckIcon, { fontSize: SIZE2 }) : /* @__PURE__ */ React30.createElement(PlusIcon, { fontSize: SIZE2 })
4424
4464
  )));
@@ -4490,7 +4530,7 @@ function Content2({ componentId, overridableProps }) {
4490
4530
  popupState.close();
4491
4531
  };
4492
4532
  const overridableConfig = overridableValue ? getOverridableProp({ componentId, overrideKey: overridableValue.override_key }) : void 0;
4493
- return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(Tooltip6, { placement: "top", title: __28("Override Property", "elementor") }, /* @__PURE__ */ React31.createElement(Indicator2, { ...triggerProps, isOpen: !!popoverProps.open, isOverridable: !!overridableValue })), /* @__PURE__ */ React31.createElement(
4533
+ return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement(Tooltip6, { placement: "top", title: __29("Override Property", "elementor") }, /* @__PURE__ */ React31.createElement(Indicator2, { ...triggerProps, isOpen: !!popoverProps.open, isOverridable: !!overridableValue })), /* @__PURE__ */ React31.createElement(
4494
4534
  Popover4,
4495
4535
  {
4496
4536
  disableScrollLock: true,
@@ -4530,7 +4570,7 @@ import { getMCPByDomain as getMCPByDomain2 } from "@elementor/editor-mcp";
4530
4570
 
4531
4571
  // src/mcp/save-as-component-tool.ts
4532
4572
  import { DOCUMENT_STRUCTURE_URI, WIDGET_SCHEMA_URI } from "@elementor/editor-canvas";
4533
- import { getContainer as getContainer4, getElementType as getElementType4, getWidgetsCache as getWidgetsCache4 } from "@elementor/editor-elements";
4573
+ import { getContainer as getContainer5, getElementType as getElementType4, getWidgetsCache as getWidgetsCache4 } from "@elementor/editor-elements";
4534
4574
  import { getMCPByDomain, toolPrompts } from "@elementor/editor-mcp";
4535
4575
  import { AxiosError } from "@elementor/http-client";
4536
4576
  import { z as z6 } from "@elementor/schema";
@@ -4568,7 +4608,7 @@ var ERROR_MESSAGES3 = {
4568
4608
  var handleSaveAsComponent = async (params) => {
4569
4609
  const { element_id: elementId, component_name: componentName, overridable_props: overridablePropsInput } = params;
4570
4610
  const validElementTypes = getValidElementTypes();
4571
- const container = getContainer4(elementId);
4611
+ const container = getContainer5(elementId);
4572
4612
  if (!container) {
4573
4613
  throw new Error(ERROR_MESSAGES3.ELEMENT_NOT_FOUND);
4574
4614
  }
@@ -4882,11 +4922,11 @@ import { getAllDescendants as getAllDescendants4 } from "@elementor/editor-eleme
4882
4922
  import { notify as notify4 } from "@elementor/editor-notifications";
4883
4923
  import { blockCommand as blockCommand2 } from "@elementor/editor-v1-adapters";
4884
4924
  import { __getState as getState19 } from "@elementor/store";
4885
- import { __ as __29 } from "@wordpress/i18n";
4925
+ import { __ as __30 } from "@wordpress/i18n";
4886
4926
  var COMPONENT_TYPE = "e-component";
4887
4927
  var COMPONENT_CIRCULAR_NESTING_ALERT = {
4888
4928
  type: "default",
4889
- message: __29("Can't add this component - components that contain each other can't be nested.", "elementor"),
4929
+ message: __30("Can't add this component - components that contain each other can't be nested.", "elementor"),
4890
4930
  id: "circular-component-nesting-blocked"
4891
4931
  };
4892
4932
  function initCircularNestingPrevention() {
@@ -5059,7 +5099,9 @@ async function createComponentsBeforeSave({
5059
5099
  );
5060
5100
  dispatch17(slice.actions.resetUnpublished());
5061
5101
  } catch (error) {
5062
- throw new Error(`Failed to publish components and update component instances: ${error}`);
5102
+ const failedUids = unpublishedComponents.map((component) => component.uid);
5103
+ dispatch17(slice.actions.removeUnpublished(failedUids));
5104
+ throw new Error(`Failed to publish components: ${error}`);
5063
5105
  }
5064
5106
  }
5065
5107
  async function createComponents(components, status) {
@@ -5347,7 +5389,7 @@ function load(result) {
5347
5389
  }
5348
5390
 
5349
5391
  // src/sync/regenerate-override-keys.ts
5350
- import { getAllDescendants as getAllDescendants6, getContainer as getContainer5, updateElementSettings as updateElementSettings3 } from "@elementor/editor-elements";
5392
+ import { getAllDescendants as getAllDescendants6, getContainer as getContainer6, updateElementSettings as updateElementSettings3 } from "@elementor/editor-elements";
5351
5393
  import { registerDataHook as registerDataHook4 } from "@elementor/editor-v1-adapters";
5352
5394
  import { generateUniqueId as generateUniqueId6 } from "@elementor/utils";
5353
5395
  function initRegenerateOverrideKeys() {
@@ -5368,7 +5410,7 @@ function regenerateOverrideKeysForContainers(result) {
5368
5410
  });
5369
5411
  }
5370
5412
  function regenerateOverrideKeysRecursive(elementId) {
5371
- const container = getContainer5(elementId);
5413
+ const container = getContainer6(elementId);
5372
5414
  if (!container) {
5373
5415
  return;
5374
5416
  }
@@ -5483,7 +5525,7 @@ function init() {
5483
5525
  window.elementorCommon.__beforeSave = beforeSave;
5484
5526
  injectTab({
5485
5527
  id: "components",
5486
- label: __30("Components", "elementor"),
5528
+ label: __31("Components", "elementor"),
5487
5529
  component: Components,
5488
5530
  position: 1
5489
5531
  });