@zjlab-fe/data-hub-ui 0.21.7 → 0.23.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 (328) 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 +23 -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 +56 -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 +20 -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 +14 -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 +47 -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 +11 -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 +72 -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 +61 -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 +25 -0
  109. package/es/components/file-uploader/components/uploader.css.js +20 -0
  110. package/es/components/file-uploader/components/uploader.js +49 -0
  111. package/es/components/file-uploader/components/uploading-status.css.js +52 -0
  112. package/es/components/file-uploader/components/uploading-status.js +53 -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 +14 -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 +257 -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 +23 -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 +36 -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 +42 -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 +40 -1
  221. package/es/lib/utils.js +8 -0
  222. package/lib/index.js +1 -1
  223. package/package.json +33 -6
  224. package/rollup.es.config.mjs +177 -0
  225. package/tsconfig.rollup.json +7 -0
  226. package/dist/types/components/FileUploader/FileUploaderContextProvider.d.ts +0 -9
  227. package/dist/types/components/FileUploader/FileUploaderFileDragger.d.ts +0 -11
  228. package/dist/types/components/FileUploader/FileUploaderFileDraggerDragAreaDescription.d.ts +0 -4
  229. package/dist/types/components/FileUploader/FileUploaderList.d.ts +0 -1
  230. package/dist/types/components/FileUploader/FileUploaderListItem.d.ts +0 -26
  231. package/dist/types/components/FileUploader/FileUploaderListItemFail.d.ts +0 -5
  232. package/dist/types/components/FileUploader/FileUploaderListItemPaused.d.ts +0 -5
  233. package/dist/types/components/FileUploader/FileUploaderListItemUploading.d.ts +0 -2
  234. package/dist/types/components/FileUploader/FileUploaderMain.d.ts +0 -7
  235. package/dist/types/components/FileUploader/FileUploaderlListItemFinished.d.ts +0 -5
  236. package/dist/types/components/FileUploader/UploadStoreProvider.d.ts +0 -41
  237. package/dist/types/components/FileUploader/hooks/useCheckForDuplicates.d.ts +0 -1
  238. package/dist/types/components/FileUploader/hooks/useCurrentFIleOnInit.d.ts +0 -5
  239. package/dist/types/components/FileUploader/hooks/useCurrentFileOnAllUploaded.d.ts +0 -1
  240. package/dist/types/components/FileUploader/hooks/useCurrentFileOnCancel.d.ts +0 -2
  241. package/dist/types/components/FileUploader/hooks/useCurrentFileOnFail.d.ts +0 -2
  242. package/dist/types/components/FileUploader/hooks/useCurrentFileOnFinished.d.ts +0 -2
  243. package/dist/types/components/FileUploader/hooks/useFileDragAndDrop.d.ts +0 -9
  244. package/dist/types/components/FileUploader/hooks/useRemoveFilesInUploadQueue.d.ts +0 -1
  245. package/dist/types/components/FileUploader/hooks/useResumeUnfinishedUploads.d.ts +0 -1
  246. package/dist/types/components/FileUploader/hooks/useSaveUnfinishedUploads.d.ts +0 -11
  247. package/dist/types/components/FileUploader/hooks/useTranslate.d.ts +0 -1
  248. package/dist/types/components/FileUploader/hooks/useUploadContext.d.ts +0 -26
  249. package/dist/types/components/FileUploader/hooks/useWathUploadQueueAndSetupCurrentFile.d.ts +0 -1
  250. package/dist/types/components/FileUploader/translations.d.ts +0 -4
  251. package/dist/types/components/file-uploader/hooks/use-upload-batch.d.ts +0 -36
  252. package/dist/types/components/file-uploader/hooks/use-upload-control.d.ts +0 -37
  253. package/dist/types/components/file-uploader/hooks/use-upload-files.d.ts +0 -40
  254. package/dist/types/components/file-uploader/hooks/use-upload-operations.d.ts +0 -43
  255. package/dist/types/components/tip-tap/actions/BoldItalicStrikeUnderline.d.ts +0 -4
  256. package/dist/types/components/tip-tap/actions/CodeQuoteHorizontalRule.d.ts +0 -4
  257. package/dist/types/components/tip-tap/actions/Image.d.ts +0 -4
  258. package/dist/types/components/tip-tap/actions/Link.d.ts +0 -5
  259. package/dist/types/components/tip-tap/actions/LinkModifier.d.ts +0 -4
  260. package/dist/types/components/tip-tap/actions/List.d.ts +0 -4
  261. package/dist/types/components/tip-tap/actions/ParagraphHeadings.d.ts +0 -13
  262. package/dist/types/components/tip-tap/actions/Table.d.ts +0 -4
  263. package/dist/types/components/tip-tap/actions/TextAligment.d.ts +0 -4
  264. package/dist/types/components/tip-tap/actions/UndoRedo.d.ts +0 -4
  265. package/dist/types/components/tip-tap/actions/action-image.d.ts +0 -4
  266. package/dist/types/components/tip-tap/actions/action-link.d.ts +0 -5
  267. package/dist/types/components/tip-tap/actions/action-list.d.ts +0 -4
  268. package/dist/types/components/tip-tap/actions/action-table.d.ts +0 -4
  269. package/dist/types/components/tip-tap/actions/bold-italic-strike-underline.d.ts +0 -4
  270. package/dist/types/components/tip-tap/actions/code-quote-horizontalRule.d.ts +0 -4
  271. package/dist/types/components/tip-tap/actions/highlight-textcolor-fontsize.d.ts +0 -4
  272. package/dist/types/components/tip-tap/actions/link-modifier.d.ts +0 -4
  273. package/dist/types/components/tip-tap/actions/paragraph-headings.d.ts +0 -13
  274. package/dist/types/components/tip-tap/actions/text-aligment.d.ts +0 -4
  275. package/dist/types/components/tip-tap/actions/undo-redo.d.ts +0 -4
  276. package/dist/types/components/tip-tap/extensions/DropHandler.d.ts +0 -2
  277. package/dist/types/components/tip-tap/extensions/FontSize.d.ts +0 -20
  278. package/dist/types/components/tip-tap/extensions/PatseHandler.d.ts +0 -3
  279. package/dist/types/components/tip-tap/extensions/drop-handler.d.ts +0 -2
  280. package/dist/types/components/tip-tap/extensions/font-size.d.ts +0 -20
  281. package/dist/types/components/tip-tap/extensions/patse-handler.d.ts +0 -3
  282. package/dist/types/components/tip-tap/icons/HumbleiconsAlignTextCenter.d.ts +0 -3
  283. package/dist/types/components/tip-tap/icons/HumbleiconsAlignTextJustify.d.ts +0 -3
  284. package/dist/types/components/tip-tap/icons/HumbleiconsAlignTextLeft.d.ts +0 -3
  285. package/dist/types/components/tip-tap/icons/HumbleiconsAlignTextRight.d.ts +0 -3
  286. package/dist/types/components/tip-tap/icons/MaterialSymbolsAddLink.d.ts +0 -3
  287. package/dist/types/components/tip-tap/icons/MaterialSymbolsAddPhotoAlternateOutline.d.ts +0 -3
  288. package/dist/types/components/tip-tap/icons/MaterialSymbolsCode.d.ts +0 -3
  289. package/dist/types/components/tip-tap/icons/MaterialSymbolsEditOutline.d.ts +0 -3
  290. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatColorText.d.ts +0 -3
  291. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatH1.d.ts +0 -3
  292. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatH2.d.ts +0 -3
  293. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatH3.d.ts +0 -3
  294. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatH4.d.ts +0 -3
  295. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatH5.d.ts +0 -3
  296. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatH6.d.ts +0 -3
  297. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatInkHighlighterOutlineSharp.d.ts +0 -3
  298. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatListBulleted.d.ts +0 -3
  299. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatListNumbered.d.ts +0 -3
  300. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatParagraph.d.ts +0 -3
  301. package/dist/types/components/tip-tap/icons/MaterialSymbolsFormatQuote.d.ts +0 -3
  302. package/dist/types/components/tip-tap/icons/MaterialSymbolsHorizontalRule.d.ts +0 -3
  303. package/dist/types/components/tip-tap/icons/MaterialSymbolsLinkOff.d.ts +0 -3
  304. package/dist/types/components/tip-tap/icons/MaterialSymbolsRedo.d.ts +0 -3
  305. package/dist/types/components/tip-tap/icons/MaterialSymbolsTable.d.ts +0 -3
  306. package/dist/types/components/tip-tap/icons/MaterialSymbolsUndo.d.ts +0 -3
  307. package/dist/types/components/tip-tap/icons/MdiCodeBlockTags.d.ts +0 -3
  308. package/dist/types/components/tip-tap/icons/MdiFormatBold.d.ts +0 -3
  309. package/dist/types/components/tip-tap/icons/MdiFormatItalic.d.ts +0 -3
  310. package/dist/types/components/tip-tap/icons/MdiFormatStrikethroughVariant.d.ts +0 -3
  311. package/dist/types/components/tip-tap/icons/MdiFormatUnderline.d.ts +0 -3
  312. package/dist/types/components/tip-tap/menus/BubbleMenu.d.ts +0 -7
  313. package/dist/types/components/tip-tap/menus/FixedMenu.d.ts +0 -9
  314. package/dist/types/components/tip-tap/menus/LinkFloatingMenu.d.ts +0 -6
  315. package/dist/types/components/tip-tap/menus/ParagraphFloatingMenu.d.ts +0 -6
  316. package/dist/types/components/tip-tap/menus/bubble-menu.d.ts +0 -7
  317. package/dist/types/components/tip-tap/menus/fixed-menu.d.ts +0 -9
  318. package/dist/types/components/tip-tap/menus/link-floating-menu.d.ts +0 -6
  319. package/dist/types/components/tip-tap/menus/paragraph-floating-menu.d.ts +0 -6
  320. package/dist/types/components/tip-tap/the-editor.d.ts +0 -4
  321. package/dist/types/components/tip-tap/utils/add-image-to-editor.d.ts +0 -2
  322. package/dist/types/components/tip-tap/utils/addImageToEditor.d.ts +0 -2
  323. package/dist/types/components/tip-tap/utils/markdown-detector.d.ts +0 -33
  324. package/dist/types/components/tip-tap/utils/parse-markdown.d.ts +0 -2
  325. package/dist/types/components/tip-tap/utils/parseMarkDown.d.ts +0 -2
  326. package/dist/types/components/tip-tap-2/demo/index.d.ts +0 -1
  327. package/dist/types/components/tip-tap-2/index.d.ts +0 -26
  328. package/dist/types/demo/layout/index.d.ts +0 -2
@@ -0,0 +1,440 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { useCallback } from 'react';
3
+ import { useUploadContext } from './upload-context.js';
4
+ import { UploadStatus } from '../constants.js';
5
+ import { createUploadError, UPLOAD_ERROR_CODE, parseError } from '../utils/error-handler.js';
6
+ import { handlerRegistry } from './handler-registry.js';
7
+ import { actionRegistry } from './action-registry.js';
8
+ import { resetInterruptedChunks, getChunksForResume } from '../utils/upload-controllers.js';
9
+ import { fileStateStore } from './file-state-store.js';
10
+ import { ensureHandlers } from '../utils/ensure-handlers.js';
11
+
12
+ /**
13
+ * Get fresh handler context from the action registry.
14
+ * Returns a fallback empty context if not yet initialized.
15
+ */
16
+ function getHandlerContext() {
17
+ const ctx = actionRegistry.getContext();
18
+ if (!ctx) {
19
+ // Return a minimal fallback context
20
+ // This can happen during initial render before useUpload updates the registry
21
+ return {
22
+ files: [],
23
+ removeFile: () => __awaiter(this, void 0, void 0, function* () { }),
24
+ start: () => __awaiter(this, void 0, void 0, function* () { }),
25
+ pause: () => { },
26
+ resume: () => __awaiter(this, void 0, void 0, function* () { }),
27
+ cancel: () => { },
28
+ getFileById: () => undefined,
29
+ };
30
+ }
31
+ return ctx;
32
+ }
33
+ function applyUploadUrlsToChunks(chunks, uploadUrls) {
34
+ // Assign partNum and uploadUrl based on server's response
35
+ // This ensures we respect the server's numbering scheme (0-indexed or 1-indexed)
36
+ return chunks.map((chunk, index) => {
37
+ const urlInfo = uploadUrls[index]; // Match chunk index to URL index
38
+ if (!urlInfo)
39
+ return chunk; // Skip if no corresponding URL
40
+ return Object.assign(Object.assign({}, chunk), { partNum: urlInfo.partNum, uploadUrl: urlInfo.uploadUrl });
41
+ });
42
+ }
43
+ function collectPendingUrlsFromChunks(file, pendingPartNums) {
44
+ const pendingSet = new Set(pendingPartNums);
45
+ return file.chunks
46
+ .filter((chunk) => chunk.partNum !== undefined && pendingSet.has(chunk.partNum) && !!chunk.uploadUrl)
47
+ .map((chunk) => ({ partNum: chunk.partNum, uploadUrl: chunk.uploadUrl }));
48
+ }
49
+ /**
50
+ * Hook that integrates QueueManager with React context.
51
+ *
52
+ * This hook bridges the imperative QueueManager with React's declarative state.
53
+ * It provides functions to control uploads while keeping UI state in sync.
54
+ *
55
+ * Global config (chunk sizes, concurrency) comes from context.
56
+ * Handlers are provided per-file via addFiles().
57
+ *
58
+ * @returns Upload control functions: startUpload, pauseUpload, resumeUpload, cancelUpload
59
+ */
60
+ function useUploadEngine() {
61
+ // QueueManager instance is initialized and managed by UploadProvider
62
+ // File state is accessed via fileStateStore.getFile() for fresh data without stale closures
63
+ const { dispatch, getQueueManager } = useUploadContext();
64
+ // ─────────────────────────────────────────────────────────────────────────────
65
+ // UPLOAD CONTROLS
66
+ // ─────────────────────────────────────────────────────────────────────────────
67
+ /**
68
+ * Start uploading a file.
69
+ *
70
+ * Flow:
71
+ * 1. Call onBeforeUpload (can cancel)
72
+ * 2. Get upload URLs from server
73
+ * 3. Add file to QueueManager
74
+ * 4. Call onUploadStart
75
+ */
76
+ const startUpload = useCallback((uploadFile) => __awaiter(this, void 0, void 0, function* () {
77
+ var _a, _b, _c, _d, _e;
78
+ const h = ensureHandlers(uploadFile, dispatch);
79
+ if (!h)
80
+ return;
81
+ try {
82
+ // Step 1: Set preparing status
83
+ dispatch({
84
+ type: 'UPDATE_FILE',
85
+ id: uploadFile.id,
86
+ updates: { status: UploadStatus.PREPARING },
87
+ });
88
+ // Step 2: Check onBeforeUpload (can cancel upload)
89
+ if (h.onBeforeUpload) {
90
+ const ctx = getHandlerContext();
91
+ const beforeResult = yield h.onBeforeUpload(uploadFile, ctx);
92
+ if (!beforeResult.success) {
93
+ dispatch({
94
+ type: 'UPDATE_FILE',
95
+ id: uploadFile.id,
96
+ updates: {
97
+ status: UploadStatus.CANCELLED,
98
+ error: beforeResult.reason,
99
+ },
100
+ });
101
+ return;
102
+ }
103
+ }
104
+ // Step 3: Get upload URLs from server
105
+ const urlResult = yield h.onGetUploadUrls(uploadFile.fileName, uploadFile.chunks.length, uploadFile);
106
+ if (!urlResult.success) {
107
+ const error = createUploadError(UPLOAD_ERROR_CODE.URL_REQUEST_FAILED, (_a = urlResult.reason) !== null && _a !== void 0 ? _a : 'Failed to get upload URLs');
108
+ dispatch({
109
+ type: 'UPDATE_FILE',
110
+ id: uploadFile.id,
111
+ updates: {
112
+ status: UploadStatus.FAILED,
113
+ error: error.message,
114
+ errorCode: error.code,
115
+ },
116
+ });
117
+ const ctx = getHandlerContext();
118
+ (_b = h.onError) === null || _b === void 0 ? void 0 : _b.call(h, uploadFile, new Error(error.message), ctx);
119
+ return;
120
+ }
121
+ // Step 4: Update file with uploadId and start uploading
122
+ const { uploadId, uploadUrls } = urlResult.uploadInfo;
123
+ const chunksWithUrls = applyUploadUrlsToChunks(uploadFile.chunks, uploadUrls);
124
+ dispatch({
125
+ type: 'UPDATE_FILE',
126
+ id: uploadFile.id,
127
+ updates: { uploadId, status: UploadStatus.UPLOADING, chunks: chunksWithUrls },
128
+ });
129
+ // Step 5: Add to queue and notify
130
+ const qm = getQueueManager();
131
+ const updatedFile = Object.assign(Object.assign({}, uploadFile), { uploadId, chunks: chunksWithUrls });
132
+ qm.addFile(updatedFile);
133
+ const ctx = getHandlerContext();
134
+ (_c = h.onUploadStart) === null || _c === void 0 ? void 0 : _c.call(h, updatedFile, ctx);
135
+ }
136
+ catch (error) {
137
+ // Catch unexpected errors during upload preparation
138
+ const uploadError = parseError(error, 'Failed to start upload');
139
+ dispatch({
140
+ type: 'UPDATE_FILE',
141
+ id: uploadFile.id,
142
+ updates: {
143
+ status: UploadStatus.FAILED,
144
+ error: uploadError.message,
145
+ errorCode: uploadError.code,
146
+ },
147
+ });
148
+ const ctx = getHandlerContext();
149
+ (_d = h === null || h === void 0 ? void 0 : h.onError) === null || _d === void 0 ? void 0 : _d.call(h, uploadFile, (_e = uploadError.originalError) !== null && _e !== void 0 ? _e : new Error(uploadError.message), ctx);
150
+ }
151
+ }), [dispatch, getQueueManager]);
152
+ /**
153
+ * Pause an uploading file.
154
+ * Active chunk uploads are aborted, uploading chunks are reset to pending.
155
+ */
156
+ const pauseUpload = useCallback((fileId) => {
157
+ var _a, _b;
158
+ const file = fileStateStore.getFile(fileId);
159
+ if (!file)
160
+ return;
161
+ // Abort active uploads and mark file as paused in queue
162
+ getQueueManager().pauseFile(fileId);
163
+ // Reset any uploading chunks to pending (they were interrupted)
164
+ const updatedChunks = resetInterruptedChunks(file.chunks);
165
+ dispatch({
166
+ type: 'UPDATE_FILE',
167
+ id: fileId,
168
+ updates: {
169
+ status: UploadStatus.PAUSED,
170
+ chunks: updatedChunks,
171
+ },
172
+ });
173
+ const ctx = getHandlerContext();
174
+ (_b = (_a = handlerRegistry.get(fileId)) === null || _a === void 0 ? void 0 : _a.onPause) === null || _b === void 0 ? void 0 : _b.call(_a, file, ctx);
175
+ }, [dispatch, getQueueManager]);
176
+ /**
177
+ * Resume a paused file.
178
+ * Reuses stored upload URLs for pending chunks and re-adds them to queue.
179
+ * TODO: When backend supports URL refresh, fetch fresh URLs here instead of reusing cached ones.
180
+ */
181
+ const resumeUpload = useCallback((fileId) => __awaiter(this, void 0, void 0, function* () {
182
+ var _a, _b, _c, _d;
183
+ const file = fileStateStore.getFile(fileId);
184
+ if (!file || !file.file) {
185
+ const error = createUploadError(UPLOAD_ERROR_CODE.MISSING_FILE, 'File is missing, cannot resume');
186
+ console.error(error.message);
187
+ return;
188
+ }
189
+ const h = ensureHandlers(file, dispatch);
190
+ if (!h)
191
+ return;
192
+ try {
193
+ // Get pending chunks that need to be uploaded
194
+ const { pendingPartNums, pendingCount } = getChunksForResume(file);
195
+ if (pendingCount === 0)
196
+ return;
197
+ // Update status to uploading
198
+ dispatch({
199
+ type: 'UPDATE_FILE',
200
+ id: fileId,
201
+ updates: { status: UploadStatus.UPLOADING },
202
+ });
203
+ const pendingUrls = collectPendingUrlsFromChunks(file, pendingPartNums);
204
+ if (!file.uploadId || pendingUrls.length < pendingCount) {
205
+ const error = createUploadError(UPLOAD_ERROR_CODE.URL_REQUEST_FAILED, 'Missing stored upload URLs; URL refresh flow not yet implemented');
206
+ dispatch({
207
+ type: 'UPDATE_FILE',
208
+ id: fileId,
209
+ updates: {
210
+ status: UploadStatus.FAILED,
211
+ error: error.message,
212
+ errorCode: error.code,
213
+ },
214
+ });
215
+ const ctx = getHandlerContext();
216
+ (_a = h.onError) === null || _a === void 0 ? void 0 : _a.call(h, file, new Error(error.message), ctx);
217
+ return;
218
+ }
219
+ // Re-register handlers for background upload support
220
+ handlerRegistry.register(fileId, h, 'resumeUpload');
221
+ // Clear any stale queue items and unpause
222
+ const qm = getQueueManager();
223
+ qm.clearFileFromQueue(fileId);
224
+ qm.resumeFile(fileId);
225
+ // Re-add file with only pending chunks to queue
226
+ const fileWithUrls = Object.assign({}, file);
227
+ qm.addFile(fileWithUrls);
228
+ const ctx = getHandlerContext();
229
+ (_b = h.onResume) === null || _b === void 0 ? void 0 : _b.call(h, file, ctx);
230
+ }
231
+ catch (error) {
232
+ const uploadError = parseError(error, 'Failed to resume upload');
233
+ dispatch({
234
+ type: 'UPDATE_FILE',
235
+ id: fileId,
236
+ updates: {
237
+ status: UploadStatus.FAILED,
238
+ error: uploadError.message,
239
+ errorCode: uploadError.code,
240
+ },
241
+ });
242
+ const ctx = getHandlerContext();
243
+ (_c = h === null || h === void 0 ? void 0 : h.onError) === null || _c === void 0 ? void 0 : _c.call(h, file, (_d = uploadError.originalError) !== null && _d !== void 0 ? _d : new Error(uploadError.message), ctx);
244
+ }
245
+ }), [dispatch, getQueueManager]);
246
+ /**
247
+ * Cancel a file upload with complete cleanup.
248
+ * Steps:
249
+ * 1. Abort all active chunk uploads and clear queue state
250
+ * 2. Notify server (with error handling)
251
+ * 3. Update status to CANCELLED
252
+ */
253
+ const cancelUpload = useCallback((fileId) => __awaiter(this, void 0, void 0, function* () {
254
+ var _a;
255
+ const file = fileStateStore.getFile(fileId);
256
+ if (!file)
257
+ return;
258
+ // 1. Abort active uploads and remove from queue
259
+ getQueueManager().cancelFile(fileId);
260
+ // 2. Notify server (don't block on failure)
261
+ try {
262
+ if (file.uploadId) {
263
+ const handlers = handlerRegistry.get(fileId);
264
+ const result = yield ((_a = handlers === null || handlers === void 0 ? void 0 : handlers.onUploadCancel) === null || _a === void 0 ? void 0 : _a.call(handlers, file.fileName, file.uploadId, file));
265
+ if (result && !result.success) {
266
+ console.warn(`Cancel notification failed for ${file.fileName}:`, result.reason);
267
+ }
268
+ }
269
+ }
270
+ catch (error) {
271
+ console.warn(`Cancel notification error for ${file.fileName}:`, error);
272
+ }
273
+ // 3. Update status to CANCELLED
274
+ dispatch({
275
+ type: 'UPDATE_FILE',
276
+ id: fileId,
277
+ updates: { status: UploadStatus.CANCELLED },
278
+ });
279
+ }), [dispatch, getQueueManager]);
280
+ /**
281
+ * Retry a failed upload using smart retry strategy.
282
+ *
283
+ * Strategy:
284
+ * 1. First attempt: Smart retry - only retry failed chunks
285
+ * 2. If URL error occurs: Fallback to full retry - reset all chunks
286
+ *
287
+ * Smart retry is more efficient for large files with partial failures.
288
+ * Full retry ensures compatibility when server state is lost.
289
+ *
290
+ * @param fileId - ID of the failed file to retry
291
+ * @param forceFullRetry - Skip smart retry and do full retry immediately
292
+ * @returns Object with success status and retry type used
293
+ */
294
+ // const retryUpload = useCallback(
295
+ // async (
296
+ // fileId: string,
297
+ // forceFullRetry: boolean = false,
298
+ // ): Promise<{ success: boolean; retryType: 'smart' | 'full' }> => {
299
+ // const file = stateRef.current.files.find((f) => f.id === fileId);
300
+ // if (!file || !file.file) {
301
+ // const error = createUploadError(UPLOAD_ERROR_CODE.MISSING_FILE, 'File is missing, cannot retry');
302
+ // console.error(error.message);
303
+ // return { success: false, retryType: 'smart' };
304
+ // }
305
+ // const h = ensureHandlers(fileId, file);
306
+ // if (!h) {
307
+ // return { success: false, retryType: 'smart' };
308
+ // }
309
+ // // Increment retry count
310
+ // const retryCount = (file.retryCount ?? 0) + 1;
311
+ // const failedChunksResult = getFailedChunks(file);
312
+ // // If forcing full retry or no failed chunks, do full retry
313
+ // if (forceFullRetry || !failedChunksResult.hasFailed) {
314
+ // return performFullRetry(file, h, retryCount);
315
+ // }
316
+ // // ─────────────────────────────────────────────────────────────────────────
317
+ // // SMART RETRY: Retry only failed chunks
318
+ // // ─────────────────────────────────────────────────────────────────────────
319
+ // try {
320
+ // // Reset only failed chunks to pending
321
+ // const updatedChunks = resetFailedChunks(file.chunks);
322
+ // dispatch({
323
+ // type: 'UPDATE_FILE',
324
+ // id: fileId,
325
+ // updates: {
326
+ // status: UploadStatus.UPLOADING,
327
+ // chunks: updatedChunks,
328
+ // error: undefined,
329
+ // errorCode: undefined,
330
+ // retryCount,
331
+ // },
332
+ // });
333
+ // // Get fresh URLs for all chunks (server needs full chunk count)
334
+ // const urlResult = await h.onGetUploadUrls(file.fileName, file.chunks.length);
335
+ // if (!urlResult.status) {
336
+ // // URL request failed - try full retry as fallback
337
+ // console.warn('Smart retry URL fetch failed, falling back to full retry');
338
+ // return performFullRetry(file, h, retryCount);
339
+ // }
340
+ // // Filter URLs to only failed chunks
341
+ // const failedUrls = filterUrlsForPendingChunks(
342
+ // urlResult.uploadInfo.uploadUrls,
343
+ // failedChunksResult.failedPartNums,
344
+ // );
345
+ // // Re-register handlers for background upload support
346
+ // handlerRegistry.register(fileId, h, 'retryUpload:smart');
347
+ // // Clear stale queue items and re-add with failed chunks only
348
+ // const qm = getQueueManager();
349
+ // qm.clearFileFromQueue(fileId);
350
+ // const fileWithUrls = {
351
+ // ...file,
352
+ // uploadId: urlResult.uploadInfo.uploadId,
353
+ // chunks: updatedChunks,
354
+ // retryCount,
355
+ // };
356
+ // qm.addFile(fileWithUrls, failedUrls);
357
+ // h.onRetry?.(file, 'smart');
358
+ // return { success: true, retryType: 'smart' };
359
+ // } catch (error) {
360
+ // // Smart retry failed - fallback to full retry
361
+ // const uploadError = parseError(error, 'Smart retry failed');
362
+ // console.warn('Smart retry failed, falling back to full retry:', uploadError.message);
363
+ // return performFullRetry(file, h, retryCount);
364
+ // }
365
+ // // ─────────────────────────────────────────────────────────────────────────
366
+ // // FULL RETRY: Reset all chunks and start from beginning
367
+ // // ─────────────────────────────────────────────────────────────────────────
368
+ // async function performFullRetry(
369
+ // uploadFile: UploadFile,
370
+ // handlers: UploadHandlers,
371
+ // retryAttempt: number,
372
+ // ): Promise<{ success: boolean; retryType: 'full' }> {
373
+ // try {
374
+ // // Reset all chunks to pending
375
+ // const resetChunks = resetAllChunks(uploadFile.chunks);
376
+ // dispatch({
377
+ // type: 'UPDATE_FILE',
378
+ // id: fileId,
379
+ // updates: {
380
+ // status: UploadStatus.PENDING,
381
+ // progress: 0,
382
+ // error: undefined,
383
+ // errorCode: undefined,
384
+ // uploadId: '',
385
+ // chunks: resetChunks,
386
+ // retryCount: retryAttempt,
387
+ // },
388
+ // });
389
+ // // Use startUpload for full retry
390
+ // const resetFile: UploadFile = {
391
+ // ...uploadFile,
392
+ // status: UploadStatus.PENDING,
393
+ // progress: 0,
394
+ // error: undefined,
395
+ // errorCode: undefined,
396
+ // uploadId: '',
397
+ // chunks: resetChunks,
398
+ // retryCount: retryAttempt,
399
+ // };
400
+ // await startUpload(resetFile);
401
+ // handlers.onRetry?.(uploadFile, 'full');
402
+ // return { success: true, retryType: 'full' };
403
+ // } catch (error) {
404
+ // const uploadError = parseError(error, 'Retry failed');
405
+ // console.error('Full retry failed:', uploadError.message);
406
+ // dispatch({
407
+ // type: 'UPDATE_FILE',
408
+ // id: fileId,
409
+ // updates: {
410
+ // status: UploadStatus.FAILED,
411
+ // error: uploadError.message,
412
+ // errorCode: uploadError.code,
413
+ // retryCount: retryAttempt,
414
+ // },
415
+ // });
416
+ // handlers.onError?.(uploadFile, uploadError.originalError ?? new Error(uploadError.message));
417
+ // return { success: false, retryType: 'full' };
418
+ // }
419
+ // }
420
+ // },
421
+ // [dispatch, getQueueManager, startUpload, ensureHandlers],
422
+ // );
423
+ // ─────────────────────────────────────────────────────────────────────────────
424
+ // PUBLIC API
425
+ // ─────────────────────────────────────────────────────────────────────────────
426
+ return {
427
+ /** Start uploading a file */
428
+ startUpload,
429
+ /** Pause an uploading file */
430
+ pauseUpload,
431
+ /** Resume a paused file */
432
+ resumeUpload,
433
+ /** Cancel a file upload */
434
+ cancelUpload,
435
+ /** Retry a failed upload (smart retry with full retry fallback) */
436
+ // retryUpload,
437
+ };
438
+ }
439
+
440
+ export { useUploadEngine };