@elementor/editor-components 3.35.0-419 → 3.35.0-420

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 CHANGED
@@ -43,7 +43,7 @@ var import_editor_elements_panel = require("@elementor/editor-elements-panel");
43
43
  var import_editor_panels4 = require("@elementor/editor-panels");
44
44
  var import_editor_styles_repository2 = require("@elementor/editor-styles-repository");
45
45
  var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
46
- var import_store76 = require("@elementor/store");
46
+ var import_store78 = require("@elementor/store");
47
47
  var import_i18n26 = require("@wordpress/i18n");
48
48
 
49
49
  // src/component-instance-transformer.ts
@@ -2192,8 +2192,8 @@ function getSelectedElementContainer() {
2192
2192
 
2193
2193
  // src/components/create-component-form/utils/replace-element-with-component.ts
2194
2194
  var import_editor_elements6 = require("@elementor/editor-elements");
2195
- var replaceElementWithComponent = (element, component) => {
2196
- (0, import_editor_elements6.replaceElement)({
2195
+ var replaceElementWithComponent = async (element, component) => {
2196
+ return await (0, import_editor_elements6.replaceElement)({
2197
2197
  currentElement: element,
2198
2198
  newElement: createComponentModel2(component),
2199
2199
  withHistory: false
@@ -2556,6 +2556,7 @@ var import_editor_elements9 = require("@elementor/editor-elements");
2556
2556
  var import_editor_notifications2 = require("@elementor/editor-notifications");
2557
2557
  var import_editor_ui8 = require("@elementor/editor-ui");
2558
2558
  var import_icons11 = require("@elementor/icons");
2559
+ var import_store47 = require("@elementor/store");
2559
2560
  var import_ui15 = require("@elementor/ui");
2560
2561
  var import_i18n18 = require("@wordpress/i18n");
2561
2562
 
@@ -2677,7 +2678,7 @@ function findNonAtomicElementsInElement(element) {
2677
2678
  var import_editor_v1_adapters5 = require("@elementor/editor-v1-adapters");
2678
2679
  var import_store45 = require("@elementor/store");
2679
2680
  var import_utils4 = require("@elementor/utils");
2680
- function createUnpublishedComponent(name, element, eventData, overridableProps, uid) {
2681
+ async function createUnpublishedComponent(name, element, eventData, overridableProps, uid) {
2681
2682
  const generatedUid = uid ?? (0, import_utils4.generateUniqueId)("component");
2682
2683
  const componentBase = { uid: generatedUid, name, overridableProps };
2683
2684
  (0, import_store45.__dispatch)(
@@ -2687,15 +2688,15 @@ function createUnpublishedComponent(name, element, eventData, overridableProps,
2687
2688
  })
2688
2689
  );
2689
2690
  (0, import_store45.__dispatch)(slice.actions.addCreatedThisSession(generatedUid));
2690
- replaceElementWithComponent(element, componentBase);
2691
+ const componentInstance = await replaceElementWithComponent(element, componentBase);
2691
2692
  trackComponentEvent({
2692
2693
  action: "created",
2693
2694
  component_uid: generatedUid,
2694
2695
  component_name: name,
2695
2696
  ...eventData
2696
2697
  });
2697
- (0, import_editor_v1_adapters5.__privateRunCommand)("document/save/auto");
2698
- return generatedUid;
2698
+ await (0, import_editor_v1_adapters5.__privateRunCommand)("document/save/auto");
2699
+ return { uid: generatedUid, instanceId: componentInstance.id };
2699
2700
  }
2700
2701
 
2701
2702
  // src/components/create-component-form/hooks/use-form.ts
@@ -2810,12 +2811,22 @@ function CreateComponentForm() {
2810
2811
  window.removeEventListener(OPEN_SAVE_AS_COMPONENT_FORM_EVENT, openPopup);
2811
2812
  };
2812
2813
  }, []);
2813
- const handleSave = (values) => {
2814
+ const handleSave = async (values) => {
2814
2815
  try {
2815
2816
  if (!element) {
2816
2817
  throw new Error(`Can't save element as component: element not found`);
2817
2818
  }
2818
- const uid = createUnpublishedComponent(values.componentName, element.element, eventData.current);
2819
+ const { uid, instanceId } = await createUnpublishedComponent(
2820
+ values.componentName,
2821
+ element.element,
2822
+ eventData.current
2823
+ );
2824
+ const publishedComponentId = selectComponentByUid((0, import_store47.__getState)(), uid)?.id;
2825
+ if (publishedComponentId) {
2826
+ switchToComponent(publishedComponentId, instanceId);
2827
+ } else {
2828
+ throw new Error("Failed to find published component");
2829
+ }
2819
2830
  setResultNotification({
2820
2831
  show: true,
2821
2832
  // Translators: %1$s: Component name, %2$s: Component UID
@@ -2932,17 +2943,17 @@ var React19 = __toESM(require("react"));
2932
2943
  var import_react13 = require("react");
2933
2944
  var import_editor_documents10 = require("@elementor/editor-documents");
2934
2945
  var import_editor_v1_adapters7 = require("@elementor/editor-v1-adapters");
2935
- var import_store49 = require("@elementor/store");
2946
+ var import_store51 = require("@elementor/store");
2936
2947
  var import_utils6 = require("@elementor/utils");
2937
2948
 
2938
2949
  // src/store/actions/update-current-component.ts
2939
2950
  var import_editor_documents9 = require("@elementor/editor-documents");
2940
- var import_store47 = require("@elementor/store");
2951
+ var import_store49 = require("@elementor/store");
2941
2952
  function updateCurrentComponent({
2942
2953
  path,
2943
2954
  currentComponentId
2944
2955
  }) {
2945
- const dispatch18 = (0, import_store47.__getStore)()?.dispatch;
2956
+ const dispatch18 = (0, import_store49.__getStore)()?.dispatch;
2946
2957
  if (!dispatch18) {
2947
2958
  return;
2948
2959
  }
@@ -3144,7 +3155,7 @@ function EditComponent() {
3144
3155
  function useHandleDocumentSwitches() {
3145
3156
  const documentsManager = (0, import_editor_documents10.getV1DocumentsManager)();
3146
3157
  const currentComponentId = useCurrentComponentId();
3147
- const path = (0, import_store49.__useSelector)(selectPath);
3158
+ const path = (0, import_store51.__useSelector)(selectPath);
3148
3159
  (0, import_react13.useEffect)(() => {
3149
3160
  return (0, import_editor_v1_adapters7.__privateListenTo)((0, import_editor_v1_adapters7.commandEndEvent)("editor/documents/open"), () => {
3150
3161
  const nextDocument = documentsManager.getCurrent();
@@ -3371,9 +3382,9 @@ function getControlsByBind(controls) {
3371
3382
  }
3372
3383
 
3373
3384
  // src/store/actions/update-overridable-prop.ts
3374
- var import_store51 = require("@elementor/store");
3385
+ var import_store53 = require("@elementor/store");
3375
3386
  function updateOverridableProp(componentId, propValue, originPropFields) {
3376
- const overridableProps = selectOverridableProps((0, import_store51.__getState)(), componentId);
3387
+ const overridableProps = selectOverridableProps((0, import_store53.__getState)(), componentId);
3377
3388
  if (!overridableProps) {
3378
3389
  return;
3379
3390
  }
@@ -3397,7 +3408,7 @@ function updateOverridableProp(componentId, propValue, originPropFields) {
3397
3408
  }
3398
3409
  }
3399
3410
  };
3400
- (0, import_store51.__dispatch)(
3411
+ (0, import_store53.__dispatch)(
3401
3412
  slice.actions.setOverridableProps({
3402
3413
  componentId,
3403
3414
  overridableProps: newOverridableProps
@@ -3685,7 +3696,7 @@ var import_ui23 = require("@elementor/ui");
3685
3696
  var import_i18n24 = require("@wordpress/i18n");
3686
3697
 
3687
3698
  // src/store/actions/set-overridable-prop.ts
3688
- var import_store56 = require("@elementor/store");
3699
+ var import_store58 = require("@elementor/store");
3689
3700
  var import_utils7 = require("@elementor/utils");
3690
3701
  function setOverridableProp({
3691
3702
  componentId,
@@ -3699,7 +3710,7 @@ function setOverridableProp({
3699
3710
  originValue,
3700
3711
  originPropFields
3701
3712
  }) {
3702
- const overridableProps = selectOverridableProps((0, import_store56.__getState)(), componentId);
3713
+ const overridableProps = selectOverridableProps((0, import_store58.__getState)(), componentId);
3703
3714
  if (!overridableProps) {
3704
3715
  return;
3705
3716
  }
@@ -3736,7 +3747,7 @@ function setOverridableProp({
3736
3747
  if (isChangingGroups) {
3737
3748
  groups = removePropFromGroup(groups, existingOverridableProp.groupId, overridableProp.overrideKey);
3738
3749
  }
3739
- (0, import_store56.__dispatch)(
3750
+ (0, import_store58.__dispatch)(
3740
3751
  slice.actions.setOverridableProps({
3741
3752
  componentId,
3742
3753
  overridableProps: {
@@ -3819,12 +3830,12 @@ var Indicator2 = (0, import_react16.forwardRef)(({ isOpen, isOverridable, ...pro
3819
3830
  )));
3820
3831
 
3821
3832
  // src/components/overridable-props/utils/get-overridable-prop.ts
3822
- var import_store58 = require("@elementor/store");
3833
+ var import_store60 = require("@elementor/store");
3823
3834
  function getOverridableProp({
3824
3835
  componentId,
3825
3836
  overrideKey
3826
3837
  }) {
3827
- const overridableProps = selectOverridableProps((0, import_store58.__getState)(), componentId);
3838
+ const overridableProps = selectOverridableProps((0, import_store60.__getState)(), componentId);
3828
3839
  if (!overridableProps) {
3829
3840
  return void 0;
3830
3841
  }
@@ -4334,10 +4345,10 @@ function initMcp() {
4334
4345
 
4335
4346
  // src/populate-store.ts
4336
4347
  var import_react17 = require("react");
4337
- var import_store61 = require("@elementor/store");
4348
+ var import_store63 = require("@elementor/store");
4338
4349
  function PopulateStore() {
4339
4350
  (0, import_react17.useEffect)(() => {
4340
- (0, import_store61.__dispatch)(loadComponents());
4351
+ (0, import_store63.__dispatch)(loadComponents());
4341
4352
  }, []);
4342
4353
  return null;
4343
4354
  }
@@ -4346,7 +4357,7 @@ function PopulateStore() {
4346
4357
  var import_editor_elements17 = require("@elementor/editor-elements");
4347
4358
  var import_editor_notifications3 = require("@elementor/editor-notifications");
4348
4359
  var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
4349
- var import_store62 = require("@elementor/store");
4360
+ var import_store64 = require("@elementor/store");
4350
4361
  var import_i18n25 = require("@wordpress/i18n");
4351
4362
  var COMPONENT_TYPE = "e-component";
4352
4363
  var COMPONENT_CIRCULAR_NESTING_ALERT = {
@@ -4372,7 +4383,7 @@ function wouldCreateCircularNesting(componentIdToAdd) {
4372
4383
  if (componentIdToAdd === void 0) {
4373
4384
  return false;
4374
4385
  }
4375
- const state = (0, import_store62.__getState)();
4386
+ const state = (0, import_store64.__getState)();
4376
4387
  const currentComponentId = selectCurrentComponentId(state);
4377
4388
  const path = selectPath(state);
4378
4389
  if (currentComponentId === null) {
@@ -4470,19 +4481,19 @@ function blockCircularPaste(args) {
4470
4481
  }
4471
4482
 
4472
4483
  // src/store/actions/remove-component-styles.ts
4473
- var import_store64 = require("@elementor/store");
4484
+ var import_store66 = require("@elementor/store");
4474
4485
  function removeComponentStyles(id2) {
4475
4486
  apiClient.invalidateComponentConfigCache(id2);
4476
- (0, import_store64.__dispatch)(slice.actions.removeStyles({ id: id2 }));
4487
+ (0, import_store66.__dispatch)(slice.actions.removeStyles({ id: id2 }));
4477
4488
  }
4478
4489
 
4479
4490
  // src/store/components-styles-provider.ts
4480
4491
  var import_editor_styles_repository = require("@elementor/editor-styles-repository");
4481
- var import_store66 = require("@elementor/store");
4492
+ var import_store68 = require("@elementor/store");
4482
4493
  var componentsStylesProvider = (0, import_editor_styles_repository.createStylesProvider)({
4483
4494
  key: "components-styles",
4484
4495
  priority: 100,
4485
- subscribe: (cb) => (0, import_store66.__subscribeWithSelector)(
4496
+ subscribe: (cb) => (0, import_store68.__subscribeWithSelector)(
4486
4497
  (state) => state[SLICE_NAME],
4487
4498
  () => {
4488
4499
  cb();
@@ -4490,29 +4501,29 @@ var componentsStylesProvider = (0, import_editor_styles_repository.createStylesP
4490
4501
  ),
4491
4502
  actions: {
4492
4503
  all: () => {
4493
- return selectFlatStyles((0, import_store66.__getState)());
4504
+ return selectFlatStyles((0, import_store68.__getState)());
4494
4505
  },
4495
4506
  get: (id2) => {
4496
- return selectFlatStyles((0, import_store66.__getState)()).find((style) => style.id === id2) ?? null;
4507
+ return selectFlatStyles((0, import_store68.__getState)()).find((style) => style.id === id2) ?? null;
4497
4508
  }
4498
4509
  }
4499
4510
  });
4500
4511
 
4501
4512
  // src/sync/create-components-before-save.ts
4502
4513
  var import_editor_elements18 = require("@elementor/editor-elements");
4503
- var import_store68 = require("@elementor/store");
4514
+ var import_store70 = require("@elementor/store");
4504
4515
  async function createComponentsBeforeSave({
4505
4516
  elements,
4506
4517
  status
4507
4518
  }) {
4508
- const unpublishedComponents = selectUnpublishedComponents((0, import_store68.__getState)());
4519
+ const unpublishedComponents = selectUnpublishedComponents((0, import_store70.__getState)());
4509
4520
  if (!unpublishedComponents.length) {
4510
4521
  return;
4511
4522
  }
4512
4523
  try {
4513
4524
  const uidToComponentId = await createComponents(unpublishedComponents, status);
4514
4525
  updateComponentInstances(elements, uidToComponentId);
4515
- (0, import_store68.__dispatch)(
4526
+ (0, import_store70.__dispatch)(
4516
4527
  slice.actions.add(
4517
4528
  unpublishedComponents.map((component) => ({
4518
4529
  id: uidToComponentId.get(component.uid),
@@ -4522,7 +4533,7 @@ async function createComponentsBeforeSave({
4522
4533
  }))
4523
4534
  )
4524
4535
  );
4525
- (0, import_store68.__dispatch)(slice.actions.resetUnpublished());
4536
+ (0, import_store70.__dispatch)(slice.actions.resetUnpublished());
4526
4537
  } catch (error) {
4527
4538
  throw new Error(`Failed to publish components and update component instances: ${error}`);
4528
4539
  }
@@ -4582,7 +4593,7 @@ function updateElementComponentId(elementId, componentId) {
4582
4593
  }
4583
4594
 
4584
4595
  // src/sync/set-component-overridable-props-settings-before-save.ts
4585
- var import_store70 = require("@elementor/store");
4596
+ var import_store72 = require("@elementor/store");
4586
4597
  var setComponentOverridablePropsSettingsBeforeSave = ({
4587
4598
  container
4588
4599
  }) => {
@@ -4590,7 +4601,7 @@ var setComponentOverridablePropsSettingsBeforeSave = ({
4590
4601
  if (!currentDocument || currentDocument.config.type !== COMPONENT_DOCUMENT_TYPE) {
4591
4602
  return;
4592
4603
  }
4593
- const overridableProps = selectOverridableProps((0, import_store70.__getState)(), currentDocument.id);
4604
+ const overridableProps = selectOverridableProps((0, import_store72.__getState)(), currentDocument.id);
4594
4605
  if (overridableProps) {
4595
4606
  container.settings.set("overridable_props", overridableProps);
4596
4607
  }
@@ -4598,7 +4609,7 @@ var setComponentOverridablePropsSettingsBeforeSave = ({
4598
4609
 
4599
4610
  // src/sync/update-archived-component-before-save.ts
4600
4611
  var import_editor_notifications4 = require("@elementor/editor-notifications");
4601
- var import_store72 = require("@elementor/store");
4612
+ var import_store74 = require("@elementor/store");
4602
4613
  var failedNotification = (message) => ({
4603
4614
  type: "error",
4604
4615
  message: `Failed to archive components: ${message}`,
@@ -4611,7 +4622,7 @@ var successNotification = (message) => ({
4611
4622
  });
4612
4623
  var updateArchivedComponentBeforeSave = async () => {
4613
4624
  try {
4614
- const archivedComponents = selectArchivedComponents((0, import_store72.__getState)());
4625
+ const archivedComponents = selectArchivedComponents((0, import_store74.__getState)());
4615
4626
  if (!archivedComponents.length) {
4616
4627
  return;
4617
4628
  }
@@ -4632,15 +4643,15 @@ var updateArchivedComponentBeforeSave = async () => {
4632
4643
  };
4633
4644
 
4634
4645
  // src/sync/update-component-title-before-save.ts
4635
- var import_store74 = require("@elementor/store");
4646
+ var import_store76 = require("@elementor/store");
4636
4647
  var updateComponentTitleBeforeSave = async () => {
4637
- const updatedComponentNames = selectUpdatedComponentNames((0, import_store74.__getState)());
4648
+ const updatedComponentNames = selectUpdatedComponentNames((0, import_store76.__getState)());
4638
4649
  if (!updatedComponentNames.length) {
4639
4650
  return;
4640
4651
  }
4641
4652
  const result = await apiClient.updateComponentTitle(updatedComponentNames);
4642
4653
  if (result.failedIds.length === 0) {
4643
- (0, import_store74.__dispatch)(slice.actions.cleanUpdatedComponentNames());
4654
+ (0, import_store76.__dispatch)(slice.actions.cleanUpdatedComponentNames());
4644
4655
  }
4645
4656
  };
4646
4657
 
@@ -4675,7 +4686,7 @@ var beforeSave = ({ container, status }) => {
4675
4686
  // src/init.ts
4676
4687
  function init() {
4677
4688
  import_editor_styles_repository2.stylesRepository.register(componentsStylesProvider);
4678
- (0, import_store76.__registerSlice)(slice);
4689
+ (0, import_store78.__registerSlice)(slice);
4679
4690
  (0, import_editor_panels4.__registerPanel)(panel);
4680
4691
  (0, import_editor_canvas9.registerElementType)(
4681
4692
  COMPONENT_WIDGET_TYPE,