@chayns-components/emoji-input 5.0.0-beta.181 → 5.0.0-beta.183
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/utils/selection.js +35 -16
- package/lib/utils/selection.js.map +1 -1
- package/lib/utils/text.d.ts +1 -0
- package/lib/utils/text.js +11 -1
- package/lib/utils/text.js.map +1 -1
- package/package.json +3 -3
package/lib/utils/selection.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.setChildIndex = exports.saveSelection = exports.restoreSelection = exports.moveSelectionOffset = exports.getCharCodeThatWillBeDeleted = void 0;
|
|
7
|
+
var _text = require("./text");
|
|
7
8
|
let childIndex = -1;
|
|
8
9
|
let endOffset = -1;
|
|
9
10
|
let startOffset = -1;
|
|
@@ -44,15 +45,15 @@ const restoreSelection = element => {
|
|
|
44
45
|
return;
|
|
45
46
|
}
|
|
46
47
|
if (typeof childNode.nodeValue !== 'string') {
|
|
48
|
+
const elementTextLength = (0, _text.getElementTextLength)(childNode);
|
|
47
49
|
if (childNode.nextSibling) {
|
|
48
50
|
childNode = childNode.nextSibling;
|
|
49
51
|
if (childNode.nodeType === Node.TEXT_NODE && childNode.nodeValue) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
startOffset = 0;
|
|
52
|
+
endOffset -= elementTextLength;
|
|
53
|
+
startOffset -= elementTextLength;
|
|
54
|
+
if (childNode.nodeValue.charCodeAt(endOffset) === 8203) {
|
|
55
|
+
endOffset += 1;
|
|
56
|
+
startOffset += 1;
|
|
56
57
|
}
|
|
57
58
|
} else {
|
|
58
59
|
var _childNode$parentNode;
|
|
@@ -72,17 +73,35 @@ const restoreSelection = element => {
|
|
|
72
73
|
}
|
|
73
74
|
} else if (childNode.nodeValue && endOffset > childNode.nodeValue.length) {
|
|
74
75
|
if (childNode.nextSibling) {
|
|
76
|
+
let elementTextLength = childNode.nodeValue.length;
|
|
75
77
|
childNode = childNode.nextSibling;
|
|
76
|
-
if (childNode.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
78
|
+
if (typeof childNode.nodeValue !== 'string') {
|
|
79
|
+
elementTextLength += (0, _text.getElementTextLength)(childNode);
|
|
80
|
+
if (childNode.nextSibling) {
|
|
81
|
+
childNode = childNode.nextSibling;
|
|
82
|
+
if (childNode.nodeType === Node.TEXT_NODE && childNode.nodeValue) {
|
|
83
|
+
endOffset -= elementTextLength;
|
|
84
|
+
startOffset -= elementTextLength;
|
|
85
|
+
if (childNode.nodeValue.charCodeAt(endOffset) === 8203) {
|
|
86
|
+
endOffset += 1;
|
|
87
|
+
startOffset += 1;
|
|
88
|
+
}
|
|
89
|
+
} else {
|
|
90
|
+
var _childNode$parentNode3;
|
|
91
|
+
const textNode = document.createTextNode('\u200B');
|
|
92
|
+
(_childNode$parentNode3 = childNode.parentNode) === null || _childNode$parentNode3 === void 0 ? void 0 : _childNode$parentNode3.insertBefore(textNode, childNode.nextSibling);
|
|
93
|
+
childNode = textNode;
|
|
94
|
+
endOffset = textNode.length;
|
|
95
|
+
startOffset = textNode.length;
|
|
96
|
+
}
|
|
97
|
+
} else {
|
|
98
|
+
var _childNode$parentNode4;
|
|
99
|
+
const textNode = document.createTextNode('\u200B');
|
|
100
|
+
(_childNode$parentNode4 = childNode.parentNode) === null || _childNode$parentNode4 === void 0 ? void 0 : _childNode$parentNode4.insertBefore(textNode, childNode.nextSibling);
|
|
101
|
+
childNode = textNode;
|
|
102
|
+
endOffset = textNode.length;
|
|
103
|
+
startOffset = textNode.length;
|
|
104
|
+
}
|
|
86
105
|
}
|
|
87
106
|
} else {
|
|
88
107
|
endOffset = childNode.nodeValue.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.js","names":["childIndex","endOffset","startOffset","saveSelection","element","shouldIgnoreEmptyTextNodes","arguments","length","undefined","selection","window","getSelection","anchorNode","range","getRangeAt","childNodesArray","Array","from","childNodes","filter","_ref","nodeType","nodeValue","Node","TEXT_NODE","indexOf","exports","restoreSelection","childNode","nextSibling","charCodeAt","_childNode$parentNode","textNode","document","createTextNode","parentNode","insertBefore","_childNode$parentNode2","_childNode$parentNode3","createRange","setStart","setEnd","removeAllRanges","addRange","collapse","moveSelectionOffset","distance","setChildIndex","index","getCharCodeThatWillBeDeleted","event","_window$getSelection","_nodeValue$length","_nextSibling$nodeValu","key","_previousSibling$node","previousSibling","startContainer","endContainer"],"sources":["../../src/utils/selection.ts"],"sourcesContent":["import type { KeyboardEvent } from 'react';\n\nlet childIndex = -1;\nlet endOffset = -1;\nlet startOffset = -1;\n\ninterface SaveSelectionOptions {\n shouldIgnoreEmptyTextNodes?: boolean;\n}\n\nexport const saveSelection = (\n element: HTMLDivElement,\n { shouldIgnoreEmptyTextNodes }: SaveSelectionOptions = {}\n) => {\n const selection = window.getSelection();\n\n if (!selection) {\n return;\n }\n\n const { anchorNode } = selection;\n\n if (!anchorNode) {\n return;\n }\n\n const range = selection.getRangeAt(0);\n\n let childNodesArray = Array.from(element.childNodes);\n\n if (shouldIgnoreEmptyTextNodes) {\n childNodesArray = childNodesArray.filter(\n ({ nodeType, nodeValue }) =>\n nodeType !== Node.TEXT_NODE || (nodeValue !== '' && nodeValue !== '\\u200B')\n );\n }\n\n childIndex = childNodesArray.indexOf(anchorNode as ChildNode);\n\n endOffset = range.endOffset;\n startOffset = range.startOffset;\n};\n\nexport const restoreSelection = (element: HTMLDivElement) => {\n let childNode = element.childNodes[childIndex];\n\n const selection = window.getSelection();\n\n if (!childNode || !element || !selection) {\n return;\n }\n\n if (typeof childNode.nodeValue !== 'string') {\n if (childNode.nextSibling) {\n childNode = childNode.nextSibling;\n\n if (childNode.nodeType === Node.TEXT_NODE && childNode.nodeValue) {\n if (childNode.nodeValue.charCodeAt(0) === 8203) {\n endOffset = 1;\n startOffset = 1;\n } else {\n endOffset = 0;\n startOffset = 0;\n }\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n } else if (childNode.nodeValue && endOffset > childNode.nodeValue.length) {\n if (childNode.nextSibling) {\n childNode = childNode.nextSibling;\n\n if (childNode.nodeType === Node.TEXT_NODE && childNode.nodeValue) {\n endOffset = childNode.nodeValue.length;\n startOffset = childNode.nodeValue.length;\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n } else {\n endOffset = childNode.nodeValue.length;\n startOffset = childNode.nodeValue.length;\n }\n }\n\n const range = document.createRange();\n\n range.setStart(childNode, startOffset);\n range.setEnd(childNode, endOffset);\n\n selection.removeAllRanges();\n selection.addRange(range);\n\n range.collapse(true);\n};\n\nexport const moveSelectionOffset = (distance: number) => {\n endOffset += distance;\n startOffset += distance;\n};\n\nexport const setChildIndex = (index: number) => {\n childIndex = index;\n};\n\n/**\n * This function returns the code of the character that will be removed by the KeyDown event in the\n * next step, if the \"Backspace\" or \"Delete\" key was pressed and there is no selection of multiple\n * characters.\n *\n * @param event - Keyboard event from \"onKeyDown\"\n */\nexport const getCharCodeThatWillBeDeleted = (event: KeyboardEvent<HTMLDivElement>) => {\n const range = window.getSelection()?.getRangeAt(0);\n\n /**\n * At this point the function is aborted if there is no selection range, several characters have\n * been selected and therefore no single letter is removed or neither the \"Backspace\" nor the\n * \"Delete\" key has been pressed.\n */\n if (\n !range ||\n range.endOffset !== range.startOffset ||\n (event.key !== 'Backspace' && event.key !== 'Delete')\n ) {\n return null;\n }\n\n if (event.key === 'Backspace') {\n const { nodeValue, previousSibling } = range.startContainer;\n\n if (range.startOffset > 0) {\n return nodeValue?.charCodeAt(range.startOffset - 1);\n }\n\n return previousSibling?.nodeValue?.charCodeAt(previousSibling.nodeValue.length - 1);\n }\n\n const { nextSibling, nodeValue } = range.endContainer;\n\n if (range.endOffset < (nodeValue?.length ?? 0)) {\n return nodeValue?.charCodeAt(range.endOffset);\n }\n\n return nextSibling?.nodeValue?.charCodeAt(0);\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selection.js","names":["_text","require","childIndex","endOffset","startOffset","saveSelection","element","shouldIgnoreEmptyTextNodes","arguments","length","undefined","selection","window","getSelection","anchorNode","range","getRangeAt","childNodesArray","Array","from","childNodes","filter","_ref","nodeType","nodeValue","Node","TEXT_NODE","indexOf","exports","restoreSelection","childNode","elementTextLength","getElementTextLength","nextSibling","charCodeAt","_childNode$parentNode","textNode","document","createTextNode","parentNode","insertBefore","_childNode$parentNode2","_childNode$parentNode3","_childNode$parentNode4","createRange","setStart","setEnd","removeAllRanges","addRange","collapse","moveSelectionOffset","distance","setChildIndex","index","getCharCodeThatWillBeDeleted","event","_window$getSelection","_nodeValue$length","_nextSibling$nodeValu","key","_previousSibling$node","previousSibling","startContainer","endContainer"],"sources":["../../src/utils/selection.ts"],"sourcesContent":["import type { KeyboardEvent } from 'react';\nimport { getElementTextLength } from './text';\n\nlet childIndex = -1;\nlet endOffset = -1;\nlet startOffset = -1;\n\ninterface SaveSelectionOptions {\n shouldIgnoreEmptyTextNodes?: boolean;\n}\n\nexport const saveSelection = (\n element: HTMLDivElement,\n { shouldIgnoreEmptyTextNodes }: SaveSelectionOptions = {}\n) => {\n const selection = window.getSelection();\n\n if (!selection) {\n return;\n }\n\n const { anchorNode } = selection;\n\n if (!anchorNode) {\n return;\n }\n\n const range = selection.getRangeAt(0);\n\n let childNodesArray = Array.from(element.childNodes);\n\n if (shouldIgnoreEmptyTextNodes) {\n childNodesArray = childNodesArray.filter(\n ({ nodeType, nodeValue }) =>\n nodeType !== Node.TEXT_NODE || (nodeValue !== '' && nodeValue !== '\\u200B')\n );\n }\n\n childIndex = childNodesArray.indexOf(anchorNode as ChildNode);\n\n endOffset = range.endOffset;\n startOffset = range.startOffset;\n};\n\nexport const restoreSelection = (element: HTMLDivElement) => {\n let childNode = element.childNodes[childIndex];\n\n const selection = window.getSelection();\n\n if (!childNode || !element || !selection) {\n return;\n }\n\n if (typeof childNode.nodeValue !== 'string') {\n const elementTextLength = getElementTextLength(childNode as Element);\n\n if (childNode.nextSibling) {\n childNode = childNode.nextSibling;\n\n if (childNode.nodeType === Node.TEXT_NODE && childNode.nodeValue) {\n endOffset -= elementTextLength;\n startOffset -= elementTextLength;\n\n if (childNode.nodeValue.charCodeAt(endOffset) === 8203) {\n endOffset += 1;\n startOffset += 1;\n }\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n } else if (childNode.nodeValue && endOffset > childNode.nodeValue.length) {\n if (childNode.nextSibling) {\n let elementTextLength = childNode.nodeValue.length;\n\n childNode = childNode.nextSibling;\n\n if (typeof childNode.nodeValue !== 'string') {\n elementTextLength += getElementTextLength(childNode as Element);\n\n if (childNode.nextSibling) {\n childNode = childNode.nextSibling;\n\n if (childNode.nodeType === Node.TEXT_NODE && childNode.nodeValue) {\n endOffset -= elementTextLength;\n startOffset -= elementTextLength;\n\n if (childNode.nodeValue.charCodeAt(endOffset) === 8203) {\n endOffset += 1;\n startOffset += 1;\n }\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n } else {\n const textNode = document.createTextNode('\\u200B');\n\n childNode.parentNode?.insertBefore(textNode, childNode.nextSibling);\n\n childNode = textNode;\n\n endOffset = textNode.length;\n startOffset = textNode.length;\n }\n }\n } else {\n endOffset = childNode.nodeValue.length;\n startOffset = childNode.nodeValue.length;\n }\n }\n\n const range = document.createRange();\n\n range.setStart(childNode, startOffset);\n range.setEnd(childNode, endOffset);\n\n selection.removeAllRanges();\n selection.addRange(range);\n\n range.collapse(true);\n};\n\nexport const moveSelectionOffset = (distance: number) => {\n endOffset += distance;\n startOffset += distance;\n};\n\nexport const setChildIndex = (index: number) => {\n childIndex = index;\n};\n\n/**\n * This function returns the code of the character that will be removed by the KeyDown event in the\n * next step, if the \"Backspace\" or \"Delete\" key was pressed and there is no selection of multiple\n * characters.\n *\n * @param event - Keyboard event from \"onKeyDown\"\n */\nexport const getCharCodeThatWillBeDeleted = (event: KeyboardEvent<HTMLDivElement>) => {\n const range = window.getSelection()?.getRangeAt(0);\n\n /**\n * At this point the function is aborted if there is no selection range, several characters have\n * been selected and therefore no single letter is removed or neither the \"Backspace\" nor the\n * \"Delete\" key has been pressed.\n */\n if (\n !range ||\n range.endOffset !== range.startOffset ||\n (event.key !== 'Backspace' && event.key !== 'Delete')\n ) {\n return null;\n }\n\n if (event.key === 'Backspace') {\n const { nodeValue, previousSibling } = range.startContainer;\n\n if (range.startOffset > 0) {\n return nodeValue?.charCodeAt(range.startOffset - 1);\n }\n\n return previousSibling?.nodeValue?.charCodeAt(previousSibling.nodeValue.length - 1);\n }\n\n const { nextSibling, nodeValue } = range.endContainer;\n\n if (range.endOffset < (nodeValue?.length ?? 0)) {\n return nodeValue?.charCodeAt(range.endOffset);\n }\n\n return nextSibling?.nodeValue?.charCodeAt(0);\n};\n"],"mappings":"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"}
|
package/lib/utils/text.d.ts
CHANGED
package/lib/utils/text.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.convertTextToHTML = exports.convertHTMLToText = void 0;
|
|
6
|
+
exports.getElementTextLength = exports.convertTextToHTML = exports.convertHTMLToText = void 0;
|
|
7
7
|
var _regex = require("../constants/regex");
|
|
8
8
|
var _emoji = require("./emoji");
|
|
9
9
|
const convertTextToHTML = text => {
|
|
@@ -37,4 +37,14 @@ const convertHTMLToText = text => {
|
|
|
37
37
|
return result;
|
|
38
38
|
};
|
|
39
39
|
exports.convertHTMLToText = convertHTMLToText;
|
|
40
|
+
const getElementTextLength = element => {
|
|
41
|
+
let textLength = 0;
|
|
42
|
+
try {
|
|
43
|
+
textLength = convertHTMLToText(element.outerHTML).length;
|
|
44
|
+
} catch (e) {
|
|
45
|
+
// Do nothing
|
|
46
|
+
}
|
|
47
|
+
return textLength;
|
|
48
|
+
};
|
|
49
|
+
exports.getElementTextLength = getElementTextLength;
|
|
40
50
|
//# sourceMappingURL=text.js.map
|
package/lib/utils/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","names":["_regex","require","_emoji","convertTextToHTML","text","element","document","createElement","style","position","opacity","contentEditable","innerText","body","appendChild","result","innerHTML","removeChild","unescapeHTML","replace","BB_LC_MENTION_REGEX","exports","convertHTMLToText","HTML_LC_MENTION_REGEX"],"sources":["../../src/utils/text.ts"],"sourcesContent":["import { BB_LC_MENTION_REGEX, HTML_LC_MENTION_REGEX } from '../constants/regex';\nimport { unescapeHTML } from './emoji';\n\nexport const convertTextToHTML = (text: string) => {\n const element = document.createElement('div');\n\n element.style.position = 'absolute';\n element.style.opacity = '0';\n\n element.contentEditable = 'true';\n element.innerText = text;\n\n document.body.appendChild(element);\n\n let result = element.innerHTML;\n\n document.body.removeChild(element);\n\n result = unescapeHTML(result);\n\n result = result.replace(\n BB_LC_MENTION_REGEX,\n '<lc_mention contenteditable=\"false\" id=\"$1\"><span>@</span>$2</lc_mention>'\n );\n\n return result;\n};\n\nexport const convertHTMLToText = (text: string) => {\n let result = text;\n\n result = result.replace(HTML_LC_MENTION_REGEX, '[lc_mention id=\"$1\"]$2[/lc_mention]');\n // eslint-disable-next-line no-irregular-whitespace\n result = result.replace(//g, '');\n\n result = unescapeHTML(result);\n\n const element = document.createElement('div');\n\n element.style.position = 'absolute';\n element.style.opacity = '0';\n\n element.contentEditable = 'true';\n element.innerHTML = result;\n\n document.body.appendChild(element);\n\n result = element.innerText;\n\n document.body.removeChild(element);\n\n return result;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,iBAAiB,GAAIC,IAAY,IAAK;EAC/C,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,UAAU;EACnCJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAE3BL,OAAO,CAACM,eAAe,GAAG,MAAM;EAChCN,OAAO,CAACO,SAAS,GAAGR,IAAI;EAExBE,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACT,OAAO,CAAC;EAElC,IAAIU,MAAM,GAAGV,OAAO,CAACW,SAAS;EAE9BV,QAAQ,CAACO,IAAI,CAACI,WAAW,CAACZ,OAAO,CAAC;EAElCU,MAAM,GAAG,IAAAG,mBAAY,EAACH,MAAM,CAAC;EAE7BA,MAAM,GAAGA,MAAM,CAACI,OAAO,CACnBC,0BAAmB,EACnB,2EACJ,CAAC;EAED,OAAOL,MAAM;AACjB,CAAC;AAACM,OAAA,CAAAlB,iBAAA,GAAAA,iBAAA;AAEK,MAAMmB,iBAAiB,GAAIlB,IAAY,IAAK;EAC/C,IAAIW,MAAM,GAAGX,IAAI;EAEjBW,MAAM,GAAGA,MAAM,CAACI,OAAO,CAACI,4BAAqB,EAAE,qCAAqC,CAAC;EACrF;EACAR,MAAM,GAAGA,MAAM,CAACI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;EAEjCJ,MAAM,GAAG,IAAAG,mBAAY,EAACH,MAAM,CAAC;EAE7B,MAAMV,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,UAAU;EACnCJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAE3BL,OAAO,CAACM,eAAe,GAAG,MAAM;EAChCN,OAAO,CAACW,SAAS,GAAGD,MAAM;EAE1BT,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACT,OAAO,CAAC;EAElCU,MAAM,GAAGV,OAAO,CAACO,SAAS;EAE1BN,QAAQ,CAACO,IAAI,CAACI,WAAW,CAACZ,OAAO,CAAC;EAElC,OAAOU,MAAM;AACjB,CAAC;AAACM,OAAA,CAAAC,iBAAA,GAAAA,iBAAA"}
|
|
1
|
+
{"version":3,"file":"text.js","names":["_regex","require","_emoji","convertTextToHTML","text","element","document","createElement","style","position","opacity","contentEditable","innerText","body","appendChild","result","innerHTML","removeChild","unescapeHTML","replace","BB_LC_MENTION_REGEX","exports","convertHTMLToText","HTML_LC_MENTION_REGEX","getElementTextLength","textLength","outerHTML","length","e"],"sources":["../../src/utils/text.ts"],"sourcesContent":["import { BB_LC_MENTION_REGEX, HTML_LC_MENTION_REGEX } from '../constants/regex';\nimport { unescapeHTML } from './emoji';\n\nexport const convertTextToHTML = (text: string) => {\n const element = document.createElement('div');\n\n element.style.position = 'absolute';\n element.style.opacity = '0';\n\n element.contentEditable = 'true';\n element.innerText = text;\n\n document.body.appendChild(element);\n\n let result = element.innerHTML;\n\n document.body.removeChild(element);\n\n result = unescapeHTML(result);\n\n result = result.replace(\n BB_LC_MENTION_REGEX,\n '<lc_mention contenteditable=\"false\" id=\"$1\"><span>@</span>$2</lc_mention>'\n );\n\n return result;\n};\n\nexport const convertHTMLToText = (text: string) => {\n let result = text;\n\n result = result.replace(HTML_LC_MENTION_REGEX, '[lc_mention id=\"$1\"]$2[/lc_mention]');\n // eslint-disable-next-line no-irregular-whitespace\n result = result.replace(//g, '');\n\n result = unescapeHTML(result);\n\n const element = document.createElement('div');\n\n element.style.position = 'absolute';\n element.style.opacity = '0';\n\n element.contentEditable = 'true';\n element.innerHTML = result;\n\n document.body.appendChild(element);\n\n result = element.innerText;\n\n document.body.removeChild(element);\n\n return result;\n};\n\nexport const getElementTextLength = (element: Element) => {\n let textLength = 0;\n\n try {\n textLength = convertHTMLToText(element.outerHTML).length;\n } catch (e) {\n // Do nothing\n }\n\n return textLength;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEO,MAAME,iBAAiB,GAAIC,IAAY,IAAK;EAC/C,MAAMC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,UAAU;EACnCJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAE3BL,OAAO,CAACM,eAAe,GAAG,MAAM;EAChCN,OAAO,CAACO,SAAS,GAAGR,IAAI;EAExBE,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACT,OAAO,CAAC;EAElC,IAAIU,MAAM,GAAGV,OAAO,CAACW,SAAS;EAE9BV,QAAQ,CAACO,IAAI,CAACI,WAAW,CAACZ,OAAO,CAAC;EAElCU,MAAM,GAAG,IAAAG,mBAAY,EAACH,MAAM,CAAC;EAE7BA,MAAM,GAAGA,MAAM,CAACI,OAAO,CACnBC,0BAAmB,EACnB,2EACJ,CAAC;EAED,OAAOL,MAAM;AACjB,CAAC;AAACM,OAAA,CAAAlB,iBAAA,GAAAA,iBAAA;AAEK,MAAMmB,iBAAiB,GAAIlB,IAAY,IAAK;EAC/C,IAAIW,MAAM,GAAGX,IAAI;EAEjBW,MAAM,GAAGA,MAAM,CAACI,OAAO,CAACI,4BAAqB,EAAE,qCAAqC,CAAC;EACrF;EACAR,MAAM,GAAGA,MAAM,CAACI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;EAEjCJ,MAAM,GAAG,IAAAG,mBAAY,EAACH,MAAM,CAAC;EAE7B,MAAMV,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAE7CF,OAAO,CAACG,KAAK,CAACC,QAAQ,GAAG,UAAU;EACnCJ,OAAO,CAACG,KAAK,CAACE,OAAO,GAAG,GAAG;EAE3BL,OAAO,CAACM,eAAe,GAAG,MAAM;EAChCN,OAAO,CAACW,SAAS,GAAGD,MAAM;EAE1BT,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACT,OAAO,CAAC;EAElCU,MAAM,GAAGV,OAAO,CAACO,SAAS;EAE1BN,QAAQ,CAACO,IAAI,CAACI,WAAW,CAACZ,OAAO,CAAC;EAElC,OAAOU,MAAM;AACjB,CAAC;AAACM,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAEK,MAAME,oBAAoB,GAAInB,OAAgB,IAAK;EACtD,IAAIoB,UAAU,GAAG,CAAC;EAElB,IAAI;IACAA,UAAU,GAAGH,iBAAiB,CAACjB,OAAO,CAACqB,SAAS,CAAC,CAACC,MAAM;EAC5D,CAAC,CAAC,OAAOC,CAAC,EAAE;IACR;EAAA;EAGJ,OAAOH,UAAU;AACrB,CAAC;AAACJ,OAAA,CAAAG,oBAAA,GAAAA,oBAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chayns-components/emoji-input",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.183",
|
|
4
4
|
"description": "Input field that supports HTML elements and emojis",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"chayns",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"typescript": "^4.9.5"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@chayns-components/core": "^5.0.0-beta.
|
|
56
|
+
"@chayns-components/core": "^5.0.0-beta.183",
|
|
57
57
|
"@chayns/colors": "^2.0.0",
|
|
58
58
|
"clsx": "^1.2.1",
|
|
59
59
|
"emojilib": "^3.0.10",
|
|
@@ -69,5 +69,5 @@
|
|
|
69
69
|
"publishConfig": {
|
|
70
70
|
"access": "public"
|
|
71
71
|
},
|
|
72
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "2487d7e956cf68c3270a7ab1adcc2e5a63705a83"
|
|
73
73
|
}
|