@bigbinary/neeto-editor 1.47.105 → 1.47.107
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/package.json +8 -8
- package/types.d.ts +1 -0
- package/dist/Attachments.js +0 -52
- package/dist/Attachments.js.map +0 -1
- package/dist/Editor.js +0 -22377
- package/dist/Editor.js.map +0 -1
- package/dist/EditorContent.js +0 -250
- package/dist/EditorContent.js.map +0 -1
- package/dist/FormikEditor.js +0 -199
- package/dist/FormikEditor.js.map +0 -1
- package/dist/Menu.js +0 -106
- package/dist/Menu.js.map +0 -1
- package/dist/chunk-2Y0OJ9hf.js +0 -12640
- package/dist/chunk-2Y0OJ9hf.js.map +0 -1
- package/dist/chunk-B7tHOpir.js +0 -6725
- package/dist/chunk-B7tHOpir.js.map +0 -1
- package/dist/chunk-BtgLcjAt.js +0 -16238
- package/dist/chunk-BtgLcjAt.js.map +0 -1
- package/dist/chunk-CU3LdVPN.js +0 -18953
- package/dist/chunk-CU3LdVPN.js.map +0 -1
- package/dist/chunk-DNMH2cJJ.js +0 -84
- package/dist/chunk-DNMH2cJJ.js.map +0 -1
- package/dist/chunk-DP3L767h.js +0 -8588
- package/dist/chunk-DP3L767h.js.map +0 -1
- package/dist/chunk-DmrvuTKK.js +0 -4
- package/dist/chunk-DmrvuTKK.js.map +0 -1
- package/dist/chunk-DxGDZoUl.js +0 -19
- package/dist/chunk-DxGDZoUl.js.map +0 -1
- package/dist/chunk-E-ZsRS8r.js +0 -33
- package/dist/chunk-E-ZsRS8r.js.map +0 -1
- package/dist/chunk-nYgNTOBs.js +0 -571
- package/dist/chunk-nYgNTOBs.js.map +0 -1
- package/dist/chunk-xmTFld61.js +0 -69027
- package/dist/chunk-xmTFld61.js.map +0 -1
- package/dist/cjs/Attachments.cjs.js +0 -58
- package/dist/cjs/Attachments.cjs.js.map +0 -1
- package/dist/cjs/Editor.cjs.js +0 -22474
- package/dist/cjs/Editor.cjs.js.map +0 -1
- package/dist/cjs/EditorContent.cjs.js +0 -264
- package/dist/cjs/EditorContent.cjs.js.map +0 -1
- package/dist/cjs/FormikEditor.cjs.js +0 -206
- package/dist/cjs/FormikEditor.cjs.js.map +0 -1
- package/dist/cjs/Menu.cjs.js +0 -112
- package/dist/cjs/Menu.cjs.js.map +0 -1
- package/dist/cjs/chunk-2HrSPdAV.cjs.js +0 -92
- package/dist/cjs/chunk-2HrSPdAV.cjs.js.map +0 -1
- package/dist/cjs/chunk-AgahZtc5.cjs.js +0 -16258
- package/dist/cjs/chunk-AgahZtc5.cjs.js.map +0 -1
- package/dist/cjs/chunk-B83fTs8d.cjs.js +0 -37
- package/dist/cjs/chunk-B83fTs8d.cjs.js.map +0 -1
- package/dist/cjs/chunk-BGy3NmZC.cjs.js +0 -49
- package/dist/cjs/chunk-BGy3NmZC.cjs.js.map +0 -1
- package/dist/cjs/chunk-C3rn62sV.cjs.js +0 -19082
- package/dist/cjs/chunk-C3rn62sV.cjs.js.map +0 -1
- package/dist/cjs/chunk-CLeV8Bxb.cjs.js +0 -6766
- package/dist/cjs/chunk-CLeV8Bxb.cjs.js.map +0 -1
- package/dist/cjs/chunk-COT7CF-z.cjs.js +0 -8652
- package/dist/cjs/chunk-COT7CF-z.cjs.js.map +0 -1
- package/dist/cjs/chunk-CYI1JJPG.cjs.js +0 -12645
- package/dist/cjs/chunk-CYI1JJPG.cjs.js.map +0 -1
- package/dist/cjs/chunk-CrSw8VHc.cjs.js +0 -69056
- package/dist/cjs/chunk-CrSw8VHc.cjs.js.map +0 -1
- package/dist/cjs/chunk-DYSZxrWZ.cjs.js +0 -597
- package/dist/cjs/chunk-DYSZxrWZ.cjs.js.map +0 -1
- package/dist/cjs/chunk-vQvjPR2x.cjs.js +0 -6
- package/dist/cjs/chunk-vQvjPR2x.cjs.js.map +0 -1
- package/dist/cjs/constants.cjs.js +0 -13
- package/dist/cjs/constants.cjs.js.map +0 -1
- package/dist/cjs/index.cjs.js +0 -159
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/utils.cjs.js +0 -27
- package/dist/cjs/utils.cjs.js.map +0 -1
- package/dist/codeblockHighlight.js +0 -15155
- package/dist/codeblockHighlight.js.map +0 -1
- package/dist/constants.js +0 -6
- package/dist/constants.js.map +0 -1
- package/dist/editor-content.min.css +0 -1
- package/dist/editor-output-pdf-email.css +0 -1
- package/dist/editor-output-pdf-email.js +0 -4
- package/dist/editor-output-pdf-email.js.map +0 -1
- package/dist/editor-output.js +0 -4
- package/dist/editor-output.js.map +0 -1
- package/dist/editor-stats.html +0 -4842
- package/dist/editorUtils.js +0 -170
- package/dist/headerLinks.js +0 -59
- package/dist/headerLinks.js.map +0 -1
- package/dist/index.js +0 -142
- package/dist/index.js.map +0 -1
- package/dist/utils.js +0 -15
- package/dist/utils.js.map +0 -1
package/dist/chunk-DmrvuTKK.js
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
2
|
-
|
|
3
|
-
export { n };
|
|
4
|
-
//# sourceMappingURL=chunk-DmrvuTKK.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-DmrvuTKK.js","sources":["../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":[],"mappings":"AAAA,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;;;","x_google_ignoreList":[0]}
|
package/dist/chunk-DxGDZoUl.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { A as ALL_PROTOCOL_URL_REGEXP, E as EDITOR_OPTIONS } from './chunk-DNMH2cJJ.js';
|
|
2
|
-
import { t } from 'i18next';
|
|
3
|
-
import * as yup from 'yup';
|
|
4
|
-
|
|
5
|
-
var DEFAULT_EDITOR_OPTIONS = [EDITOR_OPTIONS.BOLD, EDITOR_OPTIONS.ITALIC, EDITOR_OPTIONS.UNDERLINE, EDITOR_OPTIONS.STRIKETHROUGH, EDITOR_OPTIONS.LINK, EDITOR_OPTIONS.PARAGRAPH, EDITOR_OPTIONS.H1, EDITOR_OPTIONS.H2, EDITOR_OPTIONS.H3, EDITOR_OPTIONS.H4, EDITOR_OPTIONS.H5, EDITOR_OPTIONS.H6, EDITOR_OPTIONS.LIST_BULLETS, EDITOR_OPTIONS.LIST_ORDERED, EDITOR_OPTIONS.CODE];
|
|
6
|
-
var EDITOR_PADDING_SIZE = 12;
|
|
7
|
-
var EDITOR_BORDER_SIZE = 1;
|
|
8
|
-
var EDITOR_LINE_HEIGHT = 21;
|
|
9
|
-
var IMAGE_REGEX = new RegExp(/(<img[^>]*?>)(?![\s\S]*<\/figure>)/g);
|
|
10
|
-
var IMAGE_REPLACEMENT_PATTERN = "<figure>$1</figure>";
|
|
11
|
-
var EMPTY_DIV_REGEX = new RegExp(/<div[^>]*?>\s*(?:<br[^>]*?>)\s*<\/div>/g);
|
|
12
|
-
var TRAILING_BR_REGEX = new RegExp(/\s*(?:<br[^>]*?>)+\s*$/);
|
|
13
|
-
var LINK_VALIDATION_SCHEMA = yup.object().shape({
|
|
14
|
-
textContent: yup.string().required(t("neetoEditor.error.textRequired")),
|
|
15
|
-
urlString: yup.string().matches(ALL_PROTOCOL_URL_REGEXP, t("neetoEditor.error.invalidUrl")).required(t("neetoEditor.error.urlRequired"))
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
export { DEFAULT_EDITOR_OPTIONS as D, EMPTY_DIV_REGEX as E, IMAGE_REGEX as I, LINK_VALIDATION_SCHEMA as L, TRAILING_BR_REGEX as T, IMAGE_REPLACEMENT_PATTERN as a, EDITOR_LINE_HEIGHT as b, EDITOR_PADDING_SIZE as c, EDITOR_BORDER_SIZE as d };
|
|
19
|
-
//# sourceMappingURL=chunk-DxGDZoUl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-DxGDZoUl.js","sources":["../src/components/Editor/constants.js"],"sourcesContent":["import { ALL_PROTOCOL_URL_REGEXP, EDITOR_OPTIONS } from \"common/constants\";\nimport { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const DEFAULT_EDITOR_OPTIONS = [\n EDITOR_OPTIONS.BOLD,\n EDITOR_OPTIONS.ITALIC,\n EDITOR_OPTIONS.UNDERLINE,\n EDITOR_OPTIONS.STRIKETHROUGH,\n EDITOR_OPTIONS.LINK,\n EDITOR_OPTIONS.PARAGRAPH,\n EDITOR_OPTIONS.H1,\n EDITOR_OPTIONS.H2,\n EDITOR_OPTIONS.H3,\n EDITOR_OPTIONS.H4,\n EDITOR_OPTIONS.H5,\n EDITOR_OPTIONS.H6,\n EDITOR_OPTIONS.LIST_BULLETS,\n EDITOR_OPTIONS.LIST_ORDERED,\n EDITOR_OPTIONS.CODE,\n];\nexport const EDITOR_PADDING_SIZE = 12;\n\nexport const EDITOR_BORDER_SIZE = 1;\n\nexport const EDITOR_LINE_HEIGHT = 21;\n\nexport const IMAGE_REGEX = new RegExp(/(<img[^>]*?>)(?![\\s\\S]*<\\/figure>)/g);\nexport const IMAGE_REPLACEMENT_PATTERN = \"<figure>$1</figure>\";\nexport const EMPTY_DIV_REGEX = new RegExp(\n /<div[^>]*?>\\s*(?:<br[^>]*?>)\\s*<\\/div>/g\n);\nexport const TRAILING_BR_REGEX = new RegExp(/\\s*(?:<br[^>]*?>)+\\s*$/);\n\nexport const LINK_VALIDATION_SCHEMA = yup.object().shape({\n textContent: yup.string().required(t(\"neetoEditor.error.textRequired\")),\n urlString: yup\n .string()\n .matches(ALL_PROTOCOL_URL_REGEXP, t(\"neetoEditor.error.invalidUrl\"))\n .required(t(\"neetoEditor.error.urlRequired\")),\n});\n"],"names":["DEFAULT_EDITOR_OPTIONS","EDITOR_OPTIONS","BOLD","ITALIC","UNDERLINE","STRIKETHROUGH","LINK","PARAGRAPH","H1","H2","H3","H4","H5","H6","LIST_BULLETS","LIST_ORDERED","CODE","EDITOR_PADDING_SIZE","EDITOR_BORDER_SIZE","EDITOR_LINE_HEIGHT","IMAGE_REGEX","RegExp","IMAGE_REPLACEMENT_PATTERN","EMPTY_DIV_REGEX","TRAILING_BR_REGEX","LINK_VALIDATION_SCHEMA","yup","object","shape","textContent","string","required","t","urlString","matches","ALL_PROTOCOL_URL_REGEXP"],"mappings":";;;;AAIaA,IAAAA,sBAAsB,GAAG,CACpCC,cAAc,CAACC,IAAI,EACnBD,cAAc,CAACE,MAAM,EACrBF,cAAc,CAACG,SAAS,EACxBH,cAAc,CAACI,aAAa,EAC5BJ,cAAc,CAACK,IAAI,EACnBL,cAAc,CAACM,SAAS,EACxBN,cAAc,CAACO,EAAE,EACjBP,cAAc,CAACQ,EAAE,EACjBR,cAAc,CAACS,EAAE,EACjBT,cAAc,CAACU,EAAE,EACjBV,cAAc,CAACW,EAAE,EACjBX,cAAc,CAACY,EAAE,EACjBZ,cAAc,CAACa,YAAY,EAC3Bb,cAAc,CAACc,YAAY,EAC3Bd,cAAc,CAACe,IAAI,EACpB;AACM,IAAMC,mBAAmB,GAAG,GAAE;AAE9B,IAAMC,kBAAkB,GAAG,EAAC;AAE5B,IAAMC,kBAAkB,GAAG,GAAE;IAEvBC,WAAW,GAAG,IAAIC,MAAM,CAAC,qCAAqC,EAAC;AACrE,IAAMC,yBAAyB,GAAG,sBAAqB;IACjDC,eAAe,GAAG,IAAIF,MAAM,CACvC,yCACF,EAAC;IACYG,iBAAiB,GAAG,IAAIH,MAAM,CAAC,wBAAwB,EAAC;AAE9D,IAAMI,sBAAsB,GAAGC,GAAG,CAACC,MAAM,EAAE,CAACC,KAAK,CAAC;AACvDC,EAAAA,WAAW,EAAEH,GAAG,CAACI,MAAM,EAAE,CAACC,QAAQ,CAACC,CAAC,CAAC,gCAAgC,CAAC,CAAC;EACvEC,SAAS,EAAEP,GAAG,CACXI,MAAM,EAAE,CACRI,OAAO,CAACC,uBAAuB,EAAEH,CAAC,CAAC,8BAA8B,CAAC,CAAC,CACnED,QAAQ,CAACC,CAAC,CAAC,+BAA+B,CAAC,CAAA;AAChD,CAAC;;;;"}
|
package/dist/chunk-E-ZsRS8r.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
2
|
-
|
|
3
|
-
function getDefaultExportFromCjs (x) {
|
|
4
|
-
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function getAugmentedNamespace(n) {
|
|
8
|
-
if (n.__esModule) return n;
|
|
9
|
-
var f = n.default;
|
|
10
|
-
if (typeof f == "function") {
|
|
11
|
-
var a = function a () {
|
|
12
|
-
if (this instanceof a) {
|
|
13
|
-
return Reflect.construct(f, arguments, this.constructor);
|
|
14
|
-
}
|
|
15
|
-
return f.apply(this, arguments);
|
|
16
|
-
};
|
|
17
|
-
a.prototype = f.prototype;
|
|
18
|
-
} else a = {};
|
|
19
|
-
Object.defineProperty(a, '__esModule', {value: true});
|
|
20
|
-
Object.keys(n).forEach(function (k) {
|
|
21
|
-
var d = Object.getOwnPropertyDescriptor(n, k);
|
|
22
|
-
Object.defineProperty(a, k, d.get ? d : {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () {
|
|
25
|
-
return n[k];
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
return a;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export { getAugmentedNamespace as a, commonjsGlobal as c, getDefaultExportFromCjs as g };
|
|
33
|
-
//# sourceMappingURL=chunk-E-ZsRS8r.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-E-ZsRS8r.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/chunk-nYgNTOBs.js
DELETED
|
@@ -1,571 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
3
|
-
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
4
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
|
-
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
6
|
-
import { useState, useRef, memo, forwardRef, useMemo, useImperativeHandle, createElement, Suspense, lazy } from 'react';
|
|
7
|
-
import classnames from 'classnames';
|
|
8
|
-
import { removeBy, isPresent, noop, isNotEmpty } from '@bigbinary/neeto-cist';
|
|
9
|
-
import Button from '@bigbinary/neetoui/Button';
|
|
10
|
-
import Toastr from '@bigbinary/neetoui/Toastr';
|
|
11
|
-
import { mergeRight, isEmpty, assoc } from 'ramda';
|
|
12
|
-
import { useTranslation, Trans } from 'react-i18next';
|
|
13
|
-
import { F as File, d as directUploadsApi, a as FileIcon, u as useFileUploader, b as useDropFiles } from './chunk-DP3L767h.js';
|
|
14
|
-
import { n } from './chunk-DmrvuTKK.js';
|
|
15
|
-
import useOnClickOutside from '@bigbinary/neeto-commons-frontend/react-utils/useOnClickOutside';
|
|
16
|
-
import { withEventTargetValue } from '@bigbinary/neeto-commons-frontend/utils';
|
|
17
|
-
import MenuVertical from '@bigbinary/neeto-icons/MenuVertical';
|
|
18
|
-
import Close from '@bigbinary/neeto-icons/Close';
|
|
19
|
-
import Check from '@bigbinary/neeto-icons/Check';
|
|
20
|
-
import Dropdown from '@bigbinary/neetoui/Dropdown';
|
|
21
|
-
import Input from '@bigbinary/neetoui/Input';
|
|
22
|
-
import Spinner from '@bigbinary/neetoui/Spinner';
|
|
23
|
-
import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
24
|
-
import Typography from '@bigbinary/neetoui/Typography';
|
|
25
|
-
import Alert from '@bigbinary/neetoui/Alert';
|
|
26
|
-
import { t } from 'i18next';
|
|
27
|
-
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
28
|
-
import { D as DIRECT_UPLOAD_ENDPOINT } from './chunk-DNMH2cJJ.js';
|
|
29
|
-
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
30
|
-
|
|
31
|
-
var css = ".ne-attachments{display:flex;flex-direction:column;gap:8px}.ne-attachments__items{display:flex;flex-wrap:wrap;gap:8px}.ne-attachments__preview{align-items:center;background-color:rgb(var(--neeto-ui-white));border:1px solid rgb(var(--neeto-ui-gray-200));border-radius:var(--neeto-ui-rounded-sm);display:flex;justify-content:space-between;padding-block:4px;padding-inline:8px 2px;width:256px}.ne-attachments__preview-wrapper{display:flex;gap:8px;width:88%}.ne-attachments__preview-wrapper__icon{height:auto;width:15px}.ne-attachments__preview-wrapper p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:92%}.ne-attachments__preview-wrapper:hover{cursor:pointer}.ne-attachments__preview__progress{display:flex;gap:4px;justify-content:space-between;opacity:.5;width:76%}.ne-attachments__preview__progress p{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:85%}.ne-attachments__preview__progress p:nth-child(2){flex-shrink:0;width:-moz-fit-content;width:fit-content}.ne-attachments__preview__progress-icon{height:auto;width:15px}.ne-attachments__preview:hover{box-shadow:0 0 0 1px rgb(var(--neeto-ui-gray-400))}.ne-attachments input[type=file]{display:none}.ne-attachments-preview{display:flex;flex-direction:column;gap:8px}.ne-attachments-preview .neeto-ui-modal__close{inset-inline-end:16px!important;top:9px!important}.ne-attachments-preview__header{border-bottom:1px solid rgb(var(--neeto-ui-gray-200));display:flex;flex-direction:row;gap:8px;margin-bottom:8px;min-height:58px;padding:16px!important}.ne-attachments-preview__header__fileinfo{align-items:center;border-inline-end:1px solid rgb(var(--neeto-ui-gray-200));display:flex;gap:8px;padding-inline-end:6px}.ne-attachments-preview__body{align-items:center;display:flex;flex-grow:1;justify-content:center;min-height:10px;padding-bottom:8px!important;position:relative;width:100vw}.ne-attachments-preview__body-download{color:rgb(var(--neeto-ui-accent-800));cursor:pointer}.ne-attachments-preview__body-docviewer{height:100%;width:100%}.ne-attachments-preview__body img{max-height:100%;max-width:100%}.ne-attachments-preview__body video{height:100%;width:100%}.ne-attachments-preview__body iframe{height:100%;padding:0 8px;width:100%}.ne-attachments-preview__body-left,.ne-attachments-preview__body-right{position:absolute!important;top:50%;transform:translateY(-50%);z-index:1}.ne-attachments-preview__body-left{inset-inline-start:16px}.ne-attachments-preview__body-right{inset-inline-end:16px}.ne-attachments .attachment-button-loader{scale:.5;width:26px!important}.ne-attachments--integrated{background-color:rgb(var(--neeto-ui-white));border:1px solid rgb(var(--neeto-ui-gray-300));border-radius:0 0 var(--neeto-ui-rounded) var(--neeto-ui-rounded);border-top:none;padding-inline:6px}.ne-attachments__wrapper{position:relative}.ne-attachments__wrapper.is-dragging-over-files:after{align-items:center;background-color:rgba(var(--neeto-ui-gray-300),.5);border:3px dashed rgb(var(--neeto-ui-gray-500));border-radius:5px;color:rgb(var(--neeto-ui-gray-600));content:\"Drop the file here\";display:flex;font-size:1.2rem;font-weight:700;inset:7px;justify-content:center;pointer-events:none;position:absolute}";
|
|
32
|
-
n(css,{});
|
|
33
|
-
|
|
34
|
-
var DEFAULT_FILE_UPLOAD_CONFIG = {
|
|
35
|
-
directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,
|
|
36
|
-
restrictions: {
|
|
37
|
-
maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
var ATTACHMENT_OPTIONS = {
|
|
41
|
-
OPEN_IN_NEW_TAB: t("neetoEditor.common.openInNewTab"),
|
|
42
|
-
DOWNLOAD: t("neetoEditor.common.download"),
|
|
43
|
-
RENAME: t("neetoEditor.attachments.rename"),
|
|
44
|
-
DELETE: t("neetoEditor.menu.delete")
|
|
45
|
-
};
|
|
46
|
-
var ATTACHMENTS_PREVIEW_DATA_CY = "ne-attachments-preview-content";
|
|
47
|
-
|
|
48
|
-
var buildFileUploadConfig = function buildFileUploadConfig(config) {
|
|
49
|
-
return mergeRight(DEFAULT_FILE_UPLOAD_CONFIG, config);
|
|
50
|
-
};
|
|
51
|
-
var downloadFile = /*#__PURE__*/function () {
|
|
52
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(fileUrl, filename) {
|
|
53
|
-
var response, blob, blobUrl, a;
|
|
54
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
55
|
-
while (1) switch (_context.prev = _context.next) {
|
|
56
|
-
case 0:
|
|
57
|
-
_context.prev = 0;
|
|
58
|
-
_context.next = 3;
|
|
59
|
-
return fetch(fileUrl);
|
|
60
|
-
case 3:
|
|
61
|
-
response = _context.sent;
|
|
62
|
-
_context.next = 6;
|
|
63
|
-
return response.blob();
|
|
64
|
-
case 6:
|
|
65
|
-
blob = _context.sent;
|
|
66
|
-
blobUrl = URL.createObjectURL(blob);
|
|
67
|
-
a = document.createElement("a");
|
|
68
|
-
a.href = blobUrl;
|
|
69
|
-
a.setAttribute("download", filename);
|
|
70
|
-
a.style.display = "none";
|
|
71
|
-
document.body.appendChild(a);
|
|
72
|
-
a.click();
|
|
73
|
-
document.body.removeChild(a);
|
|
74
|
-
URL.revokeObjectURL(blobUrl);
|
|
75
|
-
_context.next = 21;
|
|
76
|
-
break;
|
|
77
|
-
case 18:
|
|
78
|
-
_context.prev = 18;
|
|
79
|
-
_context.t0 = _context["catch"](0);
|
|
80
|
-
Toastr.error(_context.t0);
|
|
81
|
-
case 21:
|
|
82
|
-
case "end":
|
|
83
|
-
return _context.stop();
|
|
84
|
-
}
|
|
85
|
-
}, _callee, null, [[0, 18]]);
|
|
86
|
-
}));
|
|
87
|
-
return function downloadFile(_x, _x2) {
|
|
88
|
-
return _ref.apply(this, arguments);
|
|
89
|
-
};
|
|
90
|
-
}();
|
|
91
|
-
var checkPreviewAvailability = function checkPreviewAvailability(contentType) {
|
|
92
|
-
return contentType && (contentType.startsWith("video/") || contentType === "application/pdf" || contentType === "image/jpeg" || contentType === "image/gif" || contentType === "image/png" || contentType === "image/webp" || contentType === "text/plain" || contentType === "image/bmp" || contentType === "application/msword" || contentType === "application/vnd.openxmlformats-officedocument.wordprocessingml.document" || contentType === "image/jpg" || contentType === "application/vnd.ms-powerpoint" || contentType === "application/vnd.openxmlformats-officedocument.presentationml.presentation" || contentType === "image/tiff" || contentType === "application/vnd.ms-excel" || contentType === "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
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; }
|
|
96
|
-
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; }
|
|
97
|
-
var Menu = Dropdown.Menu,
|
|
98
|
-
MenuItem = Dropdown.MenuItem;
|
|
99
|
-
var Attachment = function Attachment(_ref) {
|
|
100
|
-
var attachment = _ref.attachment,
|
|
101
|
-
attachments = _ref.attachments,
|
|
102
|
-
disabled = _ref.disabled,
|
|
103
|
-
onChange = _ref.onChange,
|
|
104
|
-
setSelectedAttachment = _ref.setSelectedAttachment,
|
|
105
|
-
isLoading = _ref.isLoading,
|
|
106
|
-
allowDelete = _ref.allowDelete,
|
|
107
|
-
allowOpenInNewTab = _ref.allowOpenInNewTab;
|
|
108
|
-
var _useTranslation = useTranslation(),
|
|
109
|
-
t = _useTranslation.t;
|
|
110
|
-
var _useState = useState(false),
|
|
111
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
112
|
-
isRenaming = _useState2[0],
|
|
113
|
-
setIsRenaming = _useState2[1];
|
|
114
|
-
var _useState3 = useState(false),
|
|
115
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
116
|
-
isUpdating = _useState4[0],
|
|
117
|
-
setIsUpdating = _useState4[1];
|
|
118
|
-
var _useState5 = useState(false),
|
|
119
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
120
|
-
isDeleteAlertOpen = _useState6[0],
|
|
121
|
-
setIsDeleteAlertOpen = _useState6[1];
|
|
122
|
-
var _useState7 = useState(false),
|
|
123
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
124
|
-
isDeleting = _useState8[0],
|
|
125
|
-
setIsDeleting = _useState8[1];
|
|
126
|
-
var _useState9 = useState(""),
|
|
127
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
128
|
-
newFilename = _useState0[0],
|
|
129
|
-
setNewFilename = _useState0[1];
|
|
130
|
-
var renameRef = useRef(null);
|
|
131
|
-
useOnClickOutside(renameRef, function () {
|
|
132
|
-
if (!isRenaming) return;
|
|
133
|
-
setIsRenaming(false);
|
|
134
|
-
setNewFilename("");
|
|
135
|
-
});
|
|
136
|
-
var handleDownload = function handleDownload() {
|
|
137
|
-
return downloadFile(attachment.url, attachment.filename);
|
|
138
|
-
};
|
|
139
|
-
var handleOpenInNewTab = function handleOpenInNewTab() {
|
|
140
|
-
return window.open(attachment.url, "_blank", "noopener,noreferrer");
|
|
141
|
-
};
|
|
142
|
-
var handleRename = /*#__PURE__*/function () {
|
|
143
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
144
|
-
var _response$data, signedId, payload, response, filename;
|
|
145
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
146
|
-
while (1) switch (_context.prev = _context.next) {
|
|
147
|
-
case 0:
|
|
148
|
-
_context.prev = 0;
|
|
149
|
-
setIsUpdating(true);
|
|
150
|
-
signedId = attachment.signedId;
|
|
151
|
-
payload = {
|
|
152
|
-
blob: {
|
|
153
|
-
filename: newFilename
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
_context.next = 6;
|
|
157
|
-
return directUploadsApi.update({
|
|
158
|
-
signedId: signedId,
|
|
159
|
-
payload: payload
|
|
160
|
-
});
|
|
161
|
-
case 6:
|
|
162
|
-
response = _context.sent;
|
|
163
|
-
filename = ((_response$data = response.data) === null || _response$data === void 0 || (_response$data = _response$data.blob) === null || _response$data === void 0 ? void 0 : _response$data.filename) || response.blob.filename;
|
|
164
|
-
onChange(attachments.map(function (attachment) {
|
|
165
|
-
return attachment.signedId === signedId ? assoc("filename", filename, attachment) : attachment;
|
|
166
|
-
}));
|
|
167
|
-
_context.next = 14;
|
|
168
|
-
break;
|
|
169
|
-
case 11:
|
|
170
|
-
_context.prev = 11;
|
|
171
|
-
_context.t0 = _context["catch"](0);
|
|
172
|
-
Toastr.error(_context.t0);
|
|
173
|
-
case 14:
|
|
174
|
-
_context.prev = 14;
|
|
175
|
-
setIsRenaming(false);
|
|
176
|
-
setIsUpdating(false);
|
|
177
|
-
setNewFilename("");
|
|
178
|
-
return _context.finish(14);
|
|
179
|
-
case 19:
|
|
180
|
-
case "end":
|
|
181
|
-
return _context.stop();
|
|
182
|
-
}
|
|
183
|
-
}, _callee, null, [[0, 11, 14, 19]]);
|
|
184
|
-
}));
|
|
185
|
-
return function handleRename() {
|
|
186
|
-
return _ref2.apply(this, arguments);
|
|
187
|
-
};
|
|
188
|
-
}();
|
|
189
|
-
var handleDelete = /*#__PURE__*/function () {
|
|
190
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
191
|
-
var signedId;
|
|
192
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
193
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
194
|
-
case 0:
|
|
195
|
-
if (allowDelete) {
|
|
196
|
-
_context2.next = 2;
|
|
197
|
-
break;
|
|
198
|
-
}
|
|
199
|
-
return _context2.abrupt("return");
|
|
200
|
-
case 2:
|
|
201
|
-
setIsDeleting(true);
|
|
202
|
-
_context2.prev = 3;
|
|
203
|
-
signedId = attachment.signedId;
|
|
204
|
-
_context2.next = 7;
|
|
205
|
-
return directUploadsApi.destroy(signedId);
|
|
206
|
-
case 7:
|
|
207
|
-
onChange(removeBy({
|
|
208
|
-
signedId: signedId
|
|
209
|
-
}, attachments));
|
|
210
|
-
_context2.next = 13;
|
|
211
|
-
break;
|
|
212
|
-
case 10:
|
|
213
|
-
_context2.prev = 10;
|
|
214
|
-
_context2.t0 = _context2["catch"](3);
|
|
215
|
-
Toastr.error(_context2.t0);
|
|
216
|
-
case 13:
|
|
217
|
-
case "end":
|
|
218
|
-
return _context2.stop();
|
|
219
|
-
}
|
|
220
|
-
}, _callee2, null, [[3, 10]]);
|
|
221
|
-
}));
|
|
222
|
-
return function handleDelete() {
|
|
223
|
-
return _ref3.apply(this, arguments);
|
|
224
|
-
};
|
|
225
|
-
}();
|
|
226
|
-
var handlers = _objectSpread(_objectSpread({}, allowOpenInNewTab && _defineProperty({}, ATTACHMENT_OPTIONS.OPEN_IN_NEW_TAB, handleOpenInNewTab)), {}, _defineProperty(_defineProperty({}, ATTACHMENT_OPTIONS.DOWNLOAD, handleDownload), ATTACHMENT_OPTIONS.RENAME, handleRename), allowDelete && _defineProperty({}, ATTACHMENT_OPTIONS.DELETE, handleDelete));
|
|
227
|
-
var onMenuItemClick = function onMenuItemClick(_ref6) {
|
|
228
|
-
var key = _ref6.key,
|
|
229
|
-
handler = _ref6.handler;
|
|
230
|
-
if (key === ATTACHMENT_OPTIONS.RENAME) {
|
|
231
|
-
setIsRenaming(true);
|
|
232
|
-
setNewFilename(attachment.filename);
|
|
233
|
-
} else if (key === ATTACHMENT_OPTIONS.DELETE) {
|
|
234
|
-
setNewFilename(attachment.filename);
|
|
235
|
-
setIsDeleteAlertOpen(true);
|
|
236
|
-
} else {
|
|
237
|
-
handler();
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
var handleKeyDown = function handleKeyDown(_ref7) {
|
|
241
|
-
var event = _ref7.event,
|
|
242
|
-
key = _ref7.key;
|
|
243
|
-
var handler = handlers[key];
|
|
244
|
-
if (event.key === "Enter" && handler && !isEmpty(newFilename)) {
|
|
245
|
-
event.stopPropagation();
|
|
246
|
-
event.preventDefault();
|
|
247
|
-
handler();
|
|
248
|
-
}
|
|
249
|
-
if (event.key === "Escape") {
|
|
250
|
-
setIsRenaming(false);
|
|
251
|
-
setNewFilename("");
|
|
252
|
-
}
|
|
253
|
-
};
|
|
254
|
-
return /*#__PURE__*/jsxs(Fragment, {
|
|
255
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
256
|
-
className: "ne-attachments__preview",
|
|
257
|
-
"data-testid": "ne-attachments-wrapper",
|
|
258
|
-
children: isRenaming ? /*#__PURE__*/jsx("div", {
|
|
259
|
-
ref: renameRef,
|
|
260
|
-
children: /*#__PURE__*/jsx(Tooltip, {
|
|
261
|
-
content: newFilename,
|
|
262
|
-
position: "top",
|
|
263
|
-
children: /*#__PURE__*/jsx(Input, {
|
|
264
|
-
autoFocus: true,
|
|
265
|
-
"data-testid": "neeto-editor-preview-rename-input",
|
|
266
|
-
size: "small",
|
|
267
|
-
value: newFilename,
|
|
268
|
-
error: isEmpty(newFilename) ? t("neetoEditor.attachments.nameEmpty") : "",
|
|
269
|
-
suffix: /*#__PURE__*/jsxs("div", {
|
|
270
|
-
className: "flex items-center justify-end",
|
|
271
|
-
children: [/*#__PURE__*/jsx(Button, {
|
|
272
|
-
"data-testid": "neeto-editor-preview-rename-submit-button",
|
|
273
|
-
disabled: isEmpty(newFilename) || isUpdating,
|
|
274
|
-
icon: Check,
|
|
275
|
-
loading: isUpdating,
|
|
276
|
-
size: "small",
|
|
277
|
-
style: "text",
|
|
278
|
-
onClick: handleRename
|
|
279
|
-
}), /*#__PURE__*/jsx(Button, {
|
|
280
|
-
"data-testid": "neeto-editor-preview-rename-cancel-button",
|
|
281
|
-
disabled: isUpdating,
|
|
282
|
-
icon: Close,
|
|
283
|
-
size: "small",
|
|
284
|
-
style: "text",
|
|
285
|
-
onClick: function onClick() {
|
|
286
|
-
setIsRenaming(false);
|
|
287
|
-
setNewFilename("");
|
|
288
|
-
}
|
|
289
|
-
})]
|
|
290
|
-
}),
|
|
291
|
-
onChange: withEventTargetValue(setNewFilename),
|
|
292
|
-
onKeyDown: function onKeyDown(event) {
|
|
293
|
-
return handleKeyDown({
|
|
294
|
-
event: event,
|
|
295
|
-
key: ATTACHMENT_OPTIONS.RENAME
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
})
|
|
299
|
-
})
|
|
300
|
-
}) : /*#__PURE__*/jsxs(Fragment, {
|
|
301
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
302
|
-
className: "ne-attachments__preview-wrapper",
|
|
303
|
-
onClick: function onClick() {
|
|
304
|
-
return setSelectedAttachment(attachment);
|
|
305
|
-
},
|
|
306
|
-
children: [/*#__PURE__*/jsx(File, {
|
|
307
|
-
className: "ne-attachments__preview-wrapper__icon",
|
|
308
|
-
fileName: attachment.filename
|
|
309
|
-
}), /*#__PURE__*/jsx(Tooltip, {
|
|
310
|
-
content: attachment.filename,
|
|
311
|
-
position: "top",
|
|
312
|
-
children: /*#__PURE__*/jsx(Typography, {
|
|
313
|
-
style: "body2",
|
|
314
|
-
children: attachment.filename
|
|
315
|
-
})
|
|
316
|
-
}), isLoading && /*#__PURE__*/jsx(Spinner, {
|
|
317
|
-
className: "attachment-button-loader"
|
|
318
|
-
})]
|
|
319
|
-
}), /*#__PURE__*/jsx(Tooltip, {
|
|
320
|
-
content: t("neetoEditor.attachments.actionsBlocked"),
|
|
321
|
-
disabled: !disabled,
|
|
322
|
-
position: "top",
|
|
323
|
-
children: /*#__PURE__*/jsx(Dropdown, {
|
|
324
|
-
disabled: disabled,
|
|
325
|
-
buttonSize: "small",
|
|
326
|
-
buttonStyle: "text",
|
|
327
|
-
icon: MenuVertical,
|
|
328
|
-
children: /*#__PURE__*/jsx(Menu, {
|
|
329
|
-
children: Object.entries(handlers).map(function (_ref8) {
|
|
330
|
-
var _ref9 = _slicedToArray(_ref8, 2),
|
|
331
|
-
label = _ref9[0],
|
|
332
|
-
handler = _ref9[1];
|
|
333
|
-
return /*#__PURE__*/jsx(MenuItem.Button, {
|
|
334
|
-
"data-testid": "neeto-editor-preview-".concat(label.toLowerCase(), "-button"),
|
|
335
|
-
onClick: function onClick() {
|
|
336
|
-
return onMenuItemClick({
|
|
337
|
-
key: label,
|
|
338
|
-
handler: handler
|
|
339
|
-
});
|
|
340
|
-
},
|
|
341
|
-
children: label
|
|
342
|
-
}, label);
|
|
343
|
-
})
|
|
344
|
-
})
|
|
345
|
-
})
|
|
346
|
-
})]
|
|
347
|
-
})
|
|
348
|
-
}), /*#__PURE__*/jsx(Alert, {
|
|
349
|
-
isOpen: isDeleteAlertOpen,
|
|
350
|
-
isSubmitting: isDeleting,
|
|
351
|
-
submitButtonLabel: t("neetoEditor.menu.delete"),
|
|
352
|
-
title: t("neetoEditor.attachments.deleteTitle"),
|
|
353
|
-
message: /*#__PURE__*/jsx(Trans, {
|
|
354
|
-
i18nKey: "neetoEditor.attachments.deleteConfirmation",
|
|
355
|
-
values: {
|
|
356
|
-
entity: newFilename
|
|
357
|
-
}
|
|
358
|
-
}),
|
|
359
|
-
onClose: function onClose() {
|
|
360
|
-
return setIsDeleteAlertOpen(false);
|
|
361
|
-
},
|
|
362
|
-
onSubmit: handleDelete
|
|
363
|
-
})]
|
|
364
|
-
});
|
|
365
|
-
};
|
|
366
|
-
|
|
367
|
-
var AttachmentProgress = function AttachmentProgress(_ref) {
|
|
368
|
-
var _attachment$progress;
|
|
369
|
-
var attachment = _ref.attachment,
|
|
370
|
-
cancelUpload = _ref.cancelUpload;
|
|
371
|
-
var progressPercentage = "".concat((_attachment$progress = attachment.progress) !== null && _attachment$progress !== void 0 ? _attachment$progress : 0, "%");
|
|
372
|
-
var handleCancel = function handleCancel() {
|
|
373
|
-
cancelUpload(attachment.id);
|
|
374
|
-
};
|
|
375
|
-
return /*#__PURE__*/jsxs("div", {
|
|
376
|
-
className: "ne-attachments__preview",
|
|
377
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
378
|
-
className: "ne-attachments__preview__progress-icon",
|
|
379
|
-
children: /*#__PURE__*/jsx(FileIcon, {})
|
|
380
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
381
|
-
className: "ne-attachments__preview__progress",
|
|
382
|
-
children: [/*#__PURE__*/jsx(Typography, {
|
|
383
|
-
style: "body2",
|
|
384
|
-
children: attachment.filename
|
|
385
|
-
}), /*#__PURE__*/jsx(Typography, {
|
|
386
|
-
style: "body2",
|
|
387
|
-
children: progressPercentage
|
|
388
|
-
})]
|
|
389
|
-
}), /*#__PURE__*/jsx(Button, {
|
|
390
|
-
"data-testid": "neeto-editor-preview-upload-cancel-button",
|
|
391
|
-
icon: Close,
|
|
392
|
-
size: "small",
|
|
393
|
-
style: "text",
|
|
394
|
-
onClick: handleCancel
|
|
395
|
-
})]
|
|
396
|
-
});
|
|
397
|
-
};
|
|
398
|
-
|
|
399
|
-
var Preview = /*#__PURE__*/lazy(function () {
|
|
400
|
-
return import('./chunk-xmTFld61.js');
|
|
401
|
-
});
|
|
402
|
-
var Attachments = function Attachments(_ref, ref) {
|
|
403
|
-
var _fileUploadConfig$all;
|
|
404
|
-
var _ref$attachments = _ref.attachments,
|
|
405
|
-
attachments = _ref$attachments === void 0 ? [] : _ref$attachments,
|
|
406
|
-
_ref$className = _ref.className,
|
|
407
|
-
className = _ref$className === void 0 ? "" : _ref$className,
|
|
408
|
-
_ref$onChange = _ref.onChange,
|
|
409
|
-
onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
|
|
410
|
-
_ref$isIndependent = _ref.isIndependent,
|
|
411
|
-
isIndependent = _ref$isIndependent === void 0 ? true : _ref$isIndependent,
|
|
412
|
-
_ref$disabled = _ref.disabled,
|
|
413
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
414
|
-
_ref$dragDropRef = _ref.dragDropRef,
|
|
415
|
-
dragDropRef = _ref$dragDropRef === void 0 ? null : _ref$dragDropRef,
|
|
416
|
-
_ref$config = _ref.config,
|
|
417
|
-
config = _ref$config === void 0 ? {} : _ref$config,
|
|
418
|
-
_ref$setIsUploading = _ref.setIsUploading,
|
|
419
|
-
setIsUploading = _ref$setIsUploading === void 0 ? noop : _ref$setIsUploading,
|
|
420
|
-
_ref$allowDelete = _ref.allowDelete,
|
|
421
|
-
allowDelete = _ref$allowDelete === void 0 ? true : _ref$allowDelete,
|
|
422
|
-
_ref$allowOpenInNewTa = _ref.allowOpenInNewTab,
|
|
423
|
-
allowOpenInNewTab = _ref$allowOpenInNewTa === void 0 ? true : _ref$allowOpenInNewTa;
|
|
424
|
-
var _useTranslation = useTranslation(),
|
|
425
|
-
t = _useTranslation.t;
|
|
426
|
-
var _useState = useState({}),
|
|
427
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
428
|
-
selectedAttachment = _useState2[0],
|
|
429
|
-
setSelectedAttachment = _useState2[1];
|
|
430
|
-
var _useState3 = useState(false),
|
|
431
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
432
|
-
didFetchPreviewBundle = _useState4[0],
|
|
433
|
-
setDidFetchPreviewBundle = _useState4[1];
|
|
434
|
-
var attachmentInputRef = useRef(null);
|
|
435
|
-
var fileUploadConfig = useMemo(function () {
|
|
436
|
-
return buildFileUploadConfig(config);
|
|
437
|
-
}, [config]);
|
|
438
|
-
var _useFileUploader = useFileUploader({
|
|
439
|
-
config: fileUploadConfig,
|
|
440
|
-
setIsUploadingOnHost: setIsUploading,
|
|
441
|
-
attachments: attachments
|
|
442
|
-
}),
|
|
443
|
-
addFiles = _useFileUploader.addFiles,
|
|
444
|
-
uploadFiles = _useFileUploader.uploadFiles,
|
|
445
|
-
queuedFiles = _useFileUploader.queuedFiles,
|
|
446
|
-
cancelUpload = _useFileUploader.cancelUpload,
|
|
447
|
-
isUploading = _useFileUploader.isUploading;
|
|
448
|
-
var handleAddFile = /*#__PURE__*/function () {
|
|
449
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
|
|
450
|
-
var uploadedFiles;
|
|
451
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
452
|
-
while (1) switch (_context.prev = _context.next) {
|
|
453
|
-
case 0:
|
|
454
|
-
addFiles(event.target.files);
|
|
455
|
-
_context.next = 3;
|
|
456
|
-
return uploadFiles();
|
|
457
|
-
case 3:
|
|
458
|
-
uploadedFiles = _context.sent;
|
|
459
|
-
isNotEmpty(uploadedFiles) && onChange([].concat(_toConsumableArray(attachments), _toConsumableArray(uploadedFiles)));
|
|
460
|
-
attachmentInputRef.current.value = null;
|
|
461
|
-
case 6:
|
|
462
|
-
case "end":
|
|
463
|
-
return _context.stop();
|
|
464
|
-
}
|
|
465
|
-
}, _callee);
|
|
466
|
-
}));
|
|
467
|
-
return function handleAddFile(_x) {
|
|
468
|
-
return _ref2.apply(this, arguments);
|
|
469
|
-
};
|
|
470
|
-
}();
|
|
471
|
-
var handleUploadAttachments = function handleUploadAttachments() {
|
|
472
|
-
return attachmentInputRef.current.click();
|
|
473
|
-
};
|
|
474
|
-
var handleFileInputClick = function handleFileInputClick(event) {
|
|
475
|
-
if (!(!isEmpty(attachments) && fileUploadConfig.maxNumberOfFiles === 1)) {
|
|
476
|
-
return;
|
|
477
|
-
}
|
|
478
|
-
event.preventDefault();
|
|
479
|
-
Toastr.warning(t("neetoEditor.attachments.oneAttachmentAllowed"));
|
|
480
|
-
};
|
|
481
|
-
useImperativeHandle(ref, function () {
|
|
482
|
-
return {
|
|
483
|
-
handleUploadAttachments: handleUploadAttachments
|
|
484
|
-
};
|
|
485
|
-
}, []);
|
|
486
|
-
var handleFilesDrop = /*#__PURE__*/function () {
|
|
487
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(files) {
|
|
488
|
-
var uploadedFiles;
|
|
489
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
490
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
491
|
-
case 0:
|
|
492
|
-
addFiles(files);
|
|
493
|
-
_context2.next = 3;
|
|
494
|
-
return uploadFiles();
|
|
495
|
-
case 3:
|
|
496
|
-
uploadedFiles = _context2.sent;
|
|
497
|
-
isNotEmpty(uploadedFiles) && onChange([].concat(_toConsumableArray(attachments), _toConsumableArray(uploadedFiles)));
|
|
498
|
-
case 5:
|
|
499
|
-
case "end":
|
|
500
|
-
return _context2.stop();
|
|
501
|
-
}
|
|
502
|
-
}, _callee2);
|
|
503
|
-
}));
|
|
504
|
-
return function handleFilesDrop(_x2) {
|
|
505
|
-
return _ref3.apply(this, arguments);
|
|
506
|
-
};
|
|
507
|
-
}();
|
|
508
|
-
useDropFiles({
|
|
509
|
-
dropTargetRef: dragDropRef,
|
|
510
|
-
attachments: attachments,
|
|
511
|
-
onDrop: handleFilesDrop
|
|
512
|
-
});
|
|
513
|
-
return /*#__PURE__*/jsxs("div", {
|
|
514
|
-
className: classnames("ne-attachments", _defineProperty({}, className, className)),
|
|
515
|
-
children: [/*#__PURE__*/jsxs("div", {
|
|
516
|
-
className: "ne-attachments__items",
|
|
517
|
-
children: [attachments.map(function (attachment) {
|
|
518
|
-
return /*#__PURE__*/createElement(Attachment, {
|
|
519
|
-
allowDelete: allowDelete,
|
|
520
|
-
allowOpenInNewTab: allowOpenInNewTab,
|
|
521
|
-
attachment: attachment,
|
|
522
|
-
attachments: attachments,
|
|
523
|
-
disabled: disabled,
|
|
524
|
-
onChange: onChange,
|
|
525
|
-
setSelectedAttachment: setSelectedAttachment,
|
|
526
|
-
key: attachment.signedId,
|
|
527
|
-
isLoading: !didFetchPreviewBundle && selectedAttachment.url === attachment.url
|
|
528
|
-
});
|
|
529
|
-
}), queuedFiles.map(function (attachment) {
|
|
530
|
-
return /*#__PURE__*/createElement(AttachmentProgress, {
|
|
531
|
-
attachment: attachment,
|
|
532
|
-
cancelUpload: cancelUpload,
|
|
533
|
-
key: attachment.id
|
|
534
|
-
});
|
|
535
|
-
})]
|
|
536
|
-
}), /*#__PURE__*/jsxs("div", {
|
|
537
|
-
children: [isIndependent && /*#__PURE__*/jsx(Button, {
|
|
538
|
-
"data-testid": "neeto-editor-attachments-upload-button",
|
|
539
|
-
disabled: isUploading,
|
|
540
|
-
label: t("neetoEditor.attachments.add"),
|
|
541
|
-
loading: isUploading,
|
|
542
|
-
size: "medium",
|
|
543
|
-
style: "link",
|
|
544
|
-
onClick: handleUploadAttachments
|
|
545
|
-
}), /*#__PURE__*/jsx("input", {
|
|
546
|
-
accept: (_fileUploadConfig$all = fileUploadConfig.allowedFileTypes) === null || _fileUploadConfig$all === void 0 ? void 0 : _fileUploadConfig$all.join(","),
|
|
547
|
-
multiple: fileUploadConfig.maxNumberOfFiles !== 1,
|
|
548
|
-
ref: attachmentInputRef,
|
|
549
|
-
type: "file",
|
|
550
|
-
onChange: handleAddFile,
|
|
551
|
-
onClick: handleFileInputClick
|
|
552
|
-
}), /*#__PURE__*/jsx(Suspense, {
|
|
553
|
-
fallback: /*#__PURE__*/jsx("span", {}),
|
|
554
|
-
children: isPresent(selectedAttachment) && /*#__PURE__*/jsx(Preview, {
|
|
555
|
-
attachments: attachments,
|
|
556
|
-
selectedAttachment: selectedAttachment,
|
|
557
|
-
setDidFetchPreviewBundle: setDidFetchPreviewBundle,
|
|
558
|
-
setSelectedAttachment: setSelectedAttachment,
|
|
559
|
-
onClose: function onClose() {
|
|
560
|
-
return setSelectedAttachment({});
|
|
561
|
-
}
|
|
562
|
-
})
|
|
563
|
-
})]
|
|
564
|
-
})]
|
|
565
|
-
});
|
|
566
|
-
};
|
|
567
|
-
Attachments.displayName = "NeetoEditorAttachments";
|
|
568
|
-
var Attachments$1 = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(Attachments));
|
|
569
|
-
|
|
570
|
-
export { Attachments$1 as A, ATTACHMENTS_PREVIEW_DATA_CY as a, checkPreviewAvailability as c, downloadFile as d };
|
|
571
|
-
//# sourceMappingURL=chunk-nYgNTOBs.js.map
|