@bigbinary/neeto-editor 1.43.9 → 1.43.11

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.
Files changed (30) hide show
  1. package/dist/Attachments.js +2 -2
  2. package/dist/Editor.js +3 -3
  3. package/dist/FormikEditor.js +3 -3
  4. package/dist/Menu.js +2 -2
  5. package/dist/{chunk-BZm7mqDQ.js → chunk-B8P6dqJ1.js} +12 -6
  6. package/dist/{chunk-BZm7mqDQ.js.map → chunk-B8P6dqJ1.js.map} +1 -1
  7. package/dist/{chunk-y6yj9P9A.js → chunk-CDRrXQvW.js} +4 -4
  8. package/dist/{chunk-y6yj9P9A.js.map → chunk-CDRrXQvW.js.map} +1 -1
  9. package/dist/{chunk-BvXQZTLR.js → chunk-DfQGfgvj.js} +2 -2
  10. package/dist/{chunk-BvXQZTLR.js.map → chunk-DfQGfgvj.js.map} +1 -1
  11. package/dist/{chunk-_Z694ouv.js → chunk-DkkKVDm4.js} +67 -50
  12. package/dist/chunk-DkkKVDm4.js.map +1 -0
  13. package/dist/cjs/Attachments.cjs.js +2 -2
  14. package/dist/cjs/Editor.cjs.js +3 -3
  15. package/dist/cjs/FormikEditor.cjs.js +3 -3
  16. package/dist/cjs/Menu.cjs.js +2 -2
  17. package/dist/cjs/{chunk-ZOMU_YZG.cjs.js → chunk-BKXRiCh0.cjs.js} +66 -49
  18. package/dist/cjs/chunk-BKXRiCh0.cjs.js.map +1 -0
  19. package/dist/cjs/{chunk-C9HIO-Cg.cjs.js → chunk-BOq8EKne.cjs.js} +12 -6
  20. package/dist/cjs/{chunk-C9HIO-Cg.cjs.js.map → chunk-BOq8EKne.cjs.js.map} +1 -1
  21. package/dist/cjs/{chunk-BvCaILtB.cjs.js → chunk-BvZ-xgkj.cjs.js} +2 -2
  22. package/dist/cjs/{chunk-BvCaILtB.cjs.js.map → chunk-BvZ-xgkj.cjs.js.map} +1 -1
  23. package/dist/cjs/{chunk-BWX7biFj.cjs.js → chunk-C6guuEBs.cjs.js} +4 -4
  24. package/dist/cjs/{chunk-BWX7biFj.cjs.js.map → chunk-C6guuEBs.cjs.js.map} +1 -1
  25. package/dist/cjs/index.cjs.js +4 -4
  26. package/dist/editor-stats.html +19 -1
  27. package/dist/index.js +4 -4
  28. package/package.json +1 -1
  29. package/dist/chunk-_Z694ouv.js.map +0 -1
  30. package/dist/cjs/chunk-ZOMU_YZG.cjs.js.map +0 -1
@@ -12,8 +12,8 @@ require('@bigbinary/neetoui/Button');
12
12
  require('@bigbinary/neetoui/Toastr');
13
13
  require('ramda');
14
14
  require('react-i18next');
15
- require('./chunk-ZOMU_YZG.cjs.js');
16
- var Attachments = require('./chunk-BWX7biFj.cjs.js');
15
+ require('./chunk-BKXRiCh0.cjs.js');
16
+ var Attachments = require('./chunk-C6guuEBs.cjs.js');
17
17
  require('react/jsx-runtime');
18
18
  require('@babel/runtime/helpers/objectWithoutProperties');
19
19
  require('zustand/shallow');
@@ -5,7 +5,7 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
5
5
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
6
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
7
7
  var React = require('react');
8
- var Menu$3 = require('./chunk-BvCaILtB.cjs.js');
8
+ var Menu$3 = require('./chunk-BvZ-xgkj.cjs.js');
9
9
  var classnames = require('classnames');
10
10
  var constants = require('./chunk-DkpWugF2.cjs.js');
11
11
  var neetoCist = require('@bigbinary/neeto-cist');
@@ -28,7 +28,7 @@ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
28
28
  var _regeneratorRuntime = require('@babel/runtime/regenerator');
29
29
  var ReactDOM = require('react-dom');
30
30
  var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
31
- var FileIcon = require('./chunk-ZOMU_YZG.cjs.js');
31
+ var FileIcon = require('./chunk-BKXRiCh0.cjs.js');
32
32
  var tippy = require('tippy.js');
33
33
  var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
34
34
  var _createClass = require('@babel/runtime/helpers/createClass');
@@ -71,7 +71,7 @@ var ToggleHeaderRow = require('@bigbinary/neeto-icons/ToggleHeaderRow');
71
71
  var Checkbox = require('@bigbinary/neetoui/Checkbox');
72
72
  var Form = require('@bigbinary/neetoui/formik/Form');
73
73
  var Input$1 = require('@bigbinary/neetoui/formik/Input');
74
- var Attachments = require('./chunk-BWX7biFj.cjs.js');
74
+ var Attachments = require('./chunk-C6guuEBs.cjs.js');
75
75
  require('tippy.js/dist/svg-arrow.css');
76
76
  require('@bigbinary/neeto-icons/Link');
77
77
  require('@bigbinary/neeto-commons-frontend/utils');
@@ -9,7 +9,7 @@ var Editor = require('./Editor.cjs.js');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
  require('@babel/runtime/helpers/toConsumableArray');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
- require('./chunk-BvCaILtB.cjs.js');
12
+ require('./chunk-BvZ-xgkj.cjs.js');
13
13
  require('ramda');
14
14
  require('./chunk-vQvjPR2x.cjs.js');
15
15
  require('i18next');
@@ -66,7 +66,7 @@ require('react-colorful');
66
66
  require('@bigbinary/neeto-molecules/DynamicVariables');
67
67
  require('@bigbinary/neetoui/Modal');
68
68
  require('@bigbinary/neetoui/Tab');
69
- require('./chunk-ZOMU_YZG.cjs.js');
69
+ require('./chunk-BKXRiCh0.cjs.js');
70
70
  require('zustand/shallow');
71
71
  require('@bigbinary/neetoui/Toastr');
72
72
  require('zustand');
@@ -103,7 +103,7 @@ require('@bigbinary/neeto-icons/MergeSplit');
103
103
  require('@bigbinary/neeto-icons/ToggleHeaderRow');
104
104
  require('@bigbinary/neetoui/formik/Form');
105
105
  require('@bigbinary/neetoui/formik/Input');
106
- require('./chunk-BWX7biFj.cjs.js');
106
+ require('./chunk-C6guuEBs.cjs.js');
107
107
  require('@bigbinary/neeto-icons/MenuVertical');
108
108
  require('@bigbinary/neetoui/Alert');
109
109
 
@@ -5,7 +5,7 @@ require('@babel/runtime/helpers/toConsumableArray');
5
5
  require('@babel/runtime/helpers/slicedToArray');
6
6
  require('react');
7
7
  require('ramda');
8
- var Menu = require('./chunk-BvCaILtB.cjs.js');
8
+ var Menu = require('./chunk-BvZ-xgkj.cjs.js');
9
9
  require('./chunk-lFAlCXAz.cjs.js');
10
10
  require('react/jsx-runtime');
11
11
  require('./chunk-vQvjPR2x.cjs.js');
@@ -63,7 +63,7 @@ require('@babel/runtime/helpers/objectWithoutProperties');
63
63
  require('@bigbinary/neeto-molecules/DynamicVariables');
64
64
  require('@bigbinary/neetoui/Modal');
65
65
  require('@bigbinary/neetoui/Tab');
66
- require('./chunk-ZOMU_YZG.cjs.js');
66
+ require('./chunk-BKXRiCh0.cjs.js');
67
67
  require('zustand/shallow');
68
68
  require('@bigbinary/neetoui/Toastr');
69
69
  require('zustand');
@@ -83,66 +83,71 @@ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t
83
83
  /** @type {import("neetocommons/react-utils").ZustandStoreHook} */
84
84
  var useFileUploadStore = zustand.create(reactUtils.withImmutableActions(function (set, get) {
85
85
  return {
86
- files: [],
87
- isUploading: false,
88
- addFiles: function addFiles(newFiles) {
86
+ // {[contextId]: { files: File[], isUploading: boolean }}
87
+
88
+ addFiles: function addFiles(contextId, newFiles) {
89
89
  return set(function (state) {
90
- return {
91
- files: [].concat(_toConsumableArray(state.files), _toConsumableArray(newFiles))
92
- };
90
+ var _state$contextId;
91
+ return _defineProperty({}, contextId, _objectSpread$2(_objectSpread$2({}, state[contextId]), {}, {
92
+ files: [].concat(_toConsumableArray(((_state$contextId = state[contextId]) === null || _state$contextId === void 0 ? void 0 : _state$contextId["files"]) || []), _toConsumableArray(newFiles))
93
+ }));
93
94
  });
94
95
  },
95
- updateFileStatus: function updateFileStatus(fileId, status) {
96
+ updateFileStatus: function updateFileStatus(contextId, fileId, status) {
96
97
  return set(function (state) {
97
- return {
98
- files: state.files.map(function (file) {
98
+ var _state$contextId2;
99
+ return _defineProperty({}, contextId, _objectSpread$2(_objectSpread$2({}, state[contextId]), {}, {
100
+ files: (_state$contextId2 = state[contextId]) === null || _state$contextId2 === void 0 || (_state$contextId2 = _state$contextId2["files"]) === null || _state$contextId2 === void 0 ? void 0 : _state$contextId2.map(function (file) {
99
101
  return file.id === fileId ? _objectSpread$2(_objectSpread$2({}, file), {}, {
100
102
  status: status
101
103
  }) : file;
102
104
  })
103
- };
105
+ }));
104
106
  });
105
107
  },
106
- updateFileUploadProgress: function updateFileUploadProgress(fileId, progress) {
108
+ updateFileUploadProgress: function updateFileUploadProgress(contextId, fileId, progress) {
107
109
  return set(function (state) {
108
- return {
109
- files: state.files.map(function (file) {
110
+ var _state$contextId3;
111
+ return _defineProperty({}, contextId, _objectSpread$2(_objectSpread$2({}, state[contextId]), {}, {
112
+ files: ((_state$contextId3 = state[contextId]) === null || _state$contextId3 === void 0 || (_state$contextId3 = _state$contextId3["files"]) === null || _state$contextId3 === void 0 ? void 0 : _state$contextId3.map(function (file) {
110
113
  return file.id === fileId ? _objectSpread$2(_objectSpread$2({}, file), {}, {
111
114
  progress: progress
112
115
  }) : file;
113
- })
114
- };
116
+ })) || []
117
+ }));
115
118
  });
116
119
  },
117
- removeFile: function removeFile(fileId) {
120
+ removeFile: function removeFile(contextId, fileId) {
118
121
  return set(function (state) {
119
- return {
120
- files: neetoCist.removeById(fileId, state.files)
121
- };
122
+ var _state$contextId4;
123
+ return _defineProperty({}, contextId, _objectSpread$2(_objectSpread$2({}, state[contextId]), {}, {
124
+ files: neetoCist.removeById(fileId, ((_state$contextId4 = state[contextId]) === null || _state$contextId4 === void 0 ? void 0 : _state$contextId4["files"]) || [])
125
+ }));
122
126
  });
123
127
  },
124
- setIsUploading: function setIsUploading(status) {
125
- return set({
126
- isUploading: status
128
+ setIsUploading: function setIsUploading(contextId, status) {
129
+ return set(function (state) {
130
+ var _state$contextId5;
131
+ return _defineProperty({}, contextId, _objectSpread$2(_objectSpread$2({}, (_state$contextId5 = state[contextId]) !== null && _state$contextId5 !== void 0 ? _state$contextId5 : []), {}, {
132
+ isUploading: status
133
+ }));
127
134
  });
128
135
  },
129
- getNextQueuedFile: function getNextQueuedFile() {
130
- var _get = get(),
131
- files = _get.files;
132
- return neetoCist.findBy(function (_ref) {
133
- var status = _ref.status;
136
+ getNextQueuedFile: function getNextQueuedFile(contextId) {
137
+ var files = get()[contextId].files;
138
+ return neetoCist.findBy(function (_ref6) {
139
+ var status = _ref6.status;
134
140
  return status === "queued";
135
141
  }, files);
136
142
  },
137
- removeFilesFromQueue: function removeFilesFromQueue(uploadedFiles) {
138
- var _get2 = get(),
139
- files = _get2.files;
140
- set({
141
- files: files.filter(function (_ref2) {
142
- var id = _ref2.id;
143
+ removeFilesFromQueue: function removeFilesFromQueue(contextId, uploadedFiles) {
144
+ var data = get()[contextId];
145
+ set(_defineProperty({}, contextId, _objectSpread$2(_objectSpread$2({}, data), {}, {
146
+ files: (data["files"] || []).filter(function (_ref7) {
147
+ var id = _ref7.id;
143
148
  return !uploadedFiles.includes(id);
144
149
  })
145
- });
150
+ })));
146
151
  }
147
152
  };
148
153
  }));
@@ -7249,6 +7254,10 @@ var FILE_UPLOAD_STATUS = {
7249
7254
  UPLOADED: "uploaded"
7250
7255
  };
7251
7256
 
7257
+ var getRandomString = function getRandomString() {
7258
+ return Math.random().toString(36).substring(7).toUpperCase();
7259
+ };
7260
+
7252
7261
  var MAX_VIDEO_SIZE = 100 * 1024 * 1024; // 100 MB
7253
7262
 
7254
7263
  var FILE_SIZE_UNITS = ["B", "KB", "MB", "GB"];
@@ -7413,36 +7422,44 @@ var useFileUploader = function useFileUploader(_ref) {
7413
7422
  previousAttachments = _ref$attachments === void 0 ? [] : _ref$attachments,
7414
7423
  _ref$setIsUploadingOn = _ref.setIsUploadingOnHost,
7415
7424
  setIsUploadingOnHost = _ref$setIsUploadingOn === void 0 ? neetoCist.noop : _ref$setIsUploadingOn;
7425
+ var contextIdRef = React.useRef(getRandomString());
7416
7426
  var _useTranslation = reactI18next.useTranslation(),
7417
7427
  t = _useTranslation.t;
7428
+ var contextId = contextIdRef.current;
7418
7429
  var _useFileUploadStore = useFileUploadStore(function (store) {
7419
7430
  return {
7420
7431
  addFiles: store["addFiles"],
7421
- isUploading: store["isUploading"],
7422
7432
  getNextQueuedFile: store["getNextQueuedFile"],
7423
7433
  updateFileStatus: store["updateFileStatus"],
7424
7434
  removeFilesFromQueue: store["removeFilesFromQueue"],
7425
7435
  setIsUploading: store["setIsUploading"],
7426
7436
  updateFileUploadProgress: store["updateFileUploadProgress"],
7427
- files: store["files"],
7428
7437
  removeFile: store["removeFile"]
7429
7438
  };
7430
7439
  }, shallow.shallow),
7431
7440
  addFilesToStore = _useFileUploadStore.addFiles,
7432
- isUploading = _useFileUploadStore.isUploading,
7433
7441
  getNextQueuedFile = _useFileUploadStore.getNextQueuedFile,
7434
7442
  updateFileStatus = _useFileUploadStore.updateFileStatus,
7435
7443
  removeFilesFromQueue = _useFileUploadStore.removeFilesFromQueue,
7436
7444
  setIsUploading = _useFileUploadStore.setIsUploading,
7437
7445
  updateFileUploadProgress = _useFileUploadStore.updateFileUploadProgress,
7438
- files = _useFileUploadStore.files,
7439
7446
  removeFile = _useFileUploadStore.removeFile;
7447
+ var _useFileUploadStore2 = useFileUploadStore(function (store) {
7448
+ var _store$contextId, _store$contextId2;
7449
+ return {
7450
+ files: (_store$contextId = store[contextId]) === null || _store$contextId === void 0 ? void 0 : _store$contextId["files"],
7451
+ isUploading: (_store$contextId2 = store[contextId]) === null || _store$contextId2 === void 0 ? void 0 : _store$contextId2["isUploading"]
7452
+ };
7453
+ }, shallow.shallow),
7454
+ _useFileUploadStore2$ = _useFileUploadStore2.files,
7455
+ files = _useFileUploadStore2$ === void 0 ? [] : _useFileUploadStore2$,
7456
+ isUploading = _useFileUploadStore2.isUploading;
7440
7457
  var handleUploadProgress = function handleUploadProgress(xhr, file) {
7441
7458
  if (!xhr.event.lengthComputable) return;
7442
7459
  var bytesUploaded = xhr.loaded;
7443
7460
  var bytesTotal = xhr.total;
7444
7461
  var progress = Math.round(bytesUploaded / bytesTotal * 100);
7445
- updateFileUploadProgress(file.id, progress);
7462
+ updateFileUploadProgress(contextId, file.id, progress);
7446
7463
  };
7447
7464
  var uploadFile = /*#__PURE__*/function () {
7448
7465
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(file) {
@@ -7466,7 +7483,7 @@ var useFileUploader = function useFileUploader(_ref) {
7466
7483
  _yield$upload$create$ = _yield$upload$create.data;
7467
7484
  data = _yield$upload$create$ === void 0 ? {} : _yield$upload$create$;
7468
7485
  response = _objectWithoutProperties(_yield$upload$create, _excluded);
7469
- updateFileStatus(file.id, FILE_UPLOAD_STATUS.UPLOADED);
7486
+ updateFileStatus(contextId, file.id, FILE_UPLOAD_STATUS.UPLOADED);
7470
7487
  return _context.abrupt("return", {
7471
7488
  id: file.id,
7472
7489
  filename: file.filename,
@@ -7482,7 +7499,7 @@ var useFileUploader = function useFileUploader(_ref) {
7482
7499
  }
7483
7500
  // eslint-disable-next-line no-console
7484
7501
  console.error("Failed to upload attachment", _context.t0);
7485
- removeFile(file.id);
7502
+ removeFile(contextId, file.id);
7486
7503
  return _context.abrupt("return", null);
7487
7504
  case 19:
7488
7505
  case "end":
@@ -7500,16 +7517,16 @@ var useFileUploader = function useFileUploader(_ref) {
7500
7517
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
7501
7518
  while (1) switch (_context2.prev = _context2.next) {
7502
7519
  case 0:
7503
- queuedFile = getNextQueuedFile();
7520
+ queuedFile = getNextQueuedFile(contextId);
7504
7521
  if (!neetoCist.isNotPresent(queuedFile)) {
7505
7522
  _context2.next = 5;
7506
7523
  break;
7507
7524
  }
7508
- setIsUploading(false);
7525
+ setIsUploading(contextId, false);
7509
7526
  setIsUploadingOnHost(false);
7510
7527
  return _context2.abrupt("return", []);
7511
7528
  case 5:
7512
- updateFileStatus(queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);
7529
+ updateFileStatus(contextId, queuedFile.id, FILE_UPLOAD_STATUS.UPLOADING);
7513
7530
  _context2.next = 8;
7514
7531
  return Promise.all([uploadFile(queuedFile), handleUploadFiles()]);
7515
7532
  case 8:
@@ -7519,7 +7536,7 @@ var useFileUploader = function useFileUploader(_ref) {
7519
7536
  remainingUploadedFiles = _yield$Promise$all2[1];
7520
7537
  uploadedFiles = [uploadedFile].concat(_toConsumableArray(remainingUploadedFiles));
7521
7538
  uploadedFileIds = ramda.pluck("id", uploadedFiles);
7522
- removeFilesFromQueue(uploadedFileIds);
7539
+ removeFilesFromQueue(contextId, uploadedFileIds);
7523
7540
  uploadControllers = ramda.omit(uploadedFileIds, uploadControllers);
7524
7541
  return _context2.abrupt("return", uploadedFiles.filter(neetoCist.isNot(null)));
7525
7542
  case 17:
@@ -7533,7 +7550,7 @@ var useFileUploader = function useFileUploader(_ref) {
7533
7550
  };
7534
7551
  }();
7535
7552
  var uploadFiles = function uploadFiles() {
7536
- setIsUploading(true);
7553
+ setIsUploading(contextId, true);
7537
7554
  setIsUploadingOnHost(true);
7538
7555
  return handleUploadFiles();
7539
7556
  };
@@ -7553,12 +7570,12 @@ var useFileUploader = function useFileUploader(_ref) {
7553
7570
  status: FILE_UPLOAD_STATUS.QUEUED
7554
7571
  };
7555
7572
  });
7556
- addFilesToStore(selectedFiles);
7573
+ addFilesToStore(contextId, selectedFiles);
7557
7574
  };
7558
7575
  var cancelUpload = function cancelUpload(fileId) {
7559
7576
  var _uploadControllers$fi, _uploadControllers$fi2;
7560
7577
  (_uploadControllers$fi = uploadControllers[fileId]) === null || _uploadControllers$fi === void 0 || (_uploadControllers$fi2 = _uploadControllers$fi.abort) === null || _uploadControllers$fi2 === void 0 || _uploadControllers$fi2.call(_uploadControllers$fi);
7561
- removeFile(fileId);
7578
+ removeFile(contextId, fileId);
7562
7579
  };
7563
7580
  return {
7564
7581
  addFiles: addFiles,
@@ -8522,4 +8539,4 @@ exports.getTabs = getTabs;
8522
8539
  exports.propTypesExports = propTypesExports;
8523
8540
  exports.useDropFiles = useDropFiles;
8524
8541
  exports.useFileUploader = useFileUploader;
8525
- //# sourceMappingURL=chunk-ZOMU_YZG.cjs.js.map
8542
+ //# sourceMappingURL=chunk-BKXRiCh0.cjs.js.map