PluginProbe
Elementor Website Builder – more than just a page builder / 3.31.4
Elementor Website Builder – more than just a page builder v3.31.4
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 4.1.0-beta2 4.1.0-dev2 4.0.8 All 454 releases
← All changes | assets/js/packages/editor-elements/editor-elements.js +2 -1320 4.3.0 → 3.31.4 View file →
@@ -1,1321 +1,3 @@
1 -(function(_elementor_editor_v1_adapters, _elementor_session, _elementor_editor_props, _wordpress_i18n, _elementor_utils, _elementor_editor_styles) {
2 -
3 -//#region \0rolldown/runtime.js
4 - var __defProp = Object.defineProperty;
5 - var __name = (target, value) => __defProp(target, "name", {
6 - value,
7 - configurable: true
8 - });
9 - var __exportAll = (all, no_symbols) => {
10 - let target = {};
11 - for (var name in all) {
12 - __defProp(target, name, {
13 - get: all[name],
14 - enumerable: true
15 - });
16 - }
17 - if (!no_symbols) {
18 - __defProp(target, Symbol.toStringTag, { value: "Module" });
19 - }
20 - return target;
21 - };
22 -
23 -//#endregion
24 -
25 -//#region packages/packages/libs/editor-elements/src/sync/get-container.ts
26 - function getContainer(id) {
27 - return window.elementor?.getContainer?.(id) ?? null;
28 - }
29 - var selectElement = (elementId) => {
30 - try {
31 - (0, _elementor_editor_v1_adapters.__privateRunCommand)("document/elements/select", { container: getContainer(elementId) });
32 - } catch {}
33 - };
34 -
35 -//#endregion
36 -//#region packages/packages/libs/editor-elements/src/sync/resolve-element.ts
37 - function isConnected(container) {
38 - if (!container) return false;
39 - if (!container.view?.el) return true;
40 - return container.view.el.isConnected;
41 - }
42 - function resolveContainer(container, id) {
43 - const looked = container.lookup?.();
44 - if (isConnected(looked)) return looked;
45 - const byId = getContainer(id);
46 - if (isConnected(byId)) return byId;
47 - return null;
48 - }
49 - function getDocumentUtils() {
50 - return window.$e?.components?.get?.("document")?.utils;
51 - }
52 - function findModelInDocument(id) {
53 - return getDocumentUtils()?.findModelById?.(id) ?? null;
54 - }
55 - function addModelToParent(parentId, childData, options) {
56 - return getDocumentUtils()?.addModelToParent?.(parentId, childData, options) ?? false;
57 - }
58 - function removeModelFromParent(parentId, childId) {
59 - return getDocumentUtils()?.removeModelFromParent?.(parentId, childId) ?? false;
60 - }
61 -
62 -//#endregion
63 -//#region packages/packages/libs/editor-elements/src/sync/resolve-insert-index.ts
64 - function resolveInsertIndex(position, elements) {
65 - const lastIndex = elements.length;
66 - switch (position.kind) {
67 - case "first": return 0;
68 - case "last": return lastIndex;
69 - case "index": {
70 - const index = typeof position.value === "number" ? position.value : lastIndex;
71 - return Math.max(0, Math.min(index, lastIndex));
72 - }
73 - case "after_type": {
74 - const anchor = elements.findIndex((element) => element.elType === position.value);
75 - return anchor >= 0 ? anchor + 1 : lastIndex;
76 - }
77 - case "before_type": {
78 - const anchor = elements.findIndex((element) => element.elType === position.value);
79 - return anchor >= 0 ? anchor : lastIndex;
80 - }
81 - default: return lastIndex;
82 - }
83 - }
84 -
85 -//#endregion
86 -//#region packages/packages/libs/editor-elements/src/children-dependencies/stash.ts
87 - var STASH_KEY_PREFIX = "elementor/editor-state";
88 - var STASH_KEY_SEGMENT = "children-deps";
89 - function createChildrenStash() {
90 - return {
91 - get(elementId, childType) {
92 - return (0, _elementor_session.getSessionStorageItem)(buildStashKey(elementId, childType));
93 - },
94 - save(elementId, childType, data) {
95 - (0, _elementor_session.setSessionStorageItem)(buildStashKey(elementId, childType), data);
96 - },
97 - clear(elementId, childType) {
98 - (0, _elementor_session.removeSessionStorageItem)(buildStashKey(elementId, childType));
99 - },
100 - clearAllForElement(elementId) {
101 - const prefix = buildElementStashPrefix(elementId);
102 - for (let index = sessionStorage.length - 1; index >= 0; index--) {
103 - const key = sessionStorage.key(index);
104 - if (key?.startsWith(prefix)) (0, _elementor_session.removeSessionStorageItem)(key);
105 - }
106 - }
107 - };
108 - }
109 - function buildStashKey(elementId, childType) {
110 - return `${STASH_KEY_PREFIX}/${elementId}/${STASH_KEY_SEGMENT}/${childType}`;
111 - }
112 - function buildElementStashPrefix(elementId) {
113 - return `${STASH_KEY_PREFIX}/${elementId}/${STASH_KEY_SEGMENT}/`;
114 - }
115 -
116 -//#endregion
117 -//#region packages/packages/libs/editor-elements/src/sync/generate-element-id.ts
118 - var generateElementId = () => {
119 - return window.elementorCommon?.helpers?.getUniqueId?.() ?? `el-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
120 - };
121 -
122 -//#endregion
123 -//#region packages/packages/libs/editor-elements/src/children-dependencies/utils.ts
124 - function evaluateWhen(when, settings) {
125 - return (0, _elementor_editor_props.isDependencyMet)(when, settings).isMet;
126 - }
127 - function ensureModelId(model) {
128 - const { skipDefaultChildren: _skipDefaultChildren, ...rest } = model;
129 - return rest.id ? rest : {
130 - ...rest,
131 - id: generateElementId()
132 - };
133 - }
134 - function resolveChildModelData(elementId, rule, stash) {
135 - const stashed = rule.stash ? stash.get(elementId, rule.child_type) : void 0;
136 - return {
137 - modelData: ensureModelId(stashed ?? rule.default_model ?? { elType: rule.child_type }),
138 - wasStashed: Boolean(stashed)
139 - };
140 - }
141 -
142 -//#endregion
143 -//#region packages/packages/libs/editor-elements/src/children-dependencies/bind-settings-reconcile.ts
144 - function bindSettingsReconcile({ model, elementConfig }) {
145 - const stash = createChildrenStash();
146 - const rules = elementConfig?.children_dependencies;
147 - if (!rules?.length) return () => {};
148 - const settingsModel = model.get("settings");
149 - const elementId = model.get("id");
150 - if (!settingsModel?.on || !settingsModel?.off || !elementId) return () => {};
151 - const lastMet = /* @__PURE__ */ new Map();
152 - rules.forEach((rule) => {
153 - lastMet.set(rule.child_type, evaluateWhen(rule.when, settingsModel.toJSON()));
154 - });
155 - const onChange = () => {
156 - const currentSettings = settingsModel.toJSON();
157 - rules.forEach((rule) => {
158 - const previous = lastMet.get(rule.child_type) ?? false;
159 - const current = evaluateWhen(rule.when, currentSettings);
160 - if (previous === current) return;
161 - lastMet.set(rule.child_type, current);
162 - if (current) attachChildFromRule(elementId, rule, stash);
163 - else detachChildFromRule(elementId, rule, stash);
164 - });
165 - };
166 - settingsModel.on("change", onChange);
167 - return () => {
168 - settingsModel.off?.("change", onChange);
169 - stash.clearAllForElement(elementId);
170 - };
171 - }
172 - function attachChildFromRule(parentId, rule, stash) {
173 - const currentChildren = getDirectChildData(getContainer(parentId) ?? void 0);
174 - if (currentChildren.some((child) => child.elType === rule.child_type)) return;
175 - const { modelData, wasStashed } = resolveChildModelData(parentId, rule, stash);
176 - if (!addModelToParent(parentId, modelData, { at: resolveInsertIndex(rule.position, currentChildren) })) return;
177 - if (wasStashed) stash.clear(parentId, rule.child_type);
178 - requestNavigatorRefresh(parentId);
179 - }
180 - function detachChildFromRule(parentId, rule, stash) {
181 - const child = (getContainer(parentId) ?? void 0)?.children?.find((candidate) => candidate.model.get("elType") === rule.child_type);
182 - if (!child) return;
183 - const childSnapshot = child.model.toJSON();
184 - if (!removeModelFromParent(parentId, child.id)) return;
185 - if (rule.stash) stash.save(parentId, rule.child_type, childSnapshot);
186 - requestNavigatorRefresh(parentId);
187 - }
188 - function requestNavigatorRefresh(parentId) {
189 - if (typeof window === "undefined" || typeof window.dispatchEvent !== "function") return;
190 - window.dispatchEvent(new CustomEvent("elementor/navigator/refresh-children", { detail: { elementId: parentId } }));
191 - }
192 - function getDirectChildData(parent) {
193 - return (parent?.children ?? []).map((child) => child.model.toJSON());
194 - }
195 -
196 -//#endregion
197 -//#region packages/packages/libs/editor-elements/src/children-dependencies/reconcile-initial-children.ts
198 - function reconcileInitialChildren({ elementId, elementConfig, attributes }) {
199 - const stash = createChildrenStash();
200 - const rules = elementConfig?.children_dependencies;
201 - if (!rules?.length) return;
202 - const elements = [...attributes.elements ?? []];
203 - const settings = attributes.settings ?? {};
204 - rules.forEach((rule) => {
205 - const isMet = evaluateWhen(rule.when, settings);
206 - const existingIndex = elements.findIndex((element) => element.elType === rule.child_type);
207 - const isPresent = existingIndex >= 0;
208 - if (isMet && !isPresent) {
209 - const { modelData, wasStashed } = resolveChildModelData(elementId, rule, stash);
210 - const insertAt = resolveInsertIndex(rule.position, elements);
211 - elements.splice(insertAt, 0, modelData);
212 - if (wasStashed) stash.clear(elementId, rule.child_type);
213 - return;
214 - }
215 - if (!isMet && isPresent) {
216 - const [removed] = elements.splice(existingIndex, 1);
217 - if (rule.stash && removed) stash.save(elementId, rule.child_type, removed);
218 - }
219 - });
220 - attributes.elements = elements;
221 - }
222 -
223 -//#endregion
224 -//#region packages/packages/libs/editor-elements/src/sync/model-utils.ts
225 - function findChildRecursive(model, predicate) {
226 - const childModels = model.get("elements") ?? [];
227 - for (const childModel of childModels) {
228 - if (predicate(childModel)) return { model: childModel };
229 - const found = findChildRecursive(childModel, predicate);
230 - if (found) return found;
231 - }
232 - return null;
233 - }
234 - function getElementChildren(model, predicate) {
235 - return (model.get("elements") ?? []).filter((childModel) => !predicate || predicate(childModel)).map((childModel) => ({ model: childModel }));
236 - }
237 -
238 -//#endregion
239 -//#region packages/packages/libs/editor-elements/src/hooks/use-element-children.ts
240 - function toElementModel({ model }) {
241 - return {
242 - id: model.get("id"),
243 - editorSettings: model.get("editor_settings") ?? {}
244 - };
245 - }
246 - function useElementChildren(elementId, childrenTypes, { includeSelfAsParent = false } = {}) {
247 - return (0, _elementor_editor_v1_adapters.__privateUseListenTo)([
248 - (0, _elementor_editor_v1_adapters.v1ReadyEvent)(),
249 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/create"),
250 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/delete"),
251 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/update"),
252 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/set-settings")
253 - ], () => {
254 - const model = getContainer(elementId)?.model;
255 - if (!model) return {};
256 - return Object.entries(childrenTypes).reduce((acc, [parentType, childType]) => {
257 - const parent = includeSelfAsParent && model.get("elType") === parentType ? { model } : findChildRecursive(model, (m) => m.get("elType") === parentType);
258 - if (!parent) {
259 - acc[childType] = [];
260 - return acc;
261 - }
262 - acc[childType] = getElementChildren(parent.model, (m) => m.get("elType") === childType).map(toElementModel);
263 - return acc;
264 - }, {});
265 - }, [elementId]);
266 - }
267 -
268 -//#endregion
269 -//#region packages/packages/libs/editor-elements/src/sync/get-element-editor-settings.ts
270 - function getElementEditorSettings(elementId) {
271 - return getContainer(elementId)?.model.get("editor_settings") ?? {};
272 - }
273 -
274 -//#endregion
275 -//#region packages/packages/libs/editor-elements/src/hooks/use-element-editor-settings.ts
276 - var useElementEditorSettings = (elementId) => {
277 - return (0, _elementor_editor_v1_adapters.__privateUseListenTo)((0, _elementor_editor_v1_adapters.windowEvent)("elementor/element/update_editor_settings"), () => getElementEditorSettings(elementId), [elementId]);
278 - };
279 -
280 -//#endregion
281 -//#region packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts
282 - function useParentElement(elementId) {
283 - return (0, _elementor_editor_v1_adapters.__privateUseListenTo)([(0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/create")], () => {
284 - if (!elementId) return null;
285 - const element = window?.elementor?.getContainer?.(elementId);
286 - if (!element) return null;
287 - return element.parent;
288 - }, [elementId]);
289 - }
290 -
291 -//#endregion
292 -//#region packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts
293 - function getWidgetsCache() {
294 - return window?.elementor?.widgetsCache || null;
295 - }
296 -
297 -//#endregion
298 -//#region packages/packages/libs/editor-elements/src/sync/get-element-type.ts
299 - function getElementType(type) {
300 - if (!type) return null;
301 - const elementType = getWidgetsCache()?.[type];
302 - if (!elementType?.atomic_controls) return null;
303 - if (!elementType?.atomic_props_schema) return null;
304 - return {
305 - key: type,
306 - controls: elementType.atomic_controls,
307 - propsSchema: elementType.atomic_props_schema,
308 - dependenciesPerTargetMapping: elementType.dependencies_per_target_mapping ?? {},
309 - title: elementType.title,
310 - styleStates: elementType.atomic_style_states ?? [],
311 - pseudoStates: elementType.atomic_pseudo_states ?? []
312 - };
313 - }
314 -
315 -//#endregion
316 -//#region packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts
317 - function getSelectedElements() {
318 - return (window.elementor?.selection?.getElements?.() ?? []).reduce((acc, el) => {
319 - const type = el.model.get("widgetType") || el.model.get("elType");
320 - if (type) acc.push({
321 - id: el.model.get("id"),
322 - type
323 - });
324 - return acc;
325 - }, []);
326 - }
327 - function getSelectedElement() {
328 - const elements = getSelectedElements();
329 - const [element] = elements;
330 - const elementType = getElementType(element?.type);
331 - if (elements.length !== 1 || !elementType || !element) return {
332 - element: null,
333 - elementType: null
334 - };
335 - return {
336 - element,
337 - elementType
338 - };
339 - }
340 -
341 -//#endregion
342 -//#region packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts
343 - function useSelectedElement() {
344 - return (0, _elementor_editor_v1_adapters.__privateUseListenTo)([
345 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/select"),
346 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/deselect"),
347 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/select-all"),
348 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/deselect-all")
349 - ], getSelectedElement);
350 - }
351 -
352 -//#endregion
353 -//#region packages/packages/libs/editor-elements/src/sync/get-element-setting.ts
354 - var getElementSetting = (elementId, settingKey) => {
355 - return getContainer(elementId)?.settings?.get(settingKey) ?? null;
356 - };
357 - var getElementSettings = (elementId, settingKey) => {
358 - return Object.fromEntries(settingKey.map((key) => [key, getElementSetting(elementId, key)]));
359 - };
360 -
361 -//#endregion
362 -//#region packages/packages/libs/editor-elements/src/hooks/use-selected-element-settings.ts
363 - function useSelectedElementSettings() {
364 - return (0, _elementor_editor_v1_adapters.__privateUseListenTo)([
365 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/select"),
366 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/deselect"),
367 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/select-all"),
368 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/deselect-all"),
369 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/set-settings")
370 - ], () => {
371 - const { element, elementType } = getSelectedElement();
372 - if (!element || !elementType) return {
373 - element: null,
374 - elementType: null,
375 - settings: null
376 - };
377 - return {
378 - element,
379 - elementType,
380 - settings: getElementSettings(element.id, Object.keys(elementType.propsSchema))
381 - };
382 - });
383 - }
384 -
385 -//#endregion
386 -//#region packages/packages/libs/editor-elements/src/sync/create-element.ts
387 - function createElement({ container, model, options }) {
388 - return (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/elements/create", {
389 - container,
390 - model,
391 - options: {
392 - edit: false,
393 - ...options
394 - }
395 - });
396 - }
397 -
398 -//#endregion
399 -//#region packages/packages/libs/editor-elements/src/sync/delete-element.ts
400 - function deleteElement({ container, options = {} }) {
401 - (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/elements/delete", {
402 - container,
403 - options
404 - });
405 - }
406 -
407 -//#endregion
408 -//#region packages/packages/libs/editor-elements/src/sync/create-elements.ts
409 - var createElements = ({ elements, title, subtitle = (0, _wordpress_i18n.__)("Item added", "elementor") }) => {
410 - return (0, _elementor_editor_v1_adapters.undoable)({
411 - do: ({ elements: elementsParam }) => {
412 - const createdElements = [];
413 - elementsParam.forEach(({ container, options, ...elementParams }) => {
414 - const parentContainer = container.lookup?.() ?? container;
415 - if (!parentContainer) throw new Error("Parent container not found");
416 - const element = createElement({
417 - container: parentContainer,
418 - ...elementParams,
419 - options: {
420 - ...options,
421 - useHistory: false
422 - }
423 - });
424 - createdElements.push({
425 - container: element,
426 - parentContainer,
427 - model: element.model?.toJSON() || {},
428 - options,
429 - containerId: element.id,
430 - parentContainerId: parentContainer.id
431 - });
432 - });
433 - return { createdElements };
434 - },
435 - undo: (_, { createdElements }) => {
436 - [...createdElements].reverse().forEach(({ container, containerId, parentContainerId }) => {
437 - const freshContainer = resolveContainer(container, containerId);
438 - if (freshContainer) {
439 - deleteElement({
440 - container: freshContainer,
441 - options: { useHistory: false }
442 - });
443 - return;
444 - }
445 - removeModelFromParent(parentContainerId, containerId);
446 - });
447 - },
448 - redo: (_, { createdElements }) => {
449 - const newElements = [];
450 - createdElements.forEach(({ parentContainer, parentContainerId, model, options }) => {
451 - const freshParent = resolveContainer(parentContainer, parentContainerId);
452 - if (freshParent) {
453 - const element = createElement({
454 - container: freshParent,
455 - model,
456 - options: {
457 - ...options,
458 - useHistory: false
459 - }
460 - });
461 - newElements.push({
462 - container: element,
463 - parentContainer: freshParent,
464 - model: element.model.toJSON(),
465 - options,
466 - containerId: element.id,
467 - parentContainerId: freshParent.id
468 - });
469 - return;
470 - }
471 - addModelToParent(parentContainerId, model);
472 - newElements.push({
473 - container: parentContainer,
474 - parentContainer,
475 - model,
476 - options,
477 - containerId: model.id ?? "",
478 - parentContainerId
479 - });
480 - });
481 - return { createdElements: newElements };
482 - }
483 - }, {
484 - title,
485 - subtitle
486 - })({ elements });
487 - };
488 -
489 -//#endregion
490 -//#region packages/packages/libs/editor-elements/src/sync/drop-element.ts
491 - function dropElement({ containerId, model, options }) {
492 - const container = getContainer(containerId);
493 - if (!container) throw new Error(`Container with ID "${containerId}" not found`);
494 - return (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("preview/drop", {
495 - container,
496 - model,
497 - options
498 - });
499 - }
500 -
501 -//#endregion
502 -//#region packages/packages/libs/editor-elements/src/sync/duplicate-element.ts
503 - function duplicateElement({ element, options = {} }) {
504 - const currentIndex = element.view?._index ?? 0;
505 - return (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/elements/duplicate", {
506 - container: element,
507 - options: {
508 - at: options.clone !== false ? currentIndex + 1 : void 0,
509 - edit: false,
510 - ...options
511 - }
512 - });
513 - }
514 -
515 -//#endregion
516 -//#region packages/packages/libs/editor-elements/src/sync/duplicate-elements.ts
517 - var duplicateElements = ({ elementIds, title, subtitle = (0, _wordpress_i18n.__)("Item duplicated", "elementor"), onDuplicateElements, onRestoreElements }) => {
518 - return (0, _elementor_editor_v1_adapters.undoable)({
519 - do: ({ elementIds: elementIdsToDuplicate }) => {
520 - onDuplicateElements?.();
521 - const duplicatedElements = [];
522 - elementIdsToDuplicate.forEach((elementId) => {
523 - const originalContainer = getContainer(elementId);
524 - if (!originalContainer?.parent) return;
525 - const duplicatedElement = duplicateElement({
526 - element: originalContainer,
527 - options: { useHistory: false }
528 - });
529 - if (!duplicatedElement.parent) return;
530 - duplicatedElements.push({
531 - container: duplicatedElement,
532 - parentContainer: duplicatedElement.parent,
533 - model: duplicatedElement.model.toJSON(),
534 - at: duplicatedElement.view?._index,
535 - containerId: duplicatedElement.id,
536 - parentContainerId: duplicatedElement.parent.id
537 - });
538 - });
539 - return { duplicatedElements };
540 - },
541 - undo: (_, { duplicatedElements }) => {
542 - onRestoreElements?.();
543 - [...duplicatedElements].reverse().forEach(({ container, containerId, parentContainerId }) => {
544 - const freshContainer = resolveContainer(container, containerId);
545 - if (freshContainer) {
546 - deleteElement({
547 - container: freshContainer,
548 - options: { useHistory: false }
549 - });
550 - return;
551 - }
552 - removeModelFromParent(parentContainerId, containerId);
553 - });
554 - },
555 - redo: (_, { duplicatedElements: previousElements }) => {
556 - onDuplicateElements?.();
557 - const duplicatedElements = [];
558 - previousElements.forEach(({ parentContainer, parentContainerId, model, at }) => {
559 - const freshParent = resolveContainer(parentContainer, parentContainerId);
560 - if (freshParent) {
561 - const createdElement = createElement({
562 - container: freshParent,
563 - model,
564 - options: {
565 - useHistory: false,
566 - clone: false,
567 - at
568 - }
569 - });
570 - duplicatedElements.push({
571 - container: createdElement,
572 - parentContainer: freshParent,
573 - model,
574 - at,
575 - containerId: createdElement.id,
576 - parentContainerId: freshParent.id
577 - });
578 - return;
579 - }
580 - addModelToParent(parentContainerId, model, { at });
581 - duplicatedElements.push({
582 - container: parentContainer,
583 - parentContainer,
584 - model,
585 - at,
586 - containerId: model.id ?? "",
587 - parentContainerId
588 - });
589 - });
590 - return { duplicatedElements };
591 - }
592 - }, {
593 - title,
594 - subtitle
595 - })({ elementIds });
596 - };
597 -
598 -//#endregion
599 -//#region packages/packages/libs/editor-elements/src/sync/get-preview-element-dom.ts
600 - function getPreviewElementDOM(id) {
601 - try {
602 - const fromContainer = getContainer(id)?.view?.el;
603 - if (fromContainer) return fromContainer;
604 - return queryPreviewDOMByElementId(id);
605 - } catch {
606 - return null;
607 - }
608 - }
609 - function queryPreviewDOMByElementId(id) {
610 - const previewDocument = window.elementor?.getPreviewContainer?.()?.view?.el?.ownerDocument;
611 - if (!previewDocument) return null;
612 - return previewDocument.querySelector(`[data-id="${id}"]`);
613 - }
614 -
615 -//#endregion
616 -//#region packages/packages/libs/editor-elements/src/sync/get-current-document-container.ts
617 - function getCurrentDocumentContainer() {
618 - return window.elementor?.documents?.getCurrent?.()?.container ?? null;
619 - }
620 -
621 -//#endregion
622 -//#region packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts
623 - function getCurrentDocumentId() {
624 - const extendedWindow = window;
625 - try {
626 - return extendedWindow.elementor?.documents?.getCurrentId?.() ?? null;
627 - } catch {
628 - return null;
629 - }
630 - }
631 -
632 -//#endregion
633 -//#region packages/packages/libs/editor-elements/src/sync/get-element-icon.ts
634 - function getElementIcon(elementId) {
635 - const container = getContainer(elementId);
636 - const type = container?.model.get("widgetType") || container?.model.get("elType");
637 - if (!type) return null;
638 - return getWidgetsCache()?.[type]?.icon ?? null;
639 - }
640 -
641 -//#endregion
642 -//#region packages/packages/libs/editor-elements/src/errors.ts
643 - var ElementNotFoundError = (0, _elementor_utils.createError)({
644 - code: "element_not_found",
645 - message: "Element not found."
646 - });
647 - var StyleNotFoundError = (0, _elementor_utils.createError)({
648 - code: "style_not_found",
649 - message: "Style not found."
650 - });
651 - var ElementTypeNotExistsError = (0, _elementor_utils.createError)({
652 - code: "element_type_not_exists",
653 - message: "Element type does not exist."
654 - });
655 - var ElementLabelNotExistsError = (0, _elementor_utils.createError)({
656 - code: "element_label_not_exists",
657 - message: "Element label does not exist."
658 - });
659 - var ElementParentNotFoundError = (0, _elementor_utils.createError)({
660 - code: "element_parent_not_found",
661 - message: "Element parent not found."
662 - });
663 - var ElementIndexNotFoundError = (0, _elementor_utils.createError)({
664 - code: "element_index_not_found",
665 - message: "Element index not found."
666 - });
667 -
668 -//#endregion
669 -//#region packages/packages/libs/editor-elements/src/sync/get-element-label.ts
670 - function getElementLabel(elementId) {
671 - if (!elementId) elementId = getSelectedElements()?.[0]?.id;
672 - const container = getContainer(elementId);
673 - const type = container?.model.get("widgetType") || container?.model.get("elType");
674 - if (!type) throw new ElementTypeNotExistsError({ context: { elementId } });
675 - const label = getWidgetsCache()?.[type]?.title;
676 - if (!label) throw new ElementLabelNotExistsError({ context: { elementType: type } });
677 - return label;
678 - }
679 -
680 -//#endregion
681 -//#region packages/packages/libs/editor-elements/src/sync/get-element-title.ts
682 - function extractString(value) {
683 - if (typeof value === "string") return value || null;
684 - if (value && typeof value === "object" && "value" in value && typeof value.value === "string") return value.value || null;
685 - return null;
686 - }
687 - function getElementTitle(elementId) {
688 - const editorTitle = extractString(getElementEditorSettings(elementId)?.title);
689 - if (editorTitle) return editorTitle;
690 - const legacyTitle = extractString(getElementSetting(elementId, "_title"));
691 - if (legacyTitle) return legacyTitle;
692 - const presetTitle = extractString(getElementSetting(elementId, "presetTitle"));
693 - if (presetTitle) return presetTitle;
694 - try {
695 - return getElementLabel(elementId);
696 - } catch {
697 - return null;
698 - }
699 - }
700 -
701 -//#endregion
702 -//#region packages/packages/libs/editor-elements/src/sync/get-element-styles.ts
703 - var getElementStyles = (elementID) => {
704 - return getContainer(elementID)?.model.get("styles") || null;
705 - };
706 -
707 -//#endregion
708 -//#region packages/packages/libs/editor-elements/src/sync/get-all-descendants.ts
709 - function getAllDescendants(container) {
710 - return [container, ...(container.children ?? []).flatMap((child) => getAllDescendants(child))];
711 - }
712 -
713 -//#endregion
714 -//#region packages/packages/libs/editor-elements/src/sync/get-elements.ts
715 - function getElements(root) {
716 - const container = root ? getContainer(root) : getCurrentDocumentContainer();
717 - if (!container) return [];
718 - return [container, ...[...container.model.get("elements") ?? []].flatMap((childModel) => getElements(childModel.get("id")))];
719 - }
720 -
721 -//#endregion
722 -//#region packages/packages/libs/editor-elements/src/sync/move-element.ts
723 - function moveElement({ element, targetContainer, options = {} }) {
724 - const resolvedElement = element.lookup?.();
725 - const resolvedTarget = targetContainer.lookup?.();
726 - if (!resolvedElement) throw new Error(`Element not found: ${element.id}`);
727 - if (!resolvedTarget) throw new Error(`Target container not found: ${targetContainer.id}`);
728 - const modelToRecreate = resolvedElement.model.toJSON();
729 - deleteElement({
730 - container: resolvedElement,
731 - options: {
732 - ...options,
733 - useHistory: false
734 - }
735 - });
736 - return createElement({
737 - container: resolvedTarget,
738 - model: modelToRecreate,
739 - options: {
740 - edit: false,
741 - ...options,
742 - useHistory: false
743 - }
744 - });
745 - }
746 -
747 -//#endregion
748 -//#region packages/packages/libs/editor-elements/src/sync/move-elements.ts
749 - var moveElements = ({ moves: movesToMake, title, subtitle = (0, _wordpress_i18n.__)("Elements moved", "elementor"), onMoveElements, onRestoreElements }) => {
750 - return (0, _elementor_editor_v1_adapters.undoable)({
751 - do: ({ moves }) => {
752 - const movedElements = [];
753 - onMoveElements?.();
754 - moves.forEach(({ element, targetContainer, options }) => {
755 - const sourceElement = element.lookup?.() ?? element;
756 - const target = targetContainer.lookup?.() ?? targetContainer;
757 - if (!sourceElement) throw new Error("Element not found");
758 - if (!target) throw new Error("Target container not found");
759 - if (!sourceElement.parent) throw new Error("Element has no parent container");
760 - const originalContainer = sourceElement.parent;
761 - const originalIndex = originalContainer.children?.indexOf(sourceElement) ?? -1;
762 - const newElement = moveElement({
763 - element: sourceElement,
764 - targetContainer: target,
765 - options: {
766 - ...options,
767 - useHistory: false
768 - }
769 - });
770 - movedElements.push({
771 - element: newElement,
772 - originalContainer,
773 - originalIndex,
774 - targetContainer: target,
775 - options,
776 - elementId: newElement.id,
777 - originalContainerId: originalContainer.id,
778 - targetContainerId: target.id
779 - });
780 - });
781 - return { movedElements };
782 - },
783 - undo: (_, { movedElements }) => {
784 - onRestoreElements?.();
785 - [...movedElements].reverse().forEach(({ element, elementId, originalContainer, originalContainerId, originalIndex }) => {
786 - const freshElement = resolveContainer(element, elementId);
787 - const freshOriginalContainer = resolveContainer(originalContainer, originalContainerId);
788 - if (!freshElement || !freshOriginalContainer) return;
789 - moveElement({
790 - element: freshElement,
791 - targetContainer: freshOriginalContainer,
792 - options: {
793 - useHistory: false,
794 - at: originalIndex >= 0 ? originalIndex : void 0
795 - }
796 - });
797 - });
798 - },
799 - redo: (_, { movedElements }) => {
800 - const newMovedElements = [];
801 - onMoveElements?.();
802 - movedElements.forEach(({ element, elementId, originalContainer, originalContainerId, originalIndex, targetContainer, targetContainerId, options }) => {
803 - const freshElement = resolveContainer(element, elementId);
804 - const freshOriginalContainer = resolveContainer(originalContainer, originalContainerId);
805 - const freshTarget = resolveContainer(targetContainer, targetContainerId);
806 - if (!freshElement || !freshOriginalContainer || !freshTarget) return;
807 - const newElement = moveElement({
808 - element: freshElement,
809 - targetContainer: freshTarget,
810 - options: {
811 - ...options,
812 - useHistory: false
813 - }
814 - });
815 - newMovedElements.push({
816 - element: newElement,
817 - originalContainer: freshOriginalContainer,
818 - originalIndex,
819 - targetContainer: freshTarget,
820 - options,
821 - elementId: newElement.id,
822 - originalContainerId: freshOriginalContainer.id,
823 - targetContainerId: freshTarget.id
824 - });
825 - });
826 - return { movedElements: newMovedElements };
827 - }
828 - }, {
829 - title,
830 - subtitle
831 - })({ moves: movesToMake });
832 - };
833 -
834 -//#endregion
835 -//#region packages/packages/libs/editor-elements/src/sync/remove-elements.ts
836 - var removeElements = ({ elementIds, title, subtitle = (0, _wordpress_i18n.__)("Item removed", "elementor"), onRemoveElements, onRestoreElements }) => {
837 - return (0, _elementor_editor_v1_adapters.undoable)({
838 - do: ({ elementIds: elementIdsParam }) => {
839 - const removedElements = [];
840 - elementIdsParam.forEach((elementId) => {
841 - const container = getContainer(elementId);
842 - if (container?.parent) removedElements.push({
843 - container,
844 - parent: container.parent,
845 - model: container.model.toJSON(),
846 - at: container.view?._index ?? 0,
847 - containerId: container.id,
848 - parentId: container.parent.id
849 - });
850 - });
851 - onRemoveElements?.();
852 - removedElements.forEach(({ container }) => {
853 - deleteElement({
854 - container,
855 - options: { useHistory: false }
856 - });
857 - });
858 - return { removedElements };
859 - },
860 - undo: (_, { removedElements }) => {
861 - onRestoreElements?.();
862 - [...removedElements].reverse().forEach(({ parent, parentId, model, at }) => {
863 - const freshParent = resolveContainer(parent, parentId);
864 - if (freshParent) {
865 - createElement({
866 - container: freshParent,
867 - model,
868 - options: {
869 - useHistory: false,
870 - at
871 - }
872 - });
873 - return;
874 - }
875 - addModelToParent(parentId, model, { at });
876 - });
877 - },
878 - redo: (_, { removedElements }) => {
879 - onRemoveElements?.();
880 - const newRemovedElements = [];
881 - removedElements.forEach(({ container, parent, model, at, containerId, parentId }) => {
882 - const freshContainer = resolveContainer(container, containerId);
883 - const freshParent = resolveContainer(parent, parentId);
884 - if (freshContainer && freshParent) {
885 - deleteElement({
886 - container: freshContainer,
887 - options: { useHistory: false }
888 - });
889 - newRemovedElements.push({
890 - container: freshContainer,
891 - parent: freshParent,
892 - model,
893 - at,
894 - containerId,
895 - parentId
896 - });
897 - return;
898 - }
899 - removeModelFromParent(parentId, containerId);
900 - newRemovedElements.push({
901 - container,
902 - parent,
903 - model,
904 - at,
905 - containerId,
906 - parentId
907 - });
908 - });
909 - return { removedElements: newRemovedElements };
910 - }
911 - }, {
912 - title,
913 - subtitle
914 - })({ elementIds });
915 - };
916 -
917 -//#endregion
918 -//#region packages/packages/libs/editor-elements/src/sync/replace-element.ts
919 - var replaceElement = ({ currentElementId, newElement, withHistory = true }) => {
920 - const currentElementContainer = getContainer(currentElementId);
921 - if (!currentElementContainer) throw new ElementNotFoundError({ context: { elementId: currentElementId } });
922 - const { container, index } = getNewElementContainer(currentElementContainer, newElement);
923 - const newElementInstance = createElement({
924 - container,
925 - model: newElement,
926 - options: {
927 - at: index,
928 - useHistory: withHistory
929 - }
930 - });
931 - deleteElement({
932 - container: currentElementContainer,
933 - options: { useHistory: withHistory }
934 - });
935 - return newElementInstance;
936 - };
937 - function getNewElementContainer(currentElementContainer, newElement) {
938 - const { parent } = currentElementContainer;
939 - if (!parent) throw new ElementParentNotFoundError({ context: { elementId: currentElementContainer.id } });
940 - const elementIndex = currentElementContainer.view?._index ?? 0;
941 - if (elementIndex === -1) throw new ElementIndexNotFoundError({ context: { elementId: currentElementContainer.id } });
942 - let location = {
943 - container: parent,
944 - index: elementIndex
945 - };
946 - if (parent.id === "document" && newElement.elType === "widget") location = createWrapperForWidget(parent, elementIndex);
947 - return location;
948 - }
949 - var DEFAULT_CONTAINER_TYPE = "e-flexbox";
950 - function createWrapperForWidget(parent, elementIndex) {
951 - return {
952 - container: createElement({
953 - container: parent,
954 - model: { elType: DEFAULT_CONTAINER_TYPE },
955 - options: {
956 - at: elementIndex,
957 - useHistory: false
958 - }
959 - }),
960 - index: 0
961 - };
962 - }
963 -
964 -//#endregion
965 -//#region packages/packages/libs/editor-elements/src/sync/update-element-editor-settings.ts
966 - var updateElementEditorSettings = ({ elementId, settings }) => {
967 - const element = getContainer(elementId);
968 - if (!element) throw new Error(`Element with id ${elementId} not found`);
969 - const editorSettings = element.model.get("editor_settings") ?? {};
970 - element.model.set("editor_settings", {
971 - ...editorSettings,
972 - ...settings
973 - });
974 - (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
975 - };
976 -
977 -//#endregion
978 -//#region packages/packages/libs/editor-elements/src/sync/update-element-settings.ts
979 - var updateElementSettings = ({ id, props, withHistory = true }) => {
980 - const container = getContainer(id);
981 - if (!container) return;
982 - const args = {
983 - container,
984 - settings: { ...props }
985 - };
986 - if (withHistory) (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/elements/settings", args);
987 - else (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/elements/set-settings", args, { internal: true });
988 - };
989 -
990 -//#endregion
991 -//#region packages/packages/libs/editor-elements/src/link-restriction.ts
992 - var ANCHOR_SELECTOR = "a, [data-action-link]";
993 - function getLinkInLinkRestriction(elementId, resolvedValue) {
994 - const anchoredDescendantId = getAnchoredDescendantId(elementId);
995 - if (anchoredDescendantId) return {
996 - shouldRestrict: true,
997 - reason: "descendant",
998 - elementId: anchoredDescendantId
999 - };
1000 - if (checkForInlineLink(elementId, resolvedValue)) return {
1001 - shouldRestrict: true,
1002 - reason: "descendant",
1003 - elementId
1004 - };
1005 - const ancestor = getAnchoredAncestorId(elementId);
1006 - if (ancestor) return {
1007 - shouldRestrict: true,
1008 - reason: "ancestor",
1009 - elementId: ancestor
1010 - };
1011 - return { shouldRestrict: false };
1012 - }
1013 - function getAnchoredDescendantId(elementId) {
1014 - const element = getElementDOM(elementId);
1015 - if (!element) return null;
1016 - for (const childAnchorElement of Array.from(element.querySelectorAll(ANCHOR_SELECTOR))) {
1017 - const childElementId = findElementIdOf(childAnchorElement);
1018 - if (childElementId !== elementId) return childElementId;
1019 - }
1020 - return null;
1021 - }
1022 - function getAnchoredAncestorId(elementId) {
1023 - const element = getElementDOM(elementId);
1024 - if (!element || element.parentElement === null) return null;
1025 - const parentAnchor = element.parentElement.closest(ANCHOR_SELECTOR);
1026 - return parentAnchor ? findElementIdOf(parentAnchor) : null;
1027 - }
1028 - function isElementAnchored(elementId) {
1029 - const element = getElementDOM(elementId);
1030 - if (!element) return false;
1031 - if (element.matches(ANCHOR_SELECTOR)) return true;
1032 - return doesElementContainAnchor(element);
1033 - }
1034 - function doesElementContainAnchor(element) {
1035 - for (const child of Array.from(element.children)) {
1036 - if (isElementorElement(child)) continue;
1037 - if (child.matches(ANCHOR_SELECTOR)) return true;
1038 - if (doesElementContainAnchor(child)) return true;
1039 - }
1040 - return false;
1041 - }
1042 - function findElementIdOf(element) {
1043 - return element.closest("[data-id]")?.dataset.id || null;
1044 - }
1045 - function checkForInlineLink(elementId, resolvedValue) {
1046 - const element = getElementDOM(elementId);
1047 - if (!element) return false;
1048 - if (element.matches(ANCHOR_SELECTOR)) return false;
1049 - if ((resolvedValue ?? getElementSetting(elementId, "link")?.value)?.destination) return false;
1050 - return element.querySelector(ANCHOR_SELECTOR) !== null;
1051 - }
1052 - function getElementDOM(id) {
1053 - return getPreviewElementDOM(id);
1054 - }
1055 - function isElementorElement(element) {
1056 - return element.hasAttribute("data-id");
1057 - }
1058 -
1059 -//#endregion
1060 -//#region packages/packages/libs/editor-elements/src/styles/consts.ts
1061 - var ELEMENT_STYLE_CHANGE_EVENT = "elementor/editor-v2/editor-elements/style";
1062 - var styleRerenderEvents = [
1063 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/create"),
1064 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/duplicate"),
1065 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/import"),
1066 - (0, _elementor_editor_v1_adapters.commandEndEvent)("document/elements/paste"),
1067 - (0, _elementor_editor_v1_adapters.windowEvent)(ELEMENT_STYLE_CHANGE_EVENT)
1068 - ];
1069 -
1070 -//#endregion
1071 -//#region packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts
1072 - function mutateElementStyles(elementId, mutator) {
1073 - const container = getContainer(elementId);
1074 - if (!container) throw new ElementNotFoundError({ context: { elementId } });
1075 - const oldIds = Object.keys(container.model.get("styles") ?? {});
1076 - const styles = mutateStyles(container, mutator);
1077 - clearRemovedClasses(container, {
1078 - oldIds,
1079 - newIds: Object.keys(styles)
1080 - });
1081 - notifyChanges();
1082 - return styles;
1083 - }
1084 - function mutateStyles(container, mutator) {
1085 - const styles = structuredClone(container.model.get("styles")) ?? {};
1086 - const entries = Object.entries(mutator(styles)).map(([styleId, style]) => {
1087 - style.variants = removeEmptyVariants(style);
1088 - return [styleId, style];
1089 - }).filter(([, style]) => {
1090 - return !isStyleEmpty(style);
1091 - });
1092 - const mutatedStyles = Object.fromEntries(entries);
1093 - container.model.set("styles", mutatedStyles);
1094 - return mutatedStyles;
1095 - }
1096 - function removeEmptyVariants(style) {
1097 - return style.variants.filter(({ props, custom_css: customCss }) => Object.keys(props).length > 0 || customCss?.raw);
1098 - }
1099 - function isStyleEmpty(style) {
1100 - return style.variants.length === 0;
1101 - }
1102 - function clearRemovedClasses(container, { oldIds, newIds }) {
1103 - const removedIds = oldIds.filter((id) => !newIds.includes(id));
1104 - if (!removedIds.length) return;
1105 - const classesProps = structuredClone(getClassesProps(container));
1106 - classesProps.forEach(([, prop]) => {
1107 - prop.value = prop.value.filter((value) => !removedIds.includes(value));
1108 - });
1109 - updateElementSettings({
1110 - id: container.id,
1111 - props: Object.fromEntries(classesProps),
1112 - withHistory: false
1113 - });
1114 - }
1115 - function getClassesProps(container) {
1116 - return Object.entries(container.settings.toJSON()).filter((prop) => {
1117 - const [, value] = prop;
1118 - return _elementor_editor_props.classesPropTypeUtil.isValid(value);
1119 - });
1120 - }
1121 - function notifyChanges() {
1122 - dispatchChangeEvent();
1123 - (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
1124 - }
1125 - function dispatchChangeEvent() {
1126 - window.dispatchEvent(new CustomEvent(ELEMENT_STYLE_CHANGE_EVENT));
1127 - }
1128 -
1129 -//#endregion
1130 -//#region packages/packages/libs/editor-elements/src/styles/create-element-style.ts
1131 - function createElementStyle({ styleId, elementId, classesProp, label, meta, props, custom_css: customCss = null, additionalVariants = [] }) {
1132 - let id = styleId;
1133 - mutateElementStyles(elementId, (styles) => {
1134 - id ?? (id = (0, _elementor_editor_styles.generateId)(`e-${elementId}-`, Object.keys(styles)));
1135 - const variants = [{
1136 - meta,
1137 - props,
1138 - custom_css: customCss
1139 - }, ...additionalVariants];
1140 - styles[id] = {
1141 - id,
1142 - label,
1143 - type: "class",
1144 - variants
1145 - };
1146 - addStyleToClassesProp(elementId, classesProp, id);
1147 - return styles;
1148 - });
1149 - return id;
1150 - }
1151 - function addStyleToClassesProp(elementId, classesProp, styleId) {
1152 - const base = getElementSetting(elementId, classesProp);
1153 - const classesPropValue = _elementor_editor_props.classesPropTypeUtil.create((prev) => {
1154 - return [...prev ?? [], styleId];
1155 - }, { base });
1156 - updateElementSettings({
1157 - id: elementId,
1158 - props: { [classesProp]: classesPropValue },
1159 - withHistory: false
1160 - });
1161 - }
1162 - function shouldCreateNewLocalStyle(payload) {
1163 - return !payload?.styleId && !payload?.provider;
1164 - }
1165 -
1166 -//#endregion
1167 -//#region packages/packages/libs/editor-elements/src/styles/delete-element-style.ts
1168 - function deleteElementStyle(elementId, styleId) {
1169 - mutateElementStyles(elementId, (styles) => {
1170 - delete styles[styleId];
1171 - return styles;
1172 - });
1173 - }
1174 -
1175 -//#endregion
1176 -//#region packages/packages/libs/editor-elements/src/styles/update-element-style.ts
1177 - function updateElementStyle(args) {
1178 - mutateElementStyles(args.elementId, (styles) => {
1179 - const style = styles[args.styleId];
1180 - if (!style) throw new StyleNotFoundError({ context: { styleId: args.styleId } });
1181 - const variant = (0, _elementor_editor_styles.getVariantByMeta)(style, args.meta);
1182 - const customCss = ("custom_css" in args ? args.custom_css : variant?.custom_css) ?? null;
1183 - if (variant) {
1184 - variant.props = (0, _elementor_editor_props.mergeProps)(variant.props, args.props);
1185 - variant.custom_css = customCss?.raw ? customCss : null;
1186 - } else style.variants.push({
1187 - meta: args.meta,
1188 - props: args.props,
1189 - custom_css: customCss
1190 - });
1191 - return styles;
1192 - });
1193 - }
1194 -
1195 -//#endregion
1196 -//#region packages/packages/libs/editor-elements/src/sync/get-element-interactions.ts
1197 - function getElementInteractions(elementId) {
1198 - const interactions = getContainer(elementId)?.model?.get("interactions");
1199 - if (typeof interactions === "string") return JSON.parse(interactions);
1200 - return interactions;
1201 - }
1202 -
1203 -//#endregion
1204 -//#region packages/packages/libs/editor-elements/src/utils/get-default-style-tag-from-preview.ts
1205 - var DEFAULT_STYLE_CLASS_PREFIX = "e-default-";
1206 - function parseDefaultStyleTagFromClassList(classList) {
1207 - for (const className of classList) if (className.startsWith("e-default-")) return className.slice(10);
1208 - return null;
1209 - }
1210 - function getDefaultStyleTagFromPreviewElement(elementId) {
1211 - const renderRoot = getAtomicElementRenderRoot(elementId);
1212 - if (!renderRoot) return null;
1213 - return parseDefaultStyleTagFromClassList(renderRoot.classList);
1214 - }
1215 - function getAtomicElementRenderRoot(elementId) {
1216 - const view = getContainerView(elementId);
1217 - if (view?.getDomElement) {
1218 - const domElement = view.getDomElement().get?.(0);
1219 - if (domElement) return domElement;
1220 - }
1221 - const wrapper = view?.el ?? getPreviewElementDOM(elementId);
1222 - if (!wrapper) return null;
1223 - if (wrapper.hasAttribute("data-id")) return wrapper;
1224 - const firstChild = wrapper.firstElementChild;
1225 - if (firstChild instanceof HTMLElement) return firstChild;
1226 - return wrapper;
1227 - }
1228 - function getContainerView(elementId) {
1229 - return getContainer(elementId)?.view ?? null;
1230 - }
1231 -
1232 -//#endregion
1233 -//#region packages/packages/libs/editor-elements/src/sync/update-element-interactions.ts
1234 - var updateElementInteractions = ({ elementId, interactions }) => {
1235 - const element = getContainer(elementId);
1236 - if (!element) throw new Error(`Element with id ${elementId} not found`);
1237 - element.model.set("interactions", interactions);
1238 - window.dispatchEvent(new CustomEvent("elementor/element/update_interactions"));
1239 - (0, _elementor_editor_v1_adapters.__privateRunCommandSync)("document/save/set-is-modified", { status: true }, { internal: true });
1240 - };
1241 - var playElementInteractions = (elementId, interactionId) => {
1242 - window.top?.dispatchEvent(new CustomEvent("atomic/play_interactions", { detail: {
1243 - elementId,
1244 - interactionId
1245 - } }));
1246 - };
1247 -
1248 -//#endregion
1249 -//#region packages/packages/libs/editor-elements/src/index.ts
1250 - var src_exports = /* @__PURE__ */ __exportAll({
1251 - DEFAULT_STYLE_CLASS_PREFIX: () => DEFAULT_STYLE_CLASS_PREFIX,
1252 - ELEMENT_STYLE_CHANGE_EVENT: () => ELEMENT_STYLE_CHANGE_EVENT,
1253 - addModelToParent: () => addModelToParent,
1254 - bindSettingsReconcile: () => bindSettingsReconcile,
1255 - createElement: () => createElement,
1256 - createElementStyle: () => createElementStyle,
1257 - createElements: () => createElements,
1258 - deleteElement: () => deleteElement,
1259 - deleteElementStyle: () => deleteElementStyle,
1260 - dropElement: () => dropElement,
1261 - duplicateElement: () => duplicateElement,
1262 - duplicateElements: () => duplicateElements,
1263 - evaluateWhen: () => evaluateWhen,
1264 - findChildRecursive: () => findChildRecursive,
1265 - findModelInDocument: () => findModelInDocument,
1266 - generateElementId: () => generateElementId,
1267 - getAllDescendants: () => getAllDescendants,
1268 - getAnchoredAncestorId: () => getAnchoredAncestorId,
1269 - getAnchoredDescendantId: () => getAnchoredDescendantId,
1270 - getContainer: () => getContainer,
1271 - getCurrentDocumentContainer: () => getCurrentDocumentContainer,
1272 - getCurrentDocumentId: () => getCurrentDocumentId,
1273 - getDefaultStyleTagFromPreviewElement: () => getDefaultStyleTagFromPreviewElement,
1274 - getElementChildrenWithFallback: () => getElementChildren,
1275 - getElementEditorSettings: () => getElementEditorSettings,
1276 - getElementIcon: () => getElementIcon,
1277 - getElementInteractions: () => getElementInteractions,
1278 - getElementLabel: () => getElementLabel,
1279 - getElementSetting: () => getElementSetting,
1280 - getElementSettings: () => getElementSettings,
1281 - getElementStyles: () => getElementStyles,
1282 - getElementTitle: () => getElementTitle,
1283 - getElementType: () => getElementType,
1284 - getElements: () => getElements,
1285 - getLinkInLinkRestriction: () => getLinkInLinkRestriction,
1286 - getPreviewElementDOM: () => getPreviewElementDOM,
1287 - getSelectedElements: () => getSelectedElements,
1288 - getWidgetsCache: () => getWidgetsCache,
1289 - isElementAnchored: () => isElementAnchored,
1290 - moveElement: () => moveElement,
1291 - moveElements: () => moveElements,
1292 - parseDefaultStyleTagFromClassList: () => parseDefaultStyleTagFromClassList,
1293 - playElementInteractions: () => playElementInteractions,
1294 - reconcileInitialChildren: () => reconcileInitialChildren,
1295 - removeElements: () => removeElements,
1296 - removeModelFromParent: () => removeModelFromParent,
1297 - replaceElement: () => replaceElement,
1298 - resolveContainer: () => resolveContainer,
1299 - resolveInsertIndex: () => resolveInsertIndex,
1300 - selectElement: () => selectElement,
1301 - shouldCreateNewLocalStyle: () => shouldCreateNewLocalStyle,
1302 - styleRerenderEvents: () => styleRerenderEvents,
1303 - updateElementEditorSettings: () => updateElementEditorSettings,
1304 - updateElementInteractions: () => updateElementInteractions,
1305 - updateElementSettings: () => updateElementSettings,
1306 - updateElementStyle: () => updateElementStyle,
1307 - useElementChildren: () => useElementChildren,
1308 - useElementEditorSettings: () => useElementEditorSettings,
1309 - useParentElement: () => useParentElement,
1310 - useSelectedElement: () => useSelectedElement,
1311 - useSelectedElementSettings: () => useSelectedElementSettings
1312 - });
1313 -
1314 -//#endregion
1315 -//#region \0elementor-package-library-entry
1316 - (window.elementorV2 = window.elementorV2 || {}).editorElements = src_exports;
1317 -
1318 -//#endregion
1319 -})(elementorV2.editorV1Adapters, elementorV2.session, elementorV2.editorProps, wp.i18n, elementorV2.utils, elementorV2.editorStyles);
1320 -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,{ElementLabelNotExistsError:function(){return l},ElementNotFoundError:function(){return r},ElementTypeNotExistsError:function(){return o},StyleNotFoundError:function(){return c}});var s=n("@elementor/utils");const r=(0,s.createError)({code:"element_not_found",message:"Element not found."}),c=(0,s.createError)({code:"style_not_found",message:"Style not found."}),o=(0,s.createError)({code:"element_type_not_exists",message:"Element type does not exist."}),l=(0,s.createError)({code:"element_label_not_exists",message:"Element label does not exist."})},"./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])},"./packages/packages/libs/editor-elements/src/hooks/use-element-type.ts":function(e,t,n){n.r(t),n.d(t,{useElementType:function(){return useElementType}});var s=n("@elementor/editor-v1-adapters"),r=n("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");function useElementType(e){return(0,s.__privateUseListenTo)((0,s.commandEndEvent)("editor/documents/load"),()=>{if(!e)return null;const t=(0,r.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}:null},[e])}},"./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-selected-elements.ts"),c=n("./packages/packages/libs/editor-elements/src/hooks/use-element-type.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")],r.getSelectedElements),[t]=e,n=(0,c.useElementType)(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/styles/consts.ts":function(e,t,n){n.r(t),n.d(t,{ELEMENT_STYLE_CHANGE_EVENT:function(){return r},styleRerenderEvents:function(){return c}});var s=n("@elementor/editor-v1-adapters");const r="elementor/editor-v2/editor-elements/style",c=[(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}});var s=n("@elementor/editor-props"),r=n("@elementor/editor-styles"),c=n("./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts"),l=n("./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");function createElementStyle({styleId:e,elementId:t,classesProp:n,label:a,meta:i,props:u,additionalVariants:m=[]}){let d=e;return(0,l.mutateElementStyles)(t,e=>{d??=(0,r.generateId)(`e-${t}-`,Object.keys(e));const l=[{meta:i,props:u},...m];return e[d]={id:d,label:a,type:"class",variants:l},function addStyleToClassesProp(e,t,n){const r=(0,c.getElementSetting)(e,t),l=s.classesPropTypeUtil.create(e=>[...e??[],n],{base:r});(0,o.updateElementSettings)({id:e,props:{[t]:l},withHistory:!1})}(t,n,d),e}),d}},"./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"),c=n("./packages/packages/libs/editor-elements/src/errors.ts"),o=n("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),l=n("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts"),a=n("./packages/packages/libs/editor-elements/src/styles/consts.ts");function mutateElementStyles(e,t){const n=(0,o.getContainer)(e);if(!n)throw new c.ElementNotFoundError({context:{elementId:e}});const i=Object.keys(n.model.get("styles")??{}),u=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})=>Object.keys(e).length>0)}(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)),c=structuredClone(function getClassesProps(e){return Object.entries(e.settings.toJSON()).filter(e=>{const[,t]=e;return s.classesPropTypeUtil.isValid(t)})}(e));c.forEach(([,e])=>{e.value=e.value.filter(e=>!r.includes(e))}),(0,l.updateElementSettings)({id:e.id,props:Object.fromEntries(c),withHistory:!1})}(n,{oldIds:i,newIds:Object.keys(u)}),function notifyChanges(){(function dispatchChangeEvent(){window.dispatchEvent(new CustomEvent(a.ELEMENT_STYLE_CHANGE_EVENT))})(),(0,r.__privateRunCommandSync)("document/save/set-is-modified",{status:!0},{internal:!0})}(),u}},"./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"),c=n("./packages/packages/libs/editor-elements/src/errors.ts"),o=n("./packages/packages/libs/editor-elements/src/styles/mutate-element-styles.ts");function updateElementStyle(e){(0,o.mutateElementStyles)(e.elementId,t=>{const n=t[e.styleId];if(!n)throw new c.StyleNotFoundError({context:{styleId:e.styleId}});const o=(0,r.getVariantByMeta)(n,e.meta);return o?o.props=(0,s.mergeProps)(o.props,e.props):n.variants.push({meta:e.meta,props:e.props}),t})}},"./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,{default: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-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"),c=n("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts");function getElementLabel(e){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,c.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-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.default)();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/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 c={container:(0,r.getContainer)(e),settings:{...t}};n?(0,s.__privateRunCommandSync)("document/elements/settings",c):(0,s.__privateRunCommandSync)("document/elements/set-settings",c,{internal:!0})}},"./packages/packages/libs/editor-elements/src/types.ts":function(e,t,n){n.r(t)},"@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/utils":function(e){e.exports=window.elementorV2.utils}},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 p.ELEMENT_STYLE_CHANGE_EVENT},createElementStyle:function(){return _.createElementStyle},deleteElementStyle:function(){return k.deleteElementStyle},getAnchoredAncestorId:function(){return f.getAnchoredAncestorId},getAnchoredDescendantId:function(){return f.getAnchoredDescendantId},getContainer:function(){return c.getContainer},getCurrentDocumentId:function(){return u.getCurrentDocumentId},getElementLabel:function(){return a.getElementLabel},getElementSetting:function(){return o.getElementSetting},getElementSettings:function(){return o.getElementSettings},getElementStyles:function(){return l.getElementStyles},getElements:function(){return i.getElements},getLinkInLinkRestriction:function(){return f.getLinkInLinkRestriction},getSelectedElements:function(){return m.getSelectedElements},getWidgetsCache:function(){return d.getWidgetsCache},isElementAnchored:function(){return f.isElementAnchored},selectElement:function(){return c.selectElement},styleRerenderEvents:function(){return p.styleRerenderEvents},updateElementSettings:function(){return g.updateElementSettings},updateElementStyle:function(){return E.updateElementStyle},useElementSetting:function(){return e.useElementSetting},useElementSettings:function(){return e.useElementSettings},useElementType:function(){return t.useElementType},useParentElement:function(){return r.useParentElement},useSelectedElement:function(){return s.useSelectedElement}});__webpack_require__("./packages/packages/libs/editor-elements/src/types.ts");var e=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-element-setting.ts"),t=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-element-type.ts"),s=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-selected-element.ts"),r=__webpack_require__("./packages/packages/libs/editor-elements/src/hooks/use-parent-element.ts"),c=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-container.ts"),o=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-setting.ts"),l=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-styles.ts"),a=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-element-label.ts"),i=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-elements.ts"),u=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-current-document-id.ts"),m=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-selected-elements.ts"),d=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/get-widgets-cache.ts"),g=__webpack_require__("./packages/packages/libs/editor-elements/src/sync/update-element-settings.ts"),p=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/consts.ts"),_=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/create-element-style.ts"),E=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/update-element-style.ts"),k=__webpack_require__("./packages/packages/libs/editor-elements/src/styles/delete-element-style.ts"),f=__webpack_require__("./packages/packages/libs/editor-elements/src/link-restriction.ts")}(),(window.elementorV2=window.elementorV2||{}).editorElements=n}(),window.elementorV2.editorElements?.init?.();
1321 3 //# sourceMappingURL=editor-elements.js.map