@bigbinary/neeto-editor-frontend 0.0.0-stage → 2.0.1
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/LICENSE.md +21 -0
- package/README.md +145 -2
- package/app/javascript/src/translations/ar.json +209 -0
- package/app/javascript/src/translations/bg.json +209 -0
- package/app/javascript/src/translations/ca.json +209 -0
- package/app/javascript/src/translations/cs.json +209 -0
- package/app/javascript/src/translations/da.json +209 -0
- package/app/javascript/src/translations/de.json +209 -0
- package/app/javascript/src/translations/en.json +208 -0
- package/app/javascript/src/translations/es-MX.json +209 -0
- package/app/javascript/src/translations/es.json +209 -0
- package/app/javascript/src/translations/et.json +209 -0
- package/app/javascript/src/translations/fi.json +209 -0
- package/app/javascript/src/translations/fil.json +209 -0
- package/app/javascript/src/translations/fr.json +209 -0
- package/app/javascript/src/translations/he.json +209 -0
- package/app/javascript/src/translations/hi.json +209 -0
- package/app/javascript/src/translations/hr.json +209 -0
- package/app/javascript/src/translations/hu.json +209 -0
- package/app/javascript/src/translations/id.json +209 -0
- package/app/javascript/src/translations/index.js +1 -0
- package/app/javascript/src/translations/it.json +209 -0
- package/app/javascript/src/translations/ja.json +209 -0
- package/app/javascript/src/translations/ko.json +209 -0
- package/app/javascript/src/translations/lv.json +208 -0
- package/app/javascript/src/translations/nl.json +209 -0
- package/app/javascript/src/translations/pl.json +209 -0
- package/app/javascript/src/translations/pt-BR.json +209 -0
- package/app/javascript/src/translations/pt.json +209 -0
- package/app/javascript/src/translations/ro.json +209 -0
- package/app/javascript/src/translations/ru.json +209 -0
- package/app/javascript/src/translations/sk.json +209 -0
- package/app/javascript/src/translations/sl.json +209 -0
- package/app/javascript/src/translations/sv.json +209 -0
- package/app/javascript/src/translations/th.json +209 -0
- package/app/javascript/src/translations/tr.json +209 -0
- package/app/javascript/src/translations/uk.json +209 -0
- package/app/javascript/src/translations/vi.json +209 -0
- package/app/javascript/src/translations/zh-CN.json +209 -0
- package/app/javascript/src/translations/zh-TW.json +209 -0
- package/dist/.ready +1 -0
- package/dist/Attachments.js +53 -0
- package/dist/Attachments.js.map +1 -0
- package/dist/Editor.js +5530 -0
- package/dist/Editor.js.map +1 -0
- package/dist/EditorContent.js +252 -0
- package/dist/EditorContent.js.map +1 -0
- package/dist/FormikEditor.js +202 -0
- package/dist/FormikEditor.js.map +1 -0
- package/dist/Menu.js +107 -0
- package/dist/Menu.js.map +1 -0
- package/dist/chunk-1NlIGj6C.js +378 -0
- package/dist/chunk-1NlIGj6C.js.map +1 -0
- package/dist/chunk-BFKmIsWV.js +8660 -0
- package/dist/chunk-BFKmIsWV.js.map +1 -0
- package/dist/chunk-BFTU3MAI.js +8 -0
- package/dist/chunk-BFTU3MAI.js.map +1 -0
- package/dist/chunk-Ba4Q3HC8.js +15258 -0
- package/dist/chunk-Ba4Q3HC8.js.map +1 -0
- package/dist/chunk-Bra5VPWO.js +555 -0
- package/dist/chunk-Bra5VPWO.js.map +1 -0
- package/dist/chunk-C2dztUxs.js +4 -0
- package/dist/chunk-C2dztUxs.js.map +1 -0
- package/dist/chunk-CK_Ss-J5.js +425 -0
- package/dist/chunk-CK_Ss-J5.js.map +1 -0
- package/dist/chunk-CO-Yfs5R.js +206 -0
- package/dist/chunk-CO-Yfs5R.js.map +1 -0
- package/dist/chunk-CX-0IHKE.js +381 -0
- package/dist/chunk-CX-0IHKE.js.map +1 -0
- package/dist/chunk-CeoqieEt.js +25570 -0
- package/dist/chunk-CeoqieEt.js.map +1 -0
- package/dist/chunk-D52F37yF.js +19 -0
- package/dist/chunk-D52F37yF.js.map +1 -0
- package/dist/chunk-DcFvJOrc.js +3368 -0
- package/dist/chunk-DcFvJOrc.js.map +1 -0
- package/dist/chunk-DgZGzqPs.js +6804 -0
- package/dist/chunk-DgZGzqPs.js.map +1 -0
- package/dist/chunk-Di3ipdfT.js +20227 -0
- package/dist/chunk-Di3ipdfT.js.map +1 -0
- package/dist/chunk-DrHVV_g1.js +89 -0
- package/dist/chunk-DrHVV_g1.js.map +1 -0
- package/dist/chunk-DsAUS6bL.js +3464 -0
- package/dist/chunk-DsAUS6bL.js.map +1 -0
- package/dist/chunk-PSGRE5nX.js +97 -0
- package/dist/chunk-PSGRE5nX.js.map +1 -0
- package/dist/chunk-Qg4uQqj3.js +16238 -0
- package/dist/chunk-Qg4uQqj3.js.map +1 -0
- package/dist/chunk-aCTMceVU.js +135 -0
- package/dist/chunk-aCTMceVU.js.map +1 -0
- package/dist/chunk-fDmcpgqx.js +12510 -0
- package/dist/chunk-fDmcpgqx.js.map +1 -0
- package/dist/chunk-mFZL53CS.js +204 -0
- package/dist/chunk-mFZL53CS.js.map +1 -0
- package/dist/chunk-y5pmJStT.js +573 -0
- package/dist/chunk-y5pmJStT.js.map +1 -0
- package/dist/cjs/Attachments.cjs.js +59 -0
- package/dist/cjs/Attachments.cjs.js.map +1 -0
- package/dist/cjs/Editor.cjs.js +5609 -0
- package/dist/cjs/Editor.cjs.js.map +1 -0
- package/dist/cjs/EditorContent.cjs.js +266 -0
- package/dist/cjs/EditorContent.cjs.js.map +1 -0
- package/dist/cjs/FormikEditor.cjs.js +209 -0
- package/dist/cjs/FormikEditor.cjs.js.map +1 -0
- package/dist/cjs/Menu.cjs.js +113 -0
- package/dist/cjs/Menu.cjs.js.map +1 -0
- package/dist/cjs/chunk-B2NfgecV.cjs.js +599 -0
- package/dist/cjs/chunk-B2NfgecV.cjs.js.map +1 -0
- package/dist/cjs/chunk-B6qYtOJe.cjs.js +6 -0
- package/dist/cjs/chunk-B6qYtOJe.cjs.js.map +1 -0
- package/dist/cjs/chunk-BJu3ubxk.cjs.js +11 -0
- package/dist/cjs/chunk-BJu3ubxk.cjs.js.map +1 -0
- package/dist/cjs/chunk-BKvkHB8E.cjs.js +16259 -0
- package/dist/cjs/chunk-BKvkHB8E.cjs.js.map +1 -0
- package/dist/cjs/chunk-BlWQNLLE.cjs.js +3450 -0
- package/dist/cjs/chunk-BlWQNLLE.cjs.js.map +1 -0
- package/dist/cjs/chunk-Bmjmsp-E.cjs.js +97 -0
- package/dist/cjs/chunk-Bmjmsp-E.cjs.js.map +1 -0
- package/dist/cjs/chunk-C-VxABfm.cjs.js +25578 -0
- package/dist/cjs/chunk-C-VxABfm.cjs.js.map +1 -0
- package/dist/cjs/chunk-C8X4oFtP.cjs.js +216 -0
- package/dist/cjs/chunk-C8X4oFtP.cjs.js.map +1 -0
- package/dist/cjs/chunk-CCCSexAh.cjs.js +206 -0
- package/dist/cjs/chunk-CCCSexAh.cjs.js.map +1 -0
- package/dist/cjs/chunk-CNIzgxEP.cjs.js +49 -0
- package/dist/cjs/chunk-CNIzgxEP.cjs.js.map +1 -0
- package/dist/cjs/chunk-CesnwG-V.cjs.js +140 -0
- package/dist/cjs/chunk-CesnwG-V.cjs.js.map +1 -0
- package/dist/cjs/chunk-CohcWDmm.cjs.js +20318 -0
- package/dist/cjs/chunk-CohcWDmm.cjs.js.map +1 -0
- package/dist/cjs/chunk-Crp27WMe.cjs.js +6833 -0
- package/dist/cjs/chunk-Crp27WMe.cjs.js.map +1 -0
- package/dist/cjs/chunk-D3Unocnm.cjs.js +8681 -0
- package/dist/cjs/chunk-D3Unocnm.cjs.js.map +1 -0
- package/dist/cjs/chunk-D6ygkQBu.cjs.js +421 -0
- package/dist/cjs/chunk-D6ygkQBu.cjs.js.map +1 -0
- package/dist/cjs/chunk-D7p10rIr.cjs.js +112 -0
- package/dist/cjs/chunk-D7p10rIr.cjs.js.map +1 -0
- package/dist/cjs/chunk-DM1lUvXy.cjs.js +3525 -0
- package/dist/cjs/chunk-DM1lUvXy.cjs.js.map +1 -0
- package/dist/cjs/chunk-DWyvxp1a.cjs.js +394 -0
- package/dist/cjs/chunk-DWyvxp1a.cjs.js.map +1 -0
- package/dist/cjs/chunk-DXsX8co9.cjs.js +12512 -0
- package/dist/cjs/chunk-DXsX8co9.cjs.js.map +1 -0
- package/dist/cjs/chunk-DxXc6tiG.cjs.js +15326 -0
- package/dist/cjs/chunk-DxXc6tiG.cjs.js.map +1 -0
- package/dist/cjs/chunk-MxWVMW6e.cjs.js +569 -0
- package/dist/cjs/chunk-MxWVMW6e.cjs.js.map +1 -0
- package/dist/cjs/chunk-cwORbcv3.cjs.js +479 -0
- package/dist/cjs/chunk-cwORbcv3.cjs.js.map +1 -0
- package/dist/cjs/constants.cjs.js +13 -0
- package/dist/cjs/constants.cjs.js.map +1 -0
- package/dist/cjs/index.cjs.js +163 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/utils.cjs.js +29 -0
- package/dist/cjs/utils.cjs.js.map +1 -0
- package/dist/cjs/v2/Attachments.cjs.js +49 -0
- package/dist/cjs/v2/Attachments.cjs.js.map +1 -0
- package/dist/cjs/v2/Editor.cjs.js +5739 -0
- package/dist/cjs/v2/Editor.cjs.js.map +1 -0
- package/dist/cjs/v2/EditorContent.cjs.js +33 -0
- package/dist/cjs/v2/EditorContent.cjs.js.map +1 -0
- package/dist/cjs/v2/FormikEditor.cjs.js +164 -0
- package/dist/cjs/v2/FormikEditor.cjs.js.map +1 -0
- package/dist/cjs/v2/Menu.cjs.js +62 -0
- package/dist/cjs/v2/Menu.cjs.js.map +1 -0
- package/dist/cjs/v2/constants.cjs.js +13 -0
- package/dist/cjs/v2/constants.cjs.js.map +1 -0
- package/dist/cjs/v2/index.cjs.js +120 -0
- package/dist/cjs/v2/index.cjs.js.map +1 -0
- package/dist/cjs/v2/utils.cjs.js +29 -0
- package/dist/cjs/v2/utils.cjs.js.map +1 -0
- package/dist/codeblockHighlight.js +15155 -0
- package/dist/codeblockHighlight.js.map +1 -0
- package/dist/constants.js +6 -0
- package/dist/constants.js.map +1 -0
- package/dist/editor-content.min.css +1 -0
- package/dist/editor-output-pdf-email.css +1 -0
- package/dist/editor-output-pdf-email.js +4 -0
- package/dist/editor-output-pdf-email.js.map +1 -0
- package/dist/editor-output.js +4 -0
- package/dist/editor-output.js.map +1 -0
- package/dist/editor-stats.html +4860 -0
- package/dist/editorUtils.js +170 -0
- package/dist/headerLinks.js +59 -0
- package/dist/headerLinks.js.map +1 -0
- package/dist/index.js +146 -0
- package/dist/index.js.map +1 -0
- package/dist/utils.js +17 -0
- package/dist/utils.js.map +1 -0
- package/dist/v2/Attachments.js +43 -0
- package/dist/v2/Attachments.js.map +1 -0
- package/dist/v2/Editor.js +5690 -0
- package/dist/v2/Editor.js.map +1 -0
- package/dist/v2/EditorContent.js +27 -0
- package/dist/v2/EditorContent.js.map +1 -0
- package/dist/v2/FormikEditor.js +157 -0
- package/dist/v2/FormikEditor.js.map +1 -0
- package/dist/v2/Menu.js +56 -0
- package/dist/v2/Menu.js.map +1 -0
- package/dist/v2/constants.js +6 -0
- package/dist/v2/constants.js.map +1 -0
- package/dist/v2/editor-content-styles.js +4 -0
- package/dist/v2/editor-content-styles.js.map +1 -0
- package/dist/v2/editor-content.min.css +1 -0
- package/dist/v2/index.js +101 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/styles.css +1 -0
- package/dist/v2/styles.js +4 -0
- package/dist/v2/styles.js.map +1 -0
- package/dist/v2/utils.js +17 -0
- package/dist/v2/utils.js.map +1 -0
- package/formik.d.ts +9 -0
- package/package.json +322 -4
- package/types.d.ts +199 -0
|
@@ -0,0 +1,479 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
4
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
5
|
+
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
6
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
7
|
+
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
+
var shallow = require('zustand/shallow');
|
|
9
|
+
var React = require('react');
|
|
10
|
+
var axios = require('axios');
|
|
11
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
12
|
+
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
13
|
+
var ramda = require('ramda');
|
|
14
|
+
var reactI18next = require('react-i18next');
|
|
15
|
+
var reactFileIcon_esm = require('./chunk-D3Unocnm.cjs.js');
|
|
16
|
+
var i18n = require('i18next');
|
|
17
|
+
var LeftAlign = require('@bigbinary/neeto-icons/LeftAlign');
|
|
18
|
+
var CenterAlign = require('@bigbinary/neeto-icons/CenterAlign');
|
|
19
|
+
var RightAlign = require('@bigbinary/neeto-icons/RightAlign');
|
|
20
|
+
var Delete = require('@bigbinary/neeto-icons/Delete');
|
|
21
|
+
var CustomSize = require('@bigbinary/neeto-icons/CustomSize');
|
|
22
|
+
var BorderDisable = require('@bigbinary/neeto-icons/BorderDisable');
|
|
23
|
+
var BorderEnable = require('@bigbinary/neeto-icons/BorderEnable');
|
|
24
|
+
var AspectRatio11 = require('@bigbinary/neeto-icons/AspectRatio11');
|
|
25
|
+
var AspectRatio169 = require('@bigbinary/neeto-icons/AspectRatio169');
|
|
26
|
+
var AspectRatio916 = require('@bigbinary/neeto-icons/AspectRatio916');
|
|
27
|
+
var AspectRatio43 = require('@bigbinary/neeto-icons/AspectRatio43');
|
|
28
|
+
var AspectRatio32 = require('@bigbinary/neeto-icons/AspectRatio32');
|
|
29
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
30
|
+
var yup = require('yup');
|
|
31
|
+
var constants = require('./chunk-Bmjmsp-E.cjs.js');
|
|
32
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
33
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
34
|
+
|
|
35
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
36
|
+
|
|
37
|
+
function _interopNamespace(e) {
|
|
38
|
+
if (e && e.__esModule) return e;
|
|
39
|
+
var n = Object.create(null);
|
|
40
|
+
if (e) {
|
|
41
|
+
Object.keys(e).forEach(function (k) {
|
|
42
|
+
if (k !== 'default') {
|
|
43
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
44
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return e[k]; }
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
n.default = e;
|
|
52
|
+
return Object.freeze(n);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var _toConsumableArray__default = /*#__PURE__*/_interopDefault(_toConsumableArray);
|
|
56
|
+
var _slicedToArray__default = /*#__PURE__*/_interopDefault(_slicedToArray);
|
|
57
|
+
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefault(_objectWithoutProperties);
|
|
58
|
+
var _asyncToGenerator__default = /*#__PURE__*/_interopDefault(_asyncToGenerator);
|
|
59
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefault(_regeneratorRuntime);
|
|
60
|
+
var axios__default = /*#__PURE__*/_interopDefault(axios);
|
|
61
|
+
var Toastr__default = /*#__PURE__*/_interopDefault(Toastr);
|
|
62
|
+
var LeftAlign__default = /*#__PURE__*/_interopDefault(LeftAlign);
|
|
63
|
+
var CenterAlign__default = /*#__PURE__*/_interopDefault(CenterAlign);
|
|
64
|
+
var RightAlign__default = /*#__PURE__*/_interopDefault(RightAlign);
|
|
65
|
+
var Delete__default = /*#__PURE__*/_interopDefault(Delete);
|
|
66
|
+
var CustomSize__default = /*#__PURE__*/_interopDefault(CustomSize);
|
|
67
|
+
var BorderDisable__default = /*#__PURE__*/_interopDefault(BorderDisable);
|
|
68
|
+
var BorderEnable__default = /*#__PURE__*/_interopDefault(BorderEnable);
|
|
69
|
+
var AspectRatio11__default = /*#__PURE__*/_interopDefault(AspectRatio11);
|
|
70
|
+
var AspectRatio169__default = /*#__PURE__*/_interopDefault(AspectRatio169);
|
|
71
|
+
var AspectRatio916__default = /*#__PURE__*/_interopDefault(AspectRatio916);
|
|
72
|
+
var AspectRatio43__default = /*#__PURE__*/_interopDefault(AspectRatio43);
|
|
73
|
+
var AspectRatio32__default = /*#__PURE__*/_interopDefault(AspectRatio32);
|
|
74
|
+
var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
|
|
75
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefault(_defineProperty);
|
|
76
|
+
|
|
77
|
+
var MAX_VIDEO_SIZE_IN_MB = 100;
|
|
78
|
+
var maxVideoSizeInMb = initializers.globalProps.directUploadsMaxFileSizeInMb ? Math.min(MAX_VIDEO_SIZE_IN_MB, initializers.globalProps.directUploadsMaxFileSizeInMb) : MAX_VIDEO_SIZE_IN_MB;
|
|
79
|
+
var FILE_SIZE_UNITS = ["B", "KB", "MB", "GB"];
|
|
80
|
+
var ALLOWED_IMAGE_TYPES = [".jpg", ".jpeg", ".png", ".gif"];
|
|
81
|
+
var ALLOWED_VIDEO_TYPES = [".mp4", ".mov", ".avi", ".mkv"];
|
|
82
|
+
var DEFAULT_IMAGE_UPLOAD_CONFIG = {
|
|
83
|
+
directUploadEndpoint: constants.DIRECT_UPLOAD_ENDPOINT,
|
|
84
|
+
restrictions: {
|
|
85
|
+
maxNumberOfFiles: 5,
|
|
86
|
+
maxFileSize: initializers.globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,
|
|
87
|
+
allowedFileTypes: ALLOWED_IMAGE_TYPES
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
var DEFAULT_VIDEO_UPLOAD_CONFIG = {
|
|
91
|
+
directUploadEndpoint: constants.DIRECT_UPLOAD_ENDPOINT,
|
|
92
|
+
restrictions: {
|
|
93
|
+
maxNumberOfFiles: 5,
|
|
94
|
+
maxFileSize: maxVideoSizeInMb * 1024 * 1024,
|
|
95
|
+
allowedFileTypes: ALLOWED_VIDEO_TYPES
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
var VIDEO_EMBED_FORM_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
99
|
+
url: yup__namespace.string().required(i18n.t("neetoEditor.error.fieldRequired")).matches(constants.URL_REGEXP, i18n.t("neetoEditor.error.invalidUrl"))
|
|
100
|
+
});
|
|
101
|
+
var DEFAULT_ASPECT_RATIO = "16/9";
|
|
102
|
+
|
|
103
|
+
var convertToFileSize = function convertToFileSize() {
|
|
104
|
+
var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10 * 1024 * 1024;
|
|
105
|
+
var fileSize = size;
|
|
106
|
+
var i = 0;
|
|
107
|
+
while (fileSize >= 1024 && i < FILE_SIZE_UNITS.length) {
|
|
108
|
+
fileSize /= 1024;
|
|
109
|
+
++i;
|
|
110
|
+
}
|
|
111
|
+
return "".concat(fileSize.toFixed(1), " ").concat(FILE_SIZE_UNITS[i]);
|
|
112
|
+
};
|
|
113
|
+
var buildImageOptions = function buildImageOptions() {
|
|
114
|
+
var border = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
115
|
+
var showAspectRatio = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
116
|
+
var options = [{
|
|
117
|
+
Icon: LeftAlign__default.default,
|
|
118
|
+
type: "button",
|
|
119
|
+
alignPos: "left",
|
|
120
|
+
optionName: i18n.t("neetoEditor.menu.alignLeft")
|
|
121
|
+
}, {
|
|
122
|
+
Icon: CenterAlign__default.default,
|
|
123
|
+
type: "button",
|
|
124
|
+
alignPos: "center",
|
|
125
|
+
optionName: i18n.t("neetoEditor.menu.alignCenter")
|
|
126
|
+
}, {
|
|
127
|
+
Icon: RightAlign__default.default,
|
|
128
|
+
type: "button",
|
|
129
|
+
alignPos: "right",
|
|
130
|
+
optionName: i18n.t("neetoEditor.menu.alignRight")
|
|
131
|
+
}];
|
|
132
|
+
if (showAspectRatio) {
|
|
133
|
+
options.push({
|
|
134
|
+
Icon: CustomSize__default.default,
|
|
135
|
+
type: "dropdown",
|
|
136
|
+
alignPos: "center",
|
|
137
|
+
optionName: i18n.t("neetoEditor.menu.aspectRatio"),
|
|
138
|
+
items: [{
|
|
139
|
+
ratio: "16/9",
|
|
140
|
+
tooltipLabel: "16/9",
|
|
141
|
+
icon: AspectRatio169__default.default
|
|
142
|
+
}, {
|
|
143
|
+
ratio: "9/16",
|
|
144
|
+
tooltipLabel: "9/16",
|
|
145
|
+
icon: AspectRatio916__default.default
|
|
146
|
+
}, {
|
|
147
|
+
ratio: "4/3",
|
|
148
|
+
tooltipLabel: "4/3",
|
|
149
|
+
icon: AspectRatio43__default.default
|
|
150
|
+
}, {
|
|
151
|
+
ratio: "3/2",
|
|
152
|
+
tooltipLabel: "3/2",
|
|
153
|
+
icon: AspectRatio32__default.default
|
|
154
|
+
}, {
|
|
155
|
+
ratio: "1/1",
|
|
156
|
+
tooltipLabel: "1/1",
|
|
157
|
+
icon: AspectRatio11__default.default
|
|
158
|
+
}]
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
options.push({
|
|
162
|
+
Icon: border ? BorderDisable__default.default : BorderEnable__default.default,
|
|
163
|
+
type: "button",
|
|
164
|
+
alignPos: "center",
|
|
165
|
+
borderToggle: true,
|
|
166
|
+
optionName: border ? i18n.t("neetoEditor.menu.removeBorder") : i18n.t("neetoEditor.menu.addBorder")
|
|
167
|
+
}, {
|
|
168
|
+
Icon: Delete__default.default,
|
|
169
|
+
type: "button",
|
|
170
|
+
optionName: i18n.t("neetoEditor.menu.delete")
|
|
171
|
+
});
|
|
172
|
+
return options;
|
|
173
|
+
};
|
|
174
|
+
var getTabs = function getTabs(mediaUploader) {
|
|
175
|
+
if (mediaUploader.video) {
|
|
176
|
+
return [{
|
|
177
|
+
title: "Upload",
|
|
178
|
+
key: "local"
|
|
179
|
+
}, {
|
|
180
|
+
title: "Embed",
|
|
181
|
+
key: "embed"
|
|
182
|
+
}];
|
|
183
|
+
}
|
|
184
|
+
return [];
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
var getFileExtension = function getFileExtension(filename) {
|
|
188
|
+
if (!filename) return "";
|
|
189
|
+
var parts = filename.split(".");
|
|
190
|
+
return parts.length > 1 ? ".".concat(parts.pop()) : "";
|
|
191
|
+
};
|
|
192
|
+
var showWarningToastr = function showWarningToastr(_ref) {
|
|
193
|
+
var selectedFiles = _ref.selectedFiles,
|
|
194
|
+
initialFiles = _ref.initialFiles,
|
|
195
|
+
config = _ref.config,
|
|
196
|
+
largeFilesCount = _ref.largeFilesCount,
|
|
197
|
+
unSupportedFilesCount = _ref.unSupportedFilesCount;
|
|
198
|
+
var _config$restrictions = config.restrictions,
|
|
199
|
+
maxNumberOfFiles = _config$restrictions.maxNumberOfFiles,
|
|
200
|
+
maxFileSize = _config$restrictions.maxFileSize;
|
|
201
|
+
if (unSupportedFilesCount > 0 || largeFilesCount > 0) {
|
|
202
|
+
if (unSupportedFilesCount > 0) {
|
|
203
|
+
Toastr__default.default.error(i18n.t("neetoEditor.error.fileNotAllowed"));
|
|
204
|
+
}
|
|
205
|
+
if (largeFilesCount > 0) {
|
|
206
|
+
Toastr__default.default.error(i18n.t("neetoEditor.error.fileIsTooLarge", {
|
|
207
|
+
maxFileSize: convertToFileSize(maxFileSize)
|
|
208
|
+
}));
|
|
209
|
+
}
|
|
210
|
+
} else if (selectedFiles.length < initialFiles.length) {
|
|
211
|
+
Toastr__default.default.warning(i18n.t("neetoEditor.attachments.maxNumberOfFiles", {
|
|
212
|
+
entity: maxNumberOfFiles
|
|
213
|
+
}));
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
var shouldAddFile = function shouldAddFile(config) {
|
|
217
|
+
return function (file) {
|
|
218
|
+
var _config$restrictions2 = config.restrictions,
|
|
219
|
+
maxFileSize = _config$restrictions2.maxFileSize,
|
|
220
|
+
allowedFileTypes = _config$restrictions2.allowedFileTypes;
|
|
221
|
+
if (neetoCist.isPresent(maxFileSize) && file.size > maxFileSize) {
|
|
222
|
+
return {
|
|
223
|
+
canAdd: false
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
if (neetoCist.isPresent(allowedFileTypes)) {
|
|
227
|
+
var fileExtension = getFileExtension(file.name);
|
|
228
|
+
var mimeType = file.type;
|
|
229
|
+
var extensionAllowed = allowedFileTypes.includes(fileExtension);
|
|
230
|
+
var mimeAllowed = allowedFileTypes.includes(mimeType);
|
|
231
|
+
var canAdd = extensionAllowed || mimeAllowed;
|
|
232
|
+
return {
|
|
233
|
+
canAdd: canAdd,
|
|
234
|
+
isUnsupportedFile: !canAdd
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
return {
|
|
238
|
+
canAdd: true
|
|
239
|
+
};
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
var selectFiles = function selectFiles(_ref2) {
|
|
243
|
+
var previousAttachmentsCount = _ref2.previousAttachmentsCount,
|
|
244
|
+
config = _ref2.config,
|
|
245
|
+
files = _ref2.files;
|
|
246
|
+
var addedFilesCount = 0,
|
|
247
|
+
largeFilesCount = 0,
|
|
248
|
+
unSupportedFilesCount = 0;
|
|
249
|
+
var fallbackMaxNumberOfFiles = previousAttachmentsCount + files.length;
|
|
250
|
+
var _config$restrictions$ = config.restrictions.maxNumberOfFiles,
|
|
251
|
+
maxNumberOfFiles = _config$restrictions$ === void 0 ? fallbackMaxNumberOfFiles : _config$restrictions$;
|
|
252
|
+
var canAddFile = shouldAddFile(config);
|
|
253
|
+
var remainingAttachments = maxNumberOfFiles - previousAttachmentsCount;
|
|
254
|
+
if (remainingAttachments <= 0) {
|
|
255
|
+
Toastr__default.default.warning(i18n.t("neetoEditor.attachments.maxNumberOfFiles", {
|
|
256
|
+
entity: maxNumberOfFiles
|
|
257
|
+
}));
|
|
258
|
+
return [];
|
|
259
|
+
}
|
|
260
|
+
var selectedFiles = files.filter(function (file) {
|
|
261
|
+
var _canAddFile = canAddFile(file),
|
|
262
|
+
canAdd = _canAddFile.canAdd,
|
|
263
|
+
isUnsupportedFile = _canAddFile.isUnsupportedFile;
|
|
264
|
+
if (canAdd && addedFilesCount + 1 <= remainingAttachments) {
|
|
265
|
+
addedFilesCount += 1;
|
|
266
|
+
return true;
|
|
267
|
+
}
|
|
268
|
+
if (isUnsupportedFile) unSupportedFilesCount += 1;else if (!canAdd) largeFilesCount += 1;
|
|
269
|
+
return false;
|
|
270
|
+
});
|
|
271
|
+
showWarningToastr({
|
|
272
|
+
selectedFiles: selectedFiles,
|
|
273
|
+
initialFiles: files,
|
|
274
|
+
config: config,
|
|
275
|
+
unSupportedFilesCount: unSupportedFilesCount,
|
|
276
|
+
largeFilesCount: largeFilesCount
|
|
277
|
+
});
|
|
278
|
+
return selectedFiles;
|
|
279
|
+
};
|
|
280
|
+
|
|
281
|
+
var _excluded = ["data"];
|
|
282
|
+
var uploadControllers = {};
|
|
283
|
+
var useFileUploader = function useFileUploader(_ref) {
|
|
284
|
+
var config = _ref.config,
|
|
285
|
+
_ref$attachments = _ref.attachments,
|
|
286
|
+
previousAttachments = _ref$attachments === void 0 ? [] : _ref$attachments,
|
|
287
|
+
_ref$setIsUploadingOn = _ref.setIsUploadingOnHost,
|
|
288
|
+
setIsUploadingOnHost = _ref$setIsUploadingOn === void 0 ? neetoCist.noop : _ref$setIsUploadingOn;
|
|
289
|
+
var contextIdRef = React.useRef(reactFileIcon_esm.getRandomString());
|
|
290
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
291
|
+
t = _useTranslation.t;
|
|
292
|
+
var contextId = contextIdRef.current;
|
|
293
|
+
var _useFileUploadStore = reactFileIcon_esm.useFileUploadStore(function (store) {
|
|
294
|
+
return {
|
|
295
|
+
addFiles: store["addFiles"],
|
|
296
|
+
getNextQueuedFile: store["getNextQueuedFile"],
|
|
297
|
+
updateFileStatus: store["updateFileStatus"],
|
|
298
|
+
removeFilesFromQueue: store["removeFilesFromQueue"],
|
|
299
|
+
setIsUploading: store["setIsUploading"],
|
|
300
|
+
updateFileUploadProgress: store["updateFileUploadProgress"],
|
|
301
|
+
removeFile: store["removeFile"]
|
|
302
|
+
};
|
|
303
|
+
}, shallow.shallow),
|
|
304
|
+
addFilesToStore = _useFileUploadStore.addFiles,
|
|
305
|
+
getNextQueuedFile = _useFileUploadStore.getNextQueuedFile,
|
|
306
|
+
updateFileStatus = _useFileUploadStore.updateFileStatus,
|
|
307
|
+
removeFilesFromQueue = _useFileUploadStore.removeFilesFromQueue,
|
|
308
|
+
setIsUploading = _useFileUploadStore.setIsUploading,
|
|
309
|
+
updateFileUploadProgress = _useFileUploadStore.updateFileUploadProgress,
|
|
310
|
+
removeFile = _useFileUploadStore.removeFile;
|
|
311
|
+
var _useFileUploadStore2 = reactFileIcon_esm.useFileUploadStore(function (store) {
|
|
312
|
+
var _store$contextId, _store$contextId2;
|
|
313
|
+
return {
|
|
314
|
+
files: (_store$contextId = store[contextId]) === null || _store$contextId === void 0 ? void 0 : _store$contextId["files"],
|
|
315
|
+
isUploading: (_store$contextId2 = store[contextId]) === null || _store$contextId2 === void 0 ? void 0 : _store$contextId2["isUploading"]
|
|
316
|
+
};
|
|
317
|
+
}, shallow.shallow),
|
|
318
|
+
_useFileUploadStore2$ = _useFileUploadStore2.files,
|
|
319
|
+
files = _useFileUploadStore2$ === void 0 ? [] : _useFileUploadStore2$,
|
|
320
|
+
isUploading = _useFileUploadStore2.isUploading;
|
|
321
|
+
var handleUploadProgress = function handleUploadProgress(xhr, file) {
|
|
322
|
+
if (!xhr.event.lengthComputable) return;
|
|
323
|
+
var bytesUploaded = xhr.loaded;
|
|
324
|
+
var bytesTotal = xhr.total;
|
|
325
|
+
var progress = Math.round(bytesUploaded / bytesTotal * 100);
|
|
326
|
+
updateFileUploadProgress(contextId, file.id, progress);
|
|
327
|
+
};
|
|
328
|
+
var uploadFile = /*#__PURE__*/function () {
|
|
329
|
+
var _ref2 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee(file) {
|
|
330
|
+
var upload, _data$signed_id, _data$blob_url, _data$content_type, _yield$upload$create, _yield$upload$create$, data, response;
|
|
331
|
+
return _regeneratorRuntime__default.default.wrap(function _callee$(_context) {
|
|
332
|
+
while (1) switch (_context.prev = _context.next) {
|
|
333
|
+
case 0:
|
|
334
|
+
upload = new reactFileIcon_esm.DirectUpload({
|
|
335
|
+
file: file.data,
|
|
336
|
+
url: config.directUploadEndpoint,
|
|
337
|
+
progress: function progress(xhr) {
|
|
338
|
+
return handleUploadProgress(xhr, file);
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
uploadControllers[file.id] = upload;
|
|
342
|
+
_context.prev = 2;
|
|
343
|
+
_context.next = 5;
|
|
344
|
+
return upload.create();
|
|
345
|
+
case 5:
|
|
346
|
+
_yield$upload$create = _context.sent;
|
|
347
|
+
_yield$upload$create$ = _yield$upload$create.data;
|
|
348
|
+
data = _yield$upload$create$ === void 0 ? {} : _yield$upload$create$;
|
|
349
|
+
response = _objectWithoutProperties__default.default(_yield$upload$create, _excluded);
|
|
350
|
+
updateFileStatus(contextId, file.id, reactFileIcon_esm.FILE_UPLOAD_STATUS.UPLOADED);
|
|
351
|
+
return _context.abrupt("return", {
|
|
352
|
+
id: file.id,
|
|
353
|
+
filename: file.filename,
|
|
354
|
+
signedId: (_data$signed_id = data.signed_id) !== null && _data$signed_id !== void 0 ? _data$signed_id : response.signed_id,
|
|
355
|
+
url: (_data$blob_url = data.blob_url) !== null && _data$blob_url !== void 0 ? _data$blob_url : response.blob_url,
|
|
356
|
+
contentType: (_data$content_type = data.content_type) !== null && _data$content_type !== void 0 ? _data$content_type : response.content_type
|
|
357
|
+
});
|
|
358
|
+
case 13:
|
|
359
|
+
_context.prev = 13;
|
|
360
|
+
_context.t0 = _context["catch"](2);
|
|
361
|
+
if (!axios__default.default.isCancel(_context.t0)) {
|
|
362
|
+
Toastr__default.default.error(t("neetoEditor.error.uploadFileFailed"));
|
|
363
|
+
}
|
|
364
|
+
// eslint-disable-next-line no-console
|
|
365
|
+
console.error("Attachment upload failed", _context.t0);
|
|
366
|
+
removeFile(contextId, file.id);
|
|
367
|
+
return _context.abrupt("return", null);
|
|
368
|
+
case 19:
|
|
369
|
+
case "end":
|
|
370
|
+
return _context.stop();
|
|
371
|
+
}
|
|
372
|
+
}, _callee, null, [[2, 13]]);
|
|
373
|
+
}));
|
|
374
|
+
return function uploadFile(_x) {
|
|
375
|
+
return _ref2.apply(this, arguments);
|
|
376
|
+
};
|
|
377
|
+
}();
|
|
378
|
+
var _handleUploadFiles = /*#__PURE__*/function () {
|
|
379
|
+
var _ref3 = _asyncToGenerator__default.default(/*#__PURE__*/_regeneratorRuntime__default.default.mark(function _callee2() {
|
|
380
|
+
var queuedFile, _yield$Promise$all, _yield$Promise$all2, uploadedFile, remainingUploadedFiles, uploadedFiles, uploadedFileIds;
|
|
381
|
+
return _regeneratorRuntime__default.default.wrap(function _callee2$(_context2) {
|
|
382
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
383
|
+
case 0:
|
|
384
|
+
queuedFile = getNextQueuedFile(contextId);
|
|
385
|
+
if (!neetoCist.isNotPresent(queuedFile)) {
|
|
386
|
+
_context2.next = 5;
|
|
387
|
+
break;
|
|
388
|
+
}
|
|
389
|
+
setIsUploading(contextId, false);
|
|
390
|
+
setIsUploadingOnHost(false);
|
|
391
|
+
return _context2.abrupt("return", []);
|
|
392
|
+
case 5:
|
|
393
|
+
updateFileStatus(contextId, queuedFile.id, reactFileIcon_esm.FILE_UPLOAD_STATUS.UPLOADING);
|
|
394
|
+
_context2.next = 8;
|
|
395
|
+
return Promise.all([uploadFile(queuedFile), _handleUploadFiles()]);
|
|
396
|
+
case 8:
|
|
397
|
+
_yield$Promise$all = _context2.sent;
|
|
398
|
+
_yield$Promise$all2 = _slicedToArray__default.default(_yield$Promise$all, 2);
|
|
399
|
+
uploadedFile = _yield$Promise$all2[0];
|
|
400
|
+
remainingUploadedFiles = _yield$Promise$all2[1];
|
|
401
|
+
uploadedFiles = [uploadedFile].concat(_toConsumableArray__default.default(remainingUploadedFiles));
|
|
402
|
+
uploadedFileIds = ramda.pluck("id", uploadedFiles);
|
|
403
|
+
removeFilesFromQueue(contextId, uploadedFileIds);
|
|
404
|
+
uploadControllers = ramda.omit(uploadedFileIds, uploadControllers);
|
|
405
|
+
return _context2.abrupt("return", uploadedFiles.filter(neetoCist.isNot(null)));
|
|
406
|
+
case 17:
|
|
407
|
+
case "end":
|
|
408
|
+
return _context2.stop();
|
|
409
|
+
}
|
|
410
|
+
}, _callee2);
|
|
411
|
+
}));
|
|
412
|
+
return function handleUploadFiles() {
|
|
413
|
+
return _ref3.apply(this, arguments);
|
|
414
|
+
};
|
|
415
|
+
}();
|
|
416
|
+
var uploadFiles = function uploadFiles() {
|
|
417
|
+
setIsUploading(contextId, true);
|
|
418
|
+
setIsUploadingOnHost(true);
|
|
419
|
+
return _handleUploadFiles();
|
|
420
|
+
};
|
|
421
|
+
var addFiles = function addFiles(addedFiles) {
|
|
422
|
+
var selectedFiles = selectFiles({
|
|
423
|
+
previousAttachmentsCount: previousAttachments.length,
|
|
424
|
+
config: config,
|
|
425
|
+
files: Array.from(addedFiles)
|
|
426
|
+
}).map(function (file) {
|
|
427
|
+
return {
|
|
428
|
+
id: neetoCist.hyphenate("".concat(file.name.toLowerCase(), "-").concat(Date.now())),
|
|
429
|
+
data: file,
|
|
430
|
+
filename: file.name,
|
|
431
|
+
signedId: "awaiting",
|
|
432
|
+
url: "",
|
|
433
|
+
type: file.type,
|
|
434
|
+
status: reactFileIcon_esm.FILE_UPLOAD_STATUS.QUEUED
|
|
435
|
+
};
|
|
436
|
+
});
|
|
437
|
+
addFilesToStore(contextId, selectedFiles);
|
|
438
|
+
};
|
|
439
|
+
var cancelUpload = function cancelUpload(fileId) {
|
|
440
|
+
var _uploadControllers$fi, _uploadControllers$fi2;
|
|
441
|
+
(_uploadControllers$fi = uploadControllers[fileId]) === null || _uploadControllers$fi === void 0 || (_uploadControllers$fi2 = _uploadControllers$fi.abort) === null || _uploadControllers$fi2 === void 0 || _uploadControllers$fi2.call(_uploadControllers$fi);
|
|
442
|
+
removeFile(contextId, fileId);
|
|
443
|
+
};
|
|
444
|
+
return {
|
|
445
|
+
addFiles: addFiles,
|
|
446
|
+
uploadFiles: uploadFiles,
|
|
447
|
+
queuedFiles: files,
|
|
448
|
+
cancelUpload: cancelUpload,
|
|
449
|
+
isUploading: isUploading
|
|
450
|
+
};
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
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; }
|
|
454
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty__default.default(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; }
|
|
455
|
+
var File = function File(_ref) {
|
|
456
|
+
var fileName = _ref.fileName,
|
|
457
|
+
className = _ref.className;
|
|
458
|
+
var extension = fileName.match(/([^.]+)$/) & [1];
|
|
459
|
+
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
460
|
+
className: className,
|
|
461
|
+
children: /*#__PURE__*/jsxRuntime.jsx(reactFileIcon_esm.FileIcon, _objectSpread({
|
|
462
|
+
extension: extension,
|
|
463
|
+
labelColor: "#4558f9"
|
|
464
|
+
}, reactFileIcon_esm.defaultStyles[extension]))
|
|
465
|
+
});
|
|
466
|
+
};
|
|
467
|
+
|
|
468
|
+
exports.ALLOWED_IMAGE_TYPES = ALLOWED_IMAGE_TYPES;
|
|
469
|
+
exports.ALLOWED_VIDEO_TYPES = ALLOWED_VIDEO_TYPES;
|
|
470
|
+
exports.DEFAULT_ASPECT_RATIO = DEFAULT_ASPECT_RATIO;
|
|
471
|
+
exports.DEFAULT_IMAGE_UPLOAD_CONFIG = DEFAULT_IMAGE_UPLOAD_CONFIG;
|
|
472
|
+
exports.DEFAULT_VIDEO_UPLOAD_CONFIG = DEFAULT_VIDEO_UPLOAD_CONFIG;
|
|
473
|
+
exports.File = File;
|
|
474
|
+
exports.VIDEO_EMBED_FORM_VALIDATION_SCHEMA = VIDEO_EMBED_FORM_VALIDATION_SCHEMA;
|
|
475
|
+
exports.buildImageOptions = buildImageOptions;
|
|
476
|
+
exports.convertToFileSize = convertToFileSize;
|
|
477
|
+
exports.getTabs = getTabs;
|
|
478
|
+
exports.useFileUploader = useFileUploader;
|
|
479
|
+
//# sourceMappingURL=chunk-cwORbcv3.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-cwORbcv3.cjs.js","sources":["../../app/javascript/src/components/Editor/MediaUploader/constants.js","../../app/javascript/src/components/Editor/MediaUploader/utils.js","../../app/javascript/src/hooks/utils/fileUploader.js","../../app/javascript/src/hooks/useFileUploader.js","../../app/javascript/src/components/Common/FileIcon.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport * as yup from \"yup\";\n\nimport { DIRECT_UPLOAD_ENDPOINT, URL_REGEXP } from \"src/common/constants\";\n\nconst MAX_VIDEO_SIZE_IN_MB = 100;\n\nconst maxVideoSizeInMb = globalProps.directUploadsMaxFileSizeInMb\n ? Math.min(MAX_VIDEO_SIZE_IN_MB, globalProps.directUploadsMaxFileSizeInMb)\n : MAX_VIDEO_SIZE_IN_MB;\n\nexport const FILE_SIZE_UNITS = [\"B\", \"KB\", \"MB\", \"GB\"];\n\nexport const ALLOWED_IMAGE_TYPES = [\".jpg\", \".jpeg\", \".png\", \".gif\"];\nexport const ALLOWED_VIDEO_TYPES = [\".mp4\", \".mov\", \".avi\", \".mkv\"];\n\nexport const DEFAULT_IMAGE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_IMAGE_TYPES,\n },\n};\n\nexport const DEFAULT_VIDEO_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxNumberOfFiles: 5,\n maxFileSize: maxVideoSizeInMb * 1024 * 1024,\n allowedFileTypes: ALLOWED_VIDEO_TYPES,\n },\n};\n\nexport const VIDEO_EMBED_FORM_VALIDATION_SCHEMA = yup.object().shape({\n url: yup\n .string()\n .required(t(\"neetoEditor.error.fieldRequired\"))\n .matches(URL_REGEXP, t(\"neetoEditor.error.invalidUrl\")),\n});\n\nexport const DEFAULT_ASPECT_RATIO = \"16/9\";\n","import { t } from \"i18next\";\nimport {\n LeftAlign,\n CenterAlign,\n RightAlign,\n Delete,\n CustomSize,\n BorderDisable,\n BorderEnable,\n AspectRatio11,\n AspectRatio169,\n AspectRatio916,\n AspectRatio43,\n AspectRatio32,\n} from \"neetoicons\";\n\nimport { FILE_SIZE_UNITS } from \"./constants\";\n\nexport const convertToFileSize = (size = 10 * 1024 * 1024) => {\n let fileSize = size;\n let i = 0;\n while (fileSize >= 1024 && i < FILE_SIZE_UNITS.length) {\n fileSize /= 1024;\n ++i;\n }\n\n return `${fileSize.toFixed(1)} ${FILE_SIZE_UNITS[i]}`;\n};\n\nexport const buildImageOptions = (border = true, showAspectRatio = false) => {\n const options = [\n {\n Icon: LeftAlign,\n type: \"button\",\n alignPos: \"left\",\n optionName: t(\"neetoEditor.menu.alignLeft\"),\n },\n {\n Icon: CenterAlign,\n type: \"button\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.alignCenter\"),\n },\n {\n Icon: RightAlign,\n type: \"button\",\n alignPos: \"right\",\n optionName: t(\"neetoEditor.menu.alignRight\"),\n },\n ];\n\n if (showAspectRatio) {\n options.push({\n Icon: CustomSize,\n type: \"dropdown\",\n alignPos: \"center\",\n optionName: t(\"neetoEditor.menu.aspectRatio\"),\n items: [\n { ratio: \"16/9\", tooltipLabel: \"16/9\", icon: AspectRatio169 },\n { ratio: \"9/16\", tooltipLabel: \"9/16\", icon: AspectRatio916 },\n { ratio: \"4/3\", tooltipLabel: \"4/3\", icon: AspectRatio43 },\n { ratio: \"3/2\", tooltipLabel: \"3/2\", icon: AspectRatio32 },\n { ratio: \"1/1\", tooltipLabel: \"1/1\", icon: AspectRatio11 },\n ],\n });\n }\n\n options.push(\n {\n Icon: border ? BorderDisable : BorderEnable,\n type: \"button\",\n alignPos: \"center\",\n borderToggle: true,\n optionName: border\n ? t(\"neetoEditor.menu.removeBorder\")\n : t(\"neetoEditor.menu.addBorder\"),\n },\n {\n Icon: Delete,\n type: \"button\",\n optionName: t(\"neetoEditor.menu.delete\"),\n }\n );\n\n return options;\n};\n\nexport const getTabs = mediaUploader => {\n if (mediaUploader.video) {\n return [\n { title: \"Upload\", key: \"local\" },\n { title: \"Embed\", key: \"embed\" },\n ];\n }\n\n return [];\n};\n","import { t } from \"i18next\";\nimport { isPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\n\nimport { convertToFileSize } from \"components/Editor/MediaUploader/utils\";\n\nconst getFileExtension = filename => {\n if (!filename) return \"\";\n const parts = filename.split(\".\");\n\n return parts.length > 1 ? `.${parts.pop()}` : \"\";\n};\n\nconst showWarningToastr = ({\n selectedFiles,\n initialFiles,\n config,\n largeFilesCount,\n unSupportedFilesCount,\n}) => {\n const { maxNumberOfFiles, maxFileSize } = config.restrictions;\n\n if (unSupportedFilesCount > 0 || largeFilesCount > 0) {\n if (unSupportedFilesCount > 0) {\n Toastr.error(t(\"neetoEditor.error.fileNotAllowed\"));\n }\n\n if (largeFilesCount > 0) {\n Toastr.error(\n t(\"neetoEditor.error.fileIsTooLarge\", {\n maxFileSize: convertToFileSize(maxFileSize),\n })\n );\n }\n } else if (selectedFiles.length < initialFiles.length) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n }\n};\n\nexport const shouldAddFile = config => file => {\n const { maxFileSize, allowedFileTypes } = config.restrictions;\n\n if (isPresent(maxFileSize) && file.size > maxFileSize) {\n return { canAdd: false };\n }\n\n if (isPresent(allowedFileTypes)) {\n const fileExtension = getFileExtension(file.name);\n const mimeType = file.type;\n\n const extensionAllowed = allowedFileTypes.includes(fileExtension);\n const mimeAllowed = allowedFileTypes.includes(mimeType);\n\n const canAdd = extensionAllowed || mimeAllowed;\n\n return { canAdd, isUnsupportedFile: !canAdd };\n }\n\n return { canAdd: true };\n};\n\nexport const selectFiles = ({ previousAttachmentsCount, config, files }) => {\n let addedFilesCount = 0,\n largeFilesCount = 0,\n unSupportedFilesCount = 0;\n const fallbackMaxNumberOfFiles = previousAttachmentsCount + files.length;\n const { maxNumberOfFiles = fallbackMaxNumberOfFiles } = config.restrictions;\n const canAddFile = shouldAddFile(config);\n\n const remainingAttachments = maxNumberOfFiles - previousAttachmentsCount;\n\n if (remainingAttachments <= 0) {\n Toastr.warning(\n t(\"neetoEditor.attachments.maxNumberOfFiles\", {\n entity: maxNumberOfFiles,\n })\n );\n\n return [];\n }\n\n const selectedFiles = files.filter(file => {\n const { canAdd, isUnsupportedFile } = canAddFile(file);\n\n if (canAdd && addedFilesCount + 1 <= remainingAttachments) {\n addedFilesCount += 1;\n\n return true;\n }\n\n if (isUnsupportedFile) unSupportedFilesCount += 1;\n else if (!canAdd) largeFilesCount += 1;\n\n return false;\n });\n\n showWarningToastr({\n selectedFiles,\n initialFiles: files,\n config,\n unSupportedFilesCount,\n largeFilesCount,\n });\n\n return selectedFiles;\n};\n","// eslint-disable-next-line @bigbinary/neeto/use-snake-case-for-api-connector-filename\nimport { useRef } from \"react\";\n\n// eslint-disable-next-line @bigbinary/neeto/no-axios-import-outside-apis,\nimport axios from \"axios\";\nimport { noop, hyphenate, isNot, isNotPresent } from \"neetocist\";\nimport { Toastr } from \"neetoui\";\nimport { omit, pluck } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useFileUploadStore from \"src/stores/useFileUploadStore\";\nimport DirectUpload from \"utils/DirectUpload\";\n\nimport { FILE_UPLOAD_STATUS } from \"./constants/fileUploader\";\nimport { getRandomString } from \"./utils\";\nimport { selectFiles } from \"./utils/fileUploader\";\n\nlet uploadControllers = {};\n\nconst useFileUploader = ({\n config,\n attachments: previousAttachments = [],\n setIsUploadingOnHost = noop,\n}) => {\n const contextIdRef = useRef(getRandomString());\n const { t } = useTranslation();\n\n const { current: contextId } = contextIdRef;\n const {\n addFiles: addFilesToStore,\n getNextQueuedFile,\n updateFileStatus,\n removeFilesFromQueue,\n setIsUploading,\n updateFileUploadProgress,\n removeFile,\n } = useFileUploadStore.pick();\n const { files = [], isUploading } = useFileUploadStore.pick([contextId]);\n\n const handleUploadProgress = (xhr, file) => {\n if (!xhr.event.lengthComputable) return;\n const bytesUploaded = xhr.loaded;\n const bytesTotal = xhr.total;\n const progress = Math.round((bytesUploaded / bytesTotal) * 100);\n updateFileUploadProgress(contextId, file.id, progress);\n };\n\n const uploadFile = async file => {\n const upload = new DirectUpload({\n file: file.data,\n url: config.directUploadEndpoint,\n progress: xhr => handleUploadProgress(xhr, file),\n });\n\n uploadControllers[file.id] = upload;\n\n try {\n const { data = {}, ...response } = await upload.create();\n updateFileStatus(contextId, file.id, FILE_UPLOAD_STATUS.UPLOADED);\n\n return {\n id: file.id,\n filename: file.filename,\n signedId: data.signed_id ?? response.signed_id,\n url: data.blob_url ?? response.blob_url,\n contentType: data.content_type ?? response.content_type,\n };\n } catch (error) {\n if (!axios.isCancel(error)) {\n Toastr.error(t(\"neetoEditor.error.uploadFileFailed\"));\n }\n // eslint-disable-next-line no-console\n console.error(\"Attachment upload failed\", error);\n removeFile(contextId, file.id);\n\n return null;\n }\n };\n\n const handleUploadFiles = async () => {\n const queuedFile = getNextQueuedFile(contextId);\n\n if (isNotPresent(queuedFile)) {\n setIsUploading(contextId, false);\n setIsUploadingOnHost(false);\n\n return [];\n }\n\n updateFileStatus(contextId, queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);\n\n const [uploadedFile, remainingUploadedFiles] = await Promise.all([\n uploadFile(queuedFile),\n handleUploadFiles(),\n ]);\n\n const uploadedFiles = [uploadedFile, ...remainingUploadedFiles];\n const uploadedFileIds = pluck(\"id\", uploadedFiles);\n removeFilesFromQueue(contextId, uploadedFileIds);\n uploadControllers = omit(uploadedFileIds, uploadControllers);\n\n return uploadedFiles.filter(isNot(null));\n };\n\n const uploadFiles = () => {\n setIsUploading(contextId, true);\n setIsUploadingOnHost(true);\n\n return handleUploadFiles();\n };\n\n const addFiles = addedFiles => {\n const selectedFiles = selectFiles({\n previousAttachmentsCount: previousAttachments.length,\n config,\n files: Array.from(addedFiles),\n }).map(file => ({\n id: hyphenate(`${file.name.toLowerCase()}-${Date.now()}`),\n data: file,\n filename: file.name,\n signedId: \"awaiting\",\n url: \"\",\n type: file.type,\n status: FILE_UPLOAD_STATUS.QUEUED,\n }));\n\n addFilesToStore(contextId, selectedFiles);\n };\n\n const cancelUpload = fileId => {\n uploadControllers[fileId]?.abort?.();\n removeFile(contextId, fileId);\n };\n\n return {\n addFiles,\n uploadFiles,\n queuedFiles: files,\n cancelUpload,\n isUploading,\n };\n};\n\nexport default useFileUploader;\n","import { FileIcon, defaultStyles } from \"react-file-icon\";\n\nconst File = ({ fileName, className }) => {\n const extension = fileName.match(/([^.]+)$/) & [1];\n\n return (\n <div {...{ className }}>\n <FileIcon\n {...{ extension }}\n labelColor=\"#4558f9\"\n {...defaultStyles[extension]}\n />\n </div>\n );\n};\n\nexport default File;\n"],"names":["MAX_VIDEO_SIZE_IN_MB","maxVideoSizeInMb","globalProps","directUploadsMaxFileSizeInMb","Math","min","FILE_SIZE_UNITS","ALLOWED_IMAGE_TYPES","ALLOWED_VIDEO_TYPES","DEFAULT_IMAGE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxNumberOfFiles","maxFileSize","endUserUploadedFileSizeLimitInMb","allowedFileTypes","DEFAULT_VIDEO_UPLOAD_CONFIG","VIDEO_EMBED_FORM_VALIDATION_SCHEMA","yup","object","shape","url","string","required","t","matches","URL_REGEXP","DEFAULT_ASPECT_RATIO","convertToFileSize","size","arguments","length","undefined","fileSize","i","concat","toFixed","buildImageOptions","border","showAspectRatio","options","Icon","LeftAlign","type","alignPos","optionName","CenterAlign","RightAlign","push","CustomSize","items","ratio","tooltipLabel","icon","AspectRatio169","AspectRatio916","AspectRatio43","AspectRatio32","AspectRatio11","BorderDisable","BorderEnable","borderToggle","Delete","getTabs","mediaUploader","video","title","key","getFileExtension","filename","parts","split","pop","showWarningToastr","_ref","selectedFiles","initialFiles","config","largeFilesCount","unSupportedFilesCount","_config$restrictions","Toastr","error","warning","entity","shouldAddFile","file","_config$restrictions2","isPresent","canAdd","fileExtension","name","mimeType","extensionAllowed","includes","mimeAllowed","isUnsupportedFile","selectFiles","_ref2","previousAttachmentsCount","files","addedFilesCount","fallbackMaxNumberOfFiles","_config$restrictions$","canAddFile","remainingAttachments","filter","_canAddFile","uploadControllers","useFileUploader","_ref$attachments","attachments","previousAttachments","_ref$setIsUploadingOn","setIsUploadingOnHost","noop","contextIdRef","useRef","getRandomString","_useTranslation","useTranslation","contextId","current","_useFileUploadStore","useFileUploadStore","store","addFiles","getNextQueuedFile","updateFileStatus","removeFilesFromQueue","setIsUploading","updateFileUploadProgress","removeFile","shallow","addFilesToStore","_useFileUploadStore2","_store$contextId","_store$contextId2","isUploading","_useFileUploadStore2$","handleUploadProgress","xhr","event","lengthComputable","bytesUploaded","loaded","bytesTotal","total","progress","round","id","uploadFile","_asyncToGenerator","_regeneratorRuntime","mark","_callee","upload","_data$signed_id","_data$blob_url","_data$content_type","_yield$upload$create","_yield$upload$create$","data","response","wrap","_callee$","_context","prev","next","DirectUpload","create","sent","_objectWithoutProperties","_excluded","FILE_UPLOAD_STATUS","UPLOADED","abrupt","signedId","signed_id","blob_url","contentType","content_type","t0","axios","isCancel","console","stop","_x","apply","handleUploadFiles","_ref3","_callee2","queuedFile","_yield$Promise$all","_yield$Promise$all2","uploadedFile","remainingUploadedFiles","uploadedFiles","uploadedFileIds","_callee2$","_context2","isNotPresent","UPLOADING","Promise","all","_slicedToArray","_toConsumableArray","pluck","omit","isNot","uploadFiles","addedFiles","Array","from","map","hyphenate","toLowerCase","Date","now","status","QUEUED","cancelUpload","fileId","_uploadControllers$fi","_uploadControllers$fi2","abort","call","queuedFiles","File","fileName","className","extension","match","_jsx","children","FileIcon","_objectSpread","labelColor","defaultStyles"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var constants$1 = require('./chunk-Bmjmsp-E.cjs.js');
|
|
4
|
+
var constants = require('./chunk-CNIzgxEP.cjs.js');
|
|
5
|
+
require('ramda');
|
|
6
|
+
require('i18next');
|
|
7
|
+
require('yup');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.EDITOR_OPTIONS = constants$1.EDITOR_OPTIONS;
|
|
12
|
+
exports.DEFAULT_EDITOR_OPTIONS = constants.DEFAULT_EDITOR_OPTIONS;
|
|
13
|
+
//# sourceMappingURL=constants.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
|