@elementor/editor-elements 3.33.0-273 → 3.33.0-275

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
@@ -52,6 +52,26 @@ type ElementControl = {
52
52
  type ControlItem = ControlsSection | Control | ElementControl;
53
53
  type ControlLayout = 'full' | 'two-columns' | 'custom';
54
54
 
55
+ type ExtendedWindow = Window & {
56
+ elementor?: {
57
+ selection?: {
58
+ getElements: () => V1Element[];
59
+ };
60
+ widgetsCache?: Record<string, V1ElementConfig>;
61
+ documents?: {
62
+ getCurrent?: () => {
63
+ container: V1Element;
64
+ } | undefined;
65
+ getCurrentId?: () => number;
66
+ };
67
+ getContainer?: (id: string) => V1Element | undefined;
68
+ };
69
+ elementorCommon?: {
70
+ helpers?: {
71
+ getUniqueId?: () => string;
72
+ };
73
+ };
74
+ };
55
75
  type V1Element = {
56
76
  id: string;
57
77
  model: V1Model<V1ElementModelProps>;
@@ -69,6 +89,16 @@ type V1Element = {
69
89
  };
70
90
  parent?: V1Element;
71
91
  };
92
+ type ElementInteractions = {
93
+ version: number;
94
+ items: InteractionItem[];
95
+ };
96
+ type InteractionItem = {
97
+ animation: {
98
+ animation_type: string;
99
+ animation_id: string;
100
+ };
101
+ };
72
102
  type V1ElementModelProps = {
73
103
  widgetType?: string;
74
104
  elType: string;
@@ -77,7 +107,7 @@ type V1ElementModelProps = {
77
107
  elements?: V1Model<V1ElementModelProps>[];
78
108
  settings?: V1ElementSettingsProps;
79
109
  editor_settings?: V1ElementEditorSettingsProps;
80
- interactions?: string | Record<string, unknown>;
110
+ interactions?: string | ElementInteractions;
81
111
  };
82
112
  type V1ElementData = Omit<V1ElementModelProps, 'elements'> & {
83
113
  elements?: V1ElementData[];
@@ -361,16 +391,16 @@ type UpdateElementStyleArgs = {
361
391
  };
362
392
  declare function updateElementStyle(args: UpdateElementStyleArgs): void;
363
393
 
364
- declare const useElementInteractions: (elementId: ElementID) => string;
394
+ declare const useElementInteractions: (elementId: ElementID) => ElementInteractions;
365
395
 
366
- declare function getElementInteractions(elementId: ElementID): string;
396
+ declare function getElementInteractions(elementId: ElementID): ElementInteractions | undefined;
367
397
 
368
398
  declare const updateElementInteractions: ({ elementId, interactions, }: {
369
399
  elementId: string;
370
400
  interactions: V1ElementModelProps["interactions"];
371
401
  }) => void;
372
- declare const playElementInteractions: (elementId: string) => void;
402
+ declare const playElementInteractions: (elementId: string, animationId: string) => void;
373
403
 
374
404
  declare function initMcp(): void;
375
405
 
376
- export { type Control, type ControlItem, type ControlLayout, type ControlsSection, type CreateElementParams, type CreateElementStyleArgs, type DropElementParams, type DuplicateElementParams, type DuplicateElementsParams, type DuplicatedElement, type DuplicatedElementsResult, ELEMENT_STYLE_CHANGE_EVENT, type Element, type ElementChildren, type ElementControl, type ElementID, type ElementModel, type ElementType, type LinkInLinkRestriction, type MoveElementParams, type MoveElementsParams, type MovedElement, type MovedElementsResult, type UpdateElementSettingsArgs, type UpdateElementStyleArgs, type V1Element, type V1ElementConfig, type V1ElementData, type V1ElementModelProps, type V1ElementSettingsProps, createElement, createElementStyle, createElements, deleteElement, deleteElementStyle, dropElement, duplicateElement, duplicateElements, generateElementId, getAnchoredAncestorId, getAnchoredDescendantId, getContainer, getCurrentDocumentContainer, getCurrentDocumentId, getElementEditorSettings, getElementInteractions, getElementLabel, getElementSetting, getElementSettings, getElementStyles, getElementType, getElements, getLinkInLinkRestriction, getSelectedElements, getWidgetsCache, initMcp as initElementsMcp, isElementAnchored, moveElement, moveElements, playElementInteractions, removeElements, replaceElement, selectElement, shouldCreateNewLocalStyle, styleRerenderEvents, updateElementEditorSettings, updateElementInteractions, updateElementSettings, updateElementStyle, useElementChildren, useElementEditorSettings, useElementInteractions, useElementSetting, useElementSettings, useParentElement, useSelectedElement };
406
+ export { type Control, type ControlItem, type ControlLayout, type ControlsSection, type CreateElementParams, type CreateElementStyleArgs, type DropElementParams, type DuplicateElementParams, type DuplicateElementsParams, type DuplicatedElement, type DuplicatedElementsResult, ELEMENT_STYLE_CHANGE_EVENT, type Element, type ElementChildren, type ElementControl, type ElementID, type ElementInteractions, type ElementModel, type ElementType, type ExtendedWindow, type InteractionItem, type LinkInLinkRestriction, type MoveElementParams, type MoveElementsParams, type MovedElement, type MovedElementsResult, type UpdateElementSettingsArgs, type UpdateElementStyleArgs, type V1Element, type V1ElementConfig, type V1ElementData, type V1ElementEditorSettingsProps, type V1ElementModelProps, type V1ElementSettingsProps, createElement, createElementStyle, createElements, deleteElement, deleteElementStyle, dropElement, duplicateElement, duplicateElements, generateElementId, getAnchoredAncestorId, getAnchoredDescendantId, getContainer, getCurrentDocumentContainer, getCurrentDocumentId, getElementEditorSettings, getElementInteractions, getElementLabel, getElementSetting, getElementSettings, getElementStyles, getElementType, getElements, getLinkInLinkRestriction, getSelectedElements, getWidgetsCache, initMcp as initElementsMcp, isElementAnchored, moveElement, moveElements, playElementInteractions, removeElements, replaceElement, selectElement, shouldCreateNewLocalStyle, styleRerenderEvents, updateElementEditorSettings, updateElementInteractions, updateElementSettings, updateElementStyle, useElementChildren, useElementEditorSettings, useElementInteractions, useElementSetting, useElementSettings, useParentElement, useSelectedElement };
package/dist/index.d.ts CHANGED
@@ -52,6 +52,26 @@ type ElementControl = {
52
52
  type ControlItem = ControlsSection | Control | ElementControl;
53
53
  type ControlLayout = 'full' | 'two-columns' | 'custom';
54
54
 
55
+ type ExtendedWindow = Window & {
56
+ elementor?: {
57
+ selection?: {
58
+ getElements: () => V1Element[];
59
+ };
60
+ widgetsCache?: Record<string, V1ElementConfig>;
61
+ documents?: {
62
+ getCurrent?: () => {
63
+ container: V1Element;
64
+ } | undefined;
65
+ getCurrentId?: () => number;
66
+ };
67
+ getContainer?: (id: string) => V1Element | undefined;
68
+ };
69
+ elementorCommon?: {
70
+ helpers?: {
71
+ getUniqueId?: () => string;
72
+ };
73
+ };
74
+ };
55
75
  type V1Element = {
56
76
  id: string;
57
77
  model: V1Model<V1ElementModelProps>;
@@ -69,6 +89,16 @@ type V1Element = {
69
89
  };
70
90
  parent?: V1Element;
71
91
  };
92
+ type ElementInteractions = {
93
+ version: number;
94
+ items: InteractionItem[];
95
+ };
96
+ type InteractionItem = {
97
+ animation: {
98
+ animation_type: string;
99
+ animation_id: string;
100
+ };
101
+ };
72
102
  type V1ElementModelProps = {
73
103
  widgetType?: string;
74
104
  elType: string;
@@ -77,7 +107,7 @@ type V1ElementModelProps = {
77
107
  elements?: V1Model<V1ElementModelProps>[];
78
108
  settings?: V1ElementSettingsProps;
79
109
  editor_settings?: V1ElementEditorSettingsProps;
80
- interactions?: string | Record<string, unknown>;
110
+ interactions?: string | ElementInteractions;
81
111
  };
82
112
  type V1ElementData = Omit<V1ElementModelProps, 'elements'> & {
83
113
  elements?: V1ElementData[];
@@ -361,16 +391,16 @@ type UpdateElementStyleArgs = {
361
391
  };
362
392
  declare function updateElementStyle(args: UpdateElementStyleArgs): void;
363
393
 
364
- declare const useElementInteractions: (elementId: ElementID) => string;
394
+ declare const useElementInteractions: (elementId: ElementID) => ElementInteractions;
365
395
 
366
- declare function getElementInteractions(elementId: ElementID): string;
396
+ declare function getElementInteractions(elementId: ElementID): ElementInteractions | undefined;
367
397
 
368
398
  declare const updateElementInteractions: ({ elementId, interactions, }: {
369
399
  elementId: string;
370
400
  interactions: V1ElementModelProps["interactions"];
371
401
  }) => void;
372
- declare const playElementInteractions: (elementId: string) => void;
402
+ declare const playElementInteractions: (elementId: string, animationId: string) => void;
373
403
 
374
404
  declare function initMcp(): void;
375
405
 
376
- export { type Control, type ControlItem, type ControlLayout, type ControlsSection, type CreateElementParams, type CreateElementStyleArgs, type DropElementParams, type DuplicateElementParams, type DuplicateElementsParams, type DuplicatedElement, type DuplicatedElementsResult, ELEMENT_STYLE_CHANGE_EVENT, type Element, type ElementChildren, type ElementControl, type ElementID, type ElementModel, type ElementType, type LinkInLinkRestriction, type MoveElementParams, type MoveElementsParams, type MovedElement, type MovedElementsResult, type UpdateElementSettingsArgs, type UpdateElementStyleArgs, type V1Element, type V1ElementConfig, type V1ElementData, type V1ElementModelProps, type V1ElementSettingsProps, createElement, createElementStyle, createElements, deleteElement, deleteElementStyle, dropElement, duplicateElement, duplicateElements, generateElementId, getAnchoredAncestorId, getAnchoredDescendantId, getContainer, getCurrentDocumentContainer, getCurrentDocumentId, getElementEditorSettings, getElementInteractions, getElementLabel, getElementSetting, getElementSettings, getElementStyles, getElementType, getElements, getLinkInLinkRestriction, getSelectedElements, getWidgetsCache, initMcp as initElementsMcp, isElementAnchored, moveElement, moveElements, playElementInteractions, removeElements, replaceElement, selectElement, shouldCreateNewLocalStyle, styleRerenderEvents, updateElementEditorSettings, updateElementInteractions, updateElementSettings, updateElementStyle, useElementChildren, useElementEditorSettings, useElementInteractions, useElementSetting, useElementSettings, useParentElement, useSelectedElement };
406
+ export { type Control, type ControlItem, type ControlLayout, type ControlsSection, type CreateElementParams, type CreateElementStyleArgs, type DropElementParams, type DuplicateElementParams, type DuplicateElementsParams, type DuplicatedElement, type DuplicatedElementsResult, ELEMENT_STYLE_CHANGE_EVENT, type Element, type ElementChildren, type ElementControl, type ElementID, type ElementInteractions, type ElementModel, type ElementType, type ExtendedWindow, type InteractionItem, type LinkInLinkRestriction, type MoveElementParams, type MoveElementsParams, type MovedElement, type MovedElementsResult, type UpdateElementSettingsArgs, type UpdateElementStyleArgs, type V1Element, type V1ElementConfig, type V1ElementData, type V1ElementEditorSettingsProps, type V1ElementModelProps, type V1ElementSettingsProps, createElement, createElementStyle, createElements, deleteElement, deleteElementStyle, dropElement, duplicateElement, duplicateElements, generateElementId, getAnchoredAncestorId, getAnchoredDescendantId, getContainer, getCurrentDocumentContainer, getCurrentDocumentId, getElementEditorSettings, getElementInteractions, getElementLabel, getElementSetting, getElementSettings, getElementStyles, getElementType, getElements, getLinkInLinkRestriction, getSelectedElements, getWidgetsCache, initMcp as initElementsMcp, isElementAnchored, moveElement, moveElements, playElementInteractions, removeElements, replaceElement, selectElement, shouldCreateNewLocalStyle, styleRerenderEvents, updateElementEditorSettings, updateElementInteractions, updateElementSettings, updateElementStyle, useElementChildren, useElementEditorSettings, useElementInteractions, useElementSetting, useElementSettings, useParentElement, useSelectedElement };
package/dist/index.js CHANGED
@@ -1036,22 +1036,22 @@ function getElementInteractions(elementId) {
1036
1036
  const container = getContainer(elementId);
1037
1037
  const interactions = container?.model?.get("interactions");
1038
1038
  if (typeof interactions === "string") {
1039
- return interactions;
1039
+ return JSON.parse(interactions);
1040
1040
  }
1041
- return JSON.stringify(interactions);
1041
+ return interactions;
1042
1042
  }
1043
1043
 
1044
1044
  // src/hooks/use-element-interactions.ts
1045
1045
  var useElementInteractions = (elementId) => {
1046
1046
  const [interactions, setInteractions] = (0, import_react.useState)(() => {
1047
1047
  const initial = getElementInteractions(elementId);
1048
- return initial;
1048
+ return initial ?? { version: 1, items: [] };
1049
1049
  });
1050
1050
  (0, import_editor_v1_adapters18.__privateUseListenTo)(
1051
1051
  (0, import_editor_v1_adapters18.windowEvent)("elementor/element/update_interactions"),
1052
1052
  () => {
1053
1053
  const newInteractions = getElementInteractions(elementId);
1054
- setInteractions(newInteractions);
1054
+ setInteractions(newInteractions ?? { version: 1, items: [] });
1055
1055
  },
1056
1056
  [elementId]
1057
1057
  );
@@ -1072,8 +1072,8 @@ var updateElementInteractions = ({
1072
1072
  window.dispatchEvent(new CustomEvent("elementor/element/update_interactions"));
1073
1073
  setDocumentModifiedStatus2(true);
1074
1074
  };
1075
- var playElementInteractions = (elementId) => {
1076
- window.top?.dispatchEvent(new CustomEvent("atomic/play_interactions", { detail: { elementId } }));
1075
+ var playElementInteractions = (elementId, animationId) => {
1076
+ window.top?.dispatchEvent(new CustomEvent("atomic/play_interactions", { detail: { elementId, animationId } }));
1077
1077
  };
1078
1078
  function setDocumentModifiedStatus2(status) {
1079
1079
  (0, import_editor_v1_adapters19.__privateRunCommandSync)("document/save/set-is-modified", { status }, { internal: true });