@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.
Files changed (213) hide show
  1. package/README.md +1 -23
  2. package/demo/index.html +61 -1
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +5640 -7857
  6. package/dist/internal/form.cjs.js +1 -1
  7. package/dist/internal/form.cjs.js.map +1 -1
  8. package/dist/internal/form.esm.js +1 -1
  9. package/dist/internal/resizable-table-styles.cjs.js +1 -1
  10. package/dist/internal/resizable-table-styles.cjs.js.map +1 -1
  11. package/dist/internal/resizable-table-styles.esm.js +3 -15
  12. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  13. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  14. package/dist/nile-auto-complete/index.cjs.js +1 -1
  15. package/dist/nile-auto-complete/index.esm.js +1 -1
  16. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +17 -1
  17. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  18. package/dist/nile-auto-complete/nile-auto-complete.esm.js +29 -8
  19. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  20. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  21. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  22. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  23. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  24. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  25. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  26. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  27. package/dist/nile-button/nile-button.test.esm.js +1 -1
  28. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  29. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  30. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  31. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  32. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  33. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  34. package/dist/nile-card/nile-card.test.esm.js +1 -1
  35. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  36. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  37. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  38. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  39. package/dist/nile-chip/nile-chip.esm.js +1 -1
  40. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  41. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  42. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  43. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  44. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  45. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  46. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  47. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  48. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  49. package/dist/nile-code-editor/theme.cjs.js +1 -1
  50. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  51. package/dist/nile-code-editor/theme.esm.js +1 -1
  52. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  53. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  54. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  55. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  56. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  57. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  58. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  59. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  60. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  61. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  62. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  63. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  64. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  65. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  66. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  67. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  68. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  69. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  70. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  71. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  72. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  73. package/dist/nile-input/nile-input.test.esm.js +1 -1
  74. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  75. package/dist/nile-link/nile-link.test.esm.js +1 -1
  76. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  77. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  78. package/dist/nile-option/nile-option.cjs.js +1 -1
  79. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  80. package/dist/nile-option/nile-option.esm.js +3 -3
  81. package/dist/nile-popover/index.cjs.js +1 -1
  82. package/dist/nile-popover/index.esm.js +1 -1
  83. package/dist/nile-popover/nile-popover.cjs.js +11 -3
  84. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  85. package/dist/nile-popover/nile-popover.esm.js +13 -7
  86. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  87. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  88. package/dist/nile-popover/nile-popover.test.esm.js +3 -3
  89. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  90. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  91. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  92. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  93. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  94. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  95. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  96. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  97. package/dist/nile-select/index.cjs.js +1 -1
  98. package/dist/nile-select/index.esm.js +1 -1
  99. package/dist/nile-select/nile-select.cjs.js +1 -1
  100. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  101. package/dist/nile-select/nile-select.esm.js +9 -9
  102. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  103. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  104. package/dist/nile-select/nile-select.test.esm.js +2 -2
  105. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  106. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  107. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  108. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  109. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  110. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
  111. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +6 -2
  112. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  113. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  114. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +4 -2
  115. package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
  116. package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
  117. package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
  118. package/dist/nile-table-row/nile-table-row.css.cjs.js.map +1 -1
  119. package/dist/nile-table-row/nile-table-row.css.esm.js +51 -0
  120. package/dist/nile-table-row/nile-table-row.esm.js +26 -6
  121. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  122. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  123. package/dist/src/index.d.ts +0 -4
  124. package/dist/src/index.js +0 -4
  125. package/dist/src/index.js.map +1 -1
  126. package/dist/src/internal/form.js +3 -3
  127. package/dist/src/internal/form.js.map +1 -1
  128. package/dist/src/internal/resizable-table-styles.js +0 -12
  129. package/dist/src/internal/resizable-table-styles.js.map +1 -1
  130. package/dist/src/nile-chip/nile-chip.js +1 -10
  131. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  132. package/dist/src/nile-code-editor/nile-code-editor.d.ts +0 -3
  133. package/dist/src/nile-code-editor/nile-code-editor.js +3 -23
  134. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  135. package/dist/src/nile-code-editor/theme.d.ts +0 -6
  136. package/dist/src/nile-code-editor/theme.js +2 -8
  137. package/dist/src/nile-code-editor/theme.js.map +1 -1
  138. package/dist/src/nile-option/nile-option.d.ts +1 -4
  139. package/dist/src/nile-option/nile-option.js +15 -27
  140. package/dist/src/nile-option/nile-option.js.map +1 -1
  141. package/dist/src/nile-select/nile-select.d.ts +3 -20
  142. package/dist/src/nile-select/nile-select.js +22 -123
  143. package/dist/src/nile-select/nile-select.js.map +1 -1
  144. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +4 -0
  145. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
  146. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +2 -0
  147. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  148. package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +37 -0
  149. package/dist/src/nile-table-row/nile-table-row-expandable.js +105 -0
  150. package/dist/src/nile-table-row/nile-table-row-expandable.js.map +1 -0
  151. package/dist/src/nile-table-row/nile-table-row.css.js +51 -0
  152. package/dist/src/nile-table-row/nile-table-row.css.js.map +1 -1
  153. package/dist/src/nile-table-row/nile-table-row.d.ts +4 -0
  154. package/dist/src/nile-table-row/nile-table-row.js +58 -11
  155. package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
  156. package/dist/src/nile-table-row-expandable/index.d.ts +1 -0
  157. package/dist/src/nile-table-row-expandable/index.js +2 -0
  158. package/dist/src/nile-table-row-expandable/index.js.map +1 -0
  159. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +12 -0
  160. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +17 -0
  161. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +1 -0
  162. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +37 -0
  163. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +103 -0
  164. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +1 -0
  165. package/dist/tsconfig.tsbuildinfo +1 -1
  166. package/package.json +3 -4
  167. package/src/index.ts +1 -5
  168. package/src/internal/form.ts +3 -3
  169. package/src/internal/resizable-table-styles.ts +0 -12
  170. package/src/nile-chip/nile-chip.ts +1 -9
  171. package/src/nile-code-editor/nile-code-editor.ts +4 -25
  172. package/src/nile-code-editor/theme.ts +2 -8
  173. package/src/nile-option/nile-option.ts +12 -22
  174. package/src/nile-select/nile-select.ts +15 -139
  175. package/src/nile-table-cell-item/nile-table-cell-item.css.ts +4 -0
  176. package/src/nile-table-header-item/nile-table-header-item.css.ts +2 -0
  177. package/src/nile-table-row/nile-table-row.css.ts +51 -0
  178. package/src/nile-table-row/nile-table-row.ts +50 -7
  179. package/vscode-html-custom-data.json +23 -400
  180. package/src/nile-file-preview/index.ts +0 -1
  181. package/src/nile-file-preview/nile-file-preview.css.ts +0 -589
  182. package/src/nile-file-preview/nile-file-preview.template.ts +0 -259
  183. package/src/nile-file-preview/nile-file-preview.test.ts +0 -38
  184. package/src/nile-file-preview/nile-file-preview.ts +0 -205
  185. package/src/nile-file-preview/types/index.ts +0 -2
  186. package/src/nile-file-preview/types/nile-file-preview.enums.ts +0 -32
  187. package/src/nile-file-preview/types/nile-file-preview.interface.ts +0 -4
  188. package/src/nile-file-preview/utils/index.ts +0 -1
  189. package/src/nile-file-preview/utils/nile-file-preview.util.ts +0 -72
  190. package/src/nile-file-upload/index.ts +0 -1
  191. package/src/nile-file-upload/nile-file-upload.css.ts +0 -624
  192. package/src/nile-file-upload/nile-file-upload.template.ts +0 -217
  193. package/src/nile-file-upload/nile-file-upload.test.ts +0 -38
  194. package/src/nile-file-upload/nile-file-upload.ts +0 -161
  195. package/src/nile-file-upload/types/file-upload.enums.ts +0 -46
  196. package/src/nile-file-upload/types/file-upload.type.ts +0 -5
  197. package/src/nile-file-upload/types/index.ts +0 -2
  198. package/src/nile-file-upload/utils/drag-drop.util.ts +0 -106
  199. package/src/nile-file-upload/utils/file-validation.util.ts +0 -216
  200. package/src/nile-option-group/index.ts +0 -1
  201. package/src/nile-option-group/nile-option-group.css.ts +0 -60
  202. package/src/nile-option-group/nile-option-group.interface.ts +0 -24
  203. package/src/nile-option-group/nile-option-group.ts +0 -84
  204. package/src/nile-select/nile-select.interface.ts +0 -5
  205. package/src/nile-select/virtual-scroll-helper.ts +0 -56
  206. package/src/nile-virtual-select/index.ts +0 -1
  207. package/src/nile-virtual-select/nile-virtual-select.css.ts +0 -491
  208. package/src/nile-virtual-select/nile-virtual-select.test.ts +0 -774
  209. package/src/nile-virtual-select/nile-virtual-select.ts +0 -1314
  210. package/src/nile-virtual-select/renderer.ts +0 -102
  211. package/src/nile-virtual-select/search-manager.ts +0 -50
  212. package/src/nile-virtual-select/selection-manager.ts +0 -75
  213. 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,5 +0,0 @@
1
- export interface GroupAttributes {
2
- name: string;
3
- data: any;
4
- element: HTMLElement;
5
- }
@@ -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';