@l1yp/file-viewer 0.1.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 (373) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/dist/FileViewer.js +7 -0
  4. package/dist/FileViewer.vue.d.ts +37 -0
  5. package/dist/FileViewer.vue_vue_type_script_setup_true_lang.js +103 -0
  6. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  7. package/dist/components/AppxViewer.js +7 -0
  8. package/dist/components/AppxViewer.vue.d.ts +18 -0
  9. package/dist/components/AppxViewer.vue_vue_type_script_setup_true_lang.js +174 -0
  10. package/dist/components/ArchiveBrowser.js +7 -0
  11. package/dist/components/ArchiveBrowser.vue.d.ts +18 -0
  12. package/dist/components/ArchiveBrowser.vue_vue_type_script_setup_true_lang.js +279 -0
  13. package/dist/components/AudioViewer.js +7 -0
  14. package/dist/components/AudioViewer.vue.d.ts +21 -0
  15. package/dist/components/AudioViewer.vue_vue_type_script_setup_true_lang.js +201 -0
  16. package/dist/components/BinObjBrowser.js +7 -0
  17. package/dist/components/BinObjBrowser.vue.d.ts +19 -0
  18. package/dist/components/BinObjBrowser.vue_vue_type_script_setup_true_lang.js +141 -0
  19. package/dist/components/CertViewer.js +7 -0
  20. package/dist/components/CertViewer.vue.d.ts +17 -0
  21. package/dist/components/CertViewer.vue_vue_type_script_setup_true_lang.js +251 -0
  22. package/dist/components/ClassViewer.js +7 -0
  23. package/dist/components/ClassViewer.vue.d.ts +15 -0
  24. package/dist/components/ClassViewer.vue_vue_type_script_setup_true_lang.js +164 -0
  25. package/dist/components/CodeBlock.js +7 -0
  26. package/dist/components/CodeBlock.vue.d.ts +17 -0
  27. package/dist/components/CodeBlock.vue_vue_type_script_setup_true_lang.js +79 -0
  28. package/dist/components/CodeView.js +7 -0
  29. package/dist/components/CodeView.vue.d.ts +21 -0
  30. package/dist/components/CodeView.vue_vue_type_script_setup_true_lang.js +180 -0
  31. package/dist/components/CsvViewer.js +7 -0
  32. package/dist/components/CsvViewer.vue.d.ts +26 -0
  33. package/dist/components/CsvViewer.vue_vue_type_script_setup_true_lang.js +187 -0
  34. package/dist/components/DicomViewer.js +7 -0
  35. package/dist/components/DicomViewer.vue.d.ts +30 -0
  36. package/dist/components/DicomViewer.vue_vue_type_script_setup_true_lang.js +362 -0
  37. package/dist/components/DocxViewer.js +7 -0
  38. package/dist/components/DocxViewer.vue.d.ts +19 -0
  39. package/dist/components/DocxViewer.vue_vue_type_script_setup_true_lang.js +59 -0
  40. package/dist/components/DrawioViewer.js +7 -0
  41. package/dist/components/DrawioViewer.vue.d.ts +16 -0
  42. package/dist/components/DrawioViewer.vue_vue_type_script_setup_true_lang.js +38 -0
  43. package/dist/components/DxfViewer.js +7 -0
  44. package/dist/components/DxfViewer.vue.d.ts +14 -0
  45. package/dist/components/DxfViewer.vue_vue_type_script_setup_true_lang.js +239 -0
  46. package/dist/components/EbookViewer.js +7 -0
  47. package/dist/components/EbookViewer.vue.d.ts +22 -0
  48. package/dist/components/EbookViewer.vue_vue_type_script_setup_true_lang.js +170 -0
  49. package/dist/components/EmlViewer.js +7 -0
  50. package/dist/components/EmlViewer.vue.d.ts +21 -0
  51. package/dist/components/EmlViewer.vue_vue_type_script_setup_true_lang.js +193 -0
  52. package/dist/components/EplViewer.js +7 -0
  53. package/dist/components/EplViewer.vue.d.ts +19 -0
  54. package/dist/components/EplViewer.vue_vue_type_script_setup_true_lang.js +201 -0
  55. package/dist/components/FileViewerBody.js +7 -0
  56. package/dist/components/FileViewerBody.vue.d.ts +47 -0
  57. package/dist/components/FileViewerBody.vue_vue_type_script_setup_true_lang.js +599 -0
  58. package/dist/components/FileViewerPanel.js +7 -0
  59. package/dist/components/FileViewerPanel.vue.d.ts +3 -0
  60. package/dist/components/FileViewerPanel.vue_vue_type_script_setup_true_lang.js +207 -0
  61. package/dist/components/FontViewer.js +7 -0
  62. package/dist/components/FontViewer.vue.d.ts +17 -0
  63. package/dist/components/FontViewer.vue_vue_type_script_setup_true_lang.js +120 -0
  64. package/dist/components/FrontmatterCard.js +7 -0
  65. package/dist/components/FrontmatterCard.vue.d.ts +11 -0
  66. package/dist/components/FrontmatterCard.vue_vue_type_script_setup_true_lang.js +30 -0
  67. package/dist/components/GeoViewer.js +7 -0
  68. package/dist/components/GeoViewer.vue.d.ts +17 -0
  69. package/dist/components/GeoViewer.vue_vue_type_script_setup_true_lang.js +255 -0
  70. package/dist/components/HarViewer.js +7 -0
  71. package/dist/components/HarViewer.vue.d.ts +20 -0
  72. package/dist/components/HarViewer.vue_vue_type_script_setup_true_lang.js +322 -0
  73. package/dist/components/HexViewer.js +7 -0
  74. package/dist/components/HexViewer.vue.d.ts +22 -0
  75. package/dist/components/HexViewer.vue_vue_type_script_setup_true_lang.js +121 -0
  76. package/dist/components/HprofViewer.js +7 -0
  77. package/dist/components/HprofViewer.vue.d.ts +27 -0
  78. package/dist/components/HprofViewer.vue_vue_type_script_setup_true_lang.js +561 -0
  79. package/dist/components/ImageLightbox.js +7 -0
  80. package/dist/components/ImageLightbox.vue.d.ts +3 -0
  81. package/dist/components/ImageLightbox.vue_vue_type_script_setup_true_lang.js +86 -0
  82. package/dist/components/InlineText.d.ts +29 -0
  83. package/dist/components/InlineText.js +21 -0
  84. package/dist/components/JksViewer.js +7 -0
  85. package/dist/components/JksViewer.vue.d.ts +22 -0
  86. package/dist/components/JksViewer.vue_vue_type_script_setup_true_lang.js +353 -0
  87. package/dist/components/JsonlViewer.js +7 -0
  88. package/dist/components/JsonlViewer.vue.d.ts +15 -0
  89. package/dist/components/JsonlViewer.vue_vue_type_script_setup_true_lang.js +103 -0
  90. package/dist/components/LogViewer.js +7 -0
  91. package/dist/components/LogViewer.vue.d.ts +29 -0
  92. package/dist/components/LogViewer.vue_vue_type_script_setup_true_lang.js +670 -0
  93. package/dist/components/LrcViewer.js +7 -0
  94. package/dist/components/LrcViewer.vue.d.ts +17 -0
  95. package/dist/components/LrcViewer.vue_vue_type_script_setup_true_lang.js +106 -0
  96. package/dist/components/MarkdownTable.js +7 -0
  97. package/dist/components/MarkdownTable.vue.d.ts +19 -0
  98. package/dist/components/MarkdownTable.vue_vue_type_script_setup_true_lang.js +71 -0
  99. package/dist/components/MarkdownText.d.ts +30 -0
  100. package/dist/components/MarkdownText.js +21 -0
  101. package/dist/components/MhtViewer.js +7 -0
  102. package/dist/components/MhtViewer.vue.d.ts +22 -0
  103. package/dist/components/MhtViewer.vue_vue_type_script_setup_true_lang.js +112 -0
  104. package/dist/components/MindMapView.js +7 -0
  105. package/dist/components/MindMapView.vue.d.ts +23 -0
  106. package/dist/components/MindMapView.vue_vue_type_script_setup_true_lang.js +337 -0
  107. package/dist/components/MissingDependency.js +7 -0
  108. package/dist/components/MissingDependency.vue.d.ts +17 -0
  109. package/dist/components/MissingDependency.vue_vue_type_script_setup_true_lang.js +37 -0
  110. package/dist/components/ModelViewer.js +7 -0
  111. package/dist/components/ModelViewer.vue.d.ts +18 -0
  112. package/dist/components/ModelViewer.vue_vue_type_script_setup_true_lang.js +157 -0
  113. package/dist/components/MsiViewer.js +7 -0
  114. package/dist/components/MsiViewer.vue.d.ts +19 -0
  115. package/dist/components/MsiViewer.vue_vue_type_script_setup_true_lang.js +136 -0
  116. package/dist/components/NotebookViewer.js +7 -0
  117. package/dist/components/NotebookViewer.vue.d.ts +20 -0
  118. package/dist/components/NotebookViewer.vue_vue_type_script_setup_true_lang.js +125 -0
  119. package/dist/components/PdfViewer.js +7 -0
  120. package/dist/components/PdfViewer.vue.d.ts +19 -0
  121. package/dist/components/PdfViewer.vue_vue_type_script_setup_true_lang.js +114 -0
  122. package/dist/components/PptxViewer.js +7 -0
  123. package/dist/components/PptxViewer.vue.d.ts +20 -0
  124. package/dist/components/PptxViewer.vue_vue_type_script_setup_true_lang.js +73 -0
  125. package/dist/components/PsdViewer.js +7 -0
  126. package/dist/components/PsdViewer.vue.d.ts +15 -0
  127. package/dist/components/PsdViewer.vue_vue_type_script_setup_true_lang.js +218 -0
  128. package/dist/components/QmcAudioViewer.js +7 -0
  129. package/dist/components/QmcAudioViewer.vue.d.ts +18 -0
  130. package/dist/components/QmcAudioViewer.vue_vue_type_script_setup_true_lang.js +92 -0
  131. package/dist/components/RasterViewer.js +7 -0
  132. package/dist/components/RasterViewer.vue.d.ts +21 -0
  133. package/dist/components/RasterViewer.vue_vue_type_script_setup_true_lang.js +161 -0
  134. package/dist/components/RtfViewer.js +7 -0
  135. package/dist/components/RtfViewer.vue.d.ts +21 -0
  136. package/dist/components/RtfViewer.vue_vue_type_script_setup_true_lang.js +66 -0
  137. package/dist/components/SevenZipBrowser.js +7 -0
  138. package/dist/components/SevenZipBrowser.vue.d.ts +13 -0
  139. package/dist/components/SevenZipBrowser.vue_vue_type_script_setup_true_lang.js +366 -0
  140. package/dist/components/SqliteViewer.js +7 -0
  141. package/dist/components/SqliteViewer.vue.d.ts +18 -0
  142. package/dist/components/SqliteViewer.vue_vue_type_script_setup_true_lang.js +186 -0
  143. package/dist/components/SubtitleViewer.js +7 -0
  144. package/dist/components/SubtitleViewer.vue.d.ts +15 -0
  145. package/dist/components/SubtitleViewer.vue_vue_type_script_setup_true_lang.js +48 -0
  146. package/dist/components/XlsxChart.js +7 -0
  147. package/dist/components/XlsxChart.vue.d.ts +14 -0
  148. package/dist/components/XlsxChart.vue_vue_type_script_setup_true_lang.js +240 -0
  149. package/dist/components/XlsxViewer.js +7 -0
  150. package/dist/components/XlsxViewer.vue.d.ts +22 -0
  151. package/dist/components/XlsxViewer.vue_vue_type_script_setup_true_lang.js +814 -0
  152. package/dist/components/XmindViewer.js +7 -0
  153. package/dist/components/XmindViewer.vue.d.ts +13 -0
  154. package/dist/components/XmindViewer.vue_vue_type_script_setup_true_lang.js +48 -0
  155. package/dist/components/ZipBrowser.js +7 -0
  156. package/dist/components/ZipBrowser.vue.d.ts +14 -0
  157. package/dist/components/ZipBrowser.vue_vue_type_script_setup_true_lang.js +326 -0
  158. package/dist/components/ZoomImage.js +7 -0
  159. package/dist/components/ZoomImage.vue.d.ts +29 -0
  160. package/dist/components/ZoomImage.vue_vue_type_script_setup_true_lang.js +147 -0
  161. package/dist/components/epl/EplCodeBlock.js +7 -0
  162. package/dist/components/epl/EplCodeBlock.vue.d.ts +15 -0
  163. package/dist/components/epl/EplCodeBlock.vue_vue_type_script_setup_true_lang.js +72 -0
  164. package/dist/components/epl/EplDoc.js +7 -0
  165. package/dist/components/epl/EplDoc.vue.d.ts +19 -0
  166. package/dist/components/epl/EplDoc.vue_vue_type_script_setup_true_lang.js +327 -0
  167. package/dist/components/epl/EplMethod.js +7 -0
  168. package/dist/components/epl/EplMethod.vue.d.ts +14 -0
  169. package/dist/components/epl/EplMethod.vue_vue_type_script_setup_true_lang.js +100 -0
  170. package/dist/components/epl/EplResource.js +7 -0
  171. package/dist/components/epl/EplResource.vue.d.ts +15 -0
  172. package/dist/components/epl/EplResource.vue_vue_type_script_setup_true_lang.js +204 -0
  173. package/dist/components/epl/EplTree.js +7 -0
  174. package/dist/components/epl/EplTree.vue.d.ts +27 -0
  175. package/dist/components/epl/EplTree.vue_vue_type_script_setup_true_lang.js +123 -0
  176. package/dist/components/epl/EplVarTable.js +7 -0
  177. package/dist/components/epl/EplVarTable.vue.d.ts +21 -0
  178. package/dist/components/epl/EplVarTable.vue_vue_type_script_setup_true_lang.js +60 -0
  179. package/dist/components/epl/docTypes.d.ts +12 -0
  180. package/dist/components/epl/numbering.d.ts +21 -0
  181. package/dist/components/epl/numbering.js +14 -0
  182. package/dist/components/icons/Icon.js +7 -0
  183. package/dist/components/icons/Icon.vue.d.ts +14 -0
  184. package/dist/components/icons/Icon.vue_vue_type_script_setup_true_lang.js +33 -0
  185. package/dist/components/icons/iconPaths.d.ts +60 -0
  186. package/dist/components/icons/iconPaths.js +54 -0
  187. package/dist/components/optionalViewer.d.ts +14 -0
  188. package/dist/components/optionalViewer.js +37 -0
  189. package/dist/components/ui/ClampBlock.d.ts +82 -0
  190. package/dist/components/ui/ClampBlock.js +63 -0
  191. package/dist/composables/useFileViewer.d.ts +428 -0
  192. package/dist/composables/useFileViewer.js +27 -0
  193. package/dist/composables/useLightbox.d.ts +33 -0
  194. package/dist/composables/useLightbox.js +17 -0
  195. package/dist/composables/useLogRules.d.ts +47 -0
  196. package/dist/composables/useLogRules.js +74 -0
  197. package/dist/index.d.ts +44 -0
  198. package/dist/index.js +30 -0
  199. package/dist/lib/aes.d.ts +25 -0
  200. package/dist/lib/aes.js +99 -0
  201. package/dist/lib/appx.d.ts +66 -0
  202. package/dist/lib/appx.js +112 -0
  203. package/dist/lib/archive.d.ts +29 -0
  204. package/dist/lib/asn1.d.ts +47 -0
  205. package/dist/lib/asn1.js +122 -0
  206. package/dist/lib/binobj.d.ts +69 -0
  207. package/dist/lib/binobj.js +430 -0
  208. package/dist/lib/brotli.d.ts +14 -0
  209. package/dist/lib/brotli.js +16 -0
  210. package/dist/lib/bzip2.d.ts +14 -0
  211. package/dist/lib/bzip2.js +161 -0
  212. package/dist/lib/classfile.d.ts +72 -0
  213. package/dist/lib/classfile.js +210 -0
  214. package/dist/lib/codePreview.d.ts +22 -0
  215. package/dist/lib/codePreview.js +27 -0
  216. package/dist/lib/codefold.d.ts +14 -0
  217. package/dist/lib/codefold.js +30 -0
  218. package/dist/lib/codeformat.d.ts +21 -0
  219. package/dist/lib/codeformat.js +130 -0
  220. package/dist/lib/csv.d.ts +19 -0
  221. package/dist/lib/csv.js +74 -0
  222. package/dist/lib/des.d.ts +17 -0
  223. package/dist/lib/des.js +928 -0
  224. package/dist/lib/diagram.d.ts +5 -0
  225. package/dist/lib/diagram.js +479 -0
  226. package/dist/lib/dicom.d.ts +69 -0
  227. package/dist/lib/dicom.js +442 -0
  228. package/dist/lib/dicomCodecs.d.ts +28 -0
  229. package/dist/lib/dicomCodecs.js +156 -0
  230. package/dist/lib/dicomRender.d.ts +46 -0
  231. package/dist/lib/dicomRender.js +114 -0
  232. package/dist/lib/dxf.d.ts +86 -0
  233. package/dist/lib/dxf.js +399 -0
  234. package/dist/lib/eml.d.ts +40 -0
  235. package/dist/lib/eml.js +46 -0
  236. package/dist/lib/encoding.d.ts +28 -0
  237. package/dist/lib/encoding.js +44 -0
  238. package/dist/lib/epl/code/ast.d.ts +150 -0
  239. package/dist/lib/epl/code/codeDataParser.d.ts +3 -0
  240. package/dist/lib/epl/code/codeDataParser.js +330 -0
  241. package/dist/lib/epl/code/codeLines.d.ts +20 -0
  242. package/dist/lib/epl/code/codeLines.js +191 -0
  243. package/dist/lib/epl/code/structures.d.ts +86 -0
  244. package/dist/lib/epl/code/textCode.d.ts +29 -0
  245. package/dist/lib/epl/code/textCode.js +150 -0
  246. package/dist/lib/epl/code/variable.d.ts +25 -0
  247. package/dist/lib/epl/eplDocument.d.ts +21 -0
  248. package/dist/lib/epl/eplDocument.js +36 -0
  249. package/dist/lib/epl/imageList.d.ts +28 -0
  250. package/dist/lib/epl/imageList.js +66 -0
  251. package/dist/lib/epl/index.d.ts +53 -0
  252. package/dist/lib/epl/index.js +45 -0
  253. package/dist/lib/epl/io/binaryReader.d.ts +56 -0
  254. package/dist/lib/epl/io/binaryReader.js +119 -0
  255. package/dist/lib/epl/io/encoding.d.ts +16 -0
  256. package/dist/lib/epl/io/encoding.js +27 -0
  257. package/dist/lib/epl/model/eplSystemId.d.ts +64 -0
  258. package/dist/lib/epl/model/eplSystemId.js +16 -0
  259. package/dist/lib/epl/model/section.d.ts +46 -0
  260. package/dist/lib/epl/names/eplLibData.js +39 -0
  261. package/dist/lib/epl/names/idToNameMap.d.ts +33 -0
  262. package/dist/lib/epl/names/idToNameMap.js +130 -0
  263. package/dist/lib/epl/names/libNameProvider.d.ts +15 -0
  264. package/dist/lib/epl/names/libNameProvider.js +18 -0
  265. package/dist/lib/epl/program.d.ts +120 -0
  266. package/dist/lib/epl/program.js +134 -0
  267. package/dist/lib/epl/projectFileReader.d.ts +23 -0
  268. package/dist/lib/epl/projectFileReader.js +65 -0
  269. package/dist/lib/epl/sections/code.d.ts +20 -0
  270. package/dist/lib/epl/sections/esystemInfo.d.ts +14 -0
  271. package/dist/lib/epl/sections/losable.d.ts +11 -0
  272. package/dist/lib/epl/sections/projectConfig.d.ts +23 -0
  273. package/dist/lib/epl/sections/resource.d.ts +57 -0
  274. package/dist/lib/fb2.d.ts +14 -0
  275. package/dist/lib/fb2.js +62 -0
  276. package/dist/lib/fileType.d.ts +315 -0
  277. package/dist/lib/fileType.js +800 -0
  278. package/dist/lib/fonts.d.ts +8 -0
  279. package/dist/lib/fonts.js +4 -0
  280. package/dist/lib/format.d.ts +16 -0
  281. package/dist/lib/format.js +38 -0
  282. package/dist/lib/frontmatter.d.ts +13 -0
  283. package/dist/lib/frontmatter.js +23 -0
  284. package/dist/lib/geo.d.ts +30 -0
  285. package/dist/lib/geo.js +235 -0
  286. package/dist/lib/har.d.ts +171 -0
  287. package/dist/lib/har.js +397 -0
  288. package/dist/lib/highlight.d.ts +18 -0
  289. package/dist/lib/highlight.js +34 -0
  290. package/dist/lib/highlightLangs.d.ts +15 -0
  291. package/dist/lib/highlightLangs.js +93 -0
  292. package/dist/lib/hprof.d.ts +211 -0
  293. package/dist/lib/hprof.js +709 -0
  294. package/dist/lib/ipynb.d.ts +48 -0
  295. package/dist/lib/ipynb.js +130 -0
  296. package/dist/lib/jks.d.ts +86 -0
  297. package/dist/lib/jks.js +167 -0
  298. package/dist/lib/jsonl.d.ts +29 -0
  299. package/dist/lib/jsonl.js +24 -0
  300. package/dist/lib/lrc.d.ts +32 -0
  301. package/dist/lib/lrc.js +84 -0
  302. package/dist/lib/lzma.d.ts +70 -0
  303. package/dist/lib/lzma.js +204 -0
  304. package/dist/lib/markdown/blocks.d.ts +9 -0
  305. package/dist/lib/markdown/blocks.js +221 -0
  306. package/dist/lib/markdown/index.d.ts +3 -0
  307. package/dist/lib/markdown/inline.d.ts +33 -0
  308. package/dist/lib/markdown/inline.js +84 -0
  309. package/dist/lib/markdown/math.d.ts +5 -0
  310. package/dist/lib/markdown/math.js +25 -0
  311. package/dist/lib/markdown/segmentize.d.ts +11 -0
  312. package/dist/lib/markdown/segmentize.js +28 -0
  313. package/dist/lib/markdown/styles.d.ts +26 -0
  314. package/dist/lib/markdown/styles.js +135 -0
  315. package/dist/lib/mht.d.ts +51 -0
  316. package/dist/lib/mht.js +122 -0
  317. package/dist/lib/midi.d.ts +28 -0
  318. package/dist/lib/midi.js +84 -0
  319. package/dist/lib/mime.d.ts +82 -0
  320. package/dist/lib/mime.js +151 -0
  321. package/dist/lib/mindmap.d.ts +51 -0
  322. package/dist/lib/mindmap.js +113 -0
  323. package/dist/lib/mobi.d.ts +15 -0
  324. package/dist/lib/mobi.js +68 -0
  325. package/dist/lib/msi.d.ts +50 -0
  326. package/dist/lib/msi.js +332 -0
  327. package/dist/lib/optionalDep.d.ts +26 -0
  328. package/dist/lib/optionalDep.js +20 -0
  329. package/dist/lib/pkcs12.d.ts +56 -0
  330. package/dist/lib/pkcs12.js +356 -0
  331. package/dist/lib/qmc.d.ts +50 -0
  332. package/dist/lib/qmc.js +213 -0
  333. package/dist/lib/rar.d.ts +16 -0
  334. package/dist/lib/rar.js +40 -0
  335. package/dist/lib/rawPreview.d.ts +12 -0
  336. package/dist/lib/rawPreview.js +54 -0
  337. package/dist/lib/rc2.d.ts +12 -0
  338. package/dist/lib/rc2.js +298 -0
  339. package/dist/lib/resolveInput.d.ts +22 -0
  340. package/dist/lib/resolveInput.js +55 -0
  341. package/dist/lib/rtf.d.ts +53 -0
  342. package/dist/lib/rtf.js +413 -0
  343. package/dist/lib/sevenZip.d.ts +82 -0
  344. package/dist/lib/sevenZip.js +395 -0
  345. package/dist/lib/sha1.d.ts +24 -0
  346. package/dist/lib/sha1.js +53 -0
  347. package/dist/lib/sha256.d.ts +21 -0
  348. package/dist/lib/sha256.js +119 -0
  349. package/dist/lib/speechAudio.d.ts +36 -0
  350. package/dist/lib/speechAudio.js +85 -0
  351. package/dist/lib/sqlite.d.ts +38 -0
  352. package/dist/lib/sqlite.js +104 -0
  353. package/dist/lib/subtitle.d.ts +26 -0
  354. package/dist/lib/subtitle.js +99 -0
  355. package/dist/lib/tarball.d.ts +20 -0
  356. package/dist/lib/tarball.js +248 -0
  357. package/dist/lib/viewerFormats.d.ts +35 -0
  358. package/dist/lib/viewerFormats.js +83 -0
  359. package/dist/lib/viewerKind.d.ts +36 -0
  360. package/dist/lib/viewerKind.js +233 -0
  361. package/dist/lib/x509.d.ts +68 -0
  362. package/dist/lib/x509.js +267 -0
  363. package/dist/lib/xlsx.d.ts +55 -0
  364. package/dist/lib/xlsx.js +321 -0
  365. package/dist/lib/xlsxCharts.d.ts +34 -0
  366. package/dist/lib/xlsxCharts.js +152 -0
  367. package/dist/lib/xmind.d.ts +6 -0
  368. package/dist/lib/xmind.js +124 -0
  369. package/dist/lib/zip.d.ts +56 -0
  370. package/dist/lib/zip.js +169 -0
  371. package/dist/style.css +2 -0
  372. package/dist/types.d.ts +42 -0
  373. package/package.json +128 -0
@@ -0,0 +1,62 @@
1
+ //#region src/lib/fb2.ts
2
+ var e = "http://www.w3.org/1999/xlink";
3
+ function t(e) {
4
+ return e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;");
5
+ }
6
+ function n(e) {
7
+ let t = /* @__PURE__ */ new Map();
8
+ for (let n of Array.from(e.getElementsByTagName("binary"))) {
9
+ let e = n.getAttribute("id");
10
+ if (!e) continue;
11
+ let r = n.getAttribute("content-type") || "image/jpeg", i = (n.textContent || "").replace(/\s+/g, "");
12
+ i && t.set(e, `data:${r};base64,${i}`);
13
+ }
14
+ return t;
15
+ }
16
+ function r(t) {
17
+ return t.getAttributeNS(e, "href") || t.getAttribute("xlink:href") || t.getAttribute("l:href") || t.getAttribute("href") || "";
18
+ }
19
+ function i(e, n) {
20
+ if (e.nodeType === 3) return t(e.textContent || "");
21
+ if (e.nodeType !== 1) return "";
22
+ let a = e, o = () => Array.from(a.childNodes).map((e) => i(e, n)).join("");
23
+ switch (a.tagName.toLowerCase()) {
24
+ case "p": return `<p>${o()}</p>`;
25
+ case "empty-line": return "<br>";
26
+ case "emphasis": return `<em>${o()}</em>`;
27
+ case "strong": return `<strong>${o()}</strong>`;
28
+ case "strikethrough": return `<s>${o()}</s>`;
29
+ case "sub": return `<sub>${o()}</sub>`;
30
+ case "sup": return `<sup>${o()}</sup>`;
31
+ case "code": return `<code>${o()}</code>`;
32
+ case "title": return `<header class="fb2-title">${o()}</header>`;
33
+ case "subtitle": return `<p class="fb2-subtitle">${o()}</p>`;
34
+ case "section": return `<section>${o()}</section>`;
35
+ case "epigraph": return `<blockquote class="fb2-epigraph">${o()}</blockquote>`;
36
+ case "cite": return `<blockquote>${o()}</blockquote>`;
37
+ case "poem": return `<div class="fb2-poem">${o()}</div>`;
38
+ case "stanza": return `<div class="fb2-stanza">${o()}</div>`;
39
+ case "v": return `<p class="fb2-v">${o()}</p>`;
40
+ case "text-author": return `<p class="fb2-author">${o()}</p>`;
41
+ case "a": return `<span class="fb2-link">${o()}</span>`;
42
+ case "image": {
43
+ let e = n.get(r(a).replace(/^#/, ""));
44
+ return e ? `<p class="fb2-img"><img src="${e}" alt=""></p>` : "";
45
+ }
46
+ default: return o();
47
+ }
48
+ }
49
+ var a = "body{margin:0;padding:24px 28px 80px;max-width:46rem;margin-inline:auto;font:16px/1.7 Georgia,'Source Serif 4',serif;color:#1a1a1a;background:#fff;-webkit-text-size-adjust:100%}img{max-width:100%;height:auto}.fb2-title{margin:1.6em 0 1em;font-weight:700;font-size:1.3em;line-height:1.3}.fb2-subtitle{font-weight:600;margin:1.2em 0 .6em}.fb2-epigraph,blockquote{margin:1em 2em;color:#555;font-style:italic}.fb2-poem{margin:1em 1.5em}.fb2-v{margin:0}.fb2-author{text-align:right;font-style:italic}.fb2-img{text-align:center}p{margin:0 0 .9em;text-indent:1.4em}.fb2-title p,.fb2-img,.fb2-v{text-indent:0}";
50
+ function o(e) {
51
+ let t = e.charCodeAt(0) === 65279 ? e.slice(1) : e, r = new DOMParser().parseFromString(t, "application/xml");
52
+ if (r.getElementsByTagName("parsererror").length) throw Error("FB2 XML 解析失败");
53
+ let o = n(r), s = Array.from(r.getElementsByTagName("body"));
54
+ if (!s.length) throw Error("FB2 缺少 <body>");
55
+ let c = s.map((e) => i(e, o)).join("\n");
56
+ return {
57
+ title: (r.getElementsByTagName("book-title")[0]?.textContent || "").trim(),
58
+ html: `<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="script-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'"><meta name="viewport" content="width=device-width,initial-scale=1"><style>${a}</style></head><body>${c}</body></html>`
59
+ };
60
+ }
61
+ //#endregion
62
+ export { o as parseFb2 };
@@ -0,0 +1,315 @@
1
+ /**
2
+ * File-type detection for the conversation file UIs.
3
+ *
4
+ * The proxy's stored `content_type` is unreliable (often `application/octet-stream`), so we never
5
+ * trust it. Instead we prefer the share JSON's own `mime_type` (present on delivered `present_files`),
6
+ * and fall back to the filename extension — which is all we have for user uploads / intermediate files.
7
+ *
8
+ * Two questions this answers:
9
+ * - {@link isTextFile}: can we open it in the side viewer? (non-text files are download-only)
10
+ * - {@link hljsLang}: which highlight.js language to colorize with ('' = plain, no highlighting)
11
+ */
12
+ /** Lowercased file extension without the dot, or '' if the name has none. */
13
+ export declare function fileExt(name: string): string;
14
+ /** Can this file be opened in the side viewer? Prefer `mime`, fall back to the extension. */
15
+ export declare function isTextFile(name: string, mime?: string | null): boolean;
16
+ export declare const LARGE_TEXT_BYTES: number;
17
+ /**
18
+ * Should this open in the side viewer's streaming log viewer (virtual-scrolled, see LogViewer.vue) rather
19
+ * than the normal highlighted source view? True for any `.log` (logs benefit from the line gutter + search),
20
+ * and for any LARGE text file (>= {@link LARGE_TEXT_BYTES}) so big files don't freeze. Consulted in FileChip
21
+ * BEFORE the generic text route. `size` is the manifest byte size when known (0/undefined ⇒ treat as small).
22
+ */
23
+ export declare function isLogFile(name: string, mime?: string | null, size?: number | null): boolean;
24
+ /**
25
+ * Is this a CSV / TSV table (`.csv`/`.tsv`)? Such files open in the side viewer's table preview, which parses
26
+ * the rows in-browser (see lib/csv.ts + CsvViewer.vue) with full RFC 4180 quote handling and a render/source
27
+ * toggle. Prefer `mime`, fall back to the extension; a concrete non-text media mime rules it out (`.csv` is
28
+ * often served as text/plain or octet-stream, so the extension is the reliable signal).
29
+ */
30
+ export declare function isCsvFile(name: string, mime?: string | null): boolean;
31
+ /**
32
+ * Is this a JSON Lines / NDJSON file (`.jsonl` / `.ndjson`)? Such files open in the side viewer's record list,
33
+ * which parses each line independently (see lib/jsonl.ts + JsonlViewer.vue) — a truncated one-line preview per
34
+ * record, click to expand the pretty-printed value, with a render/source toggle. Prefer `mime`, fall back to
35
+ * the extension; a concrete non-jsonl media mime rules it out.
36
+ */
37
+ export declare function isJsonlFile(name: string, mime?: string | null): boolean;
38
+ /**
39
+ * Is this a ZIP archive (incl. .jar/.war/.ear/.apk/.aar)? Such files open in the side viewer's archive
40
+ * browser, which decompresses them in-browser and lists their contents. Prefer `mime`, fall back to the
41
+ * extension (same precedence as {@link isTextFile}); a concrete non-zip mime settles it, blank/octet-stream
42
+ * defers to the extension.
43
+ */
44
+ export declare function isZipFile(name: string, mime?: string | null): boolean;
45
+ /**
46
+ * Is this a 7z archive? Such files open in the side viewer's 7z browser, which decompresses them
47
+ * in-browser (bundled LZMA decoder — browsers have no native one) and lists their contents. Prefer
48
+ * `mime`, fall back to the extension (same precedence as {@link isZipFile}).
49
+ */
50
+ export declare function isSevenZipFile(name: string, mime?: string | null): boolean;
51
+ /**
52
+ * Is this a tar-family archive — `.tar`, a gzip/xz/bzip2/brotli wrapper (`.tar.gz`/`.tgz`/`.tar.xz`/`.txz`/
53
+ * `.tar.bz2`/`.tbz2`/`.tar.br`), or a lone compressed file (`.gz`/`.xz`/`.bz2`/`.br`)? Such files open in the
54
+ * side viewer's archive browser, which decompresses them in-browser (native gzip + the project's LZMA2/bzip2
55
+ * decoders + a WASM Brotli decoder, see lib/tarball.ts) and lists their contents. Prefer `mime`, fall back to
56
+ * the extension (same precedence as {@link isZipFile}); a concrete non-archive media/text mime rules it out.
57
+ */
58
+ export declare function isTarballFile(name: string, mime?: string | null): boolean;
59
+ /**
60
+ * Is this a RAR archive? Such files open in the side viewer's archive browser, which decompresses them
61
+ * in-browser via the WASM unrar port (see lib/rar.ts) and lists their contents. Prefer `mime`, fall back to
62
+ * the extension (same precedence as {@link isZipFile}).
63
+ */
64
+ export declare function isRarFile(name: string, mime?: string | null): boolean;
65
+ /**
66
+ * Is this a DICOM (.dcm) medical image? Such files open in the side viewer's DICOM viewer, which parses +
67
+ * decodes them in-browser (dicom-parser + bundled WASM codecs for JPEG2000/JPEG-LS, see lib/dicom*) and
68
+ * renders to a canvas with window/level. Prefer `mime`, fall back to the extension; a concrete non-DICOM
69
+ * media/text mime rules it out, blank/octet-stream defers to the extension.
70
+ */
71
+ export declare function isDicomFile(name: string, mime?: string | null): boolean;
72
+ /**
73
+ * Is this a raster image we can preview inline (a hover card on its file chip, or full-size in the lightbox)?
74
+ * `<img src=download-url>` works despite the endpoint's octet-stream/attachment/nosniff (those don't bind
75
+ * `<img>` subresources). SVG is excluded (it goes to the side viewer). Prefer `mime`, fall back to extension.
76
+ */
77
+ export declare function isImageFile(name: string, mime?: string | null): boolean;
78
+ export type RasterKind = 'tiff' | 'psd' | 'heic' | 'raw';
79
+ /**
80
+ * Which decoding image viewer (if any) should open this file? Returns the format kind for TIFF / PSD /
81
+ * HEIC / camera-RAW (so RasterViewer can pick its decoder), or null. Prefer `mime`, fall back to the
82
+ * extension. Must be consulted in FileChip BEFORE {@link isImageFile} — a `.tiff` carries `image/tiff`,
83
+ * which would otherwise send it to the lightbox where a plain <img> can't decode it.
84
+ */
85
+ export declare function rasterImageKind(name: string, mime?: string | null): RasterKind | null;
86
+ export type EbookKind = 'epub' | 'fb2' | 'mobi' | 'djvu';
87
+ /**
88
+ * Which e-book reader (if any) should open this file — 'epub' / 'fb2' / 'mobi' (also .azw3/.azw/.prc) /
89
+ * 'djvu', or null. Prefer `mime`, fall back to the extension. Consulted in FileChip BEFORE the generic
90
+ * text route (FB2 is XML) and BEFORE {@link isImageFile} (DjVu's mime is image/vnd.djvu).
91
+ */
92
+ export declare function ebookKind(name: string, mime?: string | null): EbookKind | null;
93
+ /**
94
+ * Is this an SVG? It opens in the side viewer with a render/source toggle (like HTML) — the render view shows
95
+ * the picture, the source view its XML. Prefer `mime`, fall back to the extension.
96
+ */
97
+ export declare function isSvgFile(name: string, mime?: string | null): boolean;
98
+ /**
99
+ * Is this a video we can play in the modal preview? Unlike images, a direct `<video src=download-url>` can't
100
+ * decode (octet-stream + nosniff), so the lightbox fetches the bytes and plays them from a typed blob. Prefer
101
+ * `mime`, fall back to the extension.
102
+ */
103
+ export declare function isVideoFile(name: string, mime?: string | null): boolean;
104
+ /**
105
+ * Is this an HTML document? Such files get a render/source toggle in the side viewer — the rendered
106
+ * view runs the markup in a SANDBOXED iframe (see FileViewerPanel). Prefer `mime`, fall back to the
107
+ * extension (same precedence as {@link isTextFile}); never trust an octet-stream/blank mime.
108
+ */
109
+ export declare function isHtmlFile(name: string, mime?: string | null): boolean;
110
+ /**
111
+ * Is this a native binary object — a PE (`.exe`/`.dll`/…) or an ELF (`.so`, incl. versioned `libfoo.so.1.2.3`,
112
+ * plus `.elf`/`.ko`/`.o`)? Such files open in the side viewer's symbol browser, which parses them in-browser
113
+ * (see lib/binobj.ts) — listing function symbols and, for PE, executable metadata (version info + icon).
114
+ * Detection is extension-driven: the stored mime is unreliable (usually `application/octet-stream`), so we only
115
+ * rule it out for clearly-textual / media mimes.
116
+ */
117
+ export declare function isBinaryObjFile(name: string, mime?: string | null): boolean;
118
+ /**
119
+ * Is this an e-language `.e` / `.ec` project file? Such files open in the side viewer's e-language viewer,
120
+ * which parses the binary section format and decompiles each method back to readable 易语言 source text
121
+ * (hand-rolled port of OpenEpl/EProjectFile, see lib/epl). Extension-driven; a concrete text/media mime rules
122
+ * it out. The viewer validates the file magic and shows a friendly message for encrypted / non-EPL bytes.
123
+ */
124
+ export declare function isEplFile(name: string, mime?: string | null): boolean;
125
+ /**
126
+ * Is this a Java `.class` bytecode file? Such files open in the side viewer's class viewer, which parses the
127
+ * structure in-browser (see lib/classfile.ts) — the class signature plus its fields and methods (a lightweight
128
+ * `javap`; no decompilation of method bodies). The viewer validates the 0xCAFEBABE magic and shows a friendly
129
+ * message otherwise. Extension-driven (the stored mime is unreliable); a concrete text/media mime rules it out.
130
+ */
131
+ export declare function isJavaClassFile(name: string, mime?: string | null): boolean;
132
+ /**
133
+ * Is this a JVM heap dump (`.hprof`)? Such files open in the side viewer's HPROF viewer, which STREAM-parses the
134
+ * dump in-browser (see lib/hprof.ts) — a class histogram (instances + shallow size) plus drill-in to one class's
135
+ * objects with decoded fields, paginated + filterable so a multi-GB dump stays memory-bounded. Extension-driven
136
+ * (the stored mime is unreliable); a concrete text/media mime rules it out.
137
+ */
138
+ export declare function isHprofFile(name: string, mime?: string | null): boolean;
139
+ /**
140
+ * Is this a Windows Installer `.msi` (or `.msp`/`.msm`)? Such files open in the side viewer's MSI viewer,
141
+ * which parses the OLE compound-file structure in-browser (see lib/msi.ts) — the product name/version/codes
142
+ * from the Property table plus the SummaryInformation. Prefer `mime`, fall back to the extension; a concrete
143
+ * text/media mime rules it out.
144
+ */
145
+ export declare function isMsiFile(name: string, mime?: string | null): boolean;
146
+ /**
147
+ * Is this a Windows app package (`.appx`/`.msix`/`.appxbundle`/`.msixbundle`)? Such files open in the side
148
+ * viewer's APPX viewer, which unzips the manifest in-browser (see lib/appx.ts) and shows the package identity,
149
+ * dependencies, capabilities and applications. Prefer `mime`, fall back to the extension; a concrete text/media
150
+ * mime rules it out. Must beat {@link isZipFile} (an APPX is a zip container).
151
+ */
152
+ export declare function isAppxFile(name: string, mime?: string | null): boolean;
153
+ /**
154
+ * Is this a Word `.docx` document? Such files open in the side viewer's Word viewer, which unpacks +
155
+ * renders the OOXML to HTML in-browser (docx-preview, see DocxViewer.vue) — a paginated, paper-like
156
+ * preview. Prefer `mime`, fall back to the extension; a concrete non-docx media/text mime rules it out,
157
+ * blank/octet-stream defers to the extension. Legacy `.doc` is deliberately NOT matched (unsupported).
158
+ */
159
+ export declare function isDocxFile(name: string, mime?: string | null): boolean;
160
+ /**
161
+ * Is this an Excel `.xlsx` / `.xlsm` spreadsheet? Such files open in the side viewer's spreadsheet viewer,
162
+ * which unpacks + renders the workbook to HTML tables in-browser (exceljs, see XlsxViewer.vue) — one table
163
+ * per sheet with a tab bar. Prefer `mime`, fall back to the extension; a concrete non-xlsx media/text mime
164
+ * rules it out, blank/octet-stream defers to the extension. Legacy `.xls` is deliberately NOT matched.
165
+ */
166
+ export declare function isXlsxFile(name: string, mime?: string | null): boolean;
167
+ /**
168
+ * Is this a PowerPoint `.pptx` / `.pptm` / `.ppsx` presentation? Such files open in the side viewer's slide
169
+ * viewer, which unpacks + renders the deck to HTML/SVG in-browser (@aiden0z/pptx-renderer, see PptxViewer.vue)
170
+ * — a scrollable list of slides. Prefer `mime`, fall back to the extension; a concrete non-pptx media/text
171
+ * mime rules it out, blank/octet-stream defers to the extension. Legacy `.ppt` is deliberately NOT matched.
172
+ */
173
+ export declare function isPptxFile(name: string, mime?: string | null): boolean;
174
+ /**
175
+ * Is this a Rich Text Format `.rtf` document? Such files open in the side viewer's rich-text viewer, which
176
+ * interprets the RTF in-browser (hand-rolled, see lib/rtf.ts + RtfViewer.vue) — bold/italic/underline, colors,
177
+ * fonts, alignment and unicode rendered onto a paper-like sheet. Prefer `mime`, fall back to the extension; a
178
+ * concrete non-rtf media mime rules it out, blank/octet-stream/text defers to the extension (an .rtf is often
179
+ * mislabeled text/plain). Must be consulted BEFORE the generic text route so it renders, not shows raw markup.
180
+ */
181
+ export declare function isRtfFile(name: string, mime?: string | null): boolean;
182
+ /**
183
+ * Is this a PDF document? Such files open in the side viewer's PDF viewer, which renders each page to a
184
+ * canvas in-browser (pdfjs-dist, see PdfViewer.vue) — a vertically scrollable list of pages. Prefer `mime`,
185
+ * fall back to the extension; a concrete non-pdf media/text mime rules it out, blank/octet-stream defers to
186
+ * the extension.
187
+ */
188
+ export declare function isPdfFile(name: string, mime?: string | null): boolean;
189
+ /**
190
+ * Is this an outline / mind-map file — OPML (.opml) or FreeMind / Freeplane (.mm)? Such files open in the side
191
+ * viewer with a render/source toggle: render draws an interactive mind map (see MindMapView.vue), source shows
192
+ * the XML. Detection is extension-driven (the stored mime is unreliable); a concrete media mime rules it out.
193
+ * NOTE: `.mm` is also the Objective-C++ source extension — the panel additionally sniffs the loaded text
194
+ * (looksLikeMindMap) before rendering the diagram, so a non-mind-map `.mm` just reads as highlighted source.
195
+ */
196
+ export declare function isMindMapFile(name: string, mime?: string | null): boolean;
197
+ /**
198
+ * Is this an XMind workbook (`.xmind`)? Such files open in the side viewer's XMind viewer, which unzips the
199
+ * `content.json` / `content.xml` in-browser (see lib/xmind.ts) and renders it as an interactive mind map (shared
200
+ * MindMapView). Prefer `mime`, fall back to the extension; a concrete media/text mime rules it out. Must beat
201
+ * {@link isZipFile} (an XMind is a zip container).
202
+ */
203
+ export declare function isXmindFile(name: string, mime?: string | null): boolean;
204
+ /**
205
+ * Is this a DXF (`.dxf`) CAD drawing? Such files open in the side viewer's DXF viewer, which parses the ASCII
206
+ * DXF in-browser (see lib/dxf.ts) and draws its entities as an SVG (pan/zoom + layer toggles). Prefer `mime`,
207
+ * fall back to the extension; a concrete non-dxf media mime rules it out (a `.dxf` is often served text/plain
208
+ * or octet-stream, so the extension is the reliable signal).
209
+ */
210
+ export declare function isDxfFile(name: string, mime?: string | null): boolean;
211
+ /**
212
+ * Is this an email `.eml` (RFC 822 / MIME) message? Such files open in the side viewer's email viewer, which
213
+ * parses the MIME tree in-browser (see lib/eml.ts + EmlViewer.vue) — a header card, the best body (HTML in a
214
+ * sandboxed iframe, plain-text fallback), and the attachments. Prefer `mime`, fall back to the extension; a
215
+ * concrete non-eml media mime rules it out, blank/octet-stream/text defers to the extension.
216
+ */
217
+ export declare function isEmlFile(name: string, mime?: string | null): boolean;
218
+ /**
219
+ * Is this a web archive `.mht`/`.mhtml` (RFC 2557 MIME container)? Such files open in the side viewer's web-
220
+ * archive viewer, which parses the `multipart/related` container in-browser (see lib/mht.ts + MhtViewer.vue)
221
+ * and renders the saved page — resources rewritten to blob URLs — in a sandboxed iframe. Extension-driven (the
222
+ * stored mime is unreliable); the telltale container mimes (multipart/related, application/x-mimearchive)
223
+ * also confirm it.
224
+ */
225
+ export declare function isMhtFile(name: string, mime?: string | null): boolean;
226
+ /**
227
+ * Is this a HAR (`.har`, HTTP Archive 1.2) capture? Such files open in the side viewer's HAR viewer, which
228
+ * parses the JSON archive in-browser (hand-rolled, see lib/har.ts + HarViewer.vue) — a filterable request
229
+ * list with per-request headers / query / cookies / bodies. Extension-driven (a .har is JSON, so the stored
230
+ * mime is usually application/json or octet-stream); a concrete non-har media mime rules it out. Must be
231
+ * checked BEFORE the generic text route (a .har served as application/json would otherwise read as JSON source).
232
+ */
233
+ export declare function isHarFile(name: string, mime?: string | null): boolean;
234
+ /**
235
+ * Is this a SQLite database (`.sqlite`/`.db`/`.sqlite3`/…)? Such files open in the side viewer's SQLite viewer,
236
+ * which loads them with sql.js (WASM) in-browser (see lib/sqlite.ts + SqliteViewer.vue) — a table picker, a
237
+ * paginated data grid, and a SQL console. Prefer `mime`, fall back to the extension; a concrete textual/media
238
+ * mime rules it out (`.db` is a generic suffix, so a clearly-text mime means it isn't a database).
239
+ */
240
+ export declare function isSqliteFile(name: string, mime?: string | null): boolean;
241
+ /**
242
+ * Is this a certificate / key file (`.pem`/`.crt`/`.cer`/`.der`/`.csr`/`.key`/`.p7b`/…)? Such files open
243
+ * in the side viewer's certificate visualizer, which parses the ASN.1 / X.509 in-browser (see lib/x509.ts +
244
+ * CertViewer.vue) — subject/issuer, validity, key + signature algorithms, SANs, fingerprint, and a raw ASN.1
245
+ * structure tree. Prefer `mime`, fall back to the extension; a concrete non-cert media/text mime rules it out.
246
+ * PKCS#12 (`.p12`/`.pfx`) is handled by the keystore viewer ({@link isJksFile}), not here.
247
+ */
248
+ export declare function isCertFile(name: string, mime?: string | null): boolean;
249
+ /**
250
+ * Is this a keystore — Java JKS/JCEKS (`.jks`/`.keystore`/`.ks`/`.jceks`/`.truststore`) or PKCS#12 (`.p12`/
251
+ * `.pfx`)? Such files open in the side viewer's keystore viewer, which sniffs the format and parses it in-browser
252
+ * (see lib/jks.ts / lib/pkcs12.ts) — the entry inventory (aliases / kinds / dates), each entry's X.509 chain,
253
+ * and, with a password, store-integrity verification + private-key decryption. Prefer `mime`, fall back to the
254
+ * extension; a concrete text/media mime rules it out.
255
+ */
256
+ export declare function isJksFile(name: string, mime?: string | null): boolean;
257
+ /**
258
+ * Is this a geodata file (`.geojson`/`.kml`/`.gpx`)? Such files open in the side viewer's map viewer, which
259
+ * parses the geometry in-browser (see lib/geo.ts + GeoViewer.vue) and draws it as an OFFLINE SVG map (no tile
260
+ * server) with pan/zoom and a render/source toggle. Prefer `mime`, fall back to the extension; a concrete
261
+ * non-geo media mime rules it out.
262
+ */
263
+ export declare function isGeoFile(name: string, mime?: string | null): boolean;
264
+ /**
265
+ * Is this a subtitle / caption file (`.srt`/`.vtt`/`.ass`/`.ssa`)? Such files open in the side viewer's
266
+ * subtitle viewer, which parses the cues in-browser (see lib/subtitle.ts + SubtitleViewer.vue) and shows
267
+ * them as a timecoded transcript (with a render/source toggle). Prefer `mime`, fall back to the extension;
268
+ * a concrete non-subtitle media mime rules it out, blank/octet-stream/text defers to the extension.
269
+ */
270
+ export declare function isSubtitleFile(name: string, mime?: string | null): boolean;
271
+ /**
272
+ * Is this a 3D model (`.stl`/`.obj`/`.ply`/`.glb`/`.gltf`)? Such files open in the side viewer's model viewer,
273
+ * which renders them with three.js in-browser (see ModelViewer.vue) — auto-framed, lit, with orbit controls.
274
+ * Prefer `mime` (`model/*`), fall back to the extension; a concrete text/image/audio/video mime rules it out.
275
+ */
276
+ export declare function isModelFile(name: string, mime?: string | null): boolean;
277
+ /**
278
+ * Is this an audio file (mp3/wav/flac/ogg/m4a/aac/opus, a .mid/.midi, or an AMR/SILK voice clip)? Such files
279
+ * open in the side viewer's audio player, which fetches the bytes and plays them via a typed Blob URL (MIDI is
280
+ * visualized as a piano roll, not played; AMR/SILK are decoded to WAV in-browser first). Prefer `mime`
281
+ * (`audio/*`), fall back to the extension; a concrete text/image/video mime rules it out.
282
+ */
283
+ export declare function isAudioFile(name: string, mime?: string | null): boolean;
284
+ /**
285
+ * Is this a Jupyter Notebook (`.ipynb`)? Such files open in the side viewer's notebook viewer, which parses
286
+ * the JSON in-browser (hand-rolled, see lib/ipynb.ts + NotebookViewer.vue) — markdown cells via the app's
287
+ * markdown engine, code cells highlighted, outputs (stream / image / rich HTML / error) inline. Extension-
288
+ * driven (a .ipynb is JSON, so the stored mime is usually application/json or octet-stream); a concrete
289
+ * non-notebook media mime rules it out.
290
+ */
291
+ export declare function isNotebookFile(name: string, mime?: string | null): boolean;
292
+ /**
293
+ * Is this a font file (`.ttf`/`.otf`/`.woff`/`.woff2`)? Such files open in the side viewer's font specimen,
294
+ * which loads them with the native FontFace API in-browser (see FontViewer.vue) — an editable preview line,
295
+ * a size waterfall, and the glyph sets. Prefer `mime`, fall back to the extension; a concrete non-font
296
+ * media/text mime rules it out, blank/octet-stream defers to the extension.
297
+ */
298
+ export declare function isFontFile(name: string, mime?: string | null): boolean;
299
+ /**
300
+ * Is this a QQ Music encrypted audio file (`.mflac`/`.mgg`/…)? Such files open in the side viewer's QMC
301
+ * player, which decrypts the bytes in-browser (see lib/qmc.ts) — recovering the embedded key, undoing the
302
+ * QMCv2 stream cipher, and playing the resulting FLAC/OGG/MP3 via a typed Blob (with a "download decrypted"
303
+ * action). Extension-driven (the stored mime is unreliable, usually octet-stream); a clearly textual/media
304
+ * mime rules it out.
305
+ */
306
+ export declare function isQmcAudioFile(name: string, mime?: string | null): boolean;
307
+ /**
308
+ * Is this an LRC lyrics file (`.lrc`)? Such files open in the side viewer's lyrics viewer, which parses the
309
+ * timestamped lines in-browser (see lib/lrc.ts + LrcViewer.vue) and shows a synced lyric list. Extension-
310
+ * driven; a concrete non-text media mime rules it out. NOTE: deliberately routed BEFORE the generic text
311
+ * route (the viewer self-fetches so it can sniff GBK — a `.lrc` read as UTF-8 text would be mojibake).
312
+ */
313
+ export declare function isLrcFile(name: string, mime?: string | null): boolean;
314
+ /** highlight.js language id for this file, or '' for plain text (no highlighting). */
315
+ export declare function hljsLang(name: string, mime?: string | null): string;