@elementor/editor-components 3.35.0-460 → 3.35.0-461

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
@@ -42,7 +42,7 @@ var import_editor_editing_panel8 = require("@elementor/editor-editing-panel");
42
42
  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
- var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
45
+ var import_editor_v1_adapters12 = require("@elementor/editor-v1-adapters");
46
46
  var import_store80 = require("@elementor/store");
47
47
  var import_i18n30 = require("@wordpress/i18n");
48
48
 
@@ -4255,150 +4255,16 @@ function isPropAllowed(propType) {
4255
4255
  return propType.meta.overridable !== false;
4256
4256
  }
4257
4257
 
4258
- // src/hooks/cleanup-overridable-props-on-delete.ts
4259
- var import_editor_elements17 = require("@elementor/editor-elements");
4260
- var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
4261
- var import_store63 = require("@elementor/store");
4262
- function initCleanupOverridablePropsOnDelete() {
4263
- (0, import_editor_v1_adapters8.registerDataHook)("dependency", "document/elements/delete", (args) => {
4264
- const state = (0, import_store63.__getState)();
4265
- if (!state) {
4266
- return true;
4267
- }
4268
- const currentComponentId = selectCurrentComponentId(state);
4269
- if (!currentComponentId) {
4270
- return true;
4271
- }
4272
- const overridableProps = selectOverridableProps(state, currentComponentId);
4273
- if (!overridableProps || Object.keys(overridableProps.props).length === 0) {
4274
- return true;
4275
- }
4276
- const containers = args.containers ?? (args.container ? [args.container] : []);
4277
- if (containers.length === 0) {
4278
- return true;
4279
- }
4280
- const deletedElementIds = collectDeletedElementIds(containers);
4281
- if (deletedElementIds.length === 0) {
4282
- return true;
4283
- }
4284
- const propKeysToDelete = Object.entries(overridableProps.props).filter(([, prop]) => deletedElementIds.includes(prop.elementId)).map(([propKey]) => propKey);
4285
- if (propKeysToDelete.length === 0) {
4286
- return true;
4287
- }
4288
- const remainingProps = Object.fromEntries(
4289
- Object.entries(overridableProps.props).filter(([propKey]) => !propKeysToDelete.includes(propKey))
4290
- );
4291
- let updatedGroups = overridableProps.groups;
4292
- for (const propKey of propKeysToDelete) {
4293
- updatedGroups = removePropFromAllGroups(updatedGroups, propKey);
4294
- }
4295
- (0, import_store63.__dispatch)(
4296
- slice.actions.setOverridableProps({
4297
- componentId: currentComponentId,
4298
- overridableProps: {
4299
- ...overridableProps,
4300
- props: remainingProps,
4301
- groups: updatedGroups
4302
- }
4303
- })
4304
- );
4305
- return true;
4306
- });
4307
- }
4308
- function collectDeletedElementIds(containers) {
4309
- const elementIds = containers.filter(Boolean).flatMap((container) => [container, ...(0, import_editor_elements17.getAllDescendants)(container)]).map((element) => element.model?.get?.("id") ?? element.id).filter((id2) => Boolean(id2));
4310
- return elementIds;
4311
- }
4312
-
4313
- // src/hooks/regenerate-override-keys.ts
4314
- var import_editor_elements18 = require("@elementor/editor-elements");
4315
- var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
4316
- var import_utils9 = require("@elementor/utils");
4317
- function initRegenerateOverrideKeys() {
4318
- (0, import_editor_v1_adapters9.registerDataHook)("after", "document/elements/duplicate", (_args, result) => {
4319
- regenerateOverrideKeysForContainers(result);
4320
- });
4321
- (0, import_editor_v1_adapters9.registerDataHook)("after", "document/elements/paste", (_args, result) => {
4322
- regenerateOverrideKeysForContainers(result);
4323
- });
4324
- (0, import_editor_v1_adapters9.registerDataHook)("after", "document/elements/import", (_args, result) => {
4325
- regenerateOverrideKeysForContainers(result);
4326
- });
4327
- }
4328
- function regenerateOverrideKeysForContainers(result) {
4329
- const containers = Array.isArray(result) ? result : [result];
4330
- containers.forEach((container) => {
4331
- regenerateOverrideKeysRecursive(container.id);
4332
- });
4333
- }
4334
- function regenerateOverrideKeysRecursive(elementId) {
4335
- const container = (0, import_editor_elements18.getContainer)(elementId);
4336
- if (!container) {
4337
- return;
4338
- }
4339
- (0, import_editor_elements18.getAllDescendants)(container).forEach(regenerateOverrideKeys);
4340
- }
4341
- function regenerateOverrideKeys(element) {
4342
- if (!isComponentInstance(element.model.toJSON())) {
4343
- return;
4344
- }
4345
- const settings = element.settings?.toJSON() ?? {};
4346
- if (!hasOverrides(settings)) {
4347
- return;
4348
- }
4349
- const componentInstance = settings.component_instance;
4350
- const overrides = componentInstance.value.overrides;
4351
- const newOverrides = overrides.value.map((override) => {
4352
- if (!componentInstanceOverridePropTypeUtil.isValid(override)) {
4353
- return override;
4354
- }
4355
- return {
4356
- ...override,
4357
- value: {
4358
- ...override.value,
4359
- override_key: (0, import_utils9.generateUniqueId)("prop")
4360
- }
4361
- };
4362
- });
4363
- const newComponentInstance = {
4364
- ...componentInstance,
4365
- value: {
4366
- ...componentInstance.value,
4367
- overrides: {
4368
- ...overrides,
4369
- value: newOverrides
4370
- }
4371
- }
4372
- };
4373
- (0, import_editor_elements18.updateElementSettings)({
4374
- id: element.id,
4375
- props: { component_instance: newComponentInstance },
4376
- withHistory: false
4377
- });
4378
- }
4379
- function hasOverrides(settings) {
4380
- if (!componentInstancePropTypeUtil.isValid(settings?.component_instance)) {
4381
- return false;
4382
- }
4383
- const componentInstance = componentInstancePropTypeUtil.extract(settings?.component_instance);
4384
- const overrides = componentInstance?.overrides;
4385
- if (!componentInstanceOverridesPropTypeUtil.isValid(overrides)) {
4386
- return false;
4387
- }
4388
- const overridesValue = overrides?.value;
4389
- return !!overridesValue?.length;
4390
- }
4391
-
4392
4258
  // src/mcp/index.ts
4393
4259
  var import_editor_mcp3 = require("@elementor/editor-mcp");
4394
4260
 
4395
4261
  // src/mcp/save-as-component-tool.ts
4396
4262
  var import_editor_canvas7 = require("@elementor/editor-canvas");
4397
- var import_editor_elements19 = require("@elementor/editor-elements");
4263
+ var import_editor_elements17 = require("@elementor/editor-elements");
4398
4264
  var import_editor_mcp2 = require("@elementor/editor-mcp");
4399
4265
  var import_http_client2 = require("@elementor/http-client");
4400
4266
  var import_schema6 = require("@elementor/schema");
4401
- var import_utils10 = require("@elementor/utils");
4267
+ var import_utils9 = require("@elementor/utils");
4402
4268
  var InputSchema = {
4403
4269
  element_id: import_schema6.z.string().describe(
4404
4270
  '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.'
@@ -4432,7 +4298,7 @@ var ERROR_MESSAGES3 = {
4432
4298
  var handleSaveAsComponent = async (params) => {
4433
4299
  const { element_id: elementId, component_name: componentName, overridable_props: overridablePropsInput } = params;
4434
4300
  const validElementTypes = getValidElementTypes();
4435
- const container = (0, import_editor_elements19.getContainer)(elementId);
4301
+ const container = (0, import_editor_elements17.getContainer)(elementId);
4436
4302
  if (!container) {
4437
4303
  throw new Error(ERROR_MESSAGES3.ELEMENT_NOT_FOUND);
4438
4304
  }
@@ -4448,7 +4314,7 @@ var handleSaveAsComponent = async (params) => {
4448
4314
  if (overridableProps) {
4449
4315
  updateElementDataWithOverridableProps(element, overridableProps);
4450
4316
  }
4451
- const uid = (0, import_utils10.generateUniqueId)("component");
4317
+ const uid = (0, import_utils9.generateUniqueId)("component");
4452
4318
  try {
4453
4319
  await apiClient.validate({
4454
4320
  items: [
@@ -4470,7 +4336,7 @@ var handleSaveAsComponent = async (params) => {
4470
4336
  };
4471
4337
  function enrichOverridableProps(input, rootElement) {
4472
4338
  const enrichedProps = {};
4473
- const defaultGroupId = (0, import_utils10.generateUniqueId)("group");
4339
+ const defaultGroupId = (0, import_utils9.generateUniqueId)("group");
4474
4340
  Object.entries(input.props).forEach(([, prop]) => {
4475
4341
  const { elementId, propKey, label } = prop;
4476
4342
  const element = findElementById(rootElement, elementId);
@@ -4479,7 +4345,7 @@ function enrichOverridableProps(input, rootElement) {
4479
4345
  }
4480
4346
  const elType = element.elType;
4481
4347
  const widgetType = element.widgetType || element.elType;
4482
- const elementType = (0, import_editor_elements19.getElementType)(widgetType);
4348
+ const elementType = (0, import_editor_elements17.getElementType)(widgetType);
4483
4349
  if (!elementType) {
4484
4350
  throw new Error(
4485
4351
  `Element type "${widgetType}" is not atomic or does not have a settings schema. Cannot expose property "${propKey}" for element "${elementId}".`
@@ -4491,7 +4357,7 @@ function enrichOverridableProps(input, rootElement) {
4491
4357
  `Property "${propKey}" does not exist in element "${elementId}" (type: ${widgetType}). Available properties: ${availableProps}`
4492
4358
  );
4493
4359
  }
4494
- const overrideKey = (0, import_utils10.generateUniqueId)("prop");
4360
+ const overrideKey = (0, import_utils9.generateUniqueId)("prop");
4495
4361
  const originValue = element.settings?.[propKey] ? element.settings[propKey] : elementType.propsSchema[propKey].default ?? null;
4496
4362
  enrichedProps[overrideKey] = {
4497
4363
  overrideKey,
@@ -4548,7 +4414,7 @@ function findElementById(root, targetId) {
4548
4414
  return null;
4549
4415
  }
4550
4416
  function getValidElementTypes() {
4551
- const types = (0, import_editor_elements19.getWidgetsCache)();
4417
+ const types = (0, import_editor_elements17.getWidgetsCache)();
4552
4418
  if (!types) {
4553
4419
  return [];
4554
4420
  }
@@ -4726,19 +4592,19 @@ function initMcp() {
4726
4592
 
4727
4593
  // src/populate-store.ts
4728
4594
  var import_react18 = require("react");
4729
- var import_store65 = require("@elementor/store");
4595
+ var import_store63 = require("@elementor/store");
4730
4596
  function PopulateStore() {
4731
4597
  (0, import_react18.useEffect)(() => {
4732
- (0, import_store65.__dispatch)(loadComponents());
4598
+ (0, import_store63.__dispatch)(loadComponents());
4733
4599
  }, []);
4734
4600
  return null;
4735
4601
  }
4736
4602
 
4737
4603
  // src/prevent-circular-nesting.ts
4738
- var import_editor_elements20 = require("@elementor/editor-elements");
4604
+ var import_editor_elements18 = require("@elementor/editor-elements");
4739
4605
  var import_editor_notifications4 = require("@elementor/editor-notifications");
4740
- var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
4741
- var import_store66 = require("@elementor/store");
4606
+ var import_editor_v1_adapters8 = require("@elementor/editor-v1-adapters");
4607
+ var import_store64 = require("@elementor/store");
4742
4608
  var import_i18n29 = require("@wordpress/i18n");
4743
4609
  var COMPONENT_TYPE = "e-component";
4744
4610
  var COMPONENT_CIRCULAR_NESTING_ALERT = {
@@ -4747,15 +4613,15 @@ var COMPONENT_CIRCULAR_NESTING_ALERT = {
4747
4613
  id: "circular-component-nesting-blocked"
4748
4614
  };
4749
4615
  function initCircularNestingPrevention() {
4750
- (0, import_editor_v1_adapters10.blockCommand)({
4616
+ (0, import_editor_v1_adapters8.blockCommand)({
4751
4617
  command: "document/elements/create",
4752
4618
  condition: blockCircularCreate
4753
4619
  });
4754
- (0, import_editor_v1_adapters10.blockCommand)({
4620
+ (0, import_editor_v1_adapters8.blockCommand)({
4755
4621
  command: "document/elements/move",
4756
4622
  condition: blockCircularMove
4757
4623
  });
4758
- (0, import_editor_v1_adapters10.blockCommand)({
4624
+ (0, import_editor_v1_adapters8.blockCommand)({
4759
4625
  command: "document/elements/paste",
4760
4626
  condition: blockCircularPaste
4761
4627
  });
@@ -4764,7 +4630,7 @@ function wouldCreateCircularNesting(componentIdToAdd) {
4764
4630
  if (componentIdToAdd === void 0) {
4765
4631
  return false;
4766
4632
  }
4767
- const state = (0, import_store66.__getState)();
4633
+ const state = (0, import_store64.__getState)();
4768
4634
  const currentComponentId = selectCurrentComponentId(state);
4769
4635
  const path = selectPath(state);
4770
4636
  if (currentComponentId === null) {
@@ -4830,7 +4696,7 @@ function blockCircularMove(args) {
4830
4696
  if (!container) {
4831
4697
  return false;
4832
4698
  }
4833
- const allElements = (0, import_editor_elements20.getAllDescendants)(container);
4699
+ const allElements = (0, import_editor_elements18.getAllDescendants)(container);
4834
4700
  return allElements.some((element) => {
4835
4701
  const componentId = extractComponentIdFromContainer(element);
4836
4702
  if (componentId === null) {
@@ -4862,19 +4728,19 @@ function blockCircularPaste(args) {
4862
4728
  }
4863
4729
 
4864
4730
  // src/store/actions/remove-component-styles.ts
4865
- var import_store68 = require("@elementor/store");
4731
+ var import_store66 = require("@elementor/store");
4866
4732
  function removeComponentStyles(id2) {
4867
4733
  apiClient.invalidateComponentConfigCache(id2);
4868
- (0, import_store68.__dispatch)(slice.actions.removeStyles({ id: id2 }));
4734
+ (0, import_store66.__dispatch)(slice.actions.removeStyles({ id: id2 }));
4869
4735
  }
4870
4736
 
4871
4737
  // src/store/components-styles-provider.ts
4872
4738
  var import_editor_styles_repository = require("@elementor/editor-styles-repository");
4873
- var import_store70 = require("@elementor/store");
4739
+ var import_store68 = require("@elementor/store");
4874
4740
  var componentsStylesProvider = (0, import_editor_styles_repository.createStylesProvider)({
4875
4741
  key: "components-styles",
4876
4742
  priority: 100,
4877
- subscribe: (cb) => (0, import_store70.__subscribeWithSelector)(
4743
+ subscribe: (cb) => (0, import_store68.__subscribeWithSelector)(
4878
4744
  (state) => state[SLICE_NAME],
4879
4745
  () => {
4880
4746
  cb();
@@ -4882,29 +4748,29 @@ var componentsStylesProvider = (0, import_editor_styles_repository.createStylesP
4882
4748
  ),
4883
4749
  actions: {
4884
4750
  all: () => {
4885
- return selectFlatStyles((0, import_store70.__getState)());
4751
+ return selectFlatStyles((0, import_store68.__getState)());
4886
4752
  },
4887
4753
  get: (id2) => {
4888
- return selectFlatStyles((0, import_store70.__getState)()).find((style) => style.id === id2) ?? null;
4754
+ return selectFlatStyles((0, import_store68.__getState)()).find((style) => style.id === id2) ?? null;
4889
4755
  }
4890
4756
  }
4891
4757
  });
4892
4758
 
4893
4759
  // src/sync/create-components-before-save.ts
4894
- var import_editor_elements21 = require("@elementor/editor-elements");
4895
- var import_store72 = require("@elementor/store");
4760
+ var import_editor_elements19 = require("@elementor/editor-elements");
4761
+ var import_store70 = require("@elementor/store");
4896
4762
  async function createComponentsBeforeSave({
4897
4763
  elements,
4898
4764
  status
4899
4765
  }) {
4900
- const unpublishedComponents = selectUnpublishedComponents((0, import_store72.__getState)());
4766
+ const unpublishedComponents = selectUnpublishedComponents((0, import_store70.__getState)());
4901
4767
  if (!unpublishedComponents.length) {
4902
4768
  return;
4903
4769
  }
4904
4770
  try {
4905
4771
  const uidToComponentId = await createComponents(unpublishedComponents, status);
4906
4772
  updateComponentInstances(elements, uidToComponentId);
4907
- (0, import_store72.__dispatch)(
4773
+ (0, import_store70.__dispatch)(
4908
4774
  slice.actions.add(
4909
4775
  unpublishedComponents.map((component) => ({
4910
4776
  id: uidToComponentId.get(component.uid),
@@ -4914,7 +4780,7 @@ async function createComponentsBeforeSave({
4914
4780
  }))
4915
4781
  )
4916
4782
  );
4917
- (0, import_store72.__dispatch)(slice.actions.resetUnpublished());
4783
+ (0, import_store70.__dispatch)(slice.actions.resetUnpublished());
4918
4784
  } catch (error) {
4919
4785
  throw new Error(`Failed to publish components and update component instances: ${error}`);
4920
4786
  }
@@ -4959,7 +4825,7 @@ function shouldUpdateElement(element, uidToComponentId) {
4959
4825
  return { shouldUpdate: false, newComponentId: null };
4960
4826
  }
4961
4827
  function updateElementComponentId(elementId, componentId) {
4962
- (0, import_editor_elements21.updateElementSettings)({
4828
+ (0, import_editor_elements19.updateElementSettings)({
4963
4829
  id: elementId,
4964
4830
  props: {
4965
4831
  component_instance: {
@@ -4974,7 +4840,7 @@ function updateElementComponentId(elementId, componentId) {
4974
4840
  }
4975
4841
 
4976
4842
  // src/sync/set-component-overridable-props-settings-before-save.ts
4977
- var import_store74 = require("@elementor/store");
4843
+ var import_store72 = require("@elementor/store");
4978
4844
  var setComponentOverridablePropsSettingsBeforeSave = ({
4979
4845
  container
4980
4846
  }) => {
@@ -4982,7 +4848,7 @@ var setComponentOverridablePropsSettingsBeforeSave = ({
4982
4848
  if (!currentDocument || currentDocument.config.type !== COMPONENT_DOCUMENT_TYPE) {
4983
4849
  return;
4984
4850
  }
4985
- const overridableProps = selectOverridableProps((0, import_store74.__getState)(), currentDocument.id);
4851
+ const overridableProps = selectOverridableProps((0, import_store72.__getState)(), currentDocument.id);
4986
4852
  if (overridableProps) {
4987
4853
  container.settings.set("overridable_props", overridableProps);
4988
4854
  }
@@ -4990,7 +4856,7 @@ var setComponentOverridablePropsSettingsBeforeSave = ({
4990
4856
 
4991
4857
  // src/sync/update-archived-component-before-save.ts
4992
4858
  var import_editor_notifications5 = require("@elementor/editor-notifications");
4993
- var import_store76 = require("@elementor/store");
4859
+ var import_store74 = require("@elementor/store");
4994
4860
  var failedNotification = (message) => ({
4995
4861
  type: "error",
4996
4862
  message: `Failed to archive components: ${message}`,
@@ -4998,7 +4864,7 @@ var failedNotification = (message) => ({
4998
4864
  });
4999
4865
  var updateArchivedComponentBeforeSave = async () => {
5000
4866
  try {
5001
- const archivedComponents = selectArchivedThisSession((0, import_store76.__getState)());
4867
+ const archivedComponents = selectArchivedThisSession((0, import_store74.__getState)());
5002
4868
  if (!archivedComponents.length) {
5003
4869
  return;
5004
4870
  }
@@ -5013,15 +4879,15 @@ var updateArchivedComponentBeforeSave = async () => {
5013
4879
  };
5014
4880
 
5015
4881
  // src/sync/update-component-title-before-save.ts
5016
- var import_store78 = require("@elementor/store");
4882
+ var import_store76 = require("@elementor/store");
5017
4883
  var updateComponentTitleBeforeSave = async () => {
5018
- const updatedComponentNames = selectUpdatedComponentNames((0, import_store78.__getState)());
4884
+ const updatedComponentNames = selectUpdatedComponentNames((0, import_store76.__getState)());
5019
4885
  if (!updatedComponentNames.length) {
5020
4886
  return;
5021
4887
  }
5022
4888
  const result = await apiClient.updateComponentTitle(updatedComponentNames);
5023
4889
  if (result.failedIds.length === 0) {
5024
- (0, import_store78.__dispatch)(slice.actions.cleanUpdatedComponentNames());
4890
+ (0, import_store76.__dispatch)(slice.actions.cleanUpdatedComponentNames());
5025
4891
  }
5026
4892
  };
5027
4893
 
@@ -5053,6 +4919,155 @@ var beforeSave = ({ container, status }) => {
5053
4919
  ]);
5054
4920
  };
5055
4921
 
4922
+ // src/sync/cleanup-overridable-props-on-delete.ts
4923
+ var import_editor_elements20 = require("@elementor/editor-elements");
4924
+ var import_editor_v1_adapters9 = require("@elementor/editor-v1-adapters");
4925
+ var import_store78 = require("@elementor/store");
4926
+ function initCleanupOverridablePropsOnDelete() {
4927
+ (0, import_editor_v1_adapters9.registerDataHook)("dependency", "document/elements/delete", (args) => {
4928
+ const state = (0, import_store78.__getState)();
4929
+ if (!state) {
4930
+ return true;
4931
+ }
4932
+ const currentComponentId = selectCurrentComponentId(state);
4933
+ if (!currentComponentId) {
4934
+ return true;
4935
+ }
4936
+ const overridableProps = selectOverridableProps(state, currentComponentId);
4937
+ if (!overridableProps || Object.keys(overridableProps.props).length === 0) {
4938
+ return true;
4939
+ }
4940
+ const containers = args.containers ?? (args.container ? [args.container] : []);
4941
+ if (containers.length === 0) {
4942
+ return true;
4943
+ }
4944
+ const deletedElementIds = collectDeletedElementIds(containers);
4945
+ if (deletedElementIds.length === 0) {
4946
+ return true;
4947
+ }
4948
+ const propKeysToDelete = Object.entries(overridableProps.props).filter(([, prop]) => deletedElementIds.includes(prop.elementId)).map(([propKey]) => propKey);
4949
+ if (propKeysToDelete.length === 0) {
4950
+ return true;
4951
+ }
4952
+ const remainingProps = Object.fromEntries(
4953
+ Object.entries(overridableProps.props).filter(([propKey]) => !propKeysToDelete.includes(propKey))
4954
+ );
4955
+ let updatedGroups = overridableProps.groups;
4956
+ for (const propKey of propKeysToDelete) {
4957
+ updatedGroups = removePropFromAllGroups(updatedGroups, propKey);
4958
+ }
4959
+ (0, import_store78.__dispatch)(
4960
+ slice.actions.setOverridableProps({
4961
+ componentId: currentComponentId,
4962
+ overridableProps: {
4963
+ ...overridableProps,
4964
+ props: remainingProps,
4965
+ groups: updatedGroups
4966
+ }
4967
+ })
4968
+ );
4969
+ return true;
4970
+ });
4971
+ }
4972
+ function collectDeletedElementIds(containers) {
4973
+ 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));
4974
+ return elementIds;
4975
+ }
4976
+
4977
+ // src/sync/load-component-data-after-instance-added.ts
4978
+ var import_editor_v1_adapters10 = require("@elementor/editor-v1-adapters");
4979
+ function initLoadComponentDataAfterInstanceAdded() {
4980
+ (0, import_editor_v1_adapters10.registerDataHook)("after", "document/elements/paste", (_args, result) => {
4981
+ load(result);
4982
+ });
4983
+ (0, import_editor_v1_adapters10.registerDataHook)("after", "document/elements/import", (_args, result) => {
4984
+ load(result);
4985
+ });
4986
+ }
4987
+ function load(result) {
4988
+ const containers = Array.isArray(result) ? result : [result];
4989
+ loadComponentsAssets(containers.map((container) => container.model.toJSON()));
4990
+ }
4991
+
4992
+ // src/sync/regenerate-override-keys.ts
4993
+ var import_editor_elements21 = require("@elementor/editor-elements");
4994
+ var import_editor_v1_adapters11 = require("@elementor/editor-v1-adapters");
4995
+ var import_utils10 = require("@elementor/utils");
4996
+ function initRegenerateOverrideKeys() {
4997
+ (0, import_editor_v1_adapters11.registerDataHook)("after", "document/elements/duplicate", (_args, result) => {
4998
+ regenerateOverrideKeysForContainers(result);
4999
+ });
5000
+ (0, import_editor_v1_adapters11.registerDataHook)("after", "document/elements/paste", (_args, result) => {
5001
+ regenerateOverrideKeysForContainers(result);
5002
+ });
5003
+ (0, import_editor_v1_adapters11.registerDataHook)("after", "document/elements/import", (_args, result) => {
5004
+ regenerateOverrideKeysForContainers(result);
5005
+ });
5006
+ }
5007
+ function regenerateOverrideKeysForContainers(result) {
5008
+ const containers = Array.isArray(result) ? result : [result];
5009
+ containers.forEach((container) => {
5010
+ regenerateOverrideKeysRecursive(container.id);
5011
+ });
5012
+ }
5013
+ function regenerateOverrideKeysRecursive(elementId) {
5014
+ const container = (0, import_editor_elements21.getContainer)(elementId);
5015
+ if (!container) {
5016
+ return;
5017
+ }
5018
+ (0, import_editor_elements21.getAllDescendants)(container).forEach(regenerateOverrideKeys);
5019
+ }
5020
+ function regenerateOverrideKeys(element) {
5021
+ if (!isComponentInstance(element.model.toJSON())) {
5022
+ return;
5023
+ }
5024
+ const settings = element.settings?.toJSON() ?? {};
5025
+ if (!hasOverrides(settings)) {
5026
+ return;
5027
+ }
5028
+ const componentInstance = settings.component_instance;
5029
+ const overrides = componentInstance.value.overrides;
5030
+ const newOverrides = overrides.value.map((override) => {
5031
+ if (!componentInstanceOverridePropTypeUtil.isValid(override)) {
5032
+ return override;
5033
+ }
5034
+ return {
5035
+ ...override,
5036
+ value: {
5037
+ ...override.value,
5038
+ override_key: (0, import_utils10.generateUniqueId)("prop")
5039
+ }
5040
+ };
5041
+ });
5042
+ const newComponentInstance = {
5043
+ ...componentInstance,
5044
+ value: {
5045
+ ...componentInstance.value,
5046
+ overrides: {
5047
+ ...overrides,
5048
+ value: newOverrides
5049
+ }
5050
+ }
5051
+ };
5052
+ (0, import_editor_elements21.updateElementSettings)({
5053
+ id: element.id,
5054
+ props: { component_instance: newComponentInstance },
5055
+ withHistory: false
5056
+ });
5057
+ }
5058
+ function hasOverrides(settings) {
5059
+ if (!componentInstancePropTypeUtil.isValid(settings?.component_instance)) {
5060
+ return false;
5061
+ }
5062
+ const componentInstance = componentInstancePropTypeUtil.extract(settings?.component_instance);
5063
+ const overrides = componentInstance?.overrides;
5064
+ if (!componentInstanceOverridesPropTypeUtil.isValid(overrides)) {
5065
+ return false;
5066
+ }
5067
+ const overridesValue = overrides?.value;
5068
+ return !!overridesValue?.length;
5069
+ }
5070
+
5056
5071
  // src/init.ts
5057
5072
  function init() {
5058
5073
  import_editor_styles_repository2.stylesRepository.register(componentsStylesProvider);
@@ -5062,14 +5077,14 @@ function init() {
5062
5077
  COMPONENT_WIDGET_TYPE,
5063
5078
  (options) => createComponentType({ ...options, showLockedByModal: openEditModeDialog })
5064
5079
  );
5065
- (0, import_editor_v1_adapters11.registerDataHook)("dependency", "editor/documents/close", (args) => {
5080
+ (0, import_editor_v1_adapters12.registerDataHook)("dependency", "editor/documents/close", (args) => {
5066
5081
  const document = (0, import_editor_documents13.getV1CurrentDocument)();
5067
5082
  if (document.config.type === COMPONENT_DOCUMENT_TYPE) {
5068
5083
  args.mode = "autosave";
5069
5084
  }
5070
5085
  return true;
5071
5086
  });
5072
- (0, import_editor_v1_adapters11.registerDataHook)("after", "preview/drop", onElementDrop);
5087
+ (0, import_editor_v1_adapters12.registerDataHook)("after", "preview/drop", onElementDrop);
5073
5088
  window.elementorCommon.__beforeSave = beforeSave;
5074
5089
  (0, import_editor_elements_panel.injectTab)({
5075
5090
  id: "components",
@@ -5093,7 +5108,7 @@ function init() {
5093
5108
  id: "component-panel-header",
5094
5109
  component: ComponentPanelHeader
5095
5110
  });
5096
- (0, import_editor_v1_adapters11.registerDataHook)("after", "editor/documents/attach-preview", async () => {
5111
+ (0, import_editor_v1_adapters12.registerDataHook)("after", "editor/documents/attach-preview", async () => {
5097
5112
  const { id: id2, config } = (0, import_editor_documents13.getV1CurrentDocument)();
5098
5113
  if (id2) {
5099
5114
  removeComponentStyles(id2);
@@ -5124,6 +5139,7 @@ function init() {
5124
5139
  initMcp();
5125
5140
  initCircularNestingPrevention();
5126
5141
  initNonAtomicNestingPrevention();
5142
+ initLoadComponentDataAfterInstanceAdded();
5127
5143
  }
5128
5144
  // Annotate the CommonJS export names for ESM import in node:
5129
5145
  0 && (module.exports = {