@bigbinary/neeto-editor 1.40.0 → 1.40.2
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/Attachments.js +17 -5
- package/dist/Attachments.js.map +1 -1
- package/dist/Editor.js +629 -508
- package/dist/Editor.js.map +1 -1
- package/dist/EditorContent.js +50 -41
- package/dist/EditorContent.js.map +1 -1
- package/dist/FormikEditor.js +91 -30
- package/dist/FormikEditor.js.map +1 -1
- package/dist/Menu.js +45 -5
- package/dist/Menu.js.map +1 -1
- package/dist/{chunk-b39dfdd8.js → chunk-1ac4a222.js} +832 -709
- package/dist/{chunk-b39dfdd8.js.map → chunk-1ac4a222.js.map} +1 -1
- package/dist/{chunk-6dabc0b1.js → chunk-54bb591c.js} +66 -43
- package/dist/{chunk-6dabc0b1.js.map → chunk-54bb591c.js.map} +1 -1
- package/dist/{chunk-52091cdb.js → chunk-91e5e60f.js} +186 -152
- package/dist/chunk-91e5e60f.js.map +1 -0
- package/dist/{chunk-c1e6a992.js → chunk-eafe8fe4.js} +24 -18
- package/dist/{chunk-c1e6a992.js.map → chunk-eafe8fe4.js.map} +1 -1
- package/dist/cjs/Attachments.cjs.js +17 -5
- package/dist/cjs/Attachments.cjs.js.map +1 -1
- package/dist/cjs/Editor.cjs.js +705 -548
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/EditorContent.cjs.js +61 -50
- package/dist/cjs/EditorContent.cjs.js.map +1 -1
- package/dist/cjs/FormikEditor.cjs.js +94 -33
- package/dist/cjs/FormikEditor.cjs.js.map +1 -1
- package/dist/cjs/Menu.cjs.js +45 -5
- package/dist/cjs/Menu.cjs.js.map +1 -1
- package/dist/cjs/{chunk-d0720eac.cjs.js → chunk-391e4970.cjs.js} +214 -170
- package/dist/cjs/chunk-391e4970.cjs.js.map +1 -0
- package/dist/cjs/{chunk-3777ae13.cjs.js → chunk-969db227.cjs.js} +88 -60
- package/dist/cjs/{chunk-3777ae13.cjs.js.map → chunk-969db227.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-76a5f21a.cjs.js → chunk-ae47a2a1.cjs.js} +41 -31
- package/dist/cjs/{chunk-76a5f21a.cjs.js.map → chunk-ae47a2a1.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-d12e89fd.cjs.js → chunk-f5848160.cjs.js} +1034 -875
- package/dist/cjs/{chunk-d12e89fd.cjs.js.map → chunk-f5848160.cjs.js.map} +1 -1
- package/dist/cjs/index.cjs.js +66 -8
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +66 -8
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/dist/chunk-52091cdb.js.map +0 -1
- package/dist/cjs/chunk-d0720eac.cjs.js.map +0 -1
package/dist/EditorContent.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from '@babel/runtime/helpers/extends';
|
|
2
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
2
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
@@ -11,10 +10,12 @@ import { createRoot } from 'react-dom/client';
|
|
|
11
10
|
import { n } from './chunk-15c449f1.js';
|
|
12
11
|
import { s as substituteVariables, h as highlightCode, E as EDITOR_CONTENT_CLASSNAME, S as SANITIZE_OPTIONS } from './chunk-e712f06d.js';
|
|
13
12
|
import { useOnClickOutside } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
14
|
-
import
|
|
15
|
-
import
|
|
13
|
+
import Close from '@bigbinary/neeto-icons/Close';
|
|
14
|
+
import Button from '@bigbinary/neetoui/Button';
|
|
15
|
+
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
16
16
|
import { createPortal } from 'react-dom';
|
|
17
17
|
import { useTranslation } from 'react-i18next';
|
|
18
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
18
19
|
import './chunk-65f73e5a.js';
|
|
19
20
|
import './chunk-ade4c9e3.js';
|
|
20
21
|
import '@bigbinary/neeto-cist';
|
|
@@ -49,35 +50,41 @@ var ImagePreview = function ImagePreview(_ref) {
|
|
|
49
50
|
});
|
|
50
51
|
};
|
|
51
52
|
}, []);
|
|
52
|
-
return /*#__PURE__*/createPortal( /*#__PURE__*/
|
|
53
|
-
className: "ne-image-preview-wrapper"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
"image-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
53
|
+
return /*#__PURE__*/createPortal( /*#__PURE__*/jsxs("div", {
|
|
54
|
+
className: "ne-image-preview-wrapper",
|
|
55
|
+
children: [isLoading && /*#__PURE__*/jsx(Spinner, {
|
|
56
|
+
className: "ne-image-preview-wrapper__spinner"
|
|
57
|
+
}), !isLoading && /*#__PURE__*/jsx("div", {
|
|
58
|
+
className: "close-button",
|
|
59
|
+
children: /*#__PURE__*/jsx(Button, {
|
|
60
|
+
icon: Close,
|
|
61
|
+
style: "secondary",
|
|
62
|
+
onClick: function onClick() {
|
|
63
|
+
return setImagePreviewDetails(null);
|
|
64
|
+
}
|
|
65
|
+
})
|
|
66
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
67
|
+
className: classnames("ne-image-preview", {
|
|
68
|
+
"image-loaded": !isLoading
|
|
69
|
+
}),
|
|
70
|
+
children: [/*#__PURE__*/jsx("img", {
|
|
71
|
+
alt: t("neetoEditor.editorContent.imagePreviewAltText"),
|
|
72
|
+
ref: imagePreviewRef,
|
|
73
|
+
src: imagePreviewDetails.src,
|
|
74
|
+
onLoad: function onLoad() {
|
|
75
|
+
return setIsLoading(false);
|
|
76
|
+
}
|
|
77
|
+
}), imagePreviewDetails && /*#__PURE__*/jsx("p", {
|
|
78
|
+
className: "ne-image-preview__caption",
|
|
79
|
+
children: imagePreviewDetails.caption
|
|
80
|
+
})]
|
|
81
|
+
})]
|
|
82
|
+
}), document.body);
|
|
78
83
|
};
|
|
79
84
|
|
|
80
85
|
var _excluded = ["content", "variables", "className"];
|
|
86
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
87
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
81
88
|
var EditorContent = function EditorContent(_ref) {
|
|
82
89
|
var _ref$content = _ref.content,
|
|
83
90
|
content = _ref$content === void 0 ? "" : _ref$content,
|
|
@@ -99,7 +106,7 @@ var EditorContent = function EditorContent(_ref) {
|
|
|
99
106
|
var button = document.createElement("div");
|
|
100
107
|
button.className = "neeto-editor-codeblock-options";
|
|
101
108
|
var root = createRoot(button);
|
|
102
|
-
root.render( /*#__PURE__*/
|
|
109
|
+
root.render( /*#__PURE__*/jsx(CopyToClipboardButton, {
|
|
103
110
|
size: "small",
|
|
104
111
|
style: "text",
|
|
105
112
|
value: preTag.textContent
|
|
@@ -128,17 +135,19 @@ var EditorContent = function EditorContent(_ref) {
|
|
|
128
135
|
injectCopyButtonToCodeBlocks();
|
|
129
136
|
bindImageClickListener();
|
|
130
137
|
}, [content]);
|
|
131
|
-
return /*#__PURE__*/
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
imagePreviewDetails
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
return /*#__PURE__*/jsxs(Fragment, {
|
|
139
|
+
children: [/*#__PURE__*/jsx("div", _objectSpread({
|
|
140
|
+
"data-cy": "neeto-editor-content",
|
|
141
|
+
ref: editorContentRef,
|
|
142
|
+
className: classnames(EDITOR_CONTENT_CLASSNAME, _defineProperty({}, className, className)),
|
|
143
|
+
dangerouslySetInnerHTML: {
|
|
144
|
+
__html: sanitize(htmlContent, SANITIZE_OPTIONS)
|
|
145
|
+
}
|
|
146
|
+
}, otherProps)), imagePreviewDetails && /*#__PURE__*/jsx(ImagePreview, {
|
|
147
|
+
imagePreviewDetails: imagePreviewDetails,
|
|
148
|
+
setImagePreviewDetails: setImagePreviewDetails
|
|
149
|
+
})]
|
|
150
|
+
});
|
|
142
151
|
};
|
|
143
152
|
var index = /*#__PURE__*/memo(EditorContent);
|
|
144
153
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditorContent.js","sources":["../src/components/EditorContent/ImagePreview.jsx","../src/components/EditorContent/index.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ImagePreview = ({ imagePreviewDetails, setImagePreviewDetails }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const { t } = useTranslation();\n\n const imagePreviewRef = useRef(null);\n\n useOnClickOutside(imagePreviewRef, () => setImagePreviewDetails(null), {\n enabled: true,\n });\n\n useEffect(() => {\n document.addEventListener(\n \"keydown\",\n e => e.key === \"Escape\" && setImagePreviewDetails(null)\n );\n\n return () =>\n document.removeEventListener(\n \"keydown\",\n e => e.key === \"Escape\" && setImagePreviewDetails(null)\n );\n }, []);\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n {!isLoading && (\n <div className=\"close-button\">\n <Button\n icon={Close}\n style=\"secondary\"\n onClick={() => setImagePreviewDetails(null)}\n />\n </div>\n )}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n <img\n alt={t(\"neetoEditor.editorContent.imagePreviewAltText\")}\n ref={imagePreviewRef}\n src={imagePreviewDetails.src}\n onLoad={() => setIsLoading(false)}\n />\n {imagePreviewDetails && (\n <p className=\"ne-image-preview__caption\">\n {imagePreviewDetails.caption}\n </p>\n )}\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreview;\n","import { memo, useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport DOMPurify from \"dompurify\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { isNil } from \"ramda\";\nimport { createRoot } from \"react-dom/client\";\n\nimport \"src/styles/editor/editor-content.scss\";\n\nimport { EDITOR_CONTENT_CLASSNAME, SANITIZE_OPTIONS } from \"./constants\";\nimport ImagePreview from \"./ImagePreview\";\nimport { highlightCode, substituteVariables } from \"./utils\";\n\nconst EditorContent = ({\n content = \"\",\n variables = [],\n className,\n ...otherProps\n}) => {\n const [imagePreviewDetails, setImagePreviewDetails] = useState(null);\n const editorContentRef = useRef(null);\n\n const htmlContent = substituteVariables(highlightCode(content), variables);\n const sanitize = DOMPurify.sanitize;\n\n const injectCopyButtonToCodeBlocks = () => {\n const preTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASSNAME} pre`\n );\n\n preTags.forEach(preTag => {\n const button = document.createElement(\"div\");\n button.className = \"neeto-editor-codeblock-options\";\n const root = createRoot(button);\n root.render(\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={preTag.textContent}\n />\n );\n preTag.appendChild(button);\n });\n };\n\n const bindImageClickListener = () => {\n const figureTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASSNAME} figure`\n );\n\n figureTags.forEach(figureTag => {\n const image = figureTag.querySelector(\"img\");\n const link = figureTag.querySelector(\"a\");\n if (isNil(image) || isNil(link)) return;\n\n figureTag.addEventListener(\"click\", event => {\n event.preventDefault();\n const caption = figureTag.querySelector(\"figcaption\").innerText;\n setImagePreviewDetails({ src: image.src, caption });\n });\n });\n };\n\n useEffect(() => {\n injectCopyButtonToCodeBlocks();\n bindImageClickListener();\n }, [content]);\n\n return (\n <>\n <div\n data-cy=\"neeto-editor-content\"\n ref={editorContentRef}\n className={classnames(EDITOR_CONTENT_CLASSNAME, {\n [className]: className,\n })}\n dangerouslySetInnerHTML={{\n __html: sanitize(htmlContent, SANITIZE_OPTIONS),\n }}\n {...otherProps}\n />\n {imagePreviewDetails && (\n <ImagePreview {...{ imagePreviewDetails, setImagePreviewDetails }} />\n )}\n </>\n );\n};\n\nexport default memo(EditorContent);\n"],"names":["ImagePreview","_ref","imagePreviewDetails","setImagePreviewDetails","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTranslation","useTranslation","t","imagePreviewRef","useRef","useOnClickOutside","enabled","useEffect","document","addEventListener","e","key","removeEventListener","createPortal","React","createElement","className","Spinner","Button","icon","Close","style","onClick","classnames","alt","ref","src","onLoad","caption","body","EditorContent","_ref$content","content","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","editorContentRef","htmlContent","substituteVariables","highlightCode","sanitize","DOMPurify","injectCopyButtonToCodeBlocks","_editorContentRef$cur","preTags","current","querySelectorAll","concat","EDITOR_CONTENT_CLASSNAME","forEach","preTag","button","root","createRoot","render","CopyToClipboardButton","size","value","textContent","appendChild","bindImageClickListener","_editorContentRef$cur2","figureTags","figureTag","image","querySelector","link","isNil","event","preventDefault","innerText","Fragment","_extends","_defineProperty","dangerouslySetInnerHTML","__html","SANITIZE_OPTIONS","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditorContent.js","sources":["../src/components/EditorContent/ImagePreview.jsx","../src/components/EditorContent/index.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { useOnClickOutside } from \"neetocommons/react-utils\";\nimport { Close } from \"neetoicons\";\nimport { Button, Spinner } from \"neetoui\";\nimport { createPortal } from \"react-dom\";\nimport { useTranslation } from \"react-i18next\";\n\nconst ImagePreview = ({ imagePreviewDetails, setImagePreviewDetails }) => {\n const [isLoading, setIsLoading] = useState(true);\n\n const { t } = useTranslation();\n\n const imagePreviewRef = useRef(null);\n\n useOnClickOutside(imagePreviewRef, () => setImagePreviewDetails(null), {\n enabled: true,\n });\n\n useEffect(() => {\n document.addEventListener(\n \"keydown\",\n e => e.key === \"Escape\" && setImagePreviewDetails(null)\n );\n\n return () =>\n document.removeEventListener(\n \"keydown\",\n e => e.key === \"Escape\" && setImagePreviewDetails(null)\n );\n }, []);\n\n return createPortal(\n <div className=\"ne-image-preview-wrapper\">\n {isLoading && <Spinner className=\"ne-image-preview-wrapper__spinner\" />}\n {!isLoading && (\n <div className=\"close-button\">\n <Button\n icon={Close}\n style=\"secondary\"\n onClick={() => setImagePreviewDetails(null)}\n />\n </div>\n )}\n <div\n className={classnames(\"ne-image-preview\", {\n \"image-loaded\": !isLoading,\n })}\n >\n <img\n alt={t(\"neetoEditor.editorContent.imagePreviewAltText\")}\n ref={imagePreviewRef}\n src={imagePreviewDetails.src}\n onLoad={() => setIsLoading(false)}\n />\n {imagePreviewDetails && (\n <p className=\"ne-image-preview__caption\">\n {imagePreviewDetails.caption}\n </p>\n )}\n </div>\n </div>,\n document.body\n );\n};\n\nexport default ImagePreview;\n","import { memo, useEffect, useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport DOMPurify from \"dompurify\";\nimport CopyToClipboardButton from \"neetomolecules/CopyToClipboardButton\";\nimport { isNil } from \"ramda\";\nimport { createRoot } from \"react-dom/client\";\n\nimport \"src/styles/editor/editor-content.scss\";\n\nimport { EDITOR_CONTENT_CLASSNAME, SANITIZE_OPTIONS } from \"./constants\";\nimport ImagePreview from \"./ImagePreview\";\nimport { highlightCode, substituteVariables } from \"./utils\";\n\nconst EditorContent = ({\n content = \"\",\n variables = [],\n className,\n ...otherProps\n}) => {\n const [imagePreviewDetails, setImagePreviewDetails] = useState(null);\n const editorContentRef = useRef(null);\n\n const htmlContent = substituteVariables(highlightCode(content), variables);\n const sanitize = DOMPurify.sanitize;\n\n const injectCopyButtonToCodeBlocks = () => {\n const preTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASSNAME} pre`\n );\n\n preTags.forEach(preTag => {\n const button = document.createElement(\"div\");\n button.className = \"neeto-editor-codeblock-options\";\n const root = createRoot(button);\n root.render(\n <CopyToClipboardButton\n size=\"small\"\n style=\"text\"\n value={preTag.textContent}\n />\n );\n preTag.appendChild(button);\n });\n };\n\n const bindImageClickListener = () => {\n const figureTags = editorContentRef.current?.querySelectorAll(\n `.${EDITOR_CONTENT_CLASSNAME} figure`\n );\n\n figureTags.forEach(figureTag => {\n const image = figureTag.querySelector(\"img\");\n const link = figureTag.querySelector(\"a\");\n if (isNil(image) || isNil(link)) return;\n\n figureTag.addEventListener(\"click\", event => {\n event.preventDefault();\n const caption = figureTag.querySelector(\"figcaption\").innerText;\n setImagePreviewDetails({ src: image.src, caption });\n });\n });\n };\n\n useEffect(() => {\n injectCopyButtonToCodeBlocks();\n bindImageClickListener();\n }, [content]);\n\n return (\n <>\n <div\n data-cy=\"neeto-editor-content\"\n ref={editorContentRef}\n className={classnames(EDITOR_CONTENT_CLASSNAME, {\n [className]: className,\n })}\n dangerouslySetInnerHTML={{\n __html: sanitize(htmlContent, SANITIZE_OPTIONS),\n }}\n {...otherProps}\n />\n {imagePreviewDetails && (\n <ImagePreview {...{ imagePreviewDetails, setImagePreviewDetails }} />\n )}\n </>\n );\n};\n\nexport default memo(EditorContent);\n"],"names":["ImagePreview","_ref","imagePreviewDetails","setImagePreviewDetails","_useState","useState","_useState2","_slicedToArray","isLoading","setIsLoading","_useTranslation","useTranslation","t","imagePreviewRef","useRef","useOnClickOutside","enabled","useEffect","document","addEventListener","e","key","removeEventListener","createPortal","_jsxs","className","children","_jsx","Spinner","Button","icon","Close","style","onClick","classnames","alt","ref","src","onLoad","caption","body","EditorContent","_ref$content","content","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","editorContentRef","htmlContent","substituteVariables","highlightCode","sanitize","DOMPurify","injectCopyButtonToCodeBlocks","_editorContentRef$cur","preTags","current","querySelectorAll","concat","EDITOR_CONTENT_CLASSNAME","forEach","preTag","button","createElement","root","createRoot","render","CopyToClipboardButton","size","value","textContent","appendChild","bindImageClickListener","_editorContentRef$cur2","figureTags","figureTag","image","querySelector","link","isNil","event","preventDefault","innerText","_Fragment","_objectSpread","_defineProperty","dangerouslySetInnerHTML","__html","SANITIZE_OPTIONS","memo"],"mappings":"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"}
|
package/dist/FormikEditor.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
3
|
import { memo, forwardRef } from 'react';
|
|
4
4
|
import { FastField } from 'formik';
|
|
5
5
|
import { noop } from '@bigbinary/neeto-cist';
|
|
6
6
|
import Editor from './Editor.js';
|
|
7
|
-
import '
|
|
7
|
+
import { jsx } from 'react/jsx-runtime';
|
|
8
8
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
9
9
|
import '@babel/runtime/helpers/slicedToArray';
|
|
10
|
-
import './chunk-
|
|
10
|
+
import './chunk-1ac4a222.js';
|
|
11
11
|
import 'ramda';
|
|
12
12
|
import './chunk-15c449f1.js';
|
|
13
13
|
import 'i18next';
|
|
@@ -18,10 +18,35 @@ import 'tippy.js';
|
|
|
18
18
|
import 'react-dom';
|
|
19
19
|
import 'classnames';
|
|
20
20
|
import 'tippy.js/dist/svg-arrow.css';
|
|
21
|
-
import '@bigbinary/neeto-icons';
|
|
22
|
-
import '@bigbinary/
|
|
21
|
+
import '@bigbinary/neeto-icons/Link';
|
|
22
|
+
import '@bigbinary/neeto-icons/Column';
|
|
23
|
+
import '@bigbinary/neetoui/Dropdown';
|
|
23
24
|
import 'react-i18next';
|
|
25
|
+
import '@bigbinary/neeto-icons/Close';
|
|
26
|
+
import '@bigbinary/neetoui/Button';
|
|
24
27
|
import '@bigbinary/neeto-commons-frontend/utils';
|
|
28
|
+
import '@bigbinary/neeto-icons/Check';
|
|
29
|
+
import '@bigbinary/neetoui/Label';
|
|
30
|
+
import '@bigbinary/neeto-icons/Quote';
|
|
31
|
+
import '@bigbinary/neeto-icons/Attachment';
|
|
32
|
+
import '@bigbinary/neeto-icons/CodeBlock';
|
|
33
|
+
import '@bigbinary/neeto-icons/Code';
|
|
34
|
+
import '@bigbinary/neeto-icons/Highlight';
|
|
35
|
+
import '@bigbinary/neeto-icons/TextBold';
|
|
36
|
+
import '@bigbinary/neeto-icons/TextCross';
|
|
37
|
+
import '@bigbinary/neeto-icons/TextItalic';
|
|
38
|
+
import '@bigbinary/neeto-icons/Underline';
|
|
39
|
+
import '@bigbinary/neeto-icons/ListDot';
|
|
40
|
+
import '@bigbinary/neeto-icons/ListNumber';
|
|
41
|
+
import '@bigbinary/neeto-icons/ImageUpload';
|
|
42
|
+
import '@bigbinary/neeto-icons/Video';
|
|
43
|
+
import '@bigbinary/neeto-icons/MediaVideo';
|
|
44
|
+
import '@bigbinary/neeto-icons/Undo';
|
|
45
|
+
import '@bigbinary/neeto-icons/Redo';
|
|
46
|
+
import '@bigbinary/neeto-icons/Email';
|
|
47
|
+
import '@bigbinary/neetoui/Avatar';
|
|
48
|
+
import '@bigbinary/neetoui/Typography';
|
|
49
|
+
import '@bigbinary/neeto-icons/Smiley';
|
|
25
50
|
import '@babel/runtime/helpers/asyncToGenerator';
|
|
26
51
|
import '@babel/runtime/helpers/classCallCheck';
|
|
27
52
|
import '@babel/runtime/helpers/createClass';
|
|
@@ -32,21 +57,56 @@ import '@babel/runtime/regenerator';
|
|
|
32
57
|
import 'emoji-mart';
|
|
33
58
|
import 'axios';
|
|
34
59
|
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
60
|
+
import '@bigbinary/neeto-icons/Customize';
|
|
61
|
+
import '@bigbinary/neeto-icons/Refresh';
|
|
62
|
+
import '@bigbinary/neetoui/Input';
|
|
35
63
|
import 'react-colorful';
|
|
36
64
|
import '@bigbinary/neeto-molecules/DynamicVariables';
|
|
37
|
-
import '
|
|
65
|
+
import '@bigbinary/neetoui/Modal';
|
|
66
|
+
import '@bigbinary/neetoui/Tab';
|
|
67
|
+
import './chunk-eafe8fe4.js';
|
|
38
68
|
import 'zustand/shallow';
|
|
69
|
+
import '@bigbinary/neetoui/Toastr';
|
|
39
70
|
import 'zustand';
|
|
40
71
|
import './chunk-65f73e5a.js';
|
|
72
|
+
import '@bigbinary/neeto-icons/LeftAlign';
|
|
73
|
+
import '@bigbinary/neeto-icons/CenterAlign';
|
|
74
|
+
import '@bigbinary/neeto-icons/RightAlign';
|
|
75
|
+
import '@bigbinary/neeto-icons/Delete';
|
|
41
76
|
import '@bigbinary/neeto-commons-frontend/initializers';
|
|
77
|
+
import '@bigbinary/neetoui/Tooltip';
|
|
78
|
+
import '@bigbinary/neetoui/Spinner';
|
|
79
|
+
import '@bigbinary/neetoui/Checkbox';
|
|
80
|
+
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
42
81
|
import '@tippyjs/react';
|
|
82
|
+
import '@bigbinary/neeto-icons/File';
|
|
83
|
+
import '@bigbinary/neeto-icons/Down';
|
|
43
84
|
import '@bigbinary/neeto-molecules/CopyToClipboardButton';
|
|
44
85
|
import './chunk-ade4c9e3.js';
|
|
45
86
|
import './chunk-5bc5e361.js';
|
|
46
|
-
import '@bigbinary/
|
|
47
|
-
import '
|
|
87
|
+
import '@bigbinary/neeto-icons/Paragraph';
|
|
88
|
+
import '@bigbinary/neeto-icons/TextH1';
|
|
89
|
+
import '@bigbinary/neeto-icons/TextH2';
|
|
90
|
+
import '@bigbinary/neeto-icons/Blockquote';
|
|
91
|
+
import '@bigbinary/neeto-icons/Minus';
|
|
92
|
+
import '@bigbinary/neeto-icons/Text';
|
|
93
|
+
import '@bigbinary/neeto-icons/Notes';
|
|
94
|
+
import '@bigbinary/neeto-icons/DeleteRow';
|
|
95
|
+
import '@bigbinary/neeto-icons/DeleteColumn';
|
|
96
|
+
import '@bigbinary/neeto-icons/DeleteTable';
|
|
97
|
+
import '@bigbinary/neeto-icons/InsertRow';
|
|
98
|
+
import '@bigbinary/neeto-icons/InsertColumn';
|
|
99
|
+
import '@bigbinary/neeto-icons/MergeSplit';
|
|
100
|
+
import '@bigbinary/neeto-icons/ToggleHeaderRow';
|
|
101
|
+
import '@bigbinary/neetoui/formik/Form';
|
|
102
|
+
import '@bigbinary/neetoui/formik/Input';
|
|
103
|
+
import './chunk-91e5e60f.js';
|
|
104
|
+
import '@bigbinary/neeto-icons/MenuVertical';
|
|
105
|
+
import '@bigbinary/neetoui/Alert';
|
|
48
106
|
|
|
49
107
|
var _excluded = ["name", "onChange", "shouldUpdate", "attachments", "mentions", "variables"];
|
|
108
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
109
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
50
110
|
var FormikEditor = function FormikEditor(_ref, ref) {
|
|
51
111
|
var name = _ref.name,
|
|
52
112
|
_ref$onChange = _ref.onChange,
|
|
@@ -59,32 +119,33 @@ var FormikEditor = function FormikEditor(_ref, ref) {
|
|
|
59
119
|
_ref$variables = _ref.variables,
|
|
60
120
|
variables = _ref$variables === void 0 ? [] : _ref$variables,
|
|
61
121
|
otherProps = _objectWithoutProperties(_ref, _excluded);
|
|
62
|
-
return /*#__PURE__*/
|
|
122
|
+
return /*#__PURE__*/jsx(FastField, {
|
|
63
123
|
attachments: attachments,
|
|
64
124
|
mentions: mentions,
|
|
65
125
|
name: name,
|
|
66
126
|
shouldUpdate: shouldUpdate,
|
|
67
|
-
variables: variables
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
127
|
+
variables: variables,
|
|
128
|
+
children: function children(_ref2) {
|
|
129
|
+
var field = _ref2.field,
|
|
130
|
+
form = _ref2.form,
|
|
131
|
+
meta = _ref2.meta;
|
|
132
|
+
return /*#__PURE__*/jsx(Editor, _objectSpread({
|
|
133
|
+
attachments: attachments,
|
|
134
|
+
mentions: mentions,
|
|
135
|
+
name: name,
|
|
136
|
+
ref: ref,
|
|
137
|
+
variables: variables,
|
|
138
|
+
error: meta.touched ? meta.error : "",
|
|
139
|
+
initialValue: field.value,
|
|
140
|
+
onBlur: function onBlur() {
|
|
141
|
+
return form.setFieldTouched(name, true);
|
|
142
|
+
},
|
|
143
|
+
onChange: function onChange(value) {
|
|
144
|
+
form.setFieldValue(name, value);
|
|
145
|
+
_onChange === null || _onChange === void 0 || _onChange(value);
|
|
146
|
+
}
|
|
147
|
+
}, otherProps));
|
|
148
|
+
}
|
|
88
149
|
});
|
|
89
150
|
};
|
|
90
151
|
FormikEditor.displayName = "FormikNeetoEditor";
|
package/dist/FormikEditor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikEditor.js","sources":["../src/components/Editor/FormikEditor.jsx"],"sourcesContent":["import { forwardRef, memo } from \"react\";\n\nimport { FastField } from \"formik\";\nimport { noop } from \"neetocist\";\n\nimport Editor from \".\";\n\nconst FormikEditor = (\n {\n name,\n onChange = noop,\n shouldUpdate,\n attachments = [],\n mentions = [],\n variables = [],\n ...otherProps\n },\n ref\n) => (\n <FastField {...{ attachments, mentions, name, shouldUpdate, variables }}>\n {({ field, form, meta }) => (\n <Editor\n {...{ attachments, mentions, name, ref, variables }}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n onBlur={() => form.setFieldTouched(name, true)}\n onChange={value => {\n form.setFieldValue(name, value);\n onChange?.(value);\n }}\n {...otherProps}\n />\n )}\n </FastField>\n);\n\nFormikEditor.displayName = \"FormikNeetoEditor\";\n\nexport default memo(forwardRef(FormikEditor));\n"],"names":["FormikEditor","_ref","ref","name","_ref$onChange","onChange","noop","shouldUpdate","_ref$attachments","attachments","_ref$mentions","mentions","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","
|
|
1
|
+
{"version":3,"file":"FormikEditor.js","sources":["../src/components/Editor/FormikEditor.jsx"],"sourcesContent":["import { forwardRef, memo } from \"react\";\n\nimport { FastField } from \"formik\";\nimport { noop } from \"neetocist\";\n\nimport Editor from \".\";\n\nconst FormikEditor = (\n {\n name,\n onChange = noop,\n shouldUpdate,\n attachments = [],\n mentions = [],\n variables = [],\n ...otherProps\n },\n ref\n) => (\n <FastField {...{ attachments, mentions, name, shouldUpdate, variables }}>\n {({ field, form, meta }) => (\n <Editor\n {...{ attachments, mentions, name, ref, variables }}\n error={meta.touched ? meta.error : \"\"}\n initialValue={field.value}\n onBlur={() => form.setFieldTouched(name, true)}\n onChange={value => {\n form.setFieldValue(name, value);\n onChange?.(value);\n }}\n {...otherProps}\n />\n )}\n </FastField>\n);\n\nFormikEditor.displayName = \"FormikNeetoEditor\";\n\nexport default memo(forwardRef(FormikEditor));\n"],"names":["FormikEditor","_ref","ref","name","_ref$onChange","onChange","noop","shouldUpdate","_ref$attachments","attachments","_ref$mentions","mentions","_ref$variables","variables","otherProps","_objectWithoutProperties","_excluded","_jsx","FastField","children","_ref2","field","form","meta","Editor","_objectSpread","error","touched","initialValue","value","onBlur","setFieldTouched","setFieldValue","displayName","memo","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAMA,YAAY,GAAG,SAAfA,YAAYA,CAAAC,IAAA,EAUhBC,GAAG,EAAA;AAAA,EAAA,IARDC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAAC,aAAA,GAAAH,IAAA,CACJI,QAAQ;AAARA,IAAAA,SAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,aAAA;IACfG,YAAY,GAAAN,IAAA,CAAZM,YAAY;IAAAC,gBAAA,GAAAP,IAAA,CACZQ,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAAE,aAAA,GAAAT,IAAA,CAChBU,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,aAAA;IAAAE,cAAA,GAAAX,IAAA,CACbY,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AACXE,IAAAA,UAAU,GAAAC,wBAAA,CAAAd,IAAA,EAAAe,SAAA,CAAA,CAAA;EAAA,oBAIfC,GAAA,CAACC,SAAS,EAAA;AAAOT,IAAAA,WAAW,EAAXA,WAAW;AAAEE,IAAAA,QAAQ,EAARA,QAAQ;AAAER,IAAAA,IAAI,EAAJA,IAAI;AAAEI,IAAAA,YAAY,EAAZA,YAAY;AAAEM,IAAAA,SAAS,EAATA,SAAS;IAAAM,QAAA,EAClE,SAAAA,QAAAA,CAAAC,KAAA,EAAA;AAAA,MAAA,IAAGC,KAAK,GAAAD,KAAA,CAALC,KAAK;QAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;QAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AAAA,MAAA,oBACnBN,GAAA,CAACO,MAAM,EAAAC,aAAA,CAAA;AACChB,QAAAA,WAAW,EAAXA,WAAW;AAAEE,QAAAA,QAAQ,EAARA,QAAQ;AAAER,QAAAA,IAAI,EAAJA,IAAI;AAAED,QAAAA,GAAG,EAAHA,GAAG;AAAEW,QAAAA,SAAS,EAATA,SAAS;QACjDa,KAAK,EAAEH,IAAI,CAACI,OAAO,GAAGJ,IAAI,CAACG,KAAK,GAAG,EAAG;QACtCE,YAAY,EAAEP,KAAK,CAACQ,KAAM;QAC1BC,MAAM,EAAE,SAAAA,MAAA,GAAA;AAAA,UAAA,OAAMR,IAAI,CAACS,eAAe,CAAC5B,IAAI,EAAE,IAAI,CAAC,CAAA;SAAC;AAC/CE,QAAAA,QAAQ,EAAE,SAAAA,QAAAwB,CAAAA,KAAK,EAAI;AACjBP,UAAAA,IAAI,CAACU,aAAa,CAAC7B,IAAI,EAAE0B,KAAK,CAAC,CAAA;AAC/BxB,UAAAA,SAAQ,aAARA,SAAQ,KAAA,KAAA,CAAA,IAARA,SAAQ,CAAGwB,KAAK,CAAC,CAAA;AACnB,SAAA;OACIf,EAAAA,UAAU,CACf,CAAC,CAAA;AAAA,KAAA;AACH,GACQ,CAAC,CAAA;AAAA,CACb,CAAA;AAEDd,YAAY,CAACiC,WAAW,GAAG,mBAAmB,CAAA;AAE9C,qBAAA,aAAeC,IAAI,eAACC,UAAU,CAACnC,YAAY,CAAC,CAAC;;;;"}
|
package/dist/Menu.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import '@babel/runtime/helpers/extends';
|
|
2
1
|
import '@babel/runtime/helpers/defineProperty';
|
|
3
2
|
import '@babel/runtime/helpers/toConsumableArray';
|
|
4
3
|
import '@babel/runtime/helpers/slicedToArray';
|
|
5
4
|
import 'react';
|
|
6
5
|
import 'ramda';
|
|
7
|
-
export { M as default } from './chunk-
|
|
6
|
+
export { M as default } from './chunk-1ac4a222.js';
|
|
8
7
|
import './chunk-d17f73d0.js';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
9
9
|
import './chunk-15c449f1.js';
|
|
10
10
|
import 'i18next';
|
|
11
11
|
import 'tippy.js';
|
|
@@ -14,10 +14,35 @@ import 'classnames';
|
|
|
14
14
|
import './chunk-edd8b9fe.js';
|
|
15
15
|
import '@bigbinary/neeto-cist';
|
|
16
16
|
import 'tippy.js/dist/svg-arrow.css';
|
|
17
|
-
import '@bigbinary/neeto-icons';
|
|
18
|
-
import '@bigbinary/
|
|
17
|
+
import '@bigbinary/neeto-icons/Link';
|
|
18
|
+
import '@bigbinary/neeto-icons/Column';
|
|
19
|
+
import '@bigbinary/neetoui/Dropdown';
|
|
19
20
|
import 'react-i18next';
|
|
21
|
+
import '@bigbinary/neeto-icons/Close';
|
|
22
|
+
import '@bigbinary/neetoui/Button';
|
|
20
23
|
import '@bigbinary/neeto-commons-frontend/utils';
|
|
24
|
+
import '@bigbinary/neeto-icons/Check';
|
|
25
|
+
import '@bigbinary/neetoui/Label';
|
|
26
|
+
import '@bigbinary/neeto-icons/Quote';
|
|
27
|
+
import '@bigbinary/neeto-icons/Attachment';
|
|
28
|
+
import '@bigbinary/neeto-icons/CodeBlock';
|
|
29
|
+
import '@bigbinary/neeto-icons/Code';
|
|
30
|
+
import '@bigbinary/neeto-icons/Highlight';
|
|
31
|
+
import '@bigbinary/neeto-icons/TextBold';
|
|
32
|
+
import '@bigbinary/neeto-icons/TextCross';
|
|
33
|
+
import '@bigbinary/neeto-icons/TextItalic';
|
|
34
|
+
import '@bigbinary/neeto-icons/Underline';
|
|
35
|
+
import '@bigbinary/neeto-icons/ListDot';
|
|
36
|
+
import '@bigbinary/neeto-icons/ListNumber';
|
|
37
|
+
import '@bigbinary/neeto-icons/ImageUpload';
|
|
38
|
+
import '@bigbinary/neeto-icons/Video';
|
|
39
|
+
import '@bigbinary/neeto-icons/MediaVideo';
|
|
40
|
+
import '@bigbinary/neeto-icons/Undo';
|
|
41
|
+
import '@bigbinary/neeto-icons/Redo';
|
|
42
|
+
import '@bigbinary/neeto-icons/Email';
|
|
43
|
+
import '@bigbinary/neetoui/Avatar';
|
|
44
|
+
import '@bigbinary/neetoui/Typography';
|
|
45
|
+
import '@bigbinary/neeto-icons/Smiley';
|
|
21
46
|
import '@babel/runtime/helpers/asyncToGenerator';
|
|
22
47
|
import '@babel/runtime/helpers/classCallCheck';
|
|
23
48
|
import '@babel/runtime/helpers/createClass';
|
|
@@ -28,14 +53,29 @@ import '@babel/runtime/regenerator';
|
|
|
28
53
|
import 'emoji-mart';
|
|
29
54
|
import 'axios';
|
|
30
55
|
import '@bigbinary/neeto-commons-frontend/react-utils';
|
|
56
|
+
import '@bigbinary/neeto-icons/Customize';
|
|
57
|
+
import '@bigbinary/neeto-icons/Refresh';
|
|
58
|
+
import '@bigbinary/neetoui/Input';
|
|
31
59
|
import 'react-colorful';
|
|
32
60
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
33
61
|
import '@bigbinary/neeto-molecules/DynamicVariables';
|
|
34
|
-
import '
|
|
62
|
+
import '@bigbinary/neetoui/Modal';
|
|
63
|
+
import '@bigbinary/neetoui/Tab';
|
|
64
|
+
import './chunk-eafe8fe4.js';
|
|
35
65
|
import 'zustand/shallow';
|
|
66
|
+
import '@bigbinary/neetoui/Toastr';
|
|
36
67
|
import 'zustand';
|
|
37
68
|
import './chunk-65f73e5a.js';
|
|
69
|
+
import '@bigbinary/neeto-icons/LeftAlign';
|
|
70
|
+
import '@bigbinary/neeto-icons/CenterAlign';
|
|
71
|
+
import '@bigbinary/neeto-icons/RightAlign';
|
|
72
|
+
import '@bigbinary/neeto-icons/Delete';
|
|
38
73
|
import '@bigbinary/neeto-commons-frontend/initializers';
|
|
74
|
+
import '@bigbinary/neetoui/Tooltip';
|
|
75
|
+
import '@bigbinary/neetoui/Spinner';
|
|
76
|
+
import '@bigbinary/neetoui/Checkbox';
|
|
77
|
+
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
39
78
|
import '@tippyjs/react';
|
|
79
|
+
import '@bigbinary/neeto-icons/File';
|
|
40
80
|
import 'yup';
|
|
41
81
|
//# sourceMappingURL=Menu.js.map
|
package/dist/Menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Menu.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|