@flyfish-group/file-viewer-web 1.0.20 → 1.0.22
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.
- package/README.md +18 -4
- package/dist/index.d.ts +18 -0
- package/dist/index.js +50 -5
- package/package.json +1 -1
- package/viewer/assets/{3MFLoader-BLLnIDfF.js → 3MFLoader--yjh7udp.js} +1 -1
- package/viewer/assets/{AMFLoader-Co6GFjGd.js → AMFLoader-C0y7NIAO.js} +1 -1
- package/viewer/assets/ArchiveViewer-CPhpkbIj.js +1 -0
- package/viewer/assets/AudioViewer-B_qZjmsL.js +1 -0
- package/viewer/assets/CadViewer-DU2h_miC.js +1 -0
- package/viewer/assets/CodeViewer-CWJinXd-.css +1 -0
- package/viewer/assets/CodeViewer-n64org7g.js +2 -0
- package/viewer/assets/{ColladaLoader-DLsqbaWZ.js → ColladaLoader-DTiuvWJL.js} +1 -1
- package/viewer/assets/DrawingViewer-BsPDsvje.js +2 -0
- package/viewer/assets/EdaViewer-CRXNBqD8.js +8 -0
- package/viewer/assets/EmailViewer-BdKEJv7y.js +4 -0
- package/viewer/assets/EpubViewer-wPFt5vlJ.js +2 -0
- package/viewer/assets/{FBXLoader-CDJxWnMq.js → FBXLoader-Bj34Z_uf.js} +1 -1
- package/viewer/assets/{GLTFLoader-tdpRj7x3.js → GLTFLoader-BNUIXeRP.js} +1 -1
- package/viewer/assets/ImageViewer-3xUYPq4w.js +1 -0
- package/viewer/assets/{KMZLoader-Co2u3IuK.js → KMZLoader-DTmXWzX_.js} +1 -1
- package/viewer/assets/{MarkdownViewer-oNfC_8ZI.js → MarkdownViewer-DUe9OWgX.js} +19 -19
- package/viewer/assets/{MarkdownViewer-eiSmDN4C.css → MarkdownViewer-DfpNPUlw.css} +1 -1
- package/viewer/assets/ModelViewer-LeKRgAjH.js +2 -0
- package/viewer/assets/{OBJLoader-CIcUmaIR.js → OBJLoader-DW4Mv-mq.js} +1 -1
- package/viewer/assets/OfdViewer-yYh014I9.js +2 -0
- package/viewer/assets/{PCDLoader-Ckik2ZNQ.js → PCDLoader-CHA1g8rk.js} +1 -1
- package/viewer/assets/{PLYLoader-CpoozyyG.js → PLYLoader-DwTzA-Dg.js} +1 -1
- package/viewer/assets/{PdfView-d7S_ChQk.css → PdfView-CtiDN2FA.css} +1 -1
- package/viewer/assets/PdfView-qL9biz6K.js +558 -0
- package/viewer/assets/{PptxRender-BQ5mqB0E.css → PptxRender-CbGXiqYZ.css} +1 -1
- package/viewer/assets/PptxRender-CgGc0Lmd.js +32 -0
- package/viewer/assets/{STLLoader--ClWNq9A.js → STLLoader-Bt7FMgMu.js} +1 -1
- package/viewer/assets/{TDSLoader-Dat6-0hj.js → TDSLoader-D__OhSS9.js} +1 -1
- package/viewer/assets/TypstViewer-BWfhuA9V.js +60 -0
- package/viewer/assets/TypstViewer-DGGaqvFG.css +1 -0
- package/viewer/assets/{USDLoader-D5bNRrcv.js → USDLoader-BovI5HgZ.js} +1 -1
- package/viewer/assets/UmdViewer-BQg9tWl-.js +3 -0
- package/viewer/assets/{VRMLLoader-Cc44JIu6.js → VRMLLoader-_VxVXPvX.js} +13 -13
- package/viewer/assets/{VTKLoader-B7r87HF1.js → VTKLoader-BfnzBXsa.js} +1 -1
- package/viewer/assets/{XYZLoader-D0wrbuYP.js → XYZLoader-DbQZs-aZ.js} +1 -1
- package/viewer/assets/{XlsxTable-Dw0Jcxvw.js → XlsxTable-weyE_CEp.js} +4 -4
- package/viewer/assets/__vite-browser-external-BEGdo7Ij.js +1 -0
- package/viewer/assets/{ar-SA-G6X2FPQ2-BFhEDKSC.js → ar-SA-G6X2FPQ2-Ct8pPIA9.js} +1 -1
- package/viewer/assets/{arc-Dimj_7G-.js → arc-C_eH0vTw.js} +1 -1
- package/viewer/assets/architecture-7EHR7CIX-BTlHPVaJ.js +1 -0
- package/viewer/assets/architectureDiagram-3BPJPVTR-B-eDaTQ2.js +36 -0
- package/viewer/assets/archive-DwmH2EER.js +2 -0
- package/viewer/assets/audio-DP7_SHBq.js +2 -0
- package/viewer/assets/{az-AZ-76LH7QW2-X4BKx5b-.js → az-AZ-76LH7QW2-CzGVqBxA.js} +1 -1
- package/viewer/assets/{bg-BG-XCXSNQG7-5o1TFhxr.js → bg-BG-XCXSNQG7-BC1WHeuj.js} +1 -1
- package/viewer/assets/{blockDiagram-GPEHLZMM-BaxQac23.js → blockDiagram-GPEHLZMM-CzYTB9qf.js} +1 -1
- package/viewer/assets/{bn-BD-2XOGV67Q-BmHkUh14.js → bn-BD-2XOGV67Q-oDxumlGl.js} +1 -1
- package/viewer/assets/{c4Diagram-AAUBKEIU-DlQu80c9.js → c4Diagram-AAUBKEIU-Ce3rQlcz.js} +1 -1
- package/viewer/assets/{ca-ES-6MX7JW3Y-BppuWJIV.js → ca-ES-6MX7JW3Y-DlRpGNhJ.js} +1 -1
- package/viewer/assets/cad-S62Z1ew-.js +2 -0
- package/viewer/assets/cfb-BzFYazhG.js +11 -0
- package/viewer/assets/channel-DdWUR2sn.js +1 -0
- package/viewer/assets/{chunk-2J33WTMH-DJMn9D2P.js → chunk-2J33WTMH-sJnJZdWK.js} +1 -1
- package/viewer/assets/{chunk-3OPIFGDE-D3k-y1T_.js → chunk-3OPIFGDE-Dy9HIqGz.js} +1 -1
- package/viewer/assets/{chunk-4BX2VUAB-D9CCa3ZN.js → chunk-4BX2VUAB-_gCngxqj.js} +1 -1
- package/viewer/assets/chunk-55IACEB6-DJVZWNP2.js +1 -0
- package/viewer/assets/{chunk-5ZQYHXKU-Dt0AW7Zd.js → chunk-5ZQYHXKU-BmHYmhZg.js} +1 -1
- package/viewer/assets/{chunk-727SXJPM-ynA6Cu0a.js → chunk-727SXJPM-Bat8V6oA.js} +1 -1
- package/viewer/assets/chunk-AGHRB4JF-N1YYSFfw.js +1 -0
- package/viewer/assets/{chunk-AQP2D5EJ-DoPeDIuu.js → chunk-AQP2D5EJ-1mc6GFJc.js} +1 -1
- package/viewer/assets/{chunk-BSJP7CBP-KzA514ql.js → chunk-BSJP7CBP-B5-KaGur.js} +1 -1
- package/viewer/assets/{chunk-CSCIHK7Q-BejYIrDO.js → chunk-CSCIHK7Q-B8WcTeuL.js} +2 -2
- package/viewer/assets/{chunk-EIO257PC-KzrtKBd7.js → chunk-EIO257PC-DamrG-x6.js} +7 -7
- package/viewer/assets/{chunk-FMBD7UC4-CrxD0CA5.js → chunk-FMBD7UC4-UHfET5Yn.js} +1 -1
- package/viewer/assets/chunk-K2UTITRG-CW6VmW0l.js +35 -0
- package/viewer/assets/{chunk-KSCS5N6A-DW6DrVYV.js → chunk-KSCS5N6A-D-BXbKOk.js} +1 -1
- package/viewer/assets/{chunk-L5ZTLDWV-GaltCiZi.js → chunk-L5ZTLDWV-CMDQijEU.js} +1 -1
- package/viewer/assets/chunk-LZXEDZCA-C3SSYZJ5.js +2 -0
- package/viewer/assets/{chunk-ND2GUHAM-Dkwaucui.js → chunk-ND2GUHAM-Vx_Lzab7.js} +1 -1
- package/viewer/assets/chunk-NNHCCRGN-DlpIbxXb.js +159 -0
- package/viewer/assets/{chunk-NZK2D7GU-BXZ5n5sm.js → chunk-NZK2D7GU-grlSNYf9.js} +1 -1
- package/viewer/assets/{chunk-O5CBEL6O-BJuZKW5r.js → chunk-O5CBEL6O-MjJGEUAK.js} +1 -1
- package/viewer/assets/chunk-QZHKN3VN-BsA9NQqS.js +1 -0
- package/viewer/assets/chunk-SRAX5OIU-WEWN8Pf_.js +1 -0
- package/viewer/assets/chunk-WU5MYG2G-CpDqo4az.js +1 -0
- package/viewer/assets/{chunk-XPW4576I-pnqD549R.js → chunk-XPW4576I-CSqlWRxK.js} +1 -1
- package/viewer/assets/classDiagram-4FO5ZUOK-CNHAm630.js +1 -0
- package/viewer/assets/classDiagram-v2-Q7XG4LA2-CNHAm630.js +1 -0
- package/viewer/assets/compare-BDsbatdp.css +1 -0
- package/viewer/assets/compare-Bfimd92S.js +1 -0
- package/viewer/assets/{compiler-Qh6d_b5m.js → compiler-BV9U7LKi.js} +1 -1
- package/viewer/assets/core-CxoxnOTi.js +3 -0
- package/viewer/assets/cose-bilkent-S5V4N54A-COeDszYN.js +1 -0
- package/viewer/assets/cpp-V0F2hNk9.js +1 -0
- package/viewer/assets/{cs-CZ-2BRQDIVT-DuBx-KE8.js → cs-CZ-2BRQDIVT-C_SPqQME.js} +1 -1
- package/viewer/assets/{cytoscape.esm-BsFEMzg7.js → cytoscape.esm-C8YCVR3_.js} +2 -2
- package/viewer/assets/{da-DK-5WZEPLOC-D__2K29n.js → da-DK-5WZEPLOC-CEZavbB3.js} +1 -1
- package/viewer/assets/{dagre-BM42HDAG-Dw1xNQJG.js → dagre-BM42HDAG-lquvmcKk.js} +1 -1
- package/viewer/assets/{dagre-D0es08Si.js → dagre-Bx709z4p.js} +1 -1
- package/viewer/assets/{de-DE-XR44H4JA-Bk-_VAqx.js → de-DE-XR44H4JA-D2nL0tOJ.js} +1 -1
- package/viewer/assets/{diagram-2AECGRRQ-CubhPlh2.js → diagram-2AECGRRQ-BgQ_zxBV.js} +1 -1
- package/viewer/assets/{diagram-5GNKFQAL-lcCwHKpr.js → diagram-5GNKFQAL-BC3w3tNm.js} +1 -1
- package/viewer/assets/{diagram-KO2AKTUF-DobOKV0C.js → diagram-KO2AKTUF-D3cznkJB.js} +1 -1
- package/viewer/assets/{diagram-LMA3HP47-BtrCo4rD.js → diagram-LMA3HP47--wquG14e.js} +1 -1
- package/viewer/assets/{diagram-OG6HWLK6-C0AEdDFW.js → diagram-OG6HWLK6-C_POLZjQ.js} +1 -1
- package/viewer/assets/{directory-open-4ed118d0-CTCUDMMl.js → directory-open-4ed118d0-1i309Asm.js} +1 -1
- package/viewer/assets/{dist-Ddjj4E9h.js → dist-BPGt6zWy.js} +5 -5
- package/viewer/assets/dist-BT9pIsX0.js +1 -0
- package/viewer/assets/docx-preview-DdnRdWo4.js +20 -0
- package/viewer/assets/drawing-CMJwN97z.js +2 -0
- package/viewer/assets/ebook-DMvVt15d.js +2 -0
- package/viewer/assets/eda-DBL4Aevf.js +2 -0
- package/viewer/assets/{el-GR-BZB4AONW-ClFE4N7r.js → el-GR-BZB4AONW-Dj2P_01-.js} +1 -1
- package/viewer/assets/email-DeRFcYIE.js +2 -0
- package/viewer/assets/{en-B4ZKOASM-DBe8Q8-a.js → en-B4ZKOASM-C1I96dn5.js} +1 -1
- package/viewer/assets/{erDiagram-TEJ5UH35-B2m2BuHV.js → erDiagram-TEJ5UH35-DJEqPp7l.js} +1 -1
- package/viewer/assets/{es-ES-U4NZUMDT-wL5hCh7L.js → es-ES-U4NZUMDT-DrUBr8IT.js} +1 -1
- package/viewer/assets/{eu-ES-A7QVB2H4-DeE2jNFU.js → eu-ES-A7QVB2H4-C-B8VObw.js} +1 -1
- package/viewer/assets/eventmodeling-FCH6USID-B7JUE007.js +1 -0
- package/viewer/assets/{fa-IR-HGAKTJCU-D82MLeqy.js → fa-IR-HGAKTJCU-D2fbIqFb.js} +1 -1
- package/viewer/assets/{fi-FI-Z5N7JZ37-lO7MSiJw.js → fi-FI-Z5N7JZ37-ljqLaVsp.js} +1 -1
- package/viewer/assets/{flowDiagram-I6XJVG4X-CeEbcFuy.js → flowDiagram-I6XJVG4X-Brfn5DdP.js} +2 -2
- package/viewer/assets/{fr-FR-RHASNOE6-DgX1wyXR.js → fr-FR-RHASNOE6-So7R4D2i.js} +1 -1
- package/viewer/assets/{ganttDiagram-6RSMTGT7-B03SOSpP.js → ganttDiagram-6RSMTGT7-DdIjVTfn.js} +1 -1
- package/viewer/assets/gitGraph-WXDBUCRP-oU5uBMJp.js +1 -0
- package/viewer/assets/{gitGraphDiagram-PVQCEYII-mHEQgNfb.js → gitGraphDiagram-PVQCEYII-5HIom59P.js} +1 -1
- package/viewer/assets/{gl-ES-HMX3MZ6V-9KoX61Oe.js → gl-ES-HMX3MZ6V-C7WCIWks.js} +1 -1
- package/viewer/assets/{he-IL-6SHJWFNN-69L5ObUT.js → he-IL-6SHJWFNN-EBe1DN0h.js} +1 -1
- package/viewer/assets/{hi-IN-IWLTKZ5I-D0f5F2Wb.js → hi-IN-IWLTKZ5I-BKN0Rgs4.js} +1 -1
- package/viewer/assets/{hu-HU-A5ZG7DT2-Rjx2yH6Q.js → hu-HU-A5ZG7DT2-B0fRz8s0.js} +1 -1
- package/viewer/assets/{id-ID-SAP4L64H-qMtwIenq.js → id-ID-SAP4L64H-D-3naLhp.js} +1 -1
- package/viewer/assets/image-Cr2N5G2B.js +2 -0
- package/viewer/assets/image-GAAHSSAO-fNZpvZ4Y.js +1 -0
- package/viewer/assets/info-J43DQDTF-Cj7_d75e.js +1 -0
- package/viewer/assets/{infoDiagram-5YYISTIA-CNXh2C8P.js → infoDiagram-5YYISTIA-BFSVMUo8.js} +1 -1
- package/viewer/assets/{ishikawaDiagram-YF4QCWOH-CcEwHo89.js → ishikawaDiagram-YF4QCWOH-yoVOo1dl.js} +1 -1
- package/viewer/assets/{it-IT-JPQ66NNP-CZ0glSTd.js → it-IT-JPQ66NNP-BAUX4Gc2.js} +1 -1
- package/viewer/assets/{ja-JP-DBVTYXUO-D_g1i_kv.js → ja-JP-DBVTYXUO-DI1TIyfM.js} +1 -1
- package/viewer/assets/java-ChVphriW.js +1 -0
- package/viewer/assets/javascript-w9aIBC1S.js +1 -0
- package/viewer/assets/{journeyDiagram-JHISSGLW-Bdq1KGcd.js → journeyDiagram-JHISSGLW-Bbi4OnEP.js} +1 -1
- package/viewer/assets/{jszip.min-2KGdI7OW.js → jszip.min-9ZVZbTBP.js} +1 -1
- package/viewer/assets/{kaa-6HZHGXH3-Ciy4tIWa.js → kaa-6HZHGXH3-CDl8fx0o.js} +1 -1
- package/viewer/assets/{kab-KAB-ZGHBKWFO-DStCEYdM.js → kab-KAB-ZGHBKWFO-DpRjaTvY.js} +1 -1
- package/viewer/assets/{kanban-definition-UN3LZRKU-DKeeGN4i.js → kanban-definition-UN3LZRKU-CjkfgLaF.js} +1 -1
- package/viewer/assets/{kk-KZ-P5N5QNE5-CpgZ8UeG.js → kk-KZ-P5N5QNE5-zK-_fVIW.js} +1 -1
- package/viewer/assets/{km-KH-HSX4SM5Z-0OSO_DJy.js → km-KH-HSX4SM5Z-DehsMGky.js} +1 -1
- package/viewer/assets/{ko-KR-MTYHY66A-B4fUmV2s.js → ko-KR-MTYHY66A-MXYhOsjv.js} +1 -1
- package/viewer/assets/{ku-TR-6OUDTVRD-D_CCtBZL.js → ku-TR-6OUDTVRD-C7q1COiN.js} +1 -1
- package/viewer/assets/{lib-6sh2y9xa.js → lib-DIWU3KRt.js} +2 -2
- package/viewer/assets/{linear-CjCAJGt1.js → linear-DAeDjlp3.js} +1 -1
- package/viewer/assets/{lt-LT-XHIRWOB4-CnSvxOcs.js → lt-LT-XHIRWOB4-DdM8RTKz.js} +1 -1
- package/viewer/assets/{lv-LV-5QDEKY6T-yIZXLULP.js → lv-LV-5QDEKY6T-JLG8FSEV.js} +1 -1
- package/viewer/assets/main-CKt4m6T4.js +4 -0
- package/viewer/assets/main-Qy_H7MQU.css +1 -0
- package/viewer/assets/md-wWevhORM.js +2 -0
- package/viewer/assets/mermaid-parser.core-BENCcCsY.js +4 -0
- package/viewer/assets/{mindmap-definition-RKZ34NQL-bEw579ip.js → mindmap-definition-RKZ34NQL-Da3VSyjd.js} +1 -1
- package/viewer/assets/model-Bdx2Fqb-.js +2 -0
- package/viewer/assets/{mr-IN-CRQNXWMA-DzxKpSKQ.js → mr-IN-CRQNXWMA-CVFsyXLA.js} +1 -1
- package/viewer/assets/{my-MM-5M5IBNSE-CETT4oOr.js → my-MM-5M5IBNSE-D0d4LZCZ.js} +1 -1
- package/viewer/assets/{nb-NO-T6EIAALU-CAnmje1E.js → nb-NO-T6EIAALU-zKIQ8i0_.js} +1 -1
- package/viewer/assets/nestedRender-BecIPX74.js +3 -0
- package/viewer/assets/{nl-NL-IS3SIHDZ-CYiI_F71.js → nl-NL-IS3SIHDZ-nx6qzVMe.js} +1 -1
- package/viewer/assets/{nn-NO-6E72VCQL-DfK33vgs.js → nn-NO-6E72VCQL-DlUCFzXM.js} +1 -1
- package/viewer/assets/{oc-FR-POXYY2M6-rsDUyd92.js → oc-FR-POXYY2M6-B_FaqiYz.js} +1 -1
- package/viewer/assets/ofd-C8N_zW41.js +2 -0
- package/viewer/assets/{ofd-BxyAgdTZ.js → ofd-CmAfXjFW.js} +4 -4
- package/viewer/assets/{ordinal-CEZ33b-s.js → ordinal-hYBb2elL.js} +1 -1
- package/viewer/assets/{pa-IN-N4M65BXN-D3fxb7s8.js → pa-IN-N4M65BXN-YH5GORnI.js} +1 -1
- package/viewer/assets/package-D9RNadqh.js +296 -0
- package/viewer/assets/package-Dwgf8BpP.css +1 -0
- package/viewer/assets/packet-YPE3B663-CbkeKKRx.js +1 -0
- package/viewer/assets/pdf-ENBCQnjn.js +2 -0
- package/viewer/assets/percentages-BXMCSKIN-d_HmO-5v.js +1 -0
- package/viewer/assets/pica-BnQTSY_g.js +2 -0
- package/viewer/assets/{pie-DUmD7IHG.js → pie-CZr-MxNa.js} +1 -1
- package/viewer/assets/pie-LRSECV5Y-DtfPCqZg.js +1 -0
- package/viewer/assets/{pieDiagram-4H26LBE5-DRm24cUR.js → pieDiagram-4H26LBE5-DKuS6vJG.js} +1 -1
- package/viewer/assets/{pl-PL-T2D74RX3-Dcj-mgYc.js → pl-PL-T2D74RX3-BmZoKFT7.js} +1 -1
- package/viewer/assets/pptx-CJoRHTVc.js +2 -0
- package/viewer/assets/{prod-Be_zziKY.js → prod-DPLJAbJU.js} +8 -8
- package/viewer/assets/{pt-BR-5N22H2LF-BC6AJ2XQ.js → pt-BR-5N22H2LF-sN9sRoQ_.js} +1 -1
- package/viewer/assets/{pt-PT-UZXXM6DQ-BQRA2Ei2.js → pt-PT-UZXXM6DQ-CY-MOlkp.js} +1 -1
- package/viewer/assets/{quadrantDiagram-W4KKPZXB-Cpex5d0w.js → quadrantDiagram-W4KKPZXB-NwMS_YqW.js} +1 -1
- package/viewer/assets/radar-GUYGQ44K-DOIjAHXC.js +1 -0
- package/viewer/assets/renderer-CtCQDwvN.js +1 -0
- package/viewer/assets/{requirementDiagram-4Y6WPE33-Bi-Gqe6A.js → requirementDiagram-4Y6WPE33-sPbqvYv9.js} +1 -1
- package/viewer/assets/{ro-RO-JPDTUUEW-ChYTHueN.js → ro-RO-JPDTUUEW-CR28nHgw.js} +1 -1
- package/viewer/assets/rough.esm-C4Phtcrp.js +1 -0
- package/viewer/assets/{ru-RU-B4JR7IUQ-Bx00WSTh.js → ru-RU-B4JR7IUQ-CGKVxm63.js} +1 -1
- package/viewer/assets/rust-Dk33Kfe-.js +1 -0
- package/viewer/assets/{sankeyDiagram-5OEKKPKP-84kfwo8z.js → sankeyDiagram-5OEKKPKP-C50FIC8Y.js} +1 -1
- package/viewer/assets/{sequenceDiagram-3UESZ5HK-BBMDtPQb.js → sequenceDiagram-3UESZ5HK-Bi1R7g7S.js} +2 -2
- package/viewer/assets/{si-LK-N5RQ5JYF-BLYCVFa-.js → si-LK-N5RQ5JYF-BW7AdTgs.js} +1 -1
- package/viewer/assets/{sk-SK-C5VTKIMK-BdHbc0aq.js → sk-SK-C5VTKIMK-B9b1lWlx.js} +1 -1
- package/viewer/assets/{sl-SI-NN7IZMDC-yEFJ1FCu.js → sl-SI-NN7IZMDC-DOPNH4Mv.js} +1 -1
- package/viewer/assets/{src-DJvfcK9f.js → src-D_WiFutn.js} +5 -5
- package/viewer/assets/{stateDiagram-AJRCARHV-DpWMSn6f.js → stateDiagram-AJRCARHV-laY9nBdY.js} +1 -1
- package/viewer/assets/stateDiagram-v2-BHNVJYJU-D-TcJvmH.js +1 -0
- package/viewer/assets/subset-shared.chunk-BMWMi2iF.js +1 -0
- package/viewer/assets/{subset-worker.chunk-bqXfw36l.js → subset-worker.chunk-CvvTW5M7.js} +1 -1
- package/viewer/assets/{sv-SE-XGPEYMSR-LJunb4rU.js → sv-SE-XGPEYMSR-CPLWZrAn.js} +1 -1
- package/viewer/assets/{ta-IN-2NMHFXQM-C9tS4YNI.js → ta-IN-2NMHFXQM-D55L614R.js} +1 -1
- package/viewer/assets/text-DQQak32L.js +2 -0
- package/viewer/assets/{th-TH-HPSO5L25-pB850Qy6.js → th-TH-HPSO5L25-D3MPD0Md.js} +1 -1
- package/viewer/assets/{three.module-DGhmpURB.js → three.module-BFsVh7r1.js} +3 -3
- package/viewer/assets/{time-0omzMTb_.js → time-B8nkukJS.js} +1 -1
- package/viewer/assets/{timeline-definition-PNZ67QCA-DeHl9yso.js → timeline-definition-PNZ67QCA-DqotLxx2.js} +1 -1
- package/viewer/assets/{tr-TR-DEFEU3FU-BfsnnzYD.js → tr-TR-DEFEU3FU-Q8xsSXAo.js} +1 -1
- package/viewer/assets/treeView-BLDUP644-CPi2xY7A.js +1 -0
- package/viewer/assets/treemap-LRROVOQU-C8Mj1X4O.js +1 -0
- package/viewer/assets/typescript-BvteI6YB.js +1 -0
- package/viewer/assets/typst-LCgT-gly.js +2 -0
- package/viewer/assets/{uk-UA-QMV73CPH-hozuzLQP.js → uk-UA-QMV73CPH-Dnl8D1p8.js} +1 -1
- package/viewer/assets/umd--jna8_t9.js +2 -0
- package/viewer/assets/{vennDiagram-CIIHVFJN-ntTg_y9t.js → vennDiagram-CIIHVFJN-BIkyq-4v.js} +2 -2
- package/viewer/assets/{vi-VN-M7AON7JQ-D-o2NbvO.js → vi-VN-M7AON7JQ-DQI4i_hS.js} +1 -1
- package/viewer/assets/wardley-L42UT6IY-DJWWSlJn.js +1 -0
- package/viewer/assets/{wardleyDiagram-YWT4CUSO-XxEarUzP.js → wardleyDiagram-YWT4CUSO-2IdxQGv-.js} +1 -1
- package/viewer/assets/{word-C1KqDob2.js → word-TCDf8xQo.js} +3 -3
- package/viewer/assets/xlsx-D3PqLMcm.js +2 -0
- package/viewer/assets/{xychartDiagram-2RQKCTM6-CD_eFT84.js → xychartDiagram-2RQKCTM6-Bks5TALn.js} +1 -1
- package/viewer/assets/yaml-1XF8XcZB.js +1 -0
- package/viewer/assets/{zh-CN-LNUGB5OW-BGtuRT1n.js → zh-CN-LNUGB5OW-ByzhDQAP.js} +1 -1
- package/viewer/assets/{zh-HK-E62DVLB3-YIetx3Of.js → zh-HK-E62DVLB3-Dyd19evA.js} +1 -1
- package/viewer/assets/{zh-TW-RAJ6MFWO-ZHpfnA6Q.js → zh-TW-RAJ6MFWO-D2sseOtI.js} +1 -1
- package/viewer/compare.html +19 -0
- package/viewer/flyfish-viewer-manifest.json +1 -1
- package/viewer/index.html +5 -2
- package/viewer/assets/ArchiveViewer-BMJ8ixUE.js +0 -1
- package/viewer/assets/AudioViewer-CDHIKRNg.js +0 -1
- package/viewer/assets/CadViewer-DHqSLOq3.js +0 -1
- package/viewer/assets/CodeViewer-KlbtXDJA.css +0 -1
- package/viewer/assets/CodeViewer-elZC5_N5.js +0 -2
- package/viewer/assets/DrawingViewer-BtxOj-Gs.js +0 -2
- package/viewer/assets/EdaViewer-CkERmUTW.js +0 -8
- package/viewer/assets/EmailViewer-DHtoEemj.js +0 -4
- package/viewer/assets/EpubViewer-C-y1Yxuf.js +0 -2
- package/viewer/assets/ImageViewer-CkbkF92U.js +0 -1
- package/viewer/assets/ModelViewer-gMxpjdoy.js +0 -2
- package/viewer/assets/OfdViewer-B431vHsV.js +0 -2
- package/viewer/assets/PdfView-CoVz5YgH.js +0 -558
- package/viewer/assets/PptxRender-NZXFW_yB.js +0 -32
- package/viewer/assets/TypstViewer-BgO4CftA.js +0 -60
- package/viewer/assets/TypstViewer-CYzlZT3R.css +0 -1
- package/viewer/assets/UmdViewer-DOnvsKP9.js +0 -3
- package/viewer/assets/architecture-7EHR7CIX-DZ0FMAJv.js +0 -1
- package/viewer/assets/architectureDiagram-3BPJPVTR-7Bjepzmi.js +0 -36
- package/viewer/assets/archive-DQ5P8M1W.js +0 -2
- package/viewer/assets/audio-Bkx6GgKW.js +0 -2
- package/viewer/assets/cad-CvbH3H5s.js +0 -2
- package/viewer/assets/cfb-z-t_baTx.js +0 -11
- package/viewer/assets/channel-DSRv-gEi.js +0 -1
- package/viewer/assets/chunk-55IACEB6-BxMlg3uk.js +0 -1
- package/viewer/assets/chunk-AGHRB4JF-CGwx4hVn.js +0 -1
- package/viewer/assets/chunk-K2UTITRG-DXfKb63q.js +0 -35
- package/viewer/assets/chunk-LZXEDZCA-Ad0rMmnf.js +0 -2
- package/viewer/assets/chunk-QZHKN3VN-Ctvlkpgr.js +0 -1
- package/viewer/assets/chunk-SRAX5OIU-ca-Jd-qc.js +0 -1
- package/viewer/assets/chunk-WU5MYG2G-DBI7WOLB.js +0 -1
- package/viewer/assets/classDiagram-4FO5ZUOK-DFuDCleV.js +0 -1
- package/viewer/assets/classDiagram-v2-Q7XG4LA2-D5AtHBzM.js +0 -1
- package/viewer/assets/core-Dw5gmsJk.js +0 -3
- package/viewer/assets/cose-bilkent-S5V4N54A-COdvc8g3.js +0 -1
- package/viewer/assets/cpp-CzPJnyWn.js +0 -1
- package/viewer/assets/dist-Dj6dnR61.js +0 -1
- package/viewer/assets/docx-preview-QBQnGzxq.js +0 -20
- package/viewer/assets/drawing-Bf13GcVj.js +0 -2
- package/viewer/assets/ebook-B8feQEjI.js +0 -2
- package/viewer/assets/eda-DgG7ZdZb.js +0 -2
- package/viewer/assets/email-C6R5vWPC.js +0 -2
- package/viewer/assets/eventmodeling-FCH6USID-DAUOWXUA.js +0 -1
- package/viewer/assets/gitGraph-WXDBUCRP-B9WMYi3w.js +0 -1
- package/viewer/assets/image-Cd_jEwgA.js +0 -2
- package/viewer/assets/image-GAAHSSAO-CB1oJrYk.js +0 -1
- package/viewer/assets/index-Da-_mMtb.css +0 -1
- package/viewer/assets/index-Wv8YWT7J.js +0 -299
- package/viewer/assets/info-J43DQDTF-DTr9gjto.js +0 -1
- package/viewer/assets/java-wxwgypiQ.js +0 -1
- package/viewer/assets/javascript-DVXHcAAd.js +0 -1
- package/viewer/assets/md-DbNdm2Si.js +0 -2
- package/viewer/assets/mermaid-parser.core-DTeJC58J.js +0 -161
- package/viewer/assets/model-CV4SMZZ6.js +0 -2
- package/viewer/assets/nestedRender-B6UKcdX4.js +0 -3
- package/viewer/assets/ofd-BxfWMAIn.js +0 -2
- package/viewer/assets/packet-YPE3B663-BtC974QL.js +0 -1
- package/viewer/assets/pdf-BtF-yTwh.js +0 -2
- package/viewer/assets/percentages-BXMCSKIN-rHVIt6Og.js +0 -1
- package/viewer/assets/pica-LwlR7GZ_.js +0 -2
- package/viewer/assets/pie-LRSECV5Y-muMG-ZB-.js +0 -1
- package/viewer/assets/pptx-CykgL7yb.js +0 -2
- package/viewer/assets/radar-GUYGQ44K-DjwaY-WI.js +0 -1
- package/viewer/assets/renderer-AG2ARmm1.js +0 -1
- package/viewer/assets/rough.esm-C7pj5SVA.js +0 -1
- package/viewer/assets/rust-cznU34-d.js +0 -1
- package/viewer/assets/stateDiagram-v2-BHNVJYJU-BZAIiz9H.js +0 -1
- package/viewer/assets/subset-shared.chunk-CeMN1KJe.js +0 -1
- package/viewer/assets/text-CXq6Yvj4.js +0 -2
- package/viewer/assets/treeView-BLDUP644-B1td6hO4.js +0 -1
- package/viewer/assets/treemap-LRROVOQU-CyDF1cUl.js +0 -1
- package/viewer/assets/typescript-xkhBQGCI.js +0 -1
- package/viewer/assets/typst-FnG1RrXx.js +0 -2
- package/viewer/assets/umd-Bznc3NVB.js +0 -2
- package/viewer/assets/wardley-L42UT6IY-B4Pi_ryj.js +0 -1
- package/viewer/assets/xlsx-CmfThisG.js +0 -2
- package/viewer/assets/yaml-CZIBJyY6.js +0 -1
- /package/viewer/assets/{bash-v6a5s0TG.js → bash-LmRjUKlR.js} +0 -0
- /package/viewer/assets/{chunk-6U3AYISY-sM9HnDSj.js → chunk-6U3AYISY-C6-Mtja1.js} +0 -0
- /package/viewer/assets/{chunk-Z3N5DIM6-DVAc8Qv7.js → chunk-Z3N5DIM6-D9TMVU7m.js} +0 -0
- /package/viewer/assets/{chunk-ZUYEQ4TG-DaQMhOk1.js → chunk-ZUYEQ4TG-BzFOpW--.js} +0 -0
- /package/viewer/assets/{csharp-CUZg0Piy.js → csharp-GZmu99Fo.js} +0 -0
- /package/viewer/assets/{css-CmdNZR7s.js → css-D5l_8KUR.js} +0 -0
- /package/viewer/assets/{defaultLocale-GXPQCpCV.js → defaultLocale-C8Fc0cco.js} +0 -0
- /package/viewer/assets/{diff-C4YBjULe.js → diff-CJb8JxGC.js} +0 -0
- /package/viewer/assets/{directory-open-01563666-BnIEPxMj.js → directory-open-01563666-D4xXyWb_.js} +0 -0
- /package/viewer/assets/{dist-CDIdMEAB.js → dist-sSvuNO1e.js} +0 -0
- /package/viewer/assets/{fflate.module-CnrP-VZU.js → fflate.module-BIQmJeC9.js} +0 -0
- /package/viewer/assets/{file-open-002ab408-CmWWDvbm.js → file-open-002ab408-BHUWm0Sh.js} +0 -0
- /package/viewer/assets/{file-open-7c801643-0DFC1QL7.js → file-open-7c801643-DZtJT5zp.js} +0 -0
- /package/viewer/assets/{file-save-3189631c-CGw7IQIT.js → file-save-3189631c-CO9S4HFW.js} +0 -0
- /package/viewer/assets/{file-save-745eba88-BaJCoLHk.js → file-save-745eba88-Bwdfz6OZ.js} +0 -0
- /package/viewer/assets/{global-compiler-Bh6eQCsc.js → global-compiler-D1EEBbpA.js} +0 -0
- /package/viewer/assets/{global-renderer-D05nc19Q.js → global-renderer-AKzBLvRw.js} +0 -0
- /package/viewer/assets/{go-DRIfKlug.js → go-B-PCS5zA.js} +0 -0
- /package/viewer/assets/{graphlib-DWHYYbzM.js → graphlib-B8gBHxth.js} +0 -0
- /package/viewer/assets/{image-blob-reduce.esm-U4cJkLwY.js → image-blob-reduce.esm-NzmDxm1v.js} +0 -0
- /package/viewer/assets/{ini-mGJCE6tP.js → ini-B1CroMsf.js} +0 -0
- /package/viewer/assets/{init-Bj57mB65.js → init-D6jRqBbL.js} +0 -0
- /package/viewer/assets/{json-BGVZ214P.js → json-DS4EA3dC.js} +0 -0
- /package/viewer/assets/{katex-BMZGv2yo.js → katex-Vhh-h91d.js} +0 -0
- /package/viewer/assets/{libarchive-BdUg47Sl.js → libarchive-DknIq1tb.js} +0 -0
- /package/viewer/assets/{markdown-D4bsoCMs.js → markdown-C8bVcNXx.js} +0 -0
- /package/viewer/assets/{mp4-B-BC_K8Z.js → mp4-Dho29Zd7.js} +0 -0
- /package/viewer/assets/{php-DjR7_33H.js → php-5k5YNuRS.js} +0 -0
- /package/viewer/assets/{postal-mime-DhooDFq1.js → postal-mime-kkzCFkih.js} +0 -0
- /package/viewer/assets/{printLayout-BKR9eA_I.js → printLayout-D2pf0W9y.js} +0 -0
- /package/viewer/assets/{python-knoOST3F.js → python-DwhXSSGr.js} +0 -0
- /package/viewer/assets/{roundRect-BgfzMm9N.js → roundRect-D01gJrlt.js} +0 -0
- /package/viewer/assets/{sql-BtslwpxF.js → sql-DWRKyvJ-.js} +0 -0
- /package/viewer/assets/{src-BBw8FbvP.js → src-BrOGWJpF.js} +0 -0
- /package/viewer/assets/{wasm-7R9pz8Yn.js → wasm-C3ukMqzA.js} +0 -0
- /package/viewer/assets/{wasm-pack-shim-C-PtSIYt.js → wasm-pack-shim-BShYmbRf.js} +0 -0
- /package/viewer/assets/{wasm-pack-shim-CXDHyOYK.js → wasm-pack-shim-BnuNh1z7.js} +0 -0
- /package/viewer/assets/{worker-ref-BcbHdN1M.js → worker-ref-BbTnHTC-.js} +0 -0
- /package/viewer/assets/{xml-RJsMctTC.js → xml-DasnpDVC.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{H as e,L as t,O as n,P as r,T as i,V as a,_ as o,j as s,k as c,u as l,v as u,x as d}from"./index-Wv8YWT7J.js";var f={class:`audio-viewer`},p={class:`audio-card`},m={class:`audio-copy`},h={class:`audio-kicker`},g={class:`audio-meter`},_={class:`audio-progress`,"aria-hidden":`true`},v=[`src`],y=l(i({__name:`AudioViewer`,props:{data:{},type:{}},setup(i){let l=i,y=t(null),b=t(``),x=t(0),S=t(0),C=t(!1),w={aac:`audio/aac`,flac:`audio/flac`,m4a:`audio/mp4`,mp3:`audio/mpeg`,mpeg:`audio/mpeg`,oga:`audio/ogg`,ogg:`audio/ogg`,opus:`audio/ogg; codecs=opus`,wav:`audio/wav`,weba:`audio/webm`},T=o(()=>l.type.trim().toLowerCase()),E=o(()=>w[T.value]||`audio/*`),D=o(()=>T.value.toUpperCase()||`AUDIO`),O=o(()=>!Number.isFinite(S.value)||S.value<=0?0:Math.min(100,Math.max(0,x.value/S.value*100))),k=e=>{if(!Number.isFinite(e)||e<=0)return`00:00`;let t=Math.floor(e/60),n=Math.floor(e%60);return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},A=()=>{b.value&&=(URL.revokeObjectURL(b.value),``)},j=()=>{A(),x.value=0,S.value=0,C.value=!1,b.value=URL.createObjectURL(new Blob([l.data],{type:E.value}))},M=()=>{S.value=y.value?.duration||0,C.value=!0},N=()=>{x.value=y.value?.currentTime||0};return c(j),r(()=>[l.data,l.type],j),n(A),(t,n)=>(s(),d(`div`,f,[u(`section`,p,[n[2]||=u(`div`,{class:`audio-art`},[u(`span`),u(`i`)],-1),u(`div`,m,[u(`span`,h,e(D.value),1),n[0]||=u(`strong`,null,`音频预览`,-1),n[1]||=u(`p`,null,`使用浏览器原生播放器打开,兼容性取决于当前浏览器支持的音频编码。`,-1)]),u(`div`,g,[u(`span`,null,e(k(x.value)),1),u(`div`,_,[u(`i`,{style:a({width:`${O.value}%`})},null,4)]),u(`span`,null,e(C.value?k(S.value):`--:--`),1)]),u(`audio`,{ref_key:`audioRef`,ref:y,class:`audio-control`,src:b.value,controls:``,preload:`metadata`,onLoadedmetadata:M,onTimeupdate:N},` 当前浏览器不支持音频播放。 `,40,v)])]))}}),[[`__scopeId`,`data-v-608bd328`]]);export{y as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,D as t,H as n,L as r,M as i,O as a,T as o,V as s,_ as c,b as l,g as u,j as d,k as f,t as p,u as m,v as h,x as g}from"./index-Wv8YWT7J.js";var _={class:`cad-viewer`},v={class:`cad-toolbar`},y={class:`cad-tools`},b={class:`cad-zoom`},x={key:0,class:`cad-layers`},S=[`onClick`],C={class:`cad-canvas-wrap`},w={key:0,class:`cad-state`},T={key:1,class:`dwg-preview`},E={class:`dwg-preview-frame`},ee=[`src`],D={key:2,class:`cad-state error`},O=1800,k=m(o({__name:`CadViewer`,props:{data:{},type:{}},setup(o){let m=o,k=r(null),A=r([]),j=r(`pan`),M=r(`loading`),N=r(``),P=r(``),F=r(``),I=r(1),L=null,R=null,z=new TextDecoder(`utf-8`),B=O*O,V={AC1015:`AutoCAD 2000/2000i/2002`,AC1018:`AutoCAD 2004/2005/2006`,AC1021:`AutoCAD 2007/2008/2009`,AC1024:`AutoCAD 2010/2011/2012`,AC1027:`AutoCAD 2013/2014/2015/2016/2017`,AC1032:`AutoCAD 2018/2019/2020/2021/2022/2023/2024`},te=e=>e instanceof Error?e.message:typeof e==`string`?e:JSON.stringify(e),H=()=>{P.value&&=(URL.revokeObjectURL(P.value),``)},ne=e=>Number(Math.min(4,Math.max(.35,e)).toFixed(2)),U=c(()=>({width:`${I.value*100}%`})),W=e=>{I.value=ne(I.value+e)},G=e=>new Promise((t,n)=>{let r=URL.createObjectURL(e),i=new Image;i.onload=()=>{URL.revokeObjectURL(r),t(i)},i.onerror=()=>{URL.revokeObjectURL(r),n(Error(`DWG 预览图加载失败`))},i.src=r}),K=(e,t,n)=>{let r=[0,(t-1)*4,(n-1)*t*4,((n-1)*t+t-1)*4],i=r.reduce((t,n)=>(t.r+=e[n],t.g+=e[n+1],t.b+=e[n+2],t.a+=e[n+3],t),{r:0,g:0,b:0,a:0});return{r:i.r/r.length,g:i.g/r.length,b:i.b/r.length,a:i.a/r.length}},q=(e,t,n)=>{let r=e[t]-n.r,i=e[t+1]-n.g,a=e[t+2]-n.b,o=e[t+3]-n.a;return Math.sqrt(r*r+i*i+a*a+o*o)},J=(e,t,n)=>e[t+3]<=12?!1:q(e,t,n)>28,Y=async e=>{let t=await G(e),n=t.naturalWidth||t.width,r=t.naturalHeight||t.height;if(!n||!r)return{blob:e,cropped:!1};let i=Math.min(1,O/Math.max(n,r),Math.sqrt(B/(n*r))),a=Math.max(1,Math.round(n*i)),o=Math.max(1,Math.round(r*i)),s=document.createElement(`canvas`);s.width=a,s.height=o;let c=s.getContext(`2d`,{willReadFrequently:!0});if(!c)return{blob:e,cropped:!1};c.drawImage(t,0,0,a,o);let l=c.getImageData(0,0,a,o),u=K(l.data,a,o),d=a,f=o,p=-1,m=-1;for(let e=0;e<o;e+=1)for(let t=0;t<a;t+=1){let n=(e*a+t)*4;J(l.data,n,u)&&(d=Math.min(d,t),f=Math.min(f,e),p=Math.max(p,t),m=Math.max(m,e))}if(p<d||m<f)return{blob:e,cropped:!1};let h=p-d+1,g=m-f+1;if(h/a>.94&&g/o>.94)return{blob:e,cropped:!1};let _=Math.max(8,Math.round(Math.max(h,g)*.04)),v=Math.max(0,Math.floor((d-_)/i)),y=Math.max(0,Math.floor((f-_)/i)),b=Math.min(n,Math.ceil((p+_+1)/i)),x=Math.min(r,Math.ceil((m+_+1)/i)),S=b-v,C=x-y;if(S<=0||C<=0)return{blob:e,cropped:!1};let w=document.createElement(`canvas`);w.width=S,w.height=C;let T=w.getContext(`2d`);if(!T)return{blob:e,cropped:!1};T.drawImage(t,v,y,S,C,0,0,S,C);let E=await new Promise(e=>{w.toBlob(e,`image/png`)});return{blob:E||e,cropped:!!E}},X=(e,t,n=0)=>{for(let r=n;r<=e.length-t.length;r+=1){let n=!0;for(let i=0;i<t.length;i+=1)if(e[r+i]!==t[i]){n=!1;break}if(n)return r}return-1},re=()=>{let e=new Uint8Array(m.data),t=X(e,[137,80,78,71,13,10,26,10]);if(t>=0){let n=X(e,[73,69,78,68,174,66,96,130],t);if(n>t)return new Blob([e.slice(t,n+8)],{type:`image/png`})}let n=X(e,[255,216,255]);if(n>=0){let t=X(e,[255,217],n+3);if(t>n)return new Blob([e.slice(n,t+2)],{type:`image/jpeg`})}let r=X(e,[66,77]);if(r>=0&&r+6<e.length){let t=new DataView(m.data,r).getUint32(2,!0);if(t>14&&r+t<=e.length)return new Blob([e.slice(r,r+t)],{type:`image/bmp`})}return null},ie=()=>{let e=new Uint8Array(m.data.slice(0,64));return Array.from(e).map(e=>e>=32&&e<=126?String.fromCharCode(e):` `).join(``).trim()},ae=()=>{let e=z.decode(m.data.slice(0,Math.min(m.data.byteLength,512)));return/\bSECTION\b/.test(e)||/\$ACADVER/.test(e)},Z=e=>{j.value=e,L?.setTool(e)},Q=()=>{if(M.value===`preview`){I.value=1;return}L?.resize(),L?.fitToView()},oe=e=>{let t=e.isOff;L?.setLayerVisible(e.name,t),A.value=A.value.map(n=>n.name===e.name?{...n,isOff:!t}:n)},$=async()=>{let e=k.value;if(e){M.value=`loading`,N.value=``,I.value=1,H();try{let{CadViewer:n}=await p(async()=>{let{CadViewer:e}=await import(`./dist-CDIdMEAB.js`);return{CadViewer:e}},[],import.meta.url);L?.destroy(),L=new n(e,{theme:`light`,initialTool:j.value,worker:!1}),L.loadArrayBuffer(m.data),await t(),Q(),A.value=L.getLayers(),M.value=`ready`}catch(e){console.error(e),M.value=`error`,N.value=te(e)||`CAD 图纸解析失败`}}},se=async()=>{if(ae()){await $();return}M.value=`loading`,N.value=``,H();let e=ie().slice(0,6),t=V[e]?`${e}(${V[e]})`:e||`未知 DWG 版本`,n=re();if(n){let e=await Y(n);P.value=URL.createObjectURL(e.blob),F.value=`已从 DWG 二进制中提取内嵌预览图,版本 ${t}。${e.cropped?`已自动裁剪空白边距,便于查看有效内容。`:``}这是文件保存时写入的快照,不等同于完整 CAD 几何解析。`,M.value=`preview`;return}M.value=`error`,N.value=`DWG 是专有二进制 CAD 格式,当前 Apache-2.0 前端包未内置 GPL 或闭源 DWG 解码器;此文件也没有可提取的内嵌预览图。请在业务侧转换为 DXF 后预览,或接入私有服务端转换链路。检测到的版本为 ${t}。`},ce=async()=>{if(m.type.toLowerCase()===`dwg`){await se();return}await $()};return f(()=>{ce();let e=k.value;e&&(R=new ResizeObserver(()=>{L?.resize(),L?.requestRender()}),R.observe(e))}),a(()=>{R?.disconnect(),R=null,L?.destroy(),L=null,H()}),(t,r)=>(d(),g(`div`,_,[h(`div`,v,[h(`div`,y,[h(`button`,{type:`button`,class:e({active:j.value===`pan`}),onClick:r[0]||=e=>Z(`pan`)},`平移`,2),h(`button`,{type:`button`,class:e({active:j.value===`select`}),onClick:r[1]||=e=>Z(`select`)},`选择`,2),h(`button`,{type:`button`,class:e({active:j.value===`measure`}),onClick:r[2]||=e=>Z(`measure`)},`测量`,2),h(`button`,{type:`button`,onClick:Q},`适配`),M.value===`preview`?(d(),g(u,{key:0},[h(`button`,{type:`button`,title:`缩小 DWG 预览`,onClick:r[3]||=e=>W(-.15)},`-`),h(`span`,b,n(Math.round(I.value*100))+`%`,1),h(`button`,{type:`button`,title:`放大 DWG 预览`,onClick:r[4]||=e=>W(.15)},`+`)],64)):l(``,!0)]),h(`span`,null,n(o.type.toUpperCase()),1)]),h(`div`,{class:e([`cad-body`,{"without-layers":!A.value.length}])},[A.value.length?(d(),g(`aside`,x,[(d(!0),g(u,null,i(A.value,t=>(d(),g(`button`,{key:t.name,type:`button`,class:e({muted:t.isOff}),onClick:e=>oe(t)},n(t.name),11,S))),128))])):l(``,!0),h(`div`,C,[h(`canvas`,{ref_key:`canvas`,ref:k},null,512),M.value===`loading`?(d(),g(`div`,w,`正在解析 CAD...`)):M.value===`preview`?(d(),g(`div`,T,[h(`div`,E,[h(`img`,{src:P.value,alt:`DWG 内嵌预览图`,style:s(U.value)},null,12,ee)]),h(`p`,null,n(F.value),1)])):M.value===`error`?(d(),g(`div`,D,n(N.value),1)):l(``,!0)])],2)]))}}),[[`__scopeId`,`data-v-4d603439`]]);export{k as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.code-viewer[data-v-81405bd8]{color:#e6edf3;background:#0d1117;min-height:100%}.code-toolbar[data-v-81405bd8]{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d1117eb;border-bottom:1px solid #8b949e3d;justify-content:space-between;align-items:center;gap:16px;height:42px;padding:0 16px;display:flex;position:sticky;top:0}.code-toolbar span[data-v-81405bd8],.code-toolbar strong[data-v-81405bd8]{color:#8b949e;letter-spacing:0;font-size:12px;font-weight:700}.code-area[data-v-81405bd8]{background:0 0;min-width:min-content;margin:0;padding:18px 20px 28px;display:block;overflow:auto}.code-area code[data-v-81405bd8]{color:inherit;tab-size:2;white-space:pre;background:0 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.7;display:block;overflow:visible}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-Dw5gmsJk.js","./index-Wv8YWT7J.js","./index-Da-_mMtb.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{B as e,H as t,L as n,P as r,T as i,_ as a,j as o,t as s,u as c,v as l,x as u}from"./index-Wv8YWT7J.js";var d={class:`code-viewer`},f={class:`code-toolbar`},p={class:`code-area`},m=[`innerHTML`],h=c(i({__name:`CodeViewer`,props:{value:{},type:{}},setup(i){let c=i,h={bash:`bash`,c:`cpp`,cc:`cpp`,cjs:`javascript`,cpp:`cpp`,cs:`csharp`,css:`css`,diff:`diff`,go:`go`,h:`cpp`,hpp:`cpp`,html:`xml`,htm:`xml`,ini:`ini`,java:`java`,js:`javascript`,json:`json`,jsx:`javascript`,log:`plaintext`,md:`markdown`,markdown:`markdown`,mjs:`javascript`,php:`php`,py:`python`,rs:`rust`,sh:`bash`,sql:`sql`,ts:`typescript`,tsx:`typescript`,txt:`plaintext`,vue:`xml`,xml:`xml`,yaml:`yaml`,yml:`yaml`},g={bash:()=>s(()=>import(`./bash-v6a5s0TG.js`),[],import.meta.url),cpp:()=>s(()=>import(`./cpp-CzPJnyWn.js`),[],import.meta.url),csharp:()=>s(()=>import(`./csharp-CUZg0Piy.js`),[],import.meta.url),css:()=>s(()=>import(`./css-CmdNZR7s.js`),[],import.meta.url),diff:()=>s(()=>import(`./diff-C4YBjULe.js`),[],import.meta.url),go:()=>s(()=>import(`./go-DRIfKlug.js`),[],import.meta.url),ini:()=>s(()=>import(`./ini-mGJCE6tP.js`),[],import.meta.url),java:()=>s(()=>import(`./java-wxwgypiQ.js`),[],import.meta.url),javascript:()=>s(()=>import(`./javascript-DVXHcAAd.js`),[],import.meta.url),json:()=>s(()=>import(`./json-BGVZ214P.js`),[],import.meta.url),markdown:()=>s(()=>import(`./markdown-D4bsoCMs.js`),[],import.meta.url),php:()=>s(()=>import(`./php-DjR7_33H.js`),[],import.meta.url),python:()=>s(()=>import(`./python-knoOST3F.js`),[],import.meta.url),rust:()=>s(()=>import(`./rust-cznU34-d.js`),[],import.meta.url),sql:()=>s(()=>import(`./sql-BtslwpxF.js`),[],import.meta.url),typescript:()=>s(()=>import(`./typescript-xkhBQGCI.js`),[],import.meta.url),xml:()=>s(()=>import(`./xml-RJsMctTC.js`),[],import.meta.url),yaml:()=>s(()=>import(`./yaml-CZIBJyY6.js`),[],import.meta.url)},_=null,v=new Set,y=async()=>(_||=s(()=>import(`./core-Dw5gmsJk.js`).then(e=>e.default),__vite__mapDeps([0,1,2]),import.meta.url),_),b=async(e,t)=>{if(v.has(t))return!0;let n=g[t];if(!n)return!1;let{default:r}=await n();return e.registerLanguage(t,r),v.add(t),!0},x=a(()=>h[c.type.toLowerCase()]||`plaintext`),S=e=>e.replace(/[&<>"']/g,e=>({"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`})[e]),C=n(``),w=0;r(()=>[c.value,x.value],async()=>{let e=++w,t=x.value;if(t===`plaintext`){C.value=S(c.value);return}try{let n=await y(),r=await b(n,t);if(e!==w)return;C.value=r?n.highlight(c.value,{language:t,ignoreIllegals:!0}).value:S(c.value)}catch{e===w&&(C.value=S(c.value))}},{immediate:!0});let T=a(()=>c.value.split(/\r\n|\r|\n/).length);return(n,r)=>(o(),u(`div`,d,[l(`div`,f,[l(`span`,null,t(i.type.toUpperCase()),1),l(`strong`,null,t(T.value)+` lines`,1)]),l(`pre`,p,[l(`code`,{class:e([`hljs`,`language-${x.value}`]),innerHTML:C.value},null,10,m)])]))}}),[[`__scopeId`,`data-v-81405bd8`]]);export{h as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./rough.esm-C7pj5SVA.js","./index-Wv8YWT7J.js","./index-Da-_mMtb.css","./prod-Be_zziKY.js","./chunk-K2UTITRG-DXfKb63q.js","./chunk-SRAX5OIU-ca-Jd-qc.js","./chunk-ZUYEQ4TG-DaQMhOk1.js","./chunk-6U3AYISY-sM9HnDSj.js","./chunk-Z3N5DIM6-DVAc8Qv7.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{D as e,H as t,L as n,T as r,V as i,_ as a,b as o,c as s,j as c,k as l,t as u,u as d,v as f,x as p}from"./index-Wv8YWT7J.js";var m={class:`drawing-viewer`},h={class:`drawing-toolbar`},g={class:`drawing-title`},_={class:`drawing-actions`},v={class:`drawing-stage`},y={key:0,class:`drawing-state`},b={key:1,class:`drawing-state error`},x={class:`drawing-scroll`},S=`https://viewer.diagrams.net/js/viewer-static.min.js`,C=`http://www.w3.org/2000/svg`,w=6e3,T=d(r({__name:`DrawingViewer`,props:{data:{},type:{}},setup(r){let d=r,T=null,E=n(`loading`),D=n(``),O=n(null),k=n(1),A=a(()=>d.type.toLowerCase()),j=a(()=>A.value===`excalidraw`),M=a(()=>A.value===`dio`?`DRAWIO`:A.value.toUpperCase()),N=a(()=>j.value?{transform:`scale(${k.value})`,transformOrigin:`top center`}:{zoom:k.value}),P=e=>Math.min(3,Math.max(.5,Number(e.toFixed(2)))),F=()=>{k.value=P(k.value+.15)},I=()=>{k.value=P(k.value-.15)},L=()=>{k.value=1},R=()=>{let e=O.value;if(e)for(delete e.dataset.drawingRendered;e.firstChild;)e.removeChild(e.firstChild)},z=()=>window.GraphViewer?Promise.resolve():(T||=new Promise((e,t)=>{let n=document.querySelector(`script[src="${S}"]`);if(n){n.addEventListener(`load`,()=>e(),{once:!0}),n.addEventListener(`error`,()=>t(Error(`diagrams.net viewer 加载失败`)),{once:!0});return}let r=document.createElement(`script`);r.src=S,r.async=!0,r.onload=()=>e(),r.onerror=()=>t(Error(`diagrams.net viewer 加载失败`)),document.head.appendChild(r)}),T),B=(e,t=0)=>{let n=Number(e);return Number.isFinite(n)?n:t},V=e=>!e||e===`transparent`||e===`rgba(0, 0, 0, 0)`,H=e=>document.createElementNS(C,e),U=async(e,t,n)=>{let r;try{return await Promise.race([e,new Promise((e,i)=>{r=setTimeout(()=>i(Error(n)),t)})])}finally{r&&clearTimeout(r)}},W=(e,t)=>e.dataset.drawingRendered?!1:(e.dataset.drawingRendered=t,!0),G=(e,t,n)=>{W(e,n)&&(t.classList.add(`drawing-svg`),e.appendChild(t))},K=()=>{let e=console.error,t=(...t)=>{t.map(e=>String(e)).join(` `).includes(`Failed to use workers for subsetting`)||e(...t)};return console.error=t,()=>{console.error===t&&(console.error=e)}},q=e=>Array.isArray(e.points)&&e.points.length?e.points.map(t=>[B(e.x)+B(t[0]),B(e.y)+B(t[1])]):[[B(e.x),B(e.y)],[B(e.x)+B(e.width),B(e.y)+B(e.height)]],J=e=>{let t=q(e),n=t.map(e=>e[0]),r=t.map(e=>e[1]);return Array.isArray(e.points)||(n.push(B(e.x)+B(e.width)),r.push(B(e.y)+B(e.height))),{minX:Math.min(...n),minY:Math.min(...r),maxX:Math.max(...n),maxY:Math.max(...r)}},Y=e=>{let t=e.reduce((e,t)=>{let n=J(t);return{minX:Math.min(e.minX,n.minX),minY:Math.min(e.minY,n.minY),maxX:Math.max(e.maxX,n.maxX),maxY:Math.max(e.maxY,n.maxY)}},{minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0});return Number.isFinite(t.minX)?t:{minX:0,minY:0,maxX:800,maxY:480}},X=e=>{let t=V(e.backgroundColor)?void 0:e.backgroundColor;return{stroke:e.strokeColor||`#1e1e1e`,strokeWidth:Math.max(1,B(e.strokeWidth,1)),roughness:Math.max(0,B(e.roughness,1)),fill:t,fillStyle:e.fillStyle||`hachure`,seed:B(e.seed,1),strokeLineDash:e.strokeStyle===`dashed`?[10,8]:e.strokeStyle===`dotted`?[2,6]:void 0}},Z=(e,t,n)=>{let r=B(t.opacity,100)/100;r<1&&n.setAttribute(`opacity`,String(r)),e.appendChild(n)},Q=e=>{let t=H(`g`),n=B(e.angle);if(n){let r=B(e.x)+B(e.width)/2,i=B(e.y)+B(e.height)/2;t.setAttribute(`transform`,`rotate(${n*180/Math.PI} ${r} ${i})`)}return t},$=(e,t)=>{let n=String(t.text||``);if(!n.trim())return;let r=H(`text`),i=Math.max(8,B(t.fontSize,20)),a=i*1.25,o=n.split(/\r?\n/),s={1:`Virgil, Segoe Print, Comic Sans MS, sans-serif`,2:`Helvetica, Arial, sans-serif`,3:`Cascadia Mono, Menlo, Consolas, monospace`};r.setAttribute(`x`,String(B(t.x))),r.setAttribute(`y`,String(B(t.y)+i)),r.setAttribute(`fill`,t.strokeColor||`#1e1e1e`),r.setAttribute(`font-size`,String(i)),r.setAttribute(`font-family`,s[B(t.fontFamily,1)]||s[1]),r.setAttribute(`font-weight`,String(t.fontWeight||400)),r.setAttribute(`text-anchor`,t.textAlign===`center`?`middle`:t.textAlign===`right`?`end`:`start`),t.textAlign===`center`?r.setAttribute(`x`,String(B(t.x)+B(t.width)/2)):t.textAlign===`right`&&r.setAttribute(`x`,String(B(t.x)+B(t.width))),o.forEach((e,n)=>{let i=H(`tspan`);i.setAttribute(`x`,r.getAttribute(`x`)||String(B(t.x))),i.setAttribute(`dy`,n===0?`0`:String(a)),i.textContent=e,r.appendChild(i)}),Z(e,t,r)},ee=(e,t,n)=>{if(!(t.endArrowhead||t.startArrowhead)||n.length<2)return;let r=n[n.length-1],i=n[n.length-2],a=Math.atan2(r[1]-i[1],r[0]-i[0]),o=Math.max(10,B(t.strokeWidth,1)*7),s=[r[0]-o*Math.cos(a-Math.PI/7),r[1]-o*Math.sin(a-Math.PI/7)],c=[r[0]-o*Math.cos(a+Math.PI/7),r[1]-o*Math.sin(a+Math.PI/7)],l=H(`polygon`);l.setAttribute(`points`,`${r.join(`,`)} ${s.join(`,`)} ${c.join(`,`)}`),l.setAttribute(`fill`,t.strokeColor||`#1e1e1e`),l.setAttribute(`stroke`,t.strokeColor||`#1e1e1e`),Z(e,t,l)},te=async(e,t,n)=>{let{default:r}=await u(async()=>{let{default:e}=await import(`./rough.esm-C7pj5SVA.js`).then(e=>e.n);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url),i=Y(t),a=Math.max(320,i.maxX-i.minX+160),o=Math.max(220,i.maxY-i.minY+160),s=H(`svg`),c=H(`g`),l=r.svg(s);s.setAttribute(`viewBox`,`${i.minX-80} ${i.minY-80} ${a} ${o}`),s.setAttribute(`width`,String(a)),s.setAttribute(`height`,String(o)),s.setAttribute(`role`,`img`),s.setAttribute(`aria-label`,`Excalidraw rough.js preview`);let d=H(`rect`);d.setAttribute(`x`,String(i.minX-80)),d.setAttribute(`y`,String(i.minY-80)),d.setAttribute(`width`,String(a)),d.setAttribute(`height`,String(o)),d.setAttribute(`fill`,e.appState?.viewBackgroundColor||`#ffffff`),s.appendChild(d),s.appendChild(c),t.forEach(e=>{let t=Q(e),n=X(e),r=B(e.x),i=B(e.y),a=B(e.width),o=B(e.height);if(e.type===`text`)$(t,e);else if(e.type===`rectangle`)Z(t,e,l.rectangle(r,i,a,o,n));else if(e.type===`diamond`)Z(t,e,l.polygon([[r+a/2,i],[r+a,i+o/2],[r+a/2,i+o],[r,i+o/2]],n));else if(e.type===`ellipse`)Z(t,e,l.ellipse(r+a/2,i+o/2,Math.abs(a),Math.abs(o),n));else if(e.type===`line`||e.type===`arrow`||e.type===`freedraw`){let r=q(e);Z(t,e,l.linearPath(r,n)),e.type===`arrow`&&ee(t,e,r)}t.childNodes.length&&c.appendChild(t)}),G(n,s,`rough`)},ne=async(e,t,n)=>{let r=K(),i=setTimeout(r,w+1e3),{exportToSvg:a,restore:o}=await u(async()=>{let{exportToSvg:e,restore:t}=await import(`./prod-Be_zziKY.js`);return{exportToSvg:e,restore:t}},__vite__mapDeps([3,1,2,4,5,6,7,8]),import.meta.url);try{let r=o({elements:t,appState:e.appState||{},files:e.files||{}},null,null,{repairBindings:!0,refreshDimensions:!0});G(n,await a({elements:r.elements.filter(e=>!e.isDeleted),appState:{...r.appState,exportBackground:!0,viewBackgroundColor:r.appState.viewBackgroundColor||`#ffffff`},files:r.files||{}}),`official`)}finally{clearTimeout(i),r()}},re=async e=>{let t=O.value;if(!t)return;let n=JSON.parse(e),r=Array.isArray(n.elements)?n.elements.filter(e=>!e.isDeleted):[];if(!r.length)throw Error(`Excalidraw 文件中没有可预览图元`);try{await U(ne(n,r,t),w,`Excalidraw 官方导出超时,自动切换 rough.js 兼容渲染`)}catch(e){console.warn(e),await te(n,r,t)}},ie=async t=>{let n=O.value;if(!n)return;await z(),await e();let r=document.createElement(`div`);if(r.className=`mxgraph drawing-mxgraph`,r.setAttribute(`data-mxgraph`,JSON.stringify({xml:t,toolbar:`zoom layers lightbox`,nav:!0,resize:!0,"auto-fit":!0,"auto-crop":!0,"auto-origin":!0,"allow-zoom-in":!0,"allow-zoom-out":!0,border:16,highlight:`#0f766e`})),n.appendChild(r),!window.GraphViewer)throw Error(`diagrams.net viewer 未正确初始化`);window.GraphViewer.createViewerForElement(r)};return l(async()=>{E.value=`loading`,D.value=``,k.value=1,R();try{let e=await s(d.data);j.value?await re(e):await ie(e),E.value=`ready`}catch(e){console.error(e),D.value=e instanceof Error?e.message:String(e),E.value=`error`}}),(e,n)=>(c(),p(`div`,m,[f(`div`,h,[f(`div`,g,[f(`span`,null,t(M.value),1),f(`strong`,null,t(j.value?`Excalidraw 官方 SVG 预览`:`diagrams.net 官方 Viewer 预览`),1)]),f(`div`,_,[f(`button`,{type:`button`,title:`缩小`,onClick:I},`-`),f(`span`,null,t(Math.round(k.value*100))+`%`,1),f(`button`,{type:`button`,title:`放大`,onClick:F},`+`),f(`button`,{type:`button`,title:`适合宽度`,onClick:L},`适合`)])]),f(`div`,v,[E.value===`loading`?(c(),p(`div`,y,`正在加载官方绘图预览器...`)):E.value===`error`?(c(),p(`div`,b,t(D.value),1)):o(``,!0),f(`div`,x,[f(`div`,{ref_key:`stage`,ref:O,class:`drawing-canvas`,style:i(N.value)},null,4)])])]))}}),[[`__scopeId`,`data-v-6f438c82`]]);export{T as default};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./cfb-z-t_baTx.js","./index-Wv8YWT7J.js","./index-Da-_mMtb.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{B as e,H as t,I as n,J as r,L as i,M as a,S as o,T as s,V as c,_ as l,b as u,g as d,j as f,k as ee,m as te,o as p,t as m,u as h,v as g,x as _,z as v}from"./index-Wv8YWT7J.js";var y=[208,207,17,224,161,177,26,225],b=200,x=4096,S=192,C=180,w=24,T=420,E=e=>new Uint8Array(e),D=e=>y.every((t,n)=>e[n]===t),O=e=>e instanceof Uint8Array?e:new Uint8Array(e),k=e=>e.replace(/\u0000/g,``).replace(/[^\S\r\n]+/g,` `).replace(/\r\n/g,`
|
|
3
|
-
`).trim(),A=e=>k(e).toLowerCase(),j=e=>{let t=e.split(`/`).filter(Boolean);return t[t.length-1]||e||`/`},M=e=>e.replace(/\.[a-z0-9]+$/i,``),N=(e,t,n=1/0)=>{let r=k(t);!r||e.includes(r)||e.length>=n||e.push(r)},P=e=>{if(!e.length)return!1;let t=e.slice(0,Math.min(e.length,x)),n=0,r=0;for(let e of t)e===0&&(r+=1),(e===9||e===10||e===13||e>=32&&e<=126||e>=128)&&(n+=1);return n/t.length>.82||r/t.length>.25},F=e=>{let t=e.slice(0,Math.min(e.length,x));if(!t.length)return``;try{let e=0,n=0;for(let r=0;r<t.length;r+=1)t[r]===0&&(r%2==0?n+=1:e+=1);return k((e>t.length/5&&e>n*2?new TextDecoder(`utf-16le`,{fatal:!1}):new TextDecoder(`utf-8`,{fatal:!1})).decode(t))}catch{return``}},I=e=>{let t=e.slice(0,Math.min(e.length,S)),n=[];for(let e=0;e<t.length;e+=16){let r=t.slice(e,e+16),i=Array.from(r).map(e=>e.toString(16).padStart(2,`0`)).join(` `),a=Array.from(r).map(e=>e>=32&&e<=126?String.fromCharCode(e):`.`).join(``);n.push(`${e.toString(16).padStart(8,`0`)} ${i.padEnd(47)} ${a}`)}return n.join(`
|
|
4
|
-
`)},L=e=>{let t=[],n=``;for(let r of e){if(r>=32&&r<=126){n+=String.fromCharCode(r);continue}n.length>=4&&t.push(n),n=``}return n.length>=4&&t.push(n),t},R=e=>{let t=[],n=``;for(let r=0;r+1<e.length;r+=2){let i=e[r];if(e[r+1]===0&&i>=32&&i<=126){n+=String.fromCharCode(i);continue}n.length>=4&&t.push(n),n=``}return n.length>=4&&t.push(n),t},z=(e,t=C)=>{let n=new Set,r=[];return e.forEach(e=>{[...L(e),...R(e)].forEach(e=>{let i=k(e);!i||i.length<4||n.has(i)||r.length>=t||(n.add(i),r.push(i))})}),r},ne=/^\s*([A-Za-z][A-Za-z0-9_. /#-]{1,56})\s*[:=]\s*(.{1,240})\s*$/,re=/\b([A-Za-z][A-Za-z0-9_. /#-]{1,56})\s*=\s*([^;\n\r|]{1,240})/g,ie=e=>k(e).replace(/\s+/g,` `),B=(e,t,n,r,i)=>{if(e.length>=T)return;let a=ie(n),o=k(r);if(!a||!o)return;let s=`${i}\u0000${a.toLowerCase()}\u0000${o}`;t.has(s)||(t.add(s),e.push({key:a,value:o,source:i}))},V=(e,t,n)=>{let r=[],i=new Set;return[e,...t].filter(Boolean).forEach(e=>{k(e).split(/\n|[|;]/).forEach(e=>{let t=e.match(ne);t&&B(r,i,t[1],t[2],n)});for(let t of e.matchAll(re))B(r,i,t[1],t[2],n)}),r},H=(e,t)=>{let n=t.map(e=>e.toLowerCase());return e.some(e=>n.includes(e.key.toLowerCase()))},U=(e,t)=>{let n=t.map(e=>e.toLowerCase());return e.find(e=>n.includes(e.key.toLowerCase()))?.value},W=(e,t,n,r,i,a,o)=>{let s=A(`${t}\n${n}\n${r}\n${i.join(`
|
|
5
|
-
`)}`);if(s===`/`||t===`/`)return`root`;if(o===`storage`&&/(^|\/)(library|libraries)(\/|$)/i.test(t))return`library`;if(/(header|version|source|author|metadata|property|properties)/.test(s))return H(a,[`Name`,`Pins`,`Footprint`,`Padstack`])?`property`:`metadata`;if(e===`olb`){if(/(^|\/)(symbols?|parts?)(\/|$)/.test(s)||H(a,[`Pins`,`Footprint`,`PCB Footprint`,`Part Number`]))return`symbol`;if(/(^|\/)(library|capture|orcad)(\/|$)/.test(s))return`library`}if(e===`dra`){if(/(padstack|pad stack|thermal|antipad|drill)/.test(s)||H(a,[`Padstack`,`Drill`]))return`padstack`;if(/(footprint|package|psm|bsm|fsm|ssm|symbol)/.test(s))return`footprint`;if(/(route|net|via|ratsnest)/.test(s))return`net`;if(/(line |arc |circle|shape|outline|silk|place_bound|assembly|soldermask|pastemask)/.test(s))return`geometry`;if(/(drawing|units|layers?|constraint|allegro)/.test(s)||H(a,[`Units`,`Layers`]))return`drawing`}return a.length?`property`:o===`storage`?`library`:`unknown`},G=(e,t,n,r,i,a)=>{if(i===`storage`||!a)return{path:t,name:n,size:r,kind:i,role:W(e,t,n,``,[],[],i),strings:[],properties:[]};let o=P(a)?F(a):``,s=z([a],w),c=V(o,s,t),l=W(e,t,n,o,s,c,o?`text`:`binary`);return{path:t,name:n,size:r,kind:o?`text`:`binary`,role:l,sample:o,hex:o?void 0:I(a),strings:s,properties:c}},K=e=>{e.children.sort((e,t)=>e.children.length===t.children.length?e.name.localeCompare(t.name):t.children.length-e.children.length),e.children.forEach(K)},q=(e,t)=>{let n={id:`${t}:root`,path:`/`,name:t.toUpperCase(),kind:`storage`,role:`root`,size:0,children:[]},r=new Map([[`/`,n]]);return e.forEach(e=>{let i=e.path.split(`/`).filter(Boolean),a=n,o=``;i.forEach((n,s)=>{o+=`/${n}`;let c=s===i.length-1,l=r.get(o);l||(l={id:`${t}:${o}`,path:o,name:n,kind:c?e.kind:`storage`,role:c?e.role:W(t,o,n,``,[],[],`storage`),size:c?e.size:0,children:[]},r.set(o,l),a.children.push(l)),c&&(l.kind=e.kind,l.role=e.role,l.size=e.size),a=l})}),K(n),n.children},J=e=>{if(!e)return[];let t=[];return e.split(/[,/;| ]+/).forEach(e=>{/^[A-Za-z0-9_.+-]+$/.test(e)&&N(t,e,64)}),t},Y=(e,t)=>t===`olb`?e.role===`symbol`&&e.kind!==`storage`?`symbol`:null:e.role===`padstack`?`padstack`:e.role===`footprint`||e.role===`geometry`&&/\/footprint\//i.test(e.path)?`footprint`:e.role===`drawing`?`drawing`:null,ae=(e,t)=>t===`footprint`?e.path.match(/^(.+?\/Footprint)(?:\/|$)/i)?.[1]||e.path:t===`drawing`&&e.path.match(/^(.+?\/Drawing)(?:\/|$)/i)?.[1]||e.path,oe=(e,t,n)=>{let r=U(e.properties,[`Name`,`Part`,`Part Name`,`Symbol`,`Device`,`Footprint`,`PCB Footprint`,`Package`,`Padstack`,`Pad Stack`,`Drawing`]);if(r)return r;let i=M(j(n));return i&&i!==`/`?i:t.toUpperCase()},se=(e,t)=>{let n=[],r=`${e.path}\n${e.sample||``}\n${e.strings.join(`
|
|
6
|
-
`)}`.toLowerCase();return(t===`symbol`?[`pins`,`footprint`,`pspice`,`part`,`symbol`]:[`units`,`layers`,`padstack`,`drill`,`outline`,`route`,`constraint`,`shape`,`place_bound`]).forEach(e=>{r.includes(e)&&N(n,e,12)}),n},X=(e,t)=>{let n=new Set(e.map(e=>`${e.key.toLowerCase()}\u0000${e.value}`));t.forEach(t=>{let r=`${t.key.toLowerCase()}\u0000${t.value}`;n.has(r)||(n.add(r),e.push(t))})},ce=(e,t)=>{let n=new Map;return e.forEach(e=>{let r=Y(e,t);if(!r)return;let i=ae(e,r),a=`${r}:${i.toLowerCase()}`,o=n.get(a)||{id:a,name:oe(e,r,i),role:r,path:i,streamCount:0,byteLength:0,properties:[],pins:[],layers:[],keywords:[]};o.streamCount+=1,o.byteLength+=e.size,X(o.properties,e.properties),J(U(e.properties,[`Pins`,`Pin`,`Pin Numbers`])).forEach(e=>N(o.pins,e,96)),J(U(e.properties,[`Layers`,`Layer`])).forEach(e=>N(o.layers,e,64)),se(e,r).forEach(e=>N(o.keywords,e,16)),o.description||=U(o.properties,[`Description`,`Desc`]),o.footprint||=U(o.properties,[`Footprint`,`PCB Footprint`,`Package`]),n.set(a,o)}),Array.from(n.values()).sort((e,t)=>{let n={symbol:0,footprint:1,padstack:2,drawing:3};return(n[e.role]??9)-(n[t.role]??9)||e.name.localeCompare(t.name)})},le=e=>{let t=[];return e.forEach(e=>{(e.role===`metadata`||e.role===`library`||e.role===`drawing`)&&X(t,e.properties)}),t.slice(0,80)},ue=(e,t,n,r)=>{let i={textStreams:e.filter(e=>e.kind===`text`).length,binaryStreams:e.filter(e=>e.kind===`binary`).length,storageEntries:e.filter(e=>e.kind===`storage`).length,propertyCount:e.reduce((e,t)=>e+t.properties.length,0),stringCount:n.length,symbolCount:t.filter(e=>e.role===`symbol`).length,footprintCount:t.filter(e=>e.role===`footprint`).length,padstackCount:t.filter(e=>e.role===`padstack`).length,confidence:`low`};return r===`cfb`&&t.length&&i.propertyCount?i.confidence=`high`:(r===`cfb`||n.length||i.propertyCount)&&(i.confidence=`medium`),i},de=(e,t,n,r,i,a)=>{let o=a.map((e,t)=>({level:`warning`,code:`warning-${t+1}`,message:e}));o.push({level:`info`,code:`parser`,message:t===`cfb`?`已识别为 Microsoft Compound File / OLE2 复合文档容器,并在浏览器端解析目录与流。`:`未识别为 CFB 容器,已使用二进制字符串索引模式展示可读信息。`}),o.push({level:`info`,code:`coverage`,message:`已索引 ${n.length} 个条目、${i.length} 个可读字符串、${r.length} 个 EDA 结构候选。`});let s=e===`olb`&&!r.some(e=>e.role===`symbol`),c=e===`dra`&&!r.some(e=>e.role===`footprint`||e.role===`padstack`);return(s||c)&&o.push({level:`warning`,code:`domain-candidates`,message:e===`olb`?`未发现明确的元件符号候选,文件可能使用了私有二进制编码或需要专业工具导出 ASCII/XML 后再检查。`:`未发现明确的封装、图形或 padstack 候选,文件可能使用了私有二进制数据库编码。`}),o},Z=(e,t,n,r,i,a,o)=>{let s=i.reduce((e,t)=>e+t.size,0),c=ce(i,t),l=le(i),u=de(t,n,i,c,a,o);return{type:t,parser:n,title:t===`olb`?n===`cfb`?`OrCAD Capture Symbol Library`:`OLB Binary Library`:n===`cfb`?`OrCAD / Allegro Drawing Library`:`DRA Binary Drawing`,byteLength:e.byteLength,streamCount:r,totalStreamBytes:s,streams:i,tree:q(i,t),entities:c,metadata:l,strings:a,warnings:o,diagnostics:u,stats:ue(i,c,a,n)}},fe=async(e,t)=>{let n=(await m(()=>import(`./cfb-z-t_baTx.js`).then(e=>r(e.default,1)),__vite__mapDeps([0,1,2]),import.meta.url)).parse(E(e),{type:`array`}),i=n.FileIndex.map((e,t)=>({entry:e,path:n.FullPaths[t]||e.name})).filter(e=>e.entry.type!==5&&e.path!==`/`&&e.entry.name).slice(0,b),a=[],o=i.map(({entry:e,path:n})=>{if(e.type===1)return G(t,n,e.name,e.size||0,`storage`);let r=O(e.content||[]);return a.push(r),G(t,n,e.name,e.size||r.byteLength||0,`binary`,r)}),s=i.length>=b?[`仅展示前 ${b} 个 CFB 项,完整文件仍可下载后在专业 EDA 工具中打开。`]:[];return Z(e,t,`cfb`,n.FileIndex.length,o,z(a),s)},Q=(e,t)=>{let n=E(e);return Z(e,t,`binary`,1,[G(t,`${t}.${t}`,`${t}.${t}`,e.byteLength,`binary`,n)],z([n]),[`该文件不是标准 CFB 容器,已退化为安全的二进制字符串索引预览。`])},pe=async(e,t=`olb`)=>{let n=t===`dra`?`dra`:`olb`;if(!D(E(e)))return Q(e,n);try{return await fe(e,n)}catch(t){let r=Q(e,n);return r.warnings.unshift(t instanceof Error?t.message:String(t)),r.diagnostics.unshift({level:`warning`,code:`cfb-parse-failed`,message:t instanceof Error?t.message:String(t)}),r}},me={class:`eda-viewer`},he={class:`eda-header`},ge={key:0},_e={key:0,class:`eda-body`},ve={class:`eda-sidebar`},ye={class:`eda-summary`},be={class:`eda-mini-grid`},xe={key:0,class:`eda-warning`},Se={class:`eda-stream-list`},Ce=[`onClick`],we=[`data-role`],Te={class:`eda-preview`},Ee={class:`eda-panel eda-panel--compact`},De={class:`eda-panel-head`},Oe={class:`eda-stat-grid`},ke={class:`eda-topology`},Ae={class:`eda-panel`},je={class:`eda-panel-head`},Me={class:`eda-tree`},Ne=[`onClick`],Pe={class:`eda-panel`},Fe={class:`eda-panel-head`},Ie={key:0,class:`eda-entities`},Le=[`onClick`],Re={key:0},ze={key:0},Be={key:1},Ve={key:2},He={key:3},Ue={key:1,class:`eda-empty`},We={class:`eda-panel`},Ge={class:`eda-panel-head`},Ke={key:0,class:`eda-selected-meta`},qe={key:1,class:`eda-property-grid`},Je={key:2},$={key:3,class:`eda-empty`},Ye={class:`eda-bottom`},Xe={class:`eda-panel`},Ze={class:`eda-panel-head`},Qe={class:`eda-string-grid`},$e={class:`eda-panel`},et={class:`eda-panel-head`},tt={class:`eda-diagnostics`},nt=[`data-level`],rt={key:0,class:`eda-local-strings`},it={key:1,class:`eda-state`},at={key:2,class:`eda-error`},ot=h(s({__name:`EdaViewer`,props:{data:{},type:{},filename:{}},setup(r){let s=r,m=i(null),h=i(!0),y=i(``),b=i(null),x=i(``),S={root:`根`,library:`库`,symbol:`元件符号`,footprint:`封装`,padstack:`Padstack`,drawing:`图纸`,metadata:`元数据`,property:`属性`,geometry:`几何`,net:`网络`,unknown:`未知`},C={high:`高`,medium:`中`,low:`低`},w=e=>S[e]||e,T=e=>e===`storage`?`目录`:e===`text`?`文本`:`二进制`,E=e=>e.replace(/^\/+/,``).toLowerCase(),D=l(()=>{if(!m.value)return[];let e=m.value.stats;return[{label:`文本流`,value:e.textStreams},{label:`二进制流`,value:e.binaryStreams},{label:`目录`,value:e.storageEntries},{label:`属性`,value:e.propertyCount},{label:`符号`,value:e.symbolCount},{label:`封装`,value:e.footprintCount},{label:`Padstack`,value:e.padstackCount},{label:`可信度`,value:C[e.confidence]}]}),O=l(()=>{let e=m.value?.entities||[],t=[{role:`symbol`,label:`元件符号`,items:[]},{role:`footprint`,label:`封装图形`,items:[]},{role:`padstack`,label:`Padstack`,items:[]},{role:`drawing`,label:`图纸信息`,items:[]}];return t.forEach(t=>{t.items=e.filter(e=>e.role===t.role)}),t.filter(e=>e.items.length)}),k=l(()=>{let e=x.value.trim().toLowerCase(),t=m.value?.streams||[];return e?t.filter(t=>{let n=t.properties.map(e=>`${e.key}=${e.value}`).join(`
|
|
7
|
-
`);return`${t.path}\n${t.name}\n${t.kind}\n${t.role}\n${t.sample||``}\n${t.strings.join(`
|
|
8
|
-
`)}\n${n}`.toLowerCase().includes(e)}):t}),A=(e,t=0)=>e.flatMap(e=>[{...e,depth:t},...A(e.children,t+1)]),j=l(()=>A(m.value?.tree||[])),M=l(()=>b.value?.properties||[]),N=l(()=>b.value?.strings||[]),P=l(()=>b.value?.sample||b.value?.hex||``),F=e=>{b.value=e},I=e=>{let t=E(e.path),n=m.value?.streams.find(e=>E(e.path)===t);n&&(b.value=n)},L=e=>{let t=E(e.path),n=m.value?.streams.find(e=>{let n=E(e.path);return n===t||n.startsWith(`${t}/`)});n&&(b.value=n)},R=async()=>{h.value=!0,y.value=``;try{let e=await pe(s.data,s.type);m.value=e,b.value=e.streams.find(e=>e.properties.length)||e.streams.find(e=>e.kind===`text`)||e.streams[0]||null}catch(e){console.error(e),y.value=e instanceof Error?e.message:String(e)}finally{h.value=!1}};return ee(()=>{R()}),(i,s)=>(f(),_(`section`,me,[g(`header`,he,[g(`div`,null,[g(`span`,null,t(m.value?.parser===`cfb`?`CFB STRUCTURE VIEWER`:`BINARY STRUCTURE VIEWER`),1),g(`h2`,null,t(r.filename),1)]),m.value?(f(),_(`dl`,ge,[g(`div`,null,[s[1]||=g(`dt`,null,`格式`,-1),g(`dd`,null,t(m.value.type.toUpperCase()),1)]),g(`div`,null,[s[2]||=g(`dt`,null,`大小`,-1),g(`dd`,null,t(v(p)(m.value.byteLength)),1)]),g(`div`,null,[s[3]||=g(`dt`,null,`条目`,-1),g(`dd`,null,t(m.value.streamCount),1)]),g(`div`,null,[s[4]||=g(`dt`,null,`可信度`,-1),g(`dd`,null,t(C[m.value.stats.confidence]),1)])])):u(``,!0)]),m.value?(f(),_(`div`,_e,[g(`aside`,ve,[g(`div`,ye,[g(`strong`,null,t(m.value.title),1),s[5]||=g(`p`,null,`OLB / DRA 属于 OrCAD / Allegro 生态的私有设计数据。预览器优先解析 CFB 结构、对象候选、属性和可读文本,并在纯前端安全退化。`,-1)]),g(`div`,be,[(f(!0),_(d,null,a(D.value.slice(0,4),e=>(f(),_(`div`,{key:e.label},[g(`span`,null,t(e.label),1),g(`strong`,null,t(e.value),1)]))),128))]),m.value.warnings.length?(f(),_(`div`,xe,[(f(!0),_(d,null,a(m.value.warnings,e=>(f(),_(`p`,{key:e},t(e),1))),128))])):u(``,!0),n(g(`input`,{"onUpdate:modelValue":s[0]||=e=>x.value=e,class:`eda-search`,type:`search`,placeholder:`筛选路径、角色、属性或文本`},null,512),[[te,x.value]]),g(`div`,Se,[(f(!0),_(d,null,a(k.value,n=>(f(),_(`button`,{key:n.path,type:`button`,class:e([`eda-stream`,{active:b.value?.path===n.path}]),onClick:e=>F(n)},[g(`span`,{"data-role":n.role},t(w(n.role)),9,we),g(`strong`,null,t(n.name||n.path),1),g(`em`,null,t(n.path),1),g(`small`,null,t(T(n.kind))+` · `+t(v(p)(n.size)),1)],10,Ce))),128))])]),g(`main`,Te,[g(`section`,Ee,[g(`div`,De,[s[6]||=g(`span`,null,`解析概览`,-1),g(`strong`,null,t(m.value.parser.toUpperCase())+` · `+t(v(p)(m.value.totalStreamBytes)),1)]),g(`div`,Oe,[(f(!0),_(d,null,a(D.value,e=>(f(),_(`div`,{key:e.label},[g(`span`,null,t(e.label),1),g(`strong`,null,t(e.value),1)]))),128))])]),g(`section`,ke,[g(`div`,Ae,[g(`div`,je,[s[7]||=g(`span`,null,`结构树`,-1),g(`strong`,null,t(j.value.length)+` 节点`,1)]),g(`div`,Me,[(f(!0),_(d,null,a(j.value,n=>(f(),_(`button`,{key:n.id,type:`button`,class:e({active:E(b.value?.path||``)===E(n.path)}),onClick:e=>I(n)},[g(`span`,{style:c({paddingLeft:`${n.depth*14}px`})},t(n.children.length?`▸`:`•`),5),g(`strong`,null,t(n.name),1),g(`em`,null,t(w(n.role)),1),g(`small`,null,t(n.size?v(p)(n.size):T(n.kind)),1)],10,Ne))),128))])]),g(`div`,Pe,[g(`div`,Fe,[s[8]||=g(`span`,null,`EDA 对象`,-1),g(`strong`,null,t(m.value.entities.length)+` 项`,1)]),O.value.length?(f(),_(`div`,Ie,[(f(!0),_(d,null,a(O.value,e=>(f(),_(`div`,{key:e.role,class:`eda-entity-group`},[g(`h3`,null,t(e.label),1),(f(!0),_(d,null,a(e.items,e=>(f(),_(`button`,{key:e.id,type:`button`,onClick:t=>L(e)},[g(`strong`,null,t(e.name),1),g(`span`,null,t(v(p)(e.byteLength))+` · `+t(e.streamCount)+` 条目`,1),e.description?(f(),_(`p`,Re,t(e.description),1)):u(``,!0),g(`dl`,null,[e.footprint?(f(),_(`div`,ze,[s[9]||=g(`dt`,null,`Footprint`,-1),g(`dd`,null,t(e.footprint),1)])):u(``,!0),e.pins.length?(f(),_(`div`,Be,[s[10]||=g(`dt`,null,`Pins`,-1),g(`dd`,null,t(e.pins.join(`, `)),1)])):u(``,!0),e.layers.length?(f(),_(`div`,Ve,[s[11]||=g(`dt`,null,`Layers`,-1),g(`dd`,null,t(e.layers.join(`, `)),1)])):u(``,!0),e.keywords.length?(f(),_(`div`,He,[s[12]||=g(`dt`,null,`Keywords`,-1),g(`dd`,null,t(e.keywords.join(`, `)),1)])):u(``,!0)])],8,Le))),128))]))),128))])):(f(),_(`div`,Ue,[...s[13]||=[g(`strong`,null,`没有明确对象候选`,-1),g(`p`,null,`仍可从结构树、属性和字符串索引中查看可读内容。`,-1)]]))])]),g(`section`,We,[g(`div`,Ge,[s[14]||=g(`span`,null,`当前条目`,-1),g(`strong`,null,t(b.value?.path||`未选择`),1)]),b.value?(f(),_(`div`,Ke,[g(`span`,null,t(w(b.value.role)),1),g(`span`,null,t(T(b.value.kind)),1),g(`span`,null,t(v(p)(b.value.size)),1)])):u(``,!0),M.value.length?(f(),_(`div`,qe,[(f(!0),_(d,null,a(M.value,e=>(f(),_(`div`,{key:`${e.source}-${e.key}-${e.value}`},[g(`span`,null,t(e.key),1),g(`strong`,null,t(e.value),1)]))),128))])):u(``,!0),P.value?(f(),_(`pre`,Je,t(P.value),1)):(f(),_(`div`,$,[...s[15]||=[g(`strong`,null,`目录条目`,-1),g(`p`,null,`该节点用于组织下级流,没有可直接展示的文本或十六进制片段。`,-1)]]))]),g(`section`,Ye,[g(`div`,Xe,[g(`div`,Ze,[s[16]||=g(`span`,null,`可读字符串`,-1),g(`strong`,null,t(m.value.strings.length)+` 项`,1)]),g(`div`,Qe,[(f(!0),_(d,null,a(m.value.strings,(e,n)=>(f(),_(`span`,{key:`${e}-${n}`},t(e),1))),128))])]),g(`div`,$e,[g(`div`,et,[s[17]||=g(`span`,null,`诊断`,-1),g(`strong`,null,t(m.value.diagnostics.length)+` 条`,1)]),g(`div`,tt,[(f(!0),_(d,null,a(m.value.diagnostics,e=>(f(),_(`p`,{key:`${e.code}-${e.message}`,"data-level":e.level},[g(`span`,null,t(e.level),1),o(` `+t(e.message),1)],8,nt))),128))]),N.value.length?(f(),_(`div`,rt,[s[18]||=g(`strong`,null,`当前条目字符串`,-1),(f(!0),_(d,null,a(N.value,(e,n)=>(f(),_(`span`,{key:`${e}-${n}`},t(e),1))),128))])):u(``,!0)])])])])):u(``,!0),h.value?(f(),_(`div`,it,[s[19]||=g(`span`,null,null,-1),g(`strong`,null,`正在解析 `+t(r.type.toUpperCase())+`...`,1)])):u(``,!0),y.value?(f(),_(`div`,at,[s[20]||=g(`strong`,null,`EDA 预览提示`,-1),g(`p`,null,t(y.value),1)])):u(``,!0)]))}}),[[`__scopeId`,`data-v-9eb9b927`]]);export{ot as default};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./lib-6sh2y9xa.js","./index-Wv8YWT7J.js","./index-Da-_mMtb.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{B as e,D as t,H as n,J as r,L as i,M as a,O as o,S as s,T as c,_ as l,b as u,g as d,j as f,k as p,t as m,u as h,v as g,x as _}from"./index-Wv8YWT7J.js";import{t as v}from"./nestedRender-B6UKcdX4.js";var y={class:`email-viewer`},b={class:`email-header`},x={key:0,class:`email-meta`},S={key:0},C={key:0,class:`email-body`},w={class:`email-sidebar`},T={class:`body-tabs`},E=[`disabled`,`onClick`],D={class:`attachment-panel`},O={class:`attachment-title`},k=[`onClick`],A={class:`message-panel`},ee=[`srcdoc`],j={key:1,class:`email-text`},M={key:2,class:`email-text`},N={key:3,class:`attachment-preview`},P={class:`attachment-preview-head`},F={key:1,class:`email-state`},I={key:2,class:`email-error`},L=h(c({__name:`EmailViewer`,props:{data:{},type:{},filename:{},options:{}},setup(c){let h=c,L=i(null),R=i(!0),z=i(`正在解析邮件...`),B=i(``),V=i(`html`),H=i(null),U=i(null),W=new Map,G=[],K,q=e=>{if(!Number.isFinite(e)||e<0)return`-`;if(e<1024)return`${e} B`;let t=e/1024/1024;return t>=1?`${t.toFixed(+(t<10))} MB`:`${(e/1024).toFixed(+(e<10*1024))} KB`},J=e=>e?(Array.isArray(e)?e:[e]).flatMap(e=>{let t=e;return t.group?J(t.group):[{name:t.name||``,address:t.address||t.email||``}]}):[],Y=e=>e.map(e=>e.name&&e.address?`${e.name} <${e.address}>`:e.address||e.name||``).filter(Boolean).join(`, `),X=l(()=>{let e=L.value?.html||``;if(!e)return``;let t=e;return W.forEach((e,n)=>{t=t.replace(RegExp(`cid:${n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}`,`gi`),e)}),`<!doctype html><html><head><meta charset="utf-8"><base target="_blank"><style>body{margin:0;padding:18px;font-family:Aptos,"Segoe UI",sans-serif;line-height:1.6;color:#172033;word-break:break-word;}img{max-width:100%;height:auto;}</style></head><body>${t}</body></html>`}),Z=l(()=>[{key:`html`,label:`HTML`,disabled:!L.value?.html},{key:`text`,label:`正文`,disabled:!L.value?.text},{key:`headers`,label:`头信息`,disabled:!L.value?.headers}]),Q=async e=>{if(e instanceof ArrayBuffer)return e;if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t.buffer}return Q(new TextEncoder().encode(e))},te=async()=>{let e=await(await m(async()=>{let{default:e}=await import(`./postal-mime-DhooDFq1.js`);return{default:e}},[],import.meta.url)).default.parse(h.data,{attachmentEncoding:`arraybuffer`,maxNestingDepth:24,maxHeadersSize:2*1024*1024}),t=e.attachments.map((e,t)=>{let n=typeof e.content==`string`?e.content.length:e.content.byteLength,r=e.filename||`attachment-${t+1}`;return{id:`${t}-${r}`,name:r,mimeType:e.mimeType,size:n,contentId:e.contentId,load:()=>Q(e.content)}});return await Promise.all(t.map(async e=>{if(!e.contentId||!e.mimeType?.startsWith(`image/`))return;let t=await e.load(),n=URL.createObjectURL(new Blob([t],{type:e.mimeType}));G.push(n),W.set(e.contentId.replace(/[<>]/g,``),n)})),{kind:`eml`,subject:e.subject||h.filename,from:J(e.from),to:J(e.to),cc:J(e.cc),date:e.date,text:e.text,html:e.html,headers:e.headerLines?.map(e=>e.line).join(`
|
|
3
|
-
`)||e.headers?.map(e=>`${e.originalKey}: ${e.value}`).join(`
|
|
4
|
-
`),attachments:t}},ne=async()=>{let e=await m(()=>import(`./lib-6sh2y9xa.js`).then(e=>r(e.default,1)),__vite__mapDeps([0,1,2]),import.meta.url),t=new(e.default?.default||e.default)(h.data),n=t.getFileData(),i=(n.attachments||[]).map((e,n)=>{let r=e.fileName||e.fileNameShort||e.name||`attachment-${n+1}${e.extension||``}`;return{id:`${n}-${r}`,name:r,mimeType:`application/octet-stream`,size:e.contentLength||e.size||0,contentId:e.pidContentId,async load(){return Q(t.getAttachment(e).content)}}});return{kind:`msg`,subject:n.subject||h.filename,from:J({name:n.senderName,address:n.senderEmail}),to:J(n.recipients||[]).filter(e=>e.name||e.address),cc:[],date:n.messageDeliveryTime||n.clientSubmitTime||n.creationTime,text:n.body,html:n.html||``,headers:n.headers,attachments:i}},re=async()=>{R.value=!0,B.value=``;try{L.value=h.type===`msg`?await ne():await te(),V.value=L.value.html?`html`:L.value.text?`text`:`headers`}catch(e){console.error(e),B.value=e instanceof Error?e.message:String(e)}finally{R.value=!1}},$=()=>{K?.unmount?.(),K=void 0;let e=U.value;if(e)for(;e.firstChild;)e.removeChild(e.firstChild)},ie=async e=>{H.value=e,R.value=!0,z.value=`正在打开附件 ${e.name}...`;try{let n=await e.load();await t(),$();let r=U.value;if(!r)return;let i=document.createElement(`div`);i.className=`email-attachment-render`,r.appendChild(i),K=await v(n,e.name.includes(`.`)?e.name.slice(e.name.lastIndexOf(`.`)+1).toLowerCase():`txt`,i,{filename:e.name,options:h.options})}catch(e){console.error(e),B.value=e instanceof Error?e.message:String(e)}finally{R.value=!1,z.value=`正在解析邮件...`}},ae=async e=>{let t=await e.load(),n=URL.createObjectURL(new Blob([t],{type:e.mimeType||`application/octet-stream`}));G.push(n);let r=document.createElement(`a`);r.href=n,r.download=e.name,document.body.appendChild(r),r.click(),r.remove()};return p(()=>{re()}),o(()=>{$(),G.forEach(e=>URL.revokeObjectURL(e))}),(t,r)=>(f(),_(`section`,y,[g(`header`,b,[g(`span`,null,n(L.value?.kind?.toUpperCase()||c.type.toUpperCase()),1),g(`h2`,null,n(L.value?.subject||c.filename),1),L.value?(f(),_(`div`,x,[g(`p`,null,[r[1]||=g(`strong`,null,`发件人`,-1),s(n(Y(L.value.from)||`-`),1)]),g(`p`,null,[r[2]||=g(`strong`,null,`收件人`,-1),s(n(Y(L.value.to)||`-`),1)]),L.value.cc.length?(f(),_(`p`,S,[r[3]||=g(`strong`,null,`抄送`,-1),s(n(Y(L.value.cc)),1)])):u(``,!0),g(`p`,null,[r[4]||=g(`strong`,null,`时间`,-1),s(n(L.value.date||`-`),1)])])):u(``,!0)]),L.value?(f(),_(`div`,C,[g(`aside`,w,[g(`div`,T,[(f(!0),_(d,null,a(Z.value,t=>(f(),_(`button`,{key:t.key,type:`button`,disabled:t.disabled,class:e({active:V.value===t.key}),onClick:e=>V.value=t.key},n(t.label),11,E))),128))]),g(`section`,D,[g(`div`,O,[r[5]||=g(`strong`,null,`附件`,-1),g(`span`,null,n(L.value.attachments.length),1)]),(f(!0),_(d,null,a(L.value.attachments,t=>(f(),_(`button`,{key:t.id,type:`button`,class:e([`attachment-item`,{active:H.value?.id===t.id}]),onClick:e=>ie(t)},[g(`span`,null,n(t.name.split(`.`).pop()?.toUpperCase()||`FILE`),1),g(`strong`,null,n(t.name),1),g(`em`,null,n(q(t.size)),1)],10,k))),128))])]),g(`main`,A,[V.value===`html`&&X.value?(f(),_(`iframe`,{key:0,class:`email-html`,sandbox:``,srcdoc:X.value},null,8,ee)):V.value===`text`?(f(),_(`pre`,j,n(L.value.text),1)):(f(),_(`pre`,M,n(L.value.headers),1)),H.value?(f(),_(`section`,N,[g(`div`,P,[g(`strong`,null,n(H.value.name),1),g(`button`,{type:`button`,onClick:r[0]||=e=>ae(H.value)},`下载附件`)]),g(`div`,{ref_key:`attachmentTarget`,ref:U,class:`attachment-target`},null,512)])):u(``,!0)])])):u(``,!0),R.value?(f(),_(`div`,F,[r[6]||=g(`span`,null,null,-1),g(`strong`,null,n(z.value),1)])):u(``,!0),B.value?(f(),_(`div`,I,[r[7]||=g(`strong`,null,`邮件预览提示`,-1),g(`p`,null,n(B.value),1)])):u(``,!0)]))}}),[[`__scopeId`,`data-v-0989d798`]]);export{L as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./src-DJvfcK9f.js","./index-Wv8YWT7J.js","./index-Da-_mMtb.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{B as e,D as t,H as n,L as r,M as i,O as a,T as o,V as s,_ as c,b as l,g as u,j as d,k as f,t as p,u as m,v as h,x as g}from"./index-Wv8YWT7J.js";var _={class:`epub-toolbar`},v={class:`epub-title`},y={class:`epub-actions`},b=[`disabled`],x={class:`epub-progress`},S=[`disabled`],C={class:`epub-body`},w={key:0,class:`epub-toc`},T={class:`epub-toc-head`},E={class:`epub-toc-list`},D=[`onClick`],O={class:`epub-stage-wrap`},k={key:0,class:`epub-state`},A={key:1,class:`epub-state error`},j=m(o({__name:`EpubViewer`,props:{data:{}},setup(o){let m=o,j=r(null),M=r(`loading`),N=r(``),P=r(!0),F=r(`EPUB 电子书`),I=r(``),L=r([]),R=r(``),z=r(null),B=r(!0),V=r(!1),H,U,W=!1,G,K=c(()=>{if(!R.value)return``;let e=L.value.find(e=>e.href===R.value);return e?e.label:L.value.find(e=>R.value.includes(e.href.split(`#`)[0]))?.label||``}),q=c(()=>typeof z.value==`number`?`${z.value}%`:K.value||`阅读中`),J=(e,t)=>typeof e==`string`&&e.trim()?e.trim():t,Y=(e,t=0)=>Array.isArray(e)?e.flatMap((e,n)=>{let r=e,i=typeof r.href==`string`?r.href:``,a=J(r.label||r.title,`章节 ${n+1}`),o=Y(r.subitems||r.children,t+1);return i?[{depth:t,href:i,id:`${t}-${n}-${i}`,label:a},...o]:o}):[],X=e=>{let t=e.find(e=>{let t=e.label.toLowerCase();return/(^|\s)(chapter|part|book|prologue|preface|introduction)\b/.test(t)||/第[一二三四五六七八九十百千0-9]+[章节回部卷篇]/.test(e.label)});return t?t.href:e.find(e=>{let t=`${e.label} ${e.href}`.toLowerCase();return!/(cover|titlepage|title-page|copyright|license|toc|contents|nav|table-of-contents|wrap0000)/.test(t)})?.href||e[0]?.href},Z=e=>{B.value=!!e?.atStart,V.value=!!e?.atEnd,R.value=e?.start?.href||``,typeof e?.start?.percentage==`number`&&(z.value=Math.round(e.start.percentage*100))},Q=e=>new Promise(t=>{G=window.setTimeout(t,e)}),$=()=>{let e=(j.value?.querySelector(`iframe`))?.contentDocument?.body;return e?!!(e.innerText.trim()||e.querySelector(`img, svg, canvas`)):!1},ee=async()=>{for(let e=0;e<20;e++){if(W||$())return $();await Q(100)}return $()},te=async()=>{M.value=`loading`,await t();let e=j.value;if(e)try{let{default:t}=await p(async()=>{let{default:e}=await import(`./src-DJvfcK9f.js`);return{default:e}},__vite__mapDeps([0,1,2]),import.meta.url);if(W)return;H=t(m.data.slice(0),{openAs:`binary`,replacements:`blobUrl`}),U=H.renderTo(e,{allowScriptedContent:!1,flow:`scrolled`,height:`100%`,manager:`continuous`,resizeOnOrientationChange:!0,spread:`none`,width:`100%`}),U.themes.default({body:{color:`#172033`,fontFamily:`Georgia, "Times New Roman", serif`,lineHeight:`1.72`,padding:`0 8px`},img:{maxWidth:`100%`},html:{height:`auto`,overflow:`auto`}}),U.on(`relocated`,Z),await H.ready;let n=await H.loaded.metadata.catch(()=>void 0);F.value=J(n?.title,F.value),I.value=J(n?.creator,``),L.value=Y((await H.loaded.navigation.catch(()=>void 0))?.toc);let r=X(L.value);if(await U.display(r),!await ee())throw Error(`EPUB 正文渲染未完成,请刷新后重试`);if(W)return;M.value=`ready`,H.locations.generate(1200).catch(()=>void 0)}catch(e){console.error(e),N.value=e instanceof Error?e.message:String(e),M.value=`error`}},ne=async()=>{await U?.prev()},re=async()=>{await U?.next()},ie=async e=>{await U?.display(e.href),P.value=!1};return f(te),a(()=>{W=!0,G!==void 0&&(clearTimeout(G),G=void 0),U&&=(U.off(`relocated`,Z),U.destroy(),void 0),H?.destroy(),H=void 0}),(t,r)=>(d(),g(`div`,{class:e([`epub-viewer`,{"epub-viewer--toc-hidden":!P.value}])},[h(`div`,_,[h(`button`,{type:`button`,class:e([`epub-icon-button`,{active:P.value}]),title:`目录`,onClick:r[0]||=e=>P.value=!P.value},[...r[1]||=[h(`span`,null,null,-1)]],2),h(`div`,v,[h(`strong`,null,n(F.value),1),h(`span`,null,n(I.value||q.value),1)]),h(`div`,y,[h(`button`,{type:`button`,class:`epub-button`,disabled:M.value!==`ready`||B.value,onClick:ne},` 上一页 `,8,b),h(`span`,x,n(q.value),1),h(`button`,{type:`button`,class:`epub-button`,disabled:M.value!==`ready`||V.value,onClick:re},` 下一页 `,8,S)])]),h(`div`,C,[P.value?(d(),g(`aside`,w,[h(`div`,T,[r[2]||=h(`strong`,null,`目录`,-1),h(`span`,null,n(L.value.length)+` 项`,1)]),h(`div`,E,[(d(!0),g(u,null,i(L.value,t=>(d(),g(`button`,{key:t.id,type:`button`,class:e([`epub-toc-item`,{active:t.href===R.value}]),style:s({paddingLeft:`${12+t.depth*14}px`}),onClick:e=>ie(t)},n(t.label),15,D))),128))])])):l(``,!0),h(`main`,O,[h(`div`,{ref_key:`stage`,ref:j,class:`epub-stage`},null,512),M.value===`loading`?(d(),g(`div`,k,`正在解析 EPUB...`)):M.value===`error`?(d(),g(`div`,A,n(N.value),1)):l(``,!0)])])],2))}}),[[`__scopeId`,`data-v-8f8a2b3b`]]);export{j as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e,D as t,F as n,J as r,L as i,M as a,N as o,P as s,T as c,U as l,_ as u,g as d,j as f,k as p,u as m,x as h,y as g,z as ee}from"./index-Wv8YWT7J.js";var _=r(l(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self,n.Viewer=r())})(e,(function(){function e(e,t){if(!(e instanceof t))throw TypeError(`Cannot call a class as a function`)}function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,s(r.key),r)}}function n(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,`prototype`,{writable:!1}),e}function r(e,t,n){return(t=s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?i(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function o(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function s(e){var t=o(e,`string`);return typeof t==`symbol`?t:t+``}function c(e){"@babel/helpers - typeof";return c=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},c(e)}var l={backdrop:!0,button:!0,navbar:!0,title:!0,toolbar:!0,className:``,container:`body`,filter:null,fullscreen:!0,inheritedAttributes:[`crossOrigin`,`decoding`,`isMap`,`loading`,`referrerPolicy`,`sizes`,`srcset`,`useMap`],initialCoverage:.9,initialViewIndex:0,inline:!1,interval:5e3,keyboard:!0,focus:!0,loading:!0,loop:!0,minWidth:200,minHeight:100,movable:!0,rotatable:!0,scalable:!0,zoomable:!0,zoomOnTouch:!0,zoomOnWheel:!0,slideOnTouch:!0,toggleOnDblclick:!0,tooltip:!0,transition:!0,zIndex:2015,zIndexInline:0,zoomRatio:.1,minZoomRatio:.01,maxZoomRatio:100,url:`src`,ready:null,show:null,shown:null,hide:null,hidden:null,view:null,viewed:null,move:null,moved:null,rotate:null,rotated:null,scale:null,scaled:null,zoom:null,zoomed:null,play:null,stop:null},u=`<div class="viewer-container" tabindex="-1" touch-action="none"><div class="viewer-canvas"></div><div class="viewer-footer"><div class="viewer-title"></div><div class="viewer-toolbar"></div><div class="viewer-navbar"><ul class="viewer-list" role="navigation"></ul></div></div><div class="viewer-tooltip" role="alert" aria-hidden="true"></div><div class="viewer-button" data-viewer-action="mix" role="button"></div><div class="viewer-player"></div></div>`,d=typeof window<`u`&&window.document!==void 0,f=d?window:{},p=d&&f.document.documentElement?`ontouchstart`in f.document.documentElement:!1,m=d?`PointerEvent`in f:!1,h=`viewer`,g=`move`,ee=`switch`,_=`zoom`,v=`${h}-active`,te=`${h}-close`,y=`${h}-fade`,b=`${h}-fixed`,ne=`${h}-fullscreen`,re=`${h}-fullscreen-exit`,x=`${h}-hide`,S=`${h}-hide-md-down`,ie=`${h}-hide-sm-down`,ae=`${h}-hide-xs-down`,C=`${h}-in`,w=`${h}-invisible`,T=`${h}-loading`,oe=`${h}-move`,se=`${h}-open`,E=`${h}-show`,D=`${h}-transition`,O=`click`,ce=`dblclick`,le=`dragstart`,ue=`focusin`,de=`keydown`,k=`load`,A=`error`,fe=p?`touchend touchcancel`:`mouseup`,pe=p?`touchmove`:`mousemove`,me=m?`pointerdown`:p?`touchstart`:`mousedown`,he=m?`pointermove`:pe,ge=m?`pointerup pointercancel`:fe,_e=`resize`,j=`transitionend`,ve=`wheel`,ye=`ready`,be=`show`,xe=`shown`,Se=`hide`,Ce=`hidden`,we=`view`,M=`viewed`,Te=`move`,Ee=`moved`,De=`rotate`,Oe=`rotated`,ke=`scale`,Ae=`scaled`,N=`zoom`,je=`zoomed`,Me=`play`,Ne=`stop`,P=`${h}Action`,Pe=/\s\s*/,F=[`zoom-in`,`zoom-out`,`one-to-one`,`reset`,`prev`,`play`,`next`,`rotate-left`,`rotate-right`,`flip-horizontal`,`flip-vertical`];function I(e){return typeof e==`string`}var Fe=Number.isNaN||f.isNaN;function L(e){return typeof e==`number`&&!Fe(e)}function R(e){return e===void 0}function z(e){return c(e)===`object`&&e!==null}var Ie=Object.prototype.hasOwnProperty;function B(e){if(!z(e))return!1;try{var t=e.constructor,n=t.prototype;return t&&n&&Ie.call(n,`isPrototypeOf`)}catch{return!1}}function V(e){return typeof e==`function`}function H(e,t){if(e&&V(t))if(Array.isArray(e)||L(e.length)){var n=e.length,r;for(r=0;r<n&&t.call(e,e[r],r,e)!==!1;r+=1);}else z(e)&&Object.keys(e).forEach(function(n){t.call(e,e[n],n,e)});return e}var U=Object.assign||function(e){var t=[...arguments].slice(1);return z(e)&&t.length>0&&t.forEach(function(t){z(t)&&Object.keys(t).forEach(function(n){e[n]=t[n]})}),e},Le=/^(?:width|height|left|top|marginLeft|marginTop)$/;function W(e,t){var n=e.style;H(t,function(e,t){Le.test(t)&&L(e)&&(e+=`px`),n[t]=e})}function Re(e){return I(e)?e.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,`&`).replace(/"/g,`"`).replace(/'/g,`'`).replace(/</g,`<`).replace(/>/g,`>`):e}function G(e,t){return!e||!t?!1:e.classList?e.classList.contains(t):e.className.indexOf(t)>-1}function K(e,t){if(!(!e||!t)){if(L(e.length)){H(e,function(e){K(e,t)});return}if(e.classList){e.classList.add(t);return}var n=e.className.trim();n?n.indexOf(t)<0&&(e.className=`${n} ${t}`):e.className=t}}function q(e,t){if(!(!e||!t)){if(L(e.length)){H(e,function(e){q(e,t)});return}if(e.classList){e.classList.remove(t);return}e.className.indexOf(t)>=0&&(e.className=e.className.replace(t,``))}}function J(e,t,n){if(t){if(L(e.length)){H(e,function(e){J(e,t,n)});return}n?K(e,t):q(e,t)}}var ze=/([a-z\d])([A-Z])/g;function Be(e){return e.replace(ze,`$1-$2`).toLowerCase()}function Y(e,t){return z(e[t])?e[t]:e.dataset?e.dataset[t]:e.getAttribute(`data-${Be(t)}`)}function Ve(e,t,n){z(n)?e[t]=n:e.dataset?e.dataset[t]=n:e.setAttribute(`data-${Be(t)}`,n)}var He=function(){var e=!1;if(d){var t=!1,n=function(){},r=Object.defineProperty({},`once`,{get:function(){return e=!0,t},set:function(e){t=e}});f.addEventListener(`test`,n,r),f.removeEventListener(`test`,n,r)}return e}();function X(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Pe).forEach(function(t){if(!He){var a=e.listeners;a&&a[t]&&a[t][n]&&(i=a[t][n],delete a[t][n],Object.keys(a[t]).length===0&&delete a[t],Object.keys(a).length===0&&delete e.listeners)}e.removeEventListener(t,i,r)})}function Z(e,t,n){var r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},i=n;t.trim().split(Pe).forEach(function(t){if(r.once&&!He){var a=e.listeners,o=a===void 0?{}:a;i=function(){delete o[t][n],e.removeEventListener(t,i,r);var a=[...arguments];n.apply(e,a)},o[t]||(o[t]={}),o[t][n]&&e.removeEventListener(t,o[t][n],r),o[t][n]=i,e.listeners=o}e.addEventListener(t,i,r)})}function Q(e,t,n,r){var i;return V(Event)&&V(CustomEvent)?i=new CustomEvent(t,a({bubbles:!0,cancelable:!0,detail:n},r)):(i=document.createEvent(`CustomEvent`),i.initCustomEvent(t,!0,!0,n)),e.dispatchEvent(i)}function Ue(e){var t=e.getBoundingClientRect();return{left:t.left+(window.pageXOffset-document.documentElement.clientLeft),top:t.top+(window.pageYOffset-document.documentElement.clientTop)}}function We(e){var t=e.rotate,n=e.scaleX,r=e.scaleY,i=e.translateX,a=e.translateY,o=[];L(i)&&i!==0&&o.push(`translateX(${i}px)`),L(a)&&a!==0&&o.push(`translateY(${a}px)`),L(t)&&t!==0&&o.push(`rotate(${t}deg)`),L(n)&&n!==1&&o.push(`scaleX(${n})`),L(r)&&r!==1&&o.push(`scaleY(${r})`);var s=o.length?o.join(` `):`none`;return{WebkitTransform:s,msTransform:s,transform:s}}function Ge(e){return I(e)?decodeURIComponent(e.replace(/^.*\//,``).replace(/[?&#].*$/,``)):``}var Ke=f.navigator&&/Version\/\d+(\.\d+)+?\s+Safari/i.test(f.navigator.userAgent);function qe(e,t,n){var r=document.createElement(`img`);if(e.naturalWidth&&!Ke)return n(e.naturalWidth,e.naturalHeight),r;var i=document.body||document.documentElement;return r.onload=function(){n(r.width,r.height),Ke||i.removeChild(r)},H(t.inheritedAttributes,function(t){var n=e.getAttribute(t);n!==null&&r.setAttribute(t,n)}),r.src=e.src,Ke||(r.style.cssText=`left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;`,i.appendChild(r)),r}function Je(e){switch(e){case 2:return ae;case 3:return ie;case 4:return S;default:return``}}function Ye(e){var t=a({},e),n=[];return H(e,function(e,r){delete t[r],H(t,function(t){var r=Math.abs(e.startX-t.startX),i=Math.abs(e.startY-t.startY),a=Math.abs(e.endX-t.endX),o=Math.abs(e.endY-t.endY),s=Math.sqrt(r*r+i*i),c=(Math.sqrt(a*a+o*o)-s)/s;n.push(c)})}),n.sort(function(e,t){return Math.abs(e)<Math.abs(t)}),n[0]}function Xe(e,t){var n=e.pageX,r=e.pageY,i={endX:n,endY:r};return t?i:a({timeStamp:Date.now(),startX:n,startY:r},i)}function Ze(e){var t=0,n=0,r=0;return H(e,function(e){var i=e.startX,a=e.startY;t+=i,n+=a,r+=1}),t/=r,n/=r,{pageX:t,pageY:n}}var Qe={render:function(){this.initContainer(),this.initViewer(),this.initList(),this.renderViewer()},initBody:function(){var e=this.element.ownerDocument,t=e.body||e.documentElement;this.body=t,this.scrollbarWidth=window.innerWidth-e.documentElement.clientWidth,this.initialBodyPaddingRight=t.style.paddingRight,this.initialBodyComputedPaddingRight=window.getComputedStyle(t).paddingRight},initContainer:function(){this.containerData={width:window.innerWidth,height:window.innerHeight}},initViewer:function(){var e=this.options,t=this.parent,n;e.inline&&(n={width:Math.max(t.offsetWidth,e.minWidth),height:Math.max(t.offsetHeight,e.minHeight)},this.parentData=n),(this.fulled||!n)&&(n=this.containerData),this.viewerData=U({},n)},renderViewer:function(){this.options.inline&&!this.fulled&&W(this.viewer,this.viewerData)},initList:function(){var e=this,t=this.element,n=this.options,r=this.list,i=[];r.innerHTML=``,H(this.images,function(t,a){var o=t.src,s=t.alt||Ge(o),c=e.getImageURL(t);if(o||c){var l=document.createElement(`li`),u=document.createElement(`img`);H(n.inheritedAttributes,function(e){var n=t.getAttribute(e);n!==null&&u.setAttribute(e,n)}),n.navbar&&(u.src=o||c),u.alt=s,u.setAttribute(`data-original-url`,c||o),l.setAttribute(`data-index`,a),l.setAttribute(`data-viewer-action`,`view`),l.setAttribute(`role`,`button`),n.keyboard&&l.setAttribute(`tabindex`,0),l.appendChild(u),r.appendChild(l),i.push(l)}}),this.items=i,H(i,function(t){var r=t.firstElementChild,i,a;Ve(r,`filled`,!0),n.loading&&K(t,T),Z(r,k,i=function(i){X(r,A,a),n.loading&&q(t,T),e.loadImage(i)},{once:!0}),Z(r,A,a=function(){X(r,k,i),n.loading&&q(t,T)},{once:!0})}),n.transition&&Z(t,M,function(){K(r,D)},{once:!0})},renderList:function(){var e=this.index,t=this.items[e];if(t){var n=t.nextElementSibling,r=parseInt(window.getComputedStyle(n||t).marginLeft,10),i=t.offsetWidth,a=i+r;W(this.list,U({width:a*this.length-r},We({translateX:(this.viewerData.width-i)/2-a*e})))}},resetList:function(){var e=this.list;e.innerHTML=``,q(e,D),W(e,We({translateX:0}))},initImage:function(e){var t=this,n=this.options,r=this.image,i=this.viewerData,a=this.footer.offsetHeight,o=i.width,s=Math.max(i.height-a,a),c=this.imageData||{},l;this.imageInitializing={abort:function(){l.onload=null}},l=qe(r,n,function(r,i){var a=r/i,l=Math.max(0,Math.min(1,n.initialCoverage)),u=o,d=s;t.imageInitializing=!1,s*a>o?d=o/a:u=s*a,l=L(l)?l:.9,u=Math.min(u*l,r),d=Math.min(d*l,i);var f=(o-u)/2,p=(s-d)/2,m={left:f,top:p,x:f,y:p,width:u,height:d,oldRatio:1,ratio:u/r,aspectRatio:a,naturalWidth:r,naturalHeight:i},h=U({},m);n.rotatable&&(m.rotate=c.rotate||0,h.rotate=0),n.scalable&&(m.scaleX=c.scaleX||1,m.scaleY=c.scaleY||1,h.scaleX=1,h.scaleY=1),t.imageData=m,t.initialImageData=h,e&&e()})},renderImage:function(e){var t=this,n=this.image,r=this.imageData;if(W(n,U({width:r.width,height:r.height,marginLeft:r.x,marginTop:r.y},We(r))),e)if((this.viewing||this.moving||this.rotating||this.scaling||this.zooming)&&this.options.transition&&G(n,D)){var i=function(){t.imageRendering=!1,e()};this.imageRendering={abort:function(){X(n,j,i)}},Z(n,j,i,{once:!0})}else e()},resetImage:function(){var e=this.image;e&&(this.viewing&&this.viewing.abort(),e.parentNode.removeChild(e),this.image=null,this.title.innerHTML=``)}},$e={bind:function(){var e=this.options,t=this.viewer,n=this.canvas,r=this.element.ownerDocument;Z(t,O,this.onClick=this.click.bind(this)),Z(t,le,this.onDragStart=this.dragstart.bind(this)),Z(n,me,this.onPointerDown=this.pointerdown.bind(this)),Z(r,he,this.onPointerMove=this.pointermove.bind(this)),Z(r,ge,this.onPointerUp=this.pointerup.bind(this)),Z(r,de,this.onKeyDown=this.keydown.bind(this)),Z(window,_e,this.onResize=this.resize.bind(this)),e.zoomable&&e.zoomOnWheel&&Z(t,ve,this.onWheel=this.wheel.bind(this),{passive:!1,capture:!0}),e.toggleOnDblclick&&Z(n,ce,this.onDblclick=this.dblclick.bind(this))},unbind:function(){var e=this.options,t=this.viewer,n=this.canvas,r=this.element.ownerDocument;X(t,O,this.onClick),X(t,le,this.onDragStart),X(n,me,this.onPointerDown),X(r,he,this.onPointerMove),X(r,ge,this.onPointerUp),X(r,de,this.onKeyDown),X(window,_e,this.onResize),e.zoomable&&e.zoomOnWheel&&X(t,ve,this.onWheel,{passive:!1,capture:!0}),e.toggleOnDblclick&&X(n,ce,this.onDblclick)}},et={click:function(e){var t=this.options,n=this.imageData,r=e.target,i=Y(r,P);switch(!i&&r.localName===`img`&&r.parentElement.localName===`li`&&(r=r.parentElement,i=Y(r,P)),p&&e.isTrusted&&r===this.canvas&&clearTimeout(this.clickCanvasTimeout),i){case`mix`:this.played?this.stop():t.inline?this.fulled?this.exit():this.full():this.hide();break;case`hide`:this.pointerMoved||this.hide();break;case`view`:this.view(Y(r,`index`));break;case`zoom-in`:this.zoom(.1,!0);break;case`zoom-out`:this.zoom(-.1,!0);break;case`one-to-one`:this.toggle();break;case`reset`:this.reset();break;case`prev`:this.prev(t.loop);break;case`play`:this.play(t.fullscreen);break;case`next`:this.next(t.loop);break;case`rotate-left`:this.rotate(-90);break;case`rotate-right`:this.rotate(90);break;case`flip-horizontal`:this.scaleX(-n.scaleX||-1);break;case`flip-vertical`:this.scaleY(-n.scaleY||-1);break;default:this.played&&this.stop()}},dblclick:function(e){e.preventDefault(),this.viewed&&e.target===this.image&&(p&&e.isTrusted&&clearTimeout(this.doubleClickImageTimeout),this.toggle(e.isTrusted?e:e.detail&&e.detail.originalEvent))},load:function(){var e=this;this.timeout&&=(clearTimeout(this.timeout),!1);var t=this.element,n=this.options,r=this.image,i=this.index,a=this.viewerData;q(r,w),n.loading&&q(this.canvas,T),r.style.cssText=`height:0;margin-left:${a.width/2}px;margin-top:${a.height/2}px;max-width:none!important;position:relative;width:0;`,this.initImage(function(){J(r,oe,n.movable),J(r,D,n.transition),e.renderImage(function(){e.viewed=!0,e.viewing=!1,V(n.viewed)&&Z(t,M,n.viewed,{once:!0}),Q(t,M,{originalImage:e.images[i],index:i,image:r},{cancelable:!1})})})},loadImage:function(e){var t=e.target,n=t.parentNode,r=n.offsetWidth||30,i=n.offsetHeight||50,a=!!Y(t,`filled`);qe(t,this.options,function(e,n){var o=e/n,s=r,c=i;i*o>r?a?s=i*o:c=r/o:a?c=r/o:s=i*o,W(t,U({width:s,height:c},We({translateX:(r-s)/2,translateY:(i-c)/2})))})},keydown:function(e){var t=this.options;if(t.keyboard){var n=e.keyCode||e.which||e.charCode;switch(n){case 13:this.viewer.contains(e.target)&&this.click(e);break}if(this.fulled)switch(n){case 27:this.played?this.stop():t.inline?this.fulled&&this.exit():this.hide();break;case 32:this.played&&this.stop();break;case 37:this.played&&this.playing?this.playing.prev():this.prev(t.loop);break;case 38:e.preventDefault(),this.zoom(t.zoomRatio,!0);break;case 39:this.played&&this.playing?this.playing.next():this.next(t.loop);break;case 40:e.preventDefault(),this.zoom(-t.zoomRatio,!0);break;case 48:case 49:e.ctrlKey&&(e.preventDefault(),this.toggle());break}}},dragstart:function(e){e.target.localName===`img`&&e.preventDefault()},pointerdown:function(e){var t=this.options,n=this.pointers,r=e.buttons,i=e.button;if(this.pointerMoved=!1,!(!this.viewed||this.showing||this.viewing||this.hiding||(e.type===`mousedown`||e.type===`pointerdown`&&e.pointerType===`mouse`)&&(L(r)&&r!==1||L(i)&&i!==0||e.ctrlKey))){e.preventDefault(),e.changedTouches?H(e.changedTouches,function(e){n[e.identifier]=Xe(e)}):n[e.pointerId||0]=Xe(e);var a=t.movable?g:!1;t.zoomOnTouch&&t.zoomable&&Object.keys(n).length>1?a=_:t.slideOnTouch&&(e.pointerType===`touch`||e.type===`touchstart`)&&this.isSwitchable()&&(a=ee),t.transition&&(a===g||a===_)&&q(this.image,D),this.action=a}},pointermove:function(e){var t=this.pointers,n=this.action;!this.viewed||!n||(e.preventDefault(),e.changedTouches?H(e.changedTouches,function(e){U(t[e.identifier]||{},Xe(e,!0))}):U(t[e.pointerId||0]||{},Xe(e,!0)),this.change(e))},pointerup:function(e){var t=this,n=this.options,r=this.action,i=this.pointers,a;e.changedTouches?H(e.changedTouches,function(e){a=i[e.identifier],delete i[e.identifier]}):(a=i[e.pointerId||0],delete i[e.pointerId||0]),r&&(e.preventDefault(),n.transition&&(r===g||r===_)&&K(this.image,D),this.action=!1,p&&r!==_&&a&&Date.now()-a.timeStamp<500&&(clearTimeout(this.clickCanvasTimeout),clearTimeout(this.doubleClickImageTimeout),n.toggleOnDblclick&&this.viewed&&e.target===this.image?this.imageClicked?(this.imageClicked=!1,this.doubleClickImageTimeout=setTimeout(function(){Q(t.image,ce,{originalEvent:e})},50)):(this.imageClicked=!0,this.doubleClickImageTimeout=setTimeout(function(){t.imageClicked=!1},500)):(this.imageClicked=!1,n.backdrop&&n.backdrop!==`static`&&e.target===this.canvas&&(this.clickCanvasTimeout=setTimeout(function(){Q(t.canvas,O,{originalEvent:e})},50)))))},resize:function(){var e=this;if(!(!this.isShown||this.hiding)&&(this.fulled&&(this.close(),this.initBody(),this.open()),this.initContainer(),this.initViewer(),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage()}),this.played)){if(this.options.fullscreen&&this.fulled&&!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)){this.stop();return}H(this.player.getElementsByTagName(`img`),function(t){Z(t,k,e.loadImage.bind(e),{once:!0}),Q(t,k)})}},wheel:function(e){var t=this;if(this.viewed&&(e.preventDefault(),!this.wheeling)){this.wheeling=!0,setTimeout(function(){t.wheeling=!1},50);var n=Number(this.options.zoomRatio)||.1,r=1;e.deltaY?r=e.deltaY>0?1:-1:e.wheelDelta?r=-e.wheelDelta/120:e.detail&&(r=e.detail>0?1:-1),this.zoom(-r*n,!0,null,e)}}},tt={show:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.element,n=this.options;if(n.inline||this.showing||this.isShown||this.showing)return this;if(!this.ready)return this.build(),this.ready&&this.show(e),this;if(V(n.show)&&Z(t,be,n.show,{once:!0}),Q(t,be)===!1||!this.ready)return this;this.hiding&&this.transitioning.abort(),this.showing=!0,this.open();var r=this.viewer;if(q(r,x),r.setAttribute(`role`,`dialog`),r.setAttribute(`aria-labelledby`,this.title.id),r.setAttribute(`aria-modal`,!0),r.removeAttribute(`aria-hidden`),n.transition&&!e){var i=this.shown.bind(this);this.transitioning={abort:function(){X(r,j,i),q(r,C)}},K(r,D),r.initialOffsetWidth=r.offsetWidth,Z(r,j,i,{once:!0}),K(r,C)}else K(r,C),this.shown();return this},hide:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,n=this.element,r=this.options;if(r.inline||this.hiding||!(this.isShown||this.showing)||(V(r.hide)&&Z(n,Se,r.hide,{once:!0}),Q(n,Se)===!1))return this;this.showing&&this.transitioning.abort(),this.hiding=!0,this.played?this.stop():this.viewing&&this.viewing.abort();var i=this.viewer,a=this.image,o=function(){q(i,C),e.hidden()};if(r.transition&&!t){var s=function(t){t&&t.target===i&&(X(i,j,s),e.hidden())},c=function(){G(i,D)?(Z(i,j,s),q(i,C)):o()};this.transitioning={abort:function(){e.viewed&&G(a,D)?X(a,j,c):G(i,D)&&X(i,j,s)}},this.viewed&&G(a,D)?(Z(a,j,c,{once:!0}),this.zoomTo(0,!1,null,null,!0)):c()}else o();return this},view:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.options.initialViewIndex;if(t=Number(t)||0,this.hiding||this.played||t<0||t>=this.length||this.viewed&&t===this.index)return this;if(!this.isShown)return this.index=t,this.show();this.viewing&&this.viewing.abort();var n=this.element,r=this.options,i=this.title,a=this.canvas,o=this.items[t],s=o.querySelector(`img`),c=Y(s,`originalUrl`),l=s.getAttribute(`alt`),u=document.createElement(`img`);if(H(r.inheritedAttributes,function(e){var t=s.getAttribute(e);t!==null&&u.setAttribute(e,t)}),u.src=c,u.alt=l,V(r.view)&&Z(n,we,r.view,{once:!0}),Q(n,we,{originalImage:this.images[t],index:t,image:u})===!1||!this.isShown||this.hiding||this.played)return this;var d=this.items[this.index];d&&(q(d,v),d.removeAttribute(`aria-selected`)),K(o,v),o.setAttribute(`aria-selected`,!0),r.focus&&o.focus(),this.image=u,this.viewed=!1,this.index=t,this.imageData={},K(u,w),r.loading&&K(a,T),a.innerHTML=``,a.appendChild(u),this.renderList(),i.innerHTML=``;var f=function(){var t=e.imageData,n=Array.isArray(r.title)?r.title[1]:r.title;i.innerHTML=Re(V(n)?n.call(e,u,t):`${l} (${t.naturalWidth} × ${t.naturalHeight})`)},p,m;return Z(n,M,f,{once:!0}),this.viewing={abort:function(){X(n,M,f),u.complete?e.imageRendering?e.imageRendering.abort():e.imageInitializing&&e.imageInitializing.abort():(u.src=``,X(u,k,p),e.timeout&&clearTimeout(e.timeout))}},u.complete?this.load():(Z(u,k,p=function(){X(u,A,m),e.load()},{once:!0}),Z(u,A,m=function(){X(u,k,p),e.timeout&&=(clearTimeout(e.timeout),!1),q(u,w),r.loading&&q(e.canvas,T)},{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){q(u,w),e.timeout=!1},1e3)),this},prev:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.index-1;return t<0&&(t=e?this.length-1:0),this.view(t),this},next:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,t=this.length-1,n=this.index+1;return n>t&&(n=e?0:t),this.view(n),this},move:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,n=this.imageData;return this.moveTo(R(e)?e:n.x+Number(e),R(t)?t:n.y+Number(t)),this},moveTo:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=this.element,a=this.options,o=this.imageData;if(e=Number(e),n=Number(n),this.viewed&&!this.played&&a.movable){var s=o.x,c=o.y,l=!1;if(L(e)?l=!0:e=s,L(n)?l=!0:n=c,l){if(V(a.move)&&Z(i,Te,a.move,{once:!0}),Q(i,Te,{x:e,y:n,oldX:s,oldY:c,originalEvent:r})===!1)return this;o.x=e,o.y=n,o.left=e,o.top=n,this.moving=!0,this.renderImage(function(){t.moving=!1,V(a.moved)&&Z(i,Ee,a.moved,{once:!0}),Q(i,Ee,{x:e,y:n,oldX:s,oldY:c,originalEvent:r},{cancelable:!1})})}}return this},rotate:function(e){return this.rotateTo((this.imageData.rotate||0)+Number(e)),this},rotateTo:function(e){var t=this,n=this.element,r=this.options,i=this.imageData;if(e=Number(e),L(e)&&this.viewed&&!this.played&&r.rotatable){var a=i.rotate;if(V(r.rotate)&&Z(n,De,r.rotate,{once:!0}),Q(n,De,{degree:e,oldDegree:a})===!1)return this;i.rotate=e,this.rotating=!0,this.renderImage(function(){t.rotating=!1,V(r.rotated)&&Z(n,Oe,r.rotated,{once:!0}),Q(n,Oe,{degree:e,oldDegree:a},{cancelable:!1})})}return this},scaleX:function(e){return this.scale(e,this.imageData.scaleY),this},scaleY:function(e){return this.scale(this.imageData.scaleX,e),this},scale:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e,r=this.element,i=this.options,a=this.imageData;if(e=Number(e),n=Number(n),this.viewed&&!this.played&&i.scalable){var o=a.scaleX,s=a.scaleY,c=!1;if(L(e)?c=!0:e=o,L(n)?c=!0:n=s,c){if(V(i.scale)&&Z(r,ke,i.scale,{once:!0}),Q(r,ke,{scaleX:e,scaleY:n,oldScaleX:o,oldScaleY:s})===!1)return this;a.scaleX=e,a.scaleY=n,this.scaling=!0,this.renderImage(function(){t.scaling=!1,V(i.scaled)&&Z(r,Ae,i.scaled,{once:!0}),Q(r,Ae,{scaleX:e,scaleY:n,oldScaleX:o,oldScaleY:s},{cancelable:!1})})}}return this},zoom:function(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,i=this.imageData;return e=Number(e),e=e<0?1/(1-e):1+e,this.zoomTo(i.width*e/i.naturalWidth,t,n,r),this},zoomTo:function(e){var t=this,n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1,o=this.element,s=this.options,c=this.pointers,l=this.imageData,u=l.x,d=l.y,f=l.width,p=l.height,m=l.naturalWidth,h=l.naturalHeight;if(e=Math.max(0,e),L(e)&&this.viewed&&!this.played&&(a||s.zoomable)){if(!a){var g=Math.max(.01,s.minZoomRatio),ee=Math.min(100,s.maxZoomRatio);e=Math.min(Math.max(e,g),ee)}if(i)switch(i.type){case`wheel`:s.zoomRatio>=.055&&e>.95&&e<1.05&&(e=1);break;case`pointermove`:case`touchmove`:case`mousemove`:e>.99&&e<1.01&&(e=1);break}var _=m*e,v=h*e,te=_-f,y=v-p,b=l.ratio;if(V(s.zoom)&&Z(o,N,s.zoom,{once:!0}),Q(o,N,{ratio:e,oldRatio:b,originalEvent:i})===!1)return this;if(this.zooming=!0,i){var ne=Ue(this.viewer),re=c&&Object.keys(c).length>0?Ze(c):{pageX:i.pageX,pageY:i.pageY};l.x-=te*((re.pageX-ne.left-u)/f),l.y-=y*((re.pageY-ne.top-d)/p)}else B(r)&&L(r.x)&&L(r.y)?(l.x-=te*((r.x-u)/f),l.y-=y*((r.y-d)/p)):(l.x-=te/2,l.y-=y/2);l.left=l.x,l.top=l.y,l.width=_,l.height=v,l.oldRatio=b,l.ratio=e,this.renderImage(function(){t.zooming=!1,V(s.zoomed)&&Z(o,je,s.zoomed,{once:!0}),Q(o,je,{ratio:e,oldRatio:b,originalEvent:i},{cancelable:!1})}),n&&this.tooltip()}return this},play:function(){var e=this,t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;if(!this.isShown||this.played)return this;var n=this.element,r=this.options;if(V(r.play)&&Z(n,Me,r.play,{once:!0}),Q(n,Me)===!1)return this;var i=this.player,a=this.loadImage.bind(this),o=[],s=0,c=0;if(this.played=!0,this.onLoadWhenPlay=a,t&&this.requestFullscreen(t),K(i,E),H(this.items,function(e,t){var n=e.querySelector(`img`),l=document.createElement(`img`);l.src=Y(n,`originalUrl`),l.alt=n.getAttribute(`alt`),l.referrerPolicy=n.referrerPolicy,s+=1,K(l,y),J(l,D,r.transition),G(e,v)&&(K(l,C),c=t),o.push(l),Z(l,k,a,{once:!0}),i.appendChild(l)}),L(r.interval)&&r.interval>0){var l=function(){clearTimeout(e.playing.timeout),q(o[c],C),--c,c=c>=0?c:s-1,K(o[c],C),e.playing.timeout=setTimeout(l,r.interval)},u=function(){clearTimeout(e.playing.timeout),q(o[c],C),c+=1,c=c<s?c:0,K(o[c],C),e.playing.timeout=setTimeout(u,r.interval)};s>1&&(this.playing={prev:l,next:u,timeout:setTimeout(u,r.interval)})}return this},stop:function(){var e=this;if(!this.played)return this;var t=this.element,n=this.options;if(V(n.stop)&&Z(t,Ne,n.stop,{once:!0}),Q(t,Ne)===!1)return this;var r=this.player;return clearTimeout(this.playing.timeout),this.playing=!1,this.played=!1,H(r.getElementsByTagName(`img`),function(t){X(t,k,e.onLoadWhenPlay)}),q(r,E),r.innerHTML=``,this.exitFullscreen(),this},full:function(){var e=this,t=this.options,n=this.viewer,r=this.image,i=this.list;return!this.isShown||this.played||this.fulled||!t.inline?this:(this.fulled=!0,this.open(),K(this.button,re),t.transition&&(q(i,D),this.viewed&&q(r,D)),K(n,b),n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-labelledby`,this.title.id),n.setAttribute(`aria-modal`,!0),n.removeAttribute(`style`),W(n,{zIndex:t.zIndex}),t.focus&&this.enforceFocus(),this.initContainer(),this.viewerData=U({},this.containerData),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){K(r,D),K(i,D)},0)})}),this)},exit:function(){var e=this,t=this.options,n=this.viewer,r=this.image,i=this.list;return!this.isShown||this.played||!this.fulled||!t.inline?this:(this.fulled=!1,this.close(),q(this.button,re),t.transition&&(q(i,D),this.viewed&&q(r,D)),t.focus&&this.clearEnforceFocus(),n.removeAttribute(`role`),n.removeAttribute(`aria-labelledby`),n.removeAttribute(`aria-modal`),q(n,b),W(n,{zIndex:t.zIndexInline}),this.viewerData=U({},this.parentData),this.renderViewer(),this.renderList(),this.viewed&&this.initImage(function(){e.renderImage(function(){t.transition&&setTimeout(function(){K(r,D),K(i,D)},0)})}),this)},tooltip:function(){var e=this,t=this.options,n=this.tooltipBox,r=this.imageData;return!this.viewed||this.played||!t.tooltip?this:(n.textContent=`${Math.round(r.ratio*100)}%`,this.tooltipping?clearTimeout(this.tooltipping):t.transition?(this.fading&&Q(n,j),K(n,E),K(n,y),K(n,D),n.removeAttribute(`aria-hidden`),n.initialOffsetWidth=n.offsetWidth,K(n,C)):(K(n,E),n.removeAttribute(`aria-hidden`)),this.tooltipping=setTimeout(function(){t.transition?(Z(n,j,function(){q(n,E),q(n,y),q(n,D),n.setAttribute(`aria-hidden`,!0),e.fading=!1},{once:!0}),q(n,C),e.fading=!0):(q(n,E),n.setAttribute(`aria-hidden`,!0)),e.tooltipping=!1},1e3),this)},toggle:function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.imageData.ratio===1?this.zoomTo(this.imageData.oldRatio,!0,null,e):this.zoomTo(1,!0,null,e),this},reset:function(){return this.viewed&&!this.played&&(this.imageData=U({},this.initialImageData),this.renderImage()),this},update:function(){var e=this,t=this.element,n=this.options,r=this.isImg;if(r&&!t.parentNode)return this.destroy();var i=[];if(H(r?[t]:t.querySelectorAll(`img`),function(t){V(n.filter)?n.filter.call(e,t)&&i.push(t):e.getImageURL(t)&&i.push(t)}),!i.length)return this;if(this.images=i,this.length=i.length,this.ready){var a=[];if(H(this.items,function(e,t){var n=e.querySelector(`img`),r=i[t];r&&n?(r.src!==n.src||r.alt!==n.alt)&&a.push(t):a.push(t)}),W(this.list,{width:`auto`}),this.initList(),this.isShown)if(this.length){if(this.viewed){var o=a.indexOf(this.index);if(o>=0)this.viewed=!1,this.view(Math.max(Math.min(this.index-o,this.length-1),0));else{var s=this.items[this.index];K(s,v),s.setAttribute(`aria-selected`,!0)}}}else this.image=null,this.viewed=!1,this.index=0,this.imageData={},this.canvas.innerHTML=``,this.title.innerHTML=``}else this.build();return this},destroy:function(){var e=this.element,t=this.options;return e[h]?(this.destroyed=!0,this.ready?(this.played&&this.stop(),t.inline?(this.fulled&&this.exit(),this.unbind()):this.isShown?(this.viewing&&(this.imageRendering?this.imageRendering.abort():this.imageInitializing&&this.imageInitializing.abort()),this.hiding&&this.transitioning.abort(),this.hidden()):this.showing&&(this.transitioning.abort(),this.hidden()),this.ready=!1,this.viewer.parentNode.removeChild(this.viewer)):t.inline&&(this.delaying?this.delaying.abort():this.initializing&&this.initializing.abort()),t.inline||X(e,O,this.onStart),e[h]=void 0,this):this}},nt={getImageURL:function(e){var t=this.options.url;return t=I(t)?e.getAttribute(t):V(t)?t.call(this,e):``,t},enforceFocus:function(){var e=this;this.clearEnforceFocus(),Z(document,ue,this.onFocusin=function(t){var n=e.viewer,r=t.target;if(!(r===document||r===n||n.contains(r))){for(;r;){if(r.getAttribute(`tabindex`)!==null||r.getAttribute(`aria-modal`)===`true`)return;r=r.parentElement}n.focus()}})},clearEnforceFocus:function(){this.onFocusin&&=(X(document,ue,this.onFocusin),null)},open:function(){var e=this.body;K(e,se),this.scrollbarWidth>0&&(e.style.paddingRight=`${this.scrollbarWidth+(parseFloat(this.initialBodyComputedPaddingRight)||0)}px`)},close:function(){var e=this.body;q(e,se),this.scrollbarWidth>0&&(e.style.paddingRight=this.initialBodyPaddingRight)},shown:function(){var e=this.element,t=this.options,n=this.viewer;this.fulled=!0,this.isShown=!0,this.render(),this.bind(),this.showing=!1,t.focus&&(n.focus(),this.enforceFocus()),V(t.shown)&&Z(e,xe,t.shown,{once:!0}),Q(e,xe)!==!1&&this.ready&&this.isShown&&!this.hiding&&this.view(this.index)},hidden:function(){var e=this.element,t=this.options,n=this.viewer;t.fucus&&this.clearEnforceFocus(),this.close(),this.unbind(),K(n,x),n.removeAttribute(`role`),n.removeAttribute(`aria-labelledby`),n.removeAttribute(`aria-modal`),n.setAttribute(`aria-hidden`,!0),this.resetList(),this.resetImage(),this.fulled=!1,this.viewed=!1,this.isShown=!1,this.hiding=!1,this.destroyed||(V(t.hidden)&&Z(e,Ce,t.hidden,{once:!0}),Q(e,Ce,null,{cancelable:!1}))},requestFullscreen:function(e){var t=this.element.ownerDocument;if(this.fulled&&!(t.fullscreenElement||t.webkitFullscreenElement||t.mozFullScreenElement||t.msFullscreenElement)){var n=t.documentElement;n.requestFullscreen?B(e)?n.requestFullscreen(e):n.requestFullscreen():n.webkitRequestFullscreen?n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):n.mozRequestFullScreen?n.mozRequestFullScreen():n.msRequestFullscreen&&n.msRequestFullscreen()}},exitFullscreen:function(){var e=this.element.ownerDocument;this.fulled&&(e.fullscreenElement||e.webkitFullscreenElement||e.mozFullScreenElement||e.msFullscreenElement)&&(e.exitFullscreen?e.exitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen?e.mozCancelFullScreen():e.msExitFullscreen&&e.msExitFullscreen())},change:function(e){var t=this.options,n=this.pointers,r=n[Object.keys(n)[0]];if(r){var i=r.endX-r.startX,a=r.endY-r.startY;switch(this.action){case g:(i!==0||a!==0)&&(this.pointerMoved=!0,this.move(i,a,e));break;case _:this.zoom(Ye(n),!1,null,e);break;case ee:this.action=`switched`;var o=Math.abs(i);o>1&&o>Math.abs(a)&&(this.pointers={},i>1?this.prev(t.loop):i<-1&&this.next(t.loop));break}H(n,function(e){e.startX=e.endX,e.startY=e.endY})}},isSwitchable:function(){var e=this.imageData,t=this.viewerData;return this.length>1&&e.x>=0&&e.y>=0&&e.width<=t.width&&e.height<=t.height}},rt=f.Viewer,it=function(e){return function(){return e+=1,e}}(-1),at=function(){function t(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(e(this,t),!n||n.nodeType!==1)throw Error(`The first argument is required and must be an element.`);this.element=n,this.options=U({},l,B(r)&&r),this.action=!1,this.fading=!1,this.fulled=!1,this.hiding=!1,this.imageClicked=!1,this.imageData={},this.index=this.options.initialViewIndex,this.isImg=!1,this.isShown=!1,this.length=0,this.moving=!1,this.played=!1,this.playing=!1,this.pointers={},this.ready=!1,this.rotating=!1,this.scaling=!1,this.showing=!1,this.timeout=!1,this.tooltipping=!1,this.viewed=!1,this.viewing=!1,this.wheeling=!1,this.zooming=!1,this.pointerMoved=!1,this.id=it(),this.init()}return n(t,[{key:`init`,value:function(){var e=this,t=this.element,n=this.options;if(!t[h]){t[h]=this,n.focus&&!n.keyboard&&(n.focus=!1);var r=t.localName===`img`,i=[];if(H(r?[t]:t.querySelectorAll(`img`),function(t){V(n.filter)?n.filter.call(e,t)&&i.push(t):e.getImageURL(t)&&i.push(t)}),this.isImg=r,this.length=i.length,this.images=i,this.initBody(),R(document.createElement(h).style.transition)&&(n.transition=!1),n.inline){var a=0,o=function(){if(a+=1,a===e.length){var t;e.initializing=!1,e.delaying={abort:function(){clearTimeout(t)}},t=setTimeout(function(){e.delaying=!1,e.build()},0)}};this.initializing={abort:function(){H(i,function(e){e.complete||(X(e,k,o),X(e,A,o))})}},H(i,function(e){if(e.complete)o();else{var t,n;Z(e,k,t=function(){X(e,A,n),o()},{once:!0}),Z(e,A,n=function(){X(e,k,t),o()},{once:!0})}})}else Z(t,O,this.onStart=function(t){var r=t.target;r.localName===`img`&&(!V(n.filter)||n.filter.call(e,r))&&e.view(e.images.indexOf(r))})}}},{key:`build`,value:function(){if(!this.ready){var e=this.element,t=this.options,n=e.parentNode,r=document.createElement(`div`);r.innerHTML=u;var i=r.querySelector(`.${h}-container`),a=i.querySelector(`.${h}-title`),o=i.querySelector(`.${h}-toolbar`),s=i.querySelector(`.${h}-navbar`),c=i.querySelector(`.${h}-button`),l=i.querySelector(`.${h}-canvas`);if(this.parent=n,this.viewer=i,this.title=a,this.toolbar=o,this.navbar=s,this.button=c,this.canvas=l,this.footer=i.querySelector(`.${h}-footer`),this.tooltipBox=i.querySelector(`.${h}-tooltip`),this.player=i.querySelector(`.${h}-player`),this.list=i.querySelector(`.${h}-list`),i.id=`${h}${this.id}`,a.id=`${h}Title${this.id}`,K(a,t.title?Je(Array.isArray(t.title)?t.title[0]:t.title):x),K(s,t.navbar?Je(t.navbar):x),J(c,x,!t.button),t.keyboard&&c.setAttribute(`tabindex`,0),t.backdrop&&(K(i,`${h}-backdrop`),!t.inline&&t.backdrop!==`static`&&Ve(l,P,`hide`)),I(t.className)&&t.className&&t.className.split(Pe).forEach(function(e){K(i,e)}),t.toolbar){var d=document.createElement(`ul`),f=B(t.toolbar),p=F.slice(0,3),m=F.slice(7,9),g=F.slice(9);f||K(o,Je(t.toolbar)),H(f?t.toolbar:F,function(e,n){var r=f&&B(e),i=f?Be(n):e,a=r&&!R(e.show)?e.show:e;if(!(!a||!t.zoomable&&p.indexOf(i)!==-1||!t.rotatable&&m.indexOf(i)!==-1||!t.scalable&&g.indexOf(i)!==-1)){var o=r&&!R(e.size)?e.size:e,s=r&&!R(e.click)?e.click:e,c=document.createElement(`li`);t.keyboard&&c.setAttribute(`tabindex`,0),c.setAttribute(`role`,`button`),K(c,`${h}-${i}`),V(s)||Ve(c,P,i),L(a)&&K(c,Je(a)),[`small`,`large`].indexOf(o)===-1?i===`play`&&K(c,`${h}-large`):K(c,`${h}-${o}`),V(s)&&Z(c,O,s),d.appendChild(c)}}),o.appendChild(d)}else K(o,x);if(!t.rotatable){var ee=o.querySelectorAll(`li[class*="rotate"]`);K(ee,w),H(ee,function(e){o.appendChild(e)})}if(t.inline)K(c,ne),W(i,{zIndex:t.zIndexInline}),window.getComputedStyle(n).position===`static`&&W(n,{position:`relative`}),n.insertBefore(i,e.nextSibling);else{K(c,te),K(i,b),K(i,y),K(i,x),W(i,{zIndex:t.zIndex});var _=t.container;I(_)&&(_=e.ownerDocument.querySelector(_)),_||=this.body,_.appendChild(i)}if(t.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,V(t.ready)&&Z(e,ye,t.ready,{once:!0}),Q(e,ye)===!1){this.ready=!1;return}this.ready&&t.inline&&this.view(this.index)}}}],[{key:`noConflict`,value:function(){return window.Viewer=rt,t}},{key:`setDefaults`,value:function(e){U(l,B(e)&&e)}}])}();return U(at.prototype,Qe,$e,et,tt,nt),at}))}))(),1),v=typeof global==`object`&&global&&global.Object===Object&&global,te=typeof self==`object`&&self&&self.Object===Object&&self,y=v||te||Function(`return this`)(),b=y.Symbol,ne=Object.prototype,re=ne.hasOwnProperty,x=ne.toString,S=b?b.toStringTag:void 0;function ie(e){var t=re.call(e,S),n=e[S];try{e[S]=void 0;var r=!0}catch{}var i=x.call(e);return r&&(t?e[S]=n:delete e[S]),i}var ae=Object.prototype.toString;function C(e){return ae.call(e)}var w=`[object Null]`,T=`[object Undefined]`,oe=b?b.toStringTag:void 0;function se(e){return e==null?e===void 0?T:w:oe&&oe in Object(e)?ie(e):C(e)}function E(e){return typeof e==`object`&&!!e}var D=Array.isArray;function O(e){var t=typeof e;return e!=null&&(t==`object`||t==`function`)}function ce(e){return e}var le=`[object AsyncFunction]`,ue=`[object Function]`,de=`[object GeneratorFunction]`,k=`[object Proxy]`;function A(e){if(!O(e))return!1;var t=se(e);return t==ue||t==de||t==le||t==k}var fe=y[`__core-js_shared__`],pe=function(){var e=/[^.]+$/.exec(fe&&fe.keys&&fe.keys.IE_PROTO||``);return e?`Symbol(src)_1.`+e:``}();function me(e){return!!pe&&pe in e}var he=Function.prototype.toString;function ge(e){if(e!=null){try{return he.call(e)}catch{}try{return e+``}catch{}}return``}var _e=/[\\^$.*+?()[\]{}|]/g,j=/^\[object .+?Constructor\]$/,ve=Function.prototype,ye=Object.prototype,be=ve.toString,xe=ye.hasOwnProperty,Se=RegExp(`^`+be.call(xe).replace(_e,`\\$&`).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,`$1.*?`)+`$`);function Ce(e){return!O(e)||me(e)?!1:(A(e)?Se:j).test(ge(e))}function we(e,t){return e?.[t]}function M(e,t){var n=we(e,t);return Ce(n)?n:void 0}function Te(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var Ee=800,De=16,Oe=Date.now;function ke(e){var t=0,n=0;return function(){var r=Oe(),i=De-(r-n);if(n=r,i>0){if(++t>=Ee)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function Ae(e){return function(){return e}}var N=function(){try{var e=M(Object,`defineProperty`);return e({},``,{}),e}catch{}}(),je=ke(N?function(e,t){return N(e,`toString`,{configurable:!0,enumerable:!1,value:Ae(t),writable:!0})}:ce),Me=9007199254740991,Ne=/^(?:0|[1-9]\d*)$/;function P(e,t){var n=typeof e;return t??=Me,!!t&&(n==`number`||n!=`symbol`&&Ne.test(e))&&e>-1&&e%1==0&&e<t}function Pe(e,t,n){t==`__proto__`&&N?N(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function F(e,t){return e===t||e!==e&&t!==t}var I=Object.prototype.hasOwnProperty;function Fe(e,t,n){var r=e[t];(!(I.call(e,t)&&F(r,n))||n===void 0&&!(t in e))&&Pe(e,t,n)}function L(e,t,n,r){var i=!n;n||={};for(var a=-1,o=t.length;++a<o;){var s=t[a],c=r?r(n[s],e[s],s,n,e):void 0;c===void 0&&(c=e[s]),i?Pe(n,s,c):Fe(n,s,c)}return n}var R=Math.max;function z(e,t,n){return t=R(t===void 0?e.length-1:t,0),function(){for(var r=arguments,i=-1,a=R(r.length-t,0),o=Array(a);++i<a;)o[i]=r[t+i];i=-1;for(var s=Array(t+1);++i<t;)s[i]=r[i];return s[t]=n(o),Te(e,this,s)}}function Ie(e,t){return je(z(e,t,ce),e+``)}var B=9007199254740991;function V(e){return typeof e==`number`&&e>-1&&e%1==0&&e<=B}function H(e){return e!=null&&V(e.length)&&!A(e)}function U(e,t,n){if(!O(n))return!1;var r=typeof t;return(r==`number`?H(n)&&P(t,n.length):r==`string`&&t in n)?F(n[t],e):!1}function Le(e){return Ie(function(t,n){var r=-1,i=n.length,a=i>1?n[i-1]:void 0,o=i>2?n[2]:void 0;for(a=e.length>3&&typeof a==`function`?(i--,a):void 0,o&&U(n[0],n[1],o)&&(a=i<3?void 0:a,i=1),t=Object(t);++r<i;){var s=n[r];s&&e(t,s,r,a)}return t})}var W=Object.prototype;function Re(e){var t=e&&e.constructor;return e===(typeof t==`function`&&t.prototype||W)}function G(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}var K=`[object Arguments]`;function q(e){return E(e)&&se(e)==K}var J=Object.prototype,ze=J.hasOwnProperty,Be=J.propertyIsEnumerable,Y=q(function(){return arguments}())?q:function(e){return E(e)&&ze.call(e,`callee`)&&!Be.call(e,`callee`)};function Ve(){return!1}var He=typeof exports==`object`&&exports&&!exports.nodeType&&exports,X=He&&typeof module==`object`&&module&&!module.nodeType&&module,Z=X&&X.exports===He?y.Buffer:void 0,Q=(Z?Z.isBuffer:void 0)||Ve,Ue=`[object Arguments]`,We=`[object Array]`,Ge=`[object Boolean]`,Ke=`[object Date]`,qe=`[object Error]`,Je=`[object Function]`,Ye=`[object Map]`,Xe=`[object Number]`,Ze=`[object Object]`,Qe=`[object RegExp]`,$e=`[object Set]`,et=`[object String]`,tt=`[object WeakMap]`,nt=`[object ArrayBuffer]`,rt=`[object DataView]`,it=`[object Float32Array]`,at=`[object Float64Array]`,ot=`[object Int8Array]`,st=`[object Int16Array]`,ct=`[object Int32Array]`,lt=`[object Uint8Array]`,ut=`[object Uint8ClampedArray]`,dt=`[object Uint16Array]`,ft=`[object Uint32Array]`,$={};$[it]=$[at]=$[ot]=$[st]=$[ct]=$[lt]=$[ut]=$[dt]=$[ft]=!0,$[Ue]=$[We]=$[nt]=$[Ge]=$[rt]=$[Ke]=$[qe]=$[Je]=$[Ye]=$[Xe]=$[Ze]=$[Qe]=$[$e]=$[et]=$[tt]=!1;function pt(e){return E(e)&&V(e.length)&&!!$[se(e)]}function mt(e){return function(t){return e(t)}}var ht=typeof exports==`object`&&exports&&!exports.nodeType&&exports,gt=ht&&typeof module==`object`&&module&&!module.nodeType&&module,_t=gt&>.exports===ht&&v.process,vt=function(){try{return gt&>.require&>.require(`util`).types||_t&&_t.binding&&_t.binding(`util`)}catch{}}(),yt=vt&&vt.isTypedArray,bt=yt?mt(yt):pt,xt=Object.prototype.hasOwnProperty;function St(e,t){var n=D(e),r=!n&&Y(e),i=!n&&!r&&Q(e),a=!n&&!r&&!i&&bt(e),o=n||r||i||a,s=o?G(e.length,String):[],c=s.length;for(var l in e)(t||xt.call(e,l))&&!(o&&(l==`length`||i&&(l==`offset`||l==`parent`)||a&&(l==`buffer`||l==`byteLength`||l==`byteOffset`)||P(l,c)))&&s.push(l);return s}function Ct(e,t){return function(n){return e(t(n))}}var wt=Ct(Object.keys,Object),Tt=Object.prototype.hasOwnProperty;function Et(e){if(!Re(e))return wt(e);var t=[];for(var n in Object(e))Tt.call(e,n)&&n!=`constructor`&&t.push(n);return t}function Dt(e){return H(e)?St(e):Et(e)}var Ot=Object.prototype.hasOwnProperty;Le(function(e,t){if(Re(t)||H(t)){L(t,Dt(t),e);return}for(var n in t)Ot.call(t,n)&&Fe(e,n,t[n])});function kt(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var At=Object.prototype.hasOwnProperty;function jt(e){if(!O(e))return kt(e);var t=Re(e),n=[];for(var r in e)r==`constructor`&&(t||!At.call(e,r))||n.push(r);return n}function Mt(e){return H(e)?St(e,!0):jt(e)}var Nt=Object.prototype,Pt=Nt.hasOwnProperty;Ie(function(e,t){e=Object(e);var n=-1,r=t.length,i=r>2?t[2]:void 0;for(i&&U(t[0],t[1],i)&&(r=1);++n<r;)for(var a=t[n],o=Mt(a),s=-1,c=o.length;++s<c;){var l=o[s],u=e[l];(u===void 0||F(u,Nt[l])&&!Pt.call(e,l))&&(e[l]=a[l])}return e});var Ft=c({name:`Viewer`,props:{images:{type:Array,default:()=>[]},rebuild:{type:Boolean,default:!1},trigger:{type:Object,default:null},options:{type:Object,default:()=>null}},emits:[`inited`],setup(n,{emit:r}){let a,o=i();function c(){a=new _.default(o.value,n.options),r(`inited`,a)}function l(){a&&a.destroy()}function u(){l(),c()}function d(){a?(a.update(),r(`inited`,a)):c()}function f(){n.rebuild?u():d()}let m={deep:!0};return s(()=>n.images,()=>{t(()=>{f()})},m),s(()=>n.trigger,()=>{t(()=>{f()})},m),s(()=>n.options,()=>{t(()=>{u()})},m),p(()=>c()),e(()=>l()),{root:o,createViewer:c,rebuildViewer:u,updateViewer:d,destroyViewer:l}}}),It=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Lt={ref:`root`};function Rt(e,t,n,r,i,a){return f(),h(`div`,Lt,[o(e.$slots,`default`,{images:e.images,options:e.options})],512)}var zt=It(Ft,[[`render`,Rt]]),Bt=[`src`],Vt=m(c({__name:`ImageViewer`,props:{image:{}},setup(e){let t=e,r=u(()=>t.image?[{src:t.image,index:0}]:[]);return(e,t)=>(f(),g(ee(zt),{images:r.value,style:{height:`100%`}},{default:n(()=>[(f(!0),h(d,null,a(r.value,e=>(f(),h(`img`,{alt:`图片`,src:e.src,key:e.index,class:`image`},null,8,Bt))),128))]),_:1},8,[`images`]))}}),[[`__scopeId`,`data-v-b0f61c51`]]);export{Vt as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./GLTFLoader-tdpRj7x3.js","./three.module-DGhmpURB.js","./OBJLoader-CIcUmaIR.js","./STLLoader--ClWNq9A.js","./PLYLoader-CpoozyyG.js","./FBXLoader-CDJxWnMq.js","./fflate.module-CnrP-VZU.js","./ColladaLoader-DLsqbaWZ.js","./TDSLoader-Dat6-0hj.js","./3MFLoader-BLLnIDfF.js","./AMFLoader-Co6GFjGd.js","./USDLoader-D5bNRrcv.js","./KMZLoader-Co2u3IuK.js","./PCDLoader-Ckik2ZNQ.js","./VRMLLoader-Cc44JIu6.js","./XYZLoader-D0wrbuYP.js","./VTKLoader-B7r87HF1.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{B as e,D as t,H as n,L as r,O as i,P as a,T as o,b as ee,j as s,k as te,t as c,u as l,v as u,x as d}from"./index-Wv8YWT7J.js";import{Bt as f,D as ne,It as p,Nt as m,T as re,Tt as ie,Y as h,Z as g,_t as ae,a as oe,at as se,et as _,g as v,gt as ce,i as y,jt as b,mt as x,p as le,pt as ue,s as S,t as de,wt as fe,x as C,xt as w,yt as T,zt as E}from"./three.module-DGhmpURB.js";var D={type:`change`},O={type:`start`},k={type:`end`},A=new w,j=new x,M=Math.cos(70*g.DEG2RAD),N=new f,P=2*Math.PI,F={NONE:-1,ROTATE:0,DOLLY:1,PAN:2,TOUCH_ROTATE:3,TOUCH_PAN:4,TOUCH_DOLLY_PAN:5,TOUCH_DOLLY_ROTATE:6},I=1e-6,pe=class extends v{constructor(e,t=null){super(e,t),this.state=F.NONE,this.target=new f,this.cursor=new f,this.minDistance=0,this.maxDistance=1/0,this.minZoom=0,this.maxZoom=1/0,this.minTargetRadius=0,this.maxTargetRadius=1/0,this.minPolarAngle=0,this.maxPolarAngle=Math.PI,this.minAzimuthAngle=-1/0,this.maxAzimuthAngle=1/0,this.enableDamping=!1,this.dampingFactor=.05,this.enableZoom=!0,this.zoomSpeed=1,this.enableRotate=!0,this.rotateSpeed=1,this.keyRotateSpeed=1,this.enablePan=!0,this.panSpeed=1,this.screenSpacePanning=!0,this.keyPanSpeed=7,this.zoomToCursor=!1,this.autoRotate=!1,this.autoRotateSpeed=2,this.keys={LEFT:`ArrowLeft`,UP:`ArrowUp`,RIGHT:`ArrowRight`,BOTTOM:`ArrowDown`},this.mouseButtons={LEFT:h.ROTATE,MIDDLE:h.DOLLY,RIGHT:h.PAN},this.touches={ONE:m.ROTATE,TWO:m.DOLLY_PAN},this.target0=this.target.clone(),this.position0=this.object.position.clone(),this.zoom0=this.object.zoom,this._cursorStyle=`auto`,this._domElementKeyEvents=null,this._lastPosition=new f,this._lastQuaternion=new T,this._lastTargetPosition=new f,this._quat=new T().setFromUnitVectors(e.up,new f(0,1,0)),this._quatInverse=this._quat.clone().invert(),this._spherical=new b,this._sphericalDelta=new b,this._scale=1,this._panOffset=new f,this._rotateStart=new E,this._rotateEnd=new E,this._rotateDelta=new E,this._panStart=new E,this._panEnd=new E,this._panDelta=new E,this._dollyStart=new E,this._dollyEnd=new E,this._dollyDelta=new E,this._dollyDirection=new f,this._mouse=new E,this._performCursorZoom=!1,this._pointers=[],this._pointerPositions={},this._controlActive=!1,this._onPointerMove=R.bind(this),this._onPointerDown=L.bind(this),this._onPointerUp=z.bind(this),this._onContextMenu=K.bind(this),this._onMouseWheel=H.bind(this),this._onKeyDown=U.bind(this),this._onTouchStart=W.bind(this),this._onTouchMove=G.bind(this),this._onMouseDown=B.bind(this),this._onMouseMove=V.bind(this),this._interceptControlDown=q.bind(this),this._interceptControlUp=J.bind(this),this.domElement!==null&&this.connect(this.domElement),this.update()}set cursorStyle(e){this._cursorStyle=e,e===`grab`?this.domElement.style.cursor=`grab`:this.domElement.style.cursor=`auto`}get cursorStyle(){return this._cursorStyle}connect(e){super.connect(e),this.domElement.addEventListener(`pointerdown`,this._onPointerDown),this.domElement.addEventListener(`pointercancel`,this._onPointerUp),this.domElement.addEventListener(`contextmenu`,this._onContextMenu),this.domElement.addEventListener(`wheel`,this._onMouseWheel,{passive:!1}),this.domElement.getRootNode().addEventListener(`keydown`,this._interceptControlDown,{passive:!0,capture:!0}),this.domElement.style.touchAction=`none`}disconnect(){this.domElement.removeEventListener(`pointerdown`,this._onPointerDown),this.domElement.ownerDocument.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.removeEventListener(`pointerup`,this._onPointerUp),this.domElement.removeEventListener(`pointercancel`,this._onPointerUp),this.domElement.removeEventListener(`wheel`,this._onMouseWheel),this.domElement.removeEventListener(`contextmenu`,this._onContextMenu),this.stopListenToKeyEvents(),this.domElement.getRootNode().removeEventListener(`keydown`,this._interceptControlDown,{capture:!0}),this.domElement.style.touchAction=``}dispose(){this.disconnect()}getPolarAngle(){return this._spherical.phi}getAzimuthalAngle(){return this._spherical.theta}getDistance(){return this.object.position.distanceTo(this.target)}listenToKeyEvents(e){e.addEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=e}stopListenToKeyEvents(){this._domElementKeyEvents!==null&&(this._domElementKeyEvents.removeEventListener(`keydown`,this._onKeyDown),this._domElementKeyEvents=null)}saveState(){this.target0.copy(this.target),this.position0.copy(this.object.position),this.zoom0=this.object.zoom}reset(){this.target.copy(this.target0),this.object.position.copy(this.position0),this.object.zoom=this.zoom0,this.object.updateProjectionMatrix(),this.dispatchEvent(D),this.update(),this.state=F.NONE}pan(e,t){this._pan(e,t),this.update()}dollyIn(e){this._dollyIn(e),this.update()}dollyOut(e){this._dollyOut(e),this.update()}rotateLeft(e){this._rotateLeft(e),this.update()}rotateUp(e){this._rotateUp(e),this.update()}update(e=null){let t=this.object.position;N.copy(t).sub(this.target),N.applyQuaternion(this._quat),this._spherical.setFromVector3(N),this.autoRotate&&this.state===F.NONE&&this._rotateLeft(this._getAutoRotationAngle(e)),this.enableDamping?(this._spherical.theta+=this._sphericalDelta.theta*this.dampingFactor,this._spherical.phi+=this._sphericalDelta.phi*this.dampingFactor):(this._spherical.theta+=this._sphericalDelta.theta,this._spherical.phi+=this._sphericalDelta.phi);let n=this.minAzimuthAngle,r=this.maxAzimuthAngle;isFinite(n)&&isFinite(r)&&(n<-Math.PI?n+=P:n>Math.PI&&(n-=P),r<-Math.PI?r+=P:r>Math.PI&&(r-=P),n<=r?this._spherical.theta=Math.max(n,Math.min(r,this._spherical.theta)):this._spherical.theta=this._spherical.theta>(n+r)/2?Math.max(n,this._spherical.theta):Math.min(r,this._spherical.theta)),this._spherical.phi=Math.max(this.minPolarAngle,Math.min(this.maxPolarAngle,this._spherical.phi)),this._spherical.makeSafe(),this.enableDamping===!0?this.target.addScaledVector(this._panOffset,this.dampingFactor):this.target.add(this._panOffset),this.target.sub(this.cursor),this.target.clampLength(this.minTargetRadius,this.maxTargetRadius),this.target.add(this.cursor);let i=!1;if(this.zoomToCursor&&this._performCursorZoom||this.object.isOrthographicCamera)this._spherical.radius=this._clampDistance(this._spherical.radius);else{let e=this._spherical.radius;this._spherical.radius=this._clampDistance(this._spherical.radius*this._scale),i=e!=this._spherical.radius}if(N.setFromSpherical(this._spherical),N.applyQuaternion(this._quatInverse),t.copy(this.target).add(N),this.object.lookAt(this.target),this.enableDamping===!0?(this._sphericalDelta.theta*=1-this.dampingFactor,this._sphericalDelta.phi*=1-this.dampingFactor,this._panOffset.multiplyScalar(1-this.dampingFactor)):(this._sphericalDelta.set(0,0,0),this._panOffset.set(0,0,0)),this.zoomToCursor&&this._performCursorZoom){let e=null;if(this.object.isPerspectiveCamera){let t=N.length();e=this._clampDistance(t*this._scale);let n=t-e;this.object.position.addScaledVector(this._dollyDirection,n),this.object.updateMatrixWorld(),i=!!n}else if(this.object.isOrthographicCamera){let t=new f(this._mouse.x,this._mouse.y,0);t.unproject(this.object);let n=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),this.object.updateProjectionMatrix(),i=n!==this.object.zoom;let r=new f(this._mouse.x,this._mouse.y,0);r.unproject(this.object),this.object.position.sub(r).add(t),this.object.updateMatrixWorld(),e=N.length()}else console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - zoom to cursor disabled.`),this.zoomToCursor=!1;e!==null&&(this.screenSpacePanning?this.target.set(0,0,-1).transformDirection(this.object.matrix).multiplyScalar(e).add(this.object.position):(A.origin.copy(this.object.position),A.direction.set(0,0,-1).transformDirection(this.object.matrix),Math.abs(this.object.up.dot(A.direction))<M?this.object.lookAt(this.target):(j.setFromNormalAndCoplanarPoint(this.object.up,this.target),A.intersectPlane(j,this.target))))}else if(this.object.isOrthographicCamera){let e=this.object.zoom;this.object.zoom=Math.max(this.minZoom,Math.min(this.maxZoom,this.object.zoom/this._scale)),e!==this.object.zoom&&(this.object.updateProjectionMatrix(),i=!0)}return this._scale=1,this._performCursorZoom=!1,i||this._lastPosition.distanceToSquared(this.object.position)>I||8*(1-this._lastQuaternion.dot(this.object.quaternion))>I||this._lastTargetPosition.distanceToSquared(this.target)>I?(this.dispatchEvent(D),this._lastPosition.copy(this.object.position),this._lastQuaternion.copy(this.object.quaternion),this._lastTargetPosition.copy(this.target),!0):!1}_getAutoRotationAngle(e){return e===null?P/60/60*this.autoRotateSpeed:P/60*this.autoRotateSpeed*e}_getZoomScale(e){let t=Math.abs(e*.01);return .95**(this.zoomSpeed*t)}_rotateLeft(e){this._sphericalDelta.theta-=e}_rotateUp(e){this._sphericalDelta.phi-=e}_panLeft(e,t){N.setFromMatrixColumn(t,0),N.multiplyScalar(-e),this._panOffset.add(N)}_panUp(e,t){this.screenSpacePanning===!0?N.setFromMatrixColumn(t,1):(N.setFromMatrixColumn(t,0),N.crossVectors(this.object.up,N)),N.multiplyScalar(e),this._panOffset.add(N)}_pan(e,t){let n=this.domElement;if(this.object.isPerspectiveCamera){let r=this.object.position;N.copy(r).sub(this.target);let i=N.length();i*=Math.tan(this.object.fov/2*Math.PI/180),this._panLeft(2*e*i/n.clientHeight,this.object.matrix),this._panUp(2*t*i/n.clientHeight,this.object.matrix)}else this.object.isOrthographicCamera?(this._panLeft(e*(this.object.right-this.object.left)/this.object.zoom/n.clientWidth,this.object.matrix),this._panUp(t*(this.object.top-this.object.bottom)/this.object.zoom/n.clientHeight,this.object.matrix)):(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.`),this.enablePan=!1)}_dollyOut(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale/=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_dollyIn(e){this.object.isPerspectiveCamera||this.object.isOrthographicCamera?this._scale*=e:(console.warn(`WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.`),this.enableZoom=!1)}_updateZoomParameters(e,t){if(!this.zoomToCursor)return;this._performCursorZoom=!0;let n=this.domElement.getBoundingClientRect(),r=e-n.left,i=t-n.top,a=n.width,o=n.height;this._mouse.x=r/a*2-1,this._mouse.y=-(i/o)*2+1,this._dollyDirection.set(this._mouse.x,this._mouse.y,1).unproject(this.object).sub(this.object.position).normalize()}_clampDistance(e){return Math.max(this.minDistance,Math.min(this.maxDistance,e))}_handleMouseDownRotate(e){this._rotateStart.set(e.clientX,e.clientY)}_handleMouseDownDolly(e){this._updateZoomParameters(e.clientX,e.clientX),this._dollyStart.set(e.clientX,e.clientY)}_handleMouseDownPan(e){this._panStart.set(e.clientX,e.clientY)}_handleMouseMoveRotate(e){this._rotateEnd.set(e.clientX,e.clientY),this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(P*this._rotateDelta.x/t.clientHeight),this._rotateUp(P*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd),this.update()}_handleMouseMoveDolly(e){this._dollyEnd.set(e.clientX,e.clientY),this._dollyDelta.subVectors(this._dollyEnd,this._dollyStart),this._dollyDelta.y>0?this._dollyOut(this._getZoomScale(this._dollyDelta.y)):this._dollyDelta.y<0&&this._dollyIn(this._getZoomScale(this._dollyDelta.y)),this._dollyStart.copy(this._dollyEnd),this.update()}_handleMouseMovePan(e){this._panEnd.set(e.clientX,e.clientY),this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd),this.update()}_handleMouseWheel(e){this._updateZoomParameters(e.clientX,e.clientY),e.deltaY<0?this._dollyIn(this._getZoomScale(e.deltaY)):e.deltaY>0&&this._dollyOut(this._getZoomScale(e.deltaY)),this.update()}_handleKeyDown(e){let t=!1;switch(e.code){case this.keys.UP:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,this.keyPanSpeed),t=!0;break;case this.keys.BOTTOM:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateUp(-P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(0,-this.keyPanSpeed),t=!0;break;case this.keys.LEFT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(this.keyPanSpeed,0),t=!0;break;case this.keys.RIGHT:e.ctrlKey||e.metaKey||e.shiftKey?this.enableRotate&&this._rotateLeft(-P*this.keyRotateSpeed/this.domElement.clientHeight):this.enablePan&&this._pan(-this.keyPanSpeed,0),t=!0;break}t&&(e.preventDefault(),this.update())}_handleTouchStartRotate(e){if(this._pointers.length===1)this._rotateStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateStart.set(n,r)}}_handleTouchStartPan(e){if(this._pointers.length===1)this._panStart.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panStart.set(n,r)}}_handleTouchStartDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyStart.set(0,i)}_handleTouchStartDollyPan(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enablePan&&this._handleTouchStartPan(e)}_handleTouchStartDollyRotate(e){this.enableZoom&&this._handleTouchStartDolly(e),this.enableRotate&&this._handleTouchStartRotate(e)}_handleTouchMoveRotate(e){if(this._pointers.length==1)this._rotateEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._rotateEnd.set(n,r)}this._rotateDelta.subVectors(this._rotateEnd,this._rotateStart).multiplyScalar(this.rotateSpeed);let t=this.domElement;this._rotateLeft(P*this._rotateDelta.x/t.clientHeight),this._rotateUp(P*this._rotateDelta.y/t.clientHeight),this._rotateStart.copy(this._rotateEnd)}_handleTouchMovePan(e){if(this._pointers.length===1)this._panEnd.set(e.pageX,e.pageY);else{let t=this._getSecondPointerPosition(e),n=.5*(e.pageX+t.x),r=.5*(e.pageY+t.y);this._panEnd.set(n,r)}this._panDelta.subVectors(this._panEnd,this._panStart).multiplyScalar(this.panSpeed),this._pan(this._panDelta.x,this._panDelta.y),this._panStart.copy(this._panEnd)}_handleTouchMoveDolly(e){let t=this._getSecondPointerPosition(e),n=e.pageX-t.x,r=e.pageY-t.y,i=Math.sqrt(n*n+r*r);this._dollyEnd.set(0,i),this._dollyDelta.set(0,(this._dollyEnd.y/this._dollyStart.y)**+this.zoomSpeed),this._dollyOut(this._dollyDelta.y),this._dollyStart.copy(this._dollyEnd);let a=(e.pageX+t.x)*.5,o=(e.pageY+t.y)*.5;this._updateZoomParameters(a,o)}_handleTouchMoveDollyPan(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enablePan&&this._handleTouchMovePan(e)}_handleTouchMoveDollyRotate(e){this.enableZoom&&this._handleTouchMoveDolly(e),this.enableRotate&&this._handleTouchMoveRotate(e)}_addPointer(e){this._pointers.push(e.pointerId)}_removePointer(e){delete this._pointerPositions[e.pointerId];for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId){this._pointers.splice(t,1);return}}_isTrackingPointer(e){for(let t=0;t<this._pointers.length;t++)if(this._pointers[t]==e.pointerId)return!0;return!1}_trackPointer(e){let t=this._pointerPositions[e.pointerId];t===void 0&&(t=new E,this._pointerPositions[e.pointerId]=t),t.set(e.pageX,e.pageY)}_getSecondPointerPosition(e){let t=e.pointerId===this._pointers[0]?this._pointers[1]:this._pointers[0];return this._pointerPositions[t]}_customWheelEvent(e){let t=e.deltaMode,n={clientX:e.clientX,clientY:e.clientY,deltaY:e.deltaY};switch(t){case 1:n.deltaY*=16;break;case 2:n.deltaY*=100;break}return e.ctrlKey&&!this._controlActive&&(n.deltaY*=10),n}};function L(e){this.enabled!==!1&&(this._pointers.length===0&&(this.domElement.setPointerCapture(e.pointerId),this.domElement.ownerDocument.addEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.addEventListener(`pointerup`,this._onPointerUp)),!this._isTrackingPointer(e)&&(this._addPointer(e),e.pointerType===`touch`?this._onTouchStart(e):this._onMouseDown(e),this._cursorStyle===`grab`&&(this.domElement.style.cursor=`grabbing`)))}function R(e){this.enabled!==!1&&(e.pointerType===`touch`?this._onTouchMove(e):this._onMouseMove(e))}function z(e){switch(this._removePointer(e),this._pointers.length){case 0:this.domElement.releasePointerCapture(e.pointerId),this.domElement.ownerDocument.removeEventListener(`pointermove`,this._onPointerMove),this.domElement.ownerDocument.removeEventListener(`pointerup`,this._onPointerUp),this.dispatchEvent(k),this.state=F.NONE,this._cursorStyle===`grab`&&(this.domElement.style.cursor=`grab`);break;case 1:let t=this._pointers[0],n=this._pointerPositions[t];this._onTouchStart({pointerId:t,pageX:n.x,pageY:n.y});break}}function B(e){let t;switch(e.button){case 0:t=this.mouseButtons.LEFT;break;case 1:t=this.mouseButtons.MIDDLE;break;case 2:t=this.mouseButtons.RIGHT;break;default:t=-1}switch(t){case h.DOLLY:if(this.enableZoom===!1)return;this._handleMouseDownDolly(e),this.state=F.DOLLY;break;case h.ROTATE:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enablePan===!1)return;this._handleMouseDownPan(e),this.state=F.PAN}else{if(this.enableRotate===!1)return;this._handleMouseDownRotate(e),this.state=F.ROTATE}break;case h.PAN:if(e.ctrlKey||e.metaKey||e.shiftKey){if(this.enableRotate===!1)return;this._handleMouseDownRotate(e),this.state=F.ROTATE}else{if(this.enablePan===!1)return;this._handleMouseDownPan(e),this.state=F.PAN}break;default:this.state=F.NONE}this.state!==F.NONE&&this.dispatchEvent(O)}function V(e){switch(this.state){case F.ROTATE:if(this.enableRotate===!1)return;this._handleMouseMoveRotate(e);break;case F.DOLLY:if(this.enableZoom===!1)return;this._handleMouseMoveDolly(e);break;case F.PAN:if(this.enablePan===!1)return;this._handleMouseMovePan(e);break}}function H(e){this.enabled===!1||this.enableZoom===!1||this.state!==F.NONE||(e.preventDefault(),this.dispatchEvent(O),this._handleMouseWheel(this._customWheelEvent(e)),this.dispatchEvent(k))}function U(e){this.enabled!==!1&&this._handleKeyDown(e)}function W(e){switch(this._trackPointer(e),this._pointers.length){case 1:switch(this.touches.ONE){case m.ROTATE:if(this.enableRotate===!1)return;this._handleTouchStartRotate(e),this.state=F.TOUCH_ROTATE;break;case m.PAN:if(this.enablePan===!1)return;this._handleTouchStartPan(e),this.state=F.TOUCH_PAN;break;default:this.state=F.NONE}break;case 2:switch(this.touches.TWO){case m.DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchStartDollyPan(e),this.state=F.TOUCH_DOLLY_PAN;break;case m.DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchStartDollyRotate(e),this.state=F.TOUCH_DOLLY_ROTATE;break;default:this.state=F.NONE}break;default:this.state=F.NONE}this.state!==F.NONE&&this.dispatchEvent(O)}function G(e){switch(this._trackPointer(e),this.state){case F.TOUCH_ROTATE:if(this.enableRotate===!1)return;this._handleTouchMoveRotate(e),this.update();break;case F.TOUCH_PAN:if(this.enablePan===!1)return;this._handleTouchMovePan(e),this.update();break;case F.TOUCH_DOLLY_PAN:if(this.enableZoom===!1&&this.enablePan===!1)return;this._handleTouchMoveDollyPan(e),this.update();break;case F.TOUCH_DOLLY_ROTATE:if(this.enableZoom===!1&&this.enableRotate===!1)return;this._handleTouchMoveDollyRotate(e),this.update();break;default:this.state=F.NONE}}function K(e){this.enabled!==!1&&e.preventDefault()}function q(e){e.key===`Control`&&(this._controlActive=!0,this.domElement.getRootNode().addEventListener(`keyup`,this._interceptControlUp,{passive:!0,capture:!0}))}function J(e){e.key===`Control`&&(this._controlActive=!1,this.domElement.getRootNode().removeEventListener(`keyup`,this._interceptControlUp,{passive:!0,capture:!0}))}var me={class:`model-viewer`},he={class:`model-toolbar`},ge={class:`model-actions`},_e={class:`model-meta`},ve={class:`model-stage`},ye={key:0,class:`model-state`},be={key:1,class:`model-state error`},Y=l(o({__name:`ModelViewer`,props:{data:{},type:{},sourceUrl:{}},setup(o){let l=o,m=r(null),h=r(`loading`),v=r(``),b=r(`正在加载模型`),x=r(!1),w=r(!1),T=r(!0),E=r(!0),D=null,O=null,k=null,A=null,j=null,M=null,N=null,P=null,F=0,I=0,L=null,R=new p,z=new TextDecoder(`utf-8`);class B extends Error{}let V=()=>l.type.toLowerCase(),H=()=>{if(!l.sourceUrl)return``;try{return new URL(`.`,l.sourceUrl).href}catch{let e=l.sourceUrl.split(/[?#]/)[0]||l.sourceUrl,t=e.lastIndexOf(`/`);return t>=0?e.slice(0,t+1):``}},U=e=>e instanceof Error?e.message:typeof e==`string`?e:JSON.stringify(e),W=()=>{let e=m.value;if(!e)return!1;if(D||(D=new de({antialias:!0,alpha:!1,canvas:e,powerPreference:`high-performance`}),D.setPixelRatio(Math.min(window.devicePixelRatio||1,2)),D.outputColorSpace=fe,D.setClearColor(16317180,1)),!O){O=new ie,O.background=new le(16317180);let e=new ne(16777215,14147304,2.4);O.add(e);let t=new C(16777215,2.2);t.position.set(8,10,8),O.add(t);let n=new C(16777215,.9);n.position.set(-7,5,-4),O.add(n),M=new re(10,10,13358561,14870768),O.add(M),N=new oe(3),O.add(N)}return k||(k=new ue(45,1,.01,1e5),k.position.set(5,4,6)),!A&&k&&D&&(A=new pe(k,D.domElement),A.enableDamping=!0,A.dampingFactor=.08,A.screenSpacePanning=!0,A.autoRotateSpeed=1.2),$(),Ue(),!0},G=e=>{(Array.isArray(e)?e:[e]).forEach(e=>e.dispose())},K=e=>{e.traverse(e=>{let t=e,n=e;t.geometry&&t.geometry.dispose(),t.material&&G(t.material),n.material&&G(n.material)})},q=()=>{j&&O&&(O.remove(j),K(j)),j=null,L=null},J=()=>z.decode(l.data),Y=async()=>{let{GLTFLoader:e}=await c(async()=>{let{GLTFLoader:e}=await import(`./GLTFLoader-tdpRj7x3.js`);return{GLTFLoader:e}},__vite__mapDeps([0,1]),import.meta.url),t=new e,n=H(),r=V()===`gltf`?J():l.data;return new Promise((e,i)=>{t.parse(r,n,t=>{t.animations?.length&&(L=new y(t.scene),t.animations.forEach(e=>L?.clipAction(e).play())),e(t.scene)},i)})},xe=async()=>{let{OBJLoader:e}=await c(async()=>{let{OBJLoader:e}=await import(`./OBJLoader-CIcUmaIR.js`);return{OBJLoader:e}},__vite__mapDeps([2,1]),import.meta.url);return new e().parse(J())},Se=async()=>{let{STLLoader:e}=await c(async()=>{let{STLLoader:e}=await import(`./STLLoader--ClWNq9A.js`);return{STLLoader:e}},__vite__mapDeps([3,1]),import.meta.url),t=new e().parse(l.data);return t.computeVertexNormals(),new _(t,X())},Ce=async()=>{let{PLYLoader:e}=await c(async()=>{let{PLYLoader:e}=await import(`./PLYLoader-CpoozyyG.js`);return{PLYLoader:e}},__vite__mapDeps([4,1]),import.meta.url),t=new e().parse(l.data);return t.computeVertexNormals(),new _(t,X())},we=async()=>{let{FBXLoader:e}=await c(async()=>{let{FBXLoader:e}=await import(`./FBXLoader-CDJxWnMq.js`);return{FBXLoader:e}},__vite__mapDeps([5,1,6]),import.meta.url),t=new e().parse(l.data,H());return t.animations?.length&&(L=new y(t),t.animations.forEach(e=>L?.clipAction(e).play())),t},Te=async()=>{let{ColladaLoader:e}=await c(async()=>{let{ColladaLoader:e}=await import(`./ColladaLoader-DLsqbaWZ.js`);return{ColladaLoader:e}},__vite__mapDeps([7,1]),import.meta.url);return new e().parse(J(),H()).scene},Ee=async()=>{let{TDSLoader:e}=await c(async()=>{let{TDSLoader:e}=await import(`./TDSLoader-Dat6-0hj.js`);return{TDSLoader:e}},__vite__mapDeps([8,1]),import.meta.url);return new e().parse(l.data,H())},De=async()=>{let{ThreeMFLoader:e}=await c(async()=>{let{ThreeMFLoader:e}=await import(`./3MFLoader-BLLnIDfF.js`);return{ThreeMFLoader:e}},__vite__mapDeps([9,1,6]),import.meta.url);return new e().parse(l.data)},Oe=async()=>{let{AMFLoader:e}=await c(async()=>{let{AMFLoader:e}=await import(`./AMFLoader-Co6GFjGd.js`);return{AMFLoader:e}},__vite__mapDeps([10,1,6]),import.meta.url);return new e().parse(l.data)},ke=async()=>{let{USDLoader:e}=await c(async()=>{let{USDLoader:e}=await import(`./USDLoader-D5bNRrcv.js`);return{USDLoader:e}},__vite__mapDeps([11,1,6]),import.meta.url);return new e().parse(l.data)},Ae=async()=>{let{KMZLoader:e}=await c(async()=>{let{KMZLoader:e}=await import(`./KMZLoader-Co2u3IuK.js`);return{KMZLoader:e}},__vite__mapDeps([12,1,6,7]),import.meta.url);return new e().parse(l.data).scene},je=e=>{let t=e.toUpperCase();throw e===`ifc`?new B(`IFC 是 BIM 模型格式,浏览器端完整解析通常依赖 web-ifc 这类 WebAssembly BIM 内核。当前 Apache-2.0 前端包不默认打入这类重型运行时,建议在私有服务端转换为 GLB/GLTF 后预览。`):e===`3dm`?new B(`3DM 是 Rhino/OpenNURBS 模型格式,浏览器端解析需要 rhino3dm WebAssembly 运行时。当前前端包未内置该运行时,建议在私有转换链路输出 GLB/GLTF 后预览。`):new B(`${t} 属于 CAD B-Rep / 工程交换格式,浏览器端完整解析通常需要 OpenCascade 等 WebAssembly 几何内核。当前前端包不默认打入这类重型运行时,建议在私有服务端转换为 GLB/GLTF 或轻量网格格式后预览。`)},Me=async()=>{let{PCDLoader:e}=await c(async()=>{let{PCDLoader:e}=await import(`./PCDLoader-Ckik2ZNQ.js`);return{PCDLoader:e}},__vite__mapDeps([13,1]),import.meta.url);return new e().parse(l.data,l.sourceUrl||`model.pcd`)},Ne=async()=>{let{VRMLLoader:e}=await c(async()=>{let{VRMLLoader:e}=await import(`./VRMLLoader-Cc44JIu6.js`);return{VRMLLoader:e}},__vite__mapDeps([14,1]),import.meta.url);return new e().parse(J(),H())},Pe=async()=>{let{XYZLoader:e}=await c(async()=>{let{XYZLoader:e}=await import(`./XYZLoader-D0wrbuYP.js`);return{XYZLoader:e}},__vite__mapDeps([15,1]),import.meta.url),t=new e().parse(J());return t.computeBoundingSphere(),new ce(t,Ie())},Fe=async()=>{let{VTKLoader:e}=await c(async()=>{let{VTKLoader:e}=await import(`./VTKLoader-B7r87HF1.js`);return{VTKLoader:e}},__vite__mapDeps([16,1,6]),import.meta.url),t=new e().parse(l.data);return t.computeVertexNormals(),new _(t,X())},X=()=>new se({color:5214138,metalness:.08,roughness:.78,side:2,wireframe:w.value}),Ie=()=>new ae({color:2062988,size:.035,sizeAttenuation:!0}),Z=e=>{e.traverse(e=>{let t=e;t.isMesh&&!t.material&&(t.material=X()),t.isMesh&&t.material&&(Array.isArray(t.material)?t.material:[t.material]).forEach(e=>{`wireframe`in e&&(e.wireframe=w.value),e.needsUpdate=!0})})},Le=e=>{let t=0,n=0;return e.traverse(e=>{e.isMesh&&(t+=1),e.isPoints&&(n+=1)}),{meshes:t,points:n}},Re=e=>{let{meshes:t,points:n}=Le(e),r=[];t&&r.push(`${t} 个网格`),n&&r.push(`${n} 个点云`),b.value=r.length?r.join(`,`):`模型已加载`},ze=e=>{let t=new S().setFromObject(e);if(t.isEmpty())return{center:new f,size:new f(4,4,4)};let n=t.getCenter(new f),r=t.getSize(new f);return e.position.sub(n),{center:new f,size:r}},Q=()=>{if(!j||!k||!A)return;let e=new S().setFromObject(j),t=e.getSize(new f),n=e.getCenter(new f),r=Math.max(t.x,t.y,t.z,1)/(2*Math.tan(g.degToRad(k.fov/2)))*1.65;k.near=Math.max(r/1e3,.01),k.far=Math.max(r*1e3,1e3),k.position.copy(n).add(new f(r,r*.62,r)),k.updateProjectionMatrix(),A.target.copy(n),A.update()},Be=async e=>{if(!O)return;q(),Z(e);let{size:t}=ze(e);j=e,O.add(e),Q(),Re(e);let n=Math.max(t.x,t.y,t.z,1);M&&M.scale.setScalar(Math.max(n/10,1))},Ve=async()=>{let e=++I;if(h.value=`loading`,v.value=``,b.value=`正在加载模型`,W())try{let n=await He(V());if(e!==I){K(n);return}await t(),await Be(n),h.value=`ready`}catch(t){if(e!==I)return;t instanceof B||console.error(t),h.value=`error`,v.value=U(t)||`${l.type.toUpperCase()} 模型解析失败`}},He=e=>{switch(e){case`glb`:case`gltf`:return Y();case`obj`:return xe();case`stl`:return Se();case`ply`:return Ce();case`fbx`:return we();case`dae`:return Te();case`3ds`:return Ee();case`3mf`:return De();case`amf`:return Oe();case`usd`:case`usda`:case`usdc`:case`usdz`:return ke();case`kmz`:return Ae();case`step`:case`stp`:case`iges`:case`igs`:case`ifc`:case`3dm`:return je(e);case`pcd`:return Me();case`wrl`:case`vrml`:return Ne();case`xyz`:return Pe();case`vtk`:case`vtp`:return Fe();default:throw Error(`暂不支持 .${e} 模型格式`)}},Ue=()=>{let e=m.value;if(!e||!D||!k)return;let t=e.getBoundingClientRect(),n=Math.max(1,Math.floor(t.width)),r=Math.max(1,Math.floor(t.height));D.setSize(n,r,!1),k.aspect=n/r,k.updateProjectionMatrix()},We=e=>{if(!D||!O||!k||!A)return;A.autoRotate=x.value,A.update(),R.update(e);let t=R.getDelta();L?.update(t),D.render(O,k),F=requestAnimationFrame(We)},Ge=()=>{j&&Z(j)},$=()=>{M&&(M.visible=T.value),N&&(N.visible=E.value)},Ke=()=>{w.value=!w.value,Ge()},qe=()=>{T.value=!T.value,$()},Je=()=>{E.value=!E.value,$()};return te(()=>{W()&&(R.connect(document),P=new ResizeObserver(Ue),m.value&&P.observe(m.value),We(),Ve())}),i(()=>{I+=1,cancelAnimationFrame(F),P?.disconnect(),P=null,q(),A?.dispose(),A=null,D?.dispose(),D=null,R.dispose(),R=new p,O=null,k=null,M=null,N=null}),a(()=>[l.data,l.type,l.sourceUrl],()=>{Ve()}),(t,r)=>(s(),d(`div`,me,[u(`div`,he,[u(`div`,ge,[u(`button`,{type:`button`,onClick:Q},`适配`),u(`button`,{type:`button`,class:e({active:x.value}),onClick:r[0]||=e=>x.value=!x.value},`旋转`,2),u(`button`,{type:`button`,class:e({active:w.value}),onClick:Ke},`线框`,2),u(`button`,{type:`button`,class:e({active:T.value}),onClick:qe},`网格`,2),u(`button`,{type:`button`,class:e({active:E.value}),onClick:Je},`坐标`,2)]),u(`div`,_e,[u(`strong`,null,n(o.type.toUpperCase()),1),u(`span`,null,n(b.value),1)])]),u(`div`,ve,[u(`canvas`,{ref_key:`canvas`,ref:m},null,512),h.value===`loading`?(s(),d(`div`,ye,`正在解析 3D 模型...`)):h.value===`error`?(s(),d(`div`,be,[r[1]||=u(`strong`,null,`模型解析失败`,-1),u(`span`,null,n(v.value),1)])):ee(``,!0)])]))}}),[[`__scopeId`,`data-v-9d2e23df`]]);export{Y as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ofd-BxyAgdTZ.js","./index-Wv8YWT7J.js","./index-Da-_mMtb.css","./jszip.min-2KGdI7OW.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{D as e,H as t,L as n,O as r,T as i,b as a,j as o,k as s,t as c,u as l,v as u,x as d}from"./index-Wv8YWT7J.js";var f={key:0,class:`ofd-state`},p={key:1,class:`ofd-state error`},m=l(i({__name:`OfdViewer`,props:{data:{}},setup(i){let l=i,m=n(null),h=n(null),g=n(`loading`),_=n(``),v=!1,y=0,b=null,x=0,S=0,C=null,w=()=>{let e=m.value;if(e)for(;e.firstChild;)e.removeChild(e.firstChild)},T=e=>new Promise((t,n)=>{e.parseOfdDocument({ofd:l.data,success:e=>t(e),fail:e=>n(e)})}),E=async e=>(C||=T(e).then(e=>{let t=e[0];if(!t)throw Error(`OFD 文件中没有可渲染的文档`);return t}),C),D=e=>e instanceof Error?e.message:typeof e==`string`?e:JSON.stringify(e),O=(e,t)=>{let n=document.createDocumentFragment();t.forEach(e=>{e.classList.add(`ofd-page`),n.appendChild(e)}),e.appendChild(n)},k=()=>{let e=h.value?.getBoundingClientRect().width||m.value?.getBoundingClientRect().width||0;return Math.max(Math.floor(e-48),240)},A=async e=>{let t=await c(()=>import(`./ofd-BxyAgdTZ.js`),__vite__mapDeps([0,1,2,3]),import.meta.url),n=await E(t);return v?[]:Promise.resolve(t.renderOfd(e,n))},j=async(t={})=>{let n=m.value;if(!n)return;let r=t.force??!1,i=t.showLoading??!1,a=k();if(!r&&g.value===`ready`&&Math.abs(a-S)<8)return;let o=++y;(i||g.value!==`ready`)&&(g.value=`loading`,w()),_.value=``;try{await e();let t=await A(a);if(v||o!==y)return;w(),O(n,t),S=a,g.value=`ready`}catch(e){if(v||o!==y)return;console.error(e),g.value=`error`,_.value=D(e)||`OFD 文件解析失败`}},M=()=>{!h.value||b||(b=new ResizeObserver(()=>{window.clearTimeout(x),x=window.setTimeout(()=>{v||j({showLoading:!1})},180)}),b.observe(h.value))};return s(()=>{j({force:!0,showLoading:!0}).finally(()=>{M()})}),r(()=>{v=!0,y+=1,window.clearTimeout(x),b?.disconnect(),b=null,w()}),(e,n)=>(o(),d(`div`,{ref_key:`viewer`,ref:h,class:`ofd-viewer`},[g.value===`loading`?(o(),d(`div`,f,`正在解析 OFD...`)):g.value===`error`?(o(),d(`div`,p,t(_.value),1)):a(``,!0),u(`div`,{ref_key:`stage`,ref:m,class:`ofd-stage`},null,512)],512))}}),[[`__scopeId`,`data-v-48238ef6`]]);export{m as default};
|