@flyfish-group/file-viewer3 1.0.15 → 1.0.17

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 (254) hide show
  1. package/README.md +16 -14
  2. package/dist/components/3MFLoader.js +1 -1
  3. package/dist/components/AMFLoader.js +1 -1
  4. package/dist/components/AudioViewer.js +1 -1
  5. package/dist/components/CadViewer.js +1 -1
  6. package/dist/components/CodeViewer.js +1 -1
  7. package/dist/components/ColladaLoader.js +1 -1
  8. package/dist/components/DrawingViewer.js +1 -1
  9. package/dist/components/EdaViewer.js +1 -1
  10. package/dist/components/EmailViewer.js +1 -1
  11. package/dist/components/EpubViewer.js +1 -1
  12. package/dist/components/FBXLoader.js +1 -1
  13. package/dist/components/GLTFLoader.js +1 -1
  14. package/dist/components/ImageViewer.js +1 -1
  15. package/dist/components/KMZLoader.js +1 -1
  16. package/dist/components/MarkdownViewer.js +1 -1
  17. package/dist/components/ModelViewer.js +1 -1
  18. package/dist/components/OBJLoader.js +1 -1
  19. package/dist/components/OfdViewer.js +1 -1
  20. package/dist/components/PCDLoader.js +1 -1
  21. package/dist/components/PLYLoader.js +1 -1
  22. package/dist/components/PdfView.js +4591 -4497
  23. package/dist/components/PptxRender.js +1 -1
  24. package/dist/components/STLLoader.js +1 -1
  25. package/dist/components/TDSLoader.js +1 -1
  26. package/dist/components/USDLoader.js +1 -1
  27. package/dist/components/UmdViewer.js +1 -1
  28. package/dist/components/VRMLLoader.js +1 -1
  29. package/dist/components/VTKLoader.js +1 -1
  30. package/dist/components/XYZLoader.js +1 -1
  31. package/dist/components/XlsxTable.js +1 -1
  32. package/dist/components/__vite-browser-external.js +1 -1
  33. package/dist/components/_plugin-vue_export-helper.js +1 -1
  34. package/dist/components/ar-SA-G6X2FPQ2.js +1 -1
  35. package/dist/components/arc.js +1 -1
  36. package/dist/components/architecture-7EHR7CIX.js +1 -1
  37. package/dist/components/architectureDiagram-3BPJPVTR.js +1 -1
  38. package/dist/components/archive.js +1 -1
  39. package/dist/components/asyncToGenerator.js +1 -1
  40. package/dist/components/audio.js +1 -1
  41. package/dist/components/az-AZ-76LH7QW2.js +1 -1
  42. package/dist/components/bash.js +1 -1
  43. package/dist/components/bg-BG-XCXSNQG7.js +1 -1
  44. package/dist/components/blockDiagram-GPEHLZMM.js +1 -1
  45. package/dist/components/bn-BD-2XOGV67Q.js +1 -1
  46. package/dist/components/c4Diagram-AAUBKEIU.js +1 -1
  47. package/dist/components/ca-ES-6MX7JW3Y.js +1 -1
  48. package/dist/components/cad.js +1 -1
  49. package/dist/components/cfb.js +1 -1
  50. package/dist/components/channel.js +1 -1
  51. package/dist/components/chunk-2J33WTMH.js +1 -1
  52. package/dist/components/chunk-3OPIFGDE.js +1 -1
  53. package/dist/components/chunk-4BX2VUAB.js +1 -1
  54. package/dist/components/chunk-55IACEB6.js +1 -1
  55. package/dist/components/chunk-5ZQYHXKU.js +1 -1
  56. package/dist/components/chunk-6U3AYISY.js +1 -1
  57. package/dist/components/chunk-727SXJPM.js +1 -1
  58. package/dist/components/chunk-AGHRB4JF.js +1 -1
  59. package/dist/components/chunk-AQP2D5EJ.js +1 -1
  60. package/dist/components/chunk-BSJP7CBP.js +1 -1
  61. package/dist/components/chunk-CSCIHK7Q.js +1 -1
  62. package/dist/components/chunk-FMBD7UC4.js +1 -1
  63. package/dist/components/chunk-K2UTITRG.js +1 -1
  64. package/dist/components/chunk-KSCS5N6A.js +1 -1
  65. package/dist/components/chunk-L5ZTLDWV.js +1 -1
  66. package/dist/components/chunk-LZXEDZCA.js +1 -1
  67. package/dist/components/chunk-ND2GUHAM.js +1 -1
  68. package/dist/components/chunk-NZK2D7GU.js +1 -1
  69. package/dist/components/chunk-O5CBEL6O.js +1 -1
  70. package/dist/components/chunk-QZHKN3VN.js +1 -1
  71. package/dist/components/chunk-SRAX5OIU.js +1 -1
  72. package/dist/components/chunk-WU5MYG2G.js +1 -1
  73. package/dist/components/chunk-XPW4576I.js +1 -1
  74. package/dist/components/chunk-Z3N5DIM6.js +1 -1
  75. package/dist/components/chunk-ZUYEQ4TG.js +1 -1
  76. package/dist/components/chunk.js +1 -1
  77. package/dist/components/classDiagram-4FO5ZUOK.js +1 -1
  78. package/dist/components/classDiagram-v2-Q7XG4LA2.js +1 -1
  79. package/dist/components/core.js +1 -1
  80. package/dist/components/cose-bilkent-S5V4N54A.js +1 -1
  81. package/dist/components/cpp.js +1 -1
  82. package/dist/components/cs-CZ-2BRQDIVT.js +1 -1
  83. package/dist/components/csharp.js +1 -1
  84. package/dist/components/css.js +1 -1
  85. package/dist/components/cytoscape.esm.js +1 -1
  86. package/dist/components/da-DK-5WZEPLOC.js +1 -1
  87. package/dist/components/dagre-BM42HDAG.js +1 -1
  88. package/dist/components/dagre.js +1 -1
  89. package/dist/components/de-DE-XR44H4JA.js +1 -1
  90. package/dist/components/defaultLocale.js +1 -1
  91. package/dist/components/defineProperty.js +1 -1
  92. package/dist/components/diagram-2AECGRRQ.js +1 -1
  93. package/dist/components/diagram-5GNKFQAL.js +1 -1
  94. package/dist/components/diagram-KO2AKTUF.js +1 -1
  95. package/dist/components/diagram-LMA3HP47.js +1 -1
  96. package/dist/components/diagram-OG6HWLK6.js +1 -1
  97. package/dist/components/diff.js +1 -1
  98. package/dist/components/directory-open-01563666.js +1 -1
  99. package/dist/components/directory-open-4ed118d0.js +1 -1
  100. package/dist/components/dist.js +1 -1
  101. package/dist/components/dist2.js +1 -1
  102. package/dist/components/dist3.js +1 -1
  103. package/dist/components/docx-preview.js +1 -1
  104. package/dist/components/drawing.js +1 -1
  105. package/dist/components/ebook.js +1 -1
  106. package/dist/components/eda.js +1 -1
  107. package/dist/components/el-GR-BZB4AONW.js +1 -1
  108. package/dist/components/email.js +1 -1
  109. package/dist/components/en-B4ZKOASM.js +1 -1
  110. package/dist/components/erDiagram-TEJ5UH35.js +1 -1
  111. package/dist/components/es-ES-U4NZUMDT.js +1 -1
  112. package/dist/components/eu-ES-A7QVB2H4.js +1 -1
  113. package/dist/components/eventmodeling-FCH6USID.js +1 -1
  114. package/dist/components/fa-IR-HGAKTJCU.js +1 -1
  115. package/dist/components/fflate.module.js +1 -1
  116. package/dist/components/fi-FI-Z5N7JZ37.js +1 -1
  117. package/dist/components/file-open-002ab408.js +1 -1
  118. package/dist/components/file-open-7c801643.js +1 -1
  119. package/dist/components/file-save-3189631c.js +1 -1
  120. package/dist/components/file-save-745eba88.js +1 -1
  121. package/dist/components/flowDiagram-I6XJVG4X.js +1 -1
  122. package/dist/components/fr-FR-RHASNOE6.js +1 -1
  123. package/dist/components/ganttDiagram-6RSMTGT7.js +1 -1
  124. package/dist/components/gitGraph-WXDBUCRP.js +1 -1
  125. package/dist/components/gitGraphDiagram-PVQCEYII.js +1 -1
  126. package/dist/components/gl-ES-HMX3MZ6V.js +1 -1
  127. package/dist/components/go.js +1 -1
  128. package/dist/components/graphlib.js +1 -1
  129. package/dist/components/he-IL-6SHJWFNN.js +1 -1
  130. package/dist/components/hi-IN-IWLTKZ5I.js +1 -1
  131. package/dist/components/hu-HU-A5ZG7DT2.js +1 -1
  132. package/dist/components/id-ID-SAP4L64H.js +1 -1
  133. package/dist/components/image-GAAHSSAO.js +1 -1
  134. package/dist/components/image-blob-reduce.esm.js +1 -1
  135. package/dist/components/image.js +1 -1
  136. package/dist/components/info-J43DQDTF.js +1 -1
  137. package/dist/components/infoDiagram-5YYISTIA.js +1 -1
  138. package/dist/components/ini.js +1 -1
  139. package/dist/components/init.js +1 -1
  140. package/dist/components/ishikawaDiagram-YF4QCWOH.js +1 -1
  141. package/dist/components/it-IT-JPQ66NNP.js +1 -1
  142. package/dist/components/ja-JP-DBVTYXUO.js +1 -1
  143. package/dist/components/java.js +1 -1
  144. package/dist/components/javascript.js +1 -1
  145. package/dist/components/journeyDiagram-JHISSGLW.js +1 -1
  146. package/dist/components/json.js +1 -1
  147. package/dist/components/jszip.min.js +1 -1
  148. package/dist/components/kaa-6HZHGXH3.js +1 -1
  149. package/dist/components/kab-KAB-ZGHBKWFO.js +1 -1
  150. package/dist/components/kanban-definition-UN3LZRKU.js +1 -1
  151. package/dist/components/katex.js +1 -1
  152. package/dist/components/kk-KZ-P5N5QNE5.js +1 -1
  153. package/dist/components/km-KH-HSX4SM5Z.js +1 -1
  154. package/dist/components/ko-KR-MTYHY66A.js +1 -1
  155. package/dist/components/ku-TR-6OUDTVRD.js +1 -1
  156. package/dist/components/lib.js +1 -1
  157. package/dist/components/libarchive.js +1 -1
  158. package/dist/components/linear.js +1 -1
  159. package/dist/components/lt-LT-XHIRWOB4.js +1 -1
  160. package/dist/components/lv-LV-5QDEKY6T.js +1 -1
  161. package/dist/components/markdown.js +1 -1
  162. package/dist/components/md.js +1 -1
  163. package/dist/components/mermaid-parser.core.js +1 -1
  164. package/dist/components/mindmap-definition-RKZ34NQL.js +1 -1
  165. package/dist/components/model.js +1 -1
  166. package/dist/components/mp4.js +1 -1
  167. package/dist/components/mr-IN-CRQNXWMA.js +1 -1
  168. package/dist/components/my-MM-5M5IBNSE.js +1 -1
  169. package/dist/components/nb-NO-T6EIAALU.js +1 -1
  170. package/dist/components/nestedRender.js +1 -1
  171. package/dist/components/nl-NL-IS3SIHDZ.js +1 -1
  172. package/dist/components/nn-NO-6E72VCQL.js +1 -1
  173. package/dist/components/objectSpread2.js +1 -1
  174. package/dist/components/objectWithoutProperties.js +1 -1
  175. package/dist/components/oc-FR-POXYY2M6.js +1 -1
  176. package/dist/components/ofd.js +1 -1
  177. package/dist/components/ofd2.js +1 -1
  178. package/dist/components/ordinal.js +1 -1
  179. package/dist/components/pa-IN-N4M65BXN.js +1 -1
  180. package/dist/components/packet-YPE3B663.js +1 -1
  181. package/dist/components/pdf.js +1 -1
  182. package/dist/components/percentages-BXMCSKIN.js +1 -1
  183. package/dist/components/php.js +1 -1
  184. package/dist/components/pica.js +1 -1
  185. package/dist/components/pie-LRSECV5Y.js +1 -1
  186. package/dist/components/pie.js +1 -1
  187. package/dist/components/pieDiagram-4H26LBE5.js +1 -1
  188. package/dist/components/pl-PL-T2D74RX3.js +1 -1
  189. package/dist/components/postal-mime.js +1 -1
  190. package/dist/components/pptx.js +1 -1
  191. package/dist/components/prod.js +1 -1
  192. package/dist/components/pt-BR-5N22H2LF.js +1 -1
  193. package/dist/components/pt-PT-UZXXM6DQ.js +1 -1
  194. package/dist/components/python.js +1 -1
  195. package/dist/components/quadrantDiagram-W4KKPZXB.js +1 -1
  196. package/dist/components/radar-GUYGQ44K.js +1 -1
  197. package/dist/components/requirementDiagram-4Y6WPE33.js +1 -1
  198. package/dist/components/ro-RO-JPDTUUEW.js +1 -1
  199. package/dist/components/rough.esm.js +1 -1
  200. package/dist/components/roundRect.js +1 -1
  201. package/dist/components/ru-RU-B4JR7IUQ.js +1 -1
  202. package/dist/components/rust.js +1 -1
  203. package/dist/components/sankeyDiagram-5OEKKPKP.js +1 -1
  204. package/dist/components/sequenceDiagram-3UESZ5HK.js +1 -1
  205. package/dist/components/shared.js +1 -1
  206. package/dist/components/shared2.js +1 -1
  207. package/dist/components/si-LK-N5RQ5JYF.js +1 -1
  208. package/dist/components/sk-SK-C5VTKIMK.js +1 -1
  209. package/dist/components/sl-SI-NN7IZMDC.js +1 -1
  210. package/dist/components/sql.js +1 -1
  211. package/dist/components/src.js +1 -1
  212. package/dist/components/src2.js +1 -1
  213. package/dist/components/stateDiagram-AJRCARHV.js +1 -1
  214. package/dist/components/stateDiagram-v2-BHNVJYJU.js +1 -1
  215. package/dist/components/subset-shared.chunk.js +1 -1
  216. package/dist/components/subset-worker.chunk.js +1 -1
  217. package/dist/components/sv-SE-XGPEYMSR.js +1 -1
  218. package/dist/components/ta-IN-2NMHFXQM.js +1 -1
  219. package/dist/components/text.js +1 -1
  220. package/dist/components/th-TH-HPSO5L25.js +1 -1
  221. package/dist/components/three.module.js +1 -1
  222. package/dist/components/time.js +1 -1
  223. package/dist/components/timeline-definition-PNZ67QCA.js +1 -1
  224. package/dist/components/tr-TR-DEFEU3FU.js +1 -1
  225. package/dist/components/treeView-BLDUP644.js +1 -1
  226. package/dist/components/treemap-LRROVOQU.js +1 -1
  227. package/dist/components/typescript.js +1 -1
  228. package/dist/components/uk-UA-QMV73CPH.js +1 -1
  229. package/dist/components/umd.js +1 -1
  230. package/dist/components/use.js +1 -1
  231. package/dist/components/util.js +1 -1
  232. package/dist/components/vennDiagram-CIIHVFJN.js +1 -1
  233. package/dist/components/vi-VN-M7AON7JQ.js +1 -1
  234. package/dist/components/wardley-L42UT6IY.js +1 -1
  235. package/dist/components/wardleyDiagram-YWT4CUSO.js +1 -1
  236. package/dist/components/word.js +1 -1
  237. package/dist/components/worker-ref.js +1 -1
  238. package/dist/components/wrapAsyncGenerator.js +1 -1
  239. package/dist/components/xlsx.js +1 -1
  240. package/dist/components/xml.js +1 -1
  241. package/dist/components/xychartDiagram-2RQKCTM6.js +1 -1
  242. package/dist/components/yaml.js +1 -1
  243. package/dist/components/zh-CN-LNUGB5OW.js +1 -1
  244. package/dist/components/zh-HK-E62DVLB3.js +1 -1
  245. package/dist/components/zh-TW-RAJ6MFWO.js +1 -1
  246. package/dist/file-viewer3.css +1 -1
  247. package/dist/index.mjs +1 -1
  248. package/dist/src/package/common/printCapability.d.ts +27 -0
  249. package/dist/src/package/common/type.d.ts +70 -0
  250. package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +27 -2
  251. package/dist/src/package/index.d.ts +1 -1
  252. package/dist/src/package/vendors/word/doc.d.ts +2 -2
  253. package/dist/src/package/vendors/word/docx.d.ts +2 -2
  254. package/package.json +1 -1
package/README.md CHANGED
@@ -19,16 +19,16 @@
19
19
 
20
20
  | 技术栈 | npm 包 | 最新版本 | 推荐分支 | 说明 |
21
21
  | --- | --- | --- | --- | --- |
22
- | Vue3 | `@flyfish-group/file-viewer3` | `1.0.14` | `v3` | 主推版本,也是 React / 纯 Web 私有化 iframe 适配层的构建基线 |
23
- | Vue2.7 | `@flyfish-group/file-viewer` | `1.0.14` | `main` | 兼容 Vue2 项目,格式能力与 Vue3 保持一致 |
24
- | React 17 / 18 / 19 | `@flyfish-group/file-viewer-react` | `1.0.14` | 当前仓库子工程 | iframe 组件,默认加载 `/file-viewer/index.html` |
25
- | 纯 JS | `@flyfish-group/file-viewer-web` | `1.0.14` | 当前仓库子工程 | iframe helper 和 viewer 产物复制工具 |
22
+ | Vue3 | `@flyfish-group/file-viewer3` | `1.0.17` | `v3` | 主推版本,也是 React / 纯 Web 私有化 iframe 适配层的构建基线 |
23
+ | Vue2.7 | `@flyfish-group/file-viewer` | `1.0.17` | `main` | 兼容 Vue2 项目,格式能力与 Vue3 保持一致 |
24
+ | React 17 / 18 / 19 | `@flyfish-group/file-viewer-react` | `1.0.17` | 当前仓库子工程 | iframe 组件,默认加载 `/file-viewer/index.html` |
25
+ | 纯 JS | `@flyfish-group/file-viewer-web` | `1.0.17` | 当前仓库子工程 | iframe helper 和 viewer 产物复制工具 |
26
26
 
27
27
  如果你在内网、离线环境,或者 npm 发布权限还没有完成配置,也可以直接使用公开成品仓库 `artifacts/` 里的 tarball。离线安装 React 包时请先安装同版本 web 包:
28
28
 
29
29
  ```bash
30
- npm install ./artifacts/flyfish-group-file-viewer-web-1.0.14.tgz
31
- npm install ./artifacts/flyfish-group-file-viewer-react-1.0.14.tgz
30
+ npm install ./artifacts/flyfish-group-file-viewer-web-1.0.17.tgz
31
+ npm install ./artifacts/flyfish-group-file-viewer-react-1.0.17.tgz
32
32
  ```
33
33
 
34
34
  React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm 10 默认会拦截依赖包的 `postinstall`,如果看到 `Ignored build scripts: @flyfish-group/file-viewer-web`,请执行 `pnpm approve-builds` 允许该包,或安装后运行 `pnpm exec file-viewer-copy-assets ./public/file-viewer`。
@@ -40,8 +40,10 @@ React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm
40
40
  - **纯前端 Serverless。** 文档解析和展示全部在浏览器内完成,部署简单,不依赖 Office 服务端、LibreOffice 守护进程或额外转码链路。
41
41
  - **格式覆盖完整。** 当前内置 135 个扩展名映射,覆盖 Word、Excel、PowerPoint、PDF、OFD、压缩包、邮件、OLB/DRA、CAD、3D 模型、Excalidraw、draw.io、EPUB、UMD、Markdown、图片、音频、代码/文本和 MP4,能覆盖绝大多数业务附件场景。
42
42
  - **按需异步加载。** PDF、OFD、压缩包、邮件、OLB/DRA、CAD、3D 模型、绘图、Office、EPUB、UMD、Markdown 和代码高亮渲染器都按需加载,重型解析依赖不会进入其他格式的首屏路径。
43
- - **预览器操作完整。** 内置下载原文件、打印完整渲染结果、导出渲染后 HTML、水印开关和水印 optionsPDF 会逐页输出完整页面,不依赖当前视口,适合合同、归档和审批类场景。
43
+ - **预览器操作完整。** 内置下载原文件、打印完整渲染结果、导出渲染后 HTML、水印开关和水印 options;打印按钮会按当前格式和渲染链路动态显隐,Word / PDF 使用专属完整页导出适配器,不依赖当前视口,适合合同、归档和审批类场景。
44
+ - **集成控制更完整。** 提供加载/卸载生命周期钩子、iframe 事件回传和按钮前置校验机制,下载、打印、导出前可以接入权限验证、审计确认或业务二次弹窗。
44
45
  - **阅读体验更像产品。** `.doc`、`.docx`、PDF 都保留灰色工作台、白色纸张、居中阅读和自适应缩放,避免“内容能打开但不好读”的落差。
46
+ - **明暗主题有边界。** Demo 外壳、Markdown 和代码预览会适配系统暗色模式;PDF、Word、Excel 等带原始版式的内容保持独立纸张或表格背景,避免全局主题污染文档。
45
47
  - **Demo 更适合验收。** 示例文件按文档、表格、图纸、代码、图片等类型分组展示,点击样例即可打开并自动收起选择器。
46
48
  - **Vue2 / Vue3 体验一致。** `main` 分支面向 Vue2.7,`v3` 分支面向 Vue3;两边共享完整格式覆盖、示例文件盒子、文档站和 iframe 集成体验。
47
49
  - **组件和独立站两用。** 既支持在 Vue 项目里直接作为组件使用,也支持独立部署后通过 iframe 嵌入到任意系统,方便多业务线复用。
@@ -55,10 +57,10 @@ React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm
55
57
  | --- | --- | --- | --- |
56
58
  | Word | `docx` | `docx-preview`,更适合保留文档结构和版式 | 新生成的 Word 文档、正式文档 |
57
59
  | Word | `doc` | `msdoc-viewer` + Word 风格页面容器 | 历史 `.doc` 老文档 |
58
- | Excel | `xlsx` | `styled-exceljs` + 虚拟滚动,支持尺寸、合并和常见样式 | 需要保留表格结构和样式的业务 |
59
- | Excel 兼容格式 | `xlsm`、`xlsb`、`xls`、`csv`、`ods`、`fods`、`numbers` | 统一解析,按格式可用信息渐进还原样式 | 老表格、轻量数据查看 |
60
+ | Excel | `xlsx` | `styled-exceljs` + 虚拟滚动,支持尺寸、合并和常见样式;打印按钮按能力隐藏,避免只打印当前视口 | 需要保留表格结构和样式的业务 |
61
+ | Excel 兼容格式 | `xlsm`、`xlsb`、`xls`、`csv`、`ods`、`fods`、`numbers` | 统一解析,按格式可用信息渐进还原样式;同样遵循虚拟表格打印边界 | 老表格、轻量数据查看 |
60
62
  | PowerPoint | `pptx` | 浏览幻灯片内容,增强组合图形、主题背景、图片裁剪与 EMF 矢量图预览 | 汇报材料、课件、方案 |
61
- | PDF | `pdf` | 基于 `pdfjs-dist` 预览,支持缩放工具栏、页码状态、可显隐导航窗格、宽度自适应、完整打印和导出 HTML | 合同、票据、版式成品 |
63
+ | PDF | `pdf` | 基于 `pdfjs-dist` 预览,支持缩放工具栏、页侧边栏/目录树侧边栏切换、宽度自适应、完整打印和导出 HTML | 合同、票据、版式成品 |
62
64
  | OFD | `ofd` | 基于 `DLTech21/ofd.js` 仓库源码在线预览国产版式文档,避开 npm dist 授权 wasm 分支 | 电子发票、公文、归档材料 |
63
65
  | 压缩包 | `zip`、`zipx`、`7z`、`rar`、`tar`、`gz`、`gzip`、`tgz`、`bz2`、`bzip2`、`tbz`、`tbz2`、`xz`、`txz`、`lzma`、`zst`、`tzst`、`cab`、`ar`、`cpio`、`iso`、`xar`、`lha`、`lzh`、`jar`、`war`、`ear`、`apk`、`cbz`、`cbr` | 基于 `libarchive.js` 的 WASM Worker 读取目录,点击后按需解压内部文件并复用统一预览器,支持 IndexedDB 缓存和体积上限 | 归档附件、批量交付包、压缩包内文档快速查看 |
64
66
  | 邮件 | `eml`、`msg` | EML 使用 `postal-mime`,MSG 使用 `@kenjiuno/msgreader`,支持头信息、HTML/文本正文、附件下载与附件预览 | 邮件归档、工单邮件、客户来信附件 |
@@ -70,7 +72,7 @@ React / 纯 JS 包推荐用 `npm install` 获得安装即复制的体验。pnpm
70
72
  | draw.io | `drawio`、`dio` | 基于官方 diagrams.net `GraphViewer` 预览 mxGraphModel / mxfile | 流程图、架构图、业务泳道图 |
71
73
  | 电子书 | `epub` | 基于 `epubjs` 解析目录和章节资源,使用兼容性更好的滚动阅读 | 电子书、培训手册、长篇阅读材料 |
72
74
  | 电子书 | `umd` | 按 UMD 移动电子书结构解析元数据、目录和 zlib 压缩正文 | 旧移动电子书、历史小说附件 |
73
- | Markdown | `md`、`markdown` | Markdown 阅读样式 | README、知识文档、说明文档 |
75
+ | Markdown | `md`、`markdown` | Markdown 阅读样式,支持明暗主题阅读面 | README、知识文档、说明文档 |
74
76
  | 图片 | `gif`、`jpg`、`jpeg`、`bmp`、`tiff`、`tif`、`png`、`svg`、`webp` | 原生图片浏览 | 图片附件、设计稿、Logo |
75
77
  | 代码/文本 | `txt`、`json`、`js`、`mjs`、`cjs`、`css`、`java`、`py`、`html`、`htm`、`jsx`、`ts`、`tsx`、`xml`、`log`、`vue`、`yaml`、`yml`、`ini`、`sh`、`bash`、`sql`、`go`、`rs`、`php`、`c`、`cpp`、`cc`、`h`、`hpp`、`cs`、`diff` | 使用 `highlight.js` 轻量高亮,HTML 按源码展示 | 日志、配置、代码片段、接口响应 |
76
78
  | 音频 | `mp3`、`mpeg`、`wav`、`ogg`、`oga`、`opus`、`m4a`、`aac`、`flac`、`weba` | 浏览器原生音频播放,带控制条和基础进度信息 | 录音、播客、语音附件、音效素材 |
@@ -169,8 +171,8 @@ React 与纯 Web 适配层不再复制渲染器,只通过 iframe 加载 Vue3
169
171
  官网 Demo 可用于快速验证预览效果,但 React / 纯 JS 组件不会把官网 Demo 地址作为内置 viewer 地址。
170
172
 
171
173
  ```bash
172
- npm install @flyfish-group/file-viewer-react@1.0.14
173
- npm install @flyfish-group/file-viewer-web@1.0.14
174
+ npm install @flyfish-group/file-viewer-react@1.0.17
175
+ npm install @flyfish-group/file-viewer-web@1.0.17
174
176
  ```
175
177
 
176
178
  ```tsx
@@ -214,7 +216,7 @@ pnpm --filter @flyfish-group/file-viewer-demo preview
214
216
  - 如果下载地址本身没有明确扩展名,建议先在业务侧取回文件,再包装成 `File`
215
217
  - PPTX 渲染器会尽量还原常见组合图形、旋转/翻转、主题背景、图片裁剪和 EMF 矢量图片;复杂 Office 特效仍建议用真实业务文件做回归
216
218
  - OFD、压缩包、邮件、OLB/DRA、CAD、3D 模型、绘图、EPUB、UMD、PDF、Office、Markdown、音频和代码高亮渲染器都按需异步加载,只有命中格式时才拉取对应代码块
217
- - `options.watermark` 支持文字或图片水印;`options.toolbar` 可控制下载原文件、打印完整渲染结果和导出 HTML;PDF 打印会逐页生成完整页面,避免只打印当前视口;`options.archive` 可配置 libarchive worker、缓存和体积上限
219
+ - `options.watermark` 支持文字或图片水印;`options.toolbar` 可控制下载原文件、打印完整渲染结果和导出 HTML;`options.hooks` 可接收加载/卸载生命周期;`options.beforeOperation` 可在下载、打印、导出前做权限校验;打印按钮会结合当前文件类型、渲染完成状态和导出适配器动态显隐,Word / PDF 会生成完整页面,Excel 等虚拟表格会隐藏打印按钮,避免只打印当前视口或第一页
218
220
 
219
221
  ```ts
220
222
  const blob = await response.blob()
@@ -1 +1 @@
1
- const ba=k;(function(Q,R){const b8=k,S=Q();while(!![]){try{const T=-parseInt(b8(0x178))/0x1*(-parseInt(b8(0x190))/0x2)+parseInt(b8(0x1c0))/0x3*(-parseInt(b8(0x176))/0x4)+-parseInt(b8(0x18c))/0x5*(parseInt(b8(0x1a6))/0x6)+parseInt(b8(0x1bc))/0x7+parseInt(b8(0x1af))/0x8+-parseInt(b8(0x1a3))/0x9+parseInt(b8(0x1aa))/0xa;if(T===R)break;else S['push'](S['shift']());}catch(U){S['push'](S['shift']());}}}(j,0xf12e1));function j(){const bJ=['decode','withCredentials','clone','11700456tmYmAT','setAttribute','pid','setRequestHeader','requestHeader','availableExtensions','pindex','load','charAt','none','tilestyleu','i:in','objectId','8154573BbruTJ','auto','pbmetallic','push','1779MmPmYT','setPath','texid','DEFAULT_MATERIAL_NAME','pop','xml','substring','build','match','7484zPemdr','partnumber','93FZxDOj','Copyright','ModificationDate','texture2dgroup','textContent','name','material','wrapT','parseFromString','texture','Rating','minFilter','attributes','displaycolor','data','split','metallicness','components','nodeName','mesh','498090GDsJVZ','warn','add','contenttype','14224BEdVGy','transform','mirror','vertices','uvs','querySelectorAll','position','addExtension','extensions','path','setResponseType','colorgroup','keys','THREE.3MFLoader:\x20Unsupported\x20resource\x20type.','implicitfunction','revokeObjectURL','default','length','displaypropertiesid','16972704SYrtyh','toLowerCase','Description','72Vhkdyo','linear','tilestylev','getAttribute','18897360BHsNkw','resources'];j=function(){return bJ;};return j();}import{$ as q,C as w,Ct as z,E as A,Ft as B,H as C,K as D,U as E,at as F,et as G,f as H,l as I,ot as J,p,rt as K,st as L,u as M,w as N,wt as O}from'./three.module.js';function k(a,b){a=a-0x174;const c=j();let d=c[a];return d;}import{t as P}from'./fflate.module.js';var b=O,x=class extends D{constructor(Q){const b9=k;super(Q),this[b9(0x1b4)]=[];}[ba(0x1b6)](Q,R,S,T){const bb=ba;let U=this,V=new w(U['manager']);V[bb(0x1c1)](U[bb(0x199)]),V[bb(0x19a)]('arraybuffer'),V[bb(0x1b2)](U[bb(0x1b3)]),V['setWithCredentials'](U[bb(0x1ad)]),V['load'](Q,function(W){try{R(U['parse'](W));}catch(X){T?T(X):console['error'](X),U['manager']['itemError'](Q);}},S,T);}['parse'](a0){let a1=this,a2=new B(this['manager']);function a3(aE){const bc=k;let aF=null,aG=null,aH,aI,aJ=[],aK=[],aL,aM={},aN={},aO={},aP=new TextDecoder();try{aF=P(new Uint8Array(aE));}catch(aT){if(aT instanceof ReferenceError)return console['error']('THREE.3MFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}let aQ=null;for(aG in aF)aG['match'](/\_rels\/.rels$/)?aH=aG:aG['match'](/3D\/_rels\/.*\.model\.rels$/)?aI=aG:aG['match'](/^3D\/[^\/]*\.model$/)?aQ=aG:aG[bc(0x175)](/^3D\/.*\/.*\.model$/)?aJ['push'](aG):aG[bc(0x175)](/^3D\/Textures?\/.*/)&&aK[bc(0x1bf)](aG);if(aJ['push'](aQ),aH===void 0x0)throw Error('THREE.ThreeMFLoader:\x20Cannot\x20find\x20relationship\x20file\x20`rels`\x20in\x203MF\x20archive.');let aR=aF[aH],aS=a4(aP['decode'](aR));if(aI){let aU=aF[aI];aL=a4(aP[bc(0x1ac)](aU));}for(let aV=0x0;aV<aJ[bc(0x1a1)];aV++){let aW=aJ[aV],aX=aF[aW],aY=aP[bc(0x1ac)](aX),aZ=new DOMParser()[bc(0x180)](aY,'application/xml');aZ['documentElement'][bc(0x18a)][bc(0x1a4)]()!=='model'&&console['error']('THREE.3MFLoader:\x20Error\x20loading\x203MF\x20-\x20no\x203MF\x20document\x20found:\x20',aW);let b0=aZ['querySelector']('model'),b1={};for(let b3=0x0;b3<b0['attributes'][bc(0x1a1)];b3++){let b4=b0['attributes'][b3];b4['name']['match'](/^xmlns:(.+)$/)&&(b1[b4['value']]=RegExp['$1']);}let b2=al(b0);b2['xml']=b0,0x0<Object[bc(0x19c)](b1)['length']&&(b2[bc(0x198)]=b1),aM[aW]=b2;}for(let b5=0x0;b5<aK['length'];b5++){let b6=aK[b5];aO[b6]=aF[b6]['buffer'];}return{'rels':aS,'modelRels':aL,'model':aM,'printTicket':aN,'texture':aO};}function a4(aE){const bd=k;let aF=[],aG=new DOMParser()['parseFromString'](aE,'application/xml')['querySelectorAll']('Relationship');for(let aH=0x0;aH<aG[bd(0x1a1)];aH++){let aI=aG[aH],aJ={'target':aI['getAttribute']('Target'),'id':aI[bd(0x1a9)]('Id'),'type':aI['getAttribute']('Type')};aF[bd(0x1bf)](aJ);}return aF;}function a5(aE){const be=k;let aF={};for(let aG=0x0;aG<aE['length'];aG++){let aH=aE[aG],aI=aH['getAttribute']('name');0x0<=['Title','Designer',be(0x1a5),be(0x179),'LicenseTerms',be(0x182),'CreationDate',be(0x17a)]['indexOf'](aI)&&(aF[aI]=aH[be(0x17c)]);}return aF;}function a6(aE){let aF={'id':aE['getAttribute']('id'),'basematerials':[]},aG=aE['querySelectorAll']('base');for(let aH=0x0;aH<aG['length'];aH++){let aI=aG[aH],aJ=ad(aI);aJ['index']=aH,aF['basematerials']['push'](aJ);}return aF;}function a7(aE){const bf=k;return{'id':aE['getAttribute']('id'),'path':aE['getAttribute'](bf(0x199)),'contenttype':aE['getAttribute']('contenttype'),'tilestyleu':aE['getAttribute'](bf(0x1b9)),'tilestylev':aE['getAttribute'](bf(0x1a8)),'filter':aE['getAttribute']('filter')};}function a8(aE){const bg=k;let aF={'id':aE[bg(0x1a9)]('id'),'texid':aE['getAttribute']('texid'),'displaypropertiesid':aE['getAttribute']('displaypropertiesid')},aG=aE['querySelectorAll']('tex2coord'),aH=[];for(let aI=0x0;aI<aG['length'];aI++){let aJ=aG[aI],aK=aJ['getAttribute']('u'),aL=aJ['getAttribute']('v');aH['push'](parseFloat(aK),parseFloat(aL));}return aF[bg(0x194)]=new Float32Array(aH),aF;}function a9(aE){let aF={'id':aE['getAttribute']('id'),'displaypropertiesid':aE['getAttribute']('displaypropertiesid')},aG=aE['querySelectorAll']('color'),aH=[],aI=new p();for(let aJ=0x0;aJ<aG['length'];aJ++){let aK=aG[aJ]['getAttribute']('color');aI['setStyle'](aK['substring'](0x0,0x7),b),aH['push'](aI['r'],aI['g'],aI['b']);}return aF['colors']=new Float32Array(aH),aF;}function aa(aE){const bh=k;let aF=aE['children'],aG={};for(let aH=0x0;aH<aF[bh(0x1a1)];aH++){let aI={'type':aF[aH]['nodeName']['substring'](0x2)};for(let aJ=0x0;aJ<aF[aH][bh(0x184)]['length'];aJ++){let aK=aF[aH]['attributes'][aJ];aK['specified']&&(aI[aK[bh(0x17d)]]=aK['value']);}aG[aF[aH]['getAttribute']('identifier')]=aI;}return aG;}function ab(aE){const bi=k;let aF={'id':aE[bi(0x1a9)]('id'),'displayname':aE['getAttribute']('displayname')},aG=aE['children'],aH={};for(let aI=0x0;aI<aG[bi(0x1a1)];aI++){let aJ=aG[aI];if(aJ['nodeName']==='i:in'||aJ['nodeName']==='i:out')aH[aJ['nodeName']===bi(0x1ba)?'inputs':'outputs']=aa(aJ);else{let aK=aJ['children'],aL={'op':aJ['nodeName']['substring'](0x2),'identifier':aJ['getAttribute']('identifier')};for(let aM=0x0;aM<aK['length'];aM++)aL[aK[aM]['nodeName']['substring'](0x2)]=aa(aK[aM]);aH[aL['identifier']]=aL;}}return aF['operations']=aH,aF;}function ac(aE){const bj=k;let aF={'id':aE['getAttribute']('id')},aG=aE['querySelectorAll'](bj(0x1be)),aH=[];for(let aI=0x0;aI<aG[bj(0x1a1)];aI++){let aJ=aG[aI];aH['push']({'name':aJ['getAttribute']('name'),'metallicness':parseFloat(aJ[bj(0x1a9)](bj(0x188))),'roughness':parseFloat(aJ['getAttribute']('roughness'))});}return aF[bj(0x186)]=aH,aF;}function ad(aE){const bk=k;let aF={};return aF['name']=aE['getAttribute']('name'),aF[bk(0x185)]=aE['getAttribute'](bk(0x185)),aF['displaypropertiesid']=aE['getAttribute']('displaypropertiesid'),aF;}function ae(aE){const bl=k;let aF={},aG=[],aH=aE['querySelectorAll']('vertices\x20vertex');for(let aL=0x0;aL<aH['length'];aL++){let aM=aH[aL],aN=aM['getAttribute']('x'),aO=aM[bl(0x1a9)]('y'),aP=aM['getAttribute']('z');aG['push'](parseFloat(aN),parseFloat(aO),parseFloat(aP));}aF['vertices']=new Float32Array(aG);let aI=[],aJ=[],aK=aE[bl(0x195)]('triangles\x20triangle');for(let aQ=0x0;aQ<aK['length'];aQ++){let aR=aK[aQ],aS=aR['getAttribute']('v1'),aT=aR['getAttribute']('v2'),aU=aR['getAttribute']('v3'),aV=aR['getAttribute']('p1'),aW=aR['getAttribute']('p2'),aX=aR['getAttribute']('p3'),aY=aR['getAttribute'](bl(0x1b1)),aZ={};aZ['v1']=parseInt(aS,0xa),aZ['v2']=parseInt(aT,0xa),aZ['v3']=parseInt(aU,0xa),aJ['push'](aZ['v1'],aZ['v2'],aZ['v3']),aV&&(aZ['p1']=parseInt(aV,0xa)),aW&&(aZ['p2']=parseInt(aW,0xa)),aX&&(aZ['p3']=parseInt(aX,0xa)),aY&&(aZ[bl(0x1b1)]=aY),0x0<Object[bl(0x19c)](aZ)['length']&&aI['push'](aZ);}return aF['triangleProperties']=aI,aF['triangles']=new Uint32Array(aJ),aF;}function af(aE){const bm=k;let aF=[],aG=aE['querySelectorAll']('component');for(let aH=0x0;aH<aG[bm(0x1a1)];aH++){let aI=aG[aH],aJ=ag(aI);aF['push'](aJ);}return aF;}function ag(aE){const bn=k;let aF={};aF[bn(0x1bb)]=aE[bn(0x1a9)]('objectid');let aG=aE['getAttribute']('transform');return aG&&(aF[bn(0x191)]=ah(aG)),aF;}function ah(aE){let aF=[];aE['split']('\x20')['forEach'](function(aH){const bo=k;aF[bo(0x1bf)](parseFloat(aH));});let aG=new q();return aG['set'](aF[0x0],aF[0x3],aF[0x6],aF[0x9],aF[0x1],aF[0x4],aF[0x7],aF[0xa],aF[0x2],aF[0x5],aF[0x8],aF[0xb],0x0,0x0,0x0,0x1),aG;}function ai(aE){const bp=k;let aF={'type':aE['getAttribute']('type')},aG=aE['getAttribute']('id');aG&&(aF['id']=aG);let aH=aE['getAttribute']('pid');aH&&(aF['pid']=aH);let aI=aE['getAttribute']('pindex');aI&&(aF['pindex']=aI);let aJ=aE['getAttribute']('thumbnail');aJ&&(aF['thumbnail']=aJ);let aK=aE['getAttribute']('partnumber');aK&&(aF[bp(0x177)]=aK);let aL=aE['getAttribute']('name');aL&&(aF['name']=aL);let aM=aE['querySelector'](bp(0x18b));aM&&(aF['mesh']=ae(aM));let aN=aE['querySelector']('components');return aN&&(aF['components']=af(aN)),aF;}function aj(aE){const bq=k;let aF={};aF['basematerials']={};let aG=aE['querySelectorAll']('basematerials');for(let aN=0x0;aN<aG['length'];aN++){let aO=aG[aN],aP=a6(aO);aF['basematerials'][aP['id']]=aP;}aF['texture2d']={};let aH=aE[bq(0x195)]('texture2d');for(let aQ=0x0;aQ<aH['length'];aQ++){let aR=aH[aQ],aS=a7(aR);aF['texture2d'][aS['id']]=aS;}aF['colorgroup']={};let aI=aE['querySelectorAll'](bq(0x19b));for(let aT=0x0;aT<aI['length'];aT++){let aU=aI[aT],aV=a9(aU);aF['colorgroup'][aV['id']]=aV;}let aJ=aE['querySelectorAll']('implicitfunction');aJ['length']>0x0&&(aF[bq(0x19e)]={});for(let aW=0x0;aW<aJ[bq(0x1a1)];aW++){let aX=aJ[aW],aY=ab(aX);aF['implicitfunction'][aY['id']]=aY;}aF['pbmetallicdisplayproperties']={};let aK=aE['querySelectorAll']('pbmetallicdisplayproperties');for(let aZ=0x0;aZ<aK['length'];aZ++){let b0=aK[aZ],b1=ac(b0);aF['pbmetallicdisplayproperties'][b1['id']]=b1;}aF['texture2dgroup']={};let aL=aE['querySelectorAll'](bq(0x17b));for(let b2=0x0;b2<aL[bq(0x1a1)];b2++){let b3=aL[b2],b4=a8(b3);aF[bq(0x17b)][b4['id']]=b4;}aF['object']={};let aM=aE['querySelectorAll']('object');for(let b5=0x0;b5<aM['length'];b5++){let b6=aM[b5],b7=ai(b6);aF['object'][b7['id']]=b7;}return aF;}function ak(aE){const br=k;let aF=[],aG=aE['querySelectorAll']('item');for(let aH=0x0;aH<aG[br(0x1a1)];aH++){let aI=aG[aH],aJ={'objectId':aI['getAttribute']('objectid')},aK=aI[br(0x1a9)]('transform');aK&&(aJ['transform']=ah(aK)),aF[br(0x1bf)](aJ);}return aF;}function al(aE){const bs=k;let aF={'unit':aE[bs(0x1a9)]('unit')||'millimeter'},aG=aE['querySelectorAll']('metadata');aG&&(aF['metadata']=a5(aG));let aH=aE['querySelector'](bs(0x1ab));aH&&(aF['resources']=aj(aH));let aI=aE['querySelector']('build');return aI&&(aF[bs(0x174)]=ak(aI)),aF;}function am(aE,aF,aG,aH){const bt=k;let aI=aE[bt(0x1c2)],aJ=aG['resources']['texture2d'][aI];if(aJ){let aK=aH[aJ['path']],aL=aJ[bt(0x18f)],aM=new Blob([aK],{'type':aL}),aN=URL['createObjectURL'](aM),aO=a2['load'](aN,function(){const bu=bt;URL[bu(0x19f)](aN);});switch(aO['colorSpace']=b,aJ['tilestyleu']){case'wrap':aO['wrapS']=z;break;case'mirror':aO['wrapS']=J;break;case bt(0x1b8):case'clamp':aO['wrapS']=H;break;default:aO['wrapS']=z;}switch(aJ[bt(0x1a8)]){case'wrap':aO['wrapT']=z;break;case bt(0x192):aO['wrapT']=J;break;case bt(0x1b8):case'clamp':aO[bt(0x17f)]=H;break;default:aO['wrapT']=z;}switch(aJ['filter']){case bt(0x1bd):aO['magFilter']=C,aO['minFilter']=E;break;case bt(0x1a7):aO['magFilter']=C,aO['minFilter']=C,aO['generateMipmaps']=!0x1;break;case'nearest':aO['magFilter']=L,aO['minFilter']=L,aO['generateMipmaps']=!0x1;break;default:aO['magFilter']=C,aO[bt(0x183)]=E;}return aO;}else return null;}function an(aE,aF,aG,aH,aI,aJ,aK){const bv=k;let aL=aK[bv(0x1b5)],aM={};for(let aP=0x0,aQ=aF['length'];aP<aQ;aP++){let aR=aF[aP],aS=aR['p1']===void 0x0?aL:aR['p1'];aM[aS]===void 0x0&&(aM[aS]=[]),aM[aS][bv(0x1bf)](aR);}let aN=Object[bv(0x19c)](aM),aO=[];for(let aT=0x0,aU=aN['length'];aT<aU;aT++){let aV=aN[aT],aW=aM[aV],aX=aE['basematerials'][aV],aY=aw(aX,aH,aI,aJ,aK,ax),aZ=new M(),b0=[],b1=aG['vertices'];for(let b3=0x0,b4=aW['length'];b3<b4;b3++){let b5=aW[b3];b0['push'](b1[b5['v1']*0x3+0x0]),b0['push'](b1[b5['v1']*0x3+0x1]),b0['push'](b1[b5['v1']*0x3+0x2]),b0['push'](b1[b5['v2']*0x3+0x0]),b0['push'](b1[b5['v2']*0x3+0x1]),b0['push'](b1[b5['v2']*0x3+0x2]),b0['push'](b1[b5['v3']*0x3+0x0]),b0[bv(0x1bf)](b1[b5['v3']*0x3+0x1]),b0['push'](b1[b5['v3']*0x3+0x2]);}aZ['setAttribute']('position',new N(b0,0x3));let b2=new G(aZ,aY);aO['push'](b2);}return aO;}function ao(aE,aF,aG,aH,aI,aJ,aK){const bw=k;let aL=new M(),aM=[],aN=[],aO=aG['vertices'],aP=aE['uvs'];for(let aQ=0x0,aR=aF['length'];aQ<aR;aQ++){let aS=aF[aQ];aM['push'](aO[aS['v1']*0x3+0x0]),aM['push'](aO[aS['v1']*0x3+0x1]),aM['push'](aO[aS['v1']*0x3+0x2]),aM[bw(0x1bf)](aO[aS['v2']*0x3+0x0]),aM[bw(0x1bf)](aO[aS['v2']*0x3+0x1]),aM['push'](aO[aS['v2']*0x3+0x2]),aM[bw(0x1bf)](aO[aS['v3']*0x3+0x0]),aM['push'](aO[aS['v3']*0x3+0x1]),aM[bw(0x1bf)](aO[aS['v3']*0x3+0x2]),aN['push'](aP[aS['p1']*0x2+0x0]),aN['push'](aP[aS['p1']*0x2+0x1]),aN['push'](aP[aS['p2']*0x2+0x0]),aN['push'](aP[aS['p2']*0x2+0x1]),aN['push'](aP[aS['p3']*0x2+0x0]),aN['push'](aP[aS['p3']*0x2+0x1]);}return aL['setAttribute']('position',new N(aM,0x3)),aL[bw(0x1b0)]('uv',new N(aN,0x2)),new G(aL,new K({'map':aw(aE,aH,aI,aJ,aK,am),'flatShading':!0x0}));}function ap(aE,aF,aG,aH){const bx=k;let aI=new M(),aJ=[],aK=[],aL=aG['vertices'],aM=aE['colors'];for(let aN=0x0,aO=aF['length'];aN<aO;aN++){let aP=aF[aN],aQ=aP['v1'],aR=aP['v2'],aS=aP['v3'];aJ['push'](aL[aQ*0x3+0x0]),aJ['push'](aL[aQ*0x3+0x1]),aJ[bx(0x1bf)](aL[aQ*0x3+0x2]),aJ['push'](aL[aR*0x3+0x0]),aJ[bx(0x1bf)](aL[aR*0x3+0x1]),aJ['push'](aL[aR*0x3+0x2]),aJ['push'](aL[aS*0x3+0x0]),aJ['push'](aL[aS*0x3+0x1]),aJ['push'](aL[aS*0x3+0x2]);let aT=aP['p1']===void 0x0?aH['pindex']:aP['p1'],aU=aP['p2']===void 0x0?aT:aP['p2'],aV=aP['p3']===void 0x0?aT:aP['p3'];aK['push'](aM[aT*0x3+0x0]),aK['push'](aM[aT*0x3+0x1]),aK['push'](aM[aT*0x3+0x2]),aK[bx(0x1bf)](aM[aU*0x3+0x0]),aK['push'](aM[aU*0x3+0x1]),aK['push'](aM[aU*0x3+0x2]),aK[bx(0x1bf)](aM[aV*0x3+0x0]),aK['push'](aM[aV*0x3+0x1]),aK['push'](aM[aV*0x3+0x2]);}return aI['setAttribute']('position',new N(aJ,0x3)),aI['setAttribute']('color',new N(aK,0x3)),new G(aI,new K({'vertexColors':!0x0,'flatShading':!0x0}));}function aq(aE){const by=k;let aF=new M();return aF['setIndex'](new I(aE['triangles'],0x1)),aF['setAttribute'](by(0x196),new I(aE[by(0x193)],0x3)),new G(aF,new K({'name':D[by(0x1c3)],'color':0xffffff,'flatShading':!0x0}));}function ar(aE,aF,aG,aH,aI,aJ){const bz=k;let aK=Object[bz(0x19c)](aE),aL=[];for(let aM=0x0,aN=aK['length'];aM<aN;aM++){let aO=aK[aM],aP=aE[aO];switch(as(aO,aH)){case'material':let aQ=aH['resources']['basematerials'][aO],aR=an(aQ,aP,aF,aG,aH,aI,aJ);for(let aU=0x0,aV=aR['length'];aU<aV;aU++)aL['push'](aR[aU]);break;case bz(0x181):let aS=aH['resources'][bz(0x17b)][aO];aL['push'](ao(aS,aP,aF,aG,aH,aI,aJ));break;case'vertexColors':let aT=aH['resources']['colorgroup'][aO];aL['push'](ap(aT,aP,aF,aJ));break;case bz(0x1a0):aL['push'](aq(aF));break;default:console['error'](bz(0x19d));}}if(aJ['name']){for(let aW=0x0;aW<aL['length'];aW++)aL[aW][bz(0x17d)]=aJ['name'];}return aL;}function as(aE,aF){const bA=k;if(aF['resources']['texture2dgroup'][aE]!==void 0x0)return'texture';if(aF[bA(0x1ab)]['basematerials'][aE]!==void 0x0)return bA(0x17e);if(aF['resources']['colorgroup'][aE]!==void 0x0)return'vertexColors';if(aE==='default')return'default';}function at(aE,aF){const bB=k;let aG={},aH=aE['triangleProperties'],aI=aF['pid'];for(let aJ=0x0,aK=aH['length'];aJ<aK;aJ++){let aL=aH[aJ],aM=aL['pid']===void 0x0?aI:aL['pid'];aM===void 0x0&&(aM='default'),aG[aM]===void 0x0&&(aG[aM]=[]),aG[aM][bB(0x1bf)](aL);}return aG;}function au(aE,aF,aG,aH,aI){const bC=k;let aJ=new A(),aK=ar(at(aE,aI),aE,aF,aG,aH,aI);for(let aL=0x0,aM=aK[bC(0x1a1)];aL<aM;aL++)aJ['add'](aK[aL]);return aJ;}function av(aE,aF,aG){if(!aE)return;let aH=[],aI=Object['keys'](aE);for(let aJ=0x0;aJ<aI['length'];aJ++){let aK=aI[aJ];for(let aL=0x0;aL<a1['availableExtensions']['length'];aL++){let aM=a1['availableExtensions'][aL];aM['ns']===aK&&aH['push'](aM);}}for(let aN=0x0;aN<aH['length'];aN++){let aO=aH[aN];aO['apply'](aG,aE[aO['ns']],aF);}}function aw(aE,aF,aG,aH,aI,aJ){return aE['build']===void 0x0&&(aE['build']=aJ(aE,aF,aG,aH,aI)),aE['build'];}function ax(aE,aF,aG){const bD=k;let aH,aI=aE[bD(0x1a2)],aJ=aG['resources']['pbmetallicdisplayproperties'];if(aI!==null&&aJ[aI]!==void 0x0){let aM=aJ[aI]['data'][aE['index']];aH=new F({'flatShading':!0x0,'roughness':aM['roughness'],'metalness':aM['metallicness']});}else aH=new K({'flatShading':!0x0});aH[bD(0x17d)]=aE['name'];let aK=aE['displaycolor'],aL=aK[bD(0x1c6)](0x0,0x7);return aH['color']['setStyle'](aL,b),aK['length']===0x9&&(aH['opacity']=parseInt(aK['charAt'](0x7)+aK[bD(0x1b7)](0x8),0x10)/0xff),aH;}function ay(aE,aF,aG,aH){let aI=new A();for(let aJ=0x0;aJ<aE['length'];aJ++){let aK=aE[aJ],aL=aF[aK['objectId']];aL===void 0x0&&(az(aK['objectId'],aF,aG,aH),aL=aF[aK['objectId']]);let aM=aL['clone'](),aN=aK['transform'];aN&&aM['applyMatrix4'](aN),aI['add'](aM);}return aI;}function az(aE,aF,aG,aH){const bE=k;let aI=aG['resources']['object'][aE];if(aI['mesh']){let aJ=aI['mesh'],aK=aG['extensions'],aL=aG[bE(0x1c5)];av(aK,aJ,aL),aF[aI['id']]=aw(aJ,aF,aG,aH,aI,au);}else{let aM=aI[bE(0x189)];aF[aI['id']]=aw(aM,aF,aG,aH,aI,ay);}aI['name']&&(aF[aI['id']]['name']=aI['name']),aG['resources']['implicitfunction']&&console[bE(0x18d)]('THREE.ThreeMFLoader:\x20Implicit\x20Functions\x20are\x20implemented\x20in\x20data-only.',aG['resources']['implicitfunction']);}function aA(aE){const bF=k;let aF=aE['model'],aG=aE['modelRels'],aH={},aI=Object['keys'](aF),aJ={};if(aG)for(let aK=0x0,aL=aG['length'];aK<aL;aK++){let aM=aG[aK],aN=aM['target']['substring'](0x1);aE['texture'][aN]&&(aJ[aM['target']]=aE[bF(0x181)][aN]);}for(let aO=0x0;aO<aI['length'];aO++){let aP=aF[aI[aO]],aQ=Object['keys'](aP['resources']['object']);for(let aR=0x0;aR<aQ['length'];aR++){let aS=aQ[aR];az(aS,aH,aP,aJ);}}return aH;}function aB(aE){const bG=k;for(let aF=0x0;aF<aE['length'];aF++){let aG=aE[aF];if(aG['target'][bG(0x187)]('.')[bG(0x1c4)]()['toLowerCase']()==='model')return aG;}}function aC(aE,aF){const bH=k;let aG=new A(),aH=aB(aF['rels']),aI=aF['model'][aH['target'][bH(0x1c6)](0x1)]['build'];for(let aJ=0x0;aJ<aI[bH(0x1a1)];aJ++){let aK=aI[aJ],aL=aE[aK['objectId']][bH(0x1ae)](),aM=aK['transform'];aM&&aL['applyMatrix4'](aM),aG[bH(0x18e)](aL);}return aG;}let aD=a3(a0);return aC(aA(aD),aD);}[ba(0x197)](Q){const bI=ba;this[bI(0x1b4)][bI(0x1bf)](Q);}};export{x as ThreeMFLoader};
1
+ const ba=k;(function(Q,R){const b8=k,S=Q();while(!![]){try{const T=-parseInt(b8(0xd9))/0x1+-parseInt(b8(0xc6))/0x2+parseInt(b8(0xfd))/0x3+parseInt(b8(0xd2))/0x4*(-parseInt(b8(0xf4))/0x5)+-parseInt(b8(0xcf))/0x6+-parseInt(b8(0xd1))/0x7*(-parseInt(b8(0xea))/0x8)+parseInt(b8(0xd0))/0x9*(parseInt(b8(0xe4))/0xa);if(T===R)break;else S['push'](S['shift']());}catch(U){S['push'](S['shift']());}}}(j,0xb1bfb));function j(){const bL=['texture','51240rZuhaI','THREE.ThreeMFLoader:\x20Implicit\x20Functions\x20are\x20implemented\x20in\x20data-only.','pbmetallicdisplayproperties','THREE.ThreeMFLoader:\x20Cannot\x20find\x20relationship\x20file\x20`rels`\x20in\x203MF\x20archive.','linear','application/xml','load','contenttype','keys','itemError','3000520idOnyF','querySelector','split','roughness','toLowerCase','position','colorgroup','querySelectorAll','error','2526933TaFiKp','substring','attributes','length','components','add','basematerials','mirror','CreationDate','getAttribute','path','1505724zpVHyB','default','nearest','manager','texture2d','index','color','thumbnail','revokeObjectURL','5087292stCtVN','819JAGBRR','1407CnbSmi','4vfaQLT','push','charAt','tilestylev','name','triangleProperties','metadata','1043650GmDFpU','apply','children','colors','vertices\x20vertex','opacity','resources','match','minFilter','availableExtensions','texture2dgroup','202510geDYQE','mesh','model','displaypropertiesid','wrapS'];j=function(){return bL;};return j();}import{$ as q,C as w,Ct as z,E as A,Ft as B,H as C,K as D,U as E,at as F,et as G,f as H,l as I,ot as J,p,rt as K,st as L,u as M,w as N,wt as O}from'./three.module.js';function k(a,b){a=a-0xc1;const c=j();let d=c[a];return d;}import{t as P}from'./fflate.module.js';var b=O,x=class extends D{constructor(Q){const b9=k;super(Q),this[b9(0xe2)]=[];}[ba(0xf0)](Q,R,S,T){const bb=ba;let U=this,V=new w(U['manager']);V['setPath'](U[bb(0xc5)]),V['setResponseType']('arraybuffer'),V['setRequestHeader'](U['requestHeader']),V['setWithCredentials'](U['withCredentials']),V[bb(0xf0)](Q,function(W){const bc=bb;try{R(U['parse'](W));}catch(X){T?T(X):console[bc(0xfc)](X),U['manager'][bc(0xf3)](Q);}},S,T);}['parse'](a0){const bd=ba;let a1=this,a2=new B(this[bd(0xc9)]);function a3(aE){const be=bd;let aF=null,aG=null,aH,aI,aJ=[],aK=[],aL,aM={},aN={},aO={},aP=new TextDecoder();try{aF=P(new Uint8Array(aE));}catch(aT){if(aT instanceof ReferenceError)return console['error']('THREE.3MFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}let aQ=null;for(aG in aF)aG['match'](/\_rels\/.rels$/)?aH=aG:aG['match'](/3D\/_rels\/.*\.model\.rels$/)?aI=aG:aG['match'](/^3D\/[^\/]*\.model$/)?aQ=aG:aG['match'](/^3D\/.*\/.*\.model$/)?aJ['push'](aG):aG['match'](/^3D\/Textures?\/.*/)&&aK['push'](aG);if(aJ['push'](aQ),aH===void 0x0)throw Error(be(0xed));let aR=aF[aH],aS=a4(aP['decode'](aR));if(aI){let aU=aF[aI];aL=a4(aP['decode'](aU));}for(let aV=0x0;aV<aJ['length'];aV++){let aW=aJ[aV],aX=aF[aW],aY=aP['decode'](aX),aZ=new DOMParser()['parseFromString'](aY,'application/xml');aZ['documentElement']['nodeName'][be(0xf8)]()!==be(0xe6)&&console['error']('THREE.3MFLoader:\x20Error\x20loading\x203MF\x20-\x20no\x203MF\x20document\x20found:\x20',aW);let b0=aZ[be(0xf5)]('model'),b1={};for(let b3=0x0;b3<b0[be(0xff)][be(0x100)];b3++){let b4=b0['attributes'][b3];b4['name'][be(0xe0)](/^xmlns:(.+)$/)&&(b1[b4['value']]=RegExp['$1']);}let b2=al(b0);b2['xml']=b0,0x0<Object[be(0xf2)](b1)['length']&&(b2['extensions']=b1),aM[aW]=b2;}for(let b5=0x0;b5<aK['length'];b5++){let b6=aK[b5];aO[b6]=aF[b6]['buffer'];}return{'rels':aS,'modelRels':aL,'model':aM,'printTicket':aN,'texture':aO};}function a4(aE){const bf=bd;let aF=[],aG=new DOMParser()['parseFromString'](aE,bf(0xef))['querySelectorAll']('Relationship');for(let aH=0x0;aH<aG['length'];aH++){let aI=aG[aH],aJ={'target':aI['getAttribute']('Target'),'id':aI[bf(0xc4)]('Id'),'type':aI['getAttribute']('Type')};aF['push'](aJ);}return aF;}function a5(aE){const bg=bd;let aF={};for(let aG=0x0;aG<aE[bg(0x100)];aG++){let aH=aE[aG],aI=aH[bg(0xc4)]('name');0x0<=['Title','Designer','Description','Copyright','LicenseTerms','Rating',bg(0xc3),'ModificationDate']['indexOf'](aI)&&(aF[aI]=aH['textContent']);}return aF;}function a6(aE){let aF={'id':aE['getAttribute']('id'),'basematerials':[]},aG=aE['querySelectorAll']('base');for(let aH=0x0;aH<aG['length'];aH++){let aI=aG[aH],aJ=ad(aI);aJ['index']=aH,aF['basematerials']['push'](aJ);}return aF;}function a7(aE){const bh=bd;return{'id':aE['getAttribute']('id'),'path':aE[bh(0xc4)](bh(0xc5)),'contenttype':aE[bh(0xc4)]('contenttype'),'tilestyleu':aE['getAttribute']('tilestyleu'),'tilestylev':aE['getAttribute']('tilestylev'),'filter':aE['getAttribute']('filter')};}function a8(aE){const bi=bd;let aF={'id':aE['getAttribute']('id'),'texid':aE[bi(0xc4)]('texid'),'displaypropertiesid':aE['getAttribute']('displaypropertiesid')},aG=aE['querySelectorAll']('tex2coord'),aH=[];for(let aI=0x0;aI<aG['length'];aI++){let aJ=aG[aI],aK=aJ['getAttribute']('u'),aL=aJ['getAttribute']('v');aH[bi(0xd3)](parseFloat(aK),parseFloat(aL));}return aF['uvs']=new Float32Array(aH),aF;}function a9(aE){const bj=bd;let aF={'id':aE['getAttribute']('id'),'displaypropertiesid':aE['getAttribute']('displaypropertiesid')},aG=aE['querySelectorAll']('color'),aH=[],aI=new p();for(let aJ=0x0;aJ<aG[bj(0x100)];aJ++){let aK=aG[aJ][bj(0xc4)]('color');aI['setStyle'](aK['substring'](0x0,0x7),b),aH[bj(0xd3)](aI['r'],aI['g'],aI['b']);}return aF[bj(0xdc)]=new Float32Array(aH),aF;}function aa(aE){const bk=bd;let aF=aE[bk(0xdb)],aG={};for(let aH=0x0;aH<aF['length'];aH++){let aI={'type':aF[aH]['nodeName']['substring'](0x2)};for(let aJ=0x0;aJ<aF[aH]['attributes']['length'];aJ++){let aK=aF[aH][bk(0xff)][aJ];aK['specified']&&(aI[aK[bk(0xd6)]]=aK['value']);}aG[aF[aH]['getAttribute']('identifier')]=aI;}return aG;}function ab(aE){const bl=bd;let aF={'id':aE['getAttribute']('id'),'displayname':aE[bl(0xc4)]('displayname')},aG=aE['children'],aH={};for(let aI=0x0;aI<aG['length'];aI++){let aJ=aG[aI];if(aJ['nodeName']==='i:in'||aJ['nodeName']==='i:out')aH[aJ['nodeName']==='i:in'?'inputs':'outputs']=aa(aJ);else{let aK=aJ['children'],aL={'op':aJ['nodeName']['substring'](0x2),'identifier':aJ[bl(0xc4)]('identifier')};for(let aM=0x0;aM<aK['length'];aM++)aL[aK[aM]['nodeName']['substring'](0x2)]=aa(aK[aM]);aH[aL['identifier']]=aL;}}return aF['operations']=aH,aF;}function ac(aE){const bm=bd;let aF={'id':aE['getAttribute']('id')},aG=aE[bm(0xfb)]('pbmetallic'),aH=[];for(let aI=0x0;aI<aG['length'];aI++){let aJ=aG[aI];aH['push']({'name':aJ['getAttribute']('name'),'metallicness':parseFloat(aJ['getAttribute']('metallicness')),'roughness':parseFloat(aJ['getAttribute']('roughness'))});}return aF['data']=aH,aF;}function ad(aE){const bn=bd;let aF={};return aF['name']=aE['getAttribute']('name'),aF['displaycolor']=aE[bn(0xc4)]('displaycolor'),aF['displaypropertiesid']=aE['getAttribute'](bn(0xe7)),aF;}function ae(aE){const bo=bd;let aF={},aG=[],aH=aE[bo(0xfb)](bo(0xdd));for(let aL=0x0;aL<aH['length'];aL++){let aM=aH[aL],aN=aM['getAttribute']('x'),aO=aM[bo(0xc4)]('y'),aP=aM['getAttribute']('z');aG['push'](parseFloat(aN),parseFloat(aO),parseFloat(aP));}aF['vertices']=new Float32Array(aG);let aI=[],aJ=[],aK=aE[bo(0xfb)]('triangles\x20triangle');for(let aQ=0x0;aQ<aK['length'];aQ++){let aR=aK[aQ],aS=aR['getAttribute']('v1'),aT=aR['getAttribute']('v2'),aU=aR['getAttribute']('v3'),aV=aR['getAttribute']('p1'),aW=aR['getAttribute']('p2'),aX=aR['getAttribute']('p3'),aY=aR['getAttribute']('pid'),aZ={};aZ['v1']=parseInt(aS,0xa),aZ['v2']=parseInt(aT,0xa),aZ['v3']=parseInt(aU,0xa),aJ['push'](aZ['v1'],aZ['v2'],aZ['v3']),aV&&(aZ['p1']=parseInt(aV,0xa)),aW&&(aZ['p2']=parseInt(aW,0xa)),aX&&(aZ['p3']=parseInt(aX,0xa)),aY&&(aZ['pid']=aY),0x0<Object['keys'](aZ)['length']&&aI[bo(0xd3)](aZ);}return aF[bo(0xd7)]=aI,aF['triangles']=new Uint32Array(aJ),aF;}function af(aE){const bp=bd;let aF=[],aG=aE['querySelectorAll']('component');for(let aH=0x0;aH<aG['length'];aH++){let aI=aG[aH],aJ=ag(aI);aF[bp(0xd3)](aJ);}return aF;}function ag(aE){let aF={};aF['objectId']=aE['getAttribute']('objectid');let aG=aE['getAttribute']('transform');return aG&&(aF['transform']=ah(aG)),aF;}function ah(aE){const bq=bd;let aF=[];aE[bq(0xf6)]('\x20')['forEach'](function(aH){aF['push'](parseFloat(aH));});let aG=new q();return aG['set'](aF[0x0],aF[0x3],aF[0x6],aF[0x9],aF[0x1],aF[0x4],aF[0x7],aF[0xa],aF[0x2],aF[0x5],aF[0x8],aF[0xb],0x0,0x0,0x0,0x1),aG;}function ai(aE){const br=bd;let aF={'type':aE['getAttribute']('type')},aG=aE['getAttribute']('id');aG&&(aF['id']=aG);let aH=aE['getAttribute']('pid');aH&&(aF['pid']=aH);let aI=aE['getAttribute']('pindex');aI&&(aF['pindex']=aI);let aJ=aE['getAttribute'](br(0xcd));aJ&&(aF['thumbnail']=aJ);let aK=aE['getAttribute']('partnumber');aK&&(aF['partnumber']=aK);let aL=aE['getAttribute']('name');aL&&(aF['name']=aL);let aM=aE['querySelector']('mesh');aM&&(aF['mesh']=ae(aM));let aN=aE['querySelector'](br(0x101));return aN&&(aF[br(0x101)]=af(aN)),aF;}function aj(aE){const bs=bd;let aF={};aF['basematerials']={};let aG=aE['querySelectorAll']('basematerials');for(let aN=0x0;aN<aG['length'];aN++){let aO=aG[aN],aP=a6(aO);aF['basematerials'][aP['id']]=aP;}aF[bs(0xca)]={};let aH=aE['querySelectorAll']('texture2d');for(let aQ=0x0;aQ<aH['length'];aQ++){let aR=aH[aQ],aS=a7(aR);aF['texture2d'][aS['id']]=aS;}aF[bs(0xfa)]={};let aI=aE['querySelectorAll']('colorgroup');for(let aT=0x0;aT<aI['length'];aT++){let aU=aI[aT],aV=a9(aU);aF['colorgroup'][aV['id']]=aV;}let aJ=aE['querySelectorAll']('implicitfunction');aJ['length']>0x0&&(aF['implicitfunction']={});for(let aW=0x0;aW<aJ['length'];aW++){let aX=aJ[aW],aY=ab(aX);aF['implicitfunction'][aY['id']]=aY;}aF['pbmetallicdisplayproperties']={};let aK=aE['querySelectorAll']('pbmetallicdisplayproperties');for(let aZ=0x0;aZ<aK['length'];aZ++){let b0=aK[aZ],b1=ac(b0);aF[bs(0xec)][b1['id']]=b1;}aF['texture2dgroup']={};let aL=aE['querySelectorAll'](bs(0xe3));for(let b2=0x0;b2<aL['length'];b2++){let b3=aL[b2],b4=a8(b3);aF['texture2dgroup'][b4['id']]=b4;}aF['object']={};let aM=aE[bs(0xfb)]('object');for(let b5=0x0;b5<aM['length'];b5++){let b6=aM[b5],b7=ai(b6);aF['object'][b7['id']]=b7;}return aF;}function ak(aE){let aF=[],aG=aE['querySelectorAll']('item');for(let aH=0x0;aH<aG['length'];aH++){let aI=aG[aH],aJ={'objectId':aI['getAttribute']('objectid')},aK=aI['getAttribute']('transform');aK&&(aJ['transform']=ah(aK)),aF['push'](aJ);}return aF;}function al(aE){const bt=bd;let aF={'unit':aE[bt(0xc4)]('unit')||'millimeter'},aG=aE[bt(0xfb)]('metadata');aG&&(aF[bt(0xd8)]=a5(aG));let aH=aE['querySelector']('resources');aH&&(aF['resources']=aj(aH));let aI=aE['querySelector']('build');return aI&&(aF['build']=ak(aI)),aF;}function am(aE,aF,aG,aH){const bu=bd;let aI=aE['texid'],aJ=aG['resources']['texture2d'][aI];if(aJ){let aK=aH[aJ['path']],aL=aJ[bu(0xf1)],aM=new Blob([aK],{'type':aL}),aN=URL['createObjectURL'](aM),aO=a2['load'](aN,function(){const bv=bu;URL[bv(0xce)](aN);});switch(aO['colorSpace']=b,aJ['tilestyleu']){case'wrap':aO['wrapS']=z;break;case'mirror':aO['wrapS']=J;break;case'none':case'clamp':aO['wrapS']=H;break;default:aO[bu(0xe8)]=z;}switch(aJ[bu(0xd5)]){case'wrap':aO['wrapT']=z;break;case bu(0xc2):aO['wrapT']=J;break;case'none':case'clamp':aO['wrapT']=H;break;default:aO['wrapT']=z;}switch(aJ['filter']){case'auto':aO['magFilter']=C,aO['minFilter']=E;break;case bu(0xee):aO['magFilter']=C,aO['minFilter']=C,aO['generateMipmaps']=!0x1;break;case bu(0xc8):aO['magFilter']=L,aO['minFilter']=L,aO['generateMipmaps']=!0x1;break;default:aO['magFilter']=C,aO[bu(0xe1)]=E;}return aO;}else return null;}function an(aE,aF,aG,aH,aI,aJ,aK){const bw=bd;let aL=aK['pindex'],aM={};for(let aP=0x0,aQ=aF['length'];aP<aQ;aP++){let aR=aF[aP],aS=aR['p1']===void 0x0?aL:aR['p1'];aM[aS]===void 0x0&&(aM[aS]=[]),aM[aS]['push'](aR);}let aN=Object[bw(0xf2)](aM),aO=[];for(let aT=0x0,aU=aN[bw(0x100)];aT<aU;aT++){let aV=aN[aT],aW=aM[aV],aX=aE['basematerials'][aV],aY=aw(aX,aH,aI,aJ,aK,ax),aZ=new M(),b0=[],b1=aG['vertices'];for(let b3=0x0,b4=aW['length'];b3<b4;b3++){let b5=aW[b3];b0['push'](b1[b5['v1']*0x3+0x0]),b0[bw(0xd3)](b1[b5['v1']*0x3+0x1]),b0['push'](b1[b5['v1']*0x3+0x2]),b0['push'](b1[b5['v2']*0x3+0x0]),b0['push'](b1[b5['v2']*0x3+0x1]),b0['push'](b1[b5['v2']*0x3+0x2]),b0['push'](b1[b5['v3']*0x3+0x0]),b0['push'](b1[b5['v3']*0x3+0x1]),b0['push'](b1[b5['v3']*0x3+0x2]);}aZ['setAttribute']('position',new N(b0,0x3));let b2=new G(aZ,aY);aO[bw(0xd3)](b2);}return aO;}function ao(aE,aF,aG,aH,aI,aJ,aK){const bx=bd;let aL=new M(),aM=[],aN=[],aO=aG['vertices'],aP=aE['uvs'];for(let aQ=0x0,aR=aF[bx(0x100)];aQ<aR;aQ++){let aS=aF[aQ];aM['push'](aO[aS['v1']*0x3+0x0]),aM['push'](aO[aS['v1']*0x3+0x1]),aM[bx(0xd3)](aO[aS['v1']*0x3+0x2]),aM['push'](aO[aS['v2']*0x3+0x0]),aM['push'](aO[aS['v2']*0x3+0x1]),aM['push'](aO[aS['v2']*0x3+0x2]),aM['push'](aO[aS['v3']*0x3+0x0]),aM['push'](aO[aS['v3']*0x3+0x1]),aM['push'](aO[aS['v3']*0x3+0x2]),aN[bx(0xd3)](aP[aS['p1']*0x2+0x0]),aN[bx(0xd3)](aP[aS['p1']*0x2+0x1]),aN['push'](aP[aS['p2']*0x2+0x0]),aN[bx(0xd3)](aP[aS['p2']*0x2+0x1]),aN['push'](aP[aS['p3']*0x2+0x0]),aN[bx(0xd3)](aP[aS['p3']*0x2+0x1]);}return aL['setAttribute']('position',new N(aM,0x3)),aL['setAttribute']('uv',new N(aN,0x2)),new G(aL,new K({'map':aw(aE,aH,aI,aJ,aK,am),'flatShading':!0x0}));}function ap(aE,aF,aG,aH){const by=bd;let aI=new M(),aJ=[],aK=[],aL=aG['vertices'],aM=aE['colors'];for(let aN=0x0,aO=aF['length'];aN<aO;aN++){let aP=aF[aN],aQ=aP['v1'],aR=aP['v2'],aS=aP['v3'];aJ[by(0xd3)](aL[aQ*0x3+0x0]),aJ['push'](aL[aQ*0x3+0x1]),aJ['push'](aL[aQ*0x3+0x2]),aJ[by(0xd3)](aL[aR*0x3+0x0]),aJ[by(0xd3)](aL[aR*0x3+0x1]),aJ['push'](aL[aR*0x3+0x2]),aJ['push'](aL[aS*0x3+0x0]),aJ['push'](aL[aS*0x3+0x1]),aJ['push'](aL[aS*0x3+0x2]);let aT=aP['p1']===void 0x0?aH['pindex']:aP['p1'],aU=aP['p2']===void 0x0?aT:aP['p2'],aV=aP['p3']===void 0x0?aT:aP['p3'];aK['push'](aM[aT*0x3+0x0]),aK['push'](aM[aT*0x3+0x1]),aK['push'](aM[aT*0x3+0x2]),aK['push'](aM[aU*0x3+0x0]),aK['push'](aM[aU*0x3+0x1]),aK['push'](aM[aU*0x3+0x2]),aK[by(0xd3)](aM[aV*0x3+0x0]),aK[by(0xd3)](aM[aV*0x3+0x1]),aK['push'](aM[aV*0x3+0x2]);}return aI['setAttribute']('position',new N(aJ,0x3)),aI['setAttribute']('color',new N(aK,0x3)),new G(aI,new K({'vertexColors':!0x0,'flatShading':!0x0}));}function aq(aE){const bz=bd;let aF=new M();return aF['setIndex'](new I(aE['triangles'],0x1)),aF['setAttribute'](bz(0xf9),new I(aE['vertices'],0x3)),new G(aF,new K({'name':D['DEFAULT_MATERIAL_NAME'],'color':0xffffff,'flatShading':!0x0}));}function ar(aE,aF,aG,aH,aI,aJ){const bA=bd;let aK=Object['keys'](aE),aL=[];for(let aM=0x0,aN=aK['length'];aM<aN;aM++){let aO=aK[aM],aP=aE[aO];switch(as(aO,aH)){case'material':let aQ=aH[bA(0xdf)][bA(0xc1)][aO],aR=an(aQ,aP,aF,aG,aH,aI,aJ);for(let aU=0x0,aV=aR['length'];aU<aV;aU++)aL['push'](aR[aU]);break;case bA(0xe9):let aS=aH['resources']['texture2dgroup'][aO];aL['push'](ao(aS,aP,aF,aG,aH,aI,aJ));break;case'vertexColors':let aT=aH['resources']['colorgroup'][aO];aL['push'](ap(aT,aP,aF,aJ));break;case'default':aL[bA(0xd3)](aq(aF));break;default:console['error']('THREE.3MFLoader:\x20Unsupported\x20resource\x20type.');}}if(aJ['name']){for(let aW=0x0;aW<aL['length'];aW++)aL[aW]['name']=aJ['name'];}return aL;}function as(aE,aF){const bB=bd;if(aF['resources'][bB(0xe3)][aE]!==void 0x0)return bB(0xe9);if(aF['resources']['basematerials'][aE]!==void 0x0)return'material';if(aF['resources']['colorgroup'][aE]!==void 0x0)return'vertexColors';if(aE==='default')return bB(0xc7);}function at(aE,aF){const bC=bd;let aG={},aH=aE[bC(0xd7)],aI=aF['pid'];for(let aJ=0x0,aK=aH[bC(0x100)];aJ<aK;aJ++){let aL=aH[aJ],aM=aL['pid']===void 0x0?aI:aL['pid'];aM===void 0x0&&(aM='default'),aG[aM]===void 0x0&&(aG[aM]=[]),aG[aM]['push'](aL);}return aG;}function au(aE,aF,aG,aH,aI){const bD=bd;let aJ=new A(),aK=ar(at(aE,aI),aE,aF,aG,aH,aI);for(let aL=0x0,aM=aK['length'];aL<aM;aL++)aJ[bD(0x102)](aK[aL]);return aJ;}function av(aE,aF,aG){const bE=bd;if(!aE)return;let aH=[],aI=Object[bE(0xf2)](aE);for(let aJ=0x0;aJ<aI['length'];aJ++){let aK=aI[aJ];for(let aL=0x0;aL<a1['availableExtensions'][bE(0x100)];aL++){let aM=a1['availableExtensions'][aL];aM['ns']===aK&&aH['push'](aM);}}for(let aN=0x0;aN<aH['length'];aN++){let aO=aH[aN];aO[bE(0xda)](aG,aE[aO['ns']],aF);}}function aw(aE,aF,aG,aH,aI,aJ){return aE['build']===void 0x0&&(aE['build']=aJ(aE,aF,aG,aH,aI)),aE['build'];}function ax(aE,aF,aG){const bF=bd;let aH,aI=aE['displaypropertiesid'],aJ=aG[bF(0xdf)]['pbmetallicdisplayproperties'];if(aI!==null&&aJ[aI]!==void 0x0){let aM=aJ[aI]['data'][aE[bF(0xcb)]];aH=new F({'flatShading':!0x0,'roughness':aM[bF(0xf7)],'metalness':aM['metallicness']});}else aH=new K({'flatShading':!0x0});aH['name']=aE['name'];let aK=aE['displaycolor'],aL=aK['substring'](0x0,0x7);return aH[bF(0xcc)]['setStyle'](aL,b),aK['length']===0x9&&(aH[bF(0xde)]=parseInt(aK[bF(0xd4)](0x7)+aK['charAt'](0x8),0x10)/0xff),aH;}function ay(aE,aF,aG,aH){const bG=bd;let aI=new A();for(let aJ=0x0;aJ<aE['length'];aJ++){let aK=aE[aJ],aL=aF[aK['objectId']];aL===void 0x0&&(az(aK['objectId'],aF,aG,aH),aL=aF[aK['objectId']]);let aM=aL['clone'](),aN=aK['transform'];aN&&aM['applyMatrix4'](aN),aI[bG(0x102)](aM);}return aI;}function az(aE,aF,aG,aH){const bH=bd;let aI=aG['resources']['object'][aE];if(aI['mesh']){let aJ=aI[bH(0xe5)],aK=aG['extensions'],aL=aG['xml'];av(aK,aJ,aL),aF[aI['id']]=aw(aJ,aF,aG,aH,aI,au);}else{let aM=aI['components'];aF[aI['id']]=aw(aM,aF,aG,aH,aI,ay);}aI[bH(0xd6)]&&(aF[aI['id']]['name']=aI['name']),aG[bH(0xdf)]['implicitfunction']&&console['warn'](bH(0xeb),aG['resources']['implicitfunction']);}function aA(aE){const bI=bd;let aF=aE['model'],aG=aE['modelRels'],aH={},aI=Object['keys'](aF),aJ={};if(aG)for(let aK=0x0,aL=aG[bI(0x100)];aK<aL;aK++){let aM=aG[aK],aN=aM['target'][bI(0xfe)](0x1);aE['texture'][aN]&&(aJ[aM['target']]=aE['texture'][aN]);}for(let aO=0x0;aO<aI['length'];aO++){let aP=aF[aI[aO]],aQ=Object['keys'](aP['resources']['object']);for(let aR=0x0;aR<aQ['length'];aR++){let aS=aQ[aR];az(aS,aH,aP,aJ);}}return aH;}function aB(aE){const bJ=bd;for(let aF=0x0;aF<aE['length'];aF++){let aG=aE[aF];if(aG['target']['split']('.')['pop']()[bJ(0xf8)]()==='model')return aG;}}function aC(aE,aF){const bK=bd;let aG=new A(),aH=aB(aF['rels']),aI=aF['model'][aH['target']['substring'](0x1)]['build'];for(let aJ=0x0;aJ<aI['length'];aJ++){let aK=aI[aJ],aL=aE[aK['objectId']]['clone'](),aM=aK['transform'];aM&&aL['applyMatrix4'](aM),aG[bK(0x102)](aL);}return aG;}let aD=a3(a0);return aC(aA(aD),aD);}['addExtension'](Q){this['availableExtensions']['push'](Q);}};export{x as ThreeMFLoader};
@@ -1 +1 @@
1
- function b(){const am=['volume','THREE.AMFLoader:\x20Trying\x20to\x20load\x20file\x20asset:\x20','log','color','100WEjWZx','attributes','materialid','96356REnxdw','.amf','setIndex','type','168329XhcLFc','4jIXWMe','264552WCiLCc','volumes','AMF','concat','vertices','documentElement','path','arraybuffer','length','8810fUrtRS','getElementsByTagName','5709OpfaBd','nodeName','childNodes','value','DEFAULT_MATERIAL_NAME','setResponseType','coordinates','90605eGmHWY','userData','normals','add','application/xml','16688133kcgqss','16kfeMrv','nextElementSibling','textContent','triangles','getUint8','millimeter','5236812Irdqlq','withCredentials'];b=function(){return am;};return b();}(function(v,w){const ac=d,x=v();while(!![]){try{const y=-parseInt(ac(0x12d))/0x1*(parseInt(ac(0x11a))/0x2)+-parseInt(ac(0x10c))/0x3+parseInt(ac(0x115))/0x4*(parseInt(ac(0x112))/0x5)+parseInt(ac(0x11b))/0x6+-parseInt(ac(0x119))/0x7*(-parseInt(ac(0x133))/0x8)+parseInt(ac(0x132))/0x9+-parseInt(ac(0x124))/0xa*(-parseInt(ac(0x126))/0xb);if(y===w)break;else x['push'](x['shift']());}catch(z){x['push'](x['shift']());}}}(b,0xea0a4));import{C as f,E as g,K as h,et as j,p as k,rt as m,u as p,w as q}from'./three.module.js';import{t as u}from'./fflate.module.js';var l=class extends h{constructor(v){super(v);}['load'](v,w,x,y){const ad=d;let z=this,A=new f(z['manager']);A['setPath'](z[ad(0x121)]),A[ad(0x12b)](ad(0x122)),A['setRequestHeader'](z['requestHeader']),A['setWithCredentials'](z[ad(0x10d)]),A['load'](v,function(B){try{w(z['parse'](B));}catch(C){y?y(C):console['error'](C),z['manager']['itemError'](v);}},x,y);}['parse'](z){const al=d;function A(W){const ae=d;let X=new DataView(W);if(String['fromCharCode'](X[ae(0x10a)](0x0),X['getUint8'](0x1))==='PK'){let a0=null,a1=null;console['log']('THREE.AMFLoader:\x20Loading\x20Zip');try{a0=u(new Uint8Array(W));}catch(a2){if(a2 instanceof ReferenceError)return console[ae(0x110)]('THREE.AMFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}for(a1 in a0)if(a1['toLowerCase']()['slice'](-0x4)===ae(0x116))break;console['log'](ae(0x10f)+a1),X=new DataView(a0[a1]['buffer']);}let Y=new TextDecoder()['decode'](X),Z=new DOMParser()['parseFromString'](Y,ae(0x131));return Z[ae(0x120)]['nodeName']['toLowerCase']()==='amf'?Z:(console['log']('THREE.AMFLoader:\x20Error\x20loading\x20AMF\x20-\x20no\x20AMF\x20document\x20found.'),null);}function B(W){const af=d;let X=0x1,Y=af(0x10b);W['documentElement'][af(0x113)]['unit']!==void 0x0&&(Y=W[af(0x120)]['attributes']['unit']['value']['toLowerCase']());let Z={'millimeter':0x1,'inch':25.4,'feet':304.8,'meter':0x3e8,'micron':0.001};return Z[Y]!==void 0x0&&(X=Z[Y]),console['log']('THREE.AMFLoader:\x20Unit\x20scale:\x20'+X),X;}function D(W){const ag=d;let X='AMF\x20Material',Y=W['attributes']['id']['textContent'],Z={'r':0x1,'g':0x1,'b':0x1,'a':0x1},a0=null;for(let a1=0x0;a1<W[ag(0x128)][ag(0x123)];a1++){let a2=W['childNodes'][a1];a2['nodeName']==='metadata'&&a2['attributes']['type']!==void 0x0?a2['attributes']['type']['value']==='name'&&(X=a2['textContent']):a2['nodeName']===ag(0x111)&&(Z=F(a2));}return a0=new m({'flatShading':!0x0,'color':new k(Z['r'],Z['g'],Z['b']),'name':X}),Z['a']!==0x1&&(a0['transparent']=!0x0,a0['opacity']=Z['a']),{'id':Y,'material':a0};}function F(W){const ah=d;let X={'r':0x1,'g':0x1,'b':0x1,'a':0x1};for(let Y=0x0;Y<W['childNodes'][ah(0x123)];Y++){let Z=W['childNodes'][Y];Z['nodeName']==='r'?X['r']=Z[ah(0x108)]:Z[ah(0x127)]==='g'?X['g']=Z['textContent']:Z['nodeName']==='b'?X['b']=Z['textContent']:Z[ah(0x127)]==='a'&&(X['a']=Z['textContent']);}return X;}function G(W){const ai=d;let X={'name':'','triangles':[],'materialId':null},Y=W['firstElementChild'];for(W['attributes'][ai(0x114)]!==void 0x0&&(X['materialId']=W['attributes']['materialid']['nodeValue']);Y;){if(Y['nodeName']==='metadata')Y['attributes'][ai(0x118)]!==void 0x0&&Y['attributes']['type']['value']==='name'&&(X['name']=Y[ai(0x108)]);else{if(Y['nodeName']==='triangle'){let Z=Y['getElementsByTagName']('v1')[0x0][ai(0x108)],a0=Y['getElementsByTagName']('v2')[0x0]['textContent'],a1=Y['getElementsByTagName']('v3')[0x0]['textContent'];X[ai(0x109)]['push'](Z,a0,a1);}}Y=Y[ai(0x134)];}return X;}function H(W){const aj=d;let X=[],Y=[],Z=W['firstElementChild'];for(;Z;){if(Z['nodeName']==='vertex'){let a0=Z['firstElementChild'];for(;a0;){if(a0['nodeName']===aj(0x12c)){let a1=a0['getElementsByTagName']('x')[0x0]['textContent'],a2=a0['getElementsByTagName']('y')[0x0]['textContent'],a3=a0[aj(0x125)]('z')[0x0][aj(0x108)];X['push'](a1,a2,a3);}else{if(a0['nodeName']==='normal'){let a4=a0['getElementsByTagName']('nx')[0x0]['textContent'],a5=a0['getElementsByTagName']('ny')[0x0][aj(0x108)],a6=a0['getElementsByTagName']('nz')[0x0]['textContent'];Y['push'](a4,a5,a6);}}a0=a0['nextElementSibling'];}}Z=Z['nextElementSibling'];}return{'vertices':X,'normals':Y};}function I(W){const ak=d;let X=W['attributes']['id'][ak(0x108)],Y={'name':'amfobject','meshes':[]},Z=null,a0=W['firstElementChild'];for(;a0;){if(a0['nodeName']==='metadata')a0['attributes']['type']!==void 0x0&&a0[ak(0x113)]['type'][ak(0x129)]==='name'&&(Y['name']=a0['textContent']);else{if(a0['nodeName']==='color')Z=F(a0);else{if(a0['nodeName']==='mesh'){let a1=a0['firstElementChild'],a2={'vertices':[],'normals':[],'volumes':[],'color':Z};for(;a1;){if(a1['nodeName']==='vertices'){let a3=H(a1);a2['normals']=a2['normals'][ak(0x11e)](a3['normals']),a2['vertices']=a2['vertices']['concat'](a3['vertices']);}else a1['nodeName']===ak(0x10e)&&a2['volumes']['push'](G(a1));a1=a1[ak(0x134)];}Y['meshes']['push'](a2);}}}a0=a0['nextElementSibling'];}return{'id':X,'obj':Y};}let J=A(z),K='',L='',M=B(J),N={},O={},P=J['documentElement']['childNodes'],Q,R;for(Q=0x0;Q<P['length'];Q++){let W=P[Q];if(W[al(0x127)]==='metadata')W['attributes']['type']!==void 0x0&&(W['attributes']['type']['value']==='name'?K=W['textContent']:W['attributes']['type']['value']==='author'&&(L=W['textContent']));else{if(W[al(0x127)]==='material'){let X=D(W);N[X['id']]=X['material'];}else{if(W[al(0x127)]==='object'){let Y=I(W);O[Y['id']]=Y['obj'];}}}}let U=new g(),V=new m({'name':h[al(0x12a)],'color':0xaaaaff,'flatShading':!0x0});U['name']=K,U['userData']['author']=L,U[al(0x12e)]['loader']=al(0x11d);for(let Z in O){let a0=O[Z],a1=a0['meshes'],a2=new g();for(a2['name']=a0['name']||'',Q=0x0;Q<a1['length'];Q++){let a3=V,a4=a1[Q],a5=new q(a4[al(0x11f)],0x3),a6=null;if(a4[al(0x12f)]['length']&&(a6=new q(a4['normals'],0x3)),a4[al(0x111)]){let a8=a4['color'];a3=V['clone'](),a3['color']=new k(a8['r'],a8['g'],a8['b']),a8['a']!==0x1&&(a3['transparent']=!0x0,a3['opacity']=a8['a']);}let a7=a4[al(0x11c)];for(R=0x0;R<a7['length'];R++){let a9=a7[R],aa=new p(),ab=a3;aa[al(0x117)](a9['triangles']),aa['setAttribute']('position',a5['clone']()),a6&&aa['setAttribute']('normal',a6['clone']()),N[a9['materialId']]!==void 0x0&&(ab=N[a9['materialId']]),aa['scale'](M,M,M),a2[al(0x130)](new j(aa,ab['clone']()));}}U['add'](a2);}return U;}};function d(a,c){a=a-0x108;const e=b();let f=e[a];return f;}export{l as AMFLoader};
1
+ (function(v,w){const ac=d,x=v();while(!![]){try{const y=-parseInt(ac(0x1e7))/0x1+parseInt(ac(0x1cb))/0x2+parseInt(ac(0x1d1))/0x3*(-parseInt(ac(0x1e6))/0x4)+parseInt(ac(0x1e1))/0x5+-parseInt(ac(0x1d3))/0x6*(-parseInt(ac(0x1cc))/0x7)+parseInt(ac(0x1d4))/0x8+parseInt(ac(0x1d6))/0x9;if(y===w)break;else x['push'](x['shift']());}catch(z){x['push'](x['shift']());}}}(b,0x8f6c2));import{C as f,E as g,K as h,et as j,p as k,rt as m,u as p,w as q}from'./three.module.js';import{t as u}from'./fflate.module.js';function d(a,c){a=a-0x1c9;const e=b();let f=e[a];return f;}var l=class extends h{constructor(v){super(v);}['load'](v,w,x,y){const ad=d;let z=this,A=new f(z['manager']);A['setPath'](z['path']),A['setResponseType']('arraybuffer'),A['setRequestHeader'](z['requestHeader']),A['setWithCredentials'](z['withCredentials']),A[ad(0x1e5)](v,function(B){const ae=ad;try{w(z[ae(0x1d5)](B));}catch(C){y?y(C):console['error'](C),z[ae(0x1ca)]['itemError'](v);}},x,y);}['parse'](z){const am=d;function A(W){const af=d;let X=new DataView(W);if(String['fromCharCode'](X[af(0x1ec)](0x0),X['getUint8'](0x1))==='PK'){let a0=null,a1=null;console['log'](af(0x1e2));try{a0=u(new Uint8Array(W));}catch(a2){if(a2 instanceof ReferenceError)return console['log'](af(0x1e4)),null;}for(a1 in a0)if(a1['toLowerCase']()['slice'](-0x4)==='.amf')break;console['log'](af(0x1ce)+a1),X=new DataView(a0[a1]['buffer']);}let Y=new TextDecoder()['decode'](X),Z=new DOMParser()['parseFromString'](Y,'application/xml');return Z['documentElement']['nodeName']['toLowerCase']()==='amf'?Z:(console['log']('THREE.AMFLoader:\x20Error\x20loading\x20AMF\x20-\x20no\x20AMF\x20document\x20found.'),null);}function B(W){const ag=d;let X=0x1,Y='millimeter';W['documentElement']['attributes']['unit']!==void 0x0&&(Y=W['documentElement']['attributes'][ag(0x1df)][ag(0x1de)]['toLowerCase']());let Z={'millimeter':0x1,'inch':25.4,'feet':304.8,'meter':0x3e8,'micron':0.001};return Z[Y]!==void 0x0&&(X=Z[Y]),console['log']('THREE.AMFLoader:\x20Unit\x20scale:\x20'+X),X;}function D(W){const ah=d;let X='AMF\x20Material',Y=W['attributes']['id']['textContent'],Z={'r':0x1,'g':0x1,'b':0x1,'a':0x1},a0=null;for(let a1=0x0;a1<W['childNodes'][ah(0x1e0)];a1++){let a2=W['childNodes'][a1];a2[ah(0x1ee)]==='metadata'&&a2['attributes']['type']!==void 0x0?a2['attributes']['type']['value']===ah(0x1cd)&&(X=a2['textContent']):a2['nodeName']==='color'&&(Z=F(a2));}return a0=new m({'flatShading':!0x0,'color':new k(Z['r'],Z['g'],Z['b']),'name':X}),Z['a']!==0x1&&(a0[ah(0x1ea)]=!0x0,a0[ah(0x1dd)]=Z['a']),{'id':Y,'material':a0};}function F(W){const ai=d;let X={'r':0x1,'g':0x1,'b':0x1,'a':0x1};for(let Y=0x0;Y<W['childNodes']['length'];Y++){let Z=W['childNodes'][Y];Z['nodeName']==='r'?X['r']=Z['textContent']:Z['nodeName']==='g'?X['g']=Z['textContent']:Z['nodeName']==='b'?X['b']=Z['textContent']:Z[ai(0x1ee)]==='a'&&(X['a']=Z['textContent']);}return X;}function G(W){const aj=d;let X={'name':'','triangles':[],'materialId':null},Y=W['firstElementChild'];for(W[aj(0x1ed)]['materialid']!==void 0x0&&(X[aj(0x1cf)]=W['attributes']['materialid'][aj(0x1e8)]);Y;){if(Y['nodeName']==='metadata')Y['attributes'][aj(0x1d2)]!==void 0x0&&Y[aj(0x1ed)]['type']['value']===aj(0x1cd)&&(X['name']=Y[aj(0x1d8)]);else{if(Y['nodeName']==='triangle'){let Z=Y['getElementsByTagName']('v1')[0x0]['textContent'],a0=Y['getElementsByTagName']('v2')[0x0][aj(0x1d8)],a1=Y['getElementsByTagName']('v3')[0x0]['textContent'];X['triangles']['push'](Z,a0,a1);}}Y=Y[aj(0x1dc)];}return X;}function H(W){const ak=d;let X=[],Y=[],Z=W['firstElementChild'];for(;Z;){if(Z[ak(0x1ee)]==='vertex'){let a0=Z['firstElementChild'];for(;a0;){if(a0['nodeName']==='coordinates'){let a1=a0['getElementsByTagName']('x')[0x0]['textContent'],a2=a0['getElementsByTagName']('y')[0x0]['textContent'],a3=a0['getElementsByTagName']('z')[0x0]['textContent'];X['push'](a1,a2,a3);}else{if(a0[ak(0x1ee)]==='normal'){let a4=a0['getElementsByTagName']('nx')[0x0]['textContent'],a5=a0['getElementsByTagName']('ny')[0x0]['textContent'],a6=a0[ak(0x1da)]('nz')[0x0]['textContent'];Y['push'](a4,a5,a6);}}a0=a0['nextElementSibling'];}}Z=Z['nextElementSibling'];}return{'vertices':X,'normals':Y};}function I(W){const al=d;let X=W['attributes']['id']['textContent'],Y={'name':'amfobject','meshes':[]},Z=null,a0=W[al(0x1d9)];for(;a0;){if(a0[al(0x1ee)]===al(0x1e9))a0['attributes']['type']!==void 0x0&&a0['attributes']['type']['value']==='name'&&(Y['name']=a0['textContent']);else{if(a0[al(0x1ee)]==='color')Z=F(a0);else{if(a0['nodeName']==='mesh'){let a1=a0[al(0x1d9)],a2={'vertices':[],'normals':[],'volumes':[],'color':Z};for(;a1;){if(a1['nodeName']==='vertices'){let a3=H(a1);a2['normals']=a2['normals']['concat'](a3[al(0x1eb)]),a2['vertices']=a2['vertices']['concat'](a3['vertices']);}else a1[al(0x1ee)]==='volume'&&a2['volumes']['push'](G(a1));a1=a1['nextElementSibling'];}Y['meshes']['push'](a2);}}}a0=a0['nextElementSibling'];}return{'id':X,'obj':Y};}let J=A(z),K='',L='',M=B(J),N={},O={},P=J[am(0x1ef)]['childNodes'],Q,R;for(Q=0x0;Q<P[am(0x1e0)];Q++){let W=P[Q];if(W['nodeName']===am(0x1e9))W['attributes']['type']!==void 0x0&&(W[am(0x1ed)]['type']['value']===am(0x1cd)?K=W['textContent']:W['attributes']['type']['value']==='author'&&(L=W['textContent']));else{if(W[am(0x1ee)]==='material'){let X=D(W);N[X['id']]=X['material'];}else{if(W['nodeName']==='object'){let Y=I(W);O[Y['id']]=Y[am(0x1e3)];}}}}let U=new g(),V=new m({'name':h['DEFAULT_MATERIAL_NAME'],'color':0xaaaaff,'flatShading':!0x0});U['name']=K,U['userData']['author']=L,U[am(0x1c9)]['loader']=am(0x1d0);for(let Z in O){let a0=O[Z],a1=a0['meshes'],a2=new g();for(a2['name']=a0['name']||'',Q=0x0;Q<a1['length'];Q++){let a3=V,a4=a1[Q],a5=new q(a4['vertices'],0x3),a6=null;if(a4[am(0x1eb)][am(0x1e0)]&&(a6=new q(a4['normals'],0x3)),a4[am(0x1d7)]){let a8=a4[am(0x1d7)];a3=V[am(0x1db)](),a3['color']=new k(a8['r'],a8['g'],a8['b']),a8['a']!==0x1&&(a3['transparent']=!0x0,a3['opacity']=a8['a']);}let a7=a4['volumes'];for(R=0x0;R<a7[am(0x1e0)];R++){let a9=a7[R],aa=new p(),ab=a3;aa['setIndex'](a9['triangles']),aa['setAttribute']('position',a5['clone']()),a6&&aa['setAttribute']('normal',a6['clone']()),N[a9['materialId']]!==void 0x0&&(ab=N[a9['materialId']]),aa['scale'](M,M,M),a2['add'](new j(aa,ab['clone']()));}}U['add'](a2);}return U;}};export{l as AMFLoader};function b(){const an=['load','184432xcXRlA','1085274EwcRzD','nodeValue','metadata','transparent','normals','getUint8','attributes','nodeName','documentElement','userData','manager','823592AbHEkR','140YiIbtj','name','THREE.AMFLoader:\x20Trying\x20to\x20load\x20file\x20asset:\x20','materialId','AMF','24LqSVBy','type','235164bCtEIP','1002128dIuFuS','parse','2025468ZYvvgQ','color','textContent','firstElementChild','getElementsByTagName','clone','nextElementSibling','opacity','value','unit','length','2478010EdcAkv','THREE.AMFLoader:\x20Loading\x20Zip','obj','THREE.AMFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'];b=function(){return an;};return b();}
@@ -1 +1 @@
1
- var a7=j;(function(H,I){var a6=j,J=H();while(!![]){try{var K=parseInt(a6(0x1cd))/0x1+-parseInt(a6(0x1d0))/0x2*(-parseInt(a6(0x1c7))/0x3)+parseInt(a6(0x1d3))/0x4*(parseInt(a6(0x1c8))/0x5)+parseInt(a6(0x1db))/0x6+-parseInt(a6(0x1ca))/0x7+parseInt(a6(0x1d9))/0x8*(-parseInt(a6(0x1cf))/0x9)+-parseInt(a6(0x1cb))/0xa;if(K===I)break;else J['push'](J['shift']());}catch(L){J['push'](J['shift']());}}}(b,0x1c88f));function b(){var ab=['AudioViewer','1215725HXKGCM','1790370niiEuQ','value','123851LvWKJP','span','2493CyaRaO','21432MEvDJR','__scopeId','使用浏览器原生播放器打开,兼容性取决于当前浏览器支持的音频编码。','631172IbxCQy','audio-progress','audio/ogg;\x20codecs=opus','type','div','isFinite','1424zsgOyg','audio/ogg','394782ohbdRo','data','48GzohjI','5nfrEJD'];b=function(){return ab;};return b();}import{t as k}from'./_plugin-vue_export-helper.js';import{computed as q,createElementBlock as w,createElementVNode as x,defineComponent as z,normalizeStyle as A,onBeforeUnmount as B,onMounted as C,openBlock as D,ref as E,toDisplayString as F,watch as G}from'vue';var f={'class':'audio-viewer'},p={'class':'audio-card'},m={'class':'audio-copy'},h={'class':'audio-kicker'},g={'class':'audio-meter'},_={'class':a7(0x1d4),'aria-hidden':'true'},v=['src'],y=k(z({'__name':a7(0x1c9),'props':{'data':{},'type':{}},'setup'(H){var a8=a7;let I=H,J=E(null),K=E(''),L=E(0x0),P=E(0x0),Q=E(!0x1),R={'aac':'audio/aac','flac':'audio/flac','m4a':'audio/mp4','mp3':'audio/mpeg','mpeg':'audio/mpeg','oga':'audio/ogg','ogg':a8(0x1da),'opus':a8(0x1d5),'wav':'audio/wav','weba':'audio/webm'},U=q(()=>I[a8(0x1d6)]['trim']()['toLowerCase']()),V=q(()=>R[U['value']]||'audio/*'),W=q(()=>U['value']['toUpperCase']()||'AUDIO'),X=q(()=>!Number['isFinite'](P['value'])||P['value']<=0x0?0x0:Math['min'](0x64,Math['max'](0x0,L['value']/P['value']*0x64))),Y=a3=>{var a9=a8;if(!Number[a9(0x1d8)](a3)||a3<=0x0)return'00:00';let a4=Math['floor'](a3/0x3c),a5=Math['floor'](a3%0x3c);return String(a4)['padStart'](0x2,'0')+':'+String(a5)['padStart'](0x2,'0');},Z=()=>{K['value']&&(URL['revokeObjectURL'](K['value']),K['value']='');},a0=()=>{var aa=a8;Z(),L['value']=0x0,P['value']=0x0,Q[aa(0x1cc)]=!0x1,K['value']=URL['createObjectURL'](new Blob([I[aa(0x1c6)]],{'type':V[aa(0x1cc)]}));},a1=()=>{var a3;P['value']=((a3=J['value'])==null?void 0x0:a3['duration'])||0x0,Q['value']=!0x0;},a2=()=>{var a3;L['value']=((a3=J['value'])==null?void 0x0:a3['currentTime'])||0x0;};return C(a0),G(()=>[I['data'],I['type']],a0),B(Z),(a3,a4)=>(D(),w(a8(0x1d7),f,[x('section',p,[a4[0x2]||(a4[0x2]=x('div',{'class':'audio-art'},[x('span'),x('i')],-0x1)),x('div',m,[x(a8(0x1ce),h,F(W['value']),0x1),a4[0x0]||(a4[0x0]=x('strong',null,'音频预览',-0x1)),a4[0x1]||(a4[0x1]=x('p',null,a8(0x1d2),-0x1))]),x('div',g,[x('span',null,F(Y(L[a8(0x1cc)])),0x1),x('div',_,[x('i',{'style':A({'width':X['value']+'%'})},null,0x4)]),x('span',null,F(Q['value']?Y(P['value']):'--:--'),0x1)]),x('audio',{'ref_key':'audioRef','ref':J,'class':'audio-control','src':K['value'],'controls':'','preload':'metadata','onLoadedmetadata':a1,'onTimeupdate':a2},'\x20当前浏览器不支持音频播放。\x20',0x28,v)])]));}}),[[a7(0x1d1),'data-v-608bd328']]);function j(a,c){a=a-0x1c6;var d=b();var e=d[a];return e;}export{y as default};
1
+ var a7=j;function b(){var ac=['1774272sYvdYr','strong','true','1038ovoYjf','toUpperCase','audio-viewer','543805MebxaX','audio/mp4','2nEPWeh','27594KlyNZv','1443324aYCibO','audio/wav','span','floor','isFinite','7870aRsShQ','max','3683744hjdWcb','data-v-608bd328','1755780clpZxJ','audio-art','20685HtocGO','value'];b=function(){return ac;};return b();}(function(H,I){var a6=j,J=H();while(!![]){try{var K=-parseInt(a6(0x194))/0x1*(parseInt(a6(0x196))/0x2)+-parseInt(a6(0x18e))/0x3+-parseInt(a6(0x198))/0x4+parseInt(a6(0x1a1))/0x5+parseInt(a6(0x191))/0x6*(-parseInt(a6(0x18c))/0x7)+-parseInt(a6(0x19f))/0x8+parseInt(a6(0x197))/0x9*(parseInt(a6(0x19d))/0xa);if(K===I)break;else J['push'](J['shift']());}catch(L){J['push'](J['shift']());}}}(b,0x485a3));import{t as k}from'./_plugin-vue_export-helper.js';import{computed as q,createElementBlock as w,createElementVNode as x,defineComponent as z,normalizeStyle as A,onBeforeUnmount as B,onMounted as C,openBlock as D,ref as E,toDisplayString as F,watch as G}from'vue';function j(a,c){a=a-0x18c;var d=b();var e=d[a];return e;}var f={'class':a7(0x193)},p={'class':'audio-card'},m={'class':'audio-copy'},h={'class':'audio-kicker'},g={'class':'audio-meter'},_={'class':'audio-progress','aria-hidden':a7(0x190)},v=['src'],y=k(z({'__name':'AudioViewer','props':{'data':{},'type':{}},'setup'(H){var a8=a7;let I=H,J=E(null),K=E(''),L=E(0x0),P=E(0x0),Q=E(!0x1),R={'aac':'audio/aac','flac':'audio/flac','m4a':a8(0x195),'mp3':'audio/mpeg','mpeg':'audio/mpeg','oga':'audio/ogg','ogg':'audio/ogg','opus':'audio/ogg;\x20codecs=opus','wav':a8(0x199),'weba':'audio/webm'},U=q(()=>I['type']['trim']()['toLowerCase']()),V=q(()=>R[U['value']]||'audio/*'),W=q(()=>U['value'][a8(0x192)]()||'AUDIO'),X=q(()=>!Number[a8(0x19c)](P['value'])||P[a8(0x18d)]<=0x0?0x0:Math['min'](0x64,Math[a8(0x19e)](0x0,L['value']/P['value']*0x64))),Y=a3=>{var a9=a8;if(!Number['isFinite'](a3)||a3<=0x0)return'00:00';let a4=Math[a9(0x19b)](a3/0x3c),a5=Math['floor'](a3%0x3c);return String(a4)['padStart'](0x2,'0')+':'+String(a5)['padStart'](0x2,'0');},Z=()=>{K['value']&&(URL['revokeObjectURL'](K['value']),K['value']='');},a0=()=>{var aa=a8;Z(),L[aa(0x18d)]=0x0,P['value']=0x0,Q[aa(0x18d)]=!0x1,K['value']=URL['createObjectURL'](new Blob([I['data']],{'type':V['value']}));},a1=()=>{var ab=a8,a3;P[ab(0x18d)]=((a3=J['value'])==null?void 0x0:a3['duration'])||0x0,Q['value']=!0x0;},a2=()=>{var a3;L['value']=((a3=J['value'])==null?void 0x0:a3['currentTime'])||0x0;};return C(a0),G(()=>[I['data'],I['type']],a0),B(Z),(a3,a4)=>(D(),w('div',f,[x('section',p,[a4[0x2]||(a4[0x2]=x('div',{'class':a8(0x1a2)},[x('span'),x('i')],-0x1)),x('div',m,[x('span',h,F(W[a8(0x18d)]),0x1),a4[0x0]||(a4[0x0]=x(a8(0x18f),null,'音频预览',-0x1)),a4[0x1]||(a4[0x1]=x('p',null,'使用浏览器原生播放器打开,兼容性取决于当前浏览器支持的音频编码。',-0x1))]),x('div',g,[x(a8(0x19a),null,F(Y(L['value'])),0x1),x('div',_,[x('i',{'style':A({'width':X['value']+'%'})},null,0x4)]),x('span',null,F(Q['value']?Y(P['value']):'--:--'),0x1)]),x('audio',{'ref_key':'audioRef','ref':J,'class':'audio-control','src':K['value'],'controls':'','preload':'metadata','onLoadedmetadata':a1,'onTimeupdate':a2},'\x20当前浏览器不支持音频播放。\x20',0x28,v)])]));}}),[['__scopeId',a7(0x1a0)]]);export{y as default};
@@ -1 +1 @@
1
- function q(a,b){a=a-0x117;const c=j();let d=c[a];return d;}const b7=q;(function(Y,Z){const b6=q,a0=Y();while(!![]){try{const a1=-parseInt(b6(0x11e))/0x1*(-parseInt(b6(0x13e))/0x2)+-parseInt(b6(0x139))/0x3*(-parseInt(b6(0x145))/0x4)+-parseInt(b6(0x142))/0x5+-parseInt(b6(0x125))/0x6*(parseInt(b6(0x130))/0x7)+parseInt(b6(0x119))/0x8*(parseInt(b6(0x126))/0x9)+-parseInt(b6(0x143))/0xa*(parseInt(b6(0x131))/0xb)+parseInt(b6(0x11b))/0xc;if(a1===Z)break;else a0['push'](a0['shift']());}catch(a2){a0['push'](a0['shift']());}}}(j,0x31783));import{n as z,t}from'./objectSpread2.js';import{n,t as B}from'./asyncToGenerator.js';import{t as F}from'./_plugin-vue_export-helper.js';function j(){const bp=['value','240UXaTYU','select','338316KDOsPD','height','requestRender','2ihTmsu','min','map','width','toUpperCase','preview','button','726rTcmLJ','53829bTtLRZ','cad-state','cad-layers','未知\x20DWG\x20版本','ceil','resize','div','cad-state\x20error','apply','sqrt','11109RzbUSH','130988FbcNwe','length','max','getLayers','DWG\x20预览图加载失败','join','error','AutoCAD\x202000/2000i/2002','228573llixGK','isOff','pan','type','data','185354DjmqWj','cad-tools','name','toFixed','74870CQiYZw','50gKQWfe','loadArrayBuffer','4Xgctif','image/png'];j=function(){return bp;};return j();}import{Fragment as G,computed as H,createCommentVNode as I,createElementBlock as J,createElementVNode as K,defineComponent as L,nextTick as M,normalizeClass as N,normalizeStyle as P,onBeforeUnmount as Q,onMounted as R,openBlock as U,ref as V,renderList as W,toDisplayString as X}from'vue';n(),z();var b={'class':'cad-viewer'},x={'class':'cad-toolbar'},S={'class':b7(0x13f)},C={'class':'cad-zoom'},w={'key':0x0,'class':b7(0x128)},T=['onClick'],E={'class':'cad-canvas-wrap'},ee={'key':0x0,'class':b7(0x127)},te={'key':0x1,'class':'dwg-preview'},ne={'class':'dwg-preview-frame'},D=['src'],O={'key':0x2,'class':b7(0x12d)},k=0x708,A=F(L({'__name':'CadViewer','props':{'data':{},'type':{}},'setup'(a0){const b8=b7;let a1=a0,a2=V(null),a3=V([]),a4=V(b8(0x13b)),a5=V('loading'),a6=V(''),a7=V(''),a8=V(''),a9=V(0x1),aa=null,ab=null,ac=new TextDecoder('utf-8'),ad=k*k,af={'AC1015':b8(0x138),'AC1018':'AutoCAD\x202004/2005/2006','AC1021':'AutoCAD\x202007/2008/2009','AC1024':'AutoCAD\x202010/2011/2012','AC1027':'AutoCAD\x202013/2014/2015/2016/2017','AC1032':'AutoCAD\x202018/2019/2020/2021/2022/2023/2024'},ag=aA=>aA instanceof Error?aA['message']:typeof aA=='string'?aA:JSON['stringify'](aA),ah=()=>{a7['value']&&(URL['revokeObjectURL'](a7['value']),a7['value']='');},ai=aA=>Number(Math[b8(0x11f)](0x4,Math[b8(0x133)](0.35,aA))[b8(0x141)](0x2)),aj=H(()=>({'width':a9['value']*0x64+'%'})),ak=aA=>{const b9=b8;a9[b9(0x118)]=ai(a9['value']+aA);},al=aA=>new Promise((aB,aC)=>{let aD=URL['createObjectURL'](aA),aE=new Image();aE['onload']=()=>{URL['revokeObjectURL'](aD),aB(aE);},aE['onerror']=()=>{const ba=q;URL['revokeObjectURL'](aD),aC(Error(ba(0x135)));},aE['src']=aD;}),am=(aA,aB,aC)=>{const bb=b8;let aD=[0x0,(aB-0x1)*0x4,(aC-0x1)*aB*0x4,((aC-0x1)*aB+aB-0x1)*0x4],aE=aD['reduce']((aF,aG)=>(aF['r']+=aA[aG],aF['g']+=aA[aG+0x1],aF['b']+=aA[aG+0x2],aF['a']+=aA[aG+0x3],aF),{'r':0x0,'g':0x0,'b':0x0,'a':0x0});return{'r':aE['r']/aD['length'],'g':aE['g']/aD[bb(0x132)],'b':aE['b']/aD['length'],'a':aE['a']/aD['length']};},an=(aA,aB,aC)=>{const bc=b8;let aD=aA[aB]-aC['r'],aE=aA[aB+0x1]-aC['g'],aF=aA[aB+0x2]-aC['b'],aG=aA[aB+0x3]-aC['a'];return Math[bc(0x12f)](aD*aD+aE*aE+aF*aF+aG*aG);},ao=(aA,aB,aC)=>aA[aB+0x3]<=0xc?!0x1:an(aA,aB,aC)>0x1c,ap=(function(){var aA=B(function*(aB){const bd=q;let aC=yield al(aB),aD=aC['naturalWidth']||aC['width'],aE=aC['naturalHeight']||aC['height'];if(!aD||!aE)return{'blob':aB,'cropped':!0x1};let aF=Math['min'](0x1,k/Math['max'](aD,aE),Math[bd(0x12f)](ad/(aD*aE))),aG=Math['max'](0x1,Math['round'](aD*aF)),aH=Math['max'](0x1,Math['round'](aE*aF)),aI=document['createElement']('canvas');aI[bd(0x121)]=aG,aI['height']=aH;let aJ=aI['getContext']('2d',{'willReadFrequently':!0x0});if(!aJ)return{'blob':aB,'cropped':!0x1};aJ['drawImage'](aC,0x0,0x0,aG,aH);let aK=aJ['getImageData'](0x0,0x0,aG,aH),aL=am(aK['data'],aG,aH),aM=aG,aN=aH,aO=-0x1,aP=-0x1;for(let b2=0x0;b2<aH;b2+=0x1)for(let b3=0x0;b3<aG;b3+=0x1){let b4=(b2*aG+b3)*0x4;ao(aK['data'],b4,aL)&&(aM=Math['min'](aM,b3),aN=Math['min'](aN,b2),aO=Math[bd(0x133)](aO,b3),aP=Math['max'](aP,b2));}if(aO<aM||aP<aN)return{'blob':aB,'cropped':!0x1};let aQ=aO-aM+0x1,aR=aP-aN+0x1;if(aQ/aG>0.94&&aR/aH>0.94)return{'blob':aB,'cropped':!0x1};let aS=Math['max'](0x8,Math['round'](Math['max'](aQ,aR)*0.04)),aT=Math['max'](0x0,Math['floor']((aM-aS)/aF)),aU=Math['max'](0x0,Math['floor']((aN-aS)/aF)),aV=Math['min'](aD,Math[bd(0x12a)]((aO+aS+0x1)/aF)),aW=Math['min'](aE,Math[bd(0x12a)]((aP+aS+0x1)/aF)),aX=aV-aT,aY=aW-aU;if(aX<=0x0||aY<=0x0)return{'blob':aB,'cropped':!0x1};let aZ=document['createElement']('canvas');aZ['width']=aX,aZ[bd(0x11c)]=aY;let b0=aZ['getContext']('2d');if(!b0)return{'blob':aB,'cropped':!0x1};b0['drawImage'](aC,aT,aU,aX,aY,0x0,0x0,aX,aY);let b1=yield new Promise(b5=>{const be=bd;aZ['toBlob'](b5,be(0x117));});return{'blob':b1||aB,'cropped':!!b1};});return function(aB){const bf=q;return aA[bf(0x12e)](this,arguments);};}()),aq=(aA,aB,aC=0x0)=>{const bg=b8;for(let aD=aC;aD<=aA['length']-aB['length'];aD+=0x1){let aE=!0x0;for(let aF=0x0;aF<aB[bg(0x132)];aF+=0x1)if(aA[aD+aF]!==aB[aF]){aE=!0x1;break;}if(aE)return aD;}return-0x1;},ar=()=>{const bh=b8;let aA=new Uint8Array(a1[bh(0x13d)]),aB=aq(aA,[0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa]);if(aB>=0x0){let aE=aq(aA,[0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82],aB);if(aE>aB)return new Blob([aA['slice'](aB,aE+0x8)],{'type':bh(0x117)});}let aC=aq(aA,[0xff,0xd8,0xff]);if(aC>=0x0){let aF=aq(aA,[0xff,0xd9],aC+0x3);if(aF>aC)return new Blob([aA['slice'](aC,aF+0x2)],{'type':'image/jpeg'});}let aD=aq(aA,[0x42,0x4d]);if(aD>=0x0&&aD+0x6<aA[bh(0x132)]){let aG=new DataView(a1[bh(0x13d)],aD)['getUint32'](0x2,!0x0);if(aG>0xe&&aD+aG<=aA['length'])return new Blob([aA['slice'](aD,aD+aG)],{'type':'image/bmp'});}return null;},as=()=>{const bi=b8;let aA=new Uint8Array(a1['data']['slice'](0x0,0x40));return Array['from'](aA)[bi(0x120)](aB=>aB>=0x20&&aB<=0x7e?String['fromCharCode'](aB):'\x20')[bi(0x136)]('')['trim']();},at=()=>{const bj=b8;let aA=ac['decode'](a1['data']['slice'](0x0,Math['min'](a1[bj(0x13d)]['byteLength'],0x200)));return/\bSECTION\b/['test'](aA)||/\$ACADVER/['test'](aA);},au=aA=>{a4['value']=aA,aa==null||aa['setTool'](aA);},av=()=>{const bk=b8;if(a5['value']==='preview'){a9[bk(0x118)]=0x1;return;}aa==null||aa[bk(0x12b)](),aa==null||aa['fitToView']();},aw=aA=>{const bl=b8;let aB=aA[bl(0x13a)];aa==null||aa['setLayerVisible'](aA[bl(0x140)],aB),a3['value']=a3['value']['map'](aC=>aC['name']===aA['name']?t(t({},aC),{},{'isOff':!aB}):aC);},ax=(function(){var aA=B(function*(){const bm=q;let aB=a2['value'];if(aB){a5['value']='loading',a6['value']='',a9['value']=0x1,ah();try{let {CadViewer:aC}=yield import('./dist.js');aa==null||aa['destroy'](),aa=new aC(aB,{'theme':'light','initialTool':a4['value'],'worker':!0x1}),aa[bm(0x144)](a1['data']),yield M(),av(),a3[bm(0x118)]=aa[bm(0x134)](),a5['value']='ready';}catch(aD){console['error'](aD),a5['value']=bm(0x137),a6['value']=ag(aD)||'CAD\x20图纸解析失败';}}});return function(){return aA['apply'](this,arguments);};}()),ay=(function(){var aA=B(function*(){const bn=q;if(at()){yield ax();return;}a5['value']='loading',a6['value']='',ah();let aB=as()['slice'](0x0,0x6),aC=af[aB]?aB+'('+af[aB]+')':aB||bn(0x129),aD=ar();if(aD){let aE=yield ap(aD);a7['value']=URL['createObjectURL'](aE['blob']),a8['value']='已从\x20DWG\x20二进制中提取内嵌预览图,版本\x20'+aC+'。'+(aE['cropped']?'已自动裁剪空白边距,便于查看有效内容。':'')+'这是文件保存时写入的快照,不等同于完整\x20CAD\x20几何解析。',a5['value']='preview';return;}a5[bn(0x118)]=bn(0x137),a6['value']='DWG\x20是专有二进制\x20CAD\x20格式,当前\x20Apache-2.0\x20前端包未内置\x20GPL\x20或闭源\x20DWG\x20解码器;此文件也没有可提取的内嵌预览图。请在业务侧转换为\x20DXF\x20后预览,或接入私有服务端转换链路。检测到的版本为\x20'+aC+'。';});return function(){return aA['apply'](this,arguments);};}()),az=(function(){var aA=B(function*(){if(a1['type']['toLowerCase']()==='dwg'){yield ay();return;}yield ax();});return function(){return aA['apply'](this,arguments);};}());return R(()=>{az();let aA=a2['value'];aA&&(ab=new ResizeObserver(()=>{const bo=q;aa==null||aa['resize'](),aa==null||aa[bo(0x11d)]();}),ab['observe'](aA));}),Q(()=>{ab==null||ab['disconnect'](),ab=null,aa==null||aa['destroy'](),aa=null,ah();}),(aA,aB)=>(U(),J(b8(0x12c),b,[K('div',x,[K('div',S,[K('button',{'type':b8(0x124),'class':N({'active':a4['value']==='pan'}),'onClick':aB[0x0]||(aB[0x0]=aC=>au('pan'))},'平移',0x2),K(b8(0x124),{'type':'button','class':N({'active':a4['value']==='select'}),'onClick':aB[0x1]||(aB[0x1]=aC=>au(b8(0x11a)))},'选择',0x2),K(b8(0x124),{'type':b8(0x124),'class':N({'active':a4['value']==='measure'}),'onClick':aB[0x2]||(aB[0x2]=aC=>au('measure'))},'测量',0x2),K('button',{'type':'button','onClick':av},'适配'),a5[b8(0x118)]===b8(0x123)?(U(),J(G,{'key':0x0},[K('button',{'type':b8(0x124),'title':'缩小\x20DWG\x20预览','onClick':aB[0x3]||(aB[0x3]=aC=>ak(-0.15))},'-'),K('span',C,X(Math['round'](a9['value']*0x64))+'%',0x1),K('button',{'type':'button','title':'放大\x20DWG\x20预览','onClick':aB[0x4]||(aB[0x4]=aC=>ak(0.15))},'+')],0x40)):I('',!0x0)]),K('span',null,X(a0[b8(0x13c)][b8(0x122)]()),0x1)]),K('div',{'class':N(['cad-body',{'without-layers':!a3['value']['length']}])},[a3['value']['length']?(U(),J('aside',w,[(U(!0x0),J(G,null,W(a3['value'],aC=>(U(),J('button',{'key':aC['name'],'type':'button','class':N({'muted':aC['isOff']}),'onClick':aD=>aw(aC)},X(aC['name']),0xb,T))),0x80))])):I('',!0x0),K('div',E,[K('canvas',{'ref_key':'canvas','ref':a2},null,0x200),a5[b8(0x118)]==='loading'?(U(),J('div',ee,'正在解析\x20CAD...')):a5['value']==='preview'?(U(),J(b8(0x12c),te,[K('div',ne,[K('img',{'src':a7['value'],'alt':'DWG\x20内嵌预览图','style':P(aj['value'])},null,0xc,D)]),K('p',null,X(a8['value']),0x1)])):a5[b8(0x118)]==='error'?(U(),J('div',O,X(a6['value']),0x1)):I('',!0x0)])],0x2)]));}}),[['__scopeId','data-v-4d603439']]);export{A as default};
1
+ const b7=q;function q(a,b){a=a-0x8b;const c=j();let d=c[a];return d;}function j(){const bm=['isOff','放大\x20DWG\x20预览','name','未知\x20DWG\x20版本','data','10501104jqOXlC','cad-body','1138346USKZXb','ceil','apply','2404205FBupiJ','span','round','6ajohKY','setLayerVisible','createObjectURL','cropped','dwg','cad-toolbar','drawImage','min','max','135cTIiVj','2159596vbwKSz','339110hmMgBF','getUint32','DWG\x20预览图加载失败','blob','canvas','1113308piKNMT','test','value','div','length','error','1920225reJUbt','4GpIhgT','AutoCAD\x202013/2014/2015/2016/2017','button','preview'];j=function(){return bm;};return j();}(function(Y,Z){const b6=q,a0=Y();while(!![]){try{const a1=parseInt(b6(0xa7))/0x1+parseInt(b6(0x8f))/0x2+parseInt(b6(0x9b))/0x3+-parseInt(b6(0x9c))/0x4*(parseInt(b6(0xaa))/0x5)+parseInt(b6(0xad))/0x6*(parseInt(b6(0x95))/0x7)+-parseInt(b6(0xa5))/0x8+-parseInt(b6(0x8e))/0x9*(parseInt(b6(0x90))/0xa);if(a1===Z)break;else a0['push'](a0['shift']());}catch(a2){a0['push'](a0['shift']());}}}(j,0xae96f));import{n as z,t}from'./objectSpread2.js';import{n,t as B}from'./asyncToGenerator.js';import{t as F}from'./_plugin-vue_export-helper.js';import{Fragment as G,computed as H,createCommentVNode as I,createElementBlock as J,createElementVNode as K,defineComponent as L,nextTick as M,normalizeClass as N,normalizeStyle as P,onBeforeUnmount as Q,onMounted as R,openBlock as U,ref as V,renderList as W,toDisplayString as X}from'vue';n(),z();var b={'class':'cad-viewer'},x={'class':b7(0xb2)},S={'class':'cad-tools'},C={'class':'cad-zoom'},w={'key':0x0,'class':'cad-layers'},T=['onClick'],E={'class':'cad-canvas-wrap'},ee={'key':0x0,'class':'cad-state'},te={'key':0x1,'class':'dwg-preview'},ne={'class':'dwg-preview-frame'},D=['src'],O={'key':0x2,'class':'cad-state\x20error'},k=0x708,A=F(L({'__name':'CadViewer','props':{'data':{},'type':{}},'setup'(a0){const b8=b7;let a1=a0,a2=V(null),a3=V([]),a4=V('pan'),a5=V('loading'),a6=V(''),a7=V(''),a8=V(''),a9=V(0x1),aa=null,ab=null,ac=new TextDecoder('utf-8'),ad=k*k,af={'AC1015':'AutoCAD\x202000/2000i/2002','AC1018':'AutoCAD\x202004/2005/2006','AC1021':'AutoCAD\x202007/2008/2009','AC1024':'AutoCAD\x202010/2011/2012','AC1027':b8(0x9d),'AC1032':'AutoCAD\x202018/2019/2020/2021/2022/2023/2024'},ag=aA=>aA instanceof Error?aA['message']:typeof aA=='string'?aA:JSON['stringify'](aA),ah=()=>{const b9=b8;a7[b9(0x97)]&&(URL['revokeObjectURL'](a7['value']),a7[b9(0x97)]='');},ai=aA=>Number(Math['min'](0x4,Math['max'](0.35,aA))['toFixed'](0x2)),aj=H(()=>({'width':a9['value']*0x64+'%'})),ak=aA=>{a9['value']=ai(a9['value']+aA);},al=aA=>new Promise((aB,aC)=>{let aD=URL['createObjectURL'](aA),aE=new Image();aE['onload']=()=>{URL['revokeObjectURL'](aD),aB(aE);},aE['onerror']=()=>{const ba=q;URL['revokeObjectURL'](aD),aC(Error(ba(0x92)));},aE['src']=aD;}),am=(aA,aB,aC)=>{const bb=b8;let aD=[0x0,(aB-0x1)*0x4,(aC-0x1)*aB*0x4,((aC-0x1)*aB+aB-0x1)*0x4],aE=aD['reduce']((aF,aG)=>(aF['r']+=aA[aG],aF['g']+=aA[aG+0x1],aF['b']+=aA[aG+0x2],aF['a']+=aA[aG+0x3],aF),{'r':0x0,'g':0x0,'b':0x0,'a':0x0});return{'r':aE['r']/aD[bb(0x99)],'g':aE['g']/aD['length'],'b':aE['b']/aD[bb(0x99)],'a':aE['a']/aD['length']};},an=(aA,aB,aC)=>{let aD=aA[aB]-aC['r'],aE=aA[aB+0x1]-aC['g'],aF=aA[aB+0x2]-aC['b'],aG=aA[aB+0x3]-aC['a'];return Math['sqrt'](aD*aD+aE*aE+aF*aF+aG*aG);},ao=(aA,aB,aC)=>aA[aB+0x3]<=0xc?!0x1:an(aA,aB,aC)>0x1c,ap=(function(){var aA=B(function*(aB){const bc=q;let aC=yield al(aB),aD=aC['naturalWidth']||aC['width'],aE=aC['naturalHeight']||aC['height'];if(!aD||!aE)return{'blob':aB,'cropped':!0x1};let aF=Math['min'](0x1,k/Math['max'](aD,aE),Math['sqrt'](ad/(aD*aE))),aG=Math[bc(0x8d)](0x1,Math['round'](aD*aF)),aH=Math['max'](0x1,Math[bc(0xac)](aE*aF)),aI=document['createElement'](bc(0x94));aI['width']=aG,aI['height']=aH;let aJ=aI['getContext']('2d',{'willReadFrequently':!0x0});if(!aJ)return{'blob':aB,'cropped':!0x1};aJ['drawImage'](aC,0x0,0x0,aG,aH);let aK=aJ['getImageData'](0x0,0x0,aG,aH),aL=am(aK['data'],aG,aH),aM=aG,aN=aH,aO=-0x1,aP=-0x1;for(let b2=0x0;b2<aH;b2+=0x1)for(let b3=0x0;b3<aG;b3+=0x1){let b4=(b2*aG+b3)*0x4;ao(aK['data'],b4,aL)&&(aM=Math['min'](aM,b3),aN=Math[bc(0x8c)](aN,b2),aO=Math['max'](aO,b3),aP=Math['max'](aP,b2));}if(aO<aM||aP<aN)return{'blob':aB,'cropped':!0x1};let aQ=aO-aM+0x1,aR=aP-aN+0x1;if(aQ/aG>0.94&&aR/aH>0.94)return{'blob':aB,'cropped':!0x1};let aS=Math['max'](0x8,Math['round'](Math[bc(0x8d)](aQ,aR)*0.04)),aT=Math['max'](0x0,Math['floor']((aM-aS)/aF)),aU=Math['max'](0x0,Math['floor']((aN-aS)/aF)),aV=Math[bc(0x8c)](aD,Math[bc(0xa8)]((aO+aS+0x1)/aF)),aW=Math['min'](aE,Math['ceil']((aP+aS+0x1)/aF)),aX=aV-aT,aY=aW-aU;if(aX<=0x0||aY<=0x0)return{'blob':aB,'cropped':!0x1};let aZ=document['createElement']('canvas');aZ['width']=aX,aZ['height']=aY;let b0=aZ['getContext']('2d');if(!b0)return{'blob':aB,'cropped':!0x1};b0[bc(0x8b)](aC,aT,aU,aX,aY,0x0,0x0,aX,aY);let b1=yield new Promise(b5=>{aZ['toBlob'](b5,'image/png');});return{'blob':b1||aB,'cropped':!!b1};});return function(aB){const bd=q;return aA[bd(0xa9)](this,arguments);};}()),aq=(aA,aB,aC=0x0)=>{const be=b8;for(let aD=aC;aD<=aA['length']-aB[be(0x99)];aD+=0x1){let aE=!0x0;for(let aF=0x0;aF<aB['length'];aF+=0x1)if(aA[aD+aF]!==aB[aF]){aE=!0x1;break;}if(aE)return aD;}return-0x1;},ar=()=>{const bf=b8;let aA=new Uint8Array(a1['data']),aB=aq(aA,[0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa]);if(aB>=0x0){let aE=aq(aA,[0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82],aB);if(aE>aB)return new Blob([aA['slice'](aB,aE+0x8)],{'type':'image/png'});}let aC=aq(aA,[0xff,0xd8,0xff]);if(aC>=0x0){let aF=aq(aA,[0xff,0xd9],aC+0x3);if(aF>aC)return new Blob([aA['slice'](aC,aF+0x2)],{'type':'image/jpeg'});}let aD=aq(aA,[0x42,0x4d]);if(aD>=0x0&&aD+0x6<aA['length']){let aG=new DataView(a1['data'],aD)[bf(0x91)](0x2,!0x0);if(aG>0xe&&aD+aG<=aA['length'])return new Blob([aA['slice'](aD,aD+aG)],{'type':'image/bmp'});}return null;},as=()=>{const bg=b8;let aA=new Uint8Array(a1[bg(0xa4)]['slice'](0x0,0x40));return Array['from'](aA)['map'](aB=>aB>=0x20&&aB<=0x7e?String['fromCharCode'](aB):'\x20')['join']('')['trim']();},at=()=>{const bh=b8;let aA=ac['decode'](a1['data']['slice'](0x0,Math['min'](a1['data']['byteLength'],0x200)));return/\bSECTION\b/['test'](aA)||/\$ACADVER/[bh(0x96)](aA);},au=aA=>{a4['value']=aA,aa==null||aa['setTool'](aA);},av=()=>{if(a5['value']==='preview'){a9['value']=0x1;return;}aa==null||aa['resize'](),aa==null||aa['fitToView']();},aw=aA=>{const bi=b8;let aB=aA['isOff'];aa==null||aa[bi(0xae)](aA[bi(0xa2)],aB),a3['value']=a3['value']['map'](aC=>aC[bi(0xa2)]===aA['name']?t(t({},aC),{},{'isOff':!aB}):aC);},ax=(function(){var aA=B(function*(){const bj=q;let aB=a2[bj(0x97)];if(aB){a5['value']='loading',a6['value']='',a9['value']=0x1,ah();try{let {CadViewer:aC}=yield import('./dist.js');aa==null||aa['destroy'](),aa=new aC(aB,{'theme':'light','initialTool':a4[bj(0x97)],'worker':!0x1}),aa['loadArrayBuffer'](a1['data']),yield M(),av(),a3[bj(0x97)]=aa['getLayers'](),a5['value']='ready';}catch(aD){console['error'](aD),a5['value']='error',a6['value']=ag(aD)||'CAD\x20图纸解析失败';}}});return function(){return aA['apply'](this,arguments);};}()),ay=(function(){var aA=B(function*(){const bk=q;if(at()){yield ax();return;}a5['value']='loading',a6[bk(0x97)]='',ah();let aB=as()['slice'](0x0,0x6),aC=af[aB]?aB+'('+af[aB]+')':aB||bk(0xa3),aD=ar();if(aD){let aE=yield ap(aD);a7['value']=URL[bk(0xaf)](aE[bk(0x93)]),a8[bk(0x97)]='已从\x20DWG\x20二进制中提取内嵌预览图,版本\x20'+aC+'。'+(aE[bk(0xb0)]?'已自动裁剪空白边距,便于查看有效内容。':'')+'这是文件保存时写入的快照,不等同于完整\x20CAD\x20几何解析。',a5[bk(0x97)]=bk(0x9f);return;}a5['value']=bk(0x9a),a6[bk(0x97)]='DWG\x20是专有二进制\x20CAD\x20格式,当前\x20Apache-2.0\x20前端包未内置\x20GPL\x20或闭源\x20DWG\x20解码器;此文件也没有可提取的内嵌预览图。请在业务侧转换为\x20DXF\x20后预览,或接入私有服务端转换链路。检测到的版本为\x20'+aC+'。';});return function(){return aA['apply'](this,arguments);};}()),az=(function(){var aA=B(function*(){const bl=q;if(a1['type']['toLowerCase']()===bl(0xb1)){yield ay();return;}yield ax();});return function(){return aA['apply'](this,arguments);};}());return R(()=>{az();let aA=a2['value'];aA&&(ab=new ResizeObserver(()=>{aa==null||aa['resize'](),aa==null||aa['requestRender']();}),ab['observe'](aA));}),Q(()=>{ab==null||ab['disconnect'](),ab=null,aa==null||aa['destroy'](),aa=null,ah();}),(aA,aB)=>(U(),J('div',b,[K(b8(0x98),x,[K('div',S,[K('button',{'type':'button','class':N({'active':a4['value']==='pan'}),'onClick':aB[0x0]||(aB[0x0]=aC=>au('pan'))},'平移',0x2),K('button',{'type':'button','class':N({'active':a4['value']==='select'}),'onClick':aB[0x1]||(aB[0x1]=aC=>au('select'))},'选择',0x2),K('button',{'type':'button','class':N({'active':a4['value']==='measure'}),'onClick':aB[0x2]||(aB[0x2]=aC=>au('measure'))},'测量',0x2),K('button',{'type':'button','onClick':av},'适配'),a5['value']==='preview'?(U(),J(G,{'key':0x0},[K('button',{'type':'button','title':'缩小\x20DWG\x20预览','onClick':aB[0x3]||(aB[0x3]=aC=>ak(-0.15))},'-'),K('span',C,X(Math['round'](a9[b8(0x97)]*0x64))+'%',0x1),K(b8(0x9e),{'type':'button','title':b8(0xa1),'onClick':aB[0x4]||(aB[0x4]=aC=>ak(0.15))},'+')],0x40)):I('',!0x0)]),K(b8(0xab),null,X(a0['type']['toUpperCase']()),0x1)]),K('div',{'class':N([b8(0xa6),{'without-layers':!a3['value']['length']}])},[a3['value']['length']?(U(),J('aside',w,[(U(!0x0),J(G,null,W(a3['value'],aC=>(U(),J('button',{'key':aC[b8(0xa2)],'type':'button','class':N({'muted':aC[b8(0xa0)]}),'onClick':aD=>aw(aC)},X(aC[b8(0xa2)]),0xb,T))),0x80))])):I('',!0x0),K('div',E,[K(b8(0x94),{'ref_key':'canvas','ref':a2},null,0x200),a5['value']==='loading'?(U(),J('div',ee,'正在解析\x20CAD...')):a5['value']==='preview'?(U(),J('div',te,[K('div',ne,[K('img',{'src':a7['value'],'alt':'DWG\x20内嵌预览图','style':P(aj['value'])},null,0xc,D)]),K('p',null,X(a8['value']),0x1)])):a5['value']==='error'?(U(),J('div',O,X(a6['value']),0x1)):I('',!0x0)])],0x2)]));}}),[['__scopeId','data-v-4d603439']]);export{A as default};
@@ -1 +1 @@
1
- function b(){const a2=['&amp;','value','&gt;','css','sql','112623ykzYqT','diff','21475520IqvzOp','language-','split','522746aFoeMQ','highlight','2904282HbsRcg','markdown','1028001dZfIlY','toLowerCase','15LawnLh','code','json','2000096lYXWaA','2799948YLlKer'];b=function(){return a2;};return b();}(function(E,F){const Z=j,G=E();while(!![]){try{const H=-parseInt(Z(0x1f2))/0x1+parseInt(Z(0x1f9))/0x2+parseInt(Z(0x1fb))/0x3+parseInt(Z(0x200))/0x4*(parseInt(Z(0x1fd))/0x5)+parseInt(Z(0x201))/0x6+-parseInt(Z(0x1f7))/0x7+-parseInt(Z(0x1f4))/0x8;if(H===F)break;else G['push'](G['shift']());}catch(I){G['push'](G['shift']());}}}(b,0xd93c5));import{n as k,t}from'./asyncToGenerator.js';import{t as q}from'./_plugin-vue_export-helper.js';function j(a,c){a=a-0x1f1;const d=b();let e=d[a];return e;}import{computed as v,createElementBlock as w,createElementVNode as x,defineComponent as y,normalizeClass as z,openBlock as A,ref as B,toDisplayString as C,watch as D}from'vue';k();var f={'class':'code-viewer'},p={'class':'code-toolbar'},m={'class':'code-area'},h=['innerHTML'],g=q(y({'__name':'CodeViewer','props':{'value':{},'type':{}},'setup'(E){const a0=j;let F=E,G={'bash':'bash','c':'cpp','cc':'cpp','cjs':'javascript','cpp':'cpp','cs':'csharp','css':a0(0x205),'diff':a0(0x1f3),'go':'go','h':'cpp','hpp':'cpp','html':'xml','htm':'xml','ini':'ini','java':'java','js':'javascript','json':a0(0x1ff),'jsx':'javascript','log':'plaintext','md':a0(0x1fa),'markdown':a0(0x1fa),'mjs':'javascript','php':'php','py':'python','rs':'rust','sh':'bash','sql':a0(0x1f1),'ts':'typescript','tsx':'typescript','txt':'plaintext','vue':'xml','xml':'xml','yaml':'yaml','yml':'yaml'},H={'bash':()=>import('./bash.js'),'cpp':()=>import('./cpp.js'),'csharp':()=>import('./csharp.js'),'css':()=>import('./css.js'),'diff':()=>import('./diff.js'),'go':()=>import('./go.js'),'ini':()=>import('./ini.js'),'java':()=>import('./java.js'),'javascript':()=>import('./javascript.js'),'json':()=>import('./json.js'),'markdown':()=>import('./markdown.js'),'php':()=>import('./php.js'),'python':()=>import('./python.js'),'rust':()=>import('./rust.js'),'sql':()=>import('./sql.js'),'typescript':()=>import('./typescript.js'),'xml':()=>import('./xml.js'),'yaml':()=>import('./yaml.js')},I=null,J=new Set(),K=(function(){var R=t(function*(){return I||(I=import('./core.js').then(U=>U['default'])),I;});return function(){return R['apply'](this,arguments);};}()),L=(function(){var R=t(function*(U,V){if(J['has'](V))return!0x0;let W=H[V];if(!W)return!0x1;let {default:X}=yield W();return U['registerLanguage'](V,X),J['add'](V),!0x0;});return function(U,V){return R['apply'](this,arguments);};}()),M=v(()=>G[F['type'][a0(0x1fc)]()]||'plaintext'),N=R=>R['replace'](/[&<>"']/g,U=>({'&':a0(0x202),'<':'&lt;','>':a0(0x204),'\x22':'&quot;','\x27':'&#39;'}[U])),O=B(''),P=0x0;D(()=>[F[a0(0x203)],M['value']],(function(){var R=t(function*(){const a1=j;let U=++P,V=M['value'];if(V==='plaintext'){O['value']=N(F['value']);return;}try{let W=yield K(),X=yield L(W,V);if(U!==P)return;O['value']=X?W[a1(0x1f8)](F['value'],{'language':V,'ignoreIllegals':!0x0})[a1(0x203)]:N(F['value']);}catch(Y){U===P&&(O['value']=N(F['value']));}});return function(){return R['apply'](this,arguments);};}()),{'immediate':!0x0});let Q=v(()=>F['value'][a0(0x1f6)](/\r\n|\r|\n/)['length']);return(R,U)=>(A(),w('div',f,[x('div',p,[x('span',null,C(E['type']['toUpperCase']()),0x1),x('strong',null,C(Q['value'])+'\x20lines',0x1)]),x('pre',m,[x(a0(0x1fe),{'class':z(['hljs',a0(0x1f5)+M['value']]),'innerHTML':O['value']},null,0xa,h)])]));}}),[['__scopeId','data-v-81405bd8']]);export{g as default};
1
+ const a0=j;(function(E,F){const Z=j,G=E();while(!![]){try{const H=parseInt(Z(0x1e7))/0x1*(parseInt(Z(0x1e4))/0x2)+-parseInt(Z(0x1ef))/0x3+parseInt(Z(0x1e9))/0x4*(-parseInt(Z(0x1e5))/0x5)+parseInt(Z(0x1ed))/0x6*(parseInt(Z(0x1de))/0x7)+-parseInt(Z(0x1f1))/0x8*(-parseInt(Z(0x1dd))/0x9)+parseInt(Z(0x1e2))/0xa*(parseInt(Z(0x1f3))/0xb)+-parseInt(Z(0x1ec))/0xc;if(H===F)break;else G['push'](G['shift']());}catch(I){G['push'](G['shift']());}}}(b,0xbe615));import{n as k,t}from'./asyncToGenerator.js';import{t as q}from'./_plugin-vue_export-helper.js';import{computed as v,createElementBlock as w,createElementVNode as x,defineComponent as y,normalizeClass as z,openBlock as A,ref as B,toDisplayString as C,watch as D}from'vue';k();var f={'class':a0(0x1e1)},p={'class':'code-toolbar'},m={'class':'code-area'},h=['innerHTML'],g=q(y({'__name':a0(0x1e3),'props':{'value':{},'type':{}},'setup'(E){const a1=a0;let F=E,G={'bash':'bash','c':'cpp','cc':a1(0x1ea),'cjs':a1(0x1f2),'cpp':'cpp','cs':'csharp','css':'css','diff':'diff','go':'go','h':a1(0x1ea),'hpp':'cpp','html':'xml','htm':a1(0x1e8),'ini':'ini','java':'java','js':'javascript','json':'json','jsx':'javascript','log':'plaintext','md':'markdown','markdown':'markdown','mjs':'javascript','php':'php','py':a1(0x1ee),'rs':'rust','sh':'bash','sql':'sql','ts':'typescript','tsx':'typescript','txt':'plaintext','vue':a1(0x1e8),'xml':'xml','yaml':'yaml','yml':a1(0x1f0)},H={'bash':()=>import('./bash.js'),'cpp':()=>import('./cpp.js'),'csharp':()=>import('./csharp.js'),'css':()=>import('./css.js'),'diff':()=>import('./diff.js'),'go':()=>import('./go.js'),'ini':()=>import('./ini.js'),'java':()=>import('./java.js'),'javascript':()=>import('./javascript.js'),'json':()=>import('./json.js'),'markdown':()=>import('./markdown.js'),'php':()=>import('./php.js'),'python':()=>import('./python.js'),'rust':()=>import('./rust.js'),'sql':()=>import('./sql.js'),'typescript':()=>import('./typescript.js'),'xml':()=>import('./xml.js'),'yaml':()=>import('./yaml.js')},I=null,J=new Set(),K=(function(){var R=t(function*(){return I||(I=import('./core.js').then(U=>U['default'])),I;});return function(){return R['apply'](this,arguments);};}()),L=(function(){var R=t(function*(U,V){if(J['has'](V))return!0x0;let W=H[V];if(!W)return!0x1;let {default:X}=yield W();return U['registerLanguage'](V,X),J['add'](V),!0x0;});return function(U,V){return R['apply'](this,arguments);};}()),M=v(()=>G[F[a1(0x1e6)]['toLowerCase']()]||'plaintext'),N=R=>R['replace'](/[&<>"']/g,U=>({'&':'&amp;','<':'&lt;','>':'&gt;','\x22':'&quot;','\x27':'&#39;'}[U])),O=B(''),P=0x0;D(()=>[F['value'],M['value']],(function(){var R=t(function*(){const a2=j;let U=++P,V=M['value'];if(V==='plaintext'){O['value']=N(F['value']);return;}try{let W=yield K(),X=yield L(W,V);if(U!==P)return;O['value']=X?W['highlight'](F[a2(0x1dc)],{'language':V,'ignoreIllegals':!0x0})['value']:N(F['value']);}catch(Y){U===P&&(O['value']=N(F[a2(0x1dc)]));}});return function(){return R['apply'](this,arguments);};}()),{'immediate':!0x0});let Q=v(()=>F[a1(0x1dc)]['split'](/\r\n|\r|\n/)['length']);return(R,U)=>(A(),w('div',f,[x('div',p,[x('span',null,C(E['type']['toUpperCase']()),0x1),x(a1(0x1e0),null,C(Q['value'])+'\x20lines',0x1)]),x('pre',m,[x('code',{'class':z([a1(0x1df),'language-'+M[a1(0x1dc)]]),'innerHTML':O[a1(0x1dc)]},null,0xa,h)])]));}}),[['__scopeId',a0(0x1eb)]]);function j(a,c){a=a-0x1dc;const d=b();let e=d[a];return e;}function b(){const a3=['type','2KKHvqB','xml','2744692EOCGtN','cpp','data-v-81405bd8','30583200gxNzSq','166884VuQzMb','python','139830zoJXDR','yaml','1410232fvMCEM','javascript','13489982yefXqT','value','54LxMYRw','154kepMri','hljs','strong','code-viewer','10QjlYmC','CodeViewer','1165236OFdulS','5cNXCjf'];b=function(){return a3;};return b();}export{g as default};