@aquera/nile-elements 0.1.37 → 0.1.38-beta-1.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.
- package/README.md +9 -0
- package/demo/index.html +9 -9
- package/dist/{fixture-372df3b0.esm.js → fixture-add72f26.esm.js} +1 -1
- package/dist/{fixture-161dee0b.cjs.js → fixture-cb376a7f.cjs.js} +3 -3
- package/dist/fixture-cb376a7f.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/lit-html-39a6718c.esm.js +6 -0
- package/dist/lit-html-9b3af046.cjs.js +6 -0
- package/dist/lit-html-9b3af046.cjs.js.map +1 -0
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/index.cjs.js +2 -0
- package/dist/nile-file-preview/index.cjs.js.map +1 -0
- package/dist/nile-file-preview/index.esm.js +1 -0
- package/dist/nile-file-preview/nile-file-preview.cjs.js +2 -0
- package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -0
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js +2 -0
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -0
- package/dist/nile-file-preview/nile-file-preview.css.esm.js +510 -0
- package/dist/nile-file-preview/nile-file-preview.esm.js +3 -0
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js +2 -0
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -0
- package/dist/nile-file-preview/nile-file-preview.template.esm.js +179 -0
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +2 -0
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +1 -0
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -0
- package/dist/nile-file-preview/types/index.cjs.js +2 -0
- package/dist/nile-file-preview/types/index.cjs.js.map +1 -0
- package/dist/nile-file-preview/types/index.esm.js +1 -0
- package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +2 -0
- package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +1 -0
- package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +1 -0
- package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js +2 -0
- package/dist/nile-file-preview/types/nile-file-preview.interface.cjs.js.map +1 -0
- package/dist/nile-file-preview/types/nile-file-preview.interface.esm.js +1 -0
- package/dist/nile-file-preview/utils/index.cjs.js +2 -0
- package/dist/nile-file-preview/utils/index.cjs.js.map +1 -0
- package/dist/nile-file-preview/utils/index.esm.js +1 -0
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +2 -0
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -0
- package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -0
- package/dist/nile-file-upload/index.cjs.js +2 -0
- package/dist/nile-file-upload/index.cjs.js.map +1 -0
- package/dist/nile-file-upload/index.esm.js +1 -0
- package/dist/nile-file-upload/nile-file-upload.cjs.js +2 -0
- package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -0
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js +2 -0
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -0
- package/dist/nile-file-upload/nile-file-upload.css.esm.js +536 -0
- package/dist/nile-file-upload/nile-file-upload.esm.js +3 -0
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +10 -0
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -0
- package/dist/nile-file-upload/nile-file-upload.template.esm.js +163 -0
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +2 -0
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +1 -0
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -0
- package/dist/nile-file-upload/types/file-upload.enums.cjs.js +2 -0
- package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +1 -0
- package/dist/nile-file-upload/types/file-upload.enums.esm.js +1 -0
- package/dist/nile-file-upload/types/file-upload.type.cjs.js +2 -0
- package/dist/nile-file-upload/types/file-upload.type.cjs.js.map +1 -0
- package/dist/nile-file-upload/types/file-upload.type.esm.js +1 -0
- package/dist/nile-file-upload/types/index.cjs.js +2 -0
- package/dist/nile-file-upload/types/index.cjs.js.map +1 -0
- package/dist/nile-file-upload/types/index.esm.js +1 -0
- package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +2 -0
- package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +1 -0
- package/dist/nile-file-upload/utils/drag-drop.util.esm.js +1 -0
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -0
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -0
- package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -0
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-popover/index.cjs.js +1 -1
- package/dist/nile-popover/index.esm.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +3 -11
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.esm.js +7 -13
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +3 -3
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-file-preview/index.d.ts +1 -0
- package/dist/src/nile-file-preview/index.js +2 -0
- package/dist/src/nile-file-preview/index.js.map +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.css.d.ts +12 -0
- package/dist/src/nile-file-preview/nile-file-preview.css.js +522 -0
- package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.d.ts +50 -0
- package/dist/src/nile-file-preview/nile-file-preview.js +171 -0
- package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +13 -0
- package/dist/src/nile-file-preview/nile-file-preview.template.js +210 -0
- package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.test.d.ts +7 -0
- package/dist/src/nile-file-preview/nile-file-preview.test.js +30 -0
- package/dist/src/nile-file-preview/nile-file-preview.test.js.map +1 -0
- package/dist/src/nile-file-preview/types/file-preview.enums.d.ts +23 -0
- package/dist/src/nile-file-preview/types/file-preview.enums.js +28 -0
- package/dist/src/nile-file-preview/types/file-preview.enums.js.map +1 -0
- package/dist/src/nile-file-preview/types/file-preview.interface.d.ts +4 -0
- package/dist/src/nile-file-preview/types/file-preview.interface.js +2 -0
- package/dist/src/nile-file-preview/types/file-preview.interface.js.map +1 -0
- package/dist/src/nile-file-preview/types/index.d.ts +2 -0
- package/dist/src/nile-file-preview/types/index.js +3 -0
- package/dist/src/nile-file-preview/types/index.js.map +1 -0
- package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +28 -0
- package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +33 -0
- package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -0
- package/dist/src/nile-file-preview/types/nile-file-preview.interface.d.ts +4 -0
- package/dist/src/nile-file-preview/types/nile-file-preview.interface.js +2 -0
- package/dist/src/nile-file-preview/types/nile-file-preview.interface.js.map +1 -0
- package/dist/src/nile-file-preview/utils/file-preview.util.d.ts +3 -0
- package/dist/src/nile-file-preview/utils/file-preview.util.js +29 -0
- package/dist/src/nile-file-preview/utils/file-preview.util.js.map +1 -0
- package/dist/src/nile-file-preview/utils/index.d.ts +1 -0
- package/dist/src/nile-file-preview/utils/index.js +2 -0
- package/dist/src/nile-file-preview/utils/index.js.map +1 -0
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +4 -0
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +38 -0
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -0
- package/dist/src/nile-file-upload/index.d.ts +1 -0
- package/dist/src/nile-file-upload/index.js +2 -0
- package/dist/src/nile-file-upload/index.js.map +1 -0
- package/dist/src/nile-file-upload/nile-file-upload.css.d.ts +12 -0
- package/dist/src/nile-file-upload/nile-file-upload.css.js +548 -0
- package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -0
- package/dist/src/nile-file-upload/nile-file-upload.d.ts +48 -0
- package/dist/src/nile-file-upload/nile-file-upload.js +165 -0
- package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -0
- package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +11 -0
- package/dist/src/nile-file-upload/nile-file-upload.template.js +171 -0
- package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -0
- package/dist/src/nile-file-upload/nile-file-upload.test.d.ts +7 -0
- package/dist/src/nile-file-upload/nile-file-upload.test.js +30 -0
- package/dist/src/nile-file-upload/nile-file-upload.test.js.map +1 -0
- package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +35 -0
- package/dist/src/nile-file-upload/types/file-upload.enums.js +42 -0
- package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -0
- package/dist/src/nile-file-upload/types/file-upload.type.d.ts +4 -0
- package/dist/src/nile-file-upload/types/file-upload.type.js +2 -0
- package/dist/src/nile-file-upload/types/file-upload.type.js.map +1 -0
- package/dist/src/nile-file-upload/types/index.d.ts +2 -0
- package/dist/src/nile-file-upload/types/index.js +3 -0
- package/dist/src/nile-file-upload/types/index.js.map +1 -0
- package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +23 -0
- package/dist/src/nile-file-upload/utils/drag-drop.util.js +85 -0
- package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +11 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.js +120 -0
- package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -0
- package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +18 -0
- package/dist/src/nile-tooltip/nile-tooltip-utils.js +216 -0
- package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.js +148 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +3 -1
- package/src/nile-file-preview/index.ts +1 -0
- package/src/nile-file-preview/nile-file-preview.css.ts +524 -0
- package/src/nile-file-preview/nile-file-preview.template.ts +248 -0
- package/src/nile-file-preview/nile-file-preview.test.ts +38 -0
- package/src/nile-file-preview/nile-file-preview.ts +173 -0
- package/src/nile-file-preview/types/index.ts +2 -0
- package/src/nile-file-preview/types/nile-file-preview.enums.ts +31 -0
- package/src/nile-file-preview/types/nile-file-preview.interface.ts +4 -0
- package/src/nile-file-preview/utils/index.ts +1 -0
- package/src/nile-file-preview/utils/nile-file-preview.util.ts +47 -0
- package/src/nile-file-upload/index.ts +1 -0
- package/src/nile-file-upload/nile-file-upload.css.ts +550 -0
- package/src/nile-file-upload/nile-file-upload.template.ts +201 -0
- package/src/nile-file-upload/nile-file-upload.test.ts +38 -0
- package/src/nile-file-upload/nile-file-upload.ts +149 -0
- package/src/nile-file-upload/types/file-upload.enums.ts +39 -0
- package/src/nile-file-upload/types/file-upload.type.ts +5 -0
- package/src/nile-file-upload/types/index.ts +2 -0
- package/src/nile-file-upload/utils/drag-drop.util.ts +106 -0
- package/src/nile-file-upload/utils/file-validation.util.ts +163 -0
- package/vscode-html-custom-data.json +143 -0
- package/dist/fixture-161dee0b.cjs.js.map +0 -1
@@ -0,0 +1,163 @@
|
|
1
|
+
import { DragHandler } from "./drag-drop.util";
|
2
|
+
import { FileUploadState, FileUploadError, FileUploadEvent } from "../types";
|
3
|
+
import { NileFileUpload } from "../nile-file-upload";
|
4
|
+
|
5
|
+
// write a function to check for duplicatse in the files name it as areDuplicates
|
6
|
+
export const areDuplicates = (files: File[], uploadedFiles: File[]): boolean => {
|
7
|
+
return files.some(file =>
|
8
|
+
uploadedFiles.some(existing =>
|
9
|
+
file.name === existing.name &&
|
10
|
+
file.size === existing.size &&
|
11
|
+
file.lastModified === existing.lastModified
|
12
|
+
)
|
13
|
+
);
|
14
|
+
};
|
15
|
+
|
16
|
+
// set up the drag handler
|
17
|
+
export const setUpDragHandler = (
|
18
|
+
nileFileUpload: NileFileUpload,
|
19
|
+
dragHandler: DragHandler
|
20
|
+
): void => {
|
21
|
+
dragHandler.onStateChange((newState: FileUploadState) => {
|
22
|
+
nileFileUpload.state = newState;
|
23
|
+
});
|
24
|
+
|
25
|
+
dragHandler.onFileDrop((files: File[]) => {
|
26
|
+
let { allowMultiple, uploadedFiles, errorMessage, requestUpdate } = nileFileUpload;
|
27
|
+
|
28
|
+
if (!allowMultiple) {
|
29
|
+
const total = uploadedFiles.length + files.length;
|
30
|
+
if (total > 1) {
|
31
|
+
errorMessage = FileUploadError.MULTIPLE_NOT_ALLOWED;
|
32
|
+
requestUpdate();
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
let newFiles = files;
|
38
|
+
|
39
|
+
if (!nileFileUpload.allowDuplicates) {
|
40
|
+
newFiles = files.filter(file =>
|
41
|
+
!nileFileUpload.uploadedFiles.some(
|
42
|
+
uploaded =>
|
43
|
+
uploaded.name === file.name &&
|
44
|
+
uploaded.size === file.size &&
|
45
|
+
uploaded.type === file.type
|
46
|
+
)
|
47
|
+
);
|
48
|
+
|
49
|
+
if (newFiles.length === 0) {
|
50
|
+
nileFileUpload.errorMessage = FileUploadError.DUPLICATES_NOT_ALLOWED;
|
51
|
+
nileFileUpload.requestUpdate();
|
52
|
+
return;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
nileFileUpload.uploadedFiles = [...nileFileUpload.uploadedFiles, ...newFiles];
|
57
|
+
nileFileUpload.requestUpdate();
|
58
|
+
});
|
59
|
+
|
60
|
+
dragHandler.setErrorMessage((errorMessage: string) => {
|
61
|
+
nileFileUpload.errorMessage = errorMessage;
|
62
|
+
});
|
63
|
+
};
|
64
|
+
|
65
|
+
|
66
|
+
// global listenrers
|
67
|
+
export const addGlobalListeners = (dragHandler: DragHandler): void => {
|
68
|
+
document.addEventListener('dragover', dragHandler.preventDragOver, { passive: false });
|
69
|
+
document.addEventListener('drop', dragHandler.preventDrop, { passive: false });
|
70
|
+
}
|
71
|
+
|
72
|
+
// for hover & dragging functionality
|
73
|
+
export const addInternalListeners = (nileFileUpload: NileFileUpload, dragHandler: DragHandler, uploadRequests: any): void => {
|
74
|
+
nileFileUpload.addEventListener('mouseenter', (e) => handleHoverIn(nileFileUpload.setState, nileFileUpload.state));
|
75
|
+
nileFileUpload.addEventListener('mouseleave', (e) => handleHoverOut(nileFileUpload.setState, nileFileUpload.state));
|
76
|
+
nileFileUpload.addEventListener('dragenter', (e) => dragHandler.dragEnter(e));
|
77
|
+
nileFileUpload.addEventListener('dragleave', (e) => dragHandler.dragLeave(e));
|
78
|
+
nileFileUpload.addEventListener('dragover', (e) => dragHandler.dragOver(e));
|
79
|
+
nileFileUpload.addEventListener('drop', (e) => dragHandler.drop(e));
|
80
|
+
|
81
|
+
cancelFileUpload(nileFileUpload, uploadRequests);
|
82
|
+
}
|
83
|
+
|
84
|
+
export function handleHoverIn(
|
85
|
+
setState: (state: FileUploadState) => void,
|
86
|
+
currentState: FileUploadState
|
87
|
+
): void {
|
88
|
+
if (currentState === FileUploadState.DEFAULT) {
|
89
|
+
setState(FileUploadState.HOVER);
|
90
|
+
}
|
91
|
+
}
|
92
|
+
|
93
|
+
export function handleHoverOut(
|
94
|
+
setState: (state: FileUploadState) => void,
|
95
|
+
currentState: FileUploadState
|
96
|
+
): void {
|
97
|
+
if (currentState === FileUploadState.HOVER) {
|
98
|
+
setState(FileUploadState.DEFAULT);
|
99
|
+
}
|
100
|
+
}
|
101
|
+
|
102
|
+
export function uploadFiles(nileFileUpload: NileFileUpload) {
|
103
|
+
const { uploadedFiles, fileUploadUrl, uploadRequests } = nileFileUpload;
|
104
|
+
if (!fileUploadUrl || !uploadedFiles?.length) return;
|
105
|
+
|
106
|
+
for (const file of uploadedFiles) {
|
107
|
+
const formData = new FormData();
|
108
|
+
formData.append('file', file);
|
109
|
+
|
110
|
+
const xhr = new XMLHttpRequest();
|
111
|
+
uploadRequests.set(file, xhr);
|
112
|
+
|
113
|
+
xhr.upload.onprogress = (e) => {
|
114
|
+
const percent = Math.floor((e.loaded / e.total) * 100);
|
115
|
+
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_PROGRESS, {
|
116
|
+
detail: { file, progress: percent }
|
117
|
+
}));
|
118
|
+
};
|
119
|
+
|
120
|
+
xhr.onload = () => {
|
121
|
+
uploadRequests.delete(file);
|
122
|
+
if (xhr.status === 201) {
|
123
|
+
// Remove the successfully uploaded file
|
124
|
+
nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(f => f !== file);
|
125
|
+
|
126
|
+
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_SUCCESS, {
|
127
|
+
detail: { file, response: xhr.response }
|
128
|
+
}));
|
129
|
+
} else {
|
130
|
+
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.SERVER_SIDE_ERROR, {
|
131
|
+
detail: { file, status: xhr.status, response: xhr.response }
|
132
|
+
}));
|
133
|
+
}
|
134
|
+
};
|
135
|
+
|
136
|
+
xhr.onerror = () => {
|
137
|
+
uploadRequests.delete(file);
|
138
|
+
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_NETWORK_ERROR, {
|
139
|
+
detail: { file, status: xhr.status, response: xhr.response }
|
140
|
+
}));
|
141
|
+
};
|
142
|
+
|
143
|
+
xhr.open('POST', fileUploadUrl);
|
144
|
+
xhr.send(formData);
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
export const cancelFileUpload = (nileFileUpload: NileFileUpload, uploadRequests: Map<File, XMLHttpRequest>) => {
|
149
|
+
document.addEventListener(FileUploadEvent.NILE_CANCEL_UPLOAD, (e: CustomEvent) => {
|
150
|
+
const fileToCancel = e.detail.file;
|
151
|
+
const xhr = uploadRequests.get(fileToCancel);
|
152
|
+
|
153
|
+
if (xhr) {
|
154
|
+
xhr.abort();
|
155
|
+
}
|
156
|
+
uploadRequests.delete(fileToCancel);
|
157
|
+
nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(file => file !== fileToCancel);
|
158
|
+
|
159
|
+
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_CANCELLED, {
|
160
|
+
detail: { file: fileToCancel }
|
161
|
+
}));
|
162
|
+
});
|
163
|
+
};
|
@@ -1393,6 +1393,149 @@
|
|
1393
1393
|
}
|
1394
1394
|
]
|
1395
1395
|
},
|
1396
|
+
{
|
1397
|
+
"name": "nile-file-preview",
|
1398
|
+
"description": "Nile preview component.\n\nAttributes:\n\n * `errorMessage` {`string`} - \n\n * `inputFile` {`File`} - \n\n * `fileUrl` {`string`} - \n\n * `uploadStatus` {`number`} - \n\n * `allowedTypes` {`string[]`} - \n\n * `state` {`FilePreviewState`} - \n\n * `variant` {`FilePreviewVariant`} - \n\n * `inputFileName` {`string`} - \n\nProperties:\n\n * `errorMessage` {`string`} - \n\n * `inputFile` {`File`} - \n\n * `fileUrl` {`string`} - \n\n * `uploadStatus` {`number`} - \n\n * `allowedTypes` {`string[]`} - \n\n * `state` {`FilePreviewState`} - \n\n * `variant` {`FilePreviewVariant`} - \n\n * `inputFileName` {`string`} - \n\n * `inputFileHtml` {`UncompiledTemplateResult<ResultType> | null`} - \n\n * `originalUrl` {`string`} - \n\n * `dummyFile` {`File`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
1399
|
+
"attributes": [
|
1400
|
+
{
|
1401
|
+
"name": "errorMessage",
|
1402
|
+
"description": "`errorMessage` {`string`} - \n\nProperty: errorMessage\n\nDefault: "
|
1403
|
+
},
|
1404
|
+
{
|
1405
|
+
"name": "inputFile",
|
1406
|
+
"description": "`inputFile` {`File`} - \n\nProperty: inputFile"
|
1407
|
+
},
|
1408
|
+
{
|
1409
|
+
"name": "fileUrl",
|
1410
|
+
"description": "`fileUrl` {`string`} - \n\nProperty: fileUrl\n\nDefault: "
|
1411
|
+
},
|
1412
|
+
{
|
1413
|
+
"name": "uploadStatus",
|
1414
|
+
"description": "`uploadStatus` {`number`} - \n\nProperty: uploadStatus\n\nDefault: 0"
|
1415
|
+
},
|
1416
|
+
{
|
1417
|
+
"name": "allowedTypes",
|
1418
|
+
"description": "`allowedTypes` {`string[]`} - \n\nProperty: allowedTypes\n\nDefault: "
|
1419
|
+
},
|
1420
|
+
{
|
1421
|
+
"name": "state",
|
1422
|
+
"description": "`state` {`FilePreviewState`} - \n\nProperty: state\n\nDefault: default",
|
1423
|
+
"values": [
|
1424
|
+
{
|
1425
|
+
"name": "default"
|
1426
|
+
},
|
1427
|
+
{
|
1428
|
+
"name": "uploading"
|
1429
|
+
},
|
1430
|
+
{
|
1431
|
+
"name": "preview"
|
1432
|
+
},
|
1433
|
+
{
|
1434
|
+
"name": "no-preview"
|
1435
|
+
},
|
1436
|
+
{
|
1437
|
+
"name": "error"
|
1438
|
+
}
|
1439
|
+
]
|
1440
|
+
},
|
1441
|
+
{
|
1442
|
+
"name": "variant",
|
1443
|
+
"description": "`variant` {`FilePreviewVariant`} - \n\nProperty: variant\n\nDefault: horizontal",
|
1444
|
+
"values": [
|
1445
|
+
{
|
1446
|
+
"name": "horizontal"
|
1447
|
+
},
|
1448
|
+
{
|
1449
|
+
"name": "vertical"
|
1450
|
+
}
|
1451
|
+
]
|
1452
|
+
},
|
1453
|
+
{
|
1454
|
+
"name": "inputFileName",
|
1455
|
+
"description": "`inputFileName` {`string`} - \n\nProperty: inputFileName\n\nDefault: "
|
1456
|
+
}
|
1457
|
+
]
|
1458
|
+
},
|
1459
|
+
{
|
1460
|
+
"name": "nile-file-upload",
|
1461
|
+
"description": "Nile file-upload component.\n\nAttributes:\n\n * `size` {`number`} - \n\n * `error` {`boolean`} - \n\n * `errorMessage` {`string`} - \n\n * `allowMultiple` {`boolean`} - \n\n * `allowDuplicates` {`boolean`} - \n\n * `uploadedFiles` {`File[]`} - \n\n * `title` {`string`} - \n\n * `subtitle` {`string`} - \n\n * `state` {`FileUploadState`} - \n\n * `variant` {`FileUploadVariant`} - \n\n * `fileUploadUrl` {`string`} - \n\n * `autoUpload` {`boolean`} - \n\nProperties:\n\n * `size` {`number`} - \n\n * `error` {`boolean`} - \n\n * `errorMessage` {`string`} - \n\n * `allowMultiple` {`boolean`} - \n\n * `allowDuplicates` {`boolean`} - \n\n * `uploadedFiles` {`File[]`} - \n\n * `title` {`string`} - \n\n * `subtitle` {`string`} - \n\n * `state` {`FileUploadState`} - \n\n * `variant` {`FileUploadVariant`} - \n\n * `fileUploadUrl` {`string`} - \n\n * `autoUpload` {`boolean`} - \n\n * `input` {`HTMLInputElement`} - \n\n * `uploadRequests` {`Map<File, XMLHttpRequest>`} - \n\n * `dragHandler` - \n\n * `setState` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|
1462
|
+
"attributes": [
|
1463
|
+
{
|
1464
|
+
"name": "size",
|
1465
|
+
"description": "`size` {`number`} - \n\nProperty: size\n\nDefault: 0"
|
1466
|
+
},
|
1467
|
+
{
|
1468
|
+
"name": "error",
|
1469
|
+
"description": "`error` {`boolean`} - \n\nProperty: error\n\nDefault: false",
|
1470
|
+
"valueSet": "v"
|
1471
|
+
},
|
1472
|
+
{
|
1473
|
+
"name": "errorMessage",
|
1474
|
+
"description": "`errorMessage` {`string`} - \n\nProperty: errorMessage\n\nDefault: "
|
1475
|
+
},
|
1476
|
+
{
|
1477
|
+
"name": "allowMultiple",
|
1478
|
+
"description": "`allowMultiple` {`boolean`} - \n\nProperty: allowMultiple\n\nDefault: true",
|
1479
|
+
"valueSet": "v"
|
1480
|
+
},
|
1481
|
+
{
|
1482
|
+
"name": "allowDuplicates",
|
1483
|
+
"description": "`allowDuplicates` {`boolean`} - \n\nProperty: allowDuplicates\n\nDefault: false",
|
1484
|
+
"valueSet": "v"
|
1485
|
+
},
|
1486
|
+
{
|
1487
|
+
"name": "uploadedFiles",
|
1488
|
+
"description": "`uploadedFiles` {`File[]`} - \n\nProperty: uploadedFiles\n\nDefault: "
|
1489
|
+
},
|
1490
|
+
{
|
1491
|
+
"name": "title",
|
1492
|
+
"description": "`title` {`string`} - \n\nProperty: title\n\nDefault: Drag and drop to upload"
|
1493
|
+
},
|
1494
|
+
{
|
1495
|
+
"name": "subtitle",
|
1496
|
+
"description": "`subtitle` {`string`} - \n\nProperty: subtitle\n\nDefault: PNG, JPG or SVG (upto 1MB) | 1:1 ratio"
|
1497
|
+
},
|
1498
|
+
{
|
1499
|
+
"name": "state",
|
1500
|
+
"description": "`state` {`FileUploadState`} - \n\nProperty: state\n\nDefault: default",
|
1501
|
+
"values": [
|
1502
|
+
{
|
1503
|
+
"name": "default"
|
1504
|
+
},
|
1505
|
+
{
|
1506
|
+
"name": "disabled"
|
1507
|
+
},
|
1508
|
+
{
|
1509
|
+
"name": "hover"
|
1510
|
+
},
|
1511
|
+
{
|
1512
|
+
"name": "drag"
|
1513
|
+
}
|
1514
|
+
]
|
1515
|
+
},
|
1516
|
+
{
|
1517
|
+
"name": "variant",
|
1518
|
+
"description": "`variant` {`FileUploadVariant`} - \n\nProperty: variant\n\nDefault: horizontal",
|
1519
|
+
"values": [
|
1520
|
+
{
|
1521
|
+
"name": "horizontal"
|
1522
|
+
},
|
1523
|
+
{
|
1524
|
+
"name": "vertical"
|
1525
|
+
}
|
1526
|
+
]
|
1527
|
+
},
|
1528
|
+
{
|
1529
|
+
"name": "fileUploadUrl",
|
1530
|
+
"description": "`fileUploadUrl` {`string`} - \n\nProperty: fileUploadUrl\n\nDefault: "
|
1531
|
+
},
|
1532
|
+
{
|
1533
|
+
"name": "autoUpload",
|
1534
|
+
"description": "`autoUpload` {`boolean`} - \n\nProperty: autoUpload\n\nDefault: true",
|
1535
|
+
"valueSet": "v"
|
1536
|
+
}
|
1537
|
+
]
|
1538
|
+
},
|
1396
1539
|
{
|
1397
1540
|
"name": "nile-filter-chip",
|
1398
1541
|
"description": "Nile filter-chip component.\n\nEvents:\n\n * `nile-close` {`CustomEvent<{ value: string; viewMoreCount: number; }>`} - \n\n * `nile-click` {`CustomEvent<{ value: string; viewMoreCount: number; }>`} - \n\nAttributes:\n\n * `label` {`string`} - \n\n * `value` {`string`} - \n\n * `viewMoreCount` {`number`} - \n\n * `editable` {`boolean`} - \n\n * `closable` {`boolean`} - \n\n * `icon` {`string`} - \n\n * `removeIcon` {`string`} - \n\n * `active` {`boolean`} - \n\nProperties:\n\n * `label` {`string`} - \n\n * `value` {`string`} - \n\n * `viewMoreCount` {`number`} - \n\n * `editable` {`boolean`} - \n\n * `closable` {`boolean`} - \n\n * `icon` {`string`} - \n\n * `removeIcon` {`string`} - \n\n * `active` {`boolean`} - \n\n * `activeChips` {`NileFilterChip[]`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
|