@progress/kendo-vue-upload 3.5.0 → 3.5.1-dev.202208100944

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 (128) hide show
  1. package/dist/cdn/js/kendo-vue-upload.js +1 -1
  2. package/dist/es/UploadListMultiItem.js +5 -5
  3. package/dist/es/UploadListSingleItem.js +1 -1
  4. package/dist/es/interfaces/BaseUploadEvent.js +1 -0
  5. package/dist/es/interfaces/FileGroup.js +1 -0
  6. package/dist/es/interfaces/UploadActionsLayout.js +1 -0
  7. package/dist/es/interfaces/UploadAdditionalData.js +1 -0
  8. package/dist/es/interfaces/UploadAsyncProps.js +1 -0
  9. package/dist/es/interfaces/UploadFileInfo.js +1 -0
  10. package/dist/es/interfaces/UploadFileRestrictions.js +1 -0
  11. package/dist/es/interfaces/UploadHttpHeaders.js +1 -0
  12. package/dist/es/interfaces/UploadListItemProps.js +1 -0
  13. package/dist/es/interfaces/UploadOnAddEvent.js +1 -0
  14. package/dist/es/interfaces/UploadOnBeforeRemoveEvent.js +1 -0
  15. package/dist/es/interfaces/UploadOnBeforeUploadEvent.js +1 -0
  16. package/dist/es/interfaces/UploadOnCancelEvent.js +1 -0
  17. package/dist/es/interfaces/UploadOnProgressEvent.js +1 -0
  18. package/dist/es/interfaces/UploadOnRemoveEvent.js +1 -0
  19. package/dist/es/interfaces/UploadOnStatusChangeEvent.js +1 -0
  20. package/dist/es/interfaces/UploadProps.js +1 -0
  21. package/dist/es/interfaces/UploadResponse.js +1 -0
  22. package/dist/es/package-metadata.js +1 -1
  23. package/dist/es/utils/connectionUtils.d.ts +3 -3
  24. package/dist/es/utils/stateUtils.d.ts +3 -3
  25. package/dist/es/utils/utils.d.ts +3 -3
  26. package/dist/es/utils/validationUtils.d.ts +3 -3
  27. package/dist/esm/ExternalDropZone.d.ts +121 -0
  28. package/dist/esm/ExternalDropZone.js +169 -0
  29. package/dist/esm/Upload.d.ts +50 -0
  30. package/dist/esm/Upload.js +787 -0
  31. package/dist/esm/UploadActionButtons.d.ts +59 -0
  32. package/dist/esm/UploadActionButtons.js +165 -0
  33. package/dist/esm/UploadAddButton.d.ts +67 -0
  34. package/dist/esm/UploadAddButton.js +165 -0
  35. package/dist/esm/UploadDropZone.d.ts +61 -0
  36. package/dist/esm/UploadDropZone.js +288 -0
  37. package/dist/esm/UploadInput.d.ts +56 -0
  38. package/dist/esm/UploadInput.js +116 -0
  39. package/dist/esm/UploadList.d.ts +58 -0
  40. package/dist/esm/UploadList.js +103 -0
  41. package/dist/esm/UploadListActionButton.d.ts +56 -0
  42. package/dist/esm/UploadListActionButton.js +176 -0
  43. package/dist/esm/UploadListGroup.d.ts +56 -0
  44. package/dist/esm/UploadListGroup.js +150 -0
  45. package/dist/esm/UploadListMultiItem.d.ts +44 -0
  46. package/dist/esm/UploadListMultiItem.js +172 -0
  47. package/dist/esm/UploadListSingleItem.d.ts +44 -0
  48. package/dist/esm/UploadListSingleItem.js +228 -0
  49. package/dist/esm/UploadNavigation.d.ts +46 -0
  50. package/dist/esm/UploadNavigation.js +348 -0
  51. package/dist/esm/UploadStatus.d.ts +53 -0
  52. package/dist/esm/UploadStatus.js +63 -0
  53. package/dist/esm/UploadUI.d.ts +81 -0
  54. package/dist/esm/UploadUI.js +265 -0
  55. package/dist/esm/additionalTypes.ts +21 -0
  56. package/dist/esm/interfaces/BaseUploadEvent.d.ts +9 -0
  57. package/dist/esm/interfaces/BaseUploadEvent.js +1 -0
  58. package/dist/esm/interfaces/FileGroup.d.ts +7 -0
  59. package/dist/esm/interfaces/FileGroup.js +1 -0
  60. package/dist/esm/interfaces/UploadActionsLayout.d.ts +4 -0
  61. package/dist/esm/interfaces/UploadActionsLayout.js +1 -0
  62. package/dist/esm/interfaces/UploadAdditionalData.d.ts +6 -0
  63. package/dist/esm/interfaces/UploadAdditionalData.js +1 -0
  64. package/dist/esm/interfaces/UploadAsyncProps.d.ts +82 -0
  65. package/dist/esm/interfaces/UploadAsyncProps.js +1 -0
  66. package/dist/esm/interfaces/UploadFileInfo.d.ts +41 -0
  67. package/dist/esm/interfaces/UploadFileInfo.js +1 -0
  68. package/dist/esm/interfaces/UploadFileRestrictions.d.ts +19 -0
  69. package/dist/esm/interfaces/UploadFileRestrictions.js +1 -0
  70. package/dist/esm/interfaces/UploadFileStatus.d.ts +33 -0
  71. package/dist/esm/interfaces/UploadFileStatus.js +34 -0
  72. package/dist/esm/interfaces/UploadHttpHeaders.d.ts +6 -0
  73. package/dist/esm/interfaces/UploadHttpHeaders.js +1 -0
  74. package/dist/esm/interfaces/UploadListItemProps.d.ts +19 -0
  75. package/dist/esm/interfaces/UploadListItemProps.js +1 -0
  76. package/dist/esm/interfaces/UploadOnAddEvent.d.ts +15 -0
  77. package/dist/esm/interfaces/UploadOnAddEvent.js +1 -0
  78. package/dist/esm/interfaces/UploadOnBeforeRemoveEvent.d.ts +21 -0
  79. package/dist/esm/interfaces/UploadOnBeforeRemoveEvent.js +1 -0
  80. package/dist/esm/interfaces/UploadOnBeforeUploadEvent.d.ts +21 -0
  81. package/dist/esm/interfaces/UploadOnBeforeUploadEvent.js +1 -0
  82. package/dist/esm/interfaces/UploadOnCancelEvent.d.ts +10 -0
  83. package/dist/esm/interfaces/UploadOnCancelEvent.js +1 -0
  84. package/dist/esm/interfaces/UploadOnProgressEvent.d.ts +15 -0
  85. package/dist/esm/interfaces/UploadOnProgressEvent.js +1 -0
  86. package/dist/esm/interfaces/UploadOnRemoveEvent.d.ts +20 -0
  87. package/dist/esm/interfaces/UploadOnRemoveEvent.js +1 -0
  88. package/dist/esm/interfaces/UploadOnStatusChangeEvent.d.ts +20 -0
  89. package/dist/esm/interfaces/UploadOnStatusChangeEvent.js +1 -0
  90. package/dist/esm/interfaces/UploadProps.d.ts +114 -0
  91. package/dist/esm/interfaces/UploadProps.js +1 -0
  92. package/dist/esm/interfaces/UploadResponse.d.ts +25 -0
  93. package/dist/esm/interfaces/UploadResponse.js +1 -0
  94. package/dist/esm/main.d.ts +25 -0
  95. package/dist/esm/main.js +9 -0
  96. package/dist/esm/messages/index.d.ts +100 -0
  97. package/dist/esm/messages/index.js +101 -0
  98. package/dist/esm/package-metadata.d.ts +5 -0
  99. package/dist/esm/package-metadata.js +11 -0
  100. package/dist/esm/package.json +3 -0
  101. package/dist/esm/utils/connectionUtils.d.ts +17 -0
  102. package/dist/esm/utils/connectionUtils.js +78 -0
  103. package/dist/esm/utils/stateUtils.d.ts +26 -0
  104. package/dist/esm/utils/stateUtils.js +83 -0
  105. package/dist/esm/utils/utils.d.ts +17 -0
  106. package/dist/esm/utils/utils.js +128 -0
  107. package/dist/esm/utils/validationUtils.d.ts +7 -0
  108. package/dist/esm/utils/validationUtils.js +50 -0
  109. package/dist/npm/ExternalDropZone.js +6 -6
  110. package/dist/npm/Upload.js +5 -5
  111. package/dist/npm/UploadActionButtons.js +4 -4
  112. package/dist/npm/UploadAddButton.js +3 -3
  113. package/dist/npm/UploadDropZone.js +2 -2
  114. package/dist/npm/UploadInput.js +1 -1
  115. package/dist/npm/UploadList.js +1 -1
  116. package/dist/npm/UploadListActionButton.js +3 -3
  117. package/dist/npm/UploadListGroup.js +2 -2
  118. package/dist/npm/UploadListMultiItem.js +8 -8
  119. package/dist/npm/UploadListSingleItem.js +4 -4
  120. package/dist/npm/UploadStatus.js +3 -3
  121. package/dist/npm/UploadUI.js +2 -2
  122. package/dist/npm/package-metadata.js +1 -1
  123. package/dist/npm/utils/connectionUtils.d.ts +3 -3
  124. package/dist/npm/utils/stateUtils.d.ts +3 -3
  125. package/dist/npm/utils/utils.d.ts +3 -3
  126. package/dist/npm/utils/utils.js +2 -2
  127. package/dist/npm/utils/validationUtils.d.ts +3 -3
  128. package/package.json +4 -4
@@ -0,0 +1,78 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ var populateClientFormData = function (data, clientData) {
24
+ Object.keys(clientData).forEach(function (key) {
25
+ data.append(key, clientData[key]);
26
+ });
27
+ };
28
+ var populateUploadFormData = function (files, saveField, clientData) {
29
+ var data = new FormData();
30
+ populateClientFormData(data, clientData);
31
+ files.forEach(function (file) {
32
+ var rawFile = file.getRawFile ? file.getRawFile() : '';
33
+ if (rawFile) {
34
+ data.append(saveField, rawFile, file.name);
35
+ }
36
+ else {
37
+ data.append(saveField, rawFile);
38
+ }
39
+ });
40
+ return data;
41
+ };
42
+ var populateRemoveFormData = function (fileNames, removeField, clientData) {
43
+ var data = new FormData();
44
+ populateClientFormData(data, clientData);
45
+ fileNames.forEach(function (fileName) {
46
+ data.append(removeField, fileName);
47
+ });
48
+ return data;
49
+ };
50
+ var populateRequestOptions = function (headers, async) {
51
+ return {
52
+ headers: headers,
53
+ responseType: async.responseType,
54
+ withCredentials: async.withCredentials
55
+ };
56
+ };
57
+ var cloneRequestHeaders = function (headers) {
58
+ var cloned = {};
59
+ Object.keys(headers).forEach(function (key) {
60
+ cloned[key] = headers[key];
61
+ });
62
+ return cloned;
63
+ };
64
+ var convertAxiosResponse = function (event) {
65
+ var data = event.data, config = event.config, others = __rest(event, ["data", "config"]);
66
+ return __assign({ response: data }, others);
67
+ };
68
+ /**
69
+ * @hidden
70
+ */
71
+ export default {
72
+ populateClientFormData: populateClientFormData,
73
+ populateUploadFormData: populateUploadFormData,
74
+ populateRemoveFormData: populateRemoveFormData,
75
+ populateRequestOptions: populateRequestOptions,
76
+ cloneRequestHeaders: cloneRequestHeaders,
77
+ convertAxiosResponse: convertAxiosResponse
78
+ };
@@ -0,0 +1,26 @@
1
+ import { UploadFileInfo } from '../interfaces/UploadFileInfo';
2
+ import { UploadFileStatus } from '../interfaces/UploadFileStatus';
3
+ import { GroupedFiles } from '../interfaces/FileGroup';
4
+ /**
5
+ * @hidden
6
+ */
7
+ declare const _default: {
8
+ copyState: (state: UploadFileInfo[]) => {
9
+ uid: string;
10
+ name: string;
11
+ extension?: string;
12
+ size?: number;
13
+ validationErrors?: string[];
14
+ status: UploadFileStatus;
15
+ progress: number;
16
+ getRawFile?: () => File;
17
+ }[];
18
+ addMany: (fileList: UploadFileInfo[], filesState: UploadFileInfo[]) => void;
19
+ add: (file: UploadFileInfo, filesState: UploadFileInfo[]) => void;
20
+ groupFilesByUid: (files: UploadFileInfo[]) => GroupedFiles;
21
+ filesForUpload: (files: GroupedFiles) => GroupedFiles;
22
+ setFilesStatus: (filesGroup: GroupedFiles, status: UploadFileStatus) => void;
23
+ flatFileGroup: (fileGroup: GroupedFiles) => UploadFileInfo[];
24
+ groupForEach: (fileGroup: GroupedFiles, callBack: (currentFiles: UploadFileInfo[], uid: string) => void) => void;
25
+ };
26
+ export default _default;
@@ -0,0 +1,83 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { UploadFileStatus } from '../interfaces/UploadFileStatus.js';
13
+ var copyState = function (state) {
14
+ return (state || []).map(function (file) {
15
+ return __assign({}, file);
16
+ });
17
+ };
18
+ var add = function (file, filesState) {
19
+ filesState.push(file);
20
+ };
21
+ var addMany = function (fileList, filesState) {
22
+ fileList.forEach(function (file) { return add(file, filesState); });
23
+ };
24
+ var groupFilesByUid = function (files) {
25
+ var fileGroup = {};
26
+ files.forEach(function (file) {
27
+ if (fileGroup[file.uid]) {
28
+ fileGroup[file.uid].push(file);
29
+ }
30
+ else {
31
+ fileGroup[file.uid] = [file];
32
+ }
33
+ });
34
+ return fileGroup;
35
+ };
36
+ var filesForUpload = function (files) {
37
+ var notUploadedGroups = {};
38
+ groupForEach(files, function (currentFiles, uid) {
39
+ var currentFilesValid = true;
40
+ currentFiles.forEach(function (file) {
41
+ if (file.status !== UploadFileStatus.Selected ||
42
+ (file.validationErrors && file.validationErrors.length > 0)) {
43
+ currentFilesValid = false;
44
+ }
45
+ });
46
+ if (currentFilesValid) {
47
+ notUploadedGroups[uid] = currentFiles;
48
+ }
49
+ });
50
+ return notUploadedGroups;
51
+ };
52
+ var setFilesStatus = function (filesGroup, status) {
53
+ groupForEach(filesGroup, function (currentFiles) {
54
+ currentFiles.forEach(function (file) {
55
+ file.status = status;
56
+ });
57
+ });
58
+ };
59
+ var flatFileGroup = function (fileGroup) {
60
+ var transformed = [];
61
+ groupForEach(fileGroup, function (currentFiles) {
62
+ transformed.push.apply(transformed, currentFiles);
63
+ });
64
+ return transformed;
65
+ };
66
+ var groupForEach = function (fileGroup, callBack) {
67
+ Object.keys(fileGroup).forEach(function (uidKey) {
68
+ callBack(fileGroup[uidKey], uidKey);
69
+ });
70
+ };
71
+ /**
72
+ * @hidden
73
+ */
74
+ export default {
75
+ copyState: copyState,
76
+ addMany: addMany,
77
+ add: add,
78
+ groupFilesByUid: groupFilesByUid,
79
+ filesForUpload: filesForUpload,
80
+ setFilesStatus: setFilesStatus,
81
+ flatFileGroup: flatFileGroup,
82
+ groupForEach: groupForEach
83
+ };
@@ -0,0 +1,17 @@
1
+ import { UploadFileInfo } from '../interfaces/UploadFileInfo';
2
+ import { GroupedFiles } from '../interfaces/FileGroup';
3
+ /**
4
+ * @hidden
5
+ */
6
+ declare const _default: {
7
+ fileHasValidationErrors: Function;
8
+ filesHaveValidationErrors: Function;
9
+ getTotalFilesSizeMessage: Function;
10
+ getAllFileInfo: Function;
11
+ getFileInfo: Function;
12
+ getFileExtension: Function;
13
+ htmlEncode: Function;
14
+ assignGuidToFiles: Function;
15
+ getFileStatus: (currentFiles: GroupedFiles | UploadFileInfo[]) => boolean[];
16
+ };
17
+ export default _default;
@@ -0,0 +1,128 @@
1
+ import { UploadFileStatus } from '../interfaces/UploadFileStatus.js';
2
+ import { guid } from '@progress/kendo-vue-common';
3
+ var ampRegExp = /&/g;
4
+ var ltRegExp = /</g;
5
+ var quoteRegExp = /"/g;
6
+ var aposRegExp = /'/g;
7
+ var gtRegExp = />/g;
8
+ var htmlEncode = function (value) {
9
+ return ('' + value).replace(ampRegExp, '&amp;')
10
+ .replace(ltRegExp, '&lt;')
11
+ .replace(gtRegExp, '&gt;')
12
+ .replace(quoteRegExp, '&quot;')
13
+ .replace(aposRegExp, '&#39;');
14
+ };
15
+ var getFileExtension = function (fileName) {
16
+ var rFileExtension = /\.([^\.]+)$/;
17
+ var matches = fileName.match(rFileExtension);
18
+ return matches ? matches[0] : '';
19
+ };
20
+ var getFileInfo = function (rawFile) {
21
+ var fileName = rawFile.name;
22
+ var fileSize = rawFile.size;
23
+ return {
24
+ extension: getFileExtension(fileName),
25
+ name: htmlEncode(fileName),
26
+ getRawFile: function () { return rawFile; },
27
+ size: fileSize,
28
+ status: UploadFileStatus.Selected,
29
+ progress: 0,
30
+ uid: ''
31
+ };
32
+ };
33
+ var getAllFileInfo = function (rawFiles) {
34
+ var allFileInfo = new Array();
35
+ var i;
36
+ for (i = 0; i < rawFiles.length; i++) {
37
+ allFileInfo.push(getFileInfo(rawFiles[i]));
38
+ }
39
+ return allFileInfo;
40
+ };
41
+ var fileHasValidationErrors = function (file) {
42
+ if (file.validationErrors && file.validationErrors.length > 0) {
43
+ return true;
44
+ }
45
+ return false;
46
+ };
47
+ var filesHaveValidationErrors = function (files) {
48
+ for (var _i = 0, files_1 = files; _i < files_1.length; _i++) {
49
+ var file = files_1[_i];
50
+ if (fileHasValidationErrors(file)) {
51
+ return true;
52
+ }
53
+ }
54
+ return false;
55
+ };
56
+ var getTotalFilesSizeMessage = function (files) {
57
+ var totalSize = 0;
58
+ var i;
59
+ if (typeof files[0].size === 'number') {
60
+ for (i = 0; i < files.length; i++) {
61
+ if (files[i].size) {
62
+ totalSize += (files[i].size || 0);
63
+ }
64
+ }
65
+ }
66
+ else {
67
+ return '';
68
+ }
69
+ totalSize /= 1024;
70
+ if (totalSize < 1024) {
71
+ return totalSize.toFixed(2) + ' KB';
72
+ }
73
+ else {
74
+ return (totalSize / 1024).toFixed(2) + ' MB';
75
+ }
76
+ };
77
+ var assignGuidToFiles = function (files, batchFiles) {
78
+ var uid = guid();
79
+ return files.map(function (file) {
80
+ file.uid = batchFiles ? uid : guid();
81
+ return file;
82
+ });
83
+ };
84
+ var getFileStatus = function (currentFiles) {
85
+ var isUploading = false;
86
+ var isUploaded = false;
87
+ var isUploadFailed = false;
88
+ var isUploadValidationFailed = false;
89
+ var checkFilesStatus = function (files) {
90
+ files.forEach(function (file) {
91
+ if (file.status === UploadFileStatus.Uploading) {
92
+ isUploading = true;
93
+ }
94
+ if (file.status === UploadFileStatus.Uploaded) {
95
+ isUploaded = true;
96
+ }
97
+ if (file.status === UploadFileStatus.UploadFailed) {
98
+ isUploadFailed = true;
99
+ }
100
+ if (fileHasValidationErrors(file)) {
101
+ isUploadValidationFailed = true;
102
+ }
103
+ });
104
+ };
105
+ if (Array.isArray(currentFiles)) {
106
+ checkFilesStatus(currentFiles);
107
+ }
108
+ else {
109
+ Object.keys(currentFiles).forEach(function (key) {
110
+ checkFilesStatus(currentFiles[key]);
111
+ });
112
+ }
113
+ return [isUploading, isUploaded, isUploadFailed, isUploadValidationFailed];
114
+ };
115
+ /**
116
+ * @hidden
117
+ */
118
+ export default {
119
+ fileHasValidationErrors: fileHasValidationErrors,
120
+ filesHaveValidationErrors: filesHaveValidationErrors,
121
+ getTotalFilesSizeMessage: getTotalFilesSizeMessage,
122
+ getAllFileInfo: getAllFileInfo,
123
+ getFileInfo: getFileInfo,
124
+ getFileExtension: getFileExtension,
125
+ htmlEncode: htmlEncode,
126
+ assignGuidToFiles: assignGuidToFiles,
127
+ getFileStatus: getFileStatus
128
+ };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ declare const _default: {
5
+ validateFiles: Function;
6
+ };
7
+ export default _default;
@@ -0,0 +1,50 @@
1
+ var INVALIDMAXFILESIZE = 'invalidMaxFileSize';
2
+ var INVALIDMINFILESIZE = 'invalidMinFileSize';
3
+ var INVALIDFILEEXTENSION = 'invalidFileExtension';
4
+ var validateFileExtension = function (file, allowedExtensions) {
5
+ if (allowedExtensions.length > 0) {
6
+ if (allowedExtensions.indexOf((file.extension || '').toLowerCase()) < 0) {
7
+ file.validationErrors = file.validationErrors || [];
8
+ if (file.validationErrors.indexOf(INVALIDFILEEXTENSION) < 0) {
9
+ file.validationErrors.push(INVALIDFILEEXTENSION);
10
+ }
11
+ }
12
+ }
13
+ };
14
+ var validateFileSize = function (file, minFileSize, maxFileSize) {
15
+ if (minFileSize !== 0 && (file.size || 0) < minFileSize) {
16
+ file.validationErrors = file.validationErrors || [];
17
+ if (file.validationErrors.indexOf(INVALIDMINFILESIZE) < 0) {
18
+ file.validationErrors.push(INVALIDMINFILESIZE);
19
+ }
20
+ }
21
+ if (maxFileSize !== 0 && (file.size || 0) > maxFileSize) {
22
+ file.validationErrors = file.validationErrors || [];
23
+ if (file.validationErrors.indexOf(INVALIDMAXFILESIZE) < 0) {
24
+ file.validationErrors.push(INVALIDMAXFILESIZE);
25
+ }
26
+ }
27
+ };
28
+ var parseAllowedExtensions = function (extensions) {
29
+ var allowedExtensions = extensions.map(function (ext) {
30
+ var parsedExt = (ext.substring(0, 1) === '.') ? ext : ('.' + ext);
31
+ return parsedExt.toLowerCase();
32
+ });
33
+ return allowedExtensions;
34
+ };
35
+ var validateFiles = function (files, restrictionInfo) {
36
+ var allowedExtensions = parseAllowedExtensions(restrictionInfo.allowedExtensions || []);
37
+ var maxFileSize = restrictionInfo.maxFileSize || 0;
38
+ var minFileSize = restrictionInfo.minFileSize || 0;
39
+ var i;
40
+ for (i = 0; i < files.length; i++) {
41
+ validateFileExtension(files[i], allowedExtensions);
42
+ validateFileSize(files[i], minFileSize, maxFileSize);
43
+ }
44
+ };
45
+ /**
46
+ * @hidden
47
+ */
48
+ export default {
49
+ validateFiles: validateFiles
50
+ };
@@ -47,7 +47,7 @@ var ExternalDropZoneVue2 = {
47
47
  }
48
48
  },
49
49
  created: function created() {
50
- kendo_vue_common_1.validatePackage(package_metadata_1.packageMetadata);
50
+ (0, kendo_vue_common_1.validatePackage)(package_metadata_1.packageMetadata);
51
51
  this.elementInterval = null;
52
52
  this.elementActive = false;
53
53
  this.lastElementDragOverRef = null;
@@ -120,7 +120,7 @@ var ExternalDropZoneVue2 = {
120
120
  var _a = this.$props,
121
121
  customNote = _a.customNote,
122
122
  customHint = _a.customHint;
123
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
123
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
124
124
  var localizedHint = localizationService.toLanguageString(messages_1.dropZoneHint, messages_1.messages[messages_1.dropZoneHint]);
125
125
  var localizedNote = localizationService.toLanguageString(messages_1.dropZoneNote, messages_1.messages[messages_1.dropZoneNote]);
126
126
  var hintTemplate = kendo_vue_common_1.templateRendering.call(this, customHint, kendo_vue_common_1.getListeners.call(this));
@@ -140,17 +140,17 @@ var ExternalDropZoneVue2 = {
140
140
  defaultRendering: noteElementDefaultRendering
141
141
  });
142
142
  return h("div", {
143
- ref: kendo_vue_common_1.setRef(this, 'externalDropZone'),
143
+ ref: (0, kendo_vue_common_1.setRef)(this, 'externalDropZone'),
144
144
  id: this.$props.id,
145
145
  attrs: this.v3 ? undefined : {
146
146
  id: this.$props.id,
147
- tabindex: kendo_vue_common_1.getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined)
147
+ tabindex: (0, kendo_vue_common_1.getTabIndex)(this.$props.tabIndex, this.$props.disabled, undefined)
148
148
  },
149
- "class": kendo_vue_common_1.classNames('k-external-dropzone', {
149
+ "class": (0, kendo_vue_common_1.classNames)('k-external-dropzone', {
150
150
  'k-external-dropzone-hover': this.overDropZone,
151
151
  'k-disabled': this.$props.disabled
152
152
  }, this.$props.className),
153
- tabindex: kendo_vue_common_1.getTabIndex(this.$props.tabIndex, this.$props.disabled, undefined),
153
+ tabindex: (0, kendo_vue_common_1.getTabIndex)(this.$props.tabIndex, this.$props.disabled, undefined),
154
154
  onDrop: this.handleOnDrop,
155
155
  on: this.v3 ? undefined : {
156
156
  "drop": this.handleOnDrop,
@@ -169,7 +169,7 @@ var UploadVue2 = {
169
169
  },
170
170
  created: function created() {
171
171
  this._httpSubscriptions = {};
172
- kendo_vue_common_1.validatePackage(package_metadata_1.packageMetadata);
172
+ (0, kendo_vue_common_1.validatePackage)(package_metadata_1.packageMetadata);
173
173
 
174
174
  if (this.$props.defaultFiles) {
175
175
  this.currentFiles = this.$props.defaultFiles;
@@ -273,7 +273,7 @@ var UploadVue2 = {
273
273
  } else {
274
274
  var cancelTokenSource = axios_1.default.CancelToken.source();
275
275
  _this._httpSubscriptions[uid] = cancelTokenSource;
276
- axios_1.default(__assign(__assign({
276
+ (0, axios_1.default)(__assign(__assign({
277
277
  method: async.saveMethod,
278
278
  url: async.saveUrl,
279
279
  data: formData,
@@ -322,7 +322,7 @@ var UploadVue2 = {
322
322
  return _this.onRemoveError(event.uid);
323
323
  });
324
324
  } else {
325
- axios_1.default(__assign({
325
+ (0, axios_1.default)(__assign({
326
326
  method: async.removeMethod,
327
327
  url: async.removeUrl,
328
328
  data: formData
@@ -753,7 +753,7 @@ var UploadVue2 = {
753
753
  showActionButtons: showActionButtons && !autoUpload && !!Object.keys(filesForUpload).length,
754
754
  actionsLayout: actionsLayout,
755
755
  disabled: disabled,
756
- tabIndex: kendo_vue_common_1.getTabIndex(tabIndex, disabled),
756
+ tabIndex: (0, kendo_vue_common_1.getTabIndex)(tabIndex, disabled),
757
757
  multiple: multiple,
758
758
  accept: accept,
759
759
  list: list,
@@ -781,7 +781,7 @@ var UploadVue2 = {
781
781
  onUpload: this.onUpload,
782
782
  onRetry: this.onRetry,
783
783
  onCancel: this.onCancel,
784
- tabIndex: kendo_vue_common_1.getTabIndex(tabIndex, disabled),
784
+ tabIndex: (0, kendo_vue_common_1.getTabIndex)(tabIndex, disabled),
785
785
  ref: this.v3 ? function (el) {
786
786
  _this.uploadNavigationRef = el;
787
787
  } : 'uploadNavigation',
@@ -113,15 +113,15 @@ var UploadActionButtonsVue2 = {
113
113
  clearButtonIndex = _a.clearButtonIndex,
114
114
  uploadButtonIndex = _a.uploadButtonIndex,
115
115
  actionsLayout = _a.actionsLayout;
116
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
117
- var wrapperClasses = kendo_vue_common_1.classNames('k-actions', {
116
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
117
+ var wrapperClasses = (0, kendo_vue_common_1.classNames)('k-actions', {
118
118
  'k-actions-start': actionsLayout === 'start',
119
119
  'k-actions-center': actionsLayout === 'center',
120
120
  'k-actions-end': actionsLayout === 'end',
121
121
  'k-actions-stretched': actionsLayout === 'stretched'
122
122
  });
123
- var clearButtonClasses = kendo_vue_common_1.classNames('k-clear-selected', navigationIndex === clearButtonIndex ? 'k-focus' : '');
124
- var uploadButtonClasses = kendo_vue_common_1.classNames('k-upload-selected', navigationIndex === uploadButtonIndex ? 'k-focus' : '');
123
+ var clearButtonClasses = (0, kendo_vue_common_1.classNames)('k-clear-selected', navigationIndex === clearButtonIndex ? 'k-focus' : '');
124
+ var uploadButtonClasses = (0, kendo_vue_common_1.classNames)('k-upload-selected', navigationIndex === uploadButtonIndex ? 'k-focus' : '');
125
125
  return h("div", {
126
126
  "class": wrapperClasses
127
127
  }, [// @ts-ignore function children
@@ -121,9 +121,9 @@ var UploadAddButtonVue2 = {
121
121
  multiple = _a.multiple,
122
122
  disabled = _a.disabled,
123
123
  accept = _a.accept;
124
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
124
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
125
125
  var selectMessage = localizationService.toLanguageString(messages_1.select, messages_1.messages[messages_1.select]);
126
- var buttonClassName = kendo_vue_common_1.classNames('k-button', 'k-button-md', 'k-button-solid', 'k-button-solid-base', 'k-rounded-md', 'k-upload-button', navigationIndex === addButtonIndex ? 'k-focus' : '');
126
+ var buttonClassName = (0, kendo_vue_common_1.classNames)('k-button', 'k-button-md', 'k-button-solid', 'k-button-solid-base', 'k-rounded-md', 'k-upload-button', navigationIndex === addButtonIndex ? 'k-focus' : '');
127
127
  return h("div", {
128
128
  id: id,
129
129
  attrs: this.v3 ? undefined : {
@@ -134,7 +134,7 @@ var UploadAddButtonVue2 = {
134
134
  "aria-describedby": ariaDescribedBy,
135
135
  tabindex: tabIndex
136
136
  },
137
- ref: kendo_vue_common_1.setRef(this, 'element'),
137
+ ref: (0, kendo_vue_common_1.setRef)(this, 'element'),
138
138
  role: "button",
139
139
  "class": buttonClassName,
140
140
  "aria-label": selectMessage,
@@ -214,7 +214,7 @@ var UploadDropZoneVue2 = {
214
214
  id = _a.id,
215
215
  ariaLabelledBy = _a.ariaLabelledBy,
216
216
  ariaDescribedBy = _a.ariaDescribedBy;
217
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
217
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
218
218
  var dropFilesMessage = localizationService.toLanguageString(messages_1.dropFilesHere, messages_1.messages[messages_1.dropFilesHere]);
219
219
 
220
220
  var _b = utils_1.default.getFileStatus(fileGroup),
@@ -223,7 +223,7 @@ var UploadDropZoneVue2 = {
223
223
  isUploadFailed = _b[2],
224
224
  isUploadValidationFailed = _b[3];
225
225
 
226
- var dropZoneClassName = kendo_vue_common_1.classNames('k-dropzone-hint', {// Unsure about that, since it hides the "Drop Files Message" when we remove all uploaded components.
226
+ var dropZoneClassName = (0, kendo_vue_common_1.classNames)('k-dropzone-hint', {// Unsure about that, since it hides the "Drop Files Message" when we remove all uploaded components.
227
227
  // 'k-hidden': this.isDragged && !this.elementActive
228
228
  });
229
229
 
@@ -90,7 +90,7 @@ var UploadInputVue2 = {
90
90
  disabled = _a.disabled,
91
91
  accept = _a.accept;
92
92
  return h("input", {
93
- ref: kendo_vue_common_1.setRef(this, 'input'),
93
+ ref: (0, kendo_vue_common_1.setRef)(this, 'input'),
94
94
  autocomplete: 'off',
95
95
  attrs: this.v3 ? undefined : {
96
96
  autocomplete: 'off',
@@ -68,7 +68,7 @@ var UploadListVue2 = {
68
68
  async = _a.async,
69
69
  disabled = _a.disabled,
70
70
  list = _a.list;
71
- var ulClassName = kendo_vue_common_1.classNames('k-upload-files', 'k-reset');
71
+ var ulClassName = (0, kendo_vue_common_1.classNames)('k-upload-files', 'k-reset');
72
72
  return h("ul", {
73
73
  "class": ulClassName
74
74
  }, [Object.keys(groupedFiles).map(function (key, index) {
@@ -63,7 +63,7 @@ var UploadListActionButtonVue2 = {
63
63
  return localizationService.toLanguageString(messages_1.retry, messages_1.messages[messages_1.retry]);
64
64
  },
65
65
  buttonClassNames: function buttonClassNames(type) {
66
- return kendo_vue_common_1.classNames('k-button k-button-icon k-flat k-upload-action', this.$props.disabled ? 'k-disabled' : '', this.actionFocused && type === 'action' || this.retryFocused && type === 'retry' ? 'k-focus' : '');
66
+ return (0, kendo_vue_common_1.classNames)('k-button k-button-icon k-flat k-upload-action', this.$props.disabled ? 'k-disabled' : '', this.actionFocused && type === 'action' || this.retryFocused && type === 'retry' ? 'k-focus' : '');
67
67
  },
68
68
  onRetryFocus: function onRetryFocus() {
69
69
  this.retryFocused = true;
@@ -119,11 +119,11 @@ var UploadListActionButtonVue2 = {
119
119
  var _a = this.$props,
120
120
  status = _a.status,
121
121
  progress = _a.progress;
122
- var actionButtonClassNames = kendo_vue_common_1.classNames('k-icon', status === UploadFileStatus_1.UploadFileStatus.Uploading ? 'k-cancel k-i-deny' : '', status !== UploadFileStatus_1.UploadFileStatus.Uploading ? 'k-delete k-i-x' : '');
122
+ var actionButtonClassNames = (0, kendo_vue_common_1.classNames)('k-icon', status === UploadFileStatus_1.UploadFileStatus.Uploading ? 'k-cancel k-i-deny' : '', status !== UploadFileStatus_1.UploadFileStatus.Uploading ? 'k-delete k-i-x' : '');
123
123
  var isRetryVisible = status === UploadFileStatus_1.UploadFileStatus.UploadFailed;
124
124
  var isProgressVisible = status === UploadFileStatus_1.UploadFileStatus.Uploading;
125
125
  var isActionHidden = (status === UploadFileStatus_1.UploadFileStatus.Uploaded || status === UploadFileStatus_1.UploadFileStatus.Initial) && !this.$props.async.removeUrl;
126
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
126
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
127
127
  var percent = '%';
128
128
  return h("strong", {
129
129
  "class": 'k-upload-status'
@@ -89,7 +89,7 @@ var UploadListGroupVue2 = {
89
89
  list = _a.list;
90
90
  var firstFile = files[0];
91
91
  var isFileSuccess = firstFile.status === UploadFileStatus_1.UploadFileStatus.Uploaded || firstFile.status === UploadFileStatus_1.UploadFileStatus.Initial;
92
- var liClassName = kendo_vue_common_1.classNames('k-file', utils_1.default.filesHaveValidationErrors(files) ? 'k-file-invalid' : '', firstFile.status === UploadFileStatus_1.UploadFileStatus.UploadFailed || firstFile.status === UploadFileStatus_1.UploadFileStatus.RemoveFailed ? 'k-file-error' : '', firstFile.status === UploadFileStatus_1.UploadFileStatus.Uploading ? 'k-file-progress' : '', isFileSuccess ? 'k-file-success' : '', navigationIndex === index ? 'k-focus' : '');
92
+ var liClassName = (0, kendo_vue_common_1.classNames)('k-file', utils_1.default.filesHaveValidationErrors(files) ? 'k-file-invalid' : '', firstFile.status === UploadFileStatus_1.UploadFileStatus.UploadFailed || firstFile.status === UploadFileStatus_1.UploadFileStatus.RemoveFailed ? 'k-file-error' : '', firstFile.status === UploadFileStatus_1.UploadFileStatus.Uploading ? 'k-file-progress' : '', isFileSuccess ? 'k-file-success' : '', navigationIndex === index ? 'k-focus' : '');
93
93
  var itemComponent;
94
94
  var defaultItemRendering = files.length === 1 ? // @ts-ignore
95
95
  h(UploadListSingleItem_1.UploadListSingleItem, {
@@ -140,7 +140,7 @@ var UploadListGroupVue2 = {
140
140
  }
141
141
  });
142
142
  return h("li", {
143
- ref: kendo_vue_common_1.setRef(this, 'element'),
143
+ ref: (0, kendo_vue_common_1.setRef)(this, 'element'),
144
144
  "class": liClassName,
145
145
  "data-uid": firstFile.uid,
146
146
  attrs: this.v3 ? undefined : {
@@ -56,11 +56,11 @@ var UploadListMultiItemVue2 = {
56
56
  this.$emit('cancel', uid);
57
57
  },
58
58
  getFileValidationMessage: function getFileValidationMessage(file) {
59
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
59
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
60
60
  var validationMessage = '';
61
61
 
62
62
  if (file.validationErrors && file.validationErrors.length > 0) {
63
- var messageKey = "upload." + file.validationErrors[0];
63
+ var messageKey = "upload.".concat(file.validationErrors[0]);
64
64
  validationMessage = localizationService.toLanguageString(messageKey, messages_1.messages[messageKey]);
65
65
  }
66
66
 
@@ -90,14 +90,14 @@ var UploadListMultiItemVue2 = {
90
90
  files = _a.files,
91
91
  disabled = _a.disabled,
92
92
  async = _a.async;
93
- var itemClassName = kendo_vue_common_1.classNames('k-file-multiple');
93
+ var itemClassName = (0, kendo_vue_common_1.classNames)('k-file-multiple');
94
94
 
95
95
  var _b = utils_1.default.getFileStatus(files),
96
96
  isUploaded = _b[1],
97
97
  isUploadFailed = _b[2],
98
98
  isUploadValidationFailed = _b[3];
99
99
 
100
- var localizationService = kendo_vue_intl_1.provideLocalizationService(this);
100
+ var localizationService = (0, kendo_vue_intl_1.provideLocalizationService)(this);
101
101
  var totalMessage = localizationService.toLanguageString(messages_1.total, messages_1.messages[messages_1.total]);
102
102
  var filesMessage = localizationService.toLanguageString(messages_1.files, messages_1.messages[messages_1.files]);
103
103
  var uploadFailedMessage = localizationService.toLanguageString(messages_1.statusUploadFailed, messages_1.messages[messages_1.statusUploadFailed]);
@@ -119,7 +119,7 @@ var UploadListMultiItemVue2 = {
119
119
  }, [file.name]), utils_1.default.fileHasValidationErrors(file) ? h("span", {
120
120
  "class": 'k-file-validation-message k-text-error'
121
121
  }, [this.getFileValidationMessage(file)]) : h("span", {
122
- key: file.name + "-size",
122
+ key: "".concat(file.name, "-size"),
123
123
  "class": 'k-file-size'
124
124
  }, [utils_1.default.getTotalFilesSizeMessage([file])])]);
125
125
  }, this);
@@ -146,11 +146,11 @@ var UploadListMultiItemVue2 = {
146
146
  "class": "k-multiple-files-wrapper"
147
147
  }, [mapFiles.call(this), !isUploadFailed ? progress !== 100 ? h("span", {
148
148
  "class": 'k-file-information'
149
- }, [totalMessage + ": " + files.length + " " + filesMessage + ", " + utils_1.default.getTotalFilesSizeMessage(files)]) : h("span", {
149
+ }, ["".concat(totalMessage, ": ").concat(files.length, " ").concat(filesMessage, ", ").concat(utils_1.default.getTotalFilesSizeMessage(files))]) : h("span", {
150
150
  "class": 'k-file-information k-text-success'
151
- }, [files.length + " " + successMessage]) : h("span", {
151
+ }, ["".concat(files.length, " ").concat(successMessage)]) : h("span", {
152
152
  "class": 'k-file-validation-message k-text-error'
153
- }, [files.length + " " + uploadFailedMessage])]), // @ts-ignore function children
153
+ }, ["".concat(files.length, " ").concat(uploadFailedMessage)])]), // @ts-ignore function children
154
154
  h(UploadListActionButton_1.UploadListActionButton, {
155
155
  uid: files[0].uid,
156
156
  attrs: this.v3 ? undefined : {