@elementor/editor-elements 3.33.0-272 → 3.33.0-274
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 +37 -5
- package/dist/index.d.ts +37 -5
- package/dist/index.js +15 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15 -12
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -7
- package/src/hooks/use-element-interactions.ts +4 -3
- package/src/index.ts +1 -7
- package/src/sync/get-element-interactions.ts +4 -3
- package/src/sync/move-elements.ts +11 -0
- package/src/sync/remove-elements.ts +9 -9
- package/src/sync/types.ts +13 -1
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 |
|
|
110
|
+
interactions?: string | ElementInteractions;
|
|
81
111
|
};
|
|
82
112
|
type V1ElementData = Omit<V1ElementModelProps, 'elements'> & {
|
|
83
113
|
elements?: V1ElementData[];
|
|
@@ -258,6 +288,8 @@ type MoveElementsParams = {
|
|
|
258
288
|
moves: MoveElementParams[];
|
|
259
289
|
title: string;
|
|
260
290
|
subtitle?: string;
|
|
291
|
+
onMoveElements?: () => void;
|
|
292
|
+
onRestoreElements?: () => void;
|
|
261
293
|
};
|
|
262
294
|
type OriginalPosition = {
|
|
263
295
|
elementId: string;
|
|
@@ -274,7 +306,7 @@ type MovedElementsResult = {
|
|
|
274
306
|
movedElements: MovedElement[];
|
|
275
307
|
};
|
|
276
308
|
|
|
277
|
-
declare const moveElements: ({ moves: movesToMake, title, subtitle, }: MoveElementsParams) => MovedElementsResult;
|
|
309
|
+
declare const moveElements: ({ moves: movesToMake, title, subtitle, onMoveElements, onRestoreElements, }: MoveElementsParams) => MovedElementsResult;
|
|
278
310
|
|
|
279
311
|
type RemoveNestedElementsParams = {
|
|
280
312
|
elementIds: string[];
|
|
@@ -359,9 +391,9 @@ type UpdateElementStyleArgs = {
|
|
|
359
391
|
};
|
|
360
392
|
declare function updateElementStyle(args: UpdateElementStyleArgs): void;
|
|
361
393
|
|
|
362
|
-
declare const useElementInteractions: (elementId: ElementID) =>
|
|
394
|
+
declare const useElementInteractions: (elementId: ElementID) => ElementInteractions;
|
|
363
395
|
|
|
364
|
-
declare function getElementInteractions(elementId: ElementID):
|
|
396
|
+
declare function getElementInteractions(elementId: ElementID): ElementInteractions | undefined;
|
|
365
397
|
|
|
366
398
|
declare const updateElementInteractions: ({ elementId, interactions, }: {
|
|
367
399
|
elementId: string;
|
|
@@ -371,4 +403,4 @@ declare const playElementInteractions: (elementId: string) => void;
|
|
|
371
403
|
|
|
372
404
|
declare function initMcp(): void;
|
|
373
405
|
|
|
374
|
-
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 |
|
|
110
|
+
interactions?: string | ElementInteractions;
|
|
81
111
|
};
|
|
82
112
|
type V1ElementData = Omit<V1ElementModelProps, 'elements'> & {
|
|
83
113
|
elements?: V1ElementData[];
|
|
@@ -258,6 +288,8 @@ type MoveElementsParams = {
|
|
|
258
288
|
moves: MoveElementParams[];
|
|
259
289
|
title: string;
|
|
260
290
|
subtitle?: string;
|
|
291
|
+
onMoveElements?: () => void;
|
|
292
|
+
onRestoreElements?: () => void;
|
|
261
293
|
};
|
|
262
294
|
type OriginalPosition = {
|
|
263
295
|
elementId: string;
|
|
@@ -274,7 +306,7 @@ type MovedElementsResult = {
|
|
|
274
306
|
movedElements: MovedElement[];
|
|
275
307
|
};
|
|
276
308
|
|
|
277
|
-
declare const moveElements: ({ moves: movesToMake, title, subtitle, }: MoveElementsParams) => MovedElementsResult;
|
|
309
|
+
declare const moveElements: ({ moves: movesToMake, title, subtitle, onMoveElements, onRestoreElements, }: MoveElementsParams) => MovedElementsResult;
|
|
278
310
|
|
|
279
311
|
type RemoveNestedElementsParams = {
|
|
280
312
|
elementIds: string[];
|
|
@@ -359,9 +391,9 @@ type UpdateElementStyleArgs = {
|
|
|
359
391
|
};
|
|
360
392
|
declare function updateElementStyle(args: UpdateElementStyleArgs): void;
|
|
361
393
|
|
|
362
|
-
declare const useElementInteractions: (elementId: ElementID) =>
|
|
394
|
+
declare const useElementInteractions: (elementId: ElementID) => ElementInteractions;
|
|
363
395
|
|
|
364
|
-
declare function getElementInteractions(elementId: ElementID):
|
|
396
|
+
declare function getElementInteractions(elementId: ElementID): ElementInteractions | undefined;
|
|
365
397
|
|
|
366
398
|
declare const updateElementInteractions: ({ elementId, interactions, }: {
|
|
367
399
|
elementId: string;
|
|
@@ -371,4 +403,4 @@ declare const playElementInteractions: (elementId: string) => void;
|
|
|
371
403
|
|
|
372
404
|
declare function initMcp(): void;
|
|
373
405
|
|
|
374
|
-
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
|
@@ -574,7 +574,9 @@ var import_i18n3 = require("@wordpress/i18n");
|
|
|
574
574
|
var moveElements = ({
|
|
575
575
|
moves: movesToMake,
|
|
576
576
|
title,
|
|
577
|
-
subtitle = (0, import_i18n3.__)("Elements moved", "elementor")
|
|
577
|
+
subtitle = (0, import_i18n3.__)("Elements moved", "elementor"),
|
|
578
|
+
onMoveElements,
|
|
579
|
+
onRestoreElements
|
|
578
580
|
}) => {
|
|
579
581
|
const undoableMove = (0, import_editor_v1_adapters12.undoable)(
|
|
580
582
|
{
|
|
@@ -597,6 +599,7 @@ var moveElements = ({
|
|
|
597
599
|
...move,
|
|
598
600
|
options: { ...move.options, useHistory: false }
|
|
599
601
|
});
|
|
602
|
+
onMoveElements?.();
|
|
600
603
|
movedElements.push({
|
|
601
604
|
elementId,
|
|
602
605
|
originalPosition,
|
|
@@ -609,6 +612,7 @@ var moveElements = ({
|
|
|
609
612
|
undo: (_, { movedElements }) => {
|
|
610
613
|
[...movedElements].reverse().forEach(({ originalPosition }) => {
|
|
611
614
|
const { elementId, originalContainerId, originalIndex } = originalPosition;
|
|
615
|
+
onRestoreElements?.();
|
|
612
616
|
moveElement({
|
|
613
617
|
elementId,
|
|
614
618
|
targetContainerId: originalContainerId,
|
|
@@ -626,6 +630,7 @@ var moveElements = ({
|
|
|
626
630
|
...move,
|
|
627
631
|
options: { ...move.options, useHistory: false }
|
|
628
632
|
});
|
|
633
|
+
onMoveElements?.();
|
|
629
634
|
newMovedElements.push({
|
|
630
635
|
elementId: move.elementId,
|
|
631
636
|
originalPosition,
|
|
@@ -672,18 +677,17 @@ var removeElements = ({
|
|
|
672
677
|
});
|
|
673
678
|
}
|
|
674
679
|
});
|
|
675
|
-
|
|
676
|
-
|
|
680
|
+
onRemoveElements?.();
|
|
681
|
+
elementIdsParam.forEach((elementId) => {
|
|
682
|
+
deleteElement({
|
|
677
683
|
elementId,
|
|
678
684
|
options: { useHistory: false }
|
|
679
685
|
});
|
|
680
686
|
});
|
|
681
|
-
Promise.all(results).then(() => {
|
|
682
|
-
onRemoveElements?.();
|
|
683
|
-
});
|
|
684
687
|
return { elementIds: elementIdsParam, removedElements };
|
|
685
688
|
},
|
|
686
689
|
undo: (_, { removedElements }) => {
|
|
690
|
+
onRestoreElements?.();
|
|
687
691
|
[...removedElements].reverse().forEach(({ model, parent, at }) => {
|
|
688
692
|
if (parent && model) {
|
|
689
693
|
createElement({
|
|
@@ -693,16 +697,15 @@ var removeElements = ({
|
|
|
693
697
|
});
|
|
694
698
|
}
|
|
695
699
|
});
|
|
696
|
-
onRestoreElements?.();
|
|
697
700
|
},
|
|
698
701
|
redo: (_, { elementIds: originalElementIds, removedElements }) => {
|
|
702
|
+
onRemoveElements?.();
|
|
699
703
|
originalElementIds.forEach((elementId) => {
|
|
700
704
|
deleteElement({
|
|
701
705
|
elementId,
|
|
702
706
|
options: { useHistory: false }
|
|
703
707
|
});
|
|
704
708
|
});
|
|
705
|
-
onRemoveElements?.();
|
|
706
709
|
return { elementIds: originalElementIds, removedElements };
|
|
707
710
|
}
|
|
708
711
|
},
|
|
@@ -1033,22 +1036,22 @@ function getElementInteractions(elementId) {
|
|
|
1033
1036
|
const container = getContainer(elementId);
|
|
1034
1037
|
const interactions = container?.model?.get("interactions");
|
|
1035
1038
|
if (typeof interactions === "string") {
|
|
1036
|
-
return interactions;
|
|
1039
|
+
return JSON.parse(interactions);
|
|
1037
1040
|
}
|
|
1038
|
-
return
|
|
1041
|
+
return interactions;
|
|
1039
1042
|
}
|
|
1040
1043
|
|
|
1041
1044
|
// src/hooks/use-element-interactions.ts
|
|
1042
1045
|
var useElementInteractions = (elementId) => {
|
|
1043
1046
|
const [interactions, setInteractions] = (0, import_react.useState)(() => {
|
|
1044
1047
|
const initial = getElementInteractions(elementId);
|
|
1045
|
-
return initial;
|
|
1048
|
+
return initial ?? { version: 1, items: [] };
|
|
1046
1049
|
});
|
|
1047
1050
|
(0, import_editor_v1_adapters18.__privateUseListenTo)(
|
|
1048
1051
|
(0, import_editor_v1_adapters18.windowEvent)("elementor/element/update_interactions"),
|
|
1049
1052
|
() => {
|
|
1050
1053
|
const newInteractions = getElementInteractions(elementId);
|
|
1051
|
-
setInteractions(newInteractions);
|
|
1054
|
+
setInteractions(newInteractions ?? { version: 1, items: [] });
|
|
1052
1055
|
},
|
|
1053
1056
|
[elementId]
|
|
1054
1057
|
);
|