@zjlab-fe/data-hub-ui 0.21.7 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/es/assets/cardImg.png.js +3 -0
  2. package/es/assets/closeBtn.png.js +3 -0
  3. package/es/assets/icon-tag-header.png.js +3 -0
  4. package/es/assets/source.png.js +3 -0
  5. package/es/components/FileUploader/FileUploadModal.js +24 -0
  6. package/es/components/FileUploader/FileUploader.js +20 -0
  7. package/es/components/FileUploader/FileUploaderImpl/FileUploader.js +34 -0
  8. package/es/components/FileUploader/FileUploaderImpl/FileUploaderContextProvider.js +46 -0
  9. package/es/components/FileUploader/FileUploaderImpl/FileUploaderFileReceiver.css.js +36 -0
  10. package/es/components/FileUploader/FileUploaderImpl/FileUploaderFileReceiver.js +57 -0
  11. package/es/components/FileUploader/FileUploaderImpl/FileUploaderFileReceiverContainer.js +24 -0
  12. package/es/components/FileUploader/FileUploaderImpl/FileUploaderFileReceiverDesc.js +9 -0
  13. package/es/components/FileUploader/FileUploaderImpl/FileUploaderList.js +46 -0
  14. package/es/components/FileUploader/FileUploaderImpl/FileUploaderListItem.js +46 -0
  15. package/es/components/FileUploader/FileUploaderImpl/FileUploaderListItemFail.js +21 -0
  16. package/es/components/FileUploader/FileUploaderImpl/FileUploaderListItemPaused.js +20 -0
  17. package/es/components/FileUploader/FileUploaderImpl/FileUploaderListItemUploading.js +43 -0
  18. package/es/components/FileUploader/FileUploaderImpl/FileUploaderlListItemFinished.js +32 -0
  19. package/es/components/FileUploader/Locale/translations.js +52 -0
  20. package/es/components/FileUploader/Locale/useTranslate.js +16 -0
  21. package/es/components/FileUploader/UploadStoreProvider/UploadStoreProvider.js +31 -0
  22. package/es/components/FileUploader/UploadStoreProvider/uploadStoreReducer.js +62 -0
  23. package/es/components/FileUploader/UploadStoreProvider/useOnFileAllUploaded.js +31 -0
  24. package/es/components/FileUploader/UploadStoreProvider/useSaveUnfinishedUploads.js +42 -0
  25. package/es/components/FileUploader/UploadStoreProvider/useSetupMergingEvent.js +45 -0
  26. package/es/components/FileUploader/hooks/useCancelUpload.js +40 -0
  27. package/es/components/FileUploader/hooks/useCurrentFile.js +61 -0
  28. package/es/components/FileUploader/hooks/useCurrentFileOnUploading.js +52 -0
  29. package/es/components/FileUploader/hooks/useCurrentFileSetupAndBackUp.js +39 -0
  30. package/es/components/FileUploader/hooks/useFormatFiles.js +64 -0
  31. package/es/components/FileUploader/hooks/useFormatFilesFindDuplicates.js +75 -0
  32. package/es/components/FileUploader/hooks/useFormatFilesRemoveDuplicates.js +21 -0
  33. package/es/components/FileUploader/hooks/useHandleChunkCompletion.js +31 -0
  34. package/es/components/FileUploader/hooks/useOnMounted.js +24 -0
  35. package/es/components/FileUploader/hooks/useOnMountedResumeUnfinished.js +58 -0
  36. package/es/components/FileUploader/hooks/useRetryUpload.js +33 -0
  37. package/es/components/FileUploader/hooks/useUploadChunk.js +46 -0
  38. package/es/components/FileUploader/icons/CloseFilled.js +7 -0
  39. package/es/components/FileUploader/icons/UnkownFileIcon.js +7 -0
  40. package/es/components/FileUploader/icons/UploadIcon.js +7 -0
  41. package/es/components/FileUploader/index.css.js +532 -0
  42. package/es/components/FileUploader/index.js +23 -0
  43. package/es/components/FileUploader/types.js +13 -0
  44. package/es/components/FileUploader/utils/calcDisplaySize.js +20 -0
  45. package/es/components/FileUploader/utils/checkExpiryTime.js +15 -0
  46. package/es/components/FileUploader/utils/createFileToUpload.js +60 -0
  47. package/es/components/FileUploader/utils/fileDB/addFilesToIndexdb.js +14 -0
  48. package/es/components/FileUploader/utils/fileDB/deleteFileInStore.js +18 -0
  49. package/es/components/FileUploader/utils/fileDB/deleteObjectStore.js +25 -0
  50. package/es/components/FileUploader/utils/fileDB/index.js +77 -0
  51. package/es/components/FileUploader/utils/fileDB/openDBAndRetrieveData.js +90 -0
  52. package/es/components/FileUploader/utils/fileDB/retrieveExistingData.js +49 -0
  53. package/es/components/FileUploader/utils/modalConfig.css.js +20 -0
  54. package/es/components/FileUploader/utils/modalConfig.js +32 -0
  55. package/es/components/FileUploader/utils/retrieveAllFiles.js +70 -0
  56. package/es/components/FileUploader/utils/splitFileIntoChunk.js +15 -0
  57. package/es/components/SDK-modal/document-link.js +8 -0
  58. package/es/components/SDK-modal/index.js +25 -0
  59. package/es/components/SDK-modal/index.module.scss.js +49 -0
  60. package/es/components/SDK-modal/inner-modal.js +59 -0
  61. package/es/components/SDK-modal/locale/translations.js +17 -0
  62. package/es/components/apply-perm-modal/index.js +53 -0
  63. package/es/components/apply-perm-modal/index.module.scss.js +96 -0
  64. package/es/components/auth-tag/index.js +23 -0
  65. package/es/components/bench-card/index.js +20 -0
  66. package/es/components/bench-card/index.module.scss.js +48 -0
  67. package/es/components/confirm-again/index.js +15 -0
  68. package/es/components/confirm-again/index.scss.js +37 -0
  69. package/es/components/copy/index.js +41 -0
  70. package/es/components/copy/index.module.scss.js +15 -0
  71. package/es/components/corpus-card/index.js +88 -0
  72. package/es/components/corpus-card/index.module.scss.js +171 -0
  73. package/es/components/feature-card/classNames.js +72 -0
  74. package/es/components/feature-card/components.js +48 -0
  75. package/es/components/feature-card/context.js +13 -0
  76. package/es/components/feature-card/index.css.js +655 -0
  77. package/es/components/feature-card/index.js +48 -0
  78. package/es/components/file-preview/data-table/index.js +94 -0
  79. package/es/components/file-preview/data-table/index.module.scss.js +54 -0
  80. package/es/components/file-preview/excel-preview/index.js +132 -0
  81. package/es/components/file-preview/excel-preview/index.module.scss.js +11 -0
  82. package/es/components/file-preview/excel-preview/utils.js +46 -0
  83. package/es/components/file-preview/img-preview/index.js +18 -0
  84. package/es/components/file-preview/img-preview/index.module.scss.js +17 -0
  85. package/es/components/file-preview/index.js +124 -0
  86. package/es/components/file-preview/index.module.scss.js +32 -0
  87. package/es/components/file-preview/json-preview/index.js +166 -0
  88. package/es/components/file-preview/markdown-preview/index.js +53 -0
  89. package/es/components/file-preview/markdown-preview/index.module.scss.js +1055 -0
  90. package/es/components/file-preview/parquet-preview/index.js +54 -0
  91. package/es/components/file-preview/pdf-preview/index.js +215 -0
  92. package/es/components/file-preview/pdf-preview/index.module.scss.js +16 -0
  93. package/es/components/file-preview/table-preview/index.js +43 -0
  94. package/es/components/file-preview/table-preview/index.module.scss.js +11 -0
  95. package/es/components/file-preview/txt-preview/index.js +24 -0
  96. package/es/components/file-preview/util.js +94 -0
  97. package/es/components/file-uploader/components/circle-progress.css.js +39 -0
  98. package/es/components/file-uploader/components/circle-progress.js +12 -0
  99. package/es/components/file-uploader/components/hooks/use-drop-zone.js +74 -0
  100. package/es/components/file-uploader/components/hooks/use-file-validation.js +52 -0
  101. package/es/components/file-uploader/components/icons.js +19 -0
  102. package/es/components/file-uploader/components/theme.css.js +64 -0
  103. package/es/components/file-uploader/components/uploader-drop-zone.css.js +66 -0
  104. package/es/components/file-uploader/components/uploader-drop-zone.js +74 -0
  105. package/es/components/file-uploader/components/uploader-file-item.css.js +186 -0
  106. package/es/components/file-uploader/components/uploader-file-item.js +63 -0
  107. package/es/components/file-uploader/components/uploader-file-list.css.js +43 -0
  108. package/es/components/file-uploader/components/uploader-file-list.js +27 -0
  109. package/es/components/file-uploader/components/uploader.css.js +20 -0
  110. package/es/components/file-uploader/components/uploader.js +51 -0
  111. package/es/components/file-uploader/components/uploading-status.css.js +52 -0
  112. package/es/components/file-uploader/components/uploading-status.js +54 -0
  113. package/es/components/file-uploader/components/utils/directory-reader.js +65 -0
  114. package/es/components/file-uploader/constants.js +31 -0
  115. package/es/components/file-uploader/context/action-registry.js +69 -0
  116. package/es/components/file-uploader/context/file-state-store.js +83 -0
  117. package/es/components/file-uploader/context/handler-registry.js +119 -0
  118. package/es/components/file-uploader/context/upload-context.js +36 -0
  119. package/es/components/file-uploader/context/upload-provider.js +77 -0
  120. package/es/components/file-uploader/context/upload-reducer.js +21 -0
  121. package/es/components/file-uploader/context/use-upload-engine.js +440 -0
  122. package/es/components/file-uploader/engine/queue-callbacks.js +257 -0
  123. package/es/components/file-uploader/engine/queue-manager.js +195 -0
  124. package/es/components/file-uploader/engine/queue-uploader.js +25 -0
  125. package/es/components/file-uploader/hooks/use-upload.js +327 -0
  126. package/es/components/file-uploader/utils/chunk-handlers.js +66 -0
  127. package/es/components/file-uploader/utils/ensure-handlers.js +53 -0
  128. package/es/components/file-uploader/utils/error-handler.js +84 -0
  129. package/es/components/file-uploader/utils/upload-controllers.js +43 -0
  130. package/es/components/file-uploader/utils/upload-handler.js +68 -0
  131. package/es/components/file-uploader/utils/validate-handlers.js +16 -0
  132. package/es/components/floating-label-input/index.js +46 -0
  133. package/es/components/floating-label-input/index.module.scss.js +30 -0
  134. package/es/components/floating-layer/index.js +15 -0
  135. package/es/components/floating-layer/index.scss.js +31 -0
  136. package/es/components/header/index.js +10 -0
  137. package/es/components/header/index.module.scss.js +16 -0
  138. package/es/components/input-tag/index.js +65 -0
  139. package/es/components/menu/index.js +96 -0
  140. package/es/components/menu/index.module.scss.js +188 -0
  141. package/es/components/model-card/index.js +20 -0
  142. package/es/components/model-card/index.module.scss.js +116 -0
  143. package/es/components/notion-editor/code-block/index.js +18 -0
  144. package/es/components/notion-editor/code-block/languageDetector.js +134 -0
  145. package/es/components/notion-editor/code-block/languages.js +42 -0
  146. package/es/components/notion-editor/index.js +258 -0
  147. package/es/components/notion-editor/index.scss.js +421 -0
  148. package/es/components/notion-editor/parseMarkdown.js +184 -0
  149. package/es/components/operator-chain/components/AddButton.js +20 -0
  150. package/es/components/operator-chain/components/IOCard.js +8 -0
  151. package/es/components/operator-chain/components/SingleCard.js +12 -0
  152. package/es/components/operator-chain/components/VirtualDropdown.js +56 -0
  153. package/es/components/operator-chain/index.js +83 -0
  154. package/es/components/operator-chain/index.module.scss.js +232 -0
  155. package/es/components/permission-editor/index.js +9 -0
  156. package/es/components/permission-editor/permissionEditModal/index.js +37 -0
  157. package/es/components/permission-editor/permissionEditor/index.js +253 -0
  158. package/es/components/permission-editor/permissionEditor/index.module.scss.js +22 -0
  159. package/es/components/permission-editor/permissionViewPopover/index.js +9 -0
  160. package/es/components/popover-select/index.js +42 -0
  161. package/es/components/popover-select/index.module.scss.js +22 -0
  162. package/es/components/radio-card/index.js +24 -0
  163. package/es/components/radio-card/index.scss.js +58 -0
  164. package/es/components/section-heading/classNames.js +22 -0
  165. package/es/components/section-heading/components.js +27 -0
  166. package/es/components/section-heading/context.js +13 -0
  167. package/es/components/section-heading/index.css.js +648 -0
  168. package/es/components/section-heading/index.js +37 -0
  169. package/es/components/status-tag/index.js +31 -0
  170. package/es/components/tag-group-filter/dataSizeFilter.js +100 -0
  171. package/es/components/tag-group-filter/index.js +53 -0
  172. package/es/components/tag-group-filter/index.module.scss.js +134 -0
  173. package/es/components/tag-group-filter/tagFilter.js +19 -0
  174. package/es/components/tag-view/index.js +138 -0
  175. package/es/components/tag-view/index.module.scss.js +56 -0
  176. package/es/components/tag-view/useSize.js +41 -0
  177. package/es/components/tip-tap/bubble-menu.js +47 -0
  178. package/es/components/tip-tap/editor.js +34 -0
  179. package/es/components/tip-tap/extensions/index.js +133 -0
  180. package/es/components/tip-tap/extensions/markdown-paste.js +148 -0
  181. package/es/components/tip-tap/icons/index.js +29 -0
  182. package/es/components/tip-tap/reader.js +15 -0
  183. package/es/components/tip-tap/styles/editor.css.js +863 -0
  184. package/es/components/tip-tap/toolbar/components/color-picker.js +76 -0
  185. package/es/components/tip-tap/toolbar/components/heading-dropdown.js +44 -0
  186. package/es/components/tip-tap/toolbar/components/image-button.js +26 -0
  187. package/es/components/tip-tap/toolbar/components/link-button.js +107 -0
  188. package/es/components/tip-tap/toolbar/components/table-button.js +37 -0
  189. package/es/components/tip-tap/toolbar/components/toolbar-button.js +7 -0
  190. package/es/components/tip-tap/toolbar/index.js +39 -0
  191. package/es/components/uploadDrawer/UploadStoreProvider.js +61 -0
  192. package/es/components/uploadDrawer/fileUploadDrawer.js +66 -0
  193. package/es/components/uploadDrawer/fileUploadDrawerFileDragger.js +71 -0
  194. package/es/components/uploadDrawer/fileUploadDrawerList.js +54 -0
  195. package/es/components/uploadDrawer/fileUploadDrawerListProgressButton.js +54 -0
  196. package/es/components/uploadDrawer/hooks/useCancelUpload.js +37 -0
  197. package/es/components/uploadDrawer/hooks/useFilterFiles.js +107 -0
  198. package/es/components/uploadDrawer/hooks/useFinishUpload.js +33 -0
  199. package/es/components/uploadDrawer/hooks/useFormatFiles.js +54 -0
  200. package/es/components/uploadDrawer/hooks/useProgressButtonRef.js +22 -0
  201. package/es/components/uploadDrawer/hooks/useRemoveFilesInUploadQueue.js +21 -0
  202. package/es/components/uploadDrawer/hooks/useResumeUnfinishedUploads.js +52 -0
  203. package/es/components/uploadDrawer/hooks/useRetryUpload.js +35 -0
  204. package/es/components/uploadDrawer/hooks/useSaveUnfinishedUploads.js +42 -0
  205. package/es/components/uploadDrawer/hooks/useSetupUpload.js +80 -0
  206. package/es/components/uploadDrawer/hooks/useUploadFileToOSS.js +23 -0
  207. package/es/components/uploadDrawer/index.css.js +511 -0
  208. package/es/components/uploadDrawer/index.js +43 -0
  209. package/es/components/uploadDrawer/utils/calcDisplaySize.js +19 -0
  210. package/es/components/uploadDrawer/utils/constant.js +16 -0
  211. package/es/components/uploadDrawer/utils/createFileToUpload.js +51 -0
  212. package/es/components/uploadDrawer/utils/fileDB/deleteFileInStore.js +28 -0
  213. package/es/components/uploadDrawer/utils/fileDB/deleteObjectStore.js +28 -0
  214. package/es/components/uploadDrawer/utils/fileDB/handleAddFilesToDB.js +37 -0
  215. package/es/components/uploadDrawer/utils/fileDB/index.js +9 -0
  216. package/es/components/uploadDrawer/utils/fileDB/openDB.js +111 -0
  217. package/es/components/uploadDrawer/utils/retrieveAllFiles.js +110 -0
  218. package/es/components/uploadDrawer/utils/shouldCreateNewFile.js +13 -0
  219. package/es/components/uploadDrawer/utils/splitFileIntoChunk.js +15 -0
  220. package/es/index.js +42 -1
  221. package/es/lib/utils.js +8 -0
  222. package/lib/index.js +1 -1
  223. package/package.json +164 -154
  224. package/rollup.es.config.mjs +177 -0
  225. package/tsconfig.rollup.json +7 -0
@@ -0,0 +1,511 @@
1
+ var style = document.createElement('style');
2
+ style.textContent = `.mylib-upload-drawer *, .mylib-upload-drawer ::before, .mylib-upload-drawer ::after {
3
+ --tw-border-spacing-x: 0;
4
+ --tw-border-spacing-y: 0;
5
+ --tw-translate-x: 0;
6
+ --tw-translate-y: 0;
7
+ --tw-rotate: 0;
8
+ --tw-skew-x: 0;
9
+ --tw-skew-y: 0;
10
+ --tw-scale-x: 1;
11
+ --tw-scale-y: 1;
12
+ --tw-pan-x: ;
13
+ --tw-pan-y: ;
14
+ --tw-pinch-zoom: ;
15
+ --tw-scroll-snap-strictness: proximity;
16
+ --tw-gradient-from-position: ;
17
+ --tw-gradient-via-position: ;
18
+ --tw-gradient-to-position: ;
19
+ --tw-ordinal: ;
20
+ --tw-slashed-zero: ;
21
+ --tw-numeric-figure: ;
22
+ --tw-numeric-spacing: ;
23
+ --tw-numeric-fraction: ;
24
+ --tw-ring-inset: ;
25
+ --tw-ring-offset-width: 0px;
26
+ --tw-ring-offset-color: #fff;
27
+ --tw-ring-color: rgb(59 130 246 / 0.5);
28
+ --tw-ring-offset-shadow: 0 0 #0000;
29
+ --tw-ring-shadow: 0 0 #0000;
30
+ --tw-shadow: 0 0 #0000;
31
+ --tw-shadow-colored: 0 0 #0000;
32
+ --tw-blur: ;
33
+ --tw-brightness: ;
34
+ --tw-contrast: ;
35
+ --tw-grayscale: ;
36
+ --tw-hue-rotate: ;
37
+ --tw-invert: ;
38
+ --tw-saturate: ;
39
+ --tw-sepia: ;
40
+ --tw-drop-shadow: ;
41
+ --tw-backdrop-blur: ;
42
+ --tw-backdrop-brightness: ;
43
+ --tw-backdrop-contrast: ;
44
+ --tw-backdrop-grayscale: ;
45
+ --tw-backdrop-hue-rotate: ;
46
+ --tw-backdrop-invert: ;
47
+ --tw-backdrop-opacity: ;
48
+ --tw-backdrop-saturate: ;
49
+ --tw-backdrop-sepia: ;
50
+ --tw-contain-size: ;
51
+ --tw-contain-layout: ;
52
+ --tw-contain-paint: ;
53
+ --tw-contain-style:
54
+ }
55
+ .mylib-upload-drawer ::backdrop {
56
+ --tw-border-spacing-x: 0;
57
+ --tw-border-spacing-y: 0;
58
+ --tw-translate-x: 0;
59
+ --tw-translate-y: 0;
60
+ --tw-rotate: 0;
61
+ --tw-skew-x: 0;
62
+ --tw-skew-y: 0;
63
+ --tw-scale-x: 1;
64
+ --tw-scale-y: 1;
65
+ --tw-pan-x: ;
66
+ --tw-pan-y: ;
67
+ --tw-pinch-zoom: ;
68
+ --tw-scroll-snap-strictness: proximity;
69
+ --tw-gradient-from-position: ;
70
+ --tw-gradient-via-position: ;
71
+ --tw-gradient-to-position: ;
72
+ --tw-ordinal: ;
73
+ --tw-slashed-zero: ;
74
+ --tw-numeric-figure: ;
75
+ --tw-numeric-spacing: ;
76
+ --tw-numeric-fraction: ;
77
+ --tw-ring-inset: ;
78
+ --tw-ring-offset-width: 0px;
79
+ --tw-ring-offset-color: #fff;
80
+ --tw-ring-color: rgb(59 130 246 / 0.5);
81
+ --tw-ring-offset-shadow: 0 0 #0000;
82
+ --tw-ring-shadow: 0 0 #0000;
83
+ --tw-shadow: 0 0 #0000;
84
+ --tw-shadow-colored: 0 0 #0000;
85
+ --tw-blur: ;
86
+ --tw-brightness: ;
87
+ --tw-contrast: ;
88
+ --tw-grayscale: ;
89
+ --tw-hue-rotate: ;
90
+ --tw-invert: ;
91
+ --tw-saturate: ;
92
+ --tw-sepia: ;
93
+ --tw-drop-shadow: ;
94
+ --tw-backdrop-blur: ;
95
+ --tw-backdrop-brightness: ;
96
+ --tw-backdrop-contrast: ;
97
+ --tw-backdrop-grayscale: ;
98
+ --tw-backdrop-hue-rotate: ;
99
+ --tw-backdrop-invert: ;
100
+ --tw-backdrop-opacity: ;
101
+ --tw-backdrop-saturate: ;
102
+ --tw-backdrop-sepia: ;
103
+ --tw-contain-size: ;
104
+ --tw-contain-layout: ;
105
+ --tw-contain-paint: ;
106
+ --tw-contain-style:
107
+ }
108
+ .mylib-upload-drawer .dhu-absolute {
109
+ position: absolute
110
+ }
111
+ .mylib-upload-drawer .dhu-relative {
112
+ position: relative
113
+ }
114
+ .mylib-upload-drawer .dhu-right-0 {
115
+ right: 0px
116
+ }
117
+ .mylib-upload-drawer .dhu-m-0 {
118
+ margin: 0px
119
+ }
120
+ .mylib-upload-drawer .dhu-mx-auto {
121
+ margin-left: auto;
122
+ margin-right: auto
123
+ }
124
+ .mylib-upload-drawer .dhu-my-2\\.5 {
125
+ margin-top: 0.625rem;
126
+ margin-bottom: 0.625rem
127
+ }
128
+ .mylib-upload-drawer .dhu-mb-4 {
129
+ margin-bottom: 1rem
130
+ }
131
+ .mylib-upload-drawer .dhu-mb-5 {
132
+ margin-bottom: 1.25rem
133
+ }
134
+ .mylib-upload-drawer .dhu-ml-auto {
135
+ margin-left: auto
136
+ }
137
+ .mylib-upload-drawer .dhu-mr-1 {
138
+ margin-right: 0.25rem
139
+ }
140
+ .mylib-upload-drawer .dhu-line-clamp-3 {
141
+ overflow: hidden;
142
+ display: -webkit-box;
143
+ -webkit-box-orient: vertical;
144
+ -webkit-line-clamp: 3
145
+ }
146
+ .mylib-upload-drawer .dhu-flex {
147
+ display: flex
148
+ }
149
+ .mylib-upload-drawer .dhu-grid {
150
+ display: grid
151
+ }
152
+ .mylib-upload-drawer .dhu-h-12 {
153
+ height: 3rem
154
+ }
155
+ .mylib-upload-drawer .dhu-h-4 {
156
+ height: 1rem
157
+ }
158
+ .mylib-upload-drawer .dhu-h-5 {
159
+ height: 1.25rem
160
+ }
161
+ .mylib-upload-drawer .dhu-h-6 {
162
+ height: 1.5rem
163
+ }
164
+ .mylib-upload-drawer .dhu-h-9 {
165
+ height: 2.25rem
166
+ }
167
+ .mylib-upload-drawer .dhu-h-\\[60px\\] {
168
+ height: 60px
169
+ }
170
+ .mylib-upload-drawer .dhu-h-full {
171
+ height: 100%
172
+ }
173
+ .mylib-upload-drawer .dhu-max-h-72 {
174
+ max-height: 18rem
175
+ }
176
+ .mylib-upload-drawer .dhu-w-12 {
177
+ width: 3rem
178
+ }
179
+ .mylib-upload-drawer .dhu-w-4 {
180
+ width: 1rem
181
+ }
182
+ .mylib-upload-drawer .dhu-w-40 {
183
+ width: 10rem
184
+ }
185
+ .mylib-upload-drawer .dhu-w-5 {
186
+ width: 1.25rem
187
+ }
188
+ .mylib-upload-drawer .dhu-w-6 {
189
+ width: 1.5rem
190
+ }
191
+ .mylib-upload-drawer .dhu-w-9 {
192
+ width: 2.25rem
193
+ }
194
+ .mylib-upload-drawer .dhu-w-\\[60px\\] {
195
+ width: 60px
196
+ }
197
+ .mylib-upload-drawer .dhu-w-full {
198
+ width: 100%
199
+ }
200
+ .mylib-upload-drawer .dhu-cursor-pointer {
201
+ cursor: pointer
202
+ }
203
+ .mylib-upload-drawer .dhu-place-items-center {
204
+ place-items: center
205
+ }
206
+ .mylib-upload-drawer .dhu-content-start {
207
+ align-content: flex-start
208
+ }
209
+ .mylib-upload-drawer .dhu-items-center {
210
+ align-items: center
211
+ }
212
+ .mylib-upload-drawer .dhu-justify-center {
213
+ justify-content: center
214
+ }
215
+ .mylib-upload-drawer .dhu-justify-between {
216
+ justify-content: space-between
217
+ }
218
+ .mylib-upload-drawer .dhu-gap-1 {
219
+ gap: 0.25rem
220
+ }
221
+ .mylib-upload-drawer .dhu-gap-2 {
222
+ gap: 0.5rem
223
+ }
224
+ .mylib-upload-drawer .dhu-gap-3 {
225
+ gap: 0.75rem
226
+ }
227
+ .mylib-upload-drawer .dhu-gap-4 {
228
+ gap: 1rem
229
+ }
230
+ .mylib-upload-drawer .dhu-justify-self-start {
231
+ justify-self: start
232
+ }
233
+ .mylib-upload-drawer .dhu-justify-self-end {
234
+ justify-self: end
235
+ }
236
+ .mylib-upload-drawer .dhu-justify-self-center {
237
+ justify-self: center
238
+ }
239
+ .mylib-upload-drawer .dhu-overflow-hidden {
240
+ overflow: hidden
241
+ }
242
+ .mylib-upload-drawer .dhu-overflow-y-auto {
243
+ overflow-y: auto
244
+ }
245
+ .mylib-upload-drawer .dhu-truncate {
246
+ overflow: hidden;
247
+ text-overflow: ellipsis;
248
+ white-space: nowrap
249
+ }
250
+ .mylib-upload-drawer .dhu-rounded {
251
+ border-radius: 0.25rem
252
+ }
253
+ .mylib-upload-drawer .dhu-rounded-2xl {
254
+ border-radius: 1rem
255
+ }
256
+ .mylib-upload-drawer .dhu-rounded-\\[20px\\] {
257
+ border-radius: 20px
258
+ }
259
+ .mylib-upload-drawer .dhu-rounded-full {
260
+ border-radius: 9999px
261
+ }
262
+ .mylib-upload-drawer .dhu-rounded-lg {
263
+ border-radius: 0.5rem
264
+ }
265
+ .mylib-upload-drawer .dhu-rounded-none {
266
+ border-radius: 0px
267
+ }
268
+ .mylib-upload-drawer .dhu-rounded-xl {
269
+ border-radius: 0.75rem
270
+ }
271
+ .mylib-upload-drawer .dhu-border {
272
+ border-width: 1px
273
+ }
274
+ .mylib-upload-drawer .dhu-border-solid {
275
+ border-style: solid
276
+ }
277
+ .mylib-upload-drawer .dhu-border-\\[\\#1775FE\\] {
278
+ --tw-border-opacity: 1;
279
+ border-color: rgb(23 117 254 / var(--tw-border-opacity, 1))
280
+ }
281
+ .mylib-upload-drawer .dhu-border-gray-3 {
282
+ --tw-border-opacity: 1;
283
+ border-color: rgb(217 224 237 / var(--tw-border-opacity, 1))
284
+ }
285
+ .mylib-upload-drawer .dhu-border-purple-200 {
286
+ --tw-border-opacity: 1;
287
+ border-color: rgb(233 213 255 / var(--tw-border-opacity, 1))
288
+ }
289
+ .mylib-upload-drawer .dhu-border-slate-100 {
290
+ --tw-border-opacity: 1;
291
+ border-color: rgb(241 245 249 / var(--tw-border-opacity, 1))
292
+ }
293
+ .mylib-upload-drawer .dhu-bg-\\[\\#F5F7FA\\] {
294
+ --tw-bg-opacity: 1;
295
+ background-color: rgb(245 247 250 / var(--tw-bg-opacity, 1))
296
+ }
297
+ .mylib-upload-drawer .dhu-bg-blue-500\\/10 {
298
+ background-color: rgb(59 130 246 / 0.1)
299
+ }
300
+ .mylib-upload-drawer .dhu-bg-white {
301
+ --tw-bg-opacity: 1;
302
+ background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))
303
+ }
304
+ .mylib-upload-drawer .dhu-bg-gradient-to-br {
305
+ background-image: linear-gradient(to bottom right, var(--tw-gradient-stops))
306
+ }
307
+ .mylib-upload-drawer .dhu-from-purple-50 {
308
+ --tw-gradient-from: #faf5ff var(--tw-gradient-from-position);
309
+ --tw-gradient-to: rgb(250 245 255 / 0) var(--tw-gradient-to-position);
310
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
311
+ }
312
+ .mylib-upload-drawer .dhu-from-purple-500 {
313
+ --tw-gradient-from: #a855f7 var(--tw-gradient-from-position);
314
+ --tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);
315
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)
316
+ }
317
+ .mylib-upload-drawer .dhu-to-blue-50 {
318
+ --tw-gradient-to: #eff6ff var(--tw-gradient-to-position)
319
+ }
320
+ .mylib-upload-drawer .dhu-to-blue-500 {
321
+ --tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)
322
+ }
323
+ .mylib-upload-drawer .dhu-object-contain {
324
+ -o-object-fit: contain;
325
+ object-fit: contain
326
+ }
327
+ .mylib-upload-drawer .dhu-p-2 {
328
+ padding: 0.5rem
329
+ }
330
+ .mylib-upload-drawer .dhu-p-3 {
331
+ padding: 0.75rem
332
+ }
333
+ .mylib-upload-drawer .dhu-p-4 {
334
+ padding: 1rem
335
+ }
336
+ .mylib-upload-drawer .dhu-p-5 {
337
+ padding: 1.25rem
338
+ }
339
+ .mylib-upload-drawer .dhu-text-center {
340
+ text-align: center
341
+ }
342
+ .mylib-upload-drawer .dhu-text-right {
343
+ text-align: right
344
+ }
345
+ .mylib-upload-drawer .dhu-font-ali-55 {
346
+ font-family: AlibabaPuHuiTi-3-55-Regular
347
+ }
348
+ .mylib-upload-drawer .dhu-font-ali-75 {
349
+ font-family: AlibabaPuHuiTi-3-75-SemiBold
350
+ }
351
+ .mylib-upload-drawer .dhu-font-ali-85 {
352
+ font-family: AlibabaPuHuiTi-3-85-Bold
353
+ }
354
+ .mylib-upload-drawer .dhu-text-2xl {
355
+ font-size: 1.5rem;
356
+ line-height: 2rem
357
+ }
358
+ .mylib-upload-drawer .dhu-text-\\[32px\\] {
359
+ font-size: 32px
360
+ }
361
+ .mylib-upload-drawer .dhu-text-\\[36px\\] {
362
+ font-size: 36px
363
+ }
364
+ .mylib-upload-drawer .dhu-text-\\[40px\\] {
365
+ font-size: 40px
366
+ }
367
+ .mylib-upload-drawer .dhu-text-base {
368
+ font-size: 1rem;
369
+ line-height: 1.5rem
370
+ }
371
+ .mylib-upload-drawer .dhu-text-lg {
372
+ font-size: 1.125rem;
373
+ line-height: 1.75rem
374
+ }
375
+ .mylib-upload-drawer .dhu-text-sm {
376
+ font-size: 0.875rem;
377
+ line-height: 1.25rem
378
+ }
379
+ .mylib-upload-drawer .dhu-text-xl {
380
+ font-size: 1.25rem;
381
+ line-height: 1.75rem
382
+ }
383
+ .mylib-upload-drawer .dhu-text-xs {
384
+ font-size: 0.75rem;
385
+ line-height: 1rem
386
+ }
387
+ .mylib-upload-drawer .dhu-font-bold {
388
+ font-weight: 700
389
+ }
390
+ .mylib-upload-drawer .dhu-font-normal {
391
+ font-weight: 400
392
+ }
393
+ .mylib-upload-drawer .dhu-font-semibold {
394
+ font-weight: 600
395
+ }
396
+ .mylib-upload-drawer .dhu-leading-4 {
397
+ line-height: 1rem
398
+ }
399
+ .mylib-upload-drawer .dhu-leading-5 {
400
+ line-height: 1.25rem
401
+ }
402
+ .mylib-upload-drawer .dhu-leading-6 {
403
+ line-height: 1.5rem
404
+ }
405
+ .mylib-upload-drawer .dhu-leading-7 {
406
+ line-height: 1.75rem
407
+ }
408
+ .mylib-upload-drawer .dhu-leading-8 {
409
+ line-height: 2rem
410
+ }
411
+ .mylib-upload-drawer .dhu-leading-\\[44px\\] {
412
+ line-height: 44px
413
+ }
414
+ .mylib-upload-drawer .dhu-leading-\\[50px\\] {
415
+ line-height: 50px
416
+ }
417
+ .mylib-upload-drawer .dhu-leading-\\[56px\\] {
418
+ line-height: 56px
419
+ }
420
+ .mylib-upload-drawer .dhu-text-blue-5 {
421
+ --tw-text-opacity: 1;
422
+ color: rgb(23 117 254 / var(--tw-text-opacity, 1))
423
+ }
424
+ .mylib-upload-drawer .dhu-text-blue-500 {
425
+ --tw-text-opacity: 1;
426
+ color: rgb(59 130 246 / var(--tw-text-opacity, 1))
427
+ }
428
+ .mylib-upload-drawer .dhu-text-gray-10 {
429
+ --tw-text-opacity: 1;
430
+ color: rgb(34 36 39 / var(--tw-text-opacity, 1))
431
+ }
432
+ .mylib-upload-drawer .dhu-text-gray-5 {
433
+ --tw-text-opacity: 1;
434
+ color: rgb(135 144 158 / var(--tw-text-opacity, 1))
435
+ }
436
+ .mylib-upload-drawer .dhu-text-gray-500 {
437
+ --tw-text-opacity: 1;
438
+ color: rgb(107 114 128 / var(--tw-text-opacity, 1))
439
+ }
440
+ .mylib-upload-drawer .dhu-text-gray-7 {
441
+ --tw-text-opacity: 1;
442
+ color: rgb(84 91 100 / var(--tw-text-opacity, 1))
443
+ }
444
+ .mylib-upload-drawer .dhu-text-gray-900 {
445
+ --tw-text-opacity: 1;
446
+ color: rgb(17 24 39 / var(--tw-text-opacity, 1))
447
+ }
448
+ .mylib-upload-drawer .dhu-text-green-green {
449
+ --tw-text-opacity: 1;
450
+ color: rgb(83 195 27 / var(--tw-text-opacity, 1))
451
+ }
452
+ .mylib-upload-drawer .dhu-text-purple-700 {
453
+ --tw-text-opacity: 1;
454
+ color: rgb(126 34 206 / var(--tw-text-opacity, 1))
455
+ }
456
+ .mylib-upload-drawer .dhu-text-purple-900 {
457
+ --tw-text-opacity: 1;
458
+ color: rgb(88 28 135 / var(--tw-text-opacity, 1))
459
+ }
460
+ .mylib-upload-drawer .dhu-text-red-red {
461
+ --tw-text-opacity: 1;
462
+ color: rgb(254 77 79 / var(--tw-text-opacity, 1))
463
+ }
464
+ .mylib-upload-drawer .dhu-text-white {
465
+ --tw-text-opacity: 1;
466
+ color: rgb(255 255 255 / var(--tw-text-opacity, 1))
467
+ }
468
+ .mylib-upload-drawer .dhu-opacity-0 {
469
+ opacity: 0
470
+ }
471
+ .mylib-upload-drawer .dhu-shadow-md {
472
+ --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
473
+ --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
474
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
475
+ }
476
+ .mylib-upload-drawer .dhu-transition-opacity {
477
+ transition-property: opacity;
478
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
479
+ transition-duration: 150ms
480
+ }
481
+ .mylib-upload-drawer .dhu-transition-shadow {
482
+ transition-property: box-shadow;
483
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
484
+ transition-duration: 150ms
485
+ }
486
+ .mylib-upload-drawer .dhu-transition-transform {
487
+ transition-property: transform;
488
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
489
+ transition-duration: 150ms
490
+ }
491
+ .hover\\:dhu-bg-assist-bg-blue:hover {
492
+ --tw-bg-opacity: 1;
493
+ background-color: rgb(244 246 250 / var(--tw-bg-opacity, 1))
494
+ }
495
+ .hover\\:dhu-shadow-lg:hover {
496
+ --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
497
+ --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
498
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
499
+ }
500
+ .dhu-group:hover .group-hover\\:dhu--translate-x-10 {
501
+ --tw-translate-x: -2.5rem;
502
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
503
+ }
504
+ .dhu-group:hover .group-hover\\:dhu--translate-x-6 {
505
+ --tw-translate-x: -1.5rem;
506
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
507
+ }
508
+ .dhu-group:hover .group-hover\\:dhu-opacity-100 {
509
+ opacity: 1
510
+ }`;
511
+ document.head.appendChild(style);
@@ -0,0 +1,43 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { UploadStoreContext, TEMP_STORE } from './UploadStoreProvider.js';
4
+ export { default as UploadDrawerUploadStoreProvider } from './UploadStoreProvider.js';
5
+ import FileUploadDrawer$1 from './fileUploadDrawer.js';
6
+ import { createContext, useContext } from 'react';
7
+ import { GB } from './utils/constant.js';
8
+ import './index.css.js';
9
+ import { Drawer, Alert } from 'antd';
10
+
11
+ const FileUploadDrawerContext = createContext({
12
+ identifier: '',
13
+ getUploadUrls: () => __awaiter(void 0, void 0, void 0, function* () { return ({ status: false }); }),
14
+ onCancelUpload: () => __awaiter(void 0, void 0, void 0, function* () { return ({ status: false }); }),
15
+ onOnePartDone: () => __awaiter(void 0, void 0, void 0, function* () { return ({ status: false }); }),
16
+ onAllPartDone: () => __awaiter(void 0, void 0, void 0, function* () { return ({ status: false }); }),
17
+ });
18
+ /**
19
+ * @deprecated This component is deprecated and will be removed in future releases.
20
+ */
21
+ function FileUploadDrawer(props) {
22
+ // 检测是否在 UploadStoreProvider 内使用
23
+ const uploadStore = useContext(UploadStoreContext);
24
+ if (uploadStore === TEMP_STORE) {
25
+ return (jsx(Drawer, { open: props.open, onClose: props.onClose, title: "\u6570\u636E\u4E0A\u4F20", children: jsx(Alert, { message: "FileUploadDrawer \u5FC5\u987B\u5728 UploadStoreProvider \u5185\u4F7F\u7528", type: "warning" }) }));
26
+ }
27
+ const { identifier, maxSizePerFile = 10 * GB, directory = false, root = '', uploadHistory = [], onSuccess, getUploadUrls, onCancelUpload, onOnePartDone, onAllPartDone, onClose, dragAreaDescription, accept, open, footer, title, showFinished, } = props;
28
+ const contextValue = {
29
+ identifier,
30
+ maxSizePerFile,
31
+ directory,
32
+ root,
33
+ uploadHistory,
34
+ onSuccess,
35
+ getUploadUrls,
36
+ onCancelUpload,
37
+ onOnePartDone,
38
+ onAllPartDone,
39
+ };
40
+ return (jsx(FileUploadDrawerContext.Provider, { value: contextValue, children: jsx(FileUploadDrawer$1, { open: open, accept: accept, footer: footer, title: title, showFinished: showFinished, directory: directory, identifier: identifier, dragAreaDescription: dragAreaDescription, onClose: onClose }) }));
41
+ }
42
+
43
+ export { FileUploadDrawerContext, FileUploadDrawer as default };
@@ -0,0 +1,19 @@
1
+ import { GB, MB, KB } from './constant.js';
2
+
3
+ function calcDisplaySize(size) {
4
+ const units = [
5
+ { value: GB, label: 'GB' },
6
+ { value: MB, label: 'MB' },
7
+ { value: KB, label: 'KB' },
8
+ { value: 1, label: 'B' },
9
+ ];
10
+ for (const { value, label } of units) {
11
+ if (size >= value || value === 1) {
12
+ return (size / value).toFixed(1) + label;
13
+ }
14
+ }
15
+ // 这行代码理论上永远不会执行,但为了类型安全,我们保留它
16
+ return size + 'B';
17
+ }
18
+
19
+ export { calcDisplaySize };
@@ -0,0 +1,16 @@
1
+ const KB = 1024;
2
+ const MB = 1048576;
3
+ const GB = 1073741824;
4
+ var FILE_UPLOAD_STATUS;
5
+ (function (FILE_UPLOAD_STATUS) {
6
+ FILE_UPLOAD_STATUS[FILE_UPLOAD_STATUS["INIT"] = 1] = "INIT";
7
+ FILE_UPLOAD_STATUS[FILE_UPLOAD_STATUS["UPLOADING"] = 2] = "UPLOADING";
8
+ FILE_UPLOAD_STATUS[FILE_UPLOAD_STATUS["FINISHED"] = 3] = "FINISHED";
9
+ FILE_UPLOAD_STATUS[FILE_UPLOAD_STATUS["FAILED"] = 4] = "FAILED";
10
+ FILE_UPLOAD_STATUS[FILE_UPLOAD_STATUS["PAUSED"] = 5] = "PAUSED";
11
+ FILE_UPLOAD_STATUS[FILE_UPLOAD_STATUS["CANCELED"] = 6] = "CANCELED";
12
+ })(FILE_UPLOAD_STATUS || (FILE_UPLOAD_STATUS = {}));
13
+ const NEW = 1;
14
+ const USE_OLD_INFO = 2;
15
+
16
+ export { FILE_UPLOAD_STATUS, GB, KB, MB, NEW, USE_OLD_INFO };
@@ -0,0 +1,51 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { FILE_UPLOAD_STATUS, MB } from './constant.js';
3
+ import { calcDisplaySize } from './calcDisplaySize.js';
4
+
5
+ function createFileToUpload(raw, root, getUploadUrls) {
6
+ return __awaiter(this, void 0, void 0, function* () {
7
+ // 从原始文件中提取名称和大小
8
+ const { name, size: fileSize } = raw;
9
+ // 如果有根路径,则将其添加到文件名前
10
+ const fileName = root ? `${root}${name}` : name;
11
+ // 创建初始的文件上传对象
12
+ const fileToUpload = Object.assign(Object.assign({}, createInitialFileToUpload()), { fileName,
13
+ // 创建新的File对象,可能是为了重置某些属性
14
+ raw: new File([raw], fileName, { type: raw.type }), partCount: calculatePartCount(fileSize), chunkSize: calculateChunkSize(fileSize), displaySize: calcDisplaySize(fileSize) });
15
+ // 获取上传URL
16
+ const result = yield getUploadUrls(fileName, fileToUpload.partCount);
17
+ // 根据获取URL的结果,返回不同的对象
18
+ return result.status
19
+ ? Object.assign(Object.assign({}, fileToUpload), result.uploadInfo) : Object.assign(Object.assign({}, fileToUpload), { fileStatus: FILE_UPLOAD_STATUS.FAILED });
20
+ });
21
+ }
22
+ // 计算分块大小,小文件使用固定大小,大文件动态计算
23
+ function calculateChunkSize(fileSize) {
24
+ return fileSize < 10 * MB ? 10 * MB : Math.ceil(fileSize / 10);
25
+ }
26
+ // 计算文件需要分成的块数
27
+ function calculatePartCount(fileSize) {
28
+ const chunkSize = calculateChunkSize(fileSize);
29
+ return Math.floor(fileSize / chunkSize) + 1;
30
+ }
31
+ // 创建初始的文件上传对象,设置默认值
32
+ function createInitialFileToUpload() {
33
+ return {
34
+ fileStatus: FILE_UPLOAD_STATUS.INIT,
35
+ percentage: 0,
36
+ uploadId: '',
37
+ expiryTime: '',
38
+ uploadUrls: [],
39
+ completeSeq: [],
40
+ failSeq: [],
41
+ cancelControllers: {},
42
+ uploadStatus: [],
43
+ chunkSize: 0,
44
+ displaySize: '',
45
+ fileName: '',
46
+ partCount: 0,
47
+ raw: undefined,
48
+ };
49
+ }
50
+
51
+ export { createFileToUpload };
@@ -0,0 +1,28 @@
1
+ import { UPLOADS_DATABASE } from './index.js';
2
+
3
+ function deleteFileInStore(storeName, fileName) {
4
+ let transaction;
5
+ try {
6
+ transaction = UPLOADS_DATABASE.transaction(storeName, 'readwrite');
7
+ }
8
+ catch (ex) {
9
+ console.warn('db.transaction() exception in deleteFileInStore() - ' + ex.message);
10
+ return;
11
+ }
12
+ try {
13
+ const objectStore = transaction.objectStore(storeName);
14
+ const deleteReq = objectStore.delete(fileName);
15
+ deleteReq.onsuccess = () => {
16
+ return true;
17
+ };
18
+ deleteReq.onerror = (_e) => {
19
+ console.warn('deleteReq.onerror fired in deleteFileInStore() - error code: ' + deleteReq.error);
20
+ };
21
+ }
22
+ catch (ex) {
23
+ console.warn('Transaction and/or put() exception in deleteFileInStore() - ' + ex.message);
24
+ return;
25
+ }
26
+ }
27
+
28
+ export { deleteFileInStore };
@@ -0,0 +1,28 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { UPLOADS_DATABASE, DATABASE_NAME } from './index.js';
3
+
4
+ // 删除指定的对象存储空间
5
+ function deleteObjectStore(storeNames) {
6
+ return __awaiter(this, void 0, void 0, function* () {
7
+ const newVersion = UPLOADS_DATABASE.version + 1;
8
+ UPLOADS_DATABASE.close();
9
+ return new Promise((resolve, reject) => {
10
+ const openRequest = window.indexedDB.open(DATABASE_NAME, newVersion);
11
+ openRequest.onupgradeneeded = () => {
12
+ const db = openRequest.result;
13
+ storeNames.forEach((storeName) => {
14
+ if (db.objectStoreNames.contains(storeName)) {
15
+ db.deleteObjectStore(storeName);
16
+ }
17
+ });
18
+ };
19
+ openRequest.onsuccess = () => {
20
+ openRequest.result.close();
21
+ resolve();
22
+ };
23
+ openRequest.onerror = () => reject(openRequest.error);
24
+ });
25
+ });
26
+ }
27
+
28
+ export { deleteObjectStore };