@webiny/app-file-manager 5.35.2 → 5.36.0-beta.0

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 (204) hide show
  1. package/BatchFileUploader.d.ts +35 -0
  2. package/BatchFileUploader.js +180 -0
  3. package/BatchFileUploader.js.map +1 -0
  4. package/components/BottomInfoBar/BottomInfoBar.d.ts +4 -0
  5. package/components/BottomInfoBar/BottomInfoBar.js +25 -0
  6. package/components/BottomInfoBar/BottomInfoBar.js.map +1 -0
  7. package/components/BottomInfoBar/ListStatus.d.ts +6 -0
  8. package/components/BottomInfoBar/ListStatus.js +26 -0
  9. package/components/BottomInfoBar/ListStatus.js.map +1 -0
  10. package/components/BottomInfoBar/SupportedFileTypes.d.ts +6 -0
  11. package/components/BottomInfoBar/SupportedFileTypes.js +47 -0
  12. package/components/BottomInfoBar/SupportedFileTypes.js.map +1 -0
  13. package/components/BottomInfoBar/index.d.ts +1 -0
  14. package/components/BottomInfoBar/index.js +16 -0
  15. package/components/BottomInfoBar/index.js.map +1 -0
  16. package/components/BottomInfoBar/styled.d.ts +23 -0
  17. package/components/BottomInfoBar/styled.js +33 -0
  18. package/components/BottomInfoBar/styled.js.map +1 -0
  19. package/components/DropFilesHere/DropFilesHere.d.ts +9 -0
  20. package/components/DropFilesHere/DropFilesHere.js +31 -0
  21. package/components/DropFilesHere/DropFilesHere.js.map +1 -0
  22. package/components/DropFilesHere/index.d.ts +1 -0
  23. package/components/DropFilesHere/index.js +16 -0
  24. package/components/DropFilesHere/index.js.map +1 -0
  25. package/components/DropFilesHere/styled.d.ts +26 -0
  26. package/components/DropFilesHere/styled.js +35 -0
  27. package/components/DropFilesHere/styled.js.map +1 -0
  28. package/components/Empty/Empty.d.ts +8 -0
  29. package/components/Empty/Empty.js +31 -0
  30. package/components/Empty/Empty.js.map +1 -0
  31. package/components/Empty/index.d.ts +1 -0
  32. package/components/Empty/index.js +16 -0
  33. package/components/Empty/index.js.map +1 -0
  34. package/components/FileDetails/Aliases.js +8 -4
  35. package/components/FileDetails/Aliases.js.map +1 -1
  36. package/components/FileDetails/DeleteImageAction.d.ts +6 -2
  37. package/components/FileDetails/DeleteImageAction.js +19 -52
  38. package/components/FileDetails/DeleteImageAction.js.map +1 -1
  39. package/components/FileDetails/FileDetails.d.ts +24 -0
  40. package/components/FileDetails/FileDetails.js +267 -0
  41. package/components/FileDetails/FileDetails.js.map +1 -0
  42. package/components/FileDetails/Name.js +2 -2
  43. package/components/FileDetails/Name.js.map +1 -1
  44. package/components/FileDetails/Tags.d.ts +6 -2
  45. package/components/FileDetails/Tags.js +31 -16
  46. package/components/FileDetails/Tags.js.map +1 -1
  47. package/components/FileDetails/index.d.ts +1 -0
  48. package/components/FileDetails/index.js +16 -0
  49. package/components/FileDetails/index.js.map +1 -0
  50. package/components/Grid/File.d.ts +16 -0
  51. package/components/Grid/File.js +57 -0
  52. package/components/Grid/File.js.map +1 -0
  53. package/components/Grid/Grid.d.ts +17 -0
  54. package/components/Grid/Grid.js +99 -0
  55. package/components/Grid/Grid.js.map +1 -0
  56. package/components/Grid/index.d.ts +1 -0
  57. package/components/Grid/index.js +16 -0
  58. package/components/Grid/index.js.map +1 -0
  59. package/components/Grid/styled.d.ts +40 -0
  60. package/components/Grid/styled.js +58 -0
  61. package/components/Grid/styled.js.map +1 -0
  62. package/components/NoPermission/NoPermission.d.ts +2 -0
  63. package/components/NoPermission/NoPermission.js +24 -0
  64. package/components/NoPermission/NoPermission.js.map +1 -0
  65. package/components/NoPermission/index.d.ts +1 -0
  66. package/components/NoPermission/index.js +16 -0
  67. package/components/NoPermission/index.js.map +1 -0
  68. package/components/NoPermission/styled.d.ts +32 -0
  69. package/components/NoPermission/styled.js +40 -0
  70. package/components/NoPermission/styled.js.map +1 -0
  71. package/components/NoResults/NoResults.d.ts +2 -0
  72. package/components/NoResults/NoResults.js +17 -0
  73. package/components/NoResults/NoResults.js.map +1 -0
  74. package/components/NoResults/index.d.ts +1 -0
  75. package/components/NoResults/index.js +16 -0
  76. package/components/NoResults/index.js.map +1 -0
  77. package/components/NoResults/styled.d.ts +7 -0
  78. package/components/NoResults/styled.js +13 -0
  79. package/components/NoResults/styled.js.map +1 -0
  80. package/components/Table/FolderActionDelete.d.ts +6 -0
  81. package/components/Table/FolderActionDelete.js +25 -0
  82. package/components/Table/FolderActionDelete.js.map +1 -0
  83. package/components/Table/FolderActionEdit.d.ts +6 -0
  84. package/components/Table/FolderActionEdit.js +25 -0
  85. package/components/Table/FolderActionEdit.js.map +1 -0
  86. package/components/Table/Name.d.ts +12 -0
  87. package/components/Table/Name.js +39 -0
  88. package/components/Table/Name.js.map +1 -0
  89. package/components/Table/RecordActionCopy.d.ts +8 -0
  90. package/components/Table/RecordActionCopy.js +30 -0
  91. package/components/Table/RecordActionCopy.js.map +1 -0
  92. package/components/Table/RecordActionDelete.d.ts +8 -0
  93. package/components/Table/RecordActionDelete.js +36 -0
  94. package/components/Table/RecordActionDelete.js.map +1 -0
  95. package/components/Table/RecordActionEdit.d.ts +7 -0
  96. package/components/Table/RecordActionEdit.js +28 -0
  97. package/components/Table/RecordActionEdit.js.map +1 -0
  98. package/components/Table/RecordActionMove.d.ts +6 -0
  99. package/components/Table/RecordActionMove.js +25 -0
  100. package/components/Table/RecordActionMove.js.map +1 -0
  101. package/components/Table/Table.d.ts +31 -0
  102. package/components/Table/Table.js +256 -0
  103. package/components/Table/Table.js.map +1 -0
  104. package/components/Table/index.d.ts +1 -0
  105. package/components/Table/index.js +16 -0
  106. package/components/Table/index.js.map +1 -0
  107. package/components/Table/styled.d.ts +21 -0
  108. package/components/Table/styled.js +35 -0
  109. package/components/Table/styled.js.map +1 -0
  110. package/components/Title/Title.d.ts +5 -0
  111. package/components/Title/Title.js +20 -0
  112. package/components/Title/Title.js.map +1 -0
  113. package/components/Title/index.d.ts +1 -0
  114. package/components/Title/index.js +16 -0
  115. package/components/Title/index.js.map +1 -0
  116. package/components/Title/styled.d.ts +7 -0
  117. package/components/Title/styled.js +14 -0
  118. package/components/Title/styled.js.map +1 -0
  119. package/components/UploadStatus/UploadStatus.d.ts +6 -0
  120. package/components/UploadStatus/UploadStatus.js +36 -0
  121. package/components/UploadStatus/UploadStatus.js.map +1 -0
  122. package/components/UploadStatus/assets/check.svg +3 -0
  123. package/components/UploadStatus/assets/loading.svg +17 -0
  124. package/components/UploadStatus/index.d.ts +1 -0
  125. package/components/UploadStatus/index.js +16 -0
  126. package/components/UploadStatus/index.js.map +1 -0
  127. package/components/UploadStatus/styled.d.ts +41 -0
  128. package/components/UploadStatus/styled.js +57 -0
  129. package/components/UploadStatus/styled.js.map +1 -0
  130. package/constants.d.ts +3 -0
  131. package/constants.js +12 -0
  132. package/constants.js.map +1 -0
  133. package/hooks/useCopyFile.d.ts +11 -0
  134. package/hooks/useCopyFile.js +30 -0
  135. package/hooks/useCopyFile.js.map +1 -0
  136. package/hooks/useDeleteFile.d.ts +9 -0
  137. package/hooks/useDeleteFile.js +64 -0
  138. package/hooks/useDeleteFile.js.map +1 -0
  139. package/index.d.ts +1 -0
  140. package/index.js +9 -1
  141. package/index.js.map +1 -1
  142. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.d.ts +9 -3
  143. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js +82 -52
  144. package/modules/FileManagerApiProvider/FileManagerApiContext/FileManagerApiContext.js.map +1 -1
  145. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.d.ts +2 -2
  146. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js +3 -3
  147. package/modules/FileManagerApiProvider/FileManagerApiContext/getFileUploader.js.map +1 -1
  148. package/modules/FileManagerApiProvider/graphql.d.ts +4 -0
  149. package/modules/FileManagerApiProvider/graphql.js +9 -7
  150. package/modules/FileManagerApiProvider/graphql.js.map +1 -1
  151. package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.d.ts +18 -0
  152. package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js +622 -0
  153. package/modules/FileManagerRenderer/AcoRenderer/FileManagerAcoView.js.map +1 -0
  154. package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.d.ts +12 -0
  155. package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js +75 -0
  156. package/modules/FileManagerRenderer/AcoRenderer/LeftSidebar.js.map +1 -0
  157. package/modules/FileManagerRenderer/AcoRenderer/index.d.ts +2 -0
  158. package/modules/FileManagerRenderer/AcoRenderer/index.js +70 -0
  159. package/modules/FileManagerRenderer/AcoRenderer/index.js.map +1 -0
  160. package/modules/FileManagerRenderer/AcoRenderer/outputFileSelectionError.d.ts +2 -0
  161. package/modules/FileManagerRenderer/AcoRenderer/outputFileSelectionError.js +40 -0
  162. package/modules/FileManagerRenderer/AcoRenderer/outputFileSelectionError.js.map +1 -0
  163. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js +7 -2
  164. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  165. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.d.ts +2 -1
  166. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js +48 -36
  167. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/UploadStatus.js.map +1 -1
  168. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/assets/check.svg +3 -0
  169. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar/assets/loading.svg +17 -0
  170. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.d.ts +4 -3
  171. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js +6 -25
  172. package/modules/FileManagerRenderer/DefaultRenderer/BottomInfoBar.js.map +1 -1
  173. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.d.ts +2 -2
  174. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js +80 -109
  175. package/modules/FileManagerRenderer/DefaultRenderer/FileManagerView.js.map +1 -1
  176. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.d.ts +54 -0
  177. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js +430 -0
  178. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/FileManagerAcoViewContext.js.map +1 -0
  179. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.d.ts +2 -0
  180. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.js +27 -0
  181. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/index.js.map +1 -0
  182. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.d.ts +74 -0
  183. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js +119 -0
  184. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/stateReducer.js.map +1 -0
  185. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.d.ts +3 -0
  186. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.js +15 -0
  187. package/modules/FileManagerRenderer/FileManagerAcoViewProvider/useFileManagerAcoView.js.map +1 -0
  188. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.d.ts +4 -3
  189. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js +23 -19
  190. package/modules/FileManagerRenderer/FileManagerViewProvider/FileManagerViewContext.js.map +1 -1
  191. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.d.ts +0 -3
  192. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js +0 -5
  193. package/modules/FileManagerRenderer/FileManagerViewProvider/stateReducer.js.map +1 -1
  194. package/modules/FileManagerRenderer/index.js +2 -2
  195. package/modules/FileManagerRenderer/index.js.map +1 -1
  196. package/modules/FileTypes/fileImage/EditAction.js +2 -2
  197. package/modules/FileTypes/fileImage/EditAction.js.map +1 -1
  198. package/package.json +18 -12
  199. package/tagsHelpers.d.ts +16 -0
  200. package/tagsHelpers.js +41 -0
  201. package/tagsHelpers.js.map +1 -0
  202. package/types.d.ts +1 -0
  203. package/types.js +8 -1
  204. package/types.js.map +1 -1
@@ -0,0 +1,35 @@
1
+ /// <reference types="web" />
2
+ import { FileItem } from "@webiny/app-admin/types";
3
+ import { FileManagerViewContextData } from "./modules/FileManagerRenderer/FileManagerViewProvider";
4
+ export interface FileError {
5
+ file: File;
6
+ e: Error;
7
+ }
8
+ interface OnUploadFinishedParams {
9
+ uploaded: FileItem[];
10
+ errors: FileError[];
11
+ }
12
+ interface OnUploadFinishedCallback {
13
+ (params: OnUploadFinishedParams): void;
14
+ }
15
+ declare class FileJob {
16
+ id: string;
17
+ file: File;
18
+ constructor(file: File);
19
+ }
20
+ export declare class BatchFileUploader {
21
+ private readonly uploader;
22
+ private fileJobs;
23
+ private onUploadFinishedCallback;
24
+ private uploading;
25
+ private uploadStatus;
26
+ constructor(uploader: FileManagerViewContextData["uploadFile"]);
27
+ getJobs(): FileJob[];
28
+ addFiles(files: File[]): void;
29
+ reset(): void;
30
+ get progress(): number;
31
+ onUploadFinished(cb: OnUploadFinishedCallback): void;
32
+ private upload;
33
+ private getNextFile;
34
+ }
35
+ export {};
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BatchFileUploader = void 0;
8
+ var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+ var _nanoid = require("nanoid");
14
+ var _mobx = require("mobx");
15
+ var FileJob = /*#__PURE__*/(0, _createClass2.default)(function FileJob(file) {
16
+ (0, _classCallCheck2.default)(this, FileJob);
17
+ (0, _defineProperty2.default)(this, "id", void 0);
18
+ (0, _defineProperty2.default)(this, "file", void 0);
19
+ this.id = (0, _nanoid.nanoid)();
20
+ this.file = file;
21
+ });
22
+ var BatchFileUploader = /*#__PURE__*/function () {
23
+ function BatchFileUploader(uploader) {
24
+ (0, _classCallCheck2.default)(this, BatchFileUploader);
25
+ (0, _defineProperty2.default)(this, "uploader", void 0);
26
+ (0, _defineProperty2.default)(this, "fileJobs", []);
27
+ (0, _defineProperty2.default)(this, "onUploadFinishedCallback", void 0);
28
+ (0, _defineProperty2.default)(this, "uploading", false);
29
+ (0, _defineProperty2.default)(this, "uploadStatus", new Map());
30
+ this.uploader = uploader;
31
+ (0, _mobx.makeAutoObservable)(this);
32
+ }
33
+ (0, _createClass2.default)(BatchFileUploader, [{
34
+ key: "getJobs",
35
+ value: function getJobs() {
36
+ return this.fileJobs;
37
+ }
38
+ }, {
39
+ key: "addFiles",
40
+ value: function addFiles(files) {
41
+ var _this = this;
42
+ files.forEach(function (file) {
43
+ var fileJob = new FileJob(file);
44
+ _this.fileJobs.push(fileJob);
45
+ _this.uploadStatus.set(fileJob.id, 0);
46
+ });
47
+ this.upload();
48
+ }
49
+ }, {
50
+ key: "reset",
51
+ value: function reset() {
52
+ this.fileJobs = [];
53
+ this.uploadStatus.clear();
54
+ }
55
+ }, {
56
+ key: "progress",
57
+ get: function get() {
58
+ var progressInBytes = Array.from(this.uploadStatus.values());
59
+ var loadedBytes = progressInBytes.reduce(function (a, b) {
60
+ return a + b;
61
+ }, 0);
62
+ var totalBytesToUpload = this.fileJobs.reduce(function (sum, job) {
63
+ return sum + job.file.size;
64
+ }, 0);
65
+ return Math.min(100 * loadedBytes / totalBytesToUpload, 100);
66
+ }
67
+ }, {
68
+ key: "onUploadFinished",
69
+ value: function onUploadFinished(cb) {
70
+ this.onUploadFinishedCallback = cb;
71
+ }
72
+ }, {
73
+ key: "upload",
74
+ value: function () {
75
+ var _upload = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
76
+ var _this2 = this;
77
+ var errors, uploaded, _loop, _ret;
78
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context2) {
79
+ while (1) switch (_context2.prev = _context2.next) {
80
+ case 0:
81
+ if (!this.uploading) {
82
+ _context2.next = 2;
83
+ break;
84
+ }
85
+ return _context2.abrupt("return");
86
+ case 2:
87
+ this.uploading = true;
88
+ errors = [];
89
+ uploaded = [];
90
+ _loop = /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _loop() {
91
+ var fileJob, newFile;
92
+ return (0, _regeneratorRuntime2.default)().wrap(function _loop$(_context) {
93
+ while (1) switch (_context.prev = _context.next) {
94
+ case 0:
95
+ fileJob = _this2.getNextFile();
96
+ if (fileJob) {
97
+ _context.next = 3;
98
+ break;
99
+ }
100
+ return _context.abrupt("return", "break");
101
+ case 3:
102
+ _context.prev = 3;
103
+ _context.next = 6;
104
+ return _this2.uploader(fileJob.file, {
105
+ onProgress: (0, _mobx.action)("BatchFileUploader.onProgress", function (event) {
106
+ _this2.uploadStatus.set(fileJob.id, event.sent);
107
+ })
108
+ });
109
+ case 6:
110
+ newFile = _context.sent;
111
+ if (newFile) {
112
+ uploaded.push(newFile);
113
+ }
114
+ _context.next = 14;
115
+ break;
116
+ case 10:
117
+ _context.prev = 10;
118
+ _context.t0 = _context["catch"](3);
119
+ (0, _mobx.runInAction)(function () {
120
+ _this2.uploadStatus.set(fileJob.id, -1);
121
+ });
122
+ errors.push({
123
+ file: fileJob.file,
124
+ e: _context.t0
125
+ });
126
+ case 14:
127
+ case "end":
128
+ return _context.stop();
129
+ }
130
+ }, _loop, null, [[3, 10]]);
131
+ });
132
+ case 6:
133
+ if (!true) {
134
+ _context2.next = 13;
135
+ break;
136
+ }
137
+ return _context2.delegateYield(_loop(), "t0", 8);
138
+ case 8:
139
+ _ret = _context2.t0;
140
+ if (!(_ret === "break")) {
141
+ _context2.next = 11;
142
+ break;
143
+ }
144
+ return _context2.abrupt("break", 13);
145
+ case 11:
146
+ _context2.next = 6;
147
+ break;
148
+ case 13:
149
+ (0, _mobx.runInAction)(function () {
150
+ _this2.uploading = false;
151
+ });
152
+ if (this.onUploadFinishedCallback) {
153
+ this.onUploadFinishedCallback({
154
+ uploaded: uploaded,
155
+ errors: errors
156
+ });
157
+ }
158
+ case 15:
159
+ case "end":
160
+ return _context2.stop();
161
+ }
162
+ }, _callee, this);
163
+ }));
164
+ function upload() {
165
+ return _upload.apply(this, arguments);
166
+ }
167
+ return upload;
168
+ }()
169
+ }, {
170
+ key: "getNextFile",
171
+ value: function getNextFile() {
172
+ var _this3 = this;
173
+ return this.fileJobs.find(function (file) {
174
+ return _this3.uploadStatus.get(file.id) === 0;
175
+ });
176
+ }
177
+ }]);
178
+ return BatchFileUploader;
179
+ }();
180
+ exports.BatchFileUploader = BatchFileUploader;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FileJob","file","id","nanoid","BatchFileUploader","uploader","Map","makeAutoObservable","fileJobs","files","forEach","fileJob","push","uploadStatus","set","upload","clear","progressInBytes","Array","from","values","loadedBytes","reduce","a","b","totalBytesToUpload","sum","job","size","Math","min","cb","onUploadFinishedCallback","uploading","errors","uploaded","getNextFile","onProgress","action","event","sent","newFile","runInAction","e","find","get"],"sources":["BatchFileUploader.ts"],"sourcesContent":["import { nanoid } from \"nanoid\";\nimport { makeAutoObservable, runInAction, action } from \"mobx\";\nimport { FileItem } from \"@webiny/app-admin/types\";\nimport { FileManagerViewContextData } from \"~/modules/FileManagerRenderer/FileManagerViewProvider\";\n\nexport interface FileError {\n file: File;\n e: Error;\n}\n\ninterface OnUploadFinishedParams {\n uploaded: FileItem[];\n errors: FileError[];\n}\n\ninterface OnUploadFinishedCallback {\n (params: OnUploadFinishedParams): void;\n}\n\nclass FileJob {\n public id: string;\n public file: File;\n\n constructor(file: File) {\n this.id = nanoid();\n this.file = file;\n }\n}\n\nexport class BatchFileUploader {\n private readonly uploader: FileManagerViewContextData[\"uploadFile\"];\n private fileJobs: FileJob[] = [];\n private onUploadFinishedCallback: OnUploadFinishedCallback | undefined;\n private uploading = false;\n private uploadStatus: Map<string, number> = new Map();\n\n constructor(uploader: FileManagerViewContextData[\"uploadFile\"]) {\n this.uploader = uploader;\n makeAutoObservable(this);\n }\n\n public getJobs() {\n return this.fileJobs;\n }\n\n public addFiles(files: File[]) {\n files.forEach(file => {\n const fileJob = new FileJob(file);\n this.fileJobs.push(fileJob);\n this.uploadStatus.set(fileJob.id, 0);\n });\n\n this.upload();\n }\n\n public reset() {\n this.fileJobs = [];\n this.uploadStatus.clear();\n }\n\n get progress() {\n const progressInBytes = Array.from(this.uploadStatus.values());\n const loadedBytes = progressInBytes.reduce((a, b) => a + b, 0);\n const totalBytesToUpload = this.fileJobs.reduce((sum, job) => sum + job.file.size, 0);\n return Math.min((100 * loadedBytes) / totalBytesToUpload, 100);\n }\n\n public onUploadFinished(cb: OnUploadFinishedCallback) {\n this.onUploadFinishedCallback = cb;\n }\n\n private async upload() {\n if (this.uploading) {\n return;\n }\n\n this.uploading = true;\n\n const errors: FileError[] = [];\n const uploaded: FileItem[] = [];\n\n while (true) {\n const fileJob = this.getNextFile();\n\n if (!fileJob) {\n break;\n }\n\n try {\n const newFile = await this.uploader(fileJob.file, {\n onProgress: action(\"BatchFileUploader.onProgress\", event => {\n this.uploadStatus.set(fileJob.id, event.sent);\n })\n });\n\n if (newFile) {\n uploaded.push(newFile);\n }\n } catch (e) {\n runInAction(() => {\n this.uploadStatus.set(fileJob.id, -1);\n });\n\n errors.push({ file: fileJob.file, e });\n }\n }\n\n runInAction(() => {\n this.uploading = false;\n });\n\n if (this.onUploadFinishedCallback) {\n this.onUploadFinishedCallback({ uploaded, errors });\n }\n }\n\n private getNextFile() {\n return this.fileJobs.find(file => this.uploadStatus.get(file.id) === 0);\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { SupportedFileTypesProps } from "./SupportedFileTypes";
3
+ import { ListStatusProps } from "./ListStatus";
4
+ export declare const BottomInfoBar: React.FC<SupportedFileTypesProps & ListStatusProps>;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.BottomInfoBar = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _lite = _interopRequireDefault(require("mime/lite"));
10
+ var _SupportedFileTypes = _interopRequireDefault(require("./SupportedFileTypes"));
11
+ var _ListStatus = _interopRequireDefault(require("./ListStatus"));
12
+ var _styled = require("./styled");
13
+ _lite.default.define({
14
+ "image/x-icon": ["ico"]
15
+ }, true);
16
+ _lite.default.define({
17
+ "image/jpg": ["jpg"]
18
+ }, true);
19
+ _lite.default.define({
20
+ "image/vnd.microsoft.icon": ["ico"]
21
+ }, true);
22
+ var BottomInfoBar = function BottomInfoBar(props) {
23
+ return /*#__PURE__*/_react.default.createElement(_styled.BottomInfoBarWrapper, null, /*#__PURE__*/_react.default.createElement(_styled.BottomInfoBarInner, null, /*#__PURE__*/_react.default.createElement(_SupportedFileTypes.default, props), /*#__PURE__*/_react.default.createElement(_ListStatus.default, props)));
24
+ };
25
+ exports.BottomInfoBar = BottomInfoBar;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mime","define","BottomInfoBar","props"],"sources":["BottomInfoBar.tsx"],"sourcesContent":["import React from \"react\";\nimport mime from \"mime/lite\";\n\nimport SupportedFileTypes, { SupportedFileTypesProps } from \"./SupportedFileTypes\";\nimport ListStatus, { ListStatusProps } from \"./ListStatus\";\n\nimport { BottomInfoBarInner, BottomInfoBarWrapper } from \"./styled\";\n\nmime.define({ \"image/x-icon\": [\"ico\"] }, true);\nmime.define({ \"image/jpg\": [\"jpg\"] }, true);\nmime.define({ \"image/vnd.microsoft.icon\": [\"ico\"] }, true);\n\nexport const BottomInfoBar: React.FC<SupportedFileTypesProps & ListStatusProps> = props => {\n return (\n <BottomInfoBarWrapper>\n <BottomInfoBarInner>\n <SupportedFileTypes {...props} />\n <ListStatus {...props} />\n </BottomInfoBarInner>\n </BottomInfoBarWrapper>\n );\n};\n"],"mappings":";;;;;;;AAAA;AACA;AAEA;AACA;AAEA;AAEAA,aAAI,CAACC,MAAM,CAAC;EAAE,cAAc,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC9CD,aAAI,CAACC,MAAM,CAAC;EAAE,WAAW,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC3CD,aAAI,CAACC,MAAM,CAAC;EAAE,0BAA0B,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAEnD,IAAMC,aAAkE,GAAG,SAArEA,aAAkE,CAAGC,KAAK,EAAI;EACvF,oBACI,6BAAC,4BAAoB,qBACjB,6BAAC,0BAAkB,qBACf,6BAAC,2BAAkB,EAAKA,KAAK,CAAI,eACjC,6BAAC,mBAAU,EAAKA,KAAK,CAAI,CACR,CACF;AAE/B,CAAC;AAAC"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface ListStatusProps {
3
+ listing: boolean;
4
+ }
5
+ declare const ListStatus: React.FC<ListStatusProps>;
6
+ export default ListStatus;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _i18n = require("@webiny/app/i18n");
11
+ var _Progress = require("@webiny/ui/Progress");
12
+ var _styled = require("./styled");
13
+ var _templateObject;
14
+ var t = _i18n.i18n.ns("app-admin/file-manager/components/bottom-info-bar/list-status");
15
+ var ListStatus = function ListStatus(_ref) {
16
+ var listing = _ref.listing;
17
+ if (!listing) {
18
+ return null;
19
+ }
20
+ return /*#__PURE__*/_react.default.createElement(_styled.StatusWrapper, null, /*#__PURE__*/_react.default.createElement(_styled.UploadingLabel, null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Loading more files..."])))), /*#__PURE__*/_react.default.createElement(_styled.CircularProgressHolder, null, /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, {
21
+ size: 10,
22
+ spinnerWidth: 1
23
+ })));
24
+ };
25
+ var _default = ListStatus;
26
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["t","i18n","ns","ListStatus","listing"],"sources":["ListStatus.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\n\nimport { CircularProgressHolder, StatusWrapper, UploadingLabel } from \"./styled\";\n\nconst t = i18n.ns(\"app-admin/file-manager/components/bottom-info-bar/list-status\");\n\nexport interface ListStatusProps {\n listing: boolean;\n}\n\nconst ListStatus: React.FC<ListStatusProps> = ({ listing }) => {\n if (!listing) {\n return null;\n }\n\n return (\n <StatusWrapper>\n <UploadingLabel>{t`Loading more files...`}</UploadingLabel>\n <CircularProgressHolder>\n <CircularProgress size={10} spinnerWidth={1} />\n </CircularProgressHolder>\n </StatusWrapper>\n );\n};\n\nexport default ListStatus;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA;AAAiF;AAEjF,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,+DAA+D,CAAC;AAMlF,IAAMC,UAAqC,GAAG,SAAxCA,UAAqC,OAAoB;EAAA,IAAdC,OAAO,QAAPA,OAAO;EACpD,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,IAAI;EACf;EAEA,oBACI,6BAAC,qBAAa,qBACV,6BAAC,sBAAc,QAAEJ,CAAC,yGAAyC,eAC3D,6BAAC,8BAAsB,qBACnB,6BAAC,0BAAgB;IAAC,IAAI,EAAE,EAAG;IAAC,YAAY,EAAE;EAAE,EAAG,CAC1B,CACb;AAExB,CAAC;AAAC,eAEaG,UAAU;AAAA"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ export interface SupportedFileTypesProps {
3
+ accept: string[];
4
+ }
5
+ declare const SupportedFileTypes: React.FC<SupportedFileTypesProps>;
6
+ export default SupportedFileTypes;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _i18n = require("@webiny/app/i18n");
11
+ var _lite = _interopRequireDefault(require("mime/lite"));
12
+ var _templateObject, _templateObject2;
13
+ _lite.default.define({
14
+ "image/x-icon": ["ico"]
15
+ }, true);
16
+ _lite.default.define({
17
+ "image/jpg": ["jpg"]
18
+ }, true);
19
+ _lite.default.define({
20
+ "image/vnd.microsoft.icon": ["ico"]
21
+ }, true);
22
+ var t = _i18n.i18n.ns("app-admin/file-manager/components/bottom-info-bar/supported-files");
23
+ var getUniqueFilePlugins = function getUniqueFilePlugins(accept) {
24
+ var exts = {};
25
+ accept.forEach(function (item) {
26
+ var ext = _lite.default.getExtension(item);
27
+ if (!ext) {
28
+ return;
29
+ }
30
+ exts[ext] = true;
31
+ });
32
+ return Object.keys(exts);
33
+ };
34
+ var SupportedFileTypes = function SupportedFileTypes(_ref) {
35
+ var accept = _ref.accept;
36
+ if (!accept) {
37
+ return null;
38
+ }
39
+ if (accept.length === 0) {
40
+ return /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Showing all file extensions."]))));
41
+ }
42
+ return /*#__PURE__*/_react.default.createElement("span", null, t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Showing the following file extensions: {files}."])))({
43
+ files: getUniqueFilePlugins(accept).join(", ")
44
+ }));
45
+ };
46
+ var _default = SupportedFileTypes;
47
+ exports.default = _default;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mime","define","t","i18n","ns","getUniqueFilePlugins","accept","exts","forEach","item","ext","getExtension","Object","keys","SupportedFileTypes","length","files","join"],"sources":["SupportedFileTypes.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport mime from \"mime/lite\";\n\nmime.define({ \"image/x-icon\": [\"ico\"] }, true);\nmime.define({ \"image/jpg\": [\"jpg\"] }, true);\nmime.define({ \"image/vnd.microsoft.icon\": [\"ico\"] }, true);\n\nconst t = i18n.ns(\"app-admin/file-manager/components/bottom-info-bar/supported-files\");\n\nconst getUniqueFilePlugins = (accept: string[]): string[] => {\n const exts: Record<string, boolean> = {};\n accept.forEach(item => {\n const ext = mime.getExtension(item);\n if (!ext) {\n return;\n }\n exts[ext] = true;\n });\n\n return Object.keys(exts);\n};\n\nexport interface SupportedFileTypesProps {\n accept: string[];\n}\n\nconst SupportedFileTypes: React.FC<SupportedFileTypesProps> = ({ accept }) => {\n if (!accept) {\n return null;\n }\n\n if (accept.length === 0) {\n return <span>{t`Showing all file extensions.`}</span>;\n }\n\n return (\n <span>\n {t`Showing the following file extensions: {files}.`({\n files: getUniqueFilePlugins(accept).join(\", \")\n })}\n </span>\n );\n};\n\nexport default SupportedFileTypes;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAA6B;AAE7BA,aAAI,CAACC,MAAM,CAAC;EAAE,cAAc,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC9CD,aAAI,CAACC,MAAM,CAAC;EAAE,WAAW,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAC3CD,aAAI,CAACC,MAAM,CAAC;EAAE,0BAA0B,EAAE,CAAC,KAAK;AAAE,CAAC,EAAE,IAAI,CAAC;AAE1D,IAAMC,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mEAAmE,CAAC;AAEtF,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoB,CAAIC,MAAgB,EAAe;EACzD,IAAMC,IAA6B,GAAG,CAAC,CAAC;EACxCD,MAAM,CAACE,OAAO,CAAC,UAAAC,IAAI,EAAI;IACnB,IAAMC,GAAG,GAAGV,aAAI,CAACW,YAAY,CAACF,IAAI,CAAC;IACnC,IAAI,CAACC,GAAG,EAAE;MACN;IACJ;IACAH,IAAI,CAACG,GAAG,CAAC,GAAG,IAAI;EACpB,CAAC,CAAC;EAEF,OAAOE,MAAM,CAACC,IAAI,CAACN,IAAI,CAAC;AAC5B,CAAC;AAMD,IAAMO,kBAAqD,GAAG,SAAxDA,kBAAqD,OAAmB;EAAA,IAAbR,MAAM,QAANA,MAAM;EACnE,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,IAAI;EACf;EAEA,IAAIA,MAAM,CAACS,MAAM,KAAK,CAAC,EAAE;IACrB,oBAAO,2CAAOb,CAAC,gHAAsC;EACzD;EAEA,oBACI,2CACKA,CAAC,qIAAkD;IAChDc,KAAK,EAAEX,oBAAoB,CAACC,MAAM,CAAC,CAACW,IAAI,CAAC,IAAI;EACjD,CAAC,CAAC,CACC;AAEf,CAAC;AAAC,eAEaH,kBAAkB;AAAA"}
@@ -0,0 +1 @@
1
+ export * from "./BottomInfoBar";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _BottomInfoBar = require("./BottomInfoBar");
7
+ Object.keys(_BottomInfoBar).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _BottomInfoBar[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _BottomInfoBar[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export * from \"./BottomInfoBar\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="react" />
3
+ /// <reference types="web" />
4
+ export declare const BottomInfoBarWrapper: import("@emotion/styled").StyledComponent<{
5
+ theme?: import("@emotion/react").Theme | undefined;
6
+ as?: import("react").ElementType<any> | undefined;
7
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
8
+ export declare const BottomInfoBarInner: import("@emotion/styled").StyledComponent<{
9
+ theme?: import("@emotion/react").Theme | undefined;
10
+ as?: import("react").ElementType<any> | undefined;
11
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
12
+ export declare const StatusWrapper: import("@emotion/styled").StyledComponent<{
13
+ theme?: import("@emotion/react").Theme | undefined;
14
+ as?: import("react").ElementType<any> | undefined;
15
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
16
+ export declare const CircularProgressHolder: import("@emotion/styled").StyledComponent<{
17
+ theme?: import("@emotion/react").Theme | undefined;
18
+ as?: import("react").ElementType<any> | undefined;
19
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
20
+ export declare const UploadingLabel: import("@emotion/styled").StyledComponent<{
21
+ theme?: import("@emotion/react").Theme | undefined;
22
+ as?: import("react").ElementType<any> | undefined;
23
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.UploadingLabel = exports.StatusWrapper = exports.CircularProgressHolder = exports.BottomInfoBarWrapper = exports.BottomInfoBarInner = void 0;
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var BottomInfoBarWrapper = /*#__PURE__*/(0, _styled.default)("div", {
10
+ label: "BottomInfoBarWrapper",
11
+ target: "e16zhfly0"
12
+ })("font-size:0.8rem;position:sticky;bottom:0;height:30px;color:var(--mdc-theme-text-secondary-on-background);border-top:1px solid var(--mdc-theme-on-background);background:var(--mdc-theme-surface);width:100%;transform:translateZ(0);overflow:hidden;display:flex;align-items:center;z-index:1;");
13
+ exports.BottomInfoBarWrapper = BottomInfoBarWrapper;
14
+ var BottomInfoBarInner = /*#__PURE__*/(0, _styled.default)("div", {
15
+ label: "BottomInfoBarInner",
16
+ target: "e16zhfly1"
17
+ })("padding:0 10px;width:100%;");
18
+ exports.BottomInfoBarInner = BottomInfoBarInner;
19
+ var StatusWrapper = /*#__PURE__*/(0, _styled.default)("div", {
20
+ label: "StatusWrapper",
21
+ target: "e16zhfly2"
22
+ })("color:var(--mdc-theme-primary);position:absolute;right:0;bottom:10px;margin-right:10px;display:flex;align-items:center;> div{display:inline-block;}");
23
+ exports.StatusWrapper = StatusWrapper;
24
+ var CircularProgressHolder = /*#__PURE__*/(0, _styled.default)("div", {
25
+ label: "CircularProgressHolder",
26
+ target: "e16zhfly3"
27
+ })("position:relative;height:12px;width:12px;");
28
+ exports.CircularProgressHolder = CircularProgressHolder;
29
+ var UploadingLabel = /*#__PURE__*/(0, _styled.default)("div", {
30
+ label: "UploadingLabel",
31
+ target: "e16zhfly4"
32
+ })("margin-right:5px;");
33
+ exports.UploadingLabel = UploadingLabel;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BottomInfoBarWrapper","styled","BottomInfoBarInner","StatusWrapper","CircularProgressHolder","UploadingLabel"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\n\nexport const BottomInfoBarWrapper = styled(\"div\")`\n font-size: 0.8rem;\n position: sticky;\n bottom: 0;\n height: 30px;\n color: var(--mdc-theme-text-secondary-on-background);\n border-top: 1px solid var(--mdc-theme-on-background);\n background: var(--mdc-theme-surface);\n width: 100%;\n transform: translateZ(0);\n overflow: hidden;\n display: flex;\n align-items: center;\n z-index: 1;\n`;\n\nexport const BottomInfoBarInner = styled(\"div\")`\n padding: 0 10px;\n width: 100%;\n`;\n\nexport const StatusWrapper = styled(\"div\")`\n color: var(--mdc-theme-primary);\n position: absolute;\n right: 0;\n bottom: 10px;\n margin-right: 10px;\n display: flex;\n align-items: center;\n > div {\n display: inline-block;\n }\n`;\n\nexport const CircularProgressHolder = styled(\"div\")`\n position: relative;\n height: 12px;\n width: 12px;\n`;\n\nexport const UploadingLabel = styled(\"div\")`\n margin-right: 5px;\n`;\n"],"mappings":";;;;;;;AAAA;AAEO,IAAMA,oBAAoB,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,qSAc/C;AAAC;AAEK,IAAMC,kBAAkB,oBAAGD,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,gCAG7C;AAAC;AAEK,IAAME,aAAa,oBAAGF,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,yJAWxC;AAAC;AAEK,IAAMG,sBAAsB,oBAAGH,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,+CAIjD;AAAC;AAEK,IAAMI,cAAc,oBAAGJ,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,uBAEzC;AAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="web" />
2
+ import React from "react";
3
+ export interface DropFilesHereProps {
4
+ onDragLeave?: (event?: React.DragEvent<HTMLElement>) => void;
5
+ onDrop?: (event?: React.DragEvent<HTMLElement>) => void;
6
+ empty?: boolean;
7
+ onClick?: (event?: React.MouseEvent<HTMLElement>) => void;
8
+ }
9
+ export declare const DropFilesHere: React.FC<DropFilesHereProps>;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DropFilesHere = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _i18n = require("@webiny/app/i18n");
11
+ var _Icon = require("@webiny/ui/Icon");
12
+ var _styled = require("./styled");
13
+ var _templateObject;
14
+ var t = _i18n.i18n.ns("app-admin/file-manager/components/drop-files-here");
15
+ var DropFilesHere = function DropFilesHere(_ref) {
16
+ var onDrop = _ref.onDrop,
17
+ onDragLeave = _ref.onDragLeave,
18
+ empty = _ref.empty,
19
+ onClick = _ref.onClick;
20
+ return /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereWrapper, {
21
+ empty: empty,
22
+ onDrop: onDrop,
23
+ onClick: onClick,
24
+ onDragLeave: onDragLeave
25
+ }, /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereInner, {
26
+ empty: empty
27
+ }, /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereIconWrapper, null, /*#__PURE__*/_react.default.createElement(_Icon.Icon, {
28
+ icon: /*#__PURE__*/_react.default.createElement(_styled.DropFilesHereIcon, null)
29
+ }), /*#__PURE__*/_react.default.createElement("div", null, t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Drop files here"])))))));
30
+ };
31
+ exports.DropFilesHere = DropFilesHere;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["t","i18n","ns","DropFilesHere","onDrop","onDragLeave","empty","onClick"],"sources":["DropFilesHere.tsx"],"sourcesContent":["import React from \"react\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { Icon } from \"@webiny/ui/Icon\";\n\nimport {\n DropFilesHereWrapper,\n DropFilesHereInner,\n DropFilesHereIcon,\n DropFilesHereIconWrapper\n} from \"./styled\";\n\nconst t = i18n.ns(\"app-admin/file-manager/components/drop-files-here\");\n\nexport interface DropFilesHereProps {\n onDragLeave?: (event?: React.DragEvent<HTMLElement>) => void;\n onDrop?: (event?: React.DragEvent<HTMLElement>) => void;\n empty?: boolean;\n onClick?: (event?: React.MouseEvent<HTMLElement>) => void;\n}\n\nexport const DropFilesHere: React.FC<DropFilesHereProps> = ({\n onDrop,\n onDragLeave,\n empty,\n onClick\n}) => {\n return (\n <DropFilesHereWrapper\n empty={empty}\n onDrop={onDrop}\n onClick={onClick}\n onDragLeave={onDragLeave}\n >\n <DropFilesHereInner empty={empty}>\n <DropFilesHereIconWrapper>\n <Icon icon={<DropFilesHereIcon />} />\n <div>{t`Drop files here`}</div>\n </DropFilesHereIconWrapper>\n </DropFilesHereInner>\n </DropFilesHereWrapper>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA;AAKkB;AAElB,IAAMA,CAAC,GAAGC,UAAI,CAACC,EAAE,CAAC,mDAAmD,CAAC;AAS/D,IAAMC,aAA2C,GAAG,SAA9CA,aAA2C,OAKlD;EAAA,IAJFC,MAAM,QAANA,MAAM;IACNC,WAAW,QAAXA,WAAW;IACXC,KAAK,QAALA,KAAK;IACLC,OAAO,QAAPA,OAAO;EAEP,oBACI,6BAAC,4BAAoB;IACjB,KAAK,EAAED,KAAM;IACb,MAAM,EAAEF,MAAO;IACf,OAAO,EAAEG,OAAQ;IACjB,WAAW,EAAEF;EAAY,gBAEzB,6BAAC,0BAAkB;IAAC,KAAK,EAAEC;EAAM,gBAC7B,6BAAC,gCAAwB,qBACrB,6BAAC,UAAI;IAAC,IAAI,eAAE,6BAAC,yBAAiB;EAAI,EAAG,eACrC,0CAAMN,CAAC,mGAAwB,CACR,CACV,CACF;AAE/B,CAAC;AAAC"}
@@ -0,0 +1 @@
1
+ export * from "./DropFilesHere";
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _DropFilesHere = require("./DropFilesHere");
7
+ Object.keys(_DropFilesHere).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _DropFilesHere[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _DropFilesHere[key];
14
+ }
15
+ });
16
+ });
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["export * from \"./DropFilesHere\";\n"],"mappings":";;;;;AAAA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ /// <reference types="react" />
3
+ /// <reference types="web" />
4
+ declare type DropFilesHereWrapperProps = {
5
+ empty?: boolean;
6
+ };
7
+ export declare const DropFilesHereWrapper: import("@emotion/styled").StyledComponent<{
8
+ theme?: import("@emotion/react").Theme | undefined;
9
+ as?: import("react").ElementType<any> | undefined;
10
+ } & DropFilesHereWrapperProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
11
+ export declare const DropFilesHereInner: import("@emotion/styled").StyledComponent<{
12
+ theme?: import("@emotion/react").Theme | undefined;
13
+ as?: import("react").ElementType<any> | undefined;
14
+ } & DropFilesHereWrapperProps, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
15
+ export declare const DropFilesHereIconWrapper: import("@emotion/styled").StyledComponent<{
16
+ theme?: import("@emotion/react").Theme | undefined;
17
+ as?: import("react").ElementType<any> | undefined;
18
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
19
+ export declare const DropFilesHereIcon: import("@emotion/styled").StyledComponent<import("react").SVGProps<SVGSVGElement> & {
20
+ alt?: string | undefined;
21
+ } & {
22
+ children?: import("react").ReactNode;
23
+ } & {
24
+ theme?: import("@emotion/react").Theme | undefined;
25
+ }, {}, {}>;
26
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DropFilesHereWrapper = exports.DropFilesHereInner = exports.DropFilesHereIconWrapper = exports.DropFilesHereIcon = void 0;
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+ var _cloud_upload = require("@material-design-icons/svg/filled/cloud_upload.svg");
10
+ var DropFilesHereWrapper = /*#__PURE__*/(0, _styled.default)("div", {
11
+ label: "DropFilesHereWrapper",
12
+ target: "e1dajg7m0"
13
+ })("margin:0 auto;padding-top:0;height:calc(100vh - 95px);z-index:3;width:100%;position:absolute;background:", function (_ref) {
14
+ var empty = _ref.empty;
15
+ return empty ? "transparent" : "var(--mdc-theme-text-hint-on-light)";
16
+ }, ";");
17
+ exports.DropFilesHereWrapper = DropFilesHereWrapper;
18
+ var DropFilesHereInner = /*#__PURE__*/(0, _styled.default)("div", {
19
+ label: "DropFilesHereInner",
20
+ target: "e1dajg7m1"
21
+ })("text-align:center;width:300px;height:300px;background-color:", function (_ref2) {
22
+ var empty = _ref2.empty;
23
+ return empty ? "var(--mdc-theme-surface)" : "var(--mdc-theme-background)";
24
+ }, ";border-radius:50%;position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);");
25
+ exports.DropFilesHereInner = DropFilesHereInner;
26
+ var DropFilesHereIconWrapper = /*#__PURE__*/(0, _styled.default)("div", {
27
+ label: "DropFilesHereIconWrapper",
28
+ target: "e1dajg7m2"
29
+ })("position:absolute;top:90px;width:300px;display:flex;flex-direction:column;align-items:center;color:var(--mdc-theme-on-surface);");
30
+ exports.DropFilesHereIconWrapper = DropFilesHereIconWrapper;
31
+ var DropFilesHereIcon = /*#__PURE__*/(0, _styled.default)(_cloud_upload.ReactComponent, {
32
+ label: "DropFilesHereIcon",
33
+ target: "e1dajg7m3"
34
+ })("width:100px !important;height:auto;display:inline-block;color:var(--mdc-theme-on-surface);");
35
+ exports.DropFilesHereIcon = DropFilesHereIcon;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DropFilesHereWrapper","styled","empty","DropFilesHereInner","DropFilesHereIconWrapper","DropFilesHereIcon","UploadIcon"],"sources":["styled.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { ReactComponent as UploadIcon } from \"@material-design-icons/svg/filled/cloud_upload.svg\";\n\ntype DropFilesHereWrapperProps = {\n empty?: boolean;\n};\n\nexport const DropFilesHereWrapper = styled(\"div\")<DropFilesHereWrapperProps>`\n margin: 0 auto;\n padding-top: 0;\n height: calc(100vh - 95px);\n z-index: 3;\n width: 100%;\n position: absolute;\n background: ${({ empty }) => (empty ? \"transparent\" : \"var(--mdc-theme-text-hint-on-light)\")};\n`;\n\nexport const DropFilesHereInner = styled(\"div\")<DropFilesHereWrapperProps>`\n text-align: center;\n width: 300px;\n height: 300px;\n background-color: ${({ empty }) =>\n empty ? \"var(--mdc-theme-surface)\" : \"var(--mdc-theme-background)\"};\n border-radius: 50%;\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n`;\n\nexport const DropFilesHereIconWrapper = styled(\"div\")`\n position: absolute;\n top: 90px;\n width: 300px;\n display: flex;\n flex-direction: column;\n align-items: center;\n color: var(--mdc-theme-on-surface);\n`;\n\nexport const DropFilesHereIcon = styled(UploadIcon)`\n width: 100px !important;\n height: auto;\n display: inline-block;\n color: var(--mdc-theme-on-surface);\n`;\n"],"mappings":";;;;;;;AAAA;AACA;AAMO,IAAMA,oBAAoB,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,+GAO9B;EAAA,IAAGC,KAAK,QAALA,KAAK;EAAA,OAAQA,KAAK,GAAG,aAAa,GAAG,qCAAqC;AAAA,CAAC,MAC/F;AAAC;AAEK,IAAMC,kBAAkB,oBAAGF,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,mEAItB;EAAA,IAAGC,KAAK,SAALA,KAAK;EAAA,OACxBA,KAAK,GAAG,0BAA0B,GAAG,6BAA6B;AAAA,wGAMzE;AAAC;AAEK,IAAME,wBAAwB,oBAAGH,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,qIAQnD;AAAC;AAEK,IAAMI,iBAAiB,oBAAGJ,eAAM,EAACK,4BAAU;EAAA;EAAA;AAAA,gGAKjD;AAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { FilesRenderChildren } from "react-butterfiles";
3
+ interface EmptyViewProps {
4
+ browseFiles: FilesRenderChildren["browseFiles"];
5
+ isSearchResult?: boolean;
6
+ }
7
+ export declare const Empty: React.VFC<EmptyViewProps>;
8
+ export {};