@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,257 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { UploadStatus, ChunkStatus } from '../constants.js';
3
+ import { createUploadError, UPLOAD_ERROR_CODE, parseError } from '../utils/error-handler.js';
4
+ import { handlerRegistry } from '../context/handler-registry.js';
5
+ import { actionRegistry } from '../context/action-registry.js';
6
+ import { fileStateStore } from '../context/file-state-store.js';
7
+
8
+ /**
9
+ * Creates QueueManager callbacks that integrate with React state.
10
+ *
11
+ * These callbacks are called by QueueManager during upload lifecycle:
12
+ * - onChunkProgress: When chunk upload progress updates
13
+ * - onChunkComplete: When a chunk finishes uploading
14
+ * - onChunkError: When a chunk upload fails
15
+ * - onFileComplete: When all chunks of a file are uploaded
16
+ */
17
+ function createQueueCallbacks({ dispatch }) {
18
+ return {
19
+ /**
20
+ * Called when chunk S3 upload completes successfully.
21
+ * Marks chunk as 90% complete and updates file progress.
22
+ */
23
+ onChunkUploadComplete: (fileId, partNum) => {
24
+ var _a;
25
+ // Mark chunk as 90% complete (S3 upload done, waiting for backend validation)
26
+ dispatch({
27
+ type: 'UPDATE_CHUNK',
28
+ fileId,
29
+ partNum,
30
+ updates: { progress: 90 },
31
+ });
32
+ // Calculate and update overall file progress (scaled to 90% max)
33
+ const file = fileStateStore.getFile(fileId);
34
+ if (!file)
35
+ return;
36
+ const totalProgress = file.chunks.reduce((sum, chunk) => {
37
+ // Use 90% for the chunk being updated, existing for others
38
+ const chunkProgress = chunk.partNum === partNum ? 90 : chunk.progress;
39
+ return sum + chunkProgress;
40
+ }, 0);
41
+ // Scale to 90% - remaining 10% is for final file merge
42
+ const fileProgress = Math.round((totalProgress / file.chunks.length) * 0.9);
43
+ dispatch({
44
+ type: 'UPDATE_FILE',
45
+ id: fileId,
46
+ updates: { progress: fileProgress },
47
+ });
48
+ // Notify handler of progress update
49
+ const handlers = getHandlersForFile(fileId);
50
+ const ctx = getHandlerContext();
51
+ (_a = handlers.onProgress) === null || _a === void 0 ? void 0 : _a.call(handlers, file, fileProgress, ctx);
52
+ },
53
+ /**
54
+ * Called when a chunk upload completes successfully.
55
+ * Notifies the server and marks chunk as completed only if server confirms.
56
+ * Returns validation result to queue manager.
57
+ */
58
+ onChunkComplete: (fileId, partNum) => __awaiter(this, void 0, void 0, function* () {
59
+ var _a, _b, _c;
60
+ const file = fileStateStore.getFile(fileId);
61
+ if (!file)
62
+ return { success: false, reason: 'File not found' };
63
+ const handlers = getHandlersForFile(fileId);
64
+ try {
65
+ // Notify server that part is complete and wait for confirmation
66
+ const result = yield ((_a = handlers.onPartComplete) === null || _a === void 0 ? void 0 : _a.call(handlers, file.fileName, file.uploadId, partNum, file));
67
+ if (result === null || result === void 0 ? void 0 : result.success) {
68
+ // Server confirmed - mark chunk as completed (100%)
69
+ dispatch({
70
+ type: 'UPDATE_CHUNK',
71
+ fileId,
72
+ partNum,
73
+ updates: {
74
+ status: ChunkStatus.COMPLETED,
75
+ progress: 100,
76
+ },
77
+ });
78
+ // Update file progress after chunk completion (scaled to 90% max)
79
+ const updatedFile = fileStateStore.getFile(fileId);
80
+ if (updatedFile) {
81
+ const totalProgress = updatedFile.chunks.reduce((sum, chunk) => {
82
+ return sum + (chunk.partNum === partNum ? 100 : chunk.progress);
83
+ }, 0);
84
+ // Scale to 90% - remaining 10% is for final file merge
85
+ const fileProgress = Math.round((totalProgress / updatedFile.chunks.length) * 0.9);
86
+ dispatch({
87
+ type: 'UPDATE_FILE',
88
+ id: fileId,
89
+ updates: { progress: fileProgress },
90
+ });
91
+ const ctx = getHandlerContext();
92
+ (_b = handlers.onProgress) === null || _b === void 0 ? void 0 : _b.call(handlers, updatedFile, fileProgress, ctx);
93
+ }
94
+ return { success: true };
95
+ }
96
+ else {
97
+ // Server rejected - mark chunk as failed
98
+ const error = createUploadError(UPLOAD_ERROR_CODE.CHUNK_UPLOAD_FAILED, (_c = result === null || result === void 0 ? void 0 : result.reason) !== null && _c !== void 0 ? _c : 'Server rejected chunk completion');
99
+ dispatch({
100
+ type: 'UPDATE_CHUNK',
101
+ fileId,
102
+ partNum,
103
+ updates: {
104
+ status: ChunkStatus.FAILED,
105
+ error: error.message,
106
+ },
107
+ });
108
+ return { success: false, reason: error.message };
109
+ }
110
+ }
111
+ catch (error) {
112
+ // Network error or other exception during API call
113
+ const uploadError = parseError(error, 'Failed to notify server of chunk completion');
114
+ dispatch({
115
+ type: 'UPDATE_CHUNK',
116
+ fileId,
117
+ partNum,
118
+ updates: {
119
+ status: ChunkStatus.FAILED,
120
+ error: uploadError.message,
121
+ },
122
+ });
123
+ return { success: false, reason: uploadError.message };
124
+ }
125
+ }),
126
+ /**
127
+ * Called when a chunk upload fails.
128
+ * Marks chunk as failed with error message.
129
+ */
130
+ onChunkError: (fileId, partNum, error) => {
131
+ const uploadError = parseError(error, 'Chunk upload failed');
132
+ dispatch({
133
+ type: 'UPDATE_CHUNK',
134
+ fileId,
135
+ partNum,
136
+ updates: {
137
+ status: ChunkStatus.FAILED,
138
+ error: uploadError.message,
139
+ },
140
+ });
141
+ },
142
+ /**
143
+ * Called when all chunks have been attempted (completed === total).
144
+ * Handles file completion based on whether all chunks succeeded.
145
+ */
146
+ onFileComplete: (fileId, result) => __awaiter(this, void 0, void 0, function* () {
147
+ var _a, _b, _c, _d, _e, _f, _g;
148
+ const file = fileStateStore.getFile(fileId);
149
+ if (!file)
150
+ return;
151
+ const handlers = getHandlersForFile(fileId);
152
+ // If not all chunks succeeded, mark file as failed
153
+ if (!result.allSucceeded) {
154
+ const error = createUploadError(UPLOAD_ERROR_CODE.CHUNK_UPLOAD_FAILED, `Upload incomplete: ${result.succeeded}/${result.total} chunks succeeded`);
155
+ dispatch({
156
+ type: 'UPDATE_FILE',
157
+ id: fileId,
158
+ updates: {
159
+ status: UploadStatus.FAILED,
160
+ error: error.message,
161
+ errorCode: error.code,
162
+ },
163
+ });
164
+ const ctx = getHandlerContext();
165
+ (_a = handlers.onError) === null || _a === void 0 ? void 0 : _a.call(handlers, file, new Error(error.message), ctx);
166
+ return;
167
+ }
168
+ // All chunks succeeded - set status to merging while server combines chunks
169
+ dispatch({
170
+ type: 'UPDATE_FILE',
171
+ id: fileId,
172
+ updates: { status: UploadStatus.MERGING },
173
+ });
174
+ try {
175
+ // Call server to merge chunks
176
+ const mergeResult = yield ((_b = handlers.onFileComplete) === null || _b === void 0 ? void 0 : _b.call(handlers, file.fileName, file.uploadId, file));
177
+ if (mergeResult === null || mergeResult === void 0 ? void 0 : mergeResult.success) {
178
+ // Success - mark file as completed
179
+ dispatch({
180
+ type: 'UPDATE_FILE',
181
+ id: fileId,
182
+ updates: {
183
+ status: UploadStatus.SUCCESS,
184
+ progress: 100,
185
+ },
186
+ });
187
+ // Call success callback if provided
188
+ const ctx = getHandlerContext();
189
+ (_c = handlers === null || handlers === void 0 ? void 0 : handlers.onUploadSuccess) === null || _c === void 0 ? void 0 : _c.call(handlers, file, ctx);
190
+ }
191
+ else {
192
+ // Merge failed - mark file as failed
193
+ const error = createUploadError(UPLOAD_ERROR_CODE.MERGE_FAILED, (_d = mergeResult === null || mergeResult === void 0 ? void 0 : mergeResult.reason) !== null && _d !== void 0 ? _d : 'Failed to finalize upload');
194
+ dispatch({
195
+ type: 'UPDATE_FILE',
196
+ id: fileId,
197
+ updates: {
198
+ status: UploadStatus.FAILED,
199
+ error: error.message,
200
+ errorCode: error.code,
201
+ },
202
+ });
203
+ const ctx = getHandlerContext();
204
+ (_e = handlers.onError) === null || _e === void 0 ? void 0 : _e.call(handlers, file, new Error(error.message), ctx);
205
+ }
206
+ }
207
+ catch (error) {
208
+ // Unexpected error during merge
209
+ const uploadError = parseError(error, 'Merge operation failed');
210
+ dispatch({
211
+ type: 'UPDATE_FILE',
212
+ id: fileId,
213
+ updates: {
214
+ status: UploadStatus.FAILED,
215
+ error: uploadError.message,
216
+ errorCode: uploadError.code,
217
+ },
218
+ });
219
+ const ctx = getHandlerContext();
220
+ (_f = handlers.onError) === null || _f === void 0 ? void 0 : _f.call(handlers, file, (_g = uploadError.originalError) !== null && _g !== void 0 ? _g : new Error(uploadError.message), ctx);
221
+ }
222
+ }),
223
+ };
224
+ }
225
+ /**
226
+ * Get handlers for a specific file from the global registry.
227
+ * Handlers must be registered before upload starts.
228
+ *
229
+ * @throws Error if handlers not found (indicates a programming error)
230
+ */
231
+ function getHandlersForFile(fileId) {
232
+ const registeredHandlers = handlerRegistry.get(fileId);
233
+ if (!registeredHandlers) {
234
+ throw new Error('Handlers not found for file ' +
235
+ fileId +
236
+ '. ' +
237
+ 'Ensure handlerRegistry.register() is called before upload starts.');
238
+ }
239
+ return registeredHandlers;
240
+ }
241
+ /**
242
+ * Get fresh handler context from the action registry.
243
+ * This provides always-current references to files and upload utilities,
244
+ * solving the stale closure problem in handler callbacks.
245
+ *
246
+ * @returns HandlerContext with fresh references
247
+ * @throws Error if context not available (useUpload hook not mounted)
248
+ */
249
+ function getHandlerContext() {
250
+ const ctx = actionRegistry.getContext();
251
+ if (!ctx) {
252
+ throw new Error('Handler context not available. ' + 'Ensure useUpload hook is mounted before uploads start.');
253
+ }
254
+ return ctx;
255
+ }
256
+
257
+ export { createQueueCallbacks, getHandlerContext };
@@ -0,0 +1,195 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { ChunkStatus } from '../constants.js';
3
+ import { uploadQueueItem } from './queue-uploader.js';
4
+
5
+ /**
6
+ * Manages upload queue with configurable concurrency.
7
+ *
8
+ * Handles scheduling of chunk uploads across multiple files,
9
+ * respecting concurrency limits for both files and chunks per file.
10
+ */
11
+ class QueueManager {
12
+ constructor(config, callbacks) {
13
+ /** Pending items waiting to be uploaded */
14
+ this.queue = [];
15
+ /** Currently uploading items, grouped by file ID */
16
+ this.activeByFile = new Map();
17
+ /** Set of file IDs that are paused */
18
+ this.pausedFiles = new Set();
19
+ /** Track chunk completion counts per file */
20
+ this.fileChunkCounts = new Map();
21
+ this.config = config;
22
+ this.callbacks = callbacks;
23
+ }
24
+ /**
25
+ * Add a file's chunks to the upload queue.
26
+ * Only pending chunks are added; completed chunks are skipped.
27
+ */
28
+ addFile(uploadFile) {
29
+ if (!uploadFile.file)
30
+ return;
31
+ const pendingChunks = uploadFile.chunks.filter((c) => c.status === ChunkStatus.PENDING);
32
+ const completedCount = uploadFile.chunks.filter((c) => c.status === ChunkStatus.COMPLETED).length;
33
+ this.fileChunkCounts.set(uploadFile.id, {
34
+ total: uploadFile.chunks.length,
35
+ completed: completedCount,
36
+ succeeded: completedCount,
37
+ });
38
+ for (const chunk of pendingChunks) {
39
+ if (!chunk.uploadUrl)
40
+ continue;
41
+ this.queue.push({
42
+ fileId: uploadFile.id,
43
+ file: uploadFile.file,
44
+ chunk,
45
+ uploadUrl: chunk.uploadUrl,
46
+ chunkSize: uploadFile.chunkSize,
47
+ abortController: new AbortController(),
48
+ });
49
+ }
50
+ this.processQueue();
51
+ }
52
+ /**
53
+ * Process queue and start uploads respecting concurrency limits.
54
+ * - Max `concurrentFiles` files can upload simultaneously
55
+ * - Each file can have max `concurrentChunks` chunks uploading
56
+ */
57
+ processQueue() {
58
+ const fileIds = new Set(this.queue.map((q) => q.fileId));
59
+ for (const fileId of fileIds) {
60
+ // Skip paused files
61
+ if (this.pausedFiles.has(fileId))
62
+ continue;
63
+ // Check if we can start a new file (respect concurrentFiles limit)
64
+ if (!this.activeByFile.has(fileId) && this.activeByFile.size >= this.config.concurrentFiles) {
65
+ continue;
66
+ }
67
+ // Calculate available slots for this file
68
+ const fileActive = this.activeByFile.get(fileId) || [];
69
+ const slots = this.config.concurrentChunks - fileActive.length;
70
+ if (slots <= 0)
71
+ continue;
72
+ // Start uploads for available slots
73
+ const toStart = this.queue.filter((q) => q.fileId === fileId).slice(0, slots);
74
+ for (const item of toStart) {
75
+ this.startUpload(item);
76
+ }
77
+ }
78
+ }
79
+ /**
80
+ * Start uploading a single chunk.
81
+ * Handles progress, completion, and error callbacks.
82
+ */
83
+ startUpload(item) {
84
+ return __awaiter(this, void 0, void 0, function* () {
85
+ // Move from queue to active
86
+ this.queue = this.queue.filter((q) => q !== item);
87
+ const fileActive = this.activeByFile.get(item.fileId) || [];
88
+ fileActive.push(item);
89
+ this.activeByFile.set(item.fileId, fileActive);
90
+ // Execute upload
91
+ const result = yield uploadQueueItem(item, this.config);
92
+ // Remove from active
93
+ this.removeFromActive(item);
94
+ // Handle result and track completion/success
95
+ const counts = this.fileChunkCounts.get(item.fileId);
96
+ if (!counts)
97
+ return;
98
+ if (result.success) {
99
+ // S3 upload succeeded - mark as 90% complete
100
+ this.callbacks.onChunkUploadComplete(item.fileId, item.chunk.partNum);
101
+ // Now validate with backend (will mark as 100% if successful)
102
+ const chunkResult = yield this.callbacks.onChunkComplete(item.fileId, item.chunk.partNum);
103
+ if (chunkResult.success) {
104
+ // Backend validated successfully
105
+ counts.succeeded++;
106
+ }
107
+ counts.completed++;
108
+ }
109
+ else if (result.error) {
110
+ // Upload failed
111
+ this.callbacks.onChunkError(item.fileId, item.chunk.partNum, result.error);
112
+ counts.completed++;
113
+ }
114
+ // Check if all chunks are done (completed === total)
115
+ if (counts.completed >= counts.total) {
116
+ yield this.callbacks.onFileComplete(item.fileId, {
117
+ succeeded: counts.succeeded,
118
+ total: counts.total,
119
+ allSucceeded: counts.succeeded === counts.total,
120
+ });
121
+ this.fileChunkCounts.delete(item.fileId);
122
+ }
123
+ // Continue processing queue
124
+ this.processQueue();
125
+ });
126
+ }
127
+ /** Remove an item from the active uploads map */
128
+ removeFromActive(item) {
129
+ const active = this.activeByFile.get(item.fileId) || [];
130
+ const filtered = active.filter((a) => a !== item);
131
+ if (filtered.length === 0) {
132
+ this.activeByFile.delete(item.fileId);
133
+ }
134
+ else {
135
+ this.activeByFile.set(item.fileId, filtered);
136
+ }
137
+ }
138
+ /** Pause uploads for a file (aborts active uploads) */
139
+ pauseFile(fileId) {
140
+ this.pausedFiles.add(fileId);
141
+ this.abortFileUploads(fileId);
142
+ }
143
+ /** Resume uploads for a paused file */
144
+ resumeFile(fileId) {
145
+ this.pausedFiles.delete(fileId);
146
+ this.processQueue();
147
+ }
148
+ /** Cancel all uploads for a file and clean up */
149
+ cancelFile(fileId) {
150
+ this.abortFileUploads(fileId);
151
+ this.queue = this.queue.filter((q) => q.fileId !== fileId);
152
+ this.pausedFiles.delete(fileId);
153
+ this.fileChunkCounts.delete(fileId);
154
+ }
155
+ /** Abort all active uploads for a file */
156
+ abortFileUploads(fileId) {
157
+ const active = this.activeByFile.get(fileId) || [];
158
+ for (const item of active) {
159
+ item.abortController.abort();
160
+ }
161
+ this.activeByFile.delete(fileId);
162
+ }
163
+ /** Get count of active files and total active chunks */
164
+ getActiveCount() {
165
+ let chunks = 0;
166
+ for (const active of this.activeByFile.values()) {
167
+ chunks += active.length;
168
+ }
169
+ return { files: this.activeByFile.size, chunks };
170
+ }
171
+ /** Check if a file is currently paused */
172
+ isFilePaused(fileId) {
173
+ return this.pausedFiles.has(fileId);
174
+ }
175
+ /** Get number of items waiting in queue */
176
+ getQueueLength() {
177
+ return this.queue.length;
178
+ }
179
+ /** Get number of pending queue items for a specific file */
180
+ getFileQueueLength(fileId) {
181
+ return this.queue.filter((q) => q.fileId === fileId).length;
182
+ }
183
+ /** Check if file has any items in queue or active uploads */
184
+ hasFileInQueue(fileId) {
185
+ const inQueue = this.queue.some((q) => q.fileId === fileId);
186
+ const isActive = this.activeByFile.has(fileId);
187
+ return inQueue || isActive;
188
+ }
189
+ /** Clear all queue items for a file (used before re-adding on resume) */
190
+ clearFileFromQueue(fileId) {
191
+ this.queue = this.queue.filter((q) => q.fileId !== fileId);
192
+ }
193
+ }
194
+
195
+ export { QueueManager };
@@ -0,0 +1,25 @@
1
+ import { __awaiter } from 'tslib';
2
+ import { getChunkBlob } from '../utils/chunk-handlers.js';
3
+ import { uploadChunkWithRetry } from '../utils/upload-handler.js';
4
+
5
+ /** Upload a single queue item and return result */
6
+ function uploadQueueItem(item, config) {
7
+ return __awaiter(this, void 0, void 0, function* () {
8
+ var _a;
9
+ const chunkBlob = getChunkBlob(item.file, item.chunk.partNum, item.chunkSize);
10
+ const result = yield uploadChunkWithRetry(chunkBlob, item.uploadUrl, item.chunk.partNum, {
11
+ signal: item.abortController.signal,
12
+ requestConfig: config.requestConfig,
13
+ });
14
+ if (result.success) {
15
+ return { item, success: true };
16
+ }
17
+ // Treat cancellation as non-error
18
+ if (((_a = result.error) === null || _a === void 0 ? void 0 : _a.message) === 'Upload cancelled') {
19
+ return { item, success: false };
20
+ }
21
+ return { item, success: false, error: result.error };
22
+ });
23
+ }
24
+
25
+ export { uploadQueueItem };