@aquera/nile-elements 0.1.67-beta-1.9 → 0.1.67-beta-2.1
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 +1 -23
- package/demo/index.html +61 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +5640 -7857
- package/dist/internal/form.cjs.js +1 -1
- package/dist/internal/form.cjs.js.map +1 -1
- package/dist/internal/form.esm.js +1 -1
- package/dist/internal/resizable-table-styles.cjs.js +1 -1
- package/dist/internal/resizable-table-styles.cjs.js.map +1 -1
- package/dist/internal/resizable-table-styles.esm.js +3 -15
- 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/index.cjs.js +1 -1
- package/dist/nile-auto-complete/index.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +17 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +29 -8
- 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.cjs.js.map +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.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
- package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js.map +1 -1
- package/dist/nile-code-editor/theme.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-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-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +3 -3
- 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 +11 -3
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.esm.js +13 -7
- 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/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +9 -9
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +2 -2
- 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-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +6 -2
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +4 -2
- package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.css.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.css.esm.js +51 -0
- package/dist/nile-table-row/nile-table-row.esm.js +26 -6
- 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 +0 -4
- package/dist/src/index.js +0 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/form.js +3 -3
- package/dist/src/internal/form.js.map +1 -1
- package/dist/src/internal/resizable-table-styles.js +0 -12
- package/dist/src/internal/resizable-table-styles.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.js +1 -10
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +0 -3
- package/dist/src/nile-code-editor/nile-code-editor.js +3 -23
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme.d.ts +0 -6
- package/dist/src/nile-code-editor/theme.js +2 -8
- package/dist/src/nile-code-editor/theme.js.map +1 -1
- package/dist/src/nile-option/nile-option.d.ts +1 -4
- package/dist/src/nile-option/nile-option.js +15 -27
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +3 -20
- package/dist/src/nile-select/nile-select.js +22 -123
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +4 -0
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js +2 -0
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
- package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +37 -0
- package/dist/src/nile-table-row/nile-table-row-expandable.js +105 -0
- package/dist/src/nile-table-row/nile-table-row-expandable.js.map +1 -0
- package/dist/src/nile-table-row/nile-table-row.css.js +51 -0
- package/dist/src/nile-table-row/nile-table-row.css.js.map +1 -1
- package/dist/src/nile-table-row/nile-table-row.d.ts +4 -0
- package/dist/src/nile-table-row/nile-table-row.js +58 -11
- package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
- package/dist/src/nile-table-row-expandable/index.d.ts +1 -0
- package/dist/src/nile-table-row-expandable/index.js +2 -0
- package/dist/src/nile-table-row-expandable/index.js.map +1 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +12 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +17 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +1 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +37 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +103 -0
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
- package/src/index.ts +1 -5
- package/src/internal/form.ts +3 -3
- package/src/internal/resizable-table-styles.ts +0 -12
- package/src/nile-chip/nile-chip.ts +1 -9
- package/src/nile-code-editor/nile-code-editor.ts +4 -25
- package/src/nile-code-editor/theme.ts +2 -8
- package/src/nile-option/nile-option.ts +12 -22
- package/src/nile-select/nile-select.ts +15 -139
- package/src/nile-table-cell-item/nile-table-cell-item.css.ts +4 -0
- package/src/nile-table-header-item/nile-table-header-item.css.ts +2 -0
- package/src/nile-table-row/nile-table-row.css.ts +51 -0
- package/src/nile-table-row/nile-table-row.ts +50 -7
- package/vscode-html-custom-data.json +23 -400
- package/src/nile-file-preview/index.ts +0 -1
- package/src/nile-file-preview/nile-file-preview.css.ts +0 -589
- package/src/nile-file-preview/nile-file-preview.template.ts +0 -259
- package/src/nile-file-preview/nile-file-preview.test.ts +0 -38
- package/src/nile-file-preview/nile-file-preview.ts +0 -205
- package/src/nile-file-preview/types/index.ts +0 -2
- package/src/nile-file-preview/types/nile-file-preview.enums.ts +0 -32
- package/src/nile-file-preview/types/nile-file-preview.interface.ts +0 -4
- package/src/nile-file-preview/utils/index.ts +0 -1
- package/src/nile-file-preview/utils/nile-file-preview.util.ts +0 -72
- package/src/nile-file-upload/index.ts +0 -1
- package/src/nile-file-upload/nile-file-upload.css.ts +0 -624
- package/src/nile-file-upload/nile-file-upload.template.ts +0 -217
- package/src/nile-file-upload/nile-file-upload.test.ts +0 -38
- package/src/nile-file-upload/nile-file-upload.ts +0 -161
- package/src/nile-file-upload/types/file-upload.enums.ts +0 -46
- package/src/nile-file-upload/types/file-upload.type.ts +0 -5
- package/src/nile-file-upload/types/index.ts +0 -2
- package/src/nile-file-upload/utils/drag-drop.util.ts +0 -106
- package/src/nile-file-upload/utils/file-validation.util.ts +0 -216
- package/src/nile-option-group/index.ts +0 -1
- package/src/nile-option-group/nile-option-group.css.ts +0 -60
- package/src/nile-option-group/nile-option-group.interface.ts +0 -24
- package/src/nile-option-group/nile-option-group.ts +0 -84
- package/src/nile-select/nile-select.interface.ts +0 -5
- package/src/nile-select/virtual-scroll-helper.ts +0 -56
- package/src/nile-virtual-select/index.ts +0 -1
- package/src/nile-virtual-select/nile-virtual-select.css.ts +0 -491
- package/src/nile-virtual-select/nile-virtual-select.test.ts +0 -774
- package/src/nile-virtual-select/nile-virtual-select.ts +0 -1314
- package/src/nile-virtual-select/renderer.ts +0 -102
- package/src/nile-virtual-select/search-manager.ts +0 -50
- package/src/nile-virtual-select/selection-manager.ts +0 -75
- package/src/nile-virtual-select/types.ts +0 -54
@@ -1,216 +0,0 @@
|
|
1
|
-
import { DragHandler } from "./drag-drop.util";
|
2
|
-
import { FileUploadState, FileUploadError, FileUploadEvent } from "../types";
|
3
|
-
import { NileFileUpload } from "../nile-file-upload";
|
4
|
-
import { RemoveFileDetail } from "../../nile-file-preview/types";
|
5
|
-
|
6
|
-
export const setUpDragHandler = (
|
7
|
-
nileFileUpload: NileFileUpload,
|
8
|
-
dragHandler: DragHandler,
|
9
|
-
): void => {
|
10
|
-
dragHandler.onStateChange((newState: FileUploadState) => {
|
11
|
-
nileFileUpload.state = newState;
|
12
|
-
});
|
13
|
-
|
14
|
-
dragHandler.onFileDrop((files: File[]) => {
|
15
|
-
const maxSize = parseSize(nileFileUpload.size);
|
16
|
-
const uploadedFiles = nileFileUpload.uploadedFiles;
|
17
|
-
|
18
|
-
if (!nileFileUpload.allowMultiple && (uploadedFiles.length + files.length > 1)) {
|
19
|
-
nileFileUpload.errorMessage = FileUploadError.MULTIPLE_NOT_ALLOWED;
|
20
|
-
console.error(nileFileUpload.errorMessage);
|
21
|
-
nileFileUpload.requestUpdate();
|
22
|
-
return;
|
23
|
-
}
|
24
|
-
|
25
|
-
let sizeExceeded = false;
|
26
|
-
let duplicatesFound = false;
|
27
|
-
const newFiles: File[] = [];
|
28
|
-
const rejectedFiles: File[] = [];
|
29
|
-
|
30
|
-
for (const file of files) {
|
31
|
-
if (file.size > maxSize) {
|
32
|
-
sizeExceeded = true;
|
33
|
-
rejectedFiles.push(file);
|
34
|
-
continue;
|
35
|
-
}
|
36
|
-
|
37
|
-
if (
|
38
|
-
!nileFileUpload.allowDuplicates &&
|
39
|
-
uploadedFiles.some(
|
40
|
-
(uploaded) =>
|
41
|
-
uploaded.name === file.name &&
|
42
|
-
uploaded.size === file.size &&
|
43
|
-
uploaded.type === file.type
|
44
|
-
)
|
45
|
-
) {
|
46
|
-
duplicatesFound = true;
|
47
|
-
rejectedFiles.push(file);
|
48
|
-
continue;
|
49
|
-
}
|
50
|
-
|
51
|
-
if(!rejectedFiles.includes(file)) {
|
52
|
-
newFiles.push(file);
|
53
|
-
}
|
54
|
-
}
|
55
|
-
|
56
|
-
if (sizeExceeded) {
|
57
|
-
nileFileUpload.errorMessage = FileUploadError.SIZE_LIMIT_EXCEEDED;
|
58
|
-
console.error(nileFileUpload.errorMessage);
|
59
|
-
nileFileUpload.requestUpdate();
|
60
|
-
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_SIZE_EXCEED_FILES, {
|
61
|
-
detail: { files: rejectedFiles }
|
62
|
-
}));
|
63
|
-
}
|
64
|
-
|
65
|
-
if (duplicatesFound && newFiles.length === 0) {
|
66
|
-
nileFileUpload.errorMessage = FileUploadError.DUPLICATES_NOT_ALLOWED;
|
67
|
-
console.error(nileFileUpload.errorMessage);
|
68
|
-
nileFileUpload.requestUpdate();
|
69
|
-
}
|
70
|
-
|
71
|
-
nileFileUpload.uploadedFiles = [...uploadedFiles, ...newFiles];
|
72
|
-
nileFileUpload.requestUpdate();
|
73
|
-
});
|
74
|
-
|
75
|
-
|
76
|
-
dragHandler.setErrorMessage((errorMessage: string) => {
|
77
|
-
console.error(nileFileUpload.errorMessage);
|
78
|
-
nileFileUpload.errorMessage = errorMessage;
|
79
|
-
});
|
80
|
-
};
|
81
|
-
|
82
|
-
export const addGlobalListeners = (dragHandler: DragHandler): void => {
|
83
|
-
document.addEventListener('dragover', dragHandler.preventDragOver, { passive: false });
|
84
|
-
document.addEventListener('drop', dragHandler.preventDrop, { passive: false });
|
85
|
-
}
|
86
|
-
|
87
|
-
export const addInternalListeners = (nileFileUpload: NileFileUpload, dragHandler: DragHandler, uploadRequests: any): void => {
|
88
|
-
nileFileUpload.addEventListener('mouseenter', (e) => handleHoverIn(nileFileUpload.setState, nileFileUpload.state));
|
89
|
-
nileFileUpload.addEventListener('mouseleave', (e) => handleHoverOut(nileFileUpload.setState, nileFileUpload.state));
|
90
|
-
nileFileUpload.addEventListener('dragenter', (e) => dragHandler.dragEnter(e));
|
91
|
-
nileFileUpload.addEventListener('dragleave', (e) => dragHandler.dragLeave(e));
|
92
|
-
nileFileUpload.addEventListener('dragover', (e) => dragHandler.dragOver(e));
|
93
|
-
nileFileUpload.addEventListener('drop', (e) => dragHandler.drop(e));
|
94
|
-
|
95
|
-
cancelFileUpload(nileFileUpload, uploadRequests);
|
96
|
-
removeFile(nileFileUpload.uploadedFiles, nileFileUpload);
|
97
|
-
}
|
98
|
-
|
99
|
-
export function handleHoverIn(
|
100
|
-
setState: (state: FileUploadState) => void,
|
101
|
-
currentState: FileUploadState
|
102
|
-
): void {
|
103
|
-
if (currentState === FileUploadState.DEFAULT) {
|
104
|
-
setState(FileUploadState.HOVER);
|
105
|
-
}
|
106
|
-
}
|
107
|
-
|
108
|
-
export function handleHoverOut(
|
109
|
-
setState: (state: FileUploadState) => void,
|
110
|
-
currentState: FileUploadState
|
111
|
-
): void {
|
112
|
-
if (currentState === FileUploadState.HOVER) {
|
113
|
-
setState(FileUploadState.DEFAULT);
|
114
|
-
}
|
115
|
-
}
|
116
|
-
|
117
|
-
export function uploadFiles(nileFileUpload: NileFileUpload) {
|
118
|
-
const { uploadedFiles, fileUploadUrl, uploadRequests } = nileFileUpload;
|
119
|
-
if (!fileUploadUrl || !uploadedFiles?.length) return;
|
120
|
-
|
121
|
-
for (const file of uploadedFiles) {
|
122
|
-
if (uploadRequests.has(file)) continue;
|
123
|
-
|
124
|
-
const formData = new FormData();
|
125
|
-
formData.append('file', file);
|
126
|
-
|
127
|
-
const xhr = new XMLHttpRequest();
|
128
|
-
uploadRequests.set(file, xhr);
|
129
|
-
|
130
|
-
nileFileUpload.emit(FileUploadEvent.NILE_UPLOADING);
|
131
|
-
|
132
|
-
xhr.upload.onprogress = (e) => {
|
133
|
-
const percent = Math.floor((e.loaded / e.total) * 100);
|
134
|
-
|
135
|
-
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_PROGRESS, {
|
136
|
-
detail: { file, progress: percent }
|
137
|
-
}));
|
138
|
-
};
|
139
|
-
|
140
|
-
xhr.onload = () => {
|
141
|
-
if (xhr.status >= 200 && xhr.status < 300) {
|
142
|
-
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_SUCCESS, {
|
143
|
-
detail: { file, response: xhr.response }
|
144
|
-
}));
|
145
|
-
} else {
|
146
|
-
nileFileUpload.errorMessage = FileUploadError.SERVER_SIDE_ERROR;
|
147
|
-
nileFileUpload.requestUpdate();
|
148
|
-
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.SERVER_SIDE_ERROR, {
|
149
|
-
detail: { file, status: xhr.status, response: xhr.response }
|
150
|
-
}));
|
151
|
-
}
|
152
|
-
};
|
153
|
-
|
154
|
-
xhr.onerror = () => {
|
155
|
-
uploadRequests.delete(file);
|
156
|
-
nileFileUpload.errorMessage = FileUploadError.NETWORK_ERROR;
|
157
|
-
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_NETWORK_ERROR, {
|
158
|
-
detail: { file, status: xhr.status, response: xhr.response },
|
159
|
-
bubbles: true,
|
160
|
-
composed: true,
|
161
|
-
}));
|
162
|
-
};
|
163
|
-
|
164
|
-
xhr.open('POST', fileUploadUrl);
|
165
|
-
xhr.send(formData);
|
166
|
-
}
|
167
|
-
}
|
168
|
-
|
169
|
-
export const cancelFileUpload = (nileFileUpload: NileFileUpload, uploadRequests: Map<File, XMLHttpRequest>) => {
|
170
|
-
document.addEventListener(FileUploadEvent.NILE_CANCEL_UPLOAD, (e: CustomEvent) => {
|
171
|
-
const fileToCancel = e.detail.file;
|
172
|
-
const xhr = uploadRequests.get(fileToCancel);
|
173
|
-
|
174
|
-
if (xhr) {
|
175
|
-
xhr.abort();
|
176
|
-
}
|
177
|
-
uploadRequests.delete(fileToCancel);
|
178
|
-
nileFileUpload.uploadedFiles = nileFileUpload.uploadedFiles.filter(file => file !== fileToCancel);
|
179
|
-
|
180
|
-
nileFileUpload.dispatchEvent(new CustomEvent(FileUploadEvent.NILE_UPLOAD_CANCELLED, {
|
181
|
-
detail: { file: fileToCancel }
|
182
|
-
}));
|
183
|
-
});
|
184
|
-
};
|
185
|
-
|
186
|
-
function parseSize(sizeStr: string): number {
|
187
|
-
const units = { B: 1, KB: 1024, MB: 1024 ** 2, GB: 1024 ** 3 };
|
188
|
-
const num = parseFloat(sizeStr);
|
189
|
-
const unit = sizeStr.replace(/[0-9.\s]/g, '').toUpperCase();
|
190
|
-
const multiplier = units[unit as keyof typeof units] || 1;
|
191
|
-
return num * multiplier;
|
192
|
-
}
|
193
|
-
|
194
|
-
export const preventDefaultAndStopPropagation = (event: Event | DragEvent): void => {
|
195
|
-
event.preventDefault?.();
|
196
|
-
event.stopPropagation();
|
197
|
-
}
|
198
|
-
|
199
|
-
export const removeFile = (uploadedFiles: File[], nileFileUpload: NileFileUpload) => {
|
200
|
-
document.addEventListener('nile-remove', (e: CustomEvent<RemoveFileDetail>) => {
|
201
|
-
const { value } = e.detail;
|
202
|
-
uploadedFiles = uploadedFiles.filter(file => file !== value);
|
203
|
-
nileFileUpload.uploadedFiles = uploadedFiles;
|
204
|
-
nileFileUpload.requestUpdate();
|
205
|
-
});
|
206
|
-
}
|
207
|
-
|
208
|
-
export const truncateString = (nileFileUpload: NileFileUpload): void => {
|
209
|
-
if(nileFileUpload.variant === 'vertical' && nileFileUpload.errorMessage.length > 34) {
|
210
|
-
nileFileUpload.isStringTruncated = true;
|
211
|
-
nileFileUpload.requestUpdate();
|
212
|
-
} else if(nileFileUpload.variant === 'horizontal' && nileFileUpload.errorMessage.length > 96) {
|
213
|
-
nileFileUpload.isStringTruncated = true;
|
214
|
-
nileFileUpload.requestUpdate();
|
215
|
-
}
|
216
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export { NileOptionGroup } from './nile-option-group';
|
@@ -1,60 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright Aquera Inc 2025
|
3
|
-
*
|
4
|
-
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*/
|
7
|
-
|
8
|
-
import { css } from 'lit';
|
9
|
-
|
10
|
-
/**
|
11
|
-
* OptionHeader CSS
|
12
|
-
*/
|
13
|
-
export const styles = css`
|
14
|
-
.option-group-header {
|
15
|
-
height: 40px;
|
16
|
-
display: flex;
|
17
|
-
align-items: center;
|
18
|
-
padding: 0px 15px;
|
19
|
-
background-color: var(--nile-colors-dark-200);
|
20
|
-
color: var(--nile-colors-dark-900);
|
21
|
-
font-feature-settings: 'liga' off, 'clig' off;
|
22
|
-
font-family: var(--nile-font-family-sans-serif);
|
23
|
-
font-size: 16px;
|
24
|
-
font-weight: 400;
|
25
|
-
width: 100%;
|
26
|
-
box-sizing: border-box;
|
27
|
-
justify-content: space-between;
|
28
|
-
}
|
29
|
-
|
30
|
-
.content-container {
|
31
|
-
display: flex;
|
32
|
-
justify-content: flex-start;
|
33
|
-
align-items: center;
|
34
|
-
}
|
35
|
-
|
36
|
-
.gap-18px {
|
37
|
-
gap: 14px;
|
38
|
-
}
|
39
|
-
|
40
|
-
.option-group-prefix,
|
41
|
-
.option-group-suffix {
|
42
|
-
flex: 0 0 auto;
|
43
|
-
display: flex;
|
44
|
-
align-items: center;
|
45
|
-
}
|
46
|
-
|
47
|
-
.option-group-prefix::slotted(*) {
|
48
|
-
margin-inline-end: 0.5rem;
|
49
|
-
}
|
50
|
-
|
51
|
-
.option-group-suffix::slotted(*) {
|
52
|
-
margin-inline-start: 0.5rem;
|
53
|
-
}
|
54
|
-
|
55
|
-
:host(.nile-group-hidden)::part(option-group-header) {
|
56
|
-
display: none !important;
|
57
|
-
}
|
58
|
-
`;
|
59
|
-
|
60
|
-
export default [styles];
|
@@ -1,24 +0,0 @@
|
|
1
|
-
export interface IconData {
|
2
|
-
name: string;
|
3
|
-
size?: string;
|
4
|
-
color?: string;
|
5
|
-
}
|
6
|
-
|
7
|
-
export interface ImageData {
|
8
|
-
src?: string;
|
9
|
-
height?: string;
|
10
|
-
width?: string;
|
11
|
-
}
|
12
|
-
|
13
|
-
export interface PrefixSuffixData {
|
14
|
-
icon?: IconData;
|
15
|
-
prefixText?: string;
|
16
|
-
suffixText?: string;
|
17
|
-
image?: ImageData;
|
18
|
-
}
|
19
|
-
|
20
|
-
export interface OptionGroupData {
|
21
|
-
prefix?: PrefixSuffixData;
|
22
|
-
suffix?: PrefixSuffixData;
|
23
|
-
textContent?: string;
|
24
|
-
}
|
@@ -1,84 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Copyright Aquera Inc 2025
|
3
|
-
*
|
4
|
-
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
6
|
-
*/
|
7
|
-
|
8
|
-
import {LitElement, html, CSSResultArray, TemplateResult} from 'lit';
|
9
|
-
import { customElement, property} from 'lit/decorators.js';
|
10
|
-
import {styles} from './nile-option-group.css';
|
11
|
-
import NileElement from '../internal/nile-element';
|
12
|
-
import { OptionGroupData } from './nile-option-group.interface';
|
13
|
-
|
14
|
-
@customElement('nile-option-group')
|
15
|
-
export class NileOptionGroup extends NileElement {
|
16
|
-
|
17
|
-
public static get styles(): CSSResultArray {
|
18
|
-
return [styles];
|
19
|
-
}
|
20
|
-
|
21
|
-
@property({type: String, reflect: true, attribute: true}) name: string = "";
|
22
|
-
@property({type: Object, attribute: true}) data: OptionGroupData | null = null;
|
23
|
-
|
24
|
-
private checkForImageOrIcon() {
|
25
|
-
return this.data?.prefix?.icon?.name || this.data?.prefix?.image?.src || this.data?.prefix?.prefixText;
|
26
|
-
}
|
27
|
-
|
28
|
-
private normalizeImageDimension(value?: string | number): string {
|
29
|
-
if (value === undefined || value === null || value === "") {
|
30
|
-
return "20";
|
31
|
-
}
|
32
|
-
|
33
|
-
const dimension = Number(value);
|
34
|
-
if (isNaN(dimension) || dimension <= 0) {
|
35
|
-
return "20";
|
36
|
-
}
|
37
|
-
return dimension > 40 ? "25" : dimension.toString();
|
38
|
-
}
|
39
|
-
|
40
|
-
public render(): TemplateResult {
|
41
|
-
return html`
|
42
|
-
<div part="option-group-header" class="option-group-header">
|
43
|
-
<div part="content-container" class="content-container ${this.checkForImageOrIcon() ? 'gap-18px' : ''}">
|
44
|
-
<!-- prefix content -->
|
45
|
-
${
|
46
|
-
this.data?.prefix?.icon?.name
|
47
|
-
? html`<nile-icon name="${this.data?.prefix?.icon?.name}" size="${this.data?.prefix?.icon?.size || "16"}" color="${this.data?.prefix?.icon?.color || "var(--nile-colors-dark-500)"}"></nile-icon>`
|
48
|
-
: this.data?.prefix?.prefixText
|
49
|
-
? html`<span>${this.data?.prefix?.prefixText}</span>`
|
50
|
-
: this.data?.prefix?.image?.src
|
51
|
-
? html`<img src="${this.data?.prefix?.image?.src}" width="${this.normalizeImageDimension(this.data?.prefix?.image?.width)}" height="${this.normalizeImageDimension(this.data?.prefix?.image?.height)}">`
|
52
|
-
: html`<slot part="prefix" name="prefix" class="option-group-prefix"></slot>`
|
53
|
-
}
|
54
|
-
|
55
|
-
<!-- main content -->
|
56
|
-
${
|
57
|
-
this.data?.textContent
|
58
|
-
? html`<span>${this.data?.textContent}</span>`
|
59
|
-
: html`<slot part="content"></slot>`
|
60
|
-
}
|
61
|
-
</div>
|
62
|
-
|
63
|
-
<!-- suffix content -->
|
64
|
-
${
|
65
|
-
this.data?.suffix?.icon?.name
|
66
|
-
? html`<nile-icon name="${this.data?.suffix?.icon?.name}" size="${this.data?.suffix?.icon?.size || "16"}" color="${this.data?.suffix?.icon?.color || "var(--nile-colors-dark-500)"}"></nile-icon>`
|
67
|
-
: this.data?.suffix?.suffixText
|
68
|
-
? html`<span>${this.data?.suffix?.suffixText}</span>`
|
69
|
-
: this.data?.suffix?.image?.src
|
70
|
-
? html`<img src="${this.data?.prefix?.image?.src}" width="${this.normalizeImageDimension(this.data?.suffix?.image?.width)}" height="${this.normalizeImageDimension(this.data?.suffix?.image?.height)}">`
|
71
|
-
: html`<slot part="suffix" name="suffix" class="option-group-suffix"></slot>`
|
72
|
-
}
|
73
|
-
</div>
|
74
|
-
`;
|
75
|
-
}
|
76
|
-
}
|
77
|
-
|
78
|
-
export default NileOptionGroup;
|
79
|
-
|
80
|
-
declare global {
|
81
|
-
interface HTMLElementTagNameMap {
|
82
|
-
'nile-option-group': NileOptionGroup;
|
83
|
-
}
|
84
|
-
}
|
@@ -1,56 +0,0 @@
|
|
1
|
-
import { html } from 'lit';
|
2
|
-
import type NileElement from '../internal/nile-element';
|
3
|
-
|
4
|
-
/**
|
5
|
-
* Helper class to manage virtual scroll functionality for nile-select component
|
6
|
-
*/
|
7
|
-
export class VirtualScrollHelper {
|
8
|
-
private component: NileElement;
|
9
|
-
|
10
|
-
constructor(component: NileElement) {
|
11
|
-
this.component = component;
|
12
|
-
}
|
13
|
-
|
14
|
-
renderVirtualizedContent(): any {
|
15
|
-
const component = this.component as any;
|
16
|
-
|
17
|
-
return html`
|
18
|
-
<div class="virtual-select">
|
19
|
-
<nile-virtual-select
|
20
|
-
.name=${component.name}
|
21
|
-
.value=${component.value}
|
22
|
-
.placeholder=${component.placeholder}
|
23
|
-
.size=${component.size}
|
24
|
-
.searchEnabled=${component.searchEnabled}
|
25
|
-
.internalSearchPlaceHolder=${component.internalSearchPlaceHolder}
|
26
|
-
.disableLocalSearch=${component.disableLocalSearch}
|
27
|
-
.optionsLoading=${component.optionsLoading}
|
28
|
-
.multiple=${component.multiple}
|
29
|
-
.helpText=${component.helpText}
|
30
|
-
.errorMessage=${component.errorMessage}
|
31
|
-
.warning=${component.warning}
|
32
|
-
.error=${component.error}
|
33
|
-
.success=${component.success}
|
34
|
-
.disabled=${component.disabled}
|
35
|
-
.clearable=${component.clearable}
|
36
|
-
.hoist=${component.hoist}
|
37
|
-
.filled=${component.filled}
|
38
|
-
.pill=${component.pill}
|
39
|
-
.label=${component.label}
|
40
|
-
.placement=${component.placement}
|
41
|
-
.form=${component.form}
|
42
|
-
.required=${component.required}
|
43
|
-
.showNoResults=${component.showNoResults}
|
44
|
-
.noResultsMessage=${component.noResultsMessage}
|
45
|
-
.renderItemConfig=${component.renderItemConfig}
|
46
|
-
.blockValueChange=${component.blockValueChange}
|
47
|
-
.noWidthSync=${component.noWidthSync}
|
48
|
-
.maxOptionsVisible=${component.maxOptionsVisible}
|
49
|
-
.data=${component.data}
|
50
|
-
>
|
51
|
-
<slot name="prefix" slot="prefix"></slot>
|
52
|
-
</nile-virtual-select>
|
53
|
-
</div>
|
54
|
-
`;
|
55
|
-
}
|
56
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export { NileVirtualSelect } from './nile-virtual-select';
|