@ivanholiak/easy-email-extensions 4.16.29 → 4.16.31
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/lib/index2.js +1 -44
- package/lib/index2.js.map +1 -1
- package/package.json +1 -1
package/lib/index2.js
CHANGED
|
@@ -52,7 +52,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
52
52
|
};
|
|
53
53
|
import * as React$1 from "react";
|
|
54
54
|
import React__default, { createContext, useContext, isValidElement, Children, cloneElement, Component, useRef, useMemo, memo, forwardRef, createRef, useState, useImperativeHandle, useEffect, useLayoutEffect, useCallback, PureComponent, useReducer, Fragment, Suspense } from "react";
|
|
55
|
-
import { IconFont, useEditorProps, Stack as Stack$4, useRefState, getShadowRoot, DATA_CONTENT_EDITABLE_TYPE, ContentEditableType,
|
|
55
|
+
import { IconFont, useEditorProps, Stack as Stack$4, useRefState, getShadowRoot, DATA_CONTENT_EDITABLE_TYPE, ContentEditableType, TextStyle, useEditorContext, useBlock, useFocusIdx, DATA_CONTENT_EDITABLE_IDX, useFocusBlockLayout, MergeTagBadge, AvailableTools, FIXED_CONTAINER_ID, getPluginElement, RICH_TEXT_BAR_ID, CONTENT_EDITABLE_CLASS_NAME, getEditorRoot, scrollBlockEleIntoView, useHoverIdx, useDataTransfer, getBlockNodeByChildEle, getDirectionPosition, DATA_ATTRIBUTE_DROP_CONTAINER, BlockAvatarWrapper, isTextBlock, getBlockNodeByIdx, useLazyState, useActiveTab, ActiveTabKeys } from "@ivanholiak/easy-email-editor";
|
|
56
56
|
import { BasicType, ImageManager, EMAIL_BLOCK_CLASS_NAME, BlockManager, createBlockDataByType, AdvancedType, Operator, OperatorSymbol, isAdvancedBlock, getParentByIdx, getParentIdx, getIndexByIdx, getSiblingIdx, getNodeIdxFromClassName, getNodeIdxClassName, getPageIdx, getChildIdx, JsonToMjml, getNodeTypeFromClassName } from "@ivanholiak/easy-email-core";
|
|
57
57
|
import ReactDOM$1, { createPortal } from "react-dom";
|
|
58
58
|
import { Field, useForm as useForm$1, useField, Form as Form$3, version as version$2, useFormState as useFormState$2 } from "react-final-form";
|
|
@@ -36009,54 +36009,11 @@ function InlineText({ idx, onChange, children }) {
|
|
|
36009
36009
|
}
|
|
36010
36010
|
}
|
|
36011
36011
|
};
|
|
36012
|
-
const onDrop = (e2) => {
|
|
36013
|
-
var _a2, _b2, _c;
|
|
36014
|
-
const target2 = e2.target;
|
|
36015
|
-
if (!target2 || !target2.getAttribute("contenteditable"))
|
|
36016
|
-
return;
|
|
36017
|
-
const mergeTagText = ((_a2 = e2.dataTransfer) == null ? void 0 : _a2.getData("text/merge-tag")) || ((_b2 = e2.dataTransfer) == null ? void 0 : _b2.getData("text/plain"));
|
|
36018
|
-
if (mergeTagText && (mergeTagText.startsWith("{{") || mergeTagText.includes("{{"))) {
|
|
36019
|
-
e2.preventDefault();
|
|
36020
|
-
e2.stopPropagation();
|
|
36021
|
-
const contentEditableType = target2.getAttribute(DATA_CONTENT_EDITABLE_TYPE);
|
|
36022
|
-
let insertText = mergeTagText;
|
|
36023
|
-
if (enabledMergeTagsBadge && mergeTagGenerate) {
|
|
36024
|
-
const match = mergeTagText.match(/{{([^}]+)}}/);
|
|
36025
|
-
if (match && match[1]) {
|
|
36026
|
-
const mergeTagKey = match[1].trim();
|
|
36027
|
-
const generatedTag = mergeTagGenerate(mergeTagKey);
|
|
36028
|
-
insertText = MergeTagBadge.transform(generatedTag);
|
|
36029
|
-
} else {
|
|
36030
|
-
insertText = MergeTagBadge.transform(mergeTagText);
|
|
36031
|
-
}
|
|
36032
|
-
}
|
|
36033
|
-
document.execCommand("insertHTML", false, insertText);
|
|
36034
|
-
if (contentEditableType === ContentEditableType.RichText) {
|
|
36035
|
-
onChange(target2.innerHTML || "");
|
|
36036
|
-
} else if (contentEditableType === ContentEditableType.Text) {
|
|
36037
|
-
onChange(((_c = target2.textContent) == null ? void 0 : _c.trim()) || "");
|
|
36038
|
-
}
|
|
36039
|
-
}
|
|
36040
|
-
};
|
|
36041
|
-
const onDragOver = (e2) => {
|
|
36042
|
-
var _a2;
|
|
36043
|
-
const target2 = e2.target;
|
|
36044
|
-
if (target2 && target2.getAttribute("contenteditable")) {
|
|
36045
|
-
if ((_a2 = e2.dataTransfer) == null ? void 0 : _a2.types.includes("text/merge-tag")) {
|
|
36046
|
-
e2.preventDefault();
|
|
36047
|
-
e2.dataTransfer.dropEffect = "copy";
|
|
36048
|
-
}
|
|
36049
|
-
}
|
|
36050
|
-
};
|
|
36051
36012
|
shadowRoot.addEventListener("paste", onPaste, true);
|
|
36052
36013
|
shadowRoot.addEventListener("input", onInput);
|
|
36053
|
-
shadowRoot.addEventListener("drop", onDrop, true);
|
|
36054
|
-
shadowRoot.addEventListener("dragover", onDragOver, true);
|
|
36055
36014
|
return () => {
|
|
36056
36015
|
shadowRoot.removeEventListener("paste", onPaste, true);
|
|
36057
36016
|
shadowRoot.removeEventListener("input", onInput);
|
|
36058
|
-
shadowRoot.removeEventListener("drop", onDrop, true);
|
|
36059
|
-
shadowRoot.removeEventListener("dragover", onDragOver, true);
|
|
36060
36017
|
};
|
|
36061
36018
|
}, [onChange, setFieldTouched, enabledMergeTagsBadge, mergeTagGenerate]);
|
|
36062
36019
|
return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, children);
|