@elementor/editor-elements 4.3.0-1041 → 4.3.0-1042
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +7 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +71 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +67 -16
- package/dist/index.mjs.map +1 -1
- package/package.json +8 -8
- package/src/index.ts +6 -0
- package/src/link-restriction.ts +2 -28
- package/src/sync/get-preview-element-dom.ts +32 -0
- package/src/utils/get-default-style-tag-from-preview.ts +59 -0
package/dist/index.mjs
CHANGED
|
@@ -687,6 +687,26 @@ var duplicateElements = ({
|
|
|
687
687
|
return undoableDuplicate({ elementIds });
|
|
688
688
|
};
|
|
689
689
|
|
|
690
|
+
// src/sync/get-preview-element-dom.ts
|
|
691
|
+
function getPreviewElementDOM(id) {
|
|
692
|
+
try {
|
|
693
|
+
const fromContainer = getContainer(id)?.view?.el;
|
|
694
|
+
if (fromContainer) {
|
|
695
|
+
return fromContainer;
|
|
696
|
+
}
|
|
697
|
+
return queryPreviewDOMByElementId(id);
|
|
698
|
+
} catch {
|
|
699
|
+
return null;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
function queryPreviewDOMByElementId(id) {
|
|
703
|
+
const previewDocument = window.elementor?.getPreviewContainer?.()?.view?.el?.ownerDocument;
|
|
704
|
+
if (!previewDocument) {
|
|
705
|
+
return null;
|
|
706
|
+
}
|
|
707
|
+
return previewDocument.querySelector(`[data-id="${id}"]`);
|
|
708
|
+
}
|
|
709
|
+
|
|
690
710
|
// src/sync/get-current-document-container.ts
|
|
691
711
|
function getCurrentDocumentContainer() {
|
|
692
712
|
const extendedWindow = window;
|
|
@@ -1208,22 +1228,7 @@ function checkForInlineLink(elementId, resolvedValue) {
|
|
|
1208
1228
|
return element.querySelector(ANCHOR_SELECTOR) !== null;
|
|
1209
1229
|
}
|
|
1210
1230
|
function getElementDOM(id) {
|
|
1211
|
-
|
|
1212
|
-
const fromContainer = getContainer(id)?.view?.el;
|
|
1213
|
-
if (fromContainer) {
|
|
1214
|
-
return fromContainer;
|
|
1215
|
-
}
|
|
1216
|
-
return queryPreviewDOMByElementId(id);
|
|
1217
|
-
} catch {
|
|
1218
|
-
return null;
|
|
1219
|
-
}
|
|
1220
|
-
}
|
|
1221
|
-
function queryPreviewDOMByElementId(id) {
|
|
1222
|
-
const previewDocument = window.elementor?.getPreviewContainer?.()?.view?.el?.ownerDocument;
|
|
1223
|
-
if (!previewDocument) {
|
|
1224
|
-
return null;
|
|
1225
|
-
}
|
|
1226
|
-
return previewDocument.querySelector(`[data-id="${id}"]`);
|
|
1231
|
+
return getPreviewElementDOM(id);
|
|
1227
1232
|
}
|
|
1228
1233
|
function isElementorElement(element) {
|
|
1229
1234
|
return element.hasAttribute("data-id");
|
|
@@ -1395,6 +1400,48 @@ function getElementInteractions(elementId) {
|
|
|
1395
1400
|
return interactions;
|
|
1396
1401
|
}
|
|
1397
1402
|
|
|
1403
|
+
// src/utils/get-default-style-tag-from-preview.ts
|
|
1404
|
+
var DEFAULT_STYLE_CLASS_PREFIX = "e-default-";
|
|
1405
|
+
function parseDefaultStyleTagFromClassList(classList) {
|
|
1406
|
+
for (const className of classList) {
|
|
1407
|
+
if (className.startsWith(DEFAULT_STYLE_CLASS_PREFIX)) {
|
|
1408
|
+
return className.slice(DEFAULT_STYLE_CLASS_PREFIX.length);
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
return null;
|
|
1412
|
+
}
|
|
1413
|
+
function getDefaultStyleTagFromPreviewElement(elementId) {
|
|
1414
|
+
const renderRoot = getAtomicElementRenderRoot(elementId);
|
|
1415
|
+
if (!renderRoot) {
|
|
1416
|
+
return null;
|
|
1417
|
+
}
|
|
1418
|
+
return parseDefaultStyleTagFromClassList(renderRoot.classList);
|
|
1419
|
+
}
|
|
1420
|
+
function getAtomicElementRenderRoot(elementId) {
|
|
1421
|
+
const view = getContainerView(elementId);
|
|
1422
|
+
if (view?.getDomElement) {
|
|
1423
|
+
const domElement = view.getDomElement().get?.(0);
|
|
1424
|
+
if (domElement) {
|
|
1425
|
+
return domElement;
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
const wrapper = view?.el ?? getPreviewElementDOM(elementId);
|
|
1429
|
+
if (!wrapper) {
|
|
1430
|
+
return null;
|
|
1431
|
+
}
|
|
1432
|
+
if (wrapper.hasAttribute("data-id")) {
|
|
1433
|
+
return wrapper;
|
|
1434
|
+
}
|
|
1435
|
+
const firstChild = wrapper.firstElementChild;
|
|
1436
|
+
if (firstChild instanceof HTMLElement) {
|
|
1437
|
+
return firstChild;
|
|
1438
|
+
}
|
|
1439
|
+
return wrapper;
|
|
1440
|
+
}
|
|
1441
|
+
function getContainerView(elementId) {
|
|
1442
|
+
return getContainer(elementId)?.view ?? null;
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1398
1445
|
// src/sync/update-element-interactions.ts
|
|
1399
1446
|
import { __privateRunCommandSync as runCommandSync8 } from "@elementor/editor-v1-adapters";
|
|
1400
1447
|
var updateElementInteractions = ({
|
|
@@ -1415,6 +1462,7 @@ var playElementInteractions = (elementId, interactionId) => {
|
|
|
1415
1462
|
);
|
|
1416
1463
|
};
|
|
1417
1464
|
export {
|
|
1465
|
+
DEFAULT_STYLE_CLASS_PREFIX,
|
|
1418
1466
|
ELEMENT_STYLE_CHANGE_EVENT,
|
|
1419
1467
|
addModelToParent,
|
|
1420
1468
|
bindSettingsReconcile,
|
|
@@ -1436,6 +1484,7 @@ export {
|
|
|
1436
1484
|
getContainer,
|
|
1437
1485
|
getCurrentDocumentContainer,
|
|
1438
1486
|
getCurrentDocumentId,
|
|
1487
|
+
getDefaultStyleTagFromPreviewElement,
|
|
1439
1488
|
getElementChildren as getElementChildrenWithFallback,
|
|
1440
1489
|
getElementEditorSettings,
|
|
1441
1490
|
getElementIcon,
|
|
@@ -1448,11 +1497,13 @@ export {
|
|
|
1448
1497
|
getElementType,
|
|
1449
1498
|
getElements,
|
|
1450
1499
|
getLinkInLinkRestriction,
|
|
1500
|
+
getPreviewElementDOM,
|
|
1451
1501
|
getSelectedElements,
|
|
1452
1502
|
getWidgetsCache,
|
|
1453
1503
|
isElementAnchored,
|
|
1454
1504
|
moveElement,
|
|
1455
1505
|
moveElements,
|
|
1506
|
+
parseDefaultStyleTagFromClassList,
|
|
1456
1507
|
playElementInteractions,
|
|
1457
1508
|
reconcileInitialChildren,
|
|
1458
1509
|
removeElements,
|