PluginProbe
Elementor Website Builder – more than just a page builder / 3.34.0-beta1
Elementor Website Builder – more than just a page builder v3.34.0-beta1
4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 All 457 releases
← All changes | assets/js/packages/editor-elements/editor-elements.js +2 -2308 4.2.0-beta2 → 3.34.0-beta1 View file →
@@ -1,2309 +1,3 @@
1 -/******/ (function() { // webpackBootstrap
2 -/******/ "use strict";
3 -/******/ var __webpack_modules__ = ({
4 -
5 -/***/ "./packages/packages/libs/editor-elements/src/errors.ts":
6 -/*!**************************************************************!*\
7 - !*** ./packages/packages/libs/editor-elements/src/errors.ts ***!
8 - \**************************************************************/
9 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10 -
11 -__webpack_require__.r(__webpack_exports__);
12 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
13 -/* harmony export */ ElementIndexNotFoundError: function() { return /* binding */ ElementIndexNotFoundError; },
14 -/* harmony export */ ElementLabelNotExistsError: function() { return /* binding */ ElementLabelNotExistsError; },
15 -/* harmony export */ ElementNotFoundError: function() { return /* binding */ ElementNotFoundError; },
16 -/* harmony export */ ElementParentNotFoundError: function() { return /* binding */ ElementParentNotFoundError; },
17 -/* harmony export */ ElementTypeNotExistsError: function() { return /* binding */ ElementTypeNotExistsError; },
18 -/* harmony export */ StyleNotFoundError: function() { return /* binding */ StyleNotFoundError; }
19 -/* harmony export */ });
20 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/utils */ "@elementor/utils");
21 -/* harmony import */ var _elementor_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_utils__WEBPACK_IMPORTED_MODULE_0__);
22 -
23 -const ElementNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
24 - code: 'element_not_found',
25 - message: 'Element not found.'
26 -});
27 -const StyleNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
28 - code: 'style_not_found',
29 - message: 'Style not found.'
30 -});
31 -const ElementTypeNotExistsError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
32 - code: 'element_type_not_exists',
33 - message: 'Element type does not exist.'
34 -});
35 -const ElementLabelNotExistsError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
36 - code: 'element_label_not_exists',
37 - message: 'Element label does not exist.'
38 -});
39 -const ElementParentNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
40 - code: 'element_parent_not_found',
41 - message: 'Element parent not found.'
42 -});
43 -const ElementIndexNotFoundError = (0,_elementor_utils__WEBPACK_IMPORTED_MODULE_0__.createError)({
44 - code: 'element_index_not_found',
45 - message: 'Element index not found.'
46 -});
47 -
48 -/***/ }),
49 -
50 -/***/ "./packages/packages/libs/editor-elements/src/hooks/use-element-children.ts":
51 -/*!**********************************************************************************!*\
52 - !*** ./packages/packages/libs/editor-elements/src/hooks/use-element-children.ts ***!
53 - \**********************************************************************************/
54 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
55 -
56 -__webpack_require__.r(__webpack_exports__);
57 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
58 -/* harmony export */ useElementChildren: function() { return /* binding */ useElementChildren; }
59 -/* harmony export */ });
60 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
61 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
62 -/* harmony import */ var _sync_get_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sync/get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
63 -/* harmony import */ var _sync_model_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../sync/model-utils */ "./packages/packages/libs/editor-elements/src/sync/model-utils.ts");
64 -
65 -
66 -
67 -function toElementModel({
68 - model
69 -}) {
70 - return {
71 - id: model.get('id'),
72 - editorSettings: model.get('editor_settings') ?? {}
73 - };
74 -}
75 -function useElementChildren(elementId, childrenTypes) {
76 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateUseListenTo)([(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.v1ReadyEvent)(), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/create'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/delete'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/update'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/set-settings')], () => {
77 - const container = (0,_sync_get_container__WEBPACK_IMPORTED_MODULE_1__.getContainer)(elementId);
78 - const model = container?.model;
79 - if (!model) {
80 - return {};
81 - }
82 - const elementChildren = Object.entries(childrenTypes).reduce((acc, [parentType, childType]) => {
83 - const parent = (0,_sync_model_utils__WEBPACK_IMPORTED_MODULE_2__.findChildRecursive)(model, m => m.get('elType') === parentType);
84 - if (!parent) {
85 - acc[childType] = [];
86 - return acc;
87 - }
88 - const children = (0,_sync_model_utils__WEBPACK_IMPORTED_MODULE_2__.getElementChildren)(parent.model, m => m.get('elType') === childType);
89 - acc[childType] = children.map(toElementModel);
90 - return acc;
91 - }, {});
92 - return elementChildren;
93 - }, [elementId]);
94 -}
95 -
96 -/***/ }),
97 -
98 -/***/ "./packages/packages/libs/editor-elements/src/hooks/use-element-editor-settings.ts":
99 -/*!*****************************************************************************************!*\
100 - !*** ./packages/packages/libs/editor-elements/src/hooks/use-element-editor-settings.ts ***!
101 - \*****************************************************************************************/
102 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
103 -
104 -__webpack_require__.r(__webpack_exports__);
105 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
106 -/* harmony export */ useElementEditorSettings: function() { return /* binding */ useElementEditorSettings; }
107 -/* harmony export */ });
108 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
109 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
110 -/* harmony import */ var _sync_get_element_editor_settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sync/get-element-editor-settings */ "./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts");
111 -
112 -
113 -const useElementEditorSettings = elementId => {
114 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateUseListenTo)((0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.windowEvent)('elementor/element/update_editor_settings'), () => (0,_sync_get_element_editor_settings__WEBPACK_IMPORTED_MODULE_1__.getElementEditorSettings)(elementId), [elementId]);
115 -};
116 -
117 -/***/ }),
118 -
119 -/***/ "./packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts":
120 -/*!********************************************************************************!*\
121 - !*** ./packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts ***!
122 - \********************************************************************************/
123 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
124 -
125 -__webpack_require__.r(__webpack_exports__);
126 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
127 -/* harmony export */ useParentElement: function() { return /* binding */ useParentElement; }
128 -/* harmony export */ });
129 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
130 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
131 -
132 -function useParentElement(elementId) {
133 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateUseListenTo)([(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/create')], () => {
134 - if (!elementId) {
135 - return null;
136 - }
137 - const extendedWindow = window;
138 - const element = extendedWindow?.elementor?.getContainer?.(elementId);
139 - if (!element) {
140 - return null;
141 - }
142 - return element.parent;
143 - }, [elementId]);
144 -}
145 -
146 -/***/ }),
147 -
148 -/***/ "./packages/packages/libs/editor-elements/src/hooks/use-selected-element-settings.ts":
149 -/*!*******************************************************************************************!*\
150 - !*** ./packages/packages/libs/editor-elements/src/hooks/use-selected-element-settings.ts ***!
151 - \*******************************************************************************************/
152 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
153 -
154 -__webpack_require__.r(__webpack_exports__);
155 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
156 -/* harmony export */ useSelectedElementSettings: function() { return /* binding */ useSelectedElementSettings; }
157 -/* harmony export */ });
158 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
159 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
160 -/* harmony import */ var _sync_get_element_setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sync/get-element-setting */ "./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts");
161 -/* harmony import */ var _sync_get_selected_elements__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../sync/get-selected-elements */ "./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");
162 -
163 -
164 -
165 -// Use the selected element and it's settings,
166 -// and subscribe to changes on both the selected element and its settings.
167 -// This ensures the element and its settings are synced.
168 -function useSelectedElementSettings() {
169 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateUseListenTo)([(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/select'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/deselect'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/select-all'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/deselect-all'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/set-settings')], () => {
170 - const {
171 - element,
172 - elementType
173 - } = (0,_sync_get_selected_elements__WEBPACK_IMPORTED_MODULE_2__.getSelectedElement)();
174 - if (!element || !elementType) {
175 - return {
176 - element: null,
177 - elementType: null,
178 - settings: null
179 - };
180 - }
181 - const settings = (0,_sync_get_element_setting__WEBPACK_IMPORTED_MODULE_1__.getElementSettings)(element.id, Object.keys(elementType.propsSchema));
182 - return {
183 - element,
184 - elementType,
185 - settings
186 - };
187 - });
188 -}
189 -
190 -/***/ }),
191 -
192 -/***/ "./packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts":
193 -/*!**********************************************************************************!*\
194 - !*** ./packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts ***!
195 - \**********************************************************************************/
196 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
197 -
198 -__webpack_require__.r(__webpack_exports__);
199 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
200 -/* harmony export */ useSelectedElement: function() { return /* binding */ useSelectedElement; }
201 -/* harmony export */ });
202 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
203 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
204 -/* harmony import */ var _sync_get_selected_elements__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sync/get-selected-elements */ "./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");
205 -
206 -
207 -function useSelectedElement() {
208 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateUseListenTo)([(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/select'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/deselect'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/select-all'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/deselect-all')], _sync_get_selected_elements__WEBPACK_IMPORTED_MODULE_1__.getSelectedElement);
209 -}
210 -
211 -/***/ }),
212 -
213 -/***/ "./packages/packages/libs/editor-elements/src/link-restriction.ts":
214 -/*!************************************************************************!*\
215 - !*** ./packages/packages/libs/editor-elements/src/link-restriction.ts ***!
216 - \************************************************************************/
217 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
218 -
219 -__webpack_require__.r(__webpack_exports__);
220 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
221 -/* harmony export */ getAnchoredAncestorId: function() { return /* binding */ getAnchoredAncestorId; },
222 -/* harmony export */ getAnchoredDescendantId: function() { return /* binding */ getAnchoredDescendantId; },
223 -/* harmony export */ getLinkInLinkRestriction: function() { return /* binding */ getLinkInLinkRestriction; },
224 -/* harmony export */ isElementAnchored: function() { return /* binding */ isElementAnchored; }
225 -/* harmony export */ });
226 -/* harmony import */ var _sync_get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./sync/get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
227 -/* harmony import */ var _sync_get_element_setting__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sync/get-element-setting */ "./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts");
228 -
229 -
230 -const ANCHOR_SELECTOR = 'a, [data-action-link]';
231 -function getLinkInLinkRestriction(elementId, resolvedValue) {
232 - const anchoredDescendantId = getAnchoredDescendantId(elementId);
233 - if (anchoredDescendantId) {
234 - return {
235 - shouldRestrict: true,
236 - reason: 'descendant',
237 - elementId: anchoredDescendantId
238 - };
239 - }
240 - const hasInlineLink = checkForInlineLink(elementId, resolvedValue);
241 - if (hasInlineLink) {
242 - return {
243 - shouldRestrict: true,
244 - reason: 'descendant',
245 - elementId
246 - };
247 - }
248 - const ancestor = getAnchoredAncestorId(elementId);
249 - if (ancestor) {
250 - return {
251 - shouldRestrict: true,
252 - reason: 'ancestor',
253 - elementId: ancestor
254 - };
255 - }
256 - return {
257 - shouldRestrict: false
258 - };
259 -}
260 -function getAnchoredDescendantId(elementId) {
261 - const element = getElementDOM(elementId);
262 - if (!element) {
263 - return null;
264 - }
265 - for (const childAnchorElement of Array.from(element.querySelectorAll(ANCHOR_SELECTOR))) {
266 - // Ensure the child is not in the current element's scope
267 - const childElementId = findElementIdOf(childAnchorElement);
268 - if (childElementId !== elementId) {
269 - return childElementId;
270 - }
271 - }
272 - return null;
273 -}
274 -function getAnchoredAncestorId(elementId) {
275 - const element = getElementDOM(elementId);
276 - if (!element || element.parentElement === null) {
277 - return null;
278 - }
279 - const parentAnchor = element.parentElement.closest(ANCHOR_SELECTOR);
280 - return parentAnchor ? findElementIdOf(parentAnchor) : null;
281 -}
282 -function isElementAnchored(elementId) {
283 - const element = getElementDOM(elementId);
284 - if (!element) {
285 - return false;
286 - }
287 - if (element.matches(ANCHOR_SELECTOR)) {
288 - return true;
289 - }
290 - return doesElementContainAnchor(element);
291 -}
292 -function doesElementContainAnchor(element) {
293 - for (const child of Array.from(element.children)) {
294 - if (isElementorElement(child)) {
295 - continue;
296 - }
297 - if (child.matches(ANCHOR_SELECTOR)) {
298 - return true;
299 - }
300 - if (doesElementContainAnchor(child)) {
301 - return true;
302 - }
303 - }
304 - return false;
305 -}
306 -function findElementIdOf(element) {
307 - return element.closest('[data-id]')?.dataset.id || null;
308 -}
309 -function checkForInlineLink(elementId, resolvedValue) {
310 - const element = getElementDOM(elementId);
311 - if (!element) {
312 - return false;
313 - }
314 - if (element.matches(ANCHOR_SELECTOR)) {
315 - return false;
316 - }
317 - const linkSetting = resolvedValue ?? (0,_sync_get_element_setting__WEBPACK_IMPORTED_MODULE_1__.getElementSetting)(elementId, 'link')?.value;
318 - if (linkSetting?.destination) {
319 - return false;
320 - }
321 - return element.querySelector(ANCHOR_SELECTOR) !== null;
322 -}
323 -function getElementDOM(id) {
324 - try {
325 - const fromContainer = (0,_sync_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(id)?.view?.el;
326 - if (fromContainer) {
327 - return fromContainer;
328 - }
329 -
330 - // Inner elements of component instances are rendered from Twig and have
331 - // no V1 Backbone view, so getContainer(id) returns null. Fall back to
332 - // querying the preview iframe document directly so link-in-link
333 - // restriction still works for those elements.
334 - return queryPreviewDOMByElementId(id);
335 - } catch {
336 - return null;
337 - }
338 -}
339 -function queryPreviewDOMByElementId(id) {
340 - const previewDocument = window.elementor?.getPreviewContainer?.()?.view?.el?.ownerDocument;
341 - if (!previewDocument) {
342 - return null;
343 - }
344 - return previewDocument.querySelector(`[data-id="${id}"]`);
345 -}
346 -function isElementorElement(element) {
347 - return element.hasAttribute('data-id');
348 -}
349 -
350 -/***/ }),
351 -
352 -/***/ "./packages/packages/libs/editor-elements/src/styles/consts.ts":
353 -/*!*********************************************************************!*\
354 - !*** ./packages/packages/libs/editor-elements/src/styles/consts.ts ***!
355 - \*********************************************************************/
356 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
357 -
358 -__webpack_require__.r(__webpack_exports__);
359 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
360 -/* harmony export */ ELEMENT_STYLE_CHANGE_EVENT: function() { return /* binding */ ELEMENT_STYLE_CHANGE_EVENT; },
361 -/* harmony export */ styleRerenderEvents: function() { return /* binding */ styleRerenderEvents; }
362 -/* harmony export */ });
363 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
364 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
365 -
366 -const ELEMENT_STYLE_CHANGE_EVENT = 'elementor/editor-v2/editor-elements/style';
367 -const styleRerenderEvents = [(0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/create'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/duplicate'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/import'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.commandEndEvent)('document/elements/paste'), (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.windowEvent)(ELEMENT_STYLE_CHANGE_EVENT)];
368 -
369 -/***/ }),
370 -
371 -/***/ "./packages/packages/libs/editor-elements/src/styles/create-element-style.ts":
372 -/*!***********************************************************************************!*\
373 - !*** ./packages/packages/libs/editor-elements/src/styles/create-element-style.ts ***!
374 - \***********************************************************************************/
375 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
376 -
377 -__webpack_require__.r(__webpack_exports__);
378 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
379 -/* harmony export */ createElementStyle: function() { return /* binding */ createElementStyle; },
380 -/* harmony export */ shouldCreateNewLocalStyle: function() { return /* binding */ shouldCreateNewLocalStyle; }
381 -/* harmony export */ });
382 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
383 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
384 -/* harmony import */ var _elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-styles */ "@elementor/editor-styles");
385 -/* harmony import */ var _elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1__);
386 -/* harmony import */ var _sync_get_element_setting__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../sync/get-element-setting */ "./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts");
387 -/* harmony import */ var _sync_update_element_settings__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../sync/update-element-settings */ "./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts");
388 -/* harmony import */ var _mutate_element_styles__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mutate-element-styles */ "./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");
389 -
390 -
391 -
392 -
393 -
394 -function createElementStyle({
395 - styleId,
396 - elementId,
397 - classesProp,
398 - label,
399 - meta,
400 - props,
401 - custom_css: customCss = null,
402 - additionalVariants = []
403 -}) {
404 - let id = styleId;
405 - (0,_mutate_element_styles__WEBPACK_IMPORTED_MODULE_4__.mutateElementStyles)(elementId, styles => {
406 - id ??= (0,_elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1__.generateId)(`e-${elementId}-`, Object.keys(styles));
407 - const variants = [{
408 - meta,
409 - props,
410 - custom_css: customCss
411 - }, ...additionalVariants];
412 - styles[id] = {
413 - id,
414 - label,
415 - type: 'class',
416 - variants
417 - };
418 - addStyleToClassesProp(elementId, classesProp, id);
419 - return styles;
420 - });
421 - return id;
422 -}
423 -function addStyleToClassesProp(elementId, classesProp, styleId) {
424 - const base = (0,_sync_get_element_setting__WEBPACK_IMPORTED_MODULE_2__.getElementSetting)(elementId, classesProp);
425 - const classesPropValue = _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.classesPropTypeUtil.create(prev => {
426 - return [...(prev ?? []), styleId];
427 - }, {
428 - base
429 - });
430 - (0,_sync_update_element_settings__WEBPACK_IMPORTED_MODULE_3__.updateElementSettings)({
431 - id: elementId,
432 - props: {
433 - [classesProp]: classesPropValue
434 - },
435 - withHistory: false
436 - });
437 -}
438 -function shouldCreateNewLocalStyle(payload) {
439 - return !payload?.styleId && !payload?.provider;
440 -}
441 -
442 -/***/ }),
443 -
444 -/***/ "./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts":
445 -/*!***********************************************************************************!*\
446 - !*** ./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts ***!
447 - \***********************************************************************************/
448 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
449 -
450 -__webpack_require__.r(__webpack_exports__);
451 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
452 -/* harmony export */ deleteElementStyle: function() { return /* binding */ deleteElementStyle; }
453 -/* harmony export */ });
454 -/* harmony import */ var _mutate_element_styles__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mutate-element-styles */ "./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");
455 -
456 -function deleteElementStyle(elementId, styleId) {
457 - (0,_mutate_element_styles__WEBPACK_IMPORTED_MODULE_0__.mutateElementStyles)(elementId, styles => {
458 - // The object is deep cloned so mutating it is fine.
459 - // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
460 - delete styles[styleId];
461 - return styles;
462 - });
463 -}
464 -
465 -/***/ }),
466 -
467 -/***/ "./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts":
468 -/*!************************************************************************************!*\
469 - !*** ./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts ***!
470 - \************************************************************************************/
471 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
472 -
473 -__webpack_require__.r(__webpack_exports__);
474 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
475 -/* harmony export */ mutateElementStyles: function() { return /* binding */ mutateElementStyles; }
476 -/* harmony export */ });
477 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
478 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
479 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
480 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__);
481 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors */ "./packages/packages/libs/editor-elements/src/errors.ts");
482 -/* harmony import */ var _sync_get_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../sync/get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
483 -/* harmony import */ var _sync_update_element_settings__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../sync/update-element-settings */ "./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts");
484 -/* harmony import */ var _consts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./consts */ "./packages/packages/libs/editor-elements/src/styles/consts.ts");
485 -
486 -
487 -
488 -
489 -
490 -
491 -function mutateElementStyles(elementId, mutator) {
492 - const container = (0,_sync_get_container__WEBPACK_IMPORTED_MODULE_3__.getContainer)(elementId);
493 - if (!container) {
494 - throw new _errors__WEBPACK_IMPORTED_MODULE_2__.ElementNotFoundError({
495 - context: {
496 - elementId
497 - }
498 - });
499 - }
500 - const oldIds = Object.keys(container.model.get('styles') ?? {});
501 - const styles = mutateStyles(container, mutator);
502 - const newIds = Object.keys(styles);
503 - clearRemovedClasses(container, {
504 - oldIds,
505 - newIds
506 - });
507 - notifyChanges();
508 - return styles;
509 -}
510 -function mutateStyles(container, mutator) {
511 - const styles = structuredClone(container.model.get('styles')) ?? {};
512 - const entries = Object.entries(mutator(styles)).map(([styleId, style]) => {
513 - style.variants = removeEmptyVariants(style);
514 - return [styleId, style];
515 - }).filter(([, style]) => {
516 - return !isStyleEmpty(style);
517 - });
518 - const mutatedStyles = Object.fromEntries(entries);
519 - container.model.set('styles', mutatedStyles);
520 - return mutatedStyles;
521 -}
522 -function removeEmptyVariants(style) {
523 - return style.variants.filter(({
524 - props,
525 - custom_css: customCss
526 - }) => Object.keys(props).length > 0 || customCss?.raw);
527 -}
528 -function isStyleEmpty(style) {
529 - return style.variants.length === 0;
530 -}
531 -function clearRemovedClasses(container, {
532 - oldIds,
533 - newIds
534 -}) {
535 - const removedIds = oldIds.filter(id => !newIds.includes(id));
536 - const classesProps = structuredClone(getClassesProps(container));
537 - classesProps.forEach(([, prop]) => {
538 - prop.value = prop.value.filter(value => !removedIds.includes(value));
539 - });
540 - (0,_sync_update_element_settings__WEBPACK_IMPORTED_MODULE_4__.updateElementSettings)({
541 - id: container.id,
542 - props: Object.fromEntries(classesProps),
543 - withHistory: false
544 - });
545 -}
546 -function getClassesProps(container) {
547 - return Object.entries(container.settings.toJSON()).filter(prop => {
548 - const [, value] = prop;
549 - return _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.classesPropTypeUtil.isValid(value);
550 - });
551 -}
552 -function notifyChanges() {
553 - dispatchChangeEvent();
554 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_1__.__privateRunCommandSync)('document/save/set-is-modified', {
555 - status: true
556 - }, {
557 - internal: true
558 - });
559 -}
560 -function dispatchChangeEvent() {
561 - window.dispatchEvent(new CustomEvent(_consts__WEBPACK_IMPORTED_MODULE_5__.ELEMENT_STYLE_CHANGE_EVENT));
562 -}
563 -
564 -/***/ }),
565 -
566 -/***/ "./packages/packages/libs/editor-elements/src/styles/update-element-style.ts":
567 -/*!***********************************************************************************!*\
568 - !*** ./packages/packages/libs/editor-elements/src/styles/update-element-style.ts ***!
569 - \***********************************************************************************/
570 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
571 -
572 -__webpack_require__.r(__webpack_exports__);
573 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
574 -/* harmony export */ updateElementStyle: function() { return /* binding */ updateElementStyle; }
575 -/* harmony export */ });
576 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-props */ "@elementor/editor-props");
577 -/* harmony import */ var _elementor_editor_props__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__);
578 -/* harmony import */ var _elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @elementor/editor-styles */ "@elementor/editor-styles");
579 -/* harmony import */ var _elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1__);
580 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors */ "./packages/packages/libs/editor-elements/src/errors.ts");
581 -/* harmony import */ var _mutate_element_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./mutate-element-styles */ "./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");
582 -
583 -
584 -
585 -
586 -function updateElementStyle(args) {
587 - (0,_mutate_element_styles__WEBPACK_IMPORTED_MODULE_3__.mutateElementStyles)(args.elementId, styles => {
588 - const style = styles[args.styleId];
589 - if (!style) {
590 - throw new _errors__WEBPACK_IMPORTED_MODULE_2__.StyleNotFoundError({
591 - context: {
592 - styleId: args.styleId
593 - }
594 - });
595 - }
596 - const variant = (0,_elementor_editor_styles__WEBPACK_IMPORTED_MODULE_1__.getVariantByMeta)(style, args.meta);
597 - const customCss = ('custom_css' in args ? args.custom_css : variant?.custom_css) ?? null;
598 - if (variant) {
599 - variant.props = (0,_elementor_editor_props__WEBPACK_IMPORTED_MODULE_0__.mergeProps)(variant.props, args.props);
600 - variant.custom_css = customCss?.raw ? customCss : null;
601 - } else {
602 - style.variants.push({
603 - meta: args.meta,
604 - props: args.props,
605 - custom_css: customCss
606 - });
607 - }
608 - return styles;
609 - });
610 -}
611 -
612 -/***/ }),
613 -
614 -/***/ "./packages/packages/libs/editor-elements/src/sync/create-element.ts":
615 -/*!***************************************************************************!*\
616 - !*** ./packages/packages/libs/editor-elements/src/sync/create-element.ts ***!
617 - \***************************************************************************/
618 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
619 -
620 -__webpack_require__.r(__webpack_exports__);
621 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
622 -/* harmony export */ createElement: function() { return /* binding */ createElement; }
623 -/* harmony export */ });
624 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
625 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
626 -
627 -function createElement({
628 - container,
629 - model,
630 - options
631 -}) {
632 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/elements/create', {
633 - container,
634 - model,
635 - options: {
636 - edit: false,
637 - ...options
638 - }
639 - });
640 -}
641 -
642 -/***/ }),
643 -
644 -/***/ "./packages/packages/libs/editor-elements/src/sync/create-elements.ts":
645 -/*!****************************************************************************!*\
646 - !*** ./packages/packages/libs/editor-elements/src/sync/create-elements.ts ***!
647 - \****************************************************************************/
648 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
649 -
650 -__webpack_require__.r(__webpack_exports__);
651 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
652 -/* harmony export */ createElements: function() { return /* binding */ createElements; }
653 -/* harmony export */ });
654 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
655 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
656 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
657 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
658 -/* harmony import */ var _create_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-element */ "./packages/packages/libs/editor-elements/src/sync/create-element.ts");
659 -/* harmony import */ var _delete_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./delete-element */ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts");
660 -/* harmony import */ var _resolve_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./resolve-element */ "./packages/packages/libs/editor-elements/src/sync/resolve-element.ts");
661 -
662 -
663 -
664 -
665 -
666 -const createElements = ({
667 - elements,
668 - title,
669 - subtitle = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Item added', 'elementor')
670 -}) => {
671 - const undoableCreate = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.undoable)({
672 - do: ({
673 - elements: elementsParam
674 - }) => {
675 - const createdElements = [];
676 - elementsParam.forEach(({
677 - container,
678 - options,
679 - ...elementParams
680 - }) => {
681 - const parentContainer = container.lookup?.() ?? container;
682 - if (!parentContainer) {
683 - throw new Error('Parent container not found');
684 - }
685 - const element = (0,_create_element__WEBPACK_IMPORTED_MODULE_2__.createElement)({
686 - container: parentContainer,
687 - ...elementParams,
688 - options: {
689 - ...options,
690 - useHistory: false
691 - }
692 - });
693 - createdElements.push({
694 - container: element,
695 - parentContainer,
696 - model: element.model?.toJSON() || {},
697 - options,
698 - containerId: element.id,
699 - parentContainerId: parentContainer.id
700 - });
701 - });
702 - return {
703 - createdElements
704 - };
705 - },
706 - undo: (_, {
707 - createdElements
708 - }) => {
709 - [...createdElements].reverse().forEach(({
710 - container,
711 - containerId,
712 - parentContainerId
713 - }) => {
714 - const freshContainer = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_4__.resolveContainer)(container, containerId);
715 - if (freshContainer) {
716 - (0,_delete_element__WEBPACK_IMPORTED_MODULE_3__.deleteElement)({
717 - container: freshContainer,
718 - options: {
719 - useHistory: false
720 - }
721 - });
722 - return;
723 - }
724 - (0,_resolve_element__WEBPACK_IMPORTED_MODULE_4__.removeModelFromParent)(parentContainerId, containerId);
725 - });
726 - },
727 - redo: (_, {
728 - createdElements
729 - }) => {
730 - const newElements = [];
731 - createdElements.forEach(({
732 - parentContainer,
733 - parentContainerId,
734 - model,
735 - options
736 - }) => {
737 - const freshParent = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_4__.resolveContainer)(parentContainer, parentContainerId);
738 - if (freshParent) {
739 - const element = (0,_create_element__WEBPACK_IMPORTED_MODULE_2__.createElement)({
740 - container: freshParent,
741 - model,
742 - options: {
743 - ...options,
744 - useHistory: false
745 - }
746 - });
747 - newElements.push({
748 - container: element,
749 - parentContainer: freshParent,
750 - model: element.model.toJSON(),
751 - options,
752 - containerId: element.id,
753 - parentContainerId: freshParent.id
754 - });
755 - return;
756 - }
757 - (0,_resolve_element__WEBPACK_IMPORTED_MODULE_4__.addModelToParent)(parentContainerId, model);
758 - newElements.push({
759 - container: parentContainer,
760 - parentContainer,
761 - model,
762 - options,
763 - containerId: model.id ?? '',
764 - parentContainerId
765 - });
766 - });
767 - return {
768 - createdElements: newElements
769 - };
770 - }
771 - }, {
772 - title,
773 - subtitle
774 - });
775 - return undoableCreate({
776 - elements
777 - });
778 -};
779 -
780 -/***/ }),
781 -
782 -/***/ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts":
783 -/*!***************************************************************************!*\
784 - !*** ./packages/packages/libs/editor-elements/src/sync/delete-element.ts ***!
785 - \***************************************************************************/
786 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
787 -
788 -__webpack_require__.r(__webpack_exports__);
789 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
790 -/* harmony export */ deleteElement: function() { return /* binding */ deleteElement; }
791 -/* harmony export */ });
792 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
793 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
794 -
795 -function deleteElement({
796 - container,
797 - options = {}
798 -}) {
799 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/elements/delete', {
800 - container,
801 - options
802 - });
803 -}
804 -
805 -/***/ }),
806 -
807 -/***/ "./packages/packages/libs/editor-elements/src/sync/drop-element.ts":
808 -/*!*************************************************************************!*\
809 - !*** ./packages/packages/libs/editor-elements/src/sync/drop-element.ts ***!
810 - \*************************************************************************/
811 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
812 -
813 -__webpack_require__.r(__webpack_exports__);
814 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
815 -/* harmony export */ dropElement: function() { return /* binding */ dropElement; }
816 -/* harmony export */ });
817 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
818 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
819 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
820 -
821 -
822 -function dropElement({
823 - containerId,
824 - model,
825 - options
826 -}) {
827 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_1__.getContainer)(containerId);
828 - if (!container) {
829 - throw new Error(`Container with ID "${containerId}" not found`);
830 - }
831 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('preview/drop', {
832 - container,
833 - model,
834 - options
835 - });
836 -}
837 -
838 -/***/ }),
839 -
840 -/***/ "./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts":
841 -/*!******************************************************************************!*\
842 - !*** ./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts ***!
843 - \******************************************************************************/
844 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
845 -
846 -__webpack_require__.r(__webpack_exports__);
847 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
848 -/* harmony export */ duplicateElement: function() { return /* binding */ duplicateElement; }
849 -/* harmony export */ });
850 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
851 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
852 -
853 -function duplicateElement({
854 - element,
855 - options = {}
856 -}) {
857 - const currentIndex = element.view?._index ?? 0;
858 - const insertPosition = options.clone !== false ? currentIndex + 1 : undefined;
859 - return (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/elements/duplicate', {
860 - container: element,
861 - options: {
862 - at: insertPosition,
863 - edit: false,
864 - ...options
865 - }
866 - });
867 -}
868 -
869 -/***/ }),
870 -
871 -/***/ "./packages/packages/libs/editor-elements/src/sync/duplicate-elements.ts":
872 -/*!*******************************************************************************!*\
873 - !*** ./packages/packages/libs/editor-elements/src/sync/duplicate-elements.ts ***!
874 - \*******************************************************************************/
875 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
876 -
877 -__webpack_require__.r(__webpack_exports__);
878 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
879 -/* harmony export */ duplicateElements: function() { return /* binding */ duplicateElements; }
880 -/* harmony export */ });
881 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
882 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
883 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
884 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
885 -/* harmony import */ var _create_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-element */ "./packages/packages/libs/editor-elements/src/sync/create-element.ts");
886 -/* harmony import */ var _delete_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./delete-element */ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts");
887 -/* harmony import */ var _duplicate_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./duplicate-element */ "./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts");
888 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
889 -/* harmony import */ var _resolve_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resolve-element */ "./packages/packages/libs/editor-elements/src/sync/resolve-element.ts");
890 -
891 -
892 -
893 -
894 -
895 -
896 -
897 -const duplicateElements = ({
898 - elementIds,
899 - title,
900 - subtitle = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Item duplicated', 'elementor'),
901 - onDuplicateElements,
902 - onRestoreElements
903 -}) => {
904 - const undoableDuplicate = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.undoable)({
905 - do: ({
906 - elementIds: elementIdsToDuplicate
907 - }) => {
908 - onDuplicateElements?.();
909 - const duplicatedElements = [];
910 - elementIdsToDuplicate.forEach(elementId => {
911 - const originalContainer = (0,_get_container__WEBPACK_IMPORTED_MODULE_5__.getContainer)(elementId);
912 - if (!originalContainer?.parent) {
913 - return;
914 - }
915 - const duplicatedElement = (0,_duplicate_element__WEBPACK_IMPORTED_MODULE_4__.duplicateElement)({
916 - element: originalContainer,
917 - options: {
918 - useHistory: false
919 - }
920 - });
921 - if (!duplicatedElement.parent) {
922 - return;
923 - }
924 - duplicatedElements.push({
925 - container: duplicatedElement,
926 - parentContainer: duplicatedElement.parent,
927 - model: duplicatedElement.model.toJSON(),
928 - at: duplicatedElement.view?._index,
929 - containerId: duplicatedElement.id,
930 - parentContainerId: duplicatedElement.parent.id
931 - });
932 - });
933 - return {
934 - duplicatedElements
935 - };
936 - },
937 - undo: (_, {
938 - duplicatedElements
939 - }) => {
940 - onRestoreElements?.();
941 - [...duplicatedElements].reverse().forEach(({
942 - container,
943 - containerId,
944 - parentContainerId
945 - }) => {
946 - const freshContainer = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_6__.resolveContainer)(container, containerId);
947 - if (freshContainer) {
948 - (0,_delete_element__WEBPACK_IMPORTED_MODULE_3__.deleteElement)({
949 - container: freshContainer,
950 - options: {
951 - useHistory: false
952 - }
953 - });
954 - return;
955 - }
956 - (0,_resolve_element__WEBPACK_IMPORTED_MODULE_6__.removeModelFromParent)(parentContainerId, containerId);
957 - });
958 - },
959 - redo: (_, {
960 - duplicatedElements: previousElements
961 - }) => {
962 - onDuplicateElements?.();
963 - const duplicatedElements = [];
964 - previousElements.forEach(({
965 - parentContainer,
966 - parentContainerId,
967 - model,
968 - at
969 - }) => {
970 - const freshParent = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_6__.resolveContainer)(parentContainer, parentContainerId);
971 - if (freshParent) {
972 - const createdElement = (0,_create_element__WEBPACK_IMPORTED_MODULE_2__.createElement)({
973 - container: freshParent,
974 - model,
975 - options: {
976 - useHistory: false,
977 - clone: false,
978 - at
979 - }
980 - });
981 - duplicatedElements.push({
982 - container: createdElement,
983 - parentContainer: freshParent,
984 - model,
985 - at,
986 - containerId: createdElement.id,
987 - parentContainerId: freshParent.id
988 - });
989 - return;
990 - }
991 - (0,_resolve_element__WEBPACK_IMPORTED_MODULE_6__.addModelToParent)(parentContainerId, model, {
992 - at
993 - });
994 - duplicatedElements.push({
995 - container: parentContainer,
996 - parentContainer,
997 - model,
998 - at,
999 - containerId: model.id ?? '',
1000 - parentContainerId
1001 - });
1002 - });
1003 - return {
1004 - duplicatedElements
1005 - };
1006 - }
1007 - }, {
1008 - title,
1009 - subtitle
1010 - });
1011 - return undoableDuplicate({
1012 - elementIds
1013 - });
1014 -};
1015 -
1016 -/***/ }),
1017 -
1018 -/***/ "./packages/packages/libs/editor-elements/src/sync/generate-element-id.ts":
1019 -/*!********************************************************************************!*\
1020 - !*** ./packages/packages/libs/editor-elements/src/sync/generate-element-id.ts ***!
1021 - \********************************************************************************/
1022 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1023 -
1024 -__webpack_require__.r(__webpack_exports__);
1025 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1026 -/* harmony export */ generateElementId: function() { return /* binding */ generateElementId; }
1027 -/* harmony export */ });
1028 -const generateElementId = () => {
1029 - const extendedWindow = window;
1030 - return extendedWindow.elementorCommon?.helpers?.getUniqueId?.() ?? `el-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
1031 -};
1032 -
1033 -/***/ }),
1034 -
1035 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-all-descendants.ts":
1036 -/*!********************************************************************************!*\
1037 - !*** ./packages/packages/libs/editor-elements/src/sync/get-all-descendants.ts ***!
1038 - \********************************************************************************/
1039 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1040 -
1041 -__webpack_require__.r(__webpack_exports__);
1042 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1043 -/* harmony export */ getAllDescendants: function() { return /* binding */ getAllDescendants; }
1044 -/* harmony export */ });
1045 -function getAllDescendants(container) {
1046 - const children = (container.children ?? []).flatMap(child => getAllDescendants(child));
1047 - return [container, ...children];
1048 -}
1049 -
1050 -/***/ }),
1051 -
1052 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-container.ts":
1053 -/*!**************************************************************************!*\
1054 - !*** ./packages/packages/libs/editor-elements/src/sync/get-container.ts ***!
1055 - \**************************************************************************/
1056 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1057 -
1058 -__webpack_require__.r(__webpack_exports__);
1059 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1060 -/* harmony export */ getContainer: function() { return /* binding */ getContainer; },
1061 -/* harmony export */ selectElement: function() { return /* binding */ selectElement; }
1062 -/* harmony export */ });
1063 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
1064 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
1065 -
1066 -function getContainer(id) {
1067 - const extendedWindow = window;
1068 - const container = extendedWindow.elementor?.getContainer?.(id);
1069 - return container ?? null;
1070 -}
1071 -const selectElement = elementId => {
1072 - try {
1073 - const container = getContainer(elementId);
1074 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommand)('document/elements/select', {
1075 - container
1076 - });
1077 - } catch {}
1078 -};
1079 -
1080 -/***/ }),
1081 -
1082 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts":
1083 -/*!*******************************************************************************************!*\
1084 - !*** ./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts ***!
1085 - \*******************************************************************************************/
1086 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1087 -
1088 -__webpack_require__.r(__webpack_exports__);
1089 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1090 -/* harmony export */ getCurrentDocumentContainer: function() { return /* binding */ getCurrentDocumentContainer; }
1091 -/* harmony export */ });
1092 -function getCurrentDocumentContainer() {
1093 - const extendedWindow = window;
1094 - return extendedWindow.elementor?.documents?.getCurrent?.()?.container ?? null;
1095 -}
1096 -
1097 -/***/ }),
1098 -
1099 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts":
1100 -/*!************************************************************************************!*\
1101 - !*** ./packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts ***!
1102 - \************************************************************************************/
1103 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1104 -
1105 -__webpack_require__.r(__webpack_exports__);
1106 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1107 -/* harmony export */ getCurrentDocumentId: function() { return /* binding */ getCurrentDocumentId; }
1108 -/* harmony export */ });
1109 -function getCurrentDocumentId() {
1110 - const extendedWindow = window;
1111 - try {
1112 - return extendedWindow.elementor?.documents?.getCurrentId?.() ?? null;
1113 - } catch {
1114 - return null;
1115 - }
1116 -}
1117 -
1118 -/***/ }),
1119 -
1120 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts":
1121 -/*!****************************************************************************************!*\
1122 - !*** ./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts ***!
1123 - \****************************************************************************************/
1124 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1125 -
1126 -__webpack_require__.r(__webpack_exports__);
1127 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1128 -/* harmony export */ getElementEditorSettings: function() { return /* binding */ getElementEditorSettings; }
1129 -/* harmony export */ });
1130 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1131 -
1132 -function getElementEditorSettings(elementId) {
1133 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(elementId);
1134 - return container?.model.get('editor_settings') ?? {};
1135 -}
1136 -
1137 -/***/ }),
1138 -
1139 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts":
1140 -/*!*************************************************************************************!*\
1141 - !*** ./packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts ***!
1142 - \*************************************************************************************/
1143 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1144 -
1145 -__webpack_require__.r(__webpack_exports__);
1146 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1147 -/* harmony export */ getElementInteractions: function() { return /* binding */ getElementInteractions; }
1148 -/* harmony export */ });
1149 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1150 -
1151 -function getElementInteractions(elementId) {
1152 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(elementId);
1153 - const interactions = container?.model?.get('interactions');
1154 - if (typeof interactions === 'string') {
1155 - return JSON.parse(interactions);
1156 - }
1157 - return interactions;
1158 -}
1159 -
1160 -/***/ }),
1161 -
1162 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-element-label.ts":
1163 -/*!******************************************************************************!*\
1164 - !*** ./packages/packages/libs/editor-elements/src/sync/get-element-label.ts ***!
1165 - \******************************************************************************/
1166 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1167 -
1168 -__webpack_require__.r(__webpack_exports__);
1169 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1170 -/* harmony export */ getElementLabel: function() { return /* binding */ getElementLabel; }
1171 -/* harmony export */ });
1172 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ "./packages/packages/libs/editor-elements/src/errors.ts");
1173 -/* harmony import */ var _sync_get_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../sync/get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1174 -/* harmony import */ var _sync_get_widgets_cache__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../sync/get-widgets-cache */ "./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");
1175 -/* harmony import */ var _get_selected_elements__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-selected-elements */ "./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");
1176 -
1177 -
1178 -
1179 -
1180 -function getElementLabel(elementId) {
1181 - if (!elementId) {
1182 - elementId = (0,_get_selected_elements__WEBPACK_IMPORTED_MODULE_3__.getSelectedElements)()?.[0]?.id;
1183 - }
1184 - const container = (0,_sync_get_container__WEBPACK_IMPORTED_MODULE_1__.getContainer)(elementId);
1185 - const type = container?.model.get('widgetType') || container?.model.get('elType');
1186 - if (!type) {
1187 - throw new _errors__WEBPACK_IMPORTED_MODULE_0__.ElementTypeNotExistsError({
1188 - context: {
1189 - elementId
1190 - }
1191 - });
1192 - }
1193 - const label = (0,_sync_get_widgets_cache__WEBPACK_IMPORTED_MODULE_2__.getWidgetsCache)()?.[type]?.title;
1194 - if (!label) {
1195 - throw new _errors__WEBPACK_IMPORTED_MODULE_0__.ElementLabelNotExistsError({
1196 - context: {
1197 - elementType: type
1198 - }
1199 - });
1200 - }
1201 - return label;
1202 -}
1203 -
1204 -/***/ }),
1205 -
1206 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts":
1207 -/*!********************************************************************************!*\
1208 - !*** ./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts ***!
1209 - \********************************************************************************/
1210 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1211 -
1212 -__webpack_require__.r(__webpack_exports__);
1213 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1214 -/* harmony export */ getElementSetting: function() { return /* binding */ getElementSetting; },
1215 -/* harmony export */ getElementSettings: function() { return /* binding */ getElementSettings; }
1216 -/* harmony export */ });
1217 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1218 -
1219 -const getElementSetting = (elementId, settingKey) => {
1220 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(elementId);
1221 - return container?.settings?.get(settingKey) ?? null;
1222 -};
1223 -const getElementSettings = (elementId, settingKey) => {
1224 - return Object.fromEntries(settingKey.map(key => [key, getElementSetting(elementId, key)]));
1225 -};
1226 -
1227 -/***/ }),
1228 -
1229 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts":
1230 -/*!*******************************************************************************!*\
1231 - !*** ./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts ***!
1232 - \*******************************************************************************/
1233 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1234 -
1235 -__webpack_require__.r(__webpack_exports__);
1236 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1237 -/* harmony export */ getElementStyles: function() { return /* binding */ getElementStyles; }
1238 -/* harmony export */ });
1239 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1240 -
1241 -const getElementStyles = elementID => {
1242 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(elementID);
1243 - return container?.model.get('styles') || null;
1244 -};
1245 -
1246 -/***/ }),
1247 -
1248 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-element-type.ts":
1249 -/*!*****************************************************************************!*\
1250 - !*** ./packages/packages/libs/editor-elements/src/sync/get-element-type.ts ***!
1251 - \*****************************************************************************/
1252 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1253 -
1254 -__webpack_require__.r(__webpack_exports__);
1255 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1256 -/* harmony export */ getElementType: function() { return /* binding */ getElementType; }
1257 -/* harmony export */ });
1258 -/* harmony import */ var _get_widgets_cache__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-widgets-cache */ "./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");
1259 -
1260 -function getElementType(type) {
1261 - if (!type) {
1262 - return null;
1263 - }
1264 - const widgetsCache = (0,_get_widgets_cache__WEBPACK_IMPORTED_MODULE_0__.getWidgetsCache)();
1265 - const elementType = widgetsCache?.[type];
1266 - if (!elementType?.atomic_controls) {
1267 - return null;
1268 - }
1269 - if (!elementType?.atomic_props_schema) {
1270 - return null;
1271 - }
1272 - return {
1273 - key: type,
1274 - controls: elementType.atomic_controls,
1275 - propsSchema: elementType.atomic_props_schema,
1276 - dependenciesPerTargetMapping: elementType.dependencies_per_target_mapping ?? {},
1277 - title: elementType.title,
1278 - styleStates: elementType.atomic_style_states ?? [],
1279 - pseudoStates: elementType.atomic_pseudo_states ?? []
1280 - };
1281 -}
1282 -
1283 -/***/ }),
1284 -
1285 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-elements.ts":
1286 -/*!*************************************************************************!*\
1287 - !*** ./packages/packages/libs/editor-elements/src/sync/get-elements.ts ***!
1288 - \*************************************************************************/
1289 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1290 -
1291 -__webpack_require__.r(__webpack_exports__);
1292 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1293 -/* harmony export */ getElements: function() { return /* binding */ getElements; }
1294 -/* harmony export */ });
1295 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1296 -/* harmony import */ var _get_current_document_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-current-document-container */ "./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts");
1297 -
1298 -
1299 -function getElements(root) {
1300 - const container = root ? (0,_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(root) : (0,_get_current_document_container__WEBPACK_IMPORTED_MODULE_1__.getCurrentDocumentContainer)();
1301 - if (!container) {
1302 - return [];
1303 - }
1304 - const children = [...(container.model.get('elements') ?? [])].flatMap(childModel => getElements(childModel.get('id')));
1305 - return [container, ...children];
1306 -}
1307 -
1308 -/***/ }),
1309 -
1310 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts":
1311 -/*!**********************************************************************************!*\
1312 - !*** ./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts ***!
1313 - \**********************************************************************************/
1314 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1315 -
1316 -__webpack_require__.r(__webpack_exports__);
1317 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1318 -/* harmony export */ getSelectedElement: function() { return /* binding */ getSelectedElement; },
1319 -/* harmony export */ getSelectedElements: function() { return /* binding */ getSelectedElements; }
1320 -/* harmony export */ });
1321 -/* harmony import */ var _get_element_type__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-element-type */ "./packages/packages/libs/editor-elements/src/sync/get-element-type.ts");
1322 -
1323 -function getSelectedElements() {
1324 - const extendedWindow = window;
1325 - const selectedElements = extendedWindow.elementor?.selection?.getElements?.() ?? [];
1326 - return selectedElements.reduce((acc, el) => {
1327 - const type = el.model.get('widgetType') || el.model.get('elType');
1328 - if (type) {
1329 - acc.push({
1330 - id: el.model.get('id'),
1331 - type
1332 - });
1333 - }
1334 - return acc;
1335 - }, []);
1336 -}
1337 -function getSelectedElement() {
1338 - const elements = getSelectedElements();
1339 - const [element] = elements;
1340 - const elementType = (0,_get_element_type__WEBPACK_IMPORTED_MODULE_0__.getElementType)(element?.type);
1341 - if (elements.length !== 1 || !elementType || !element) {
1342 - return {
1343 - element: null,
1344 - elementType: null
1345 - };
1346 - }
1347 - return {
1348 - element,
1349 - elementType
1350 - };
1351 -}
1352 -
1353 -/***/ }),
1354 -
1355 -/***/ "./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts":
1356 -/*!******************************************************************************!*\
1357 - !*** ./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts ***!
1358 - \******************************************************************************/
1359 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1360 -
1361 -__webpack_require__.r(__webpack_exports__);
1362 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1363 -/* harmony export */ getWidgetsCache: function() { return /* binding */ getWidgetsCache; }
1364 -/* harmony export */ });
1365 -function getWidgetsCache() {
1366 - const extendedWindow = window;
1367 - return extendedWindow?.elementor?.widgetsCache || null;
1368 -}
1369 -
1370 -/***/ }),
1371 -
1372 -/***/ "./packages/packages/libs/editor-elements/src/sync/model-utils.ts":
1373 -/*!************************************************************************!*\
1374 - !*** ./packages/packages/libs/editor-elements/src/sync/model-utils.ts ***!
1375 - \************************************************************************/
1376 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1377 -
1378 -__webpack_require__.r(__webpack_exports__);
1379 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1380 -/* harmony export */ findChildRecursive: function() { return /* binding */ findChildRecursive; },
1381 -/* harmony export */ getElementChildren: function() { return /* binding */ getElementChildren; }
1382 -/* harmony export */ });
1383 -function findChildRecursive(model, predicate) {
1384 - const childModels = model.get('elements') ?? [];
1385 - for (const childModel of childModels) {
1386 - if (predicate(childModel)) {
1387 - return {
1388 - model: childModel
1389 - };
1390 - }
1391 - const found = findChildRecursive(childModel, predicate);
1392 - if (found) {
1393 - return found;
1394 - }
1395 - }
1396 - return null;
1397 -}
1398 -function getElementChildren(model, predicate) {
1399 - const childModels = model.get('elements') ?? [];
1400 - return childModels.filter(childModel => !predicate || predicate(childModel)).map(childModel => ({
1401 - model: childModel
1402 - }));
1403 -}
1404 -
1405 -/***/ }),
1406 -
1407 -/***/ "./packages/packages/libs/editor-elements/src/sync/move-element.ts":
1408 -/*!*************************************************************************!*\
1409 - !*** ./packages/packages/libs/editor-elements/src/sync/move-element.ts ***!
1410 - \*************************************************************************/
1411 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1412 -
1413 -__webpack_require__.r(__webpack_exports__);
1414 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1415 -/* harmony export */ moveElement: function() { return /* binding */ moveElement; }
1416 -/* harmony export */ });
1417 -/* harmony import */ var _create_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./create-element */ "./packages/packages/libs/editor-elements/src/sync/create-element.ts");
1418 -/* harmony import */ var _delete_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./delete-element */ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts");
1419 -
1420 -
1421 -function moveElement({
1422 - element,
1423 - targetContainer,
1424 - options = {}
1425 -}) {
1426 - const resolvedElement = element.lookup?.();
1427 - const resolvedTarget = targetContainer.lookup?.();
1428 - if (!resolvedElement) {
1429 - throw new Error(`Element not found: ${element.id}`);
1430 - }
1431 - if (!resolvedTarget) {
1432 - throw new Error(`Target container not found: ${targetContainer.id}`);
1433 - }
1434 - const modelToRecreate = resolvedElement.model.toJSON();
1435 - (0,_delete_element__WEBPACK_IMPORTED_MODULE_1__.deleteElement)({
1436 - container: resolvedElement,
1437 - options: {
1438 - ...options,
1439 - useHistory: false
1440 - }
1441 - });
1442 - const newContainer = (0,_create_element__WEBPACK_IMPORTED_MODULE_0__.createElement)({
1443 - container: resolvedTarget,
1444 - model: modelToRecreate,
1445 - options: {
1446 - edit: false,
1447 - ...options,
1448 - useHistory: false
1449 - }
1450 - });
1451 - return newContainer;
1452 -}
1453 -
1454 -/***/ }),
1455 -
1456 -/***/ "./packages/packages/libs/editor-elements/src/sync/move-elements.ts":
1457 -/*!**************************************************************************!*\
1458 - !*** ./packages/packages/libs/editor-elements/src/sync/move-elements.ts ***!
1459 - \**************************************************************************/
1460 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1461 -
1462 -__webpack_require__.r(__webpack_exports__);
1463 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1464 -/* harmony export */ moveElements: function() { return /* binding */ moveElements; }
1465 -/* harmony export */ });
1466 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
1467 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
1468 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1469 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
1470 -/* harmony import */ var _move_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./move-element */ "./packages/packages/libs/editor-elements/src/sync/move-element.ts");
1471 -/* harmony import */ var _resolve_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resolve-element */ "./packages/packages/libs/editor-elements/src/sync/resolve-element.ts");
1472 -
1473 -
1474 -
1475 -
1476 -const moveElements = ({
1477 - moves: movesToMake,
1478 - title,
1479 - subtitle = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Elements moved', 'elementor'),
1480 - onMoveElements,
1481 - onRestoreElements
1482 -}) => {
1483 - const undoableMove = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.undoable)({
1484 - do: ({
1485 - moves
1486 - }) => {
1487 - const movedElements = [];
1488 - onMoveElements?.();
1489 - moves.forEach(({
1490 - element,
1491 - targetContainer,
1492 - options
1493 - }) => {
1494 - const sourceElement = element.lookup?.() ?? element;
1495 - const target = targetContainer.lookup?.() ?? targetContainer;
1496 - if (!sourceElement) {
1497 - throw new Error('Element not found');
1498 - }
1499 - if (!target) {
1500 - throw new Error('Target container not found');
1501 - }
1502 - if (!sourceElement.parent) {
1503 - throw new Error('Element has no parent container');
1504 - }
1505 - const originalContainer = sourceElement.parent;
1506 - const originalIndex = originalContainer.children?.indexOf(sourceElement) ?? -1;
1507 - const newElement = (0,_move_element__WEBPACK_IMPORTED_MODULE_2__.moveElement)({
1508 - element: sourceElement,
1509 - targetContainer: target,
1510 - options: {
1511 - ...options,
1512 - useHistory: false
1513 - }
1514 - });
1515 - movedElements.push({
1516 - element: newElement,
1517 - originalContainer,
1518 - originalIndex,
1519 - targetContainer: target,
1520 - options,
1521 - elementId: newElement.id,
1522 - originalContainerId: originalContainer.id,
1523 - targetContainerId: target.id
1524 - });
1525 - });
1526 - return {
1527 - movedElements
1528 - };
1529 - },
1530 - undo: (_, {
1531 - movedElements
1532 - }) => {
1533 - onRestoreElements?.();
1534 -
1535 - // Fallback for async-rendered nested elements whose views may not exist yet (ED-22825).
1536 - [...movedElements].reverse().forEach(({
1537 - element,
1538 - elementId,
1539 - originalContainer,
1540 - originalContainerId,
1541 - originalIndex
1542 - }) => {
1543 - const freshElement = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_3__.resolveContainer)(element, elementId);
1544 - const freshOriginalContainer = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_3__.resolveContainer)(originalContainer, originalContainerId);
1545 - if (!freshElement || !freshOriginalContainer) {
1546 - return;
1547 - }
1548 - (0,_move_element__WEBPACK_IMPORTED_MODULE_2__.moveElement)({
1549 - element: freshElement,
1550 - targetContainer: freshOriginalContainer,
1551 - options: {
1552 - useHistory: false,
1553 - at: originalIndex >= 0 ? originalIndex : undefined
1554 - }
1555 - });
1556 - });
1557 - },
1558 - redo: (_, {
1559 - movedElements
1560 - }) => {
1561 - const newMovedElements = [];
1562 - onMoveElements?.();
1563 - movedElements.forEach(({
1564 - element,
1565 - elementId,
1566 - originalContainer,
1567 - originalContainerId,
1568 - originalIndex,
1569 - targetContainer,
1570 - targetContainerId,
1571 - options
1572 - }) => {
1573 - const freshElement = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_3__.resolveContainer)(element, elementId);
1574 - const freshOriginalContainer = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_3__.resolveContainer)(originalContainer, originalContainerId);
1575 - const freshTarget = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_3__.resolveContainer)(targetContainer, targetContainerId);
1576 - if (!freshElement || !freshOriginalContainer || !freshTarget) {
1577 - return;
1578 - }
1579 - const newElement = (0,_move_element__WEBPACK_IMPORTED_MODULE_2__.moveElement)({
1580 - element: freshElement,
1581 - targetContainer: freshTarget,
1582 - options: {
1583 - ...options,
1584 - useHistory: false
1585 - }
1586 - });
1587 - newMovedElements.push({
1588 - element: newElement,
1589 - originalContainer: freshOriginalContainer,
1590 - originalIndex,
1591 - targetContainer: freshTarget,
1592 - options,
1593 - elementId: newElement.id,
1594 - originalContainerId: freshOriginalContainer.id,
1595 - targetContainerId: freshTarget.id
1596 - });
1597 - });
1598 - return {
1599 - movedElements: newMovedElements
1600 - };
1601 - }
1602 - }, {
1603 - title,
1604 - subtitle
1605 - });
1606 - return undoableMove({
1607 - moves: movesToMake
1608 - });
1609 -};
1610 -
1611 -/***/ }),
1612 -
1613 -/***/ "./packages/packages/libs/editor-elements/src/sync/remove-elements.ts":
1614 -/*!****************************************************************************!*\
1615 - !*** ./packages/packages/libs/editor-elements/src/sync/remove-elements.ts ***!
1616 - \****************************************************************************/
1617 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1618 -
1619 -__webpack_require__.r(__webpack_exports__);
1620 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1621 -/* harmony export */ removeElements: function() { return /* binding */ removeElements; }
1622 -/* harmony export */ });
1623 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
1624 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
1625 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
1626 -/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
1627 -/* harmony import */ var _create_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./create-element */ "./packages/packages/libs/editor-elements/src/sync/create-element.ts");
1628 -/* harmony import */ var _delete_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./delete-element */ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts");
1629 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1630 -/* harmony import */ var _resolve_element__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./resolve-element */ "./packages/packages/libs/editor-elements/src/sync/resolve-element.ts");
1631 -
1632 -
1633 -
1634 -
1635 -
1636 -
1637 -const removeElements = ({
1638 - elementIds,
1639 - title,
1640 - subtitle = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Item removed', 'elementor'),
1641 - onRemoveElements,
1642 - onRestoreElements
1643 -}) => {
1644 - const undoableRemove = (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.undoable)({
1645 - do: ({
1646 - elementIds: elementIdsParam
1647 - }) => {
1648 - const removedElements = [];
1649 - elementIdsParam.forEach(elementId => {
1650 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_4__.getContainer)(elementId);
1651 - if (container?.parent) {
1652 - removedElements.push({
1653 - container,
1654 - parent: container.parent,
1655 - model: container.model.toJSON(),
1656 - at: container.view?._index ?? 0,
1657 - containerId: container.id,
1658 - parentId: container.parent.id
1659 - });
1660 - }
1661 - });
1662 - onRemoveElements?.();
1663 - removedElements.forEach(({
1664 - container
1665 - }) => {
1666 - (0,_delete_element__WEBPACK_IMPORTED_MODULE_3__.deleteElement)({
1667 - container,
1668 - options: {
1669 - useHistory: false
1670 - }
1671 - });
1672 - });
1673 - return {
1674 - removedElements
1675 - };
1676 - },
1677 - undo: (_, {
1678 - removedElements
1679 - }) => {
1680 - onRestoreElements?.();
1681 - [...removedElements].reverse().forEach(({
1682 - parent,
1683 - parentId,
1684 - model,
1685 - at
1686 - }) => {
1687 - const freshParent = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_5__.resolveContainer)(parent, parentId);
1688 - if (freshParent) {
1689 - (0,_create_element__WEBPACK_IMPORTED_MODULE_2__.createElement)({
1690 - container: freshParent,
1691 - model,
1692 - options: {
1693 - useHistory: false,
1694 - at
1695 - }
1696 - });
1697 - return;
1698 - }
1699 - (0,_resolve_element__WEBPACK_IMPORTED_MODULE_5__.addModelToParent)(parentId, model, {
1700 - at
1701 - });
1702 - });
1703 - },
1704 - redo: (_, {
1705 - removedElements
1706 - }) => {
1707 - onRemoveElements?.();
1708 - const newRemovedElements = [];
1709 - removedElements.forEach(({
1710 - container,
1711 - parent,
1712 - model,
1713 - at,
1714 - containerId,
1715 - parentId
1716 - }) => {
1717 - const freshContainer = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_5__.resolveContainer)(container, containerId);
1718 - const freshParent = (0,_resolve_element__WEBPACK_IMPORTED_MODULE_5__.resolveContainer)(parent, parentId);
1719 - if (freshContainer && freshParent) {
1720 - (0,_delete_element__WEBPACK_IMPORTED_MODULE_3__.deleteElement)({
1721 - container: freshContainer,
1722 - options: {
1723 - useHistory: false
1724 - }
1725 - });
1726 - newRemovedElements.push({
1727 - container: freshContainer,
1728 - parent: freshParent,
1729 - model,
1730 - at,
1731 - containerId,
1732 - parentId
1733 - });
1734 - return;
1735 - }
1736 - (0,_resolve_element__WEBPACK_IMPORTED_MODULE_5__.removeModelFromParent)(parentId, containerId);
1737 - newRemovedElements.push({
1738 - container,
1739 - parent,
1740 - model,
1741 - at,
1742 - containerId,
1743 - parentId
1744 - });
1745 - });
1746 - return {
1747 - removedElements: newRemovedElements
1748 - };
1749 - }
1750 - }, {
1751 - title,
1752 - subtitle
1753 - });
1754 - return undoableRemove({
1755 - elementIds
1756 - });
1757 -};
1758 -
1759 -/***/ }),
1760 -
1761 -/***/ "./packages/packages/libs/editor-elements/src/sync/replace-element.ts":
1762 -/*!****************************************************************************!*\
1763 - !*** ./packages/packages/libs/editor-elements/src/sync/replace-element.ts ***!
1764 - \****************************************************************************/
1765 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1766 -
1767 -__webpack_require__.r(__webpack_exports__);
1768 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1769 -/* harmony export */ replaceElement: function() { return /* binding */ replaceElement; }
1770 -/* harmony export */ });
1771 -/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ "./packages/packages/libs/editor-elements/src/errors.ts");
1772 -/* harmony import */ var _create_element__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./create-element */ "./packages/packages/libs/editor-elements/src/sync/create-element.ts");
1773 -/* harmony import */ var _delete_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./delete-element */ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts");
1774 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1775 -
1776 -
1777 -
1778 -
1779 -const replaceElement = ({
1780 - currentElementId,
1781 - newElement,
1782 - withHistory = true
1783 -}) => {
1784 - const currentElementContainer = (0,_get_container__WEBPACK_IMPORTED_MODULE_3__.getContainer)(currentElementId);
1785 - if (!currentElementContainer) {
1786 - throw new _errors__WEBPACK_IMPORTED_MODULE_0__.ElementNotFoundError({
1787 - context: {
1788 - elementId: currentElementId
1789 - }
1790 - });
1791 - }
1792 - const {
1793 - container,
1794 - index
1795 - } = getNewElementContainer(currentElementContainer, newElement);
1796 - const newElementInstance = (0,_create_element__WEBPACK_IMPORTED_MODULE_1__.createElement)({
1797 - container,
1798 - model: newElement,
1799 - options: {
1800 - at: index,
1801 - useHistory: withHistory
1802 - }
1803 - });
1804 - (0,_delete_element__WEBPACK_IMPORTED_MODULE_2__.deleteElement)({
1805 - container: currentElementContainer,
1806 - options: {
1807 - useHistory: withHistory
1808 - }
1809 - });
1810 - return newElementInstance;
1811 -};
1812 -function getNewElementContainer(currentElementContainer, newElement) {
1813 - const {
1814 - parent
1815 - } = currentElementContainer;
1816 - if (!parent) {
1817 - throw new _errors__WEBPACK_IMPORTED_MODULE_0__.ElementParentNotFoundError({
1818 - context: {
1819 - elementId: currentElementContainer.id
1820 - }
1821 - });
1822 - }
1823 - const elementIndex = currentElementContainer.view?._index ?? 0;
1824 - if (elementIndex === -1) {
1825 - throw new _errors__WEBPACK_IMPORTED_MODULE_0__.ElementIndexNotFoundError({
1826 - context: {
1827 - elementId: currentElementContainer.id
1828 - }
1829 - });
1830 - }
1831 - let location = {
1832 - container: parent,
1833 - index: elementIndex
1834 - };
1835 - if (parent.id === 'document' && newElement.elType === 'widget') {
1836 - location = createWrapperForWidget(parent, elementIndex);
1837 - }
1838 - return location;
1839 -}
1840 -const DEFAULT_CONTAINER_TYPE = 'e-flexbox';
1841 -function createWrapperForWidget(parent, elementIndex) {
1842 - const container = (0,_create_element__WEBPACK_IMPORTED_MODULE_1__.createElement)({
1843 - container: parent,
1844 - model: {
1845 - elType: DEFAULT_CONTAINER_TYPE
1846 - },
1847 - options: {
1848 - at: elementIndex,
1849 - useHistory: false
1850 - }
1851 - });
1852 - return {
1853 - container,
1854 - index: 0
1855 - };
1856 -}
1857 -
1858 -/***/ }),
1859 -
1860 -/***/ "./packages/packages/libs/editor-elements/src/sync/resolve-element.ts":
1861 -/*!****************************************************************************!*\
1862 - !*** ./packages/packages/libs/editor-elements/src/sync/resolve-element.ts ***!
1863 - \****************************************************************************/
1864 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1865 -
1866 -__webpack_require__.r(__webpack_exports__);
1867 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1868 -/* harmony export */ addModelToParent: function() { return /* binding */ addModelToParent; },
1869 -/* harmony export */ findModelInDocument: function() { return /* binding */ findModelInDocument; },
1870 -/* harmony export */ removeModelFromParent: function() { return /* binding */ removeModelFromParent; },
1871 -/* harmony export */ resolveContainer: function() { return /* binding */ resolveContainer; }
1872 -/* harmony export */ });
1873 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1874 -
1875 -function isConnected(container) {
1876 - if (!container) {
1877 - return false;
1878 - }
1879 - if (!container.view?.el) {
1880 - return true;
1881 - }
1882 - return container.view.el.isConnected;
1883 -}
1884 -function resolveContainer(container, id) {
1885 - const looked = container.lookup?.();
1886 - if (isConnected(looked)) {
1887 - return looked;
1888 - }
1889 - const byId = (0,_get_container__WEBPACK_IMPORTED_MODULE_0__.getContainer)(id);
1890 - if (isConnected(byId)) {
1891 - return byId;
1892 - }
1893 - return null;
1894 -}
1895 -function getDocumentUtils() {
1896 - return window.$e?.components?.get?.('document')?.utils;
1897 -}
1898 -function findModelInDocument(id) {
1899 - return getDocumentUtils()?.findModelById?.(id) ?? null;
1900 -}
1901 -function addModelToParent(parentId, childData, options) {
1902 - return getDocumentUtils()?.addModelToParent?.(parentId, childData, options) ?? false;
1903 -}
1904 -function removeModelFromParent(parentId, childId) {
1905 - return getDocumentUtils()?.removeModelFromParent?.(parentId, childId) ?? false;
1906 -}
1907 -
1908 -/***/ }),
1909 -
1910 -/***/ "./packages/packages/libs/editor-elements/src/sync/update-element-editor-settings.ts":
1911 -/*!*******************************************************************************************!*\
1912 - !*** ./packages/packages/libs/editor-elements/src/sync/update-element-editor-settings.ts ***!
1913 - \*******************************************************************************************/
1914 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1915 -
1916 -__webpack_require__.r(__webpack_exports__);
1917 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1918 -/* harmony export */ updateElementEditorSettings: function() { return /* binding */ updateElementEditorSettings; }
1919 -/* harmony export */ });
1920 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
1921 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
1922 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1923 -
1924 -
1925 -const updateElementEditorSettings = ({
1926 - elementId,
1927 - settings
1928 -}) => {
1929 - const element = (0,_get_container__WEBPACK_IMPORTED_MODULE_1__.getContainer)(elementId);
1930 - if (!element) {
1931 - throw new Error(`Element with id ${elementId} not found`);
1932 - }
1933 - const editorSettings = element.model.get('editor_settings') ?? {};
1934 - element.model.set('editor_settings', {
1935 - ...editorSettings,
1936 - ...settings
1937 - });
1938 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/save/set-is-modified', {
1939 - status: true
1940 - }, {
1941 - internal: true
1942 - });
1943 -};
1944 -
1945 -/***/ }),
1946 -
1947 -/***/ "./packages/packages/libs/editor-elements/src/sync/update-element-interactions.ts":
1948 -/*!****************************************************************************************!*\
1949 - !*** ./packages/packages/libs/editor-elements/src/sync/update-element-interactions.ts ***!
1950 - \****************************************************************************************/
1951 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1952 -
1953 -__webpack_require__.r(__webpack_exports__);
1954 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1955 -/* harmony export */ playElementInteractions: function() { return /* binding */ playElementInteractions; },
1956 -/* harmony export */ updateElementInteractions: function() { return /* binding */ updateElementInteractions; }
1957 -/* harmony export */ });
1958 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
1959 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
1960 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
1961 -
1962 -
1963 -const updateElementInteractions = ({
1964 - elementId,
1965 - interactions
1966 -}) => {
1967 - const element = (0,_get_container__WEBPACK_IMPORTED_MODULE_1__.getContainer)(elementId);
1968 - if (!element) {
1969 - throw new Error(`Element with id ${elementId} not found`);
1970 - }
1971 - element.model.set('interactions', interactions);
1972 - window.dispatchEvent(new CustomEvent('elementor/element/update_interactions'));
1973 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/save/set-is-modified', {
1974 - status: true
1975 - }, {
1976 - internal: true
1977 - });
1978 -};
1979 -const playElementInteractions = (elementId, interactionId) => {
1980 - window.top?.dispatchEvent(new CustomEvent('atomic/play_interactions', {
1981 - detail: {
1982 - elementId,
1983 - interactionId
1984 - }
1985 - }));
1986 -};
1987 -
1988 -/***/ }),
1989 -
1990 -/***/ "./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts":
1991 -/*!************************************************************************************!*\
1992 - !*** ./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts ***!
1993 - \************************************************************************************/
1994 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
1995 -
1996 -__webpack_require__.r(__webpack_exports__);
1997 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
1998 -/* harmony export */ updateElementSettings: function() { return /* binding */ updateElementSettings; }
1999 -/* harmony export */ });
2000 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @elementor/editor-v1-adapters */ "@elementor/editor-v1-adapters");
2001 -/* harmony import */ var _elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__);
2002 -/* harmony import */ var _get_container__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
2003 -
2004 -
2005 -const updateElementSettings = ({
2006 - id,
2007 - props,
2008 - withHistory = true
2009 -}) => {
2010 - const container = (0,_get_container__WEBPACK_IMPORTED_MODULE_1__.getContainer)(id);
2011 - if (!container) {
2012 - return;
2013 - }
2014 - const args = {
2015 - container,
2016 - settings: {
2017 - ...props
2018 - }
2019 - };
2020 - if (withHistory) {
2021 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/elements/settings', args);
2022 - } else {
2023 - (0,_elementor_editor_v1_adapters__WEBPACK_IMPORTED_MODULE_0__.__privateRunCommandSync)('document/elements/set-settings', args, {
2024 - internal: true
2025 - });
2026 - }
2027 -};
2028 -
2029 -/***/ }),
2030 -
2031 -/***/ "./packages/packages/libs/editor-elements/src/types.ts":
2032 -/*!*************************************************************!*\
2033 - !*** ./packages/packages/libs/editor-elements/src/types.ts ***!
2034 - \*************************************************************/
2035 -/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
2036 -
2037 -__webpack_require__.r(__webpack_exports__);
2038 -
2039 -
2040 -/***/ }),
2041 -
2042 -/***/ "@elementor/editor-props":
2043 -/*!**********************************************!*\
2044 - !*** external ["elementorV2","editorProps"] ***!
2045 - \**********************************************/
2046 -/***/ (function(module) {
2047 -
2048 -module.exports = window["elementorV2"]["editorProps"];
2049 -
2050 -/***/ }),
2051 -
2052 -/***/ "@elementor/editor-styles":
2053 -/*!***********************************************!*\
2054 - !*** external ["elementorV2","editorStyles"] ***!
2055 - \***********************************************/
2056 -/***/ (function(module) {
2057 -
2058 -module.exports = window["elementorV2"]["editorStyles"];
2059 -
2060 -/***/ }),
2061 -
2062 -/***/ "@elementor/editor-v1-adapters":
2063 -/*!***************************************************!*\
2064 - !*** external ["elementorV2","editorV1Adapters"] ***!
2065 - \***************************************************/
2066 -/***/ (function(module) {
2067 -
2068 -module.exports = window["elementorV2"]["editorV1Adapters"];
2069 -
2070 -/***/ }),
2071 -
2072 -/***/ "@elementor/utils":
2073 -/*!****************************************!*\
2074 - !*** external ["elementorV2","utils"] ***!
2075 - \****************************************/
2076 -/***/ (function(module) {
2077 -
2078 -module.exports = window["elementorV2"]["utils"];
2079 -
2080 -/***/ }),
2081 -
2082 -/***/ "@wordpress/i18n":
2083 -/*!******************************!*\
2084 - !*** external ["wp","i18n"] ***!
2085 - \******************************/
2086 -/***/ (function(module) {
2087 -
2088 -module.exports = window["wp"]["i18n"];
2089 -
2090 -/***/ })
2091 -
2092 -/******/ });
2093 -/************************************************************************/
2094 -/******/ // The module cache
2095 -/******/ var __webpack_module_cache__ = {};
2096 -/******/
2097 -/******/ // The require function
2098 -/******/ function __webpack_require__(moduleId) {
2099 -/******/ // Check if module is in cache
2100 -/******/ var cachedModule = __webpack_module_cache__[moduleId];
2101 -/******/ if (cachedModule !== undefined) {
2102 -/******/ return cachedModule.exports;
2103 -/******/ }
2104 -/******/ // Create a new module (and put it into the cache)
2105 -/******/ var module = __webpack_module_cache__[moduleId] = {
2106 -/******/ // no module.id needed
2107 -/******/ // no module.loaded needed
2108 -/******/ exports: {}
2109 -/******/ };
2110 -/******/
2111 -/******/ // Execute the module function
2112 -/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
2113 -/******/
2114 -/******/ // Return the exports of the module
2115 -/******/ return module.exports;
2116 -/******/ }
2117 -/******/
2118 -/************************************************************************/
2119 -/******/ /* webpack/runtime/compat get default export */
2120 -/******/ !function() {
2121 -/******/ // getDefaultExport function for compatibility with non-harmony modules
2122 -/******/ __webpack_require__.n = function(module) {
2123 -/******/ var getter = module && module.__esModule ?
2124 -/******/ function() { return module['default']; } :
2125 -/******/ function() { return module; };
2126 -/******/ __webpack_require__.d(getter, { a: getter });
2127 -/******/ return getter;
2128 -/******/ };
2129 -/******/ }();
2130 -/******/
2131 -/******/ /* webpack/runtime/define property getters */
2132 -/******/ !function() {
2133 -/******/ // define getter functions for harmony exports
2134 -/******/ __webpack_require__.d = function(exports, definition) {
2135 -/******/ for(var key in definition) {
2136 -/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
2137 -/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
2138 -/******/ }
2139 -/******/ }
2140 -/******/ };
2141 -/******/ }();
2142 -/******/
2143 -/******/ /* webpack/runtime/hasOwnProperty shorthand */
2144 -/******/ !function() {
2145 -/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
2146 -/******/ }();
2147 -/******/
2148 -/******/ /* webpack/runtime/make namespace object */
2149 -/******/ !function() {
2150 -/******/ // define __esModule on exports
2151 -/******/ __webpack_require__.r = function(exports) {
2152 -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
2153 -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2154 -/******/ }
2155 -/******/ Object.defineProperty(exports, '__esModule', { value: true });
2156 -/******/ };
2157 -/******/ }();
2158 -/******/
2159 -/************************************************************************/
2160 -var __webpack_exports__ = {};
2161 -// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
2162 -!function() {
2163 -/*!*************************************************************!*\
2164 - !*** ./packages/packages/libs/editor-elements/src/index.ts ***!
2165 - \*************************************************************/
2166 -__webpack_require__.r(__webpack_exports__);
2167 -/* harmony export */ __webpack_require__.d(__webpack_exports__, {
2168 -/* harmony export */ ELEMENT_STYLE_CHANGE_EVENT: function() { return /* reexport safe */ _styles_consts__WEBPACK_IMPORTED_MODULE_34__.ELEMENT_STYLE_CHANGE_EVENT; },
2169 -/* harmony export */ addModelToParent: function() { return /* reexport safe */ _sync_resolve_element__WEBPACK_IMPORTED_MODULE_14__.addModelToParent; },
2170 -/* harmony export */ createElement: function() { return /* reexport safe */ _sync_create_element__WEBPACK_IMPORTED_MODULE_6__.createElement; },
2171 -/* harmony export */ createElementStyle: function() { return /* reexport safe */ _styles_create_element_style__WEBPACK_IMPORTED_MODULE_35__.createElementStyle; },
2172 -/* harmony export */ createElements: function() { return /* reexport safe */ _sync_create_elements__WEBPACK_IMPORTED_MODULE_7__.createElements; },
2173 -/* harmony export */ deleteElement: function() { return /* reexport safe */ _sync_delete_element__WEBPACK_IMPORTED_MODULE_8__.deleteElement; },
2174 -/* harmony export */ deleteElementStyle: function() { return /* reexport safe */ _styles_delete_element_style__WEBPACK_IMPORTED_MODULE_36__.deleteElementStyle; },
2175 -/* harmony export */ dropElement: function() { return /* reexport safe */ _sync_drop_element__WEBPACK_IMPORTED_MODULE_9__.dropElement; },
2176 -/* harmony export */ duplicateElement: function() { return /* reexport safe */ _sync_duplicate_element__WEBPACK_IMPORTED_MODULE_10__.duplicateElement; },
2177 -/* harmony export */ duplicateElements: function() { return /* reexport safe */ _sync_duplicate_elements__WEBPACK_IMPORTED_MODULE_11__.duplicateElements; },
2178 -/* harmony export */ findChildRecursive: function() { return /* reexport safe */ _sync_model_utils__WEBPACK_IMPORTED_MODULE_23__.findChildRecursive; },
2179 -/* harmony export */ findModelInDocument: function() { return /* reexport safe */ _sync_resolve_element__WEBPACK_IMPORTED_MODULE_14__.findModelInDocument; },
2180 -/* harmony export */ generateElementId: function() { return /* reexport safe */ _sync_generate_element_id__WEBPACK_IMPORTED_MODULE_12__.generateElementId; },
2181 -/* harmony export */ getAllDescendants: function() { return /* reexport safe */ _sync_get_all_descendants__WEBPACK_IMPORTED_MODULE_22__.getAllDescendants; },
2182 -/* harmony export */ getAnchoredAncestorId: function() { return /* reexport safe */ _link_restriction__WEBPACK_IMPORTED_MODULE_33__.getAnchoredAncestorId; },
2183 -/* harmony export */ getAnchoredDescendantId: function() { return /* reexport safe */ _link_restriction__WEBPACK_IMPORTED_MODULE_33__.getAnchoredDescendantId; },
2184 -/* harmony export */ getContainer: function() { return /* reexport safe */ _sync_get_container__WEBPACK_IMPORTED_MODULE_13__.getContainer; },
2185 -/* harmony export */ getCurrentDocumentContainer: function() { return /* reexport safe */ _sync_get_current_document_container__WEBPACK_IMPORTED_MODULE_15__.getCurrentDocumentContainer; },
2186 -/* harmony export */ getCurrentDocumentId: function() { return /* reexport safe */ _sync_get_current_document_id__WEBPACK_IMPORTED_MODULE_16__.getCurrentDocumentId; },
2187 -/* harmony export */ getElementChildrenWithFallback: function() { return /* reexport safe */ _sync_model_utils__WEBPACK_IMPORTED_MODULE_23__.getElementChildren; },
2188 -/* harmony export */ getElementEditorSettings: function() { return /* reexport safe */ _sync_get_element_editor_settings__WEBPACK_IMPORTED_MODULE_17__.getElementEditorSettings; },
2189 -/* harmony export */ getElementInteractions: function() { return /* reexport safe */ _sync_get_element_interactions__WEBPACK_IMPORTED_MODULE_38__.getElementInteractions; },
2190 -/* harmony export */ getElementLabel: function() { return /* reexport safe */ _sync_get_element_label__WEBPACK_IMPORTED_MODULE_18__.getElementLabel; },
2191 -/* harmony export */ getElementSetting: function() { return /* reexport safe */ _sync_get_element_setting__WEBPACK_IMPORTED_MODULE_19__.getElementSetting; },
2192 -/* harmony export */ getElementSettings: function() { return /* reexport safe */ _sync_get_element_setting__WEBPACK_IMPORTED_MODULE_19__.getElementSettings; },
2193 -/* harmony export */ getElementStyles: function() { return /* reexport safe */ _sync_get_element_styles__WEBPACK_IMPORTED_MODULE_20__.getElementStyles; },
2194 -/* harmony export */ getElementType: function() { return /* reexport safe */ _sync_get_element_type__WEBPACK_IMPORTED_MODULE_21__.getElementType; },
2195 -/* harmony export */ getElements: function() { return /* reexport safe */ _sync_get_elements__WEBPACK_IMPORTED_MODULE_24__.getElements; },
2196 -/* harmony export */ getLinkInLinkRestriction: function() { return /* reexport safe */ _link_restriction__WEBPACK_IMPORTED_MODULE_33__.getLinkInLinkRestriction; },
2197 -/* harmony export */ getSelectedElements: function() { return /* reexport safe */ _sync_get_selected_elements__WEBPACK_IMPORTED_MODULE_25__.getSelectedElements; },
2198 -/* harmony export */ getWidgetsCache: function() { return /* reexport safe */ _sync_get_widgets_cache__WEBPACK_IMPORTED_MODULE_26__.getWidgetsCache; },
2199 -/* harmony export */ isElementAnchored: function() { return /* reexport safe */ _link_restriction__WEBPACK_IMPORTED_MODULE_33__.isElementAnchored; },
2200 -/* harmony export */ moveElement: function() { return /* reexport safe */ _sync_move_element__WEBPACK_IMPORTED_MODULE_27__.moveElement; },
2201 -/* harmony export */ moveElements: function() { return /* reexport safe */ _sync_move_elements__WEBPACK_IMPORTED_MODULE_28__.moveElements; },
2202 -/* harmony export */ playElementInteractions: function() { return /* reexport safe */ _sync_update_element_interactions__WEBPACK_IMPORTED_MODULE_39__.playElementInteractions; },
2203 -/* harmony export */ removeElements: function() { return /* reexport safe */ _sync_remove_elements__WEBPACK_IMPORTED_MODULE_29__.removeElements; },
2204 -/* harmony export */ removeModelFromParent: function() { return /* reexport safe */ _sync_resolve_element__WEBPACK_IMPORTED_MODULE_14__.removeModelFromParent; },
2205 -/* harmony export */ replaceElement: function() { return /* reexport safe */ _sync_replace_element__WEBPACK_IMPORTED_MODULE_30__.replaceElement; },
2206 -/* harmony export */ resolveContainer: function() { return /* reexport safe */ _sync_resolve_element__WEBPACK_IMPORTED_MODULE_14__.resolveContainer; },
2207 -/* harmony export */ selectElement: function() { return /* reexport safe */ _sync_get_container__WEBPACK_IMPORTED_MODULE_13__.selectElement; },
2208 -/* harmony export */ shouldCreateNewLocalStyle: function() { return /* reexport safe */ _styles_create_element_style__WEBPACK_IMPORTED_MODULE_35__.shouldCreateNewLocalStyle; },
2209 -/* harmony export */ styleRerenderEvents: function() { return /* reexport safe */ _styles_consts__WEBPACK_IMPORTED_MODULE_34__.styleRerenderEvents; },
2210 -/* harmony export */ updateElementEditorSettings: function() { return /* reexport safe */ _sync_update_element_editor_settings__WEBPACK_IMPORTED_MODULE_31__.updateElementEditorSettings; },
2211 -/* harmony export */ updateElementInteractions: function() { return /* reexport safe */ _sync_update_element_interactions__WEBPACK_IMPORTED_MODULE_39__.updateElementInteractions; },
2212 -/* harmony export */ updateElementSettings: function() { return /* reexport safe */ _sync_update_element_settings__WEBPACK_IMPORTED_MODULE_32__.updateElementSettings; },
2213 -/* harmony export */ updateElementStyle: function() { return /* reexport safe */ _styles_update_element_style__WEBPACK_IMPORTED_MODULE_37__.updateElementStyle; },
2214 -/* harmony export */ useElementChildren: function() { return /* reexport safe */ _hooks_use_element_children__WEBPACK_IMPORTED_MODULE_1__.useElementChildren; },
2215 -/* harmony export */ useElementEditorSettings: function() { return /* reexport safe */ _hooks_use_element_editor_settings__WEBPACK_IMPORTED_MODULE_2__.useElementEditorSettings; },
2216 -/* harmony export */ useParentElement: function() { return /* reexport safe */ _hooks_use_parent_element__WEBPACK_IMPORTED_MODULE_3__.useParentElement; },
2217 -/* harmony export */ useSelectedElement: function() { return /* reexport safe */ _hooks_use_selected_element__WEBPACK_IMPORTED_MODULE_4__.useSelectedElement; },
2218 -/* harmony export */ useSelectedElementSettings: function() { return /* reexport safe */ _hooks_use_selected_element_settings__WEBPACK_IMPORTED_MODULE_5__.useSelectedElementSettings; }
2219 -/* harmony export */ });
2220 -/* harmony import */ var _types__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types */ "./packages/packages/libs/editor-elements/src/types.ts");
2221 -/* harmony import */ var _hooks_use_element_children__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hooks/use-element-children */ "./packages/packages/libs/editor-elements/src/hooks/use-element-children.ts");
2222 -/* harmony import */ var _hooks_use_element_editor_settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hooks/use-element-editor-settings */ "./packages/packages/libs/editor-elements/src/hooks/use-element-editor-settings.ts");
2223 -/* harmony import */ var _hooks_use_parent_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./hooks/use-parent-element */ "./packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts");
2224 -/* harmony import */ var _hooks_use_selected_element__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/use-selected-element */ "./packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts");
2225 -/* harmony import */ var _hooks_use_selected_element_settings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/use-selected-element-settings */ "./packages/packages/libs/editor-elements/src/hooks/use-selected-element-settings.ts");
2226 -/* harmony import */ var _sync_create_element__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./sync/create-element */ "./packages/packages/libs/editor-elements/src/sync/create-element.ts");
2227 -/* harmony import */ var _sync_create_elements__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sync/create-elements */ "./packages/packages/libs/editor-elements/src/sync/create-elements.ts");
2228 -/* harmony import */ var _sync_delete_element__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./sync/delete-element */ "./packages/packages/libs/editor-elements/src/sync/delete-element.ts");
2229 -/* harmony import */ var _sync_drop_element__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./sync/drop-element */ "./packages/packages/libs/editor-elements/src/sync/drop-element.ts");
2230 -/* harmony import */ var _sync_duplicate_element__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./sync/duplicate-element */ "./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts");
2231 -/* harmony import */ var _sync_duplicate_elements__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./sync/duplicate-elements */ "./packages/packages/libs/editor-elements/src/sync/duplicate-elements.ts");
2232 -/* harmony import */ var _sync_generate_element_id__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./sync/generate-element-id */ "./packages/packages/libs/editor-elements/src/sync/generate-element-id.ts");
2233 -/* harmony import */ var _sync_get_container__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./sync/get-container */ "./packages/packages/libs/editor-elements/src/sync/get-container.ts");
2234 -/* harmony import */ var _sync_resolve_element__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./sync/resolve-element */ "./packages/packages/libs/editor-elements/src/sync/resolve-element.ts");
2235 -/* harmony import */ var _sync_get_current_document_container__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./sync/get-current-document-container */ "./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts");
2236 -/* harmony import */ var _sync_get_current_document_id__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./sync/get-current-document-id */ "./packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts");
2237 -/* harmony import */ var _sync_get_element_editor_settings__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./sync/get-element-editor-settings */ "./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts");
2238 -/* harmony import */ var _sync_get_element_label__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./sync/get-element-label */ "./packages/packages/libs/editor-elements/src/sync/get-element-label.ts");
2239 -/* harmony import */ var _sync_get_element_setting__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./sync/get-element-setting */ "./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts");
2240 -/* harmony import */ var _sync_get_element_styles__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./sync/get-element-styles */ "./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts");
2241 -/* harmony import */ var _sync_get_element_type__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./sync/get-element-type */ "./packages/packages/libs/editor-elements/src/sync/get-element-type.ts");
2242 -/* harmony import */ var _sync_get_all_descendants__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./sync/get-all-descendants */ "./packages/packages/libs/editor-elements/src/sync/get-all-descendants.ts");
2243 -/* harmony import */ var _sync_model_utils__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./sync/model-utils */ "./packages/packages/libs/editor-elements/src/sync/model-utils.ts");
2244 -/* harmony import */ var _sync_get_elements__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./sync/get-elements */ "./packages/packages/libs/editor-elements/src/sync/get-elements.ts");
2245 -/* harmony import */ var _sync_get_selected_elements__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./sync/get-selected-elements */ "./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");
2246 -/* harmony import */ var _sync_get_widgets_cache__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./sync/get-widgets-cache */ "./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");
2247 -/* harmony import */ var _sync_move_element__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sync/move-element */ "./packages/packages/libs/editor-elements/src/sync/move-element.ts");
2248 -/* harmony import */ var _sync_move_elements__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./sync/move-elements */ "./packages/packages/libs/editor-elements/src/sync/move-elements.ts");
2249 -/* harmony import */ var _sync_remove_elements__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./sync/remove-elements */ "./packages/packages/libs/editor-elements/src/sync/remove-elements.ts");
2250 -/* harmony import */ var _sync_replace_element__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./sync/replace-element */ "./packages/packages/libs/editor-elements/src/sync/replace-element.ts");
2251 -/* harmony import */ var _sync_update_element_editor_settings__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./sync/update-element-editor-settings */ "./packages/packages/libs/editor-elements/src/sync/update-element-editor-settings.ts");
2252 -/* harmony import */ var _sync_update_element_settings__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./sync/update-element-settings */ "./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts");
2253 -/* harmony import */ var _link_restriction__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./link-restriction */ "./packages/packages/libs/editor-elements/src/link-restriction.ts");
2254 -/* harmony import */ var _styles_consts__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./styles/consts */ "./packages/packages/libs/editor-elements/src/styles/consts.ts");
2255 -/* harmony import */ var _styles_create_element_style__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./styles/create-element-style */ "./packages/packages/libs/editor-elements/src/styles/create-element-style.ts");
2256 -/* harmony import */ var _styles_delete_element_style__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./styles/delete-element-style */ "./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts");
2257 -/* harmony import */ var _styles_update_element_style__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./styles/update-element-style */ "./packages/packages/libs/editor-elements/src/styles/update-element-style.ts");
2258 -/* harmony import */ var _sync_get_element_interactions__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./sync/get-element-interactions */ "./packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts");
2259 -/* harmony import */ var _sync_update_element_interactions__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./sync/update-element-interactions */ "./packages/packages/libs/editor-elements/src/sync/update-element-interactions.ts");
2260 -// types
2261 -
2262 -// hooks
2263 -
2264 -
2265 -
2266 -
2267 -
2268 -
2269 -// utils
2270 -
2271 -
2272 -
2273 -
2274 -
2275 -
2276 -
2277 -
2278 -
2279 -
2280 -
2281 -
2282 -
2283 -
2284 -
2285 -
2286 -
2287 -
2288 -
2289 -
2290 -
2291 -
2292 -
2293 -
2294 -
2295 -
2296 -
2297 -
2298 -
2299 -
2300 -
2301 -
2302 -
2303 -
2304 -}();
2305 -(window.elementorV2 = window.elementorV2 || {}).editorElements = __webpack_exports__;
2306 -/******/ })()
2307 -;
2308 -window.elementorV2.editorElements?.init?.();
1 +/*! For license information please see editor-elements.js.LICENSE.txt */
2 +!function(){"use strict";var e={"./packages/packages/libs/editor-elements/src/errors.ts":function(e,t,n){n.r(t),n.d(t,{ElementIndexNotFoundError:function(){return i},ElementLabelNotExistsError:function(){return o},ElementNotFoundError:function(){return r},ElementParentNotFoundError:function(){return c},ElementTypeNotExistsError:function(){return l},StyleNotFoundError:function(){return a}});var s=n("@elementor/utils");const r=(0,s.createError)({code:"element_not_found",message:"Element not found."}),a=(0,s.createError)({code:"style_not_found",message:"Style not found."}),l=(0,s.createError)({code:"element_type_not_exists",message:"Element type does not exist."}),o=(0,s.createError)({code:"element_label_not_exists",message:"Element label does not exist."}),c=(0,s.createError)({code:"element_parent_not_found",message:"Element parent not found."}),i=(0,s.createError)({code:"element_index_not_found",message:"Element index not found."})},"./packages/packages/libs/editor-elements/src/hooks/use-element-children.ts":function(e,t,n){n.r(t),n.d(t,{useElementChildren:function(){return useElementChildren}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function useElementChildren(e,t){return(0,s.__privateUseListenTo)([(0,s.v1ReadyEvent)(),(0,s.commandEndEvent)("document/elements/create"),(0,s.commandEndEvent)("document/elements/delete"),(0,s.commandEndEvent)("document/elements/update"),(0,s.commandEndEvent)("document/elements/set-settings")],()=>{const n=(0,r.getContainer)(e);return Object.entries(t).reduce((e,[t,s])=>{const r=n?.children?.findRecursive?.(({model:e})=>e.get("elType")===t),a=r?.children??[];return e[s]=a.filter(({model:e})=>e.get("elType")===s).map(({id:e})=>({id:e})),e},{})},[e])}},"./packages/packages/libs/editor-elements/src/hooks/use-element-editor-settings.ts":function(e,t,n){n.r(t),n.d(t,{useElementEditorSettings:function(){return useElementEditorSettings}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts");const useElementEditorSettings=e=>(0,s.__privateUseListenTo)((0,s.windowEvent)("elementor/element/update_editor_settings"),()=>(0,r.getElementEditorSettings)(e),[e])},"./packages/packages/libs/editor-elements/src/hooks/use-element-interactions.ts":function(e,t,n){n.r(t),n.d(t,{useElementInteractions:function(){return useElementInteractions}});var s=n("react"),r=n("@elementor/editor-v1-adapters"),a=n("./packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts");const useElementInteractions=e=>{const[t,n]=(0,s.useState)(()=>(0,a.getElementInteractions)(e)??{version:1,items:[]});return(0,r.__privateUseListenTo)((0,r.windowEvent)("elementor/element/update_interactions"),()=>{const t=(0,a.getElementInteractions)(e);n(t??{version:1,items:[]})},[e]),t}},"./packages/packages/libs/editor-elements/src/hooks/use-element-setting.ts":function(e,t,n){n.r(t),n.d(t,{useElementSetting:function(){return useElementSetting},useElementSettings:function(){return useElementSettings}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts");const useElementSetting=(e,t)=>(0,s.__privateUseListenTo)((0,s.commandEndEvent)("document/elements/set-settings"),()=>(0,r.getElementSetting)(e,t),[e,t]),useElementSettings=(e,t)=>(0,s.__privateUseListenTo)((0,s.commandEndEvent)("document/elements/set-settings"),()=>t.reduce((t,n)=>{const s=(0,r.getElementSetting)(e,n);return null!==s&&(t[n]=s),t},{}),[e,t.join(",")])},"./packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts":function(e,t,n){n.r(t),n.d(t,{useParentElement:function(){return useParentElement}});var s=n("@elementor/editor-v1-adapters");function useParentElement(e){return(0,s.__privateUseListenTo)([(0,s.commandEndEvent)("document/elements/create")],()=>{if(!e)return null;const t=window,n=t?.elementor?.getContainer?.(e);return n?n.parent:null},[e])}},"./packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts":function(e,t,n){n.r(t),n.d(t,{useSelectedElement:function(){return useSelectedElement}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-type.ts"),a=n("./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");function useSelectedElement(){const e=(0,s.__privateUseListenTo)([(0,s.commandEndEvent)("document/elements/select"),(0,s.commandEndEvent)("document/elements/deselect"),(0,s.commandEndEvent)("document/elements/select-all"),(0,s.commandEndEvent)("document/elements/deselect-all")],a.getSelectedElements),[t]=e,n=(0,r.getElementType)(t?.type);return 1===e.length&&n?{element:t,elementType:n}:{element:null,elementType:null}}},"./packages/packages/libs/editor-elements/src/link-restriction.ts":function(e,t,n){n.r(t),n.d(t,{getAnchoredAncestorId:function(){return getAnchoredAncestorId},getAnchoredDescendantId:function(){return getAnchoredDescendantId},getLinkInLinkRestriction:function(){return getLinkInLinkRestriction},isElementAnchored:function(){return isElementAnchored}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function getLinkInLinkRestriction(e){const t=getAnchoredDescendantId(e);if(t)return{shouldRestrict:!0,reason:"descendant",elementId:t};const n=getAnchoredAncestorId(e);return n?{shouldRestrict:!0,reason:"ancestor",elementId:n}:{shouldRestrict:!1}}function getAnchoredDescendantId(e){const t=getElementDOM(e);if(!t)return null;for(const n of Array.from(t.querySelectorAll("a"))){const t=findElementIdOf(n);if(t!==e)return t}return null}function getAnchoredAncestorId(e){const t=getElementDOM(e);if(!t||null===t.parentElement)return null;const n=t.parentElement.closest("a");return n?findElementIdOf(n):null}function isElementAnchored(e){const t=getElementDOM(e);return!!t&&(!!isAnchorTag(t.tagName)||doesElementContainAnchor(t))}function doesElementContainAnchor(e){for(const t of e.children)if(!isElementorElement(t)){if(isAnchorTag(t.tagName))return!0;if(doesElementContainAnchor(t))return!0}return!1}function findElementIdOf(e){return e.closest("[data-id]")?.dataset.id||null}function getElementDOM(e){try{return(0,s.getContainer)(e)?.view?.el||null}catch{return null}}function isAnchorTag(e){return"a"===e.toLowerCase()}function isElementorElement(e){return e.hasAttribute("data-id")}},"./packages/packages/libs/editor-elements/src/mcp/elements-tool.ts":function(e,t,n){n.r(t),n.d(t,{initElementsTool:function(){return initElementsTool}});var s=n("@elementor/editor-mcp"),r=n("@elementor/schema"),a=n("./packages/packages/libs/editor-elements/src/mcp/handlers/create-element.ts"),l=n("./packages/packages/libs/editor-elements/src/mcp/handlers/create-style.ts"),o=n("./packages/packages/libs/editor-elements/src/mcp/handlers/delete-element.ts"),c=n("./packages/packages/libs/editor-elements/src/mcp/handlers/delete-style.ts"),i=n("./packages/packages/libs/editor-elements/src/mcp/handlers/deselect-element.ts"),d=n("./packages/packages/libs/editor-elements/src/mcp/handlers/duplicate-element.ts"),m=n("./packages/packages/libs/editor-elements/src/mcp/handlers/get-element-props.ts"),p=n("./packages/packages/libs/editor-elements/src/mcp/handlers/get-element-schema.ts"),u=n("./packages/packages/libs/editor-elements/src/mcp/handlers/get-selected.ts"),g=n("./packages/packages/libs/editor-elements/src/mcp/handlers/get-styles.ts"),y=n("./packages/packages/libs/editor-elements/src/mcp/handlers/list-available-types.ts"),E=n("./packages/packages/libs/editor-elements/src/mcp/handlers/move-element.ts"),k=n("./packages/packages/libs/editor-elements/src/mcp/handlers/select-element.ts"),f=n("./packages/packages/libs/editor-elements/src/mcp/handlers/update-props.ts"),h=n("./packages/packages/libs/editor-elements/src/mcp/handlers/update-styles.ts");const b={action:r.z.enum(["get-element-schema","get-element-props","create-element","update-props","create-style","get-styles","update-styles","delete-style","delete","duplicate","move","select","deselect","deselect-all","get-selected","list-available-types"]).describe("The element operation to perform."),elementId:r.z.string().optional().describe("The ID of the target element"),elementIds:r.z.array(r.z.string()).optional().describe("Array of element IDs for multi-element operations"),elementType:r.z.string().optional().describe("The type of element to create. Must be an atomic element type (required for create-element and get-element-schema actions)"),props:r.z.record(r.z.any()).optional().describe("Props object for creating or updating an element. Must match the element type's propsSchema."),containerId:r.z.string().optional().describe('Parent container ID for element creation or move operations. Use "document" if parent is the document root.'),targetContainerId:r.z.string().optional().describe("Target container ID for move operations"),styles:r.z.record(r.z.any()).optional().describe("Styles object for creating or updating element styles. Must match the element type's stylesSchema."),styleId:r.z.string().optional().describe("Style definition ID for style operations. If not provided, the first available style will be used (for update/delete)."),breakpoint:r.z.string().optional().describe('Breakpoint for style operations (e.g., "desktop", "tablet", "mobile"). Defaults to "desktop".'),state:r.z.string().optional().describe('State for style operations (e.g., "hover", "active", or null). Defaults to null.'),classesProp:r.z.string().optional().describe('Classes property name for create-style action. Defaults to "classes".'),label:r.z.string().optional().describe('Label for create-style action. Defaults to "local".'),custom_css:r.z.object({raw:r.z.string()}).optional().describe("Custom CSS object with raw CSS string for create-style action.")};function initElementsTool(){(0,s.getMCPByDomain)("elements").addTool({name:"elements",schema:b,description:'This tool manages individual Elementor atomic elements (v4).\n\n**When to use this tool:**\n\nUse this tool to create, update, delete, duplicate, move, and select individual atomic elements, as well as retrieve their schemas and current props.\n\n**Available actions:**\n\n- `list-available-types`: List all available atomic element types.\n- `get-element-schema`: Get the propsSchema and controls for an element type. Required before creating elements of a new type.\n- `get-element-props`: Get the current prop values for an existing element.\n- `create-element`: Create a new atomic element with specified props and styles (Important to match props and styles by the schema, use get-element-schema to get the schema first).\n- `update-props`: Update props for an existing element.\n- `create-style`: Create a new style definition for an element.\n- `get-styles`: Get all style definitions for an element.\n- `update-styles`: Update styles for an existing element\'s style variant.\n- `delete-style`: Delete a style definition from an element.\n- `delete`: Delete an element.\n- `duplicate`: Duplicate an existing element.\n- `move`: Move an element to a different container.\n- `select`: Select one or more elements.\n- `deselect`: Deselect a specific element.\n- `deselect-all`: Deselect all selected elements.\n- `get-selected`: Get currently selected elements.\n\n**Constraints:**\n\n- Before creating an element of a certain type for the first time, you MUST call `get-element-schema` to retrieve its schema.\n- You can only update props for existing elements.\n- All props must match the element type\'s propsSchema keys.\n- Element types must be atomic (have atomic_controls and atomic_props_schema).\n- Container IDs must exist and be valid before create/move operations.\n\n** Must do with every operation **\nAs of the user can ask in multiple ways the creation of the element, you need to first get the list of available types with "list-available-types" action.\nAfter getting it, convert to the most relevant type that the user requested and if this is not clear, request for user input.\nAfter finding out the proper type, get the schema for it with "get-element-schema" action.\n\n** Styles and Settings propUtils **\nGetting the schema is important as it introduces the propUtils for the styles and settings.\nYou can use the propUtils to create, update, delete, and get the values of the styles and settings.\nSettings exists in the result of the get-element-schema action -> propsSchema.\nStyles exists in the result of the get-element-schema action -> stylesSchema.\n\n**Examples:**\n\nGet schema for heading element:\n```json\n{ "action": "get-element-schema", "elementType": "e-heading" }\n```\n\nCreate a heading element:\n```json\n{ "action": "create-element", "elementType": "e-heading", "containerId": "document", "props": { "title": { $$type: "string", "value": "Hello World" } } }\n```\n\nUpdate element props:\n```json\n{ "action": "update-props", "elementId": "abc123", "props": { "title": "Updated Title" } }\n```\n\nCreate element style:\n```json\n{ "action": "create-style", "elementId": "abc123", "styles": { "padding": "20px", "margin": "10px" } }\n```\n\nGet element styles:\n```json\n{ "action": "get-styles", "elementId": "abc123" }\n```\n\nUpdate element styles:\n```json\n{ "action": "update-styles", "elementId": "abc123", "styles": { "padding": "20px", "margin": "10px" } }\n```\n\nDelete element style:\n```json\n{ "action": "delete-style", "elementId": "abc123", "styleId": "style-id-123" }\n```',handler:async e=>function routeAction(e){try{switch(e.action){case"get-element-schema":if(!e.elementType)throw new Error("elementType is required for get-element-schema action");return(0,p.handleGetElementSchema)(e.elementType);case"get-element-props":if(!e.elementId)throw new Error("elementId is required for get-element-props action");return(0,m.handleGetElementProps)(e.elementId);case"create-element":if(!e.elementType)throw new Error("elementType is required for create-element action");if(!e.containerId)throw new Error("containerId is required for create-element action");return(0,a.handleCreateElement)({elementType:e.elementType,containerId:e.containerId,props:e.props,styles:e.styles});case"update-props":if(!e.elementId)throw new Error("elementId is required for update-props action");if(!e.props)throw new Error("props is required for update-props action");return(0,f.handleUpdateProps)({elementId:e.elementId,props:e.props});case"create-style":if(!e.elementId)throw new Error("elementId is required for create-style action");if(!e.styles)throw new Error("styles is required for create-style action");return(0,l.handleCreateStyle)({elementId:e.elementId,styleId:e.styleId,classesProp:e.classesProp,label:e.label,styles:e.styles,breakpoint:e.breakpoint,state:e.state,customCss:e.custom_css});case"get-styles":if(!e.elementId)throw new Error("elementId is required for get-styles action");return(0,g.handleGetStyles)(e.elementId);case"update-styles":if(!e.elementId)throw new Error("elementId is required for update-styles action");if(!e.styles)throw new Error("styles is required for update-styles action");return(0,h.handleUpdateStyles)({elementId:e.elementId,styleId:e.styleId,styles:e.styles,breakpoint:e.breakpoint,state:e.state});case"delete-style":if(!e.elementId)throw new Error("elementId is required for delete-style action");return(0,c.handleDeleteStyle)({elementId:e.elementId,styleId:e.styleId});case"delete":if(!e.elementId)throw new Error("elementId is required for delete action");return(0,o.handleDeleteElement)(e.elementId);case"duplicate":if(!e.elementId)throw new Error("elementId is required for duplicate action");return(0,d.handleDuplicateElement)(e.elementId);case"move":if(!e.elementId)throw new Error("elementId is required for move action");if(!e.targetContainerId)throw new Error("targetContainerId is required for move action");return(0,E.handleMoveElement)({elementId:e.elementId,targetContainerId:e.targetContainerId});case"select":if(e.elementIds&&e.elementIds.length>0)return(0,k.handleSelectMultipleElements)(e.elementIds);if(!e.elementId)throw new Error("elementId or elementIds is required for select action");return(0,k.handleSelectElement)(e.elementId);case"deselect":if(!e.elementId)throw new Error("elementId is required for deselect action");return(0,i.handleDeselectElement)(e.elementId);case"deselect-all":return(0,i.handleDeselectAllElements)();case"get-selected":return(0,u.handleGetSelected)();case"list-available-types":return(0,y.handleListAvailableTypes)();default:throw new Error(`Unknown action: ${e.action}`)}}catch(t){const n=t instanceof Error?t.message:String(t);throw new Error(`Failed to execute action "${e.action}": ${n}`)}}(e)})}},"./packages/packages/libs/editor-elements/src/mcp/handlers/common-style-utils.ts":function(e,t,n){n.r(t),n.d(t,{resolveBreakpointId:function(){return resolveBreakpointId}});const s=["widescreen","desktop","laptop","tablet_extra","tablet","mobile_extra","mobile"];function resolveBreakpointId(e){return null===e?null:s.includes(e)?e:"desktop"}},"./packages/packages/libs/editor-elements/src/mcp/handlers/create-element.ts":function(e,t,n){n.r(t),n.d(t,{handleCreateElement:function(){return handleCreateElement}});var s=n("./packages/packages/libs/editor-elements/src/styles/create-element-style.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),a=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/get-element-type.ts");function handleCreateElement({elementType:e,containerId:t,props:n={},styles:c}){let i="document"===t?(0,l.getCurrentDocumentContainer)():(0,a.getContainer)(t);if(!i){if("document"===t)throw new Error("Document container not found. Please ensure the editor is initialized.");throw new Error(`Container with ID "${t}" not found`)}const d=i.model.get("elType");if("document"===i.id||"document"===d){const e={elType:"e-div-block"},t=(0,r.createElement)({containerId:i.id,model:e,options:{useHistory:!0}});if((0,s.createElementStyle)({elementId:t.id,classesProp:"classes",label:"local",meta:{breakpoint:"desktop",state:null},props:{display:{$$type:"string",value:"flex"},"flex-direction":{$$type:"string",value:"row"},"flex-wrap":{$$type:"string",value:"wrap"}}}),i=(0,a.getContainer)(t.id),!i)throw new Error("Failed to create container for widget. Cannot create widgets directly in the document.")}const m=i.id;if(!(0,o.getElementType)(e))throw new Error(`Element type "${e}" not found or is not atomic`);const p={widgetType:e,elType:"widget",settings:n},u=(0,r.createElement)({containerId:m,model:p,options:{useHistory:!0}});return c&&(0,s.createElementStyle)({elementId:u.id,classesProp:"classes",label:"local",meta:{breakpoint:"desktop",state:null},props:c}),{elementId:u.id,type:e}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/create-style.ts":function(e,t,n){n.r(t),n.d(t,{handleCreateStyle:function(){return handleCreateStyle}});var s=n("./packages/packages/libs/editor-elements/src/styles/create-element-style.ts"),r=n("./packages/packages/libs/editor-elements/src/mcp/handlers/common-style-utils.ts");function handleCreateStyle({elementId:e,styleId:t,classesProp:n="classes",label:a="local",styles:l,breakpoint:o="desktop",state:c=null,customCss:i=null}){const d=(0,r.resolveBreakpointId)(o),m=null==c?null:c;return{styleId:(0,s.createElementStyle)({styleId:t,elementId:e,classesProp:n,label:a,meta:{breakpoint:d,state:m},props:l,custom_css:i})}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/delete-element.ts":function(e,t,n){n.r(t),n.d(t,{handleDeleteElement:function(){return handleDeleteElement}});var s=n("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function handleDeleteElement(e){if(!(0,r.getContainer)(e))throw new Error(`Element with ID "${e}" not found`);return(0,s.deleteElement)({elementId:e,options:{useHistory:!0}}),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/delete-style.ts":function(e,t,n){n.r(t),n.d(t,{handleDeleteStyle:function(){return handleDeleteStyle}});var s=n("./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts");function handleDeleteStyle({elementId:e,styleId:t}){const n=(0,r.getElementStyles)(e);if(!n)throw new Error(`Element with ID "${e}" has no styles.`);const a=t||Object.keys(n)[0];if(!a)throw new Error(`Element with ID "${e}" has no styles to delete.`);return(0,s.deleteElementStyle)(e,a),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/deselect-element.ts":function(e,t,n){n.r(t),n.d(t,{handleDeselectAllElements:function(){return handleDeselectAllElements},handleDeselectElement:function(){return handleDeselectElement}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function handleDeselectElement(e){const t=(0,r.getContainer)(e);if(!t)throw new Error(`Element with ID "${e}" not found`);return(0,s.__privateRunCommand)("document/elements/deselect",{container:t}),{success:!0}}function handleDeselectAllElements(){return(0,s.__privateRunCommand)("document/elements/deselect-all",{}),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/duplicate-element.ts":function(e,t,n){n.r(t),n.d(t,{handleDuplicateElement:function(){return handleDuplicateElement}});var s=n("./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function handleDuplicateElement(e){if(!(0,r.getContainer)(e))throw new Error(`Element with ID "${e}" not found`);const t=(0,s.duplicateElement)({elementId:e,options:{useHistory:!0}}),n=t.model.get("widgetType")||t.model.get("elType")||"";return{elementId:t.id,type:n}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/get-element-props.ts":function(e,t,n){n.r(t),n.d(t,{handleGetElementProps:function(){return handleGetElementProps}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts"),a=n("./packages/packages/libs/editor-elements/src/sync/get-element-type.ts");function handleGetElementProps(e){const t=(0,s.getContainer)(e);if(!t)throw new Error(`Element with ID "${e}" not found`);const n=t.model.get("widgetType")||t.model.get("elType");if(!n)throw new Error(`Element with ID "${e}" has no type`);const l=(0,a.getElementType)(n);if(!l)throw new Error(`Element type "${n}" is not atomic`);const o=l.propsSchema,c=Object.keys(o);return(0,r.getElementSettings)(e,c)}},"./packages/packages/libs/editor-elements/src/mcp/handlers/get-element-schema.ts":function(e,t,n){n.r(t),n.d(t,{handleGetElementSchema:function(){return handleGetElementSchema}});var s=n("@elementor/editor-styles"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-type.ts");function handleGetElementSchema(e){const t=(0,r.getElementType)(e);if(!t)throw new Error(`Element type "${e}" not found or is not atomic`);return{...t,stylesSchema:(0,s.getStylesSchema)()}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/get-selected.ts":function(e,t,n){n.r(t),n.d(t,{handleGetSelected:function(){return handleGetSelected}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");function handleGetSelected(){return(0,s.getSelectedElements)()}},"./packages/packages/libs/editor-elements/src/mcp/handlers/get-styles.ts":function(e,t,n){n.r(t),n.d(t,{handleGetStyles:function(){return handleGetStyles}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts");function handleGetStyles(e){const t=(0,s.getElementStyles)(e);return t?Object.fromEntries(Object.entries(t).map(([e,t])=>[e,{id:t.id,label:t.label,type:t.type,variants:t.variants.map(e=>({meta:e.meta,props:e.props,custom_css:e.custom_css}))}])):null}},"./packages/packages/libs/editor-elements/src/mcp/handlers/list-available-types.ts":function(e,t,n){n.r(t),n.d(t,{handleListAvailableTypes:function(){return handleListAvailableTypes}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");function handleListAvailableTypes(){const e=(0,s.getWidgetsCache)();if(!e)return[];const t=[];return Object.entries(e).forEach(([e,n])=>{n?.atomic_controls&&n?.atomic_props_schema&&t.push({type:e,title:n.title||e})}),t}},"./packages/packages/libs/editor-elements/src/mcp/handlers/move-element.ts":function(e,t,n){n.r(t),n.d(t,{handleMoveElement:function(){return handleMoveElement}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/move-element.ts");function handleMoveElement({elementId:e,targetContainerId:t}){if(!(0,s.getContainer)(e))throw new Error(`Element with ID "${e}" not found`);if(!(0,s.getContainer)(t))throw new Error(`Target container with ID "${t}" not found`);return(0,r.moveElement)({elementId:e,targetContainerId:t,options:{useHistory:!0}}),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/select-element.ts":function(e,t,n){n.r(t),n.d(t,{handleSelectElement:function(){return handleSelectElement},handleSelectMultipleElements:function(){return handleSelectMultipleElements}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function handleSelectElement(e){if(!(0,s.getContainer)(e))throw new Error(`Element with ID "${e}" not found`);return(0,s.selectElement)(e),{success:!0}}function handleSelectMultipleElements(e){return e.forEach(e=>{(0,s.getContainer)(e)&&(0,s.selectElement)(e)}),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/update-props.ts":function(e,t,n){n.r(t),n.d(t,{handleUpdateProps:function(){return handleUpdateProps}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts");function handleUpdateProps({elementId:e,props:t}){if(!(0,s.getContainer)(e))throw new Error(`Element with ID "${e}" not found`);return(0,r.updateElementSettings)({id:e,props:t,withHistory:!0}),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/handlers/update-styles.ts":function(e,t,n){n.r(t),n.d(t,{handleUpdateStyles:function(){return handleUpdateStyles}});var s=n("./packages/packages/libs/editor-elements/src/styles/update-element-style.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts"),a=n("./packages/packages/libs/editor-elements/src/mcp/handlers/common-style-utils.ts");function handleUpdateStyles({elementId:e,styleId:t,styles:n,breakpoint:l="desktop",state:o=null}){const c=(0,a.resolveBreakpointId)(l),i=null==o?null:o,d=(0,r.getElementStyles)(e);if(!d)throw new Error(`Element with ID "${e}" has no styles. Create a style first.`);const m=t||Object.keys(d)[0];if(!m)throw new Error(`Element with ID "${e}" has no styles. Create a style first.`);return(0,s.updateElementStyle)({elementId:e,styleId:m,meta:{breakpoint:c,state:i},props:n}),{success:!0}}},"./packages/packages/libs/editor-elements/src/mcp/index.ts":function(e,t,n){n.r(t),n.d(t,{initMcp:function(){return initMcp}});var s=n("@elementor/editor-mcp"),r=n("./packages/packages/libs/editor-elements/src/mcp/elements-tool.ts");function initMcp(){const{setMCPDescription:e}=(0,s.getMCPByDomain)("elements");e("Tools for managing atomic elements in Elementor v4 editor"),(0,r.initElementsTool)()}},"./packages/packages/libs/editor-elements/src/styles/consts.ts":function(e,t,n){n.r(t),n.d(t,{ELEMENT_STYLE_CHANGE_EVENT:function(){return r},styleRerenderEvents:function(){return a}});var s=n("@elementor/editor-v1-adapters");const r="elementor/editor-v2/editor-elements/style",a=[(0,s.commandEndEvent)("document/elements/create"),(0,s.commandEndEvent)("document/elements/duplicate"),(0,s.commandEndEvent)("document/elements/import"),(0,s.commandEndEvent)("document/elements/paste"),(0,s.windowEvent)(r)]},"./packages/packages/libs/editor-elements/src/styles/create-element-style.ts":function(e,t,n){n.r(t),n.d(t,{createElementStyle:function(){return createElementStyle},shouldCreateNewLocalStyle:function(){return shouldCreateNewLocalStyle}});var s=n("@elementor/editor-props"),r=n("@elementor/editor-styles"),a=n("./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts"),o=n("./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");function createElementStyle({styleId:e,elementId:t,classesProp:n,label:c,meta:i,props:d,custom_css:m=null,additionalVariants:p=[]}){let u=e;return(0,o.mutateElementStyles)(t,e=>{u??=(0,r.generateId)(`e-${t}-`,Object.keys(e));const o=[{meta:i,props:d,custom_css:m},...p];return e[u]={id:u,label:c,type:"class",variants:o},function addStyleToClassesProp(e,t,n){const r=(0,a.getElementSetting)(e,t),o=s.classesPropTypeUtil.create(e=>[...e??[],n],{base:r});(0,l.updateElementSettings)({id:e,props:{[t]:o},withHistory:!1})}(t,n,u),e}),u}function shouldCreateNewLocalStyle(e){return!e?.styleId&&!e?.provider}},"./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts":function(e,t,n){n.r(t),n.d(t,{deleteElementStyle:function(){return deleteElementStyle}});var s=n("./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");function deleteElementStyle(e,t){(0,s.mutateElementStyles)(e,e=>(delete e[t],e))}},"./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts":function(e,t,n){n.r(t),n.d(t,{mutateElementStyles:function(){return mutateElementStyles}});var s=n("@elementor/editor-props"),r=n("@elementor/editor-v1-adapters"),a=n("./packages/packages/libs/editor-elements/src/errors.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts"),c=n("./packages/packages/libs/editor-elements/src/styles/consts.ts");function mutateElementStyles(e,t){const n=(0,l.getContainer)(e);if(!n)throw new a.ElementNotFoundError({context:{elementId:e}});const i=Object.keys(n.model.get("styles")??{}),d=function mutateStyles(e,t){const n=structuredClone(e.model.get("styles"))??{},s=Object.entries(t(n)).map(([e,t])=>(t.variants=function removeEmptyVariants(e){return e.variants.filter(({props:e,custom_css:t})=>Object.keys(e).length>0||t?.raw)}(t),[e,t])).filter(([,e])=>!function isStyleEmpty(e){return 0===e.variants.length}(e)),r=Object.fromEntries(s);return e.model.set("styles",r),r}(n,t);return function clearRemovedClasses(e,{oldIds:t,newIds:n}){const r=t.filter(e=>!n.includes(e)),a=structuredClone(function getClassesProps(e){return Object.entries(e.settings.toJSON()).filter(e=>{const[,t]=e;return s.classesPropTypeUtil.isValid(t)})}(e));a.forEach(([,e])=>{e.value=e.value.filter(e=>!r.includes(e))}),(0,o.updateElementSettings)({id:e.id,props:Object.fromEntries(a),withHistory:!1})}(n,{oldIds:i,newIds:Object.keys(d)}),function notifyChanges(){(function dispatchChangeEvent(){window.dispatchEvent(new CustomEvent(c.ELEMENT_STYLE_CHANGE_EVENT))})(),(0,r.__privateRunCommandSync)("document/save/set-is-modified",{status:!0},{internal:!0})}(),d}},"./packages/packages/libs/editor-elements/src/styles/update-element-style.ts":function(e,t,n){n.r(t),n.d(t,{updateElementStyle:function(){return updateElementStyle}});var s=n("@elementor/editor-props"),r=n("@elementor/editor-styles"),a=n("./packages/packages/libs/editor-elements/src/errors.ts"),l=n("./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");function updateElementStyle(e){(0,l.mutateElementStyles)(e.elementId,t=>{const n=t[e.styleId];if(!n)throw new a.StyleNotFoundError({context:{styleId:e.styleId}});const l=(0,r.getVariantByMeta)(n,e.meta),o=("custom_css"in e?e.custom_css:l?.custom_css)??null;return l?(l.props=(0,s.mergeProps)(l.props,e.props),l.custom_css=o?.raw?o:null):n.variants.push({meta:e.meta,props:e.props,custom_css:o}),t})}},"./packages/packages/libs/editor-elements/src/sync/create-element.ts":function(e,t,n){n.r(t),n.d(t,{createElement:function(){return createElement}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function createElement({containerId:e,model:t,options:n}){const a=(0,r.getContainer)(e);if(!a)throw new Error(`Container with ID "${e}" not found`);return(0,s.__privateRunCommandSync)("document/elements/create",{container:a,model:t,options:{edit:!1,...n}})}},"./packages/packages/libs/editor-elements/src/sync/create-elements.ts":function(e,t,n){n.r(t),n.d(t,{createElements:function(){return createElements}});var s=n("@elementor/editor-v1-adapters"),r=n("@wordpress/i18n"),a=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const createElements=({elements:e,title:t,subtitle:n=(0,r.__)("Item added","elementor")})=>(0,s.undoable)({do:({elements:e})=>{const t=[];return e.forEach(e=>{const{options:n,...s}=e,r=(0,a.createElement)({...s,options:{...n,useHistory:!1}}),l=r.id;t.push({elementId:l,model:r.model?.toJSON()||{},createParams:{...e}})}),{createdElements:t}},undo:(e,{createdElements:t})=>{[...t].reverse().forEach(({elementId:e})=>{(0,l.deleteElement)({elementId:e,options:{useHistory:!1}})})},redo:(e,{createdElements:t})=>{const n=[];return t.forEach(({createParams:e,model:t})=>{const s=(0,a.createElement)({containerId:e.containerId,model:t,options:{...e.options,useHistory:!1}}).id,r=(0,o.getContainer)(s);r&&n.push({elementId:s,model:r.model.toJSON(),createParams:e})}),{createdElements:n}}},{title:t,subtitle:n})({elements:e})},"./packages/packages/libs/editor-elements/src/sync/delete-element.ts":function(e,t,n){n.r(t),n.d(t,{deleteElement:function(){return deleteElement}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function deleteElement({elementId:e,options:t={}}){const n=(0,r.getContainer)(e);if(!n)throw new Error(`Element with ID "${e}" not found`);return(0,s.__privateRunCommand)("document/elements/delete",{container:n,options:t})}},"./packages/packages/libs/editor-elements/src/sync/drop-element.ts":function(e,t,n){n.r(t),n.d(t,{dropElement:function(){return dropElement}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function dropElement({containerId:e,model:t,options:n}){const a=(0,r.getContainer)(e);if(!a)throw new Error(`Container with ID "${e}" not found`);return(0,s.__privateRunCommandSync)("preview/drop",{container:a,model:t,options:n})}},"./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts":function(e,t,n){n.r(t),n.d(t,{duplicateElement:function(){return duplicateElement}});var s=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function duplicateElement({elementId:e,options:t={}}){const n=(0,r.getContainer)(e);if(!n)throw new Error(`Element with ID "${e}" not found`);if(!n.parent)throw new Error(`Element with ID "${e}" has no parent container`);const a=n.parent,l=n.model.toJSON(),o=n.view?._index??0,c=!1!==t.clone?o+1:void 0;return(0,s.createElement)({containerId:a.id,model:l,options:{at:c,...t}})}},"./packages/packages/libs/editor-elements/src/sync/duplicate-elements.ts":function(e,t,n){n.r(t),n.d(t,{duplicateElements:function(){return duplicateElements}});var s=n("@elementor/editor-v1-adapters"),r=n("@wordpress/i18n"),a=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts"),c=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const duplicateElements=({elementIds:e,title:t,subtitle:n=(0,r.__)("Item duplicated","elementor")})=>(0,s.undoable)({do:({elementIds:e})=>({duplicatedElements:e.reduce((e,t)=>{const n=(0,c.getContainer)(t);if(n?.parent){const n=(0,o.duplicateElement)({elementId:t,options:{useHistory:!1,clone:!0}});e.push({id:n.id,model:n.model.toJSON(),originalElementId:t,modelToRestore:n.model.toJSON(),parentContainerId:n.parent?.id,at:n.view?._index})}return e},[])}),undo:(e,{duplicatedElements:t})=>{[...t].reverse().forEach(({id:e})=>{(0,l.deleteElement)({elementId:e,options:{useHistory:!1}})})},redo:(e,{duplicatedElements:t})=>({duplicatedElements:t.reduce((e,t)=>{if(t.modelToRestore&&t.parentContainerId){const n=(0,a.createElement)({containerId:t.parentContainerId,model:t.modelToRestore,options:{useHistory:!1,clone:!1,at:t.at}});e.push({id:n.id,model:n.model.toJSON(),originalElementId:t.originalElementId,modelToRestore:t.modelToRestore,parentContainerId:t.parentContainerId,at:t.at})}return e},[])})},{title:t,subtitle:n})({elementIds:e})},"./packages/packages/libs/editor-elements/src/sync/generate-element-id.ts":function(e,t,n){n.r(t),n.d(t,{generateElementId:function(){return generateElementId}});const generateElementId=()=>{const e=window;return e.elementorCommon?.helpers?.getUniqueId?.()??`el-${Date.now()}-${Math.random().toString(36).substring(2,9)}`}},"./packages/packages/libs/editor-elements/src/sync/get-container.ts":function(e,t,n){n.r(t),n.d(t,{getContainer:function(){return getContainer},selectElement:function(){return selectElement}});var s=n("@elementor/editor-v1-adapters");function getContainer(e){const t=window,n=t.elementor?.getContainer?.(e);return n??null}const selectElement=e=>{try{const t=getContainer(e);(0,s.__privateRunCommand)("document/elements/select",{container:t})}catch{}}},"./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts":function(e,t,n){function getCurrentDocumentContainer(){const e=window;return e.elementor?.documents?.getCurrent?.()?.container??null}n.r(t),n.d(t,{getCurrentDocumentContainer:function(){return getCurrentDocumentContainer}})},"./packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts":function(e,t,n){function getCurrentDocumentId(){const e=window;return e.elementor?.documents?.getCurrentId?.()??null}n.r(t),n.d(t,{getCurrentDocumentId:function(){return getCurrentDocumentId}})},"./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts":function(e,t,n){n.r(t),n.d(t,{getElementEditorSettings:function(){return getElementEditorSettings}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function getElementEditorSettings(e){const t=(0,s.getContainer)(e);return t?.model.get("editor_settings")??{}}},"./packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts":function(e,t,n){n.r(t),n.d(t,{getElementInteractions:function(){return getElementInteractions}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function getElementInteractions(e){const t=(0,s.getContainer)(e),n=t?.model?.get("interactions");return"string"==typeof n?JSON.parse(n):n}},"./packages/packages/libs/editor-elements/src/sync/get-element-label.ts":function(e,t,n){n.r(t),n.d(t,{getElementLabel:function(){return getElementLabel}});var s=n("./packages/packages/libs/editor-elements/src/errors.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),a=n("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts");function getElementLabel(e){e||(e=(0,l.getSelectedElements)()?.[0]?.id);const t=(0,r.getContainer)(e),n=t?.model.get("widgetType")||t?.model.get("elType");if(!n)throw new s.ElementTypeNotExistsError({context:{elementId:e}});const o=(0,a.getWidgetsCache)()?.[n]?.title;if(!o)throw new s.ElementLabelNotExistsError({context:{elementType:n}});return o}},"./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts":function(e,t,n){n.r(t),n.d(t,{getElementSetting:function(){return getElementSetting},getElementSettings:function(){return getElementSettings}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const getElementSetting=(e,t)=>{const n=(0,s.getContainer)(e);return n?.settings?.get(t)??null},getElementSettings=(e,t)=>Object.fromEntries(t.map(t=>[t,getElementSetting(e,t)]))},"./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts":function(e,t,n){n.r(t),n.d(t,{getElementStyles:function(){return getElementStyles}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const getElementStyles=e=>{const t=(0,s.getContainer)(e);return t?.model.get("styles")||null}},"./packages/packages/libs/editor-elements/src/sync/get-element-type.ts":function(e,t,n){n.r(t),n.d(t,{getElementType:function(){return getElementType}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");function getElementType(e){if(!e)return null;const t=(0,s.getWidgetsCache)(),n=t?.[e];return n?.atomic_controls&&n?.atomic_props_schema?{key:e,controls:n.atomic_controls,propsSchema:n.atomic_props_schema,dependenciesPerTargetMapping:n.dependencies_per_target_mapping??{},title:n.title,styleStates:n.atomic_style_states??[]}:null}},"./packages/packages/libs/editor-elements/src/sync/get-elements.ts":function(e,t,n){n.r(t),n.d(t,{getElements:function(){return getElements}});var s=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts");function getElements(e){const t=e?(0,s.getContainer)(e):(0,r.getCurrentDocumentContainer)();if(!t)return[];const n=[...t.model.get("elements")??[]].flatMap(e=>getElements(e.get("id")));return[t,...n]}},"./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts":function(e,t,n){function getSelectedElements(){const e=window;return(e.elementor?.selection?.getElements?.()??[]).reduce((e,t)=>{const n=t.model.get("widgetType")||t.model.get("elType");return n&&e.push({id:t.model.get("id"),type:n}),e},[])}n.r(t),n.d(t,{getSelectedElements:function(){return getSelectedElements}})},"./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts":function(e,t,n){function getWidgetsCache(){const e=window;return e?.elementor?.widgetsCache||null}n.r(t),n.d(t,{getWidgetsCache:function(){return getWidgetsCache}})},"./packages/packages/libs/editor-elements/src/sync/move-element.ts":function(e,t,n){n.r(t),n.d(t,{moveElement:function(){return moveElement}});var s=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),a=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");function moveElement({elementId:e,targetContainerId:t,options:n={}}){const l=(0,a.getContainer)(e),o=(0,a.getContainer)(t);if(!l)throw new Error(`Element with ID "${e}" not found`);if(!o)throw new Error(`Target container with ID "${t}" not found`);const c=l.model.toJSON();(0,r.deleteElement)({elementId:e,options:{...n,useHistory:!1}});return(0,s.createElement)({containerId:t,model:c,options:{edit:!1,...n,useHistory:!1}})}},"./packages/packages/libs/editor-elements/src/sync/move-elements.ts":function(e,t,n){n.r(t),n.d(t,{moveElements:function(){return moveElements}});var s=n("@elementor/editor-v1-adapters"),r=n("@wordpress/i18n"),a=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/move-element.ts");const moveElements=({moves:e,title:t,subtitle:n=(0,r.__)("Elements moved","elementor"),onMoveElements:o,onRestoreElements:c})=>(0,s.undoable)({do:({moves:e})=>{const t=[];return o?.(),e.forEach(e=>{const{elementId:n}=e,s=(0,a.getContainer)(n);if(!s)throw new Error(`Element with ID "${n}" not found`);const r={elementId:n,originalContainerId:s.parent?.id||"",originalIndex:s.parent?.children?.indexOf(s)??-1},o=(0,l.moveElement)({...e,options:{...e.options,useHistory:!1}});t.push({elementId:n,originalPosition:r,move:e,element:o})}),{movedElements:t}},undo:(e,{movedElements:t})=>{c?.(),[...t].reverse().forEach(({originalPosition:e})=>{const{elementId:t,originalContainerId:n,originalIndex:s}=e;(0,l.moveElement)({elementId:t,targetContainerId:n,options:{useHistory:!1,at:s>=0?s:void 0}})})},redo:(e,{movedElements:t})=>{const n=[];return o?.(),t.forEach(({move:e,originalPosition:t})=>{const s=(0,l.moveElement)({...e,options:{...e.options,useHistory:!1}});n.push({elementId:e.elementId,originalPosition:t,move:e,element:s})}),{movedElements:n}}},{title:t,subtitle:n})({moves:e})},"./packages/packages/libs/editor-elements/src/sync/remove-elements.ts":function(e,t,n){n.r(t),n.d(t,{removeElements:function(){return removeElements}});var s=n("@elementor/editor-v1-adapters"),r=n("@wordpress/i18n"),a=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const removeElements=({elementIds:e,title:t,subtitle:n=(0,r.__)("Item removed","elementor"),onRemoveElements:c,onRestoreElements:i})=>(0,s.undoable)({do:({elementIds:e})=>{const t=[];return e.forEach(e=>{const n=(0,o.getContainer)(e);if(n){const s=n.model.toJSON(),r=n.parent,a=n.view?._index??0;t.push({elementId:e,model:s,parent:r??null,at:a})}}),c?.(),e.forEach(e=>{(0,l.deleteElement)({elementId:e,options:{useHistory:!1}})}),{elementIds:e,removedElements:t}},undo:(e,{removedElements:t})=>{i?.(),[...t].reverse().forEach(({model:e,parent:t,at:n})=>{t&&e&&(0,a.createElement)({containerId:t.id,model:e,options:{useHistory:!1,at:n}})})},redo:(e,{elementIds:t,removedElements:n})=>(c?.(),t.forEach(e=>{(0,l.deleteElement)({elementId:e,options:{useHistory:!1}})}),{elementIds:t,removedElements:n})},{title:t,subtitle:n})({elementIds:e})},"./packages/packages/libs/editor-elements/src/sync/replace-element.ts":function(e,t,n){n.r(t),n.d(t,{replaceElement:function(){return replaceElement}});var s=n("./packages/packages/libs/editor-elements/src/errors.ts"),r=n("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),a=n("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const replaceElement=({currentElement:e,newElement:t,withHistory:n=!0})=>{const{containerId:o,index:c}=function getNewElementLocation(e,t){let n;const a=(0,l.getContainer)(e.id);if(!a)throw new s.ElementNotFoundError({context:{elementId:e.id}});const o=a.parent;if(!o)throw new s.ElementParentNotFoundError({context:{elementId:e.id}});const c=a.view?._index??0;if(void 0===c||-1===c)throw new s.ElementIndexNotFoundError({context:{elementId:e.id}});n={containerId:o.id,index:c},"document"===o.id&&"widget"===t.elType&&(n=function createWrapperForWidget(e,t){const n=(0,r.createElement)({containerId:e,model:{elType:"container"},options:{at:t,useHistory:!1}});return{containerId:n.id,index:0}}(o.id,c));return n}(e,t);(0,r.createElement)({containerId:o,model:t,options:{at:c,useHistory:n}}),(0,a.deleteElement)({elementId:e.id,options:{useHistory:n}})}},"./packages/packages/libs/editor-elements/src/sync/update-element-editor-settings.ts":function(e,t,n){n.r(t),n.d(t,{updateElementEditorSettings:function(){return updateElementEditorSettings}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const updateElementEditorSettings=({elementId:e,settings:t})=>{const n=(0,r.getContainer)(e);if(!n)throw new Error(`Element with id ${e} not found`);const a=n.model.get("editor_settings")??{};n.model.set("editor_settings",{...a,...t}),function setDocumentModifiedStatus(e){(0,s.__privateRunCommandSync)("document/save/set-is-modified",{status:e},{internal:!0})}(!0)}},"./packages/packages/libs/editor-elements/src/sync/update-element-interactions.ts":function(e,t,n){n.r(t),n.d(t,{playElementInteractions:function(){return playElementInteractions},updateElementInteractions:function(){return updateElementInteractions}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const updateElementInteractions=({elementId:e,interactions:t})=>{const n=(0,r.getContainer)(e);if(!n)throw new Error(`Element with id ${e} not found`);n.model.set("interactions",t),window.dispatchEvent(new CustomEvent("elementor/element/update_interactions")),function setDocumentModifiedStatus(e){(0,s.__privateRunCommandSync)("document/save/set-is-modified",{status:e},{internal:!0})}(!0)},playElementInteractions=(e,t)=>{window.top?.dispatchEvent(new CustomEvent("atomic/play_interactions",{detail:{elementId:e,animationId:t}}))}},"./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts":function(e,t,n){n.r(t),n.d(t,{updateElementSettings:function(){return updateElementSettings}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts");const updateElementSettings=({id:e,props:t,withHistory:n=!0})=>{const a={container:(0,r.getContainer)(e),settings:{...t}};n?(0,s.__privateRunCommandSync)("document/elements/settings",a):(0,s.__privateRunCommandSync)("document/elements/set-settings",a,{internal:!0})}},"./packages/packages/libs/editor-elements/src/types.ts":function(e,t,n){n.r(t)},"@elementor/editor-mcp":function(e){e.exports=window.elementorV2.editorMcp},"@elementor/editor-props":function(e){e.exports=window.elementorV2.editorProps},"@elementor/editor-styles":function(e){e.exports=window.elementorV2.editorStyles},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/schema":function(e){e.exports=window.elementorV2.schema},"@elementor/utils":function(e){e.exports=window.elementorV2.utils},"@wordpress/i18n":function(e){e.exports=window.wp.i18n},react:function(e){e.exports=window.React}},t={};function __webpack_require__(n){var s=t[n];if(void 0!==s)return s.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(t,{a:t}),t},__webpack_require__.d=function(e,t){for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){__webpack_require__.r(n),__webpack_require__.d(n,{ELEMENT_STYLE_CHANGE_EVENT:function(){return A.ELEMENT_STYLE_CHANGE_EVENT},createElement:function(){return l.createElement},createElementStyle:function(){return P.createElementStyle},createElements:function(){return o.createElements},deleteElement:function(){return c.deleteElement},deleteElementStyle:function(){return L.deleteElementStyle},dropElement:function(){return i.dropElement},duplicateElement:function(){return d.duplicateElement},duplicateElements:function(){return m.duplicateElements},generateElementId:function(){return p.generateElementId},getAnchoredAncestorId:function(){return x.getAnchoredAncestorId},getAnchoredDescendantId:function(){return x.getAnchoredDescendantId},getContainer:function(){return u.getContainer},getCurrentDocumentContainer:function(){return g.getCurrentDocumentContainer},getCurrentDocumentId:function(){return y.getCurrentDocumentId},getElementEditorSettings:function(){return E.getElementEditorSettings},getElementInteractions:function(){return $.getElementInteractions},getElementLabel:function(){return k.getElementLabel},getElementSetting:function(){return f.getElementSetting},getElementSettings:function(){return f.getElementSettings},getElementStyles:function(){return h.getElementStyles},getElementType:function(){return b.getElementType},getElements:function(){return _.getElements},getLinkInLinkRestriction:function(){return x.getLinkInLinkRestriction},getSelectedElements:function(){return w.getSelectedElements},getWidgetsCache:function(){return v.getWidgetsCache},initElementsMcp:function(){return R.initMcp},isElementAnchored:function(){return x.isElementAnchored},moveElement:function(){return I.moveElement},moveElements:function(){return S.moveElements},playElementInteractions:function(){return O.playElementInteractions},removeElements:function(){return C.removeElements},replaceElement:function(){return T.replaceElement},selectElement:function(){return u.selectElement},shouldCreateNewLocalStyle:function(){return P.shouldCreateNewLocalStyle},styleRerenderEvents:function(){return A.styleRerenderEvents},updateElementEditorSettings:function(){return D.updateElementEditorSettings},updateElementInteractions:function(){return O.updateElementInteractions},updateElementSettings:function(){return q.updateElementSettings},updateElementStyle:function(){return N.updateElementStyle},useElementChildren:function(){return e.useElementChildren},useElementEditorSettings:function(){return t.useElementEditorSettings},useElementInteractions:function(){return M.useElementInteractions},useElementSetting:function(){return s.useElementSetting},useElementSettings:function(){return s.useElementSettings},useParentElement:function(){return r.useParentElement},useSelectedElement:function(){return a.useSelectedElement}});__webpack_require__("./packages/packages/libs/editor-elements/src/types.ts");var e=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-element-children.ts"),t=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-element-editor-settings.ts"),s=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-element-setting.ts"),r=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts"),a=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts"),l=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/create-element.ts"),o=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/create-elements.ts"),c=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/delete-element.ts"),i=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/drop-element.ts"),d=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/duplicate-element.ts"),m=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/duplicate-elements.ts"),p=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/generate-element-id.ts"),u=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),g=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts"),y=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts"),E=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts"),k=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-label.ts"),f=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts"),h=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts"),b=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-type.ts"),_=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-elements.ts"),w=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts"),v=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts"),I=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/move-element.ts"),S=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/move-elements.ts"),C=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/remove-elements.ts"),T=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/replace-element.ts"),D=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/update-element-editor-settings.ts"),q=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts"),x=__webpack_require__("./packages/packages/libs/editor-elements/src/link-restriction.ts"),A=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/consts.ts"),P=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/create-element-style.ts"),L=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts"),N=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/update-element-style.ts"),M=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-element-interactions.ts"),$=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts"),O=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/update-element-interactions.ts"),R=__webpack_require__("./packages/packages/libs/editor-elements/src/mcp/index.ts")}(),(window.elementorV2=window.elementorV2||{}).editorElements=n}(),window.elementorV2.editorElements?.init?.();
2309 3 //# sourceMappingURL=editor-elements.js.map