@bigbinary/neeto-editor 1.40.0 → 1.40.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Attachments.js +17 -5
- package/dist/Attachments.js.map +1 -1
- package/dist/Editor.js +629 -508
- package/dist/Editor.js.map +1 -1
- package/dist/EditorContent.js +50 -41
- package/dist/EditorContent.js.map +1 -1
- package/dist/FormikEditor.js +91 -30
- package/dist/FormikEditor.js.map +1 -1
- package/dist/Menu.js +45 -5
- package/dist/Menu.js.map +1 -1
- package/dist/{chunk-b39dfdd8.js → chunk-1ac4a222.js} +832 -709
- package/dist/{chunk-b39dfdd8.js.map → chunk-1ac4a222.js.map} +1 -1
- package/dist/{chunk-6dabc0b1.js → chunk-54bb591c.js} +66 -43
- package/dist/{chunk-6dabc0b1.js.map → chunk-54bb591c.js.map} +1 -1
- package/dist/{chunk-52091cdb.js → chunk-91e5e60f.js} +186 -152
- package/dist/chunk-91e5e60f.js.map +1 -0
- package/dist/{chunk-c1e6a992.js → chunk-eafe8fe4.js} +24 -18
- package/dist/{chunk-c1e6a992.js.map → chunk-eafe8fe4.js.map} +1 -1
- package/dist/cjs/Attachments.cjs.js +17 -5
- package/dist/cjs/Attachments.cjs.js.map +1 -1
- package/dist/cjs/Editor.cjs.js +705 -548
- package/dist/cjs/Editor.cjs.js.map +1 -1
- package/dist/cjs/EditorContent.cjs.js +61 -50
- package/dist/cjs/EditorContent.cjs.js.map +1 -1
- package/dist/cjs/FormikEditor.cjs.js +94 -33
- package/dist/cjs/FormikEditor.cjs.js.map +1 -1
- package/dist/cjs/Menu.cjs.js +45 -5
- package/dist/cjs/Menu.cjs.js.map +1 -1
- package/dist/cjs/{chunk-d0720eac.cjs.js → chunk-391e4970.cjs.js} +214 -170
- package/dist/cjs/chunk-391e4970.cjs.js.map +1 -0
- package/dist/cjs/{chunk-3777ae13.cjs.js → chunk-969db227.cjs.js} +88 -60
- package/dist/cjs/{chunk-3777ae13.cjs.js.map → chunk-969db227.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-76a5f21a.cjs.js → chunk-ae47a2a1.cjs.js} +41 -31
- package/dist/cjs/{chunk-76a5f21a.cjs.js.map → chunk-ae47a2a1.cjs.js.map} +1 -1
- package/dist/cjs/{chunk-d12e89fd.cjs.js → chunk-f5848160.cjs.js} +1034 -875
- package/dist/cjs/{chunk-d12e89fd.cjs.js.map → chunk-f5848160.cjs.js.map} +1 -1
- package/dist/cjs/index.cjs.js +66 -8
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/editor-stats.html +1 -1
- package/dist/index.js +66 -8
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/dist/chunk-52091cdb.js.map +0 -1
- package/dist/cjs/chunk-d0720eac.cjs.js.map +0 -1
|
@@ -5,19 +5,28 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
|
5
5
|
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
6
6
|
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
7
|
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
8
|
-
var React
|
|
8
|
+
var React = require('react');
|
|
9
9
|
var classnames = require('classnames');
|
|
10
10
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
11
|
-
var
|
|
11
|
+
var Button = require('@bigbinary/neetoui/Button');
|
|
12
|
+
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
12
13
|
var ramda = require('ramda');
|
|
13
14
|
var reactI18next = require('react-i18next');
|
|
14
|
-
var FileIcon = require('./chunk-
|
|
15
|
+
var FileIcon = require('./chunk-ae47a2a1.cjs.js');
|
|
15
16
|
var injectCss = require('./chunk-da9ee471.cjs.js');
|
|
16
17
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
17
|
-
var
|
|
18
|
+
var MenuVertical = require('@bigbinary/neeto-icons/MenuVertical');
|
|
19
|
+
var Close = require('@bigbinary/neeto-icons/Close');
|
|
20
|
+
var Dropdown = require('@bigbinary/neetoui/Dropdown');
|
|
21
|
+
var Input = require('@bigbinary/neetoui/Input');
|
|
22
|
+
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
23
|
+
var Tooltip = require('@bigbinary/neetoui/Tooltip');
|
|
24
|
+
var Typography = require('@bigbinary/neetoui/Typography');
|
|
25
|
+
var Alert = require('@bigbinary/neetoui/Alert');
|
|
18
26
|
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
19
27
|
var constants = require('./chunk-d5fbc51f.cjs.js');
|
|
20
28
|
var axios = require('axios');
|
|
29
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
21
30
|
|
|
22
31
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
32
|
|
|
@@ -27,6 +36,16 @@ var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGene
|
|
|
27
36
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
28
37
|
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
29
38
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
39
|
+
var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
|
|
40
|
+
var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
|
|
41
|
+
var MenuVertical__default = /*#__PURE__*/_interopDefaultLegacy(MenuVertical);
|
|
42
|
+
var Close__default = /*#__PURE__*/_interopDefaultLegacy(Close);
|
|
43
|
+
var Dropdown__default = /*#__PURE__*/_interopDefaultLegacy(Dropdown);
|
|
44
|
+
var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
|
|
45
|
+
var Spinner__default = /*#__PURE__*/_interopDefaultLegacy(Spinner);
|
|
46
|
+
var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
47
|
+
var Typography__default = /*#__PURE__*/_interopDefaultLegacy(Typography);
|
|
48
|
+
var Alert__default = /*#__PURE__*/_interopDefaultLegacy(Alert);
|
|
30
49
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
31
50
|
|
|
32
51
|
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:4px 2px 4px 8px;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__header{border-bottom:1px solid rgb(var(--neeto-ui-gray-200));display:flex;flex-direction:row;gap:8px;margin-bottom:8px}.ne-attachments-preview__header__fileinfo{align-items:flex-end;border-right:1px solid rgb(var(--neeto-ui-gray-200));display:flex;gap:4px;padding-right:6px}.ne-attachments-preview__header__fileinfo h3{font-weight:500}.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:hover,.ne-attachments-preview__body-right:hover{background-color:rgba(var(--neeto-ui-gray-100),.4)!important;cursor:pointer}.ne-attachments-preview__body-left{left:24px}.ne-attachments-preview__body-right{right:24px}.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:0 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;position:absolute}";
|
|
@@ -84,7 +103,7 @@ var downloadFile = /*#__PURE__*/function () {
|
|
|
84
103
|
case 16:
|
|
85
104
|
_context.prev = 16;
|
|
86
105
|
_context.t0 = _context["catch"](0);
|
|
87
|
-
|
|
106
|
+
Toastr__default["default"].error(_context.t0);
|
|
88
107
|
case 19:
|
|
89
108
|
case "end":
|
|
90
109
|
return _context.stop();
|
|
@@ -101,8 +120,8 @@ var checkPreviewAvailability = function checkPreviewAvailability(contentType) {
|
|
|
101
120
|
|
|
102
121
|
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; }
|
|
103
122
|
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__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; }
|
|
104
|
-
var Menu =
|
|
105
|
-
MenuItem =
|
|
123
|
+
var Menu = Dropdown__default["default"].Menu,
|
|
124
|
+
MenuItem = Dropdown__default["default"].MenuItem;
|
|
106
125
|
var Attachment = function Attachment(_ref) {
|
|
107
126
|
var attachment = _ref.attachment,
|
|
108
127
|
attachments = _ref.attachments,
|
|
@@ -113,23 +132,23 @@ var Attachment = function Attachment(_ref) {
|
|
|
113
132
|
allowDelete = _ref.allowDelete;
|
|
114
133
|
var _useTranslation = reactI18next.useTranslation(),
|
|
115
134
|
t = _useTranslation.t;
|
|
116
|
-
var _useState = React
|
|
135
|
+
var _useState = React.useState(false),
|
|
117
136
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
118
137
|
isRenaming = _useState2[0],
|
|
119
138
|
setIsRenaming = _useState2[1];
|
|
120
|
-
var _useState3 = React
|
|
139
|
+
var _useState3 = React.useState(false),
|
|
121
140
|
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
122
141
|
isUpdating = _useState4[0],
|
|
123
142
|
setIsUpdating = _useState4[1];
|
|
124
|
-
var _useState5 = React
|
|
143
|
+
var _useState5 = React.useState(false),
|
|
125
144
|
_useState6 = _slicedToArray__default["default"](_useState5, 2),
|
|
126
145
|
isDeleteAlertOpen = _useState6[0],
|
|
127
146
|
setIsDeleteAlertOpen = _useState6[1];
|
|
128
|
-
var _useState7 = React
|
|
147
|
+
var _useState7 = React.useState(false),
|
|
129
148
|
_useState8 = _slicedToArray__default["default"](_useState7, 2),
|
|
130
149
|
isDeleting = _useState8[0],
|
|
131
150
|
setIsDeleting = _useState8[1];
|
|
132
|
-
var _useState9 = React
|
|
151
|
+
var _useState9 = React.useState(""),
|
|
133
152
|
_useState10 = _slicedToArray__default["default"](_useState9, 2),
|
|
134
153
|
newFilename = _useState10[0],
|
|
135
154
|
setNewFilename = _useState10[1];
|
|
@@ -166,7 +185,7 @@ var Attachment = function Attachment(_ref) {
|
|
|
166
185
|
case 11:
|
|
167
186
|
_context.prev = 11;
|
|
168
187
|
_context.t0 = _context["catch"](0);
|
|
169
|
-
|
|
188
|
+
Toastr__default["default"].error(_context.t0);
|
|
170
189
|
case 14:
|
|
171
190
|
_context.prev = 14;
|
|
172
191
|
setIsRenaming(false);
|
|
@@ -209,7 +228,7 @@ var Attachment = function Attachment(_ref) {
|
|
|
209
228
|
case 10:
|
|
210
229
|
_context2.prev = 10;
|
|
211
230
|
_context2.t0 = _context2["catch"](3);
|
|
212
|
-
|
|
231
|
+
Toastr__default["default"].error(_context2.t0);
|
|
213
232
|
case 13:
|
|
214
233
|
case "end":
|
|
215
234
|
return _context2.stop();
|
|
@@ -248,88 +267,103 @@ var Attachment = function Attachment(_ref) {
|
|
|
248
267
|
setNewFilename("");
|
|
249
268
|
}
|
|
250
269
|
};
|
|
251
|
-
return /*#__PURE__*/
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
270
|
+
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
271
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
272
|
+
className: "ne-attachments__preview",
|
|
273
|
+
"data-cy": "ne-attachments-wrapper",
|
|
274
|
+
children: isRenaming ? /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
275
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
|
|
276
|
+
content: newFilename,
|
|
277
|
+
position: "top",
|
|
278
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
|
|
279
|
+
autoFocus: true,
|
|
280
|
+
"data-cy": "neeto-editor-preview-rename-input",
|
|
281
|
+
size: "small",
|
|
282
|
+
value: newFilename,
|
|
283
|
+
error: ramda.isEmpty(newFilename) ? t("neetoEditor.attachments.nameEmpty") : "",
|
|
284
|
+
onChange: utils.withEventTargetValue(setNewFilename),
|
|
285
|
+
onKeyDown: function onKeyDown(event) {
|
|
286
|
+
return handleKeyDown({
|
|
287
|
+
event: event,
|
|
288
|
+
key: ATTACHMENT_OPTIONS.RENAME
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
})
|
|
292
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
293
|
+
"data-cy": "neeto-editor-preview-rename-cancel-button",
|
|
294
|
+
icon: Close__default["default"],
|
|
295
|
+
loading: isUpdating,
|
|
296
|
+
size: "small",
|
|
297
|
+
style: "text",
|
|
298
|
+
onClick: function onClick() {
|
|
299
|
+
return setIsRenaming(false);
|
|
300
|
+
}
|
|
301
|
+
})]
|
|
302
|
+
}) : /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
303
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
304
|
+
className: "ne-attachments__preview-wrapper",
|
|
305
|
+
onClick: function onClick() {
|
|
306
|
+
return setSelectedAttachment(attachment);
|
|
307
|
+
},
|
|
308
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(FileIcon.File, {
|
|
309
|
+
className: "ne-attachments__preview-wrapper__icon",
|
|
310
|
+
fileName: attachment.filename
|
|
311
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
|
|
312
|
+
content: attachment.filename,
|
|
313
|
+
position: "top",
|
|
314
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
315
|
+
style: "body2",
|
|
316
|
+
children: attachment.filename
|
|
317
|
+
})
|
|
318
|
+
}), isLoading && /*#__PURE__*/jsxRuntime.jsx(Spinner__default["default"], {
|
|
319
|
+
className: "attachment-button-loader"
|
|
320
|
+
})]
|
|
321
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Tooltip__default["default"], {
|
|
322
|
+
content: t("neetoEditor.attachments.actionsBlocked"),
|
|
323
|
+
disabled: !disabled,
|
|
324
|
+
position: "top",
|
|
325
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], {
|
|
326
|
+
disabled: disabled,
|
|
327
|
+
buttonSize: "small",
|
|
328
|
+
buttonStyle: "text",
|
|
329
|
+
icon: MenuVertical__default["default"],
|
|
330
|
+
children: /*#__PURE__*/jsxRuntime.jsx(Menu, {
|
|
331
|
+
children: Object.entries(handlers).map(function (_ref7) {
|
|
332
|
+
var _ref8 = _slicedToArray__default["default"](_ref7, 2),
|
|
333
|
+
label = _ref8[0],
|
|
334
|
+
handler = _ref8[1];
|
|
335
|
+
return /*#__PURE__*/jsxRuntime.jsx(MenuItem.Button, {
|
|
336
|
+
"data-cy": "neeto-editor-preview-".concat(label.toLowerCase(), "-button"),
|
|
337
|
+
onClick: function onClick() {
|
|
338
|
+
return onMenuItemClick({
|
|
339
|
+
key: label,
|
|
340
|
+
handler: handler
|
|
341
|
+
});
|
|
342
|
+
},
|
|
343
|
+
children: label
|
|
344
|
+
}, label);
|
|
345
|
+
})
|
|
346
|
+
})
|
|
347
|
+
})
|
|
348
|
+
})]
|
|
349
|
+
})
|
|
350
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Alert__default["default"], {
|
|
351
|
+
isOpen: isDeleteAlertOpen,
|
|
352
|
+
isSubmitting: isDeleting,
|
|
353
|
+
submitButtonLabel: t("neetoEditor.menu.delete"),
|
|
354
|
+
title: t("neetoEditor.attachments.deleteTitle"),
|
|
355
|
+
message: /*#__PURE__*/jsxRuntime.jsx(reactI18next.Trans, {
|
|
356
|
+
i18nKey: "neetoEditor.attachments.deleteConfirmation",
|
|
357
|
+
values: {
|
|
358
|
+
entity: newFilename
|
|
359
|
+
}
|
|
360
|
+
}),
|
|
361
|
+
onClose: function onClose() {
|
|
362
|
+
return setIsDeleteAlertOpen(false);
|
|
363
|
+
},
|
|
364
|
+
onSubmit: handleDelete
|
|
365
|
+
})]
|
|
366
|
+
});
|
|
333
367
|
};
|
|
334
368
|
|
|
335
369
|
var AttachmentProgress = function AttachmentProgress(_ref) {
|
|
@@ -340,27 +374,32 @@ var AttachmentProgress = function AttachmentProgress(_ref) {
|
|
|
340
374
|
var handleCancel = function handleCancel() {
|
|
341
375
|
cancelUpload(attachment.id);
|
|
342
376
|
};
|
|
343
|
-
return /*#__PURE__*/
|
|
344
|
-
className: "ne-attachments__preview"
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
377
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
378
|
+
className: "ne-attachments__preview",
|
|
379
|
+
children: [/*#__PURE__*/jsxRuntime.jsx("div", {
|
|
380
|
+
className: "ne-attachments__preview__progress-icon",
|
|
381
|
+
children: /*#__PURE__*/jsxRuntime.jsx(FileIcon.FileIcon, {})
|
|
382
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
383
|
+
className: "ne-attachments__preview__progress",
|
|
384
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
385
|
+
style: "body2",
|
|
386
|
+
children: attachment.filename
|
|
387
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
|
|
388
|
+
style: "body2",
|
|
389
|
+
children: progressPercentage
|
|
390
|
+
})]
|
|
391
|
+
}), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
392
|
+
"data-cy": "neeto-editor-preview-upload-cancel-button",
|
|
393
|
+
icon: Close__default["default"],
|
|
394
|
+
size: "small",
|
|
395
|
+
style: "text",
|
|
396
|
+
onClick: handleCancel
|
|
397
|
+
})]
|
|
398
|
+
});
|
|
360
399
|
};
|
|
361
400
|
|
|
362
|
-
var Preview = /*#__PURE__*/React
|
|
363
|
-
return Promise.resolve().then(function () { return require('./chunk-
|
|
401
|
+
var Preview = /*#__PURE__*/React.lazy(function () {
|
|
402
|
+
return Promise.resolve().then(function () { return require('./chunk-969db227.cjs.js'); });
|
|
364
403
|
});
|
|
365
404
|
var Attachments = function Attachments(_ref, ref) {
|
|
366
405
|
var _fileUploadConfig$all;
|
|
@@ -384,16 +423,16 @@ var Attachments = function Attachments(_ref, ref) {
|
|
|
384
423
|
allowDelete = _ref$allowDelete === void 0 ? true : _ref$allowDelete;
|
|
385
424
|
var _useTranslation = reactI18next.useTranslation(),
|
|
386
425
|
t = _useTranslation.t;
|
|
387
|
-
var _useState = React
|
|
426
|
+
var _useState = React.useState({}),
|
|
388
427
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
389
428
|
selectedAttachment = _useState2[0],
|
|
390
429
|
setSelectedAttachment = _useState2[1];
|
|
391
|
-
var _useState3 = React
|
|
430
|
+
var _useState3 = React.useState(false),
|
|
392
431
|
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
393
432
|
didFetchPreviewBundle = _useState4[0],
|
|
394
433
|
setDidFetchPreviewBundle = _useState4[1];
|
|
395
|
-
var attachmentInputRef = React
|
|
396
|
-
var fileUploadConfig = React
|
|
434
|
+
var attachmentInputRef = React.useRef(null);
|
|
435
|
+
var fileUploadConfig = React.useMemo(function () {
|
|
397
436
|
return buildFileUploadConfig(config);
|
|
398
437
|
}, [config]);
|
|
399
438
|
var _useFileUploader = FileIcon.useFileUploader({
|
|
@@ -437,9 +476,9 @@ var Attachments = function Attachments(_ref, ref) {
|
|
|
437
476
|
return;
|
|
438
477
|
}
|
|
439
478
|
event.preventDefault();
|
|
440
|
-
|
|
479
|
+
Toastr__default["default"].warning(t("neetoEditor.attachments.oneAttachmentAllowed"));
|
|
441
480
|
};
|
|
442
|
-
React
|
|
481
|
+
React.useImperativeHandle(ref, function () {
|
|
443
482
|
return {
|
|
444
483
|
handleUploadAttachments: handleUploadAttachments
|
|
445
484
|
};
|
|
@@ -471,59 +510,64 @@ var Attachments = function Attachments(_ref, ref) {
|
|
|
471
510
|
attachments: attachments,
|
|
472
511
|
onDrop: handleFilesDrop
|
|
473
512
|
});
|
|
474
|
-
return /*#__PURE__*/
|
|
475
|
-
className: classnames__default["default"]("ne-attachments", _defineProperty__default["default"]({}, className, className))
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
513
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
514
|
+
className: classnames__default["default"]("ne-attachments", _defineProperty__default["default"]({}, className, className)),
|
|
515
|
+
children: [/*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
516
|
+
className: "ne-attachments__items",
|
|
517
|
+
children: [attachments.map(function (attachment) {
|
|
518
|
+
return /*#__PURE__*/React.createElement(Attachment, {
|
|
519
|
+
allowDelete: allowDelete,
|
|
520
|
+
attachment: attachment,
|
|
521
|
+
attachments: attachments,
|
|
522
|
+
disabled: disabled,
|
|
523
|
+
onChange: onChange,
|
|
524
|
+
setSelectedAttachment: setSelectedAttachment,
|
|
525
|
+
key: attachment.signedId,
|
|
526
|
+
isLoading: !didFetchPreviewBundle && selectedAttachment.url === attachment.url
|
|
527
|
+
});
|
|
528
|
+
}), queuedFiles.map(function (attachment) {
|
|
529
|
+
return /*#__PURE__*/React.createElement(AttachmentProgress, {
|
|
530
|
+
attachment: attachment,
|
|
531
|
+
cancelUpload: cancelUpload,
|
|
532
|
+
key: attachment.id
|
|
533
|
+
});
|
|
534
|
+
})]
|
|
535
|
+
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
536
|
+
children: [isIndependent && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
|
|
537
|
+
"data-cy": "neeto-editor-attachments-upload-button",
|
|
538
|
+
disabled: isUploading,
|
|
539
|
+
label: t("neetoEditor.attachments.add"),
|
|
540
|
+
loading: isUploading,
|
|
541
|
+
size: "medium",
|
|
542
|
+
style: "link",
|
|
543
|
+
onClick: handleUploadAttachments
|
|
544
|
+
}), /*#__PURE__*/jsxRuntime.jsx("input", {
|
|
545
|
+
accept: (_fileUploadConfig$all = fileUploadConfig.allowedFileTypes) === null || _fileUploadConfig$all === void 0 ? void 0 : _fileUploadConfig$all.join(","),
|
|
546
|
+
multiple: fileUploadConfig.maxNumberOfFiles !== 1,
|
|
547
|
+
ref: attachmentInputRef,
|
|
548
|
+
type: "file",
|
|
549
|
+
onChange: handleAddFile,
|
|
550
|
+
onClick: handleFileInputClick
|
|
551
|
+
}), /*#__PURE__*/jsxRuntime.jsx(React.Suspense, {
|
|
552
|
+
fallback: /*#__PURE__*/jsxRuntime.jsx("span", {}),
|
|
553
|
+
children: neetoCist.isPresent(selectedAttachment) && /*#__PURE__*/jsxRuntime.jsx(Preview, {
|
|
554
|
+
attachments: attachments,
|
|
555
|
+
selectedAttachment: selectedAttachment,
|
|
556
|
+
setDidFetchPreviewBundle: setDidFetchPreviewBundle,
|
|
557
|
+
setSelectedAttachment: setSelectedAttachment,
|
|
558
|
+
onClose: function onClose() {
|
|
559
|
+
return setSelectedAttachment({});
|
|
560
|
+
}
|
|
561
|
+
})
|
|
562
|
+
})]
|
|
563
|
+
})]
|
|
564
|
+
});
|
|
521
565
|
};
|
|
522
566
|
Attachments.displayName = "NeetoEditorAttachments";
|
|
523
|
-
var Attachments$1 = /*#__PURE__*/React
|
|
567
|
+
var Attachments$1 = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(Attachments));
|
|
524
568
|
|
|
525
569
|
exports.ATTACHMENTS_PREVIEW_DATA_CY = ATTACHMENTS_PREVIEW_DATA_CY;
|
|
526
570
|
exports.Attachments = Attachments$1;
|
|
527
571
|
exports.checkPreviewAvailability = checkPreviewAvailability;
|
|
528
572
|
exports.downloadFile = downloadFile;
|
|
529
|
-
//# sourceMappingURL=chunk-
|
|
573
|
+
//# sourceMappingURL=chunk-391e4970.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chunk-391e4970.cjs.js","sources":["../../src/components/Attachments/constants.js","../../src/apis/file_download.js","../../src/components/Attachments/utils.js","../../src/components/Attachments/Attachment.jsx","../../src/components/Attachments/AttachmentProgress.jsx","../../src/components/Attachments/index.jsx"],"sourcesContent":["import { globalProps } from \"neetocommons/initializers\";\n\nimport { DIRECT_UPLOAD_ENDPOINT } from \"src/common/constants\";\n\nexport const DEFAULT_FILE_UPLOAD_CONFIG = {\n directUploadEndpoint: DIRECT_UPLOAD_ENDPOINT,\n restrictions: {\n maxFileSize: globalProps.endUserUploadedFileSizeLimitInMb * 1024 * 1024,\n },\n};\n\nexport const ATTACHMENT_OPTIONS = {\n DOWNLOAD: \"Download\",\n RENAME: \"Rename\",\n DELETE: \"Delete\",\n};\n\nexport const ATTACHMENTS_PREVIEW_DATA_CY = \"ne-attachments-preview-content\";\n","import axios from \"axios\";\n\nconst newAxiosInstance = axios.create();\n\nconst getFile = url => newAxiosInstance.get(url, { responseType: \"blob\" });\n\nconst fileDownloadApi = { getFile };\n\nexport default fileDownloadApi;\n","import { Toastr } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\n\nimport fileDownloadApi from \"apis/file_download\";\n\nimport { DEFAULT_FILE_UPLOAD_CONFIG } from \"./constants\";\n\nexport const buildFileUploadConfig = config =>\n mergeRight(DEFAULT_FILE_UPLOAD_CONFIG, config);\n\nexport const downloadFile = async (fileUrl, filename) => {\n try {\n const response = await fileDownloadApi.getFile(fileUrl);\n const blob = new Blob([response.data]);\n const url = URL.createObjectURL(blob);\n\n const a = document.createElement(\"a\");\n a.href = url;\n a.setAttribute(\"download\", filename);\n\n a.style.display = \"none\";\n document.body.appendChild(a);\n\n a.click();\n\n URL.revokeObjectURL(url);\n document.body.removeChild(a);\n } catch (error) {\n Toastr.error(error);\n }\n};\n\nexport const checkPreviewAvailability = contentType =>\n contentType &&\n (contentType.startsWith(\"video/\") ||\n contentType === \"application/pdf\" ||\n contentType === \"image/jpeg\" ||\n contentType === \"image/gif\" ||\n contentType === \"image/png\" ||\n contentType === \"image/webp\" ||\n contentType === \"text/plain\" ||\n contentType === \"image/bmp\" ||\n contentType === \"application/msword\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\" ||\n contentType === \"text/htm\" ||\n contentType === \"text/html\" ||\n contentType === \"image/jpg\" ||\n contentType === \"application/vnd.ms-powerpoint\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\" ||\n contentType === \"image/tiff\" ||\n contentType === \"application/vnd.ms-excel\" ||\n contentType ===\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\");\n","import { useState } from \"react\";\n\nimport { removeBy } from \"neetocist\";\nimport { withEventTargetValue } from \"neetocommons/utils\";\nimport { MenuVertical, Close } from \"neetoicons\";\nimport {\n Dropdown,\n Input,\n Spinner,\n Toastr,\n Tooltip,\n Typography,\n Button,\n Alert,\n} from \"neetoui\";\nimport { isEmpty, assoc } from \"ramda\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\n\nimport { ATTACHMENT_OPTIONS } from \"./constants\";\nimport { downloadFile } from \"./utils\";\n\nimport FileIcon from \"../Common/FileIcon\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst Attachment = ({\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n isLoading,\n allowDelete,\n}) => {\n const { t } = useTranslation();\n\n const [isRenaming, setIsRenaming] = useState(false);\n const [isUpdating, setIsUpdating] = useState(false);\n const [isDeleteAlertOpen, setIsDeleteAlertOpen] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n const [newFilename, setNewFilename] = useState(\"\");\n\n const handleDownload = () =>\n downloadFile(attachment.url, attachment.filename);\n\n const handleRename = async () => {\n try {\n setIsUpdating(true);\n const { signedId } = attachment;\n const payload = { blob: { filename: newFilename } };\n\n const response = await directUploadsApi.update({ signedId, payload });\n const filename = response.data?.blob?.filename || response.blob.filename;\n\n onChange(\n attachments.map(attachment =>\n attachment.signedId === signedId\n ? assoc(\"filename\", filename, attachment)\n : attachment\n )\n );\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsRenaming(false);\n setIsUpdating(false);\n setNewFilename(\"\");\n }\n };\n\n const handleDelete = async () => {\n if (!allowDelete) return;\n\n setIsDeleting(true);\n try {\n const { signedId } = attachment;\n await directUploadsApi.destroy(signedId);\n onChange(removeBy({ signedId }, attachments));\n } catch (error) {\n Toastr.error(error);\n }\n };\n\n const handlers = {\n [ATTACHMENT_OPTIONS.DOWNLOAD]: handleDownload,\n [ATTACHMENT_OPTIONS.RENAME]: handleRename,\n ...(allowDelete && { [ATTACHMENT_OPTIONS.DELETE]: handleDelete }),\n };\n\n const onMenuItemClick = ({ key, handler }) => {\n if (key === ATTACHMENT_OPTIONS.RENAME) {\n setIsRenaming(true);\n setNewFilename(attachment.filename);\n } else if (key === ATTACHMENT_OPTIONS.DELETE) {\n setNewFilename(attachment.filename);\n setIsDeleteAlertOpen(true);\n } else {\n handler();\n }\n };\n\n const handleKeyDown = ({ event, key }) => {\n const handler = handlers[key];\n\n if (event.key === \"Enter\" && handler && !isEmpty(newFilename)) {\n event.stopPropagation();\n event.preventDefault();\n handler();\n }\n\n if (event.key === \"Escape\") {\n setIsRenaming(false);\n setNewFilename(\"\");\n }\n };\n\n return (\n <>\n <div className=\"ne-attachments__preview\" data-cy=\"ne-attachments-wrapper\">\n {isRenaming ? (\n <>\n <Tooltip content={newFilename} position=\"top\">\n <Input\n autoFocus\n data-cy=\"neeto-editor-preview-rename-input\"\n size=\"small\"\n value={newFilename}\n error={\n isEmpty(newFilename)\n ? t(\"neetoEditor.attachments.nameEmpty\")\n : \"\"\n }\n onChange={withEventTargetValue(setNewFilename)}\n onKeyDown={event =>\n handleKeyDown({\n event,\n key: ATTACHMENT_OPTIONS.RENAME,\n })\n }\n />\n </Tooltip>\n <Button\n data-cy=\"neeto-editor-preview-rename-cancel-button\"\n icon={Close}\n loading={isUpdating}\n size=\"small\"\n style=\"text\"\n onClick={() => setIsRenaming(false)}\n />\n </>\n ) : (\n <>\n <div\n className=\"ne-attachments__preview-wrapper\"\n onClick={() => setSelectedAttachment(attachment)}\n >\n <FileIcon\n className=\"ne-attachments__preview-wrapper__icon\"\n fileName={attachment.filename}\n />\n <Tooltip content={attachment.filename} position=\"top\">\n <Typography style=\"body2\">{attachment.filename}</Typography>\n </Tooltip>\n {isLoading && <Spinner className=\"attachment-button-loader\" />}\n </div>\n <Tooltip\n content={t(\"neetoEditor.attachments.actionsBlocked\")}\n disabled={!disabled}\n position=\"top\"\n >\n <Dropdown\n {...{ disabled }}\n buttonSize=\"small\"\n buttonStyle=\"text\"\n icon={MenuVertical}\n >\n <Menu>\n {Object.entries(handlers).map(([label, handler]) => (\n <MenuItem.Button\n data-cy={`neeto-editor-preview-${label.toLowerCase()}-button`}\n key={label}\n onClick={() => onMenuItemClick({ key: label, handler })}\n >\n {label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </Tooltip>\n </>\n )}\n </div>\n <Alert\n isOpen={isDeleteAlertOpen}\n isSubmitting={isDeleting}\n submitButtonLabel={t(\"neetoEditor.menu.delete\")}\n title={t(\"neetoEditor.attachments.deleteTitle\")}\n message={\n <Trans\n i18nKey=\"neetoEditor.attachments.deleteConfirmation\"\n values={{ entity: newFilename }}\n />\n }\n onClose={() => setIsDeleteAlertOpen(false)}\n onSubmit={handleDelete}\n />\n </>\n );\n};\n\nexport default Attachment;\n","import { Close } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\nimport { FileIcon } from \"react-file-icon\";\n\nconst AttachmentProgress = ({ attachment, cancelUpload }) => {\n const progressPercentage = `${attachment.progress ?? 0}%`;\n\n const handleCancel = () => {\n cancelUpload(attachment.id);\n };\n\n return (\n <div className=\"ne-attachments__preview\">\n <div className=\"ne-attachments__preview__progress-icon\">\n <FileIcon />\n </div>\n <div className=\"ne-attachments__preview__progress\">\n <Typography style=\"body2\">{attachment.filename}</Typography>\n <Typography style=\"body2\">{progressPercentage}</Typography>\n </div>\n <Button\n data-cy=\"neeto-editor-preview-upload-cancel-button\"\n icon={Close}\n size=\"small\"\n style=\"text\"\n onClick={handleCancel}\n />\n </div>\n );\n};\n\nexport default AttachmentProgress;\n","import {\n forwardRef,\n useRef,\n useState,\n useImperativeHandle,\n lazy,\n Suspense,\n useMemo,\n memo,\n} from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, isPresent, noop } from \"neetocist\";\nimport { Button, Toastr } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport useDropFiles from \"hooks/useDropFiles\";\nimport useFileUploader from \"hooks/useFileUploader\";\nimport \"src/styles/components/attachments.scss\";\n\nimport Attachment from \"./Attachment\";\nimport AttachmentProgress from \"./AttachmentProgress\";\nimport { buildFileUploadConfig } from \"./utils\";\n\nconst Preview = lazy(() => import(\"./Preview\"));\n\nconst Attachments = (\n {\n attachments = [],\n className = \"\",\n onChange = noop,\n isIndependent = true,\n disabled = false,\n dragDropRef = null,\n config = {},\n setIsUploading = noop,\n allowDelete = true,\n },\n ref\n) => {\n const { t } = useTranslation();\n\n const [selectedAttachment, setSelectedAttachment] = useState({});\n const [didFetchPreviewBundle, setDidFetchPreviewBundle] = useState(false);\n\n const attachmentInputRef = useRef(null);\n\n const fileUploadConfig = useMemo(\n () => buildFileUploadConfig(config),\n [config]\n );\n\n const { addFiles, uploadFiles, queuedFiles, cancelUpload, isUploading } =\n useFileUploader({\n config: fileUploadConfig,\n setIsUploadingOnHost: setIsUploading,\n attachments,\n });\n\n const handleAddFile = async event => {\n addFiles(event.target.files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n attachmentInputRef.current.value = null;\n };\n\n const handleUploadAttachments = () => attachmentInputRef.current.click();\n\n const handleFileInputClick = event => {\n if (!(!isEmpty(attachments) && fileUploadConfig.maxNumberOfFiles === 1)) {\n return;\n }\n event.preventDefault();\n Toastr.warning(t(\"neetoEditor.attachments.oneAttachmentAllowed\"));\n };\n\n useImperativeHandle(ref, () => ({ handleUploadAttachments }), []);\n\n const handleFilesDrop = async files => {\n addFiles(files);\n const uploadedFiles = await uploadFiles();\n isNotEmpty(uploadedFiles) && onChange([...attachments, ...uploadedFiles]);\n };\n\n useDropFiles({\n dropTargetRef: dragDropRef,\n attachments,\n onDrop: handleFilesDrop,\n });\n\n return (\n <div className={classnames(\"ne-attachments\", { [className]: className })}>\n <div className=\"ne-attachments__items\">\n {attachments.map(attachment => (\n <Attachment\n {...{\n allowDelete,\n attachment,\n attachments,\n disabled,\n onChange,\n setSelectedAttachment,\n }}\n key={attachment.signedId}\n isLoading={\n !didFetchPreviewBundle &&\n selectedAttachment.url === attachment.url\n }\n />\n ))}\n {queuedFiles.map(attachment => (\n <AttachmentProgress\n {...{ attachment, cancelUpload }}\n key={attachment.id}\n />\n ))}\n </div>\n <div>\n {isIndependent && (\n <Button\n data-cy=\"neeto-editor-attachments-upload-button\"\n disabled={isUploading}\n label={t(\"neetoEditor.attachments.add\")}\n loading={isUploading}\n size=\"medium\"\n style=\"link\"\n onClick={handleUploadAttachments}\n />\n )}\n <input\n accept={fileUploadConfig.allowedFileTypes?.join(\",\")}\n multiple={fileUploadConfig.maxNumberOfFiles !== 1}\n ref={attachmentInputRef}\n type=\"file\"\n onChange={handleAddFile}\n onClick={handleFileInputClick}\n />\n <Suspense fallback={<span />}>\n {isPresent(selectedAttachment) && (\n <Preview\n {...{\n attachments,\n selectedAttachment,\n setDidFetchPreviewBundle,\n setSelectedAttachment,\n }}\n onClose={() => setSelectedAttachment({})}\n />\n )}\n </Suspense>\n </div>\n </div>\n );\n};\n\nAttachments.displayName = \"NeetoEditorAttachments\";\n\nexport default memo(forwardRef(Attachments));\n"],"names":["DEFAULT_FILE_UPLOAD_CONFIG","directUploadEndpoint","DIRECT_UPLOAD_ENDPOINT","restrictions","maxFileSize","globalProps","endUserUploadedFileSizeLimitInMb","ATTACHMENT_OPTIONS","DOWNLOAD","RENAME","DELETE","ATTACHMENTS_PREVIEW_DATA_CY","newAxiosInstance","axios","create","getFile","url","get","responseType","fileDownloadApi","buildFileUploadConfig","config","mergeRight","downloadFile","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","fileUrl","filename","response","blob","a","wrap","_callee$","_context","prev","next","sent","Blob","data","URL","createObjectURL","document","createElement","href","setAttribute","style","display","body","appendChild","click","revokeObjectURL","removeChild","t0","Toastr","error","stop","_x","_x2","apply","arguments","checkPreviewAvailability","contentType","startsWith","Menu","Dropdown","MenuItem","Attachment","attachment","attachments","disabled","onChange","setSelectedAttachment","isLoading","allowDelete","_useTranslation","useTranslation","t","_useState","useState","_useState2","_slicedToArray","isRenaming","setIsRenaming","_useState3","_useState4","isUpdating","setIsUpdating","_useState5","_useState6","isDeleteAlertOpen","setIsDeleteAlertOpen","_useState7","_useState8","isDeleting","setIsDeleting","_useState9","_useState10","newFilename","setNewFilename","handleDownload","handleRename","_ref2","_response$data","signedId","payload","directUploadsApi","update","map","assoc","finish","handleDelete","_ref3","_callee2","_callee2$","_context2","abrupt","destroy","removeBy","handlers","_objectSpread","_defineProperty","onMenuItemClick","_ref5","key","handler","handleKeyDown","_ref6","event","isEmpty","stopPropagation","preventDefault","_jsxs","_Fragment","children","_jsx","className","Tooltip","content","position","Input","autoFocus","size","value","withEventTargetValue","onKeyDown","Button","icon","Close","loading","onClick","FileIcon","fileName","Typography","Spinner","buttonSize","buttonStyle","MenuVertical","Object","entries","_ref7","_ref8","label","concat","toLowerCase","Alert","isOpen","isSubmitting","submitButtonLabel","title","message","Trans","i18nKey","values","entity","onClose","onSubmit","AttachmentProgress","_attachment$progress","cancelUpload","progressPercentage","progress","handleCancel","id","Preview","lazy","Attachments","ref","_fileUploadConfig$all","_ref$attachments","_ref$className","_ref$onChange","noop","_ref$isIndependent","isIndependent","_ref$disabled","_ref$dragDropRef","dragDropRef","_ref$config","_ref$setIsUploading","setIsUploading","_ref$allowDelete","selectedAttachment","didFetchPreviewBundle","setDidFetchPreviewBundle","attachmentInputRef","useRef","fileUploadConfig","useMemo","_useFileUploader","useFileUploader","setIsUploadingOnHost","addFiles","uploadFiles","queuedFiles","isUploading","handleAddFile","uploadedFiles","target","files","isNotEmpty","_toConsumableArray","current","handleUploadAttachments","handleFileInputClick","maxNumberOfFiles","warning","useImperativeHandle","handleFilesDrop","useDropFiles","dropTargetRef","onDrop","classnames","_createElement","accept","allowedFileTypes","join","multiple","type","Suspense","fallback","isPresent","displayName","memo","forwardRef"],"mappings":"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"}
|