@elementor/editor-components 4.0.0-609 → 4.0.0-619

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.d.mts CHANGED
@@ -1,3 +1,6 @@
1
1
  declare function init(): void;
2
2
 
3
- export { init };
3
+ declare function hasProInstalled(): boolean;
4
+ declare function isProActive(): boolean;
5
+
6
+ export { hasProInstalled, init, isProActive };
package/dist/index.d.ts CHANGED
@@ -1,3 +1,6 @@
1
1
  declare function init(): void;
2
2
 
3
- export { init };
3
+ declare function hasProInstalled(): boolean;
4
+ declare function isProActive(): boolean;
5
+
6
+ export { hasProInstalled, init, isProActive };
package/dist/index.js CHANGED
@@ -30,7 +30,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
- init: () => init
33
+ hasProInstalled: () => hasProInstalled,
34
+ init: () => init,
35
+ isProActive: () => isProActive
34
36
  });
35
37
  module.exports = __toCommonJS(index_exports);
36
38
 
@@ -1254,6 +1256,7 @@ function OverrideControl({ overridableProp }) {
1254
1256
  if (!elementType) {
1255
1257
  return null;
1256
1258
  }
1259
+ const settings = (0, import_editor_elements4.getElementSettings)(elementId, Object.keys(elementType.propsSchema));
1257
1260
  const propTypeSchema = (0, import_editor_editing_panel.createTopLevelObjectType)({
1258
1261
  schema: {
1259
1262
  [overridableProp.overrideKey]: propType
@@ -1265,7 +1268,7 @@ function OverrideControl({ overridableProp }) {
1265
1268
  value: componentOverridablePropTypeUtil.extract(matchingOverride) ?? void 0,
1266
1269
  componentInstanceElement
1267
1270
  },
1268
- /* @__PURE__ */ React13.createElement(import_editor_editing_panel.ElementProvider, { element: { id: elementId, type }, elementType }, /* @__PURE__ */ React13.createElement(import_editor_editing_panel.SettingsField, { bind: propKey, propDisplayName: overridableProp.label }, /* @__PURE__ */ React13.createElement(
1271
+ /* @__PURE__ */ React13.createElement(import_editor_editing_panel.ElementProvider, { element: { id: elementId, type }, elementType, settings }, /* @__PURE__ */ React13.createElement(import_editor_editing_panel.SettingsField, { bind: propKey, propDisplayName: overridableProp.label }, /* @__PURE__ */ React13.createElement(
1269
1272
  import_editor_controls2.PropProvider,
1270
1273
  {
1271
1274
  propType: propTypeSchema,
@@ -1411,7 +1414,6 @@ function EditComponentAction({ label, onClick, disabled = false, icon: Icon2 })
1411
1414
 
1412
1415
  // src/components/instance-editing-panel/use-instance-panel-data.ts
1413
1416
  var import_editor_editing_panel4 = require("@elementor/editor-editing-panel");
1414
- var import_editor_elements5 = require("@elementor/editor-elements");
1415
1417
 
1416
1418
  // src/utils/filter-valid-overridable-props.ts
1417
1419
  function filterValidOverridableProps(overridableProps, instanceElementId) {
@@ -1487,11 +1489,11 @@ function useSanitizeOverridableProps(componentId, instanceElementId) {
1487
1489
 
1488
1490
  // src/components/instance-editing-panel/use-instance-panel-data.ts
1489
1491
  function useInstancePanelData() {
1490
- const settings = useComponentInstanceSettings();
1492
+ const { element, settings } = useComponentInstanceSettings();
1491
1493
  const componentId = settings?.component_id?.value;
1492
1494
  const overrides = settings?.overrides?.value;
1493
1495
  const component = useComponent(componentId ?? null);
1494
- const componentInstanceId = (0, import_editor_elements5.useSelectedElement)()?.element?.id;
1496
+ const componentInstanceId = element?.id;
1495
1497
  const overridableProps = useSanitizeOverridableProps(componentId ?? null, componentInstanceId);
1496
1498
  if (!componentId || !overridableProps || !component) {
1497
1499
  return null;
@@ -1502,9 +1504,8 @@ function useInstancePanelData() {
1502
1504
  return { componentId, component, overrides, overridableProps, groups, isEmpty, componentInstanceId };
1503
1505
  }
1504
1506
  function useComponentInstanceSettings() {
1505
- const { element } = (0, import_editor_editing_panel4.useElement)();
1506
- const settings = (0, import_editor_elements5.useElementSetting)(element.id, "component_instance");
1507
- return componentInstancePropTypeUtil.extract(settings);
1507
+ const { element, settings } = (0, import_editor_editing_panel4.useElement)();
1508
+ return { element, settings: componentInstancePropTypeUtil.extract(settings.component_instance) };
1508
1509
  }
1509
1510
 
1510
1511
  // src/components/instance-editing-panel/instance-editing-panel.tsx
@@ -1570,9 +1571,20 @@ function formatComponentElementsId(elements, path) {
1570
1571
  });
1571
1572
  }
1572
1573
 
1574
+ // src/utils/is-pro-user.ts
1575
+ function hasProInstalled() {
1576
+ return window.elementor?.helpers?.hasPro?.() ?? false;
1577
+ }
1578
+ function isProActive() {
1579
+ if (!hasProInstalled()) {
1580
+ return false;
1581
+ }
1582
+ return window.elementorPro?.config?.isActive ?? false;
1583
+ }
1584
+
1573
1585
  // src/utils/switch-to-component.ts
1574
1586
  var import_editor_documents2 = require("@elementor/editor-documents");
1575
- var import_editor_elements6 = require("@elementor/editor-elements");
1587
+ var import_editor_elements5 = require("@elementor/editor-elements");
1576
1588
  var import_editor_v1_adapters2 = require("@elementor/editor-v1-adapters");
1577
1589
  async function switchToComponent(componentId, componentInstanceId, element) {
1578
1590
  const selector = getSelector(element, componentInstanceId);
@@ -1583,10 +1595,10 @@ async function switchToComponent(componentId, componentInstanceId, element) {
1583
1595
  setAsInitial: false,
1584
1596
  shouldScroll: false
1585
1597
  });
1586
- const currentDocumentContainer = (0, import_editor_elements6.getCurrentDocumentContainer)();
1598
+ const currentDocumentContainer = (0, import_editor_elements5.getCurrentDocumentContainer)();
1587
1599
  const topLevelElement = currentDocumentContainer?.children?.[0];
1588
1600
  if (topLevelElement) {
1589
- (0, import_editor_elements6.selectElement)(topLevelElement.id);
1601
+ (0, import_editor_elements5.selectElement)(topLevelElement.id);
1590
1602
  expandNavigator();
1591
1603
  }
1592
1604
  }
@@ -1663,6 +1675,7 @@ var onElementDrop = (_args, element) => {
1663
1675
 
1664
1676
  // src/create-component-type.ts
1665
1677
  var COMPONENT_WIDGET_TYPE = "e-component";
1678
+ var EDIT_COMPONENT_UPGRADE_URL = "https://go.elementor.com/go-pro-components-edit/";
1666
1679
  var updateGroups = (groups, config) => {
1667
1680
  const disableMap = new Map(Object.entries(config.disable ?? {}));
1668
1681
  const addMap = new Map(Object.entries(config.add ?? {}));
@@ -1771,6 +1784,10 @@ function createComponentView(options) {
1771
1784
  }
1772
1785
  _getContextMenuConfig() {
1773
1786
  const isAdministrator = isUserAdministrator();
1787
+ const hasPro = hasProInstalled();
1788
+ const proLabel = (0, import_i18n7.__)("PRO", "elementor");
1789
+ const badgeClass = "elementor-context-menu-list__item__shortcut__new-badge";
1790
+ const proBadge = `<a href="${EDIT_COMPONENT_UPGRADE_URL}" target="_blank" onclick="event.stopPropagation()" class="${badgeClass}">${proLabel}</a>`;
1774
1791
  const addedGroup = {
1775
1792
  general: {
1776
1793
  index: 1,
@@ -1778,7 +1795,8 @@ function createComponentView(options) {
1778
1795
  name: "edit component",
1779
1796
  icon: "eicon-edit",
1780
1797
  title: () => (0, import_i18n7.__)("Edit Component", "elementor"),
1781
- isEnabled: () => true,
1798
+ ...!hasPro && { shortcut: proBadge, hasShortcutAction: true },
1799
+ isEnabled: () => hasPro,
1782
1800
  callback: (_, eventData) => this.editComponent(eventData)
1783
1801
  }
1784
1802
  }
@@ -1799,7 +1817,8 @@ function createComponentView(options) {
1799
1817
  }
1800
1818
  }
1801
1819
  editComponent({ trigger, location, secondaryLocation }) {
1802
- if (this.isComponentCurrentlyEdited()) {
1820
+ const hasPro = hasProInstalled();
1821
+ if (!hasPro || this.isComponentCurrentlyEdited()) {
1803
1822
  return;
1804
1823
  }
1805
1824
  this.switchDocument();
@@ -1816,8 +1835,7 @@ function createComponentView(options) {
1816
1835
  }
1817
1836
  handleDblClick(e) {
1818
1837
  e.stopPropagation();
1819
- const isAdministrator = isUserAdministrator();
1820
- if (!isAdministrator) {
1838
+ if (!isUserAdministrator() || !hasProInstalled()) {
1821
1839
  return;
1822
1840
  }
1823
1841
  const { triggers, locations, secondaryLocations } = this.eventsManagerConfig;
@@ -2127,7 +2145,6 @@ var ComponentIntroduction = ({
2127
2145
  // src/extended/components/component-properties-panel/component-properties-panel.tsx
2128
2146
  var React25 = __toESM(require("react"));
2129
2147
  var import_editor_editing_panel5 = require("@elementor/editor-editing-panel");
2130
- var import_editor_elements9 = require("@elementor/editor-elements");
2131
2148
  var import_editor_panels4 = require("@elementor/editor-panels");
2132
2149
  var import_editor_ui11 = require("@elementor/editor-ui");
2133
2150
  var import_ui21 = require("@elementor/ui");
@@ -2361,9 +2378,9 @@ function deleteOverridableGroup({ componentId, groupId }) {
2361
2378
  var import_store30 = require("@elementor/store");
2362
2379
 
2363
2380
  // src/extended/utils/revert-overridable-settings.ts
2364
- var import_editor_elements7 = require("@elementor/editor-elements");
2381
+ var import_editor_elements6 = require("@elementor/editor-elements");
2365
2382
  function revertElementOverridableSetting(elementId, settingKey, originValue, overrideKey) {
2366
- const container = (0, import_editor_elements7.getContainer)(elementId);
2383
+ const container = (0, import_editor_elements6.getContainer)(elementId);
2367
2384
  if (!container) {
2368
2385
  return;
2369
2386
  }
@@ -2371,14 +2388,14 @@ function revertElementOverridableSetting(elementId, settingKey, originValue, ove
2371
2388
  revertComponentInstanceOverridableSetting(elementId, overrideKey);
2372
2389
  return;
2373
2390
  }
2374
- (0, import_editor_elements7.updateElementSettings)({
2391
+ (0, import_editor_elements6.updateElementSettings)({
2375
2392
  id: elementId,
2376
2393
  props: { [settingKey]: originValue ?? null },
2377
2394
  withHistory: false
2378
2395
  });
2379
2396
  }
2380
2397
  function revertComponentInstanceOverridableSetting(elementId, overrideKey) {
2381
- const setting = (0, import_editor_elements7.getElementSetting)(elementId, "component_instance");
2398
+ const setting = (0, import_editor_elements6.getElementSetting)(elementId, "component_instance");
2382
2399
  const componentInstance = componentInstancePropTypeUtil.extract(setting);
2383
2400
  const overrides = componentInstanceOverridesPropTypeUtil.extract(componentInstance?.overrides);
2384
2401
  if (!overrides?.length) {
@@ -2389,7 +2406,7 @@ function revertComponentInstanceOverridableSetting(elementId, overrideKey) {
2389
2406
  ...componentInstance,
2390
2407
  overrides: componentInstanceOverridesPropTypeUtil.create(revertedOverrides)
2391
2408
  });
2392
- (0, import_editor_elements7.updateElementSettings)({
2409
+ (0, import_editor_elements6.updateElementSettings)({
2393
2410
  id: elementId,
2394
2411
  props: { component_instance: updatedSetting },
2395
2412
  withHistory: false
@@ -2454,7 +2471,7 @@ function revertComponentInstanceSettings(settings) {
2454
2471
  };
2455
2472
  }
2456
2473
  function revertAllOverridablesInContainer(container) {
2457
- (0, import_editor_elements7.getAllDescendants)(container).forEach((element) => {
2474
+ (0, import_editor_elements6.getAllDescendants)(container).forEach((element) => {
2458
2475
  if (element.model.get("widgetType") === COMPONENT_WIDGET_TYPE) {
2459
2476
  revertComponentInstanceOverridesInElement(element);
2460
2477
  } else {
@@ -2474,7 +2491,7 @@ function revertComponentInstanceOverridesInElement(element) {
2474
2491
  ...componentInstance,
2475
2492
  overrides: componentInstanceOverridesPropTypeUtil.create(revertedOverrides)
2476
2493
  });
2477
- (0, import_editor_elements7.updateElementSettings)({
2494
+ (0, import_editor_elements6.updateElementSettings)({
2478
2495
  id: element.id,
2479
2496
  props: { component_instance: updatedSetting },
2480
2497
  withHistory: false
@@ -2486,7 +2503,7 @@ function revertElementSettings(element) {
2486
2503
  if (!hasChanges) {
2487
2504
  return;
2488
2505
  }
2489
- (0, import_editor_elements7.updateElementSettings)({
2506
+ (0, import_editor_elements6.updateElementSettings)({
2490
2507
  id: element.id,
2491
2508
  props: revertedSettings,
2492
2509
  withHistory: false
@@ -2683,7 +2700,7 @@ var import_i18n13 = require("@wordpress/i18n");
2683
2700
 
2684
2701
  // src/extended/components/component-properties-panel/property-item.tsx
2685
2702
  var React22 = __toESM(require("react"));
2686
- var import_editor_elements8 = require("@elementor/editor-elements");
2703
+ var import_editor_elements7 = require("@elementor/editor-elements");
2687
2704
  var import_icons10 = require("@elementor/icons");
2688
2705
  var import_ui18 = require("@elementor/ui");
2689
2706
 
@@ -2956,7 +2973,7 @@ function PropertyItem({
2956
2973
  }
2957
2974
  function getElementIcon(prop) {
2958
2975
  const elType = prop.elType === "widget" ? prop.widgetType : prop.elType;
2959
- const widgetsCache = (0, import_editor_elements8.getWidgetsCache)();
2976
+ const widgetsCache = (0, import_editor_elements7.getWidgetsCache)();
2960
2977
  if (!widgetsCache) {
2961
2978
  return "eicon-apps";
2962
2979
  }
@@ -3327,13 +3344,9 @@ var { panel, usePanelActions } = (0, import_editor_panels4.__createPanel)({
3327
3344
  component: ComponentPropertiesPanel
3328
3345
  });
3329
3346
  function ComponentPropertiesPanel() {
3330
- const { element, elementType } = (0, import_editor_elements9.useSelectedElement)();
3331
3347
  const { close: closePanel } = usePanelActions();
3332
3348
  const { open: openEditingPanel } = (0, import_editor_editing_panel5.usePanelActions)();
3333
- if (!element || !elementType) {
3334
- return null;
3335
- }
3336
- return /* @__PURE__ */ React25.createElement(import_editor_ui11.ThemeProvider, null, /* @__PURE__ */ React25.createElement(import_ui21.ErrorBoundary, { fallback: /* @__PURE__ */ React25.createElement(ErrorBoundaryFallback, null) }, /* @__PURE__ */ React25.createElement(import_editor_editing_panel5.ElementProvider, { element, elementType }, /* @__PURE__ */ React25.createElement(import_editor_panels4.Panel, null, /* @__PURE__ */ React25.createElement(
3349
+ return /* @__PURE__ */ React25.createElement(import_editor_ui11.ThemeProvider, null, /* @__PURE__ */ React25.createElement(import_ui21.ErrorBoundary, { fallback: /* @__PURE__ */ React25.createElement(ErrorBoundaryFallback, null) }, /* @__PURE__ */ React25.createElement(import_editor_panels4.Panel, null, /* @__PURE__ */ React25.createElement(
3337
3350
  ComponentPropertiesPanelContent,
3338
3351
  {
3339
3352
  onClose: () => {
@@ -3341,7 +3354,7 @@ function ComponentPropertiesPanel() {
3341
3354
  openEditingPanel();
3342
3355
  }
3343
3356
  }
3344
- )))));
3357
+ ))));
3345
3358
  }
3346
3359
  var ErrorBoundaryFallback = () => /* @__PURE__ */ React25.createElement(import_ui21.Box, { role: "alert", sx: { minHeight: "100%", p: 2 } }, /* @__PURE__ */ React25.createElement(import_ui21.Alert, { severity: "error", sx: { mb: 2, maxWidth: 400, textAlign: "center" } }, /* @__PURE__ */ React25.createElement("strong", null, (0, import_i18n17.__)("Something went wrong", "elementor"))));
3347
3360
 
@@ -3479,7 +3492,7 @@ var import_ui25 = require("@elementor/ui");
3479
3492
  var React29 = __toESM(require("react"));
3480
3493
  var import_react13 = require("react");
3481
3494
  var import_editor_canvas5 = require("@elementor/editor-canvas");
3482
- var import_editor_elements12 = require("@elementor/editor-elements");
3495
+ var import_editor_elements10 = require("@elementor/editor-elements");
3483
3496
  var import_editor_ui14 = require("@elementor/editor-ui");
3484
3497
  var import_icons15 = require("@elementor/icons");
3485
3498
  var import_ui24 = require("@elementor/ui");
@@ -3504,7 +3517,7 @@ var archiveComponent = (componentId, componentName) => {
3504
3517
 
3505
3518
  // src/extended/store/actions/rename-component.ts
3506
3519
  var import_editor_documents10 = require("@elementor/editor-documents");
3507
- var import_editor_elements10 = require("@elementor/editor-elements");
3520
+ var import_editor_elements8 = require("@elementor/editor-elements");
3508
3521
  var import_store46 = require("@elementor/store");
3509
3522
  var TITLE_EXTERNAL_CHANGE_COMMAND = "title_external_change";
3510
3523
  var renameComponent = (componentUid, newName) => {
@@ -3527,7 +3540,7 @@ function getDocumentContainer() {
3527
3540
  return documentsManager?.getCurrent()?.container;
3528
3541
  }
3529
3542
  function findComponentInstancesByUid(documentContainer, componentUid) {
3530
- const allDescendants = (0, import_editor_elements10.getAllDescendants)(documentContainer);
3543
+ const allDescendants = (0, import_editor_elements8.getAllDescendants)(documentContainer);
3531
3544
  return allDescendants.filter((element) => {
3532
3545
  const widgetType = element.model.get("widgetType");
3533
3546
  const editorSettings = element.model.get("editor_settings");
@@ -3605,9 +3618,9 @@ var createComponentModel2 = (component) => {
3605
3618
  };
3606
3619
 
3607
3620
  // src/extended/utils/get-container-for-new-element.ts
3608
- var import_editor_elements11 = require("@elementor/editor-elements");
3621
+ var import_editor_elements9 = require("@elementor/editor-elements");
3609
3622
  var getContainerForNewElement = () => {
3610
- const currentDocumentContainer = (0, import_editor_elements11.getCurrentDocumentContainer)();
3623
+ const currentDocumentContainer = (0, import_editor_elements9.getCurrentDocumentContainer)();
3611
3624
  const selectedElement = getSelectedElementContainer();
3612
3625
  let container, options;
3613
3626
  if (selectedElement) {
@@ -3633,11 +3646,11 @@ var getContainerForNewElement = () => {
3633
3646
  return { container: container ?? currentDocumentContainer, options };
3634
3647
  };
3635
3648
  function getSelectedElementContainer() {
3636
- const selectedElements = (0, import_editor_elements11.getSelectedElements)();
3649
+ const selectedElements = (0, import_editor_elements9.getSelectedElements)();
3637
3650
  if (selectedElements.length !== 1) {
3638
3651
  return void 0;
3639
3652
  }
3640
- return (0, import_editor_elements11.getContainer)(selectedElements[0].id);
3653
+ return (0, import_editor_elements9.getContainer)(selectedElements[0].id);
3641
3654
  }
3642
3655
 
3643
3656
  // src/extended/components/components-tab/delete-confirmation-dialog.tsx
@@ -3774,7 +3787,7 @@ var addComponentToPage = (model) => {
3774
3787
  throw new Error(`Can't find container to drop new component instance at`);
3775
3788
  }
3776
3789
  loadComponentsAssets([model]);
3777
- (0, import_editor_elements12.dropElement)({
3790
+ (0, import_editor_elements10.dropElement)({
3778
3791
  containerId: container.id,
3779
3792
  model,
3780
3793
  options: { ...options, useHistory: false, scrollIntoView: true }
@@ -3812,7 +3825,7 @@ var ExtendedComponents = () => {
3812
3825
  // src/extended/components/create-component-form/create-component-form.tsx
3813
3826
  var React31 = __toESM(require("react"));
3814
3827
  var import_react15 = require("react");
3815
- var import_editor_elements16 = require("@elementor/editor-elements");
3828
+ var import_editor_elements14 = require("@elementor/editor-elements");
3816
3829
  var import_editor_notifications3 = require("@elementor/editor-notifications");
3817
3830
  var import_editor_ui16 = require("@elementor/editor-ui");
3818
3831
  var import_icons16 = require("@elementor/icons");
@@ -3821,16 +3834,16 @@ var import_ui26 = require("@elementor/ui");
3821
3834
  var import_i18n26 = require("@wordpress/i18n");
3822
3835
 
3823
3836
  // src/extended/store/actions/create-unpublished-component.ts
3824
- var import_editor_elements14 = require("@elementor/editor-elements");
3837
+ var import_editor_elements12 = require("@elementor/editor-elements");
3825
3838
  var import_editor_v1_adapters3 = require("@elementor/editor-v1-adapters");
3826
3839
  var import_store50 = require("@elementor/store");
3827
3840
  var import_utils6 = require("@elementor/utils");
3828
3841
  var import_i18n24 = require("@wordpress/i18n");
3829
3842
 
3830
3843
  // src/extended/utils/replace-element-with-component.ts
3831
- var import_editor_elements13 = require("@elementor/editor-elements");
3844
+ var import_editor_elements11 = require("@elementor/editor-elements");
3832
3845
  var replaceElementWithComponent = async (element, component) => {
3833
- return await (0, import_editor_elements13.replaceElement)({
3846
+ return await (0, import_editor_elements11.replaceElement)({
3834
3847
  currentElement: element,
3835
3848
  newElement: createComponentModel2(component),
3836
3849
  withHistory: false
@@ -3849,7 +3862,7 @@ async function createUnpublishedComponent({
3849
3862
  const generatedUid = uid ?? (0, import_utils6.generateUniqueId)("component");
3850
3863
  const componentBase = { uid: generatedUid, name };
3851
3864
  const elementDataWithOverridablesReverted = revertAllOverridablesInElementData(element);
3852
- const container = (0, import_editor_elements14.getContainer)(element.id);
3865
+ const container = (0, import_editor_elements12.getContainer)(element.id);
3853
3866
  const modelFromContainer = container?.model?.toJSON?.();
3854
3867
  const originalElement = {
3855
3868
  model: modelFromContainer ?? element,
@@ -3883,16 +3896,16 @@ async function createUnpublishedComponent({
3883
3896
  return { uid: generatedUid, instanceId: componentInstance.id };
3884
3897
  }
3885
3898
  function restoreOriginalElement(originalElement, componentInstanceId) {
3886
- const componentContainer = (0, import_editor_elements14.getContainer)(componentInstanceId);
3899
+ const componentContainer = (0, import_editor_elements12.getContainer)(componentInstanceId);
3887
3900
  if (componentContainer) {
3888
- (0, import_editor_elements14.deleteElement)({ container: componentContainer, options: { useHistory: false } });
3901
+ (0, import_editor_elements12.deleteElement)({ container: componentContainer, options: { useHistory: false } });
3889
3902
  }
3890
- const parentContainer = (0, import_editor_elements14.getContainer)(originalElement.parentId);
3903
+ const parentContainer = (0, import_editor_elements12.getContainer)(originalElement.parentId);
3891
3904
  if (!parentContainer) {
3892
3905
  return;
3893
3906
  }
3894
3907
  const clonedModel = structuredClone(originalElement.model);
3895
- (0, import_editor_elements14.createElements)({
3908
+ (0, import_editor_elements12.createElements)({
3896
3909
  title: (0, import_i18n24.__)("Restore Element", "elementor"),
3897
3910
  elements: [
3898
3911
  {
@@ -3906,7 +3919,7 @@ function restoreOriginalElement(originalElement, componentInstanceId) {
3906
3919
 
3907
3920
  // src/extended/sync/prevent-non-atomic-nesting.ts
3908
3921
  var import_editor_canvas6 = require("@elementor/editor-canvas");
3909
- var import_editor_elements15 = require("@elementor/editor-elements");
3922
+ var import_editor_elements13 = require("@elementor/editor-elements");
3910
3923
  var import_editor_notifications2 = require("@elementor/editor-notifications");
3911
3924
  var import_editor_v1_adapters4 = require("@elementor/editor-v1-adapters");
3912
3925
  var import_i18n25 = require("@wordpress/i18n");
@@ -3942,7 +3955,7 @@ function initNonAtomicNestingPrevention() {
3942
3955
  });
3943
3956
  }
3944
3957
  function isElementAtomic(elementType) {
3945
- return (0, import_editor_elements15.getElementType)(elementType) !== null;
3958
+ return (0, import_editor_elements13.getElementType)(elementType) !== null;
3946
3959
  }
3947
3960
  function blockNonAtomicCreate(args) {
3948
3961
  if (!isEditingComponent()) {
@@ -3968,7 +3981,7 @@ function blockNonAtomicMove(args) {
3968
3981
  if (!container) {
3969
3982
  return false;
3970
3983
  }
3971
- const allElements = (0, import_editor_elements15.getAllDescendants)(container);
3984
+ const allElements = (0, import_editor_elements13.getAllDescendants)(container);
3972
3985
  return allElements.some((element) => !(0, import_editor_canvas6.isAtomicWidget)(element));
3973
3986
  });
3974
3987
  if (hasNonAtomicElement) {
@@ -4115,7 +4128,7 @@ function CreateComponentForm() {
4115
4128
  (0, import_editor_notifications3.notify)(notification);
4116
4129
  return;
4117
4130
  }
4118
- setElement({ element: event.detail.element, elementLabel: (0, import_editor_elements16.getElementLabel)(event.detail.element.id) });
4131
+ setElement({ element: event.detail.element, elementLabel: (0, import_editor_elements14.getElementLabel)(event.detail.element.id) });
4119
4132
  setAnchorPosition(event.detail.anchorPosition);
4120
4133
  eventData.current = getComponentEventData(event.detail.element, event.detail.options);
4121
4134
  trackComponentEvent({
@@ -4713,7 +4726,7 @@ function ControlWithReplacements({
4713
4726
  var React37 = __toESM(require("react"));
4714
4727
  var import_editor_controls6 = require("@elementor/editor-controls");
4715
4728
  var import_editor_editing_panel7 = require("@elementor/editor-editing-panel");
4716
- var import_editor_elements17 = require("@elementor/editor-elements");
4729
+ var import_editor_elements15 = require("@elementor/editor-elements");
4717
4730
  var import_ui29 = require("@elementor/ui");
4718
4731
  var import_i18n30 = require("@wordpress/i18n");
4719
4732
 
@@ -4895,7 +4908,7 @@ function Content2({ componentId, overridableProps }) {
4895
4908
  });
4896
4909
  const triggerProps = (0, import_ui29.bindTrigger)(popupState);
4897
4910
  const popoverProps = (0, import_ui29.bindPopover)(popupState);
4898
- const { elType } = (0, import_editor_elements17.getWidgetsCache)()?.[elementType.key] ?? { elType: "widget" };
4911
+ const { elType } = (0, import_editor_elements15.getWidgetsCache)()?.[elementType.key] ?? { elType: "widget" };
4899
4912
  const handleSubmit = ({ label, group }) => {
4900
4913
  const propTypeDefault = propType.default ?? {};
4901
4914
  const originValue = resolveOverridePropValue(overridableValue?.origin_value) ?? value ?? propTypeDefault;
@@ -4962,7 +4975,7 @@ var import_editor_mcp2 = require("@elementor/editor-mcp");
4962
4975
 
4963
4976
  // src/extended/mcp/save-as-component-tool.ts
4964
4977
  var import_editor_canvas7 = require("@elementor/editor-canvas");
4965
- var import_editor_elements18 = require("@elementor/editor-elements");
4978
+ var import_editor_elements16 = require("@elementor/editor-elements");
4966
4979
  var import_editor_mcp = require("@elementor/editor-mcp");
4967
4980
  var import_http_client2 = require("@elementor/http-client");
4968
4981
  var import_schema6 = require("@elementor/schema");
@@ -5007,7 +5020,7 @@ var handleSaveAsComponent = async (params) => {
5007
5020
  overridable_props: overridablePropsInput
5008
5021
  } = params;
5009
5022
  const validElementTypes = getValidElementTypes();
5010
- const container = (0, import_editor_elements18.getContainer)(elementId);
5023
+ const container = (0, import_editor_elements16.getContainer)(elementId);
5011
5024
  if (!container) {
5012
5025
  throw new Error(ERROR_MESSAGES3.ELEMENT_NOT_FOUND);
5013
5026
  }
@@ -5073,7 +5086,7 @@ function enrichOverridableProps(input, rootElement, propertGroups) {
5073
5086
  }
5074
5087
  const elType = element.elType;
5075
5088
  const widgetType = element.widgetType || element.elType;
5076
- const elementType = (0, import_editor_elements18.getElementType)(widgetType);
5089
+ const elementType = (0, import_editor_elements16.getElementType)(widgetType);
5077
5090
  if (!elementType) {
5078
5091
  throw new Error(
5079
5092
  `Element type "${widgetType}" is not atomic or does not have a settings schema. Cannot expose property "${propKey}" for element "${elementId}".`
@@ -5144,7 +5157,7 @@ function findElementById(root, targetId) {
5144
5157
  return null;
5145
5158
  }
5146
5159
  function getValidElementTypes() {
5147
- const types = (0, import_editor_elements18.getWidgetsCache)();
5160
+ const types = (0, import_editor_elements16.getWidgetsCache)();
5148
5161
  if (!types) {
5149
5162
  return [];
5150
5163
  }
@@ -5391,7 +5404,7 @@ var updateComponentTitleBeforeSave = async (status) => {
5391
5404
  };
5392
5405
 
5393
5406
  // src/extended/sync/create-components-before-save.ts
5394
- var import_editor_elements19 = require("@elementor/editor-elements");
5407
+ var import_editor_elements17 = require("@elementor/editor-elements");
5395
5408
  var import_store72 = require("@elementor/store");
5396
5409
  async function createComponentsBeforeSave({
5397
5410
  elements,
@@ -5461,7 +5474,7 @@ function shouldUpdateElement(element, uidToComponentId) {
5461
5474
  return { shouldUpdate: false, newComponentId: null };
5462
5475
  }
5463
5476
  function updateElementComponentId(elementId, componentId) {
5464
- (0, import_editor_elements19.updateElementSettings)({
5477
+ (0, import_editor_elements17.updateElementSettings)({
5465
5478
  id: elementId,
5466
5479
  props: {
5467
5480
  component_instance: {
@@ -5497,7 +5510,7 @@ var updateExistingComponentsBeforeSave = async ({
5497
5510
  };
5498
5511
 
5499
5512
  // src/extended/sync/cleanup-overridable-props-on-delete.ts
5500
- var import_editor_elements20 = require("@elementor/editor-elements");
5513
+ var import_editor_elements18 = require("@elementor/editor-elements");
5501
5514
  var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
5502
5515
  var import_store74 = require("@elementor/store");
5503
5516
  function initCleanupOverridablePropsOnDelete() {
@@ -5534,7 +5547,7 @@ function initCleanupOverridablePropsOnDelete() {
5534
5547
  });
5535
5548
  }
5536
5549
  function collectDeletedElementIds(containers) {
5537
- const elementIds = containers.filter(Boolean).flatMap((container) => [container, ...(0, import_editor_elements20.getAllDescendants)(container)]).map((element) => element.model?.get?.("id") ?? element.id).filter((id2) => Boolean(id2));
5550
+ const elementIds = containers.filter(Boolean).flatMap((container) => [container, ...(0, import_editor_elements18.getAllDescendants)(container)]).map((element) => element.model?.get?.("id") ?? element.id).filter((id2) => Boolean(id2));
5538
5551
  return elementIds;
5539
5552
  }
5540
5553
  function isPartOfMoveCommand(options) {
@@ -5543,7 +5556,7 @@ function isPartOfMoveCommand(options) {
5543
5556
  }
5544
5557
 
5545
5558
  // src/extended/sync/handle-component-edit-mode-container.ts
5546
- var import_editor_elements21 = require("@elementor/editor-elements");
5559
+ var import_editor_elements19 = require("@elementor/editor-elements");
5547
5560
  var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
5548
5561
  var V4_DEFAULT_CONTAINER_TYPE = "e-flexbox";
5549
5562
  function initHandleComponentEditModeContainer() {
@@ -5593,11 +5606,11 @@ function initRedirectDropIntoComponent() {
5593
5606
  });
5594
5607
  }
5595
5608
  function createEmptyTopLevelContainer(container) {
5596
- const newContainer = (0, import_editor_elements21.createElement)({
5609
+ const newContainer = (0, import_editor_elements19.createElement)({
5597
5610
  container,
5598
5611
  model: { elType: V4_DEFAULT_CONTAINER_TYPE }
5599
5612
  });
5600
- (0, import_editor_elements21.selectElement)(newContainer.id);
5613
+ (0, import_editor_elements19.selectElement)(newContainer.id);
5601
5614
  }
5602
5615
  function getComponentContainer(container) {
5603
5616
  const topLevelElement = container.children?.[0];
@@ -5749,7 +5762,7 @@ function PopulateStore() {
5749
5762
  }
5750
5763
 
5751
5764
  // src/prevent-circular-nesting.ts
5752
- var import_editor_elements22 = require("@elementor/editor-elements");
5765
+ var import_editor_elements20 = require("@elementor/editor-elements");
5753
5766
  var import_editor_notifications5 = require("@elementor/editor-notifications");
5754
5767
  var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
5755
5768
  var import_store80 = require("@elementor/store");
@@ -5844,7 +5857,7 @@ function blockCircularMove(args) {
5844
5857
  if (!container) {
5845
5858
  return false;
5846
5859
  }
5847
- const allElements = (0, import_editor_elements22.getAllDescendants)(container);
5860
+ const allElements = (0, import_editor_elements20.getAllDescendants)(container);
5848
5861
  return allElements.some((element) => {
5849
5862
  const componentId = extractComponentIdFromContainer(element);
5850
5863
  if (componentId === null) {
@@ -5969,6 +5982,8 @@ function init() {
5969
5982
  }
5970
5983
  // Annotate the CommonJS export names for ESM import in node:
5971
5984
  0 && (module.exports = {
5972
- init
5985
+ hasProInstalled,
5986
+ init,
5987
+ isProActive
5973
5988
  });
5974
5989
  //# sourceMappingURL=index.js.map