@flyfish-group/file-viewer 1.0.24 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +20 -0
- package/README.md +6 -337
- package/dist/index.d.ts +2 -369
- package/dist/index.js +2 -0
- package/package.json +32 -105
- package/dist/components/3MFLoader.js +0 -1
- package/dist/components/AMFLoader.js +0 -1
- package/dist/components/ArchiveViewer.js +0 -202
- package/dist/components/AudioViewer.js +0 -1
- package/dist/components/CadViewer.js +0 -1
- package/dist/components/CodeViewer.js +0 -1
- package/dist/components/ColladaLoader.js +0 -1
- package/dist/components/DrawingViewer.js +0 -1
- package/dist/components/EdaViewer.js +0 -1
- package/dist/components/EmailViewer.js +0 -1
- package/dist/components/EpubViewer.js +0 -1
- package/dist/components/FBXLoader.js +0 -1
- package/dist/components/GLTFLoader.js +0 -1
- package/dist/components/ImageViewer.js +0 -1
- package/dist/components/KMZLoader.js +0 -1
- package/dist/components/MarkdownViewer.js +0 -1
- package/dist/components/ModelViewer.js +0 -26885
- package/dist/components/OBJLoader.js +0 -1
- package/dist/components/OfdViewer.js +0 -1
- package/dist/components/PCDLoader.js +0 -1
- package/dist/components/PLYLoader.js +0 -1
- package/dist/components/PdfView.js +0 -30842
- package/dist/components/PptxRender.js +0 -19323
- package/dist/components/STLLoader.js +0 -1
- package/dist/components/TDSLoader.js +0 -1
- package/dist/components/TypstViewer.js +0 -2009
- package/dist/components/USDLoader.js +0 -1
- package/dist/components/UmdViewer.js +0 -2
- package/dist/components/VRMLLoader.js +0 -1
- package/dist/components/VTKLoader.js +0 -1
- package/dist/components/XYZLoader.js +0 -1
- package/dist/components/XlsxTable.js +0 -1
- package/dist/components/___vite-browser-external_commonjs-proxy.js +0 -1
- package/dist/components/_commonjs-dynamic-modules.js +0 -1
- package/dist/components/_commonjsHelpers.js +0 -1
- package/dist/components/ar-SA-G6X2FPQ2.js +0 -1
- package/dist/components/arc.js +0 -1
- package/dist/components/architecture-7EHR7CIX.js +0 -1
- package/dist/components/architectureDiagram-3BPJPVTR.js +0 -1
- package/dist/components/az-AZ-76LH7QW2.js +0 -1
- package/dist/components/bg-BG-XCXSNQG7.js +0 -1
- package/dist/components/blockDiagram-GPEHLZMM.js +0 -1
- package/dist/components/bn-BD-2XOGV67Q.js +0 -1
- package/dist/components/c4Diagram-AAUBKEIU.js +0 -1
- package/dist/components/ca-ES-6MX7JW3Y.js +0 -1
- package/dist/components/cfb.js +0 -1
- package/dist/components/channel.js +0 -1
- package/dist/components/chunk-2J33WTMH.js +0 -1
- package/dist/components/chunk-4BX2VUAB.js +0 -1
- package/dist/components/chunk-55IACEB6.js +0 -1
- package/dist/components/chunk-727SXJPM.js +0 -1
- package/dist/components/chunk-AQP2D5EJ.js +0 -1
- package/dist/components/chunk-EIO257PC.js +0 -1722
- package/dist/components/chunk-FMBD7UC4.js +0 -1
- package/dist/components/chunk-ND2GUHAM.js +0 -1
- package/dist/components/chunk-QZHKN3VN.js +0 -1
- package/dist/components/classDiagram-4FO5ZUOK.js +0 -1
- package/dist/components/classDiagram-v2-Q7XG4LA2.js +0 -1
- package/dist/components/cose-bilkent-S5V4N54A.js +0 -1
- package/dist/components/cs-CZ-2BRQDIVT.js +0 -1
- package/dist/components/cytoscape.esm.js +0 -1
- package/dist/components/da-DK-5WZEPLOC.js +0 -1
- package/dist/components/dagre-BM42HDAG.js +0 -1
- package/dist/components/de-DE-XR44H4JA.js +0 -1
- package/dist/components/defaultLocale.js +0 -1
- package/dist/components/diagram-2AECGRRQ.js +0 -1
- package/dist/components/diagram-5GNKFQAL.js +0 -1
- package/dist/components/diagram-KO2AKTUF.js +0 -1
- package/dist/components/diagram-LMA3HP47.js +0 -1
- package/dist/components/diagram-OG6HWLK6.js +0 -1
- package/dist/components/directory-open-01563666.js +0 -1
- package/dist/components/directory-open-4ed118d0.js +0 -1
- package/dist/components/docx-preview.js +0 -7
- package/dist/components/el-GR-BZB4AONW.js +0 -1
- package/dist/components/en-B4ZKOASM.js +0 -1
- package/dist/components/erDiagram-TEJ5UH35.js +0 -1
- package/dist/components/es-ES-U4NZUMDT.js +0 -1
- package/dist/components/eu-ES-A7QVB2H4.js +0 -1
- package/dist/components/eventmodeling-FCH6USID.js +0 -1
- package/dist/components/fa-IR-HGAKTJCU.js +0 -1
- package/dist/components/fflate.module.js +0 -1
- package/dist/components/fi-FI-Z5N7JZ37.js +0 -1
- package/dist/components/file-open-002ab408.js +0 -1
- package/dist/components/file-open-7c801643.js +0 -1
- package/dist/components/file-save-3189631c.js +0 -1
- package/dist/components/file-save-745eba88.js +0 -1
- package/dist/components/flowDiagram-I6XJVG4X.js +0 -1
- package/dist/components/fr-FR-RHASNOE6.js +0 -1
- package/dist/components/ganttDiagram-6RSMTGT7.js +0 -1
- package/dist/components/gitGraph-WXDBUCRP.js +0 -1
- package/dist/components/gitGraphDiagram-PVQCEYII.js +0 -1
- package/dist/components/gl-ES-HMX3MZ6V.js +0 -1
- package/dist/components/global-compiler.js +0 -1
- package/dist/components/global-renderer.js +0 -1
- package/dist/components/graph.js +0 -1
- package/dist/components/he-IL-6SHJWFNN.js +0 -1
- package/dist/components/hi-IN-IWLTKZ5I.js +0 -1
- package/dist/components/hu-HU-A5ZG7DT2.js +0 -1
- package/dist/components/id-ID-SAP4L64H.js +0 -1
- package/dist/components/image-GAAHSSAO.js +0 -1
- package/dist/components/image-blob-reduce.esm.js +0 -2
- package/dist/components/index.js +0 -23989
- package/dist/components/index10.js +0 -1
- package/dist/components/index11.js +0 -1
- package/dist/components/index12.js +0 -1
- package/dist/components/index13.js +0 -1
- package/dist/components/index14.js +0 -1
- package/dist/components/index15.js +0 -1
- package/dist/components/index16.js +0 -1
- package/dist/components/index17.js +0 -1
- package/dist/components/index18.js +0 -1
- package/dist/components/index19.js +0 -1
- package/dist/components/index2.js +0 -1
- package/dist/components/index20.js +0 -1
- package/dist/components/index21.js +0 -1
- package/dist/components/index22.js +0 -2
- package/dist/components/index23.js +0 -1
- package/dist/components/index24.js +0 -1
- package/dist/components/index3.js +0 -1
- package/dist/components/index4.js +0 -1
- package/dist/components/index5.js +0 -1
- package/dist/components/index6.js +0 -1
- package/dist/components/index7.js +0 -1
- package/dist/components/index8.js +0 -1
- package/dist/components/index9.js +0 -1
- package/dist/components/info-J43DQDTF.js +0 -1
- package/dist/components/infoDiagram-5YYISTIA.js +0 -1
- package/dist/components/init.js +0 -1
- package/dist/components/ishikawaDiagram-YF4QCWOH.js +0 -1
- package/dist/components/it-IT-JPQ66NNP.js +0 -1
- package/dist/components/ja-JP-DBVTYXUO.js +0 -1
- package/dist/components/journeyDiagram-JHISSGLW.js +0 -1
- package/dist/components/jszip.min.js +0 -1
- package/dist/components/kaa-6HZHGXH3.js +0 -1
- package/dist/components/kab-KAB-ZGHBKWFO.js +0 -1
- package/dist/components/kanban-definition-UN3LZRKU.js +0 -1
- package/dist/components/katex.js +0 -1
- package/dist/components/kk-KZ-P5N5QNE5.js +0 -1
- package/dist/components/km-KH-HSX4SM5Z.js +0 -1
- package/dist/components/ko-KR-MTYHY66A.js +0 -1
- package/dist/components/ku-TR-6OUDTVRD.js +0 -1
- package/dist/components/layout.js +0 -1
- package/dist/components/libarchive.js +0 -6
- package/dist/components/linear.js +0 -1
- package/dist/components/lt-LT-XHIRWOB4.js +0 -1
- package/dist/components/lv-LV-5QDEKY6T.js +0 -1
- package/dist/components/mermaid-parser.core.js +0 -14
- package/dist/components/mindmap-definition-RKZ34NQL.js +0 -1
- package/dist/components/mr-IN-CRQNXWMA.js +0 -1
- package/dist/components/my-MM-5M5IBNSE.js +0 -1
- package/dist/components/nb-NO-T6EIAALU.js +0 -1
- package/dist/components/nestedRender.js +0 -1
- package/dist/components/nl-NL-IS3SIHDZ.js +0 -1
- package/dist/components/nn-NO-6E72VCQL.js +0 -1
- package/dist/components/oc-FR-POXYY2M6.js +0 -1
- package/dist/components/ofd.js +0 -1
- package/dist/components/ordinal.js +0 -1
- package/dist/components/pa-IN-N4M65BXN.js +0 -1
- package/dist/components/packet-YPE3B663.js +0 -1
- package/dist/components/percentages-BXMCSKIN.js +0 -1
- package/dist/components/pica.js +0 -1
- package/dist/components/pie-LRSECV5Y.js +0 -1
- package/dist/components/pie.js +0 -1
- package/dist/components/pieDiagram-4H26LBE5.js +0 -1
- package/dist/components/pl-PL-T2D74RX3.js +0 -1
- package/dist/components/postal-mime.js +0 -1
- package/dist/components/printLayout.js +0 -1
- package/dist/components/pt-BR-5N22H2LF.js +0 -1
- package/dist/components/pt-PT-UZXXM6DQ.js +0 -1
- package/dist/components/quadrantDiagram-W4KKPZXB.js +0 -1
- package/dist/components/radar-GUYGQ44K.js +0 -1
- package/dist/components/requirementDiagram-4Y6WPE33.js +0 -1
- package/dist/components/ro-RO-JPDTUUEW.js +0 -1
- package/dist/components/rough.esm.js +0 -1
- package/dist/components/roundRect.js +0 -1
- package/dist/components/ru-RU-B4JR7IUQ.js +0 -1
- package/dist/components/sankeyDiagram-5OEKKPKP.js +0 -1
- package/dist/components/sequenceDiagram-3UESZ5HK.js +0 -1
- package/dist/components/si-LK-N5RQ5JYF.js +0 -1
- package/dist/components/sk-SK-C5VTKIMK.js +0 -1
- package/dist/components/sl-SI-NN7IZMDC.js +0 -1
- package/dist/components/stateDiagram-AJRCARHV.js +0 -1
- package/dist/components/stateDiagram-v2-BHNVJYJU.js +0 -1
- package/dist/components/subset-shared.chunk.js +0 -1
- package/dist/components/subset-worker.chunk.js +0 -1
- package/dist/components/sv-SE-XGPEYMSR.js +0 -1
- package/dist/components/ta-IN-2NMHFXQM.js +0 -1
- package/dist/components/th-TH-HPSO5L25.js +0 -1
- package/dist/components/time.js +0 -1
- package/dist/components/timeline-definition-PNZ67QCA.js +0 -1
- package/dist/components/tr-TR-DEFEU3FU.js +0 -1
- package/dist/components/transform.js +0 -1
- package/dist/components/treeView-BLDUP644.js +0 -1
- package/dist/components/treemap-LRROVOQU.js +0 -1
- package/dist/components/uk-UA-QMV73CPH.js +0 -1
- package/dist/components/vennDiagram-CIIHVFJN.js +0 -1
- package/dist/components/vi-VN-M7AON7JQ.js +0 -1
- package/dist/components/wardley-L42UT6IY.js +0 -1
- package/dist/components/wardleyDiagram-YWT4CUSO.js +0 -1
- package/dist/components/wasm-pack-shim.js +0 -1
- package/dist/components/wasm-pack-shim2.js +0 -1
- package/dist/components/worker-ref.js +0 -1
- package/dist/components/xychartDiagram-2RQKCTM6.js +0 -1
- package/dist/components/zh-CN-LNUGB5OW.js +0 -1
- package/dist/components/zh-HK-E62DVLB3.js +0 -1
- package/dist/components/zh-TW-RAJ6MFWO.js +0 -1
- package/dist/index.mjs +0 -1
- package/dist/package/index.d.ts +0 -36
- package/dist/style.css +0 -26
- package/dist/wasm/cad/DwgWorker-CuZJ5EUe.js +0 -349
- package/dist/wasm/cad/dwfv-render.wasm +0 -0
- package/dist/wasm/cad/dwg-worker.js +0 -349
- package/dist/wasm/cad/index-C365l3i9.js +0 -4161
- package/dist/wasm/cad/libredwg-web.js +0 -15
- package/dist/wasm/cad/libredwg-web.wasm +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,369 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { ExtractPropTypes } from 'vue';
|
|
4
|
-
import { PropType } from 'vue';
|
|
5
|
-
|
|
6
|
-
declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
7
|
-
|
|
8
|
-
declare type __VLS_TypePropsToRuntimeProps<T> = {
|
|
9
|
-
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
10
|
-
type: PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
11
|
-
} : {
|
|
12
|
-
type: PropType<T[K]>;
|
|
13
|
-
required: true;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
declare const _default: Installer;
|
|
18
|
-
export default _default;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* 组件可接受的本地二进制来源。
|
|
22
|
-
*
|
|
23
|
-
* 对外接入时最推荐传入带正确文件名的 `File`。如果业务侧拿到的是
|
|
24
|
-
* `Blob` 或 `ArrayBuffer`,请先包装成 `new File([...], 'demo.pdf')`,
|
|
25
|
-
* 这样渲染器才能通过扩展名选择正确的预览链路。
|
|
26
|
-
*/
|
|
27
|
-
export declare type FileRef = File | Blob | ArrayBuffer;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* 渲染器专属导出适配器。
|
|
31
|
-
*/
|
|
32
|
-
export declare interface FileRenderExportAdapter {
|
|
33
|
-
/**
|
|
34
|
-
* 当前渲染器是否允许打印。未设置时由文件类型能力矩阵兜底判断。
|
|
35
|
-
*/
|
|
36
|
-
print?: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* 当前渲染器是否允许导出渲染后的 HTML。
|
|
39
|
-
*/
|
|
40
|
-
exportHtml?: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* 是否把当前页面的全局 style/link 一并带进导出窗口。
|
|
43
|
-
*
|
|
44
|
-
* 专属分页适配器通常会自行输出必要样式,应关闭该项,避免宿主应用的
|
|
45
|
-
* `height: 100vh`、`overflow: hidden` 等布局样式干扰浏览器分页打印。
|
|
46
|
-
*/
|
|
47
|
-
includeDocumentStyles?: boolean;
|
|
48
|
-
beforeSnapshot?: () => Promise<void> | void;
|
|
49
|
-
/**
|
|
50
|
-
* 打印专用样式。适合 PDF / Word 等有真实页面尺寸的格式输出 `@page size`,
|
|
51
|
-
* 避免浏览器默认纸张或外层容器把页面缩放、裁切。
|
|
52
|
-
*/
|
|
53
|
-
printStyle?: string | ((options: FileRenderExportOptions) => Promise<string> | string);
|
|
54
|
-
toHtml?: (options: FileRenderExportOptions) => Promise<string> | string;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* 导出/打印模式。
|
|
59
|
-
*/
|
|
60
|
-
export declare type FileRenderExportMode = 'export' | 'print';
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* 渲染器自定义导出上下文。
|
|
64
|
-
*
|
|
65
|
-
* 大多数格式可以直接克隆当前 DOM;PDF 这类虚拟滚动或按需渲染格式
|
|
66
|
-
* 需要在打印前重新生成完整页面,因此允许渲染器注册专属适配器。
|
|
67
|
-
*/
|
|
68
|
-
export declare interface FileRenderExportOptions {
|
|
69
|
-
mode: FileRenderExportMode;
|
|
70
|
-
title: string;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export declare const FileViewer: DefineComponent<__VLS_TypePropsToRuntimeProps<{
|
|
74
|
-
/**
|
|
75
|
-
* 本地二进制输入。优先级高于 `url`。
|
|
76
|
-
*
|
|
77
|
-
* 推荐传入带正确扩展名的 `File`;如果业务侧只有 Blob 或 ArrayBuffer,
|
|
78
|
-
* 请先包装成 `new File([...], 'demo.pdf')`,保证格式识别稳定。
|
|
79
|
-
*/
|
|
80
|
-
file?: FileRef | undefined;
|
|
81
|
-
/**
|
|
82
|
-
* 远端文件地址。组件会在浏览器内下载该地址,再根据路径里的扩展名选择渲染器。
|
|
83
|
-
*
|
|
84
|
-
* 目标资源必须允许浏览器访问;鉴权或无扩展名下载接口建议由宿主侧先取回,
|
|
85
|
-
* 再通过 `file` 参数传入。
|
|
86
|
-
*/
|
|
87
|
-
url?: string | undefined;
|
|
88
|
-
/**
|
|
89
|
-
* 预览器通用选项。
|
|
90
|
-
*
|
|
91
|
-
* 目前覆盖内置操作栏、水印,以及压缩包内文件预览的缓存/体积限制。
|
|
92
|
-
*/
|
|
93
|
-
options?: FileViewerOptions | undefined;
|
|
94
|
-
}>, {
|
|
95
|
-
downloadOriginalFile: () => Promise<void>;
|
|
96
|
-
printRenderedHtml: () => Promise<void>;
|
|
97
|
-
exportRenderedHtml: () => Promise<void>;
|
|
98
|
-
getOperationAvailability: () => {
|
|
99
|
-
download: boolean;
|
|
100
|
-
print: boolean;
|
|
101
|
-
exportHtml: boolean;
|
|
102
|
-
};
|
|
103
|
-
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
104
|
-
"load-start": (context: FileViewerLifecycleContext) => void;
|
|
105
|
-
"load-complete": (context: FileViewerLifecycleContext) => void;
|
|
106
|
-
"unload-start": (context: FileViewerLifecycleContext) => void;
|
|
107
|
-
"unload-complete": (context: FileViewerLifecycleContext) => void;
|
|
108
|
-
"operation-before": (context: FileViewerOperationContext) => void;
|
|
109
|
-
"operation-cancel": (context: FileViewerOperationContext) => void;
|
|
110
|
-
"operation-availability-change": (availability: FileViewerOperationAvailability) => void;
|
|
111
|
-
}, string, Readonly<ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
|
|
112
|
-
/**
|
|
113
|
-
* 本地二进制输入。优先级高于 `url`。
|
|
114
|
-
*
|
|
115
|
-
* 推荐传入带正确扩展名的 `File`;如果业务侧只有 Blob 或 ArrayBuffer,
|
|
116
|
-
* 请先包装成 `new File([...], 'demo.pdf')`,保证格式识别稳定。
|
|
117
|
-
*/
|
|
118
|
-
file?: FileRef | undefined;
|
|
119
|
-
/**
|
|
120
|
-
* 远端文件地址。组件会在浏览器内下载该地址,再根据路径里的扩展名选择渲染器。
|
|
121
|
-
*
|
|
122
|
-
* 目标资源必须允许浏览器访问;鉴权或无扩展名下载接口建议由宿主侧先取回,
|
|
123
|
-
* 再通过 `file` 参数传入。
|
|
124
|
-
*/
|
|
125
|
-
url?: string | undefined;
|
|
126
|
-
/**
|
|
127
|
-
* 预览器通用选项。
|
|
128
|
-
*
|
|
129
|
-
* 目前覆盖内置操作栏、水印,以及压缩包内文件预览的缓存/体积限制。
|
|
130
|
-
*/
|
|
131
|
-
options?: FileViewerOptions | undefined;
|
|
132
|
-
}>>>, {}>;
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* 压缩包预览配置。
|
|
136
|
-
*/
|
|
137
|
-
export declare interface FileViewerArchiveOptions {
|
|
138
|
-
/**
|
|
139
|
-
* libarchive.js Worker 地址。私有化部署时建议把
|
|
140
|
-
* `worker-bundle.js` 与 `libarchive.wasm` 放在同一目录后传入。
|
|
141
|
-
*/
|
|
142
|
-
workerUrl?: string;
|
|
143
|
-
/**
|
|
144
|
-
* 是否启用 IndexedDB 缓存压缩包内已解压的文件。
|
|
145
|
-
*/
|
|
146
|
-
cache?: boolean;
|
|
147
|
-
/**
|
|
148
|
-
* 单个压缩包允许解析的最大体积,单位字节。
|
|
149
|
-
*/
|
|
150
|
-
maxArchiveSize?: number;
|
|
151
|
-
/**
|
|
152
|
-
* 压缩包内单文件允许在线预览的最大体积,单位字节。
|
|
153
|
-
*/
|
|
154
|
-
maxEntryPreviewSize?: number;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export declare type FileViewerBeforeOperation = (context: FileViewerOperationContext) => boolean | void | Promise<boolean | void>;
|
|
158
|
-
|
|
159
|
-
declare type FileViewerCadDwfLineWeightMode = 'adaptive' | 'physical' | 'hairline';
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* CAD 预览配置。
|
|
163
|
-
*
|
|
164
|
-
* 默认使用 @flyfish-dev/cad-viewer,并从 viewer 静态目录下的
|
|
165
|
-
* `wasm/cad/` 按需加载 LibreDWG WASM、DWF raster WASM 与 DWG Worker。
|
|
166
|
-
* 私有化部署或 CDN 路径不同的场景,可以显式覆盖对应 URL。
|
|
167
|
-
*/
|
|
168
|
-
declare interface FileViewerCadOptions {
|
|
169
|
-
wasmPath?: string;
|
|
170
|
-
workerUrl?: string | URL;
|
|
171
|
-
dwfWasmUrl?: string;
|
|
172
|
-
useWorker?: boolean;
|
|
173
|
-
workerTimeoutMs?: number;
|
|
174
|
-
renderer?: FileViewerCadRenderer;
|
|
175
|
-
preferDwgWasm?: boolean;
|
|
176
|
-
includePaperSpace?: boolean;
|
|
177
|
-
maxInsertDepth?: number;
|
|
178
|
-
keepRaw?: boolean;
|
|
179
|
-
preloadDwg?: boolean;
|
|
180
|
-
dwfPreferWebgl?: boolean;
|
|
181
|
-
dwfPreferWasm?: boolean;
|
|
182
|
-
dwfBackground?: string;
|
|
183
|
-
dwfMaxDevicePixelRatio?: number;
|
|
184
|
-
dwfMaxCanvasPixels?: number;
|
|
185
|
-
dwfMaxGpuCacheBytes?: number;
|
|
186
|
-
dwfMaxCachedScenes?: number;
|
|
187
|
-
dwfLineWeightMode?: FileViewerCadDwfLineWeightMode;
|
|
188
|
-
dwfMinStrokeCssPx?: number;
|
|
189
|
-
dwfMaxOverviewStrokeCssPx?: number;
|
|
190
|
-
dwfMinTextCssPx?: number;
|
|
191
|
-
dwfMinFilledAreaCssPx?: number;
|
|
192
|
-
canvasOptions?: {
|
|
193
|
-
background?: string;
|
|
194
|
-
foreground?: string;
|
|
195
|
-
contrastMode?: 'preserve' | 'adaptive';
|
|
196
|
-
minColorContrast?: number;
|
|
197
|
-
showPageBounds?: boolean;
|
|
198
|
-
showUnsupportedMarkers?: boolean;
|
|
199
|
-
enableSpatialIndex?: boolean;
|
|
200
|
-
maxVisibleTextLabels?: number;
|
|
201
|
-
};
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
declare type FileViewerCadRenderer = 'auto' | 'webgl' | 'canvas2d';
|
|
205
|
-
|
|
206
|
-
declare interface FileViewerInstaller {
|
|
207
|
-
/**
|
|
208
|
-
* 全局注册 `<file-viewer>` 组件。
|
|
209
|
-
*/
|
|
210
|
-
install(Vue: any): void;
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export declare interface FileViewerLifecycleContext {
|
|
214
|
-
phase: FileViewerLifecyclePhase;
|
|
215
|
-
type: string;
|
|
216
|
-
filename: string;
|
|
217
|
-
source: FileViewerSourceType;
|
|
218
|
-
url?: string;
|
|
219
|
-
file?: File;
|
|
220
|
-
size?: number;
|
|
221
|
-
version: number;
|
|
222
|
-
timestamp: number;
|
|
223
|
-
duration?: number;
|
|
224
|
-
reason?: 'replace' | 'reset' | 'component-unmount';
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
export declare interface FileViewerLifecycleHooks {
|
|
228
|
-
onLoadStart?: (context: FileViewerLifecycleContext) => void | Promise<void>;
|
|
229
|
-
onLoadComplete?: (context: FileViewerLifecycleContext) => void | Promise<void>;
|
|
230
|
-
onUnloadStart?: (context: FileViewerLifecycleContext) => void | Promise<void>;
|
|
231
|
-
onUnloadComplete?: (context: FileViewerLifecycleContext) => void | Promise<void>;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
export declare type FileViewerLifecyclePhase = 'load-start' | 'load-complete' | 'unload-start' | 'unload-complete';
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* 当前文档对内置操作的真实可用性。
|
|
238
|
-
*
|
|
239
|
-
* `toolbar` 只表达宿主想不想展示某个按钮;这里表达当前文件类型和渲染器
|
|
240
|
-
* 是否真的能稳定完成该操作。尤其是打印,虚拟表格、播放器、3D 画布、
|
|
241
|
-
* EPUB iframe 等链路无法保证完整分页输出时会主动关闭。
|
|
242
|
-
*/
|
|
243
|
-
export declare interface FileViewerOperationAvailability {
|
|
244
|
-
download: boolean;
|
|
245
|
-
print: boolean;
|
|
246
|
-
exportHtml: boolean;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
export declare interface FileViewerOperationContext extends Omit<FileViewerLifecycleContext, 'phase'> {
|
|
250
|
-
operation: FileViewerOperationType;
|
|
251
|
-
label: string;
|
|
252
|
-
}
|
|
253
|
-
|
|
254
|
-
export declare type FileViewerOperationType = 'download' | 'print' | 'export-html';
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* 预览器通用配置。
|
|
258
|
-
*/
|
|
259
|
-
export declare interface FileViewerOptions {
|
|
260
|
-
watermark?: boolean | FileViewerWatermarkOptions;
|
|
261
|
-
toolbar?: boolean | FileViewerToolbarOptions;
|
|
262
|
-
archive?: FileViewerArchiveOptions;
|
|
263
|
-
pdf?: FileViewerPdfOptions;
|
|
264
|
-
typst?: FileViewerTypstOptions;
|
|
265
|
-
cad?: FileViewerCadOptions;
|
|
266
|
-
/**
|
|
267
|
-
* 文档加载/卸载生命周期钩子。直接使用 Vue 组件时可以传函数;
|
|
268
|
-
* iframe 集成时同名事件会通过 `postMessage` 向宿主发送。
|
|
269
|
-
*/
|
|
270
|
-
hooks?: FileViewerLifecycleHooks;
|
|
271
|
-
/**
|
|
272
|
-
* 内置操作按钮执行前的全局前置钩子。返回 `false` 时会取消本次操作。
|
|
273
|
-
*/
|
|
274
|
-
beforeOperation?: FileViewerBeforeOperation;
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* PDF 预览配置。
|
|
279
|
-
*/
|
|
280
|
-
declare interface FileViewerPdfOptions {
|
|
281
|
-
/**
|
|
282
|
-
* 是否启用左侧页面/目录导航窗格。设为 `false` 时会同时隐藏侧栏和切换按钮。
|
|
283
|
-
*/
|
|
284
|
-
navigation?: boolean;
|
|
285
|
-
/**
|
|
286
|
-
* 导航窗格初始是否展开。未设置时默认展开,`navigation: false` 时会被忽略。
|
|
287
|
-
*/
|
|
288
|
-
defaultNavigationVisible?: boolean;
|
|
289
|
-
/**
|
|
290
|
-
* 初始页面旋转角度。会按 90 度归一化到 0 / 90 / 180 / 270。
|
|
291
|
-
*/
|
|
292
|
-
rotation?: number;
|
|
293
|
-
/**
|
|
294
|
-
* 远端 PDF 是否优先交给 PDF.js 直接按 URL 渐进读取。
|
|
295
|
-
*
|
|
296
|
-
* 默认 `same-origin`,即同源 PDF 交给 PDF.js 通过 URL 渐进读取;
|
|
297
|
-
* 当文件服务支持 Range 时会进一步使用分片加载。跨域 URL 仍保持
|
|
298
|
-
* 旧的 Blob 下载后预览链路,最大化兼容鉴权下载和 CORS 场景。
|
|
299
|
-
* 设为 `true` 会对所有 URL 启用,设为 `false` 会完全禁用。
|
|
300
|
-
*/
|
|
301
|
-
streaming?: boolean | 'same-origin';
|
|
302
|
-
/**
|
|
303
|
-
* PDF.js Range 请求的分片大小,默认 64KB;仅在文件服务支持 Range 时生效。
|
|
304
|
-
*/
|
|
305
|
-
rangeChunkSize?: number;
|
|
306
|
-
/**
|
|
307
|
-
* PDF.js URL 读取 PDF 时是否携带浏览器凭据。
|
|
308
|
-
*/
|
|
309
|
-
withCredentials?: boolean;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
export declare type FileViewerSourceType = 'file' | 'url' | 'empty';
|
|
313
|
-
|
|
314
|
-
/**
|
|
315
|
-
* 预览器内置操作栏配置。
|
|
316
|
-
*/
|
|
317
|
-
export declare interface FileViewerToolbarOptions {
|
|
318
|
-
download?: boolean;
|
|
319
|
-
print?: boolean;
|
|
320
|
-
exportHtml?: boolean;
|
|
321
|
-
/**
|
|
322
|
-
* 内置操作按钮执行前的统一前置钩子。返回 `false` 时会取消本次操作。
|
|
323
|
-
*/
|
|
324
|
-
beforeOperation?: FileViewerBeforeOperation;
|
|
325
|
-
beforeDownload?: FileViewerBeforeOperation;
|
|
326
|
-
beforePrint?: FileViewerBeforeOperation;
|
|
327
|
-
beforeExportHtml?: FileViewerBeforeOperation;
|
|
328
|
-
}
|
|
329
|
-
|
|
330
|
-
/**
|
|
331
|
-
* Typst 预览配置。
|
|
332
|
-
*/
|
|
333
|
-
declare interface FileViewerTypstOptions {
|
|
334
|
-
/**
|
|
335
|
-
* Typst compiler WASM 地址。需要浏览器端编译时才会加载。
|
|
336
|
-
*/
|
|
337
|
-
compilerWasmUrl?: string;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* 水印配置。
|
|
342
|
-
*
|
|
343
|
-
* `text` 与 `image` 至少设置一个;同时传入时优先使用图片水印。
|
|
344
|
-
* 图片水印可以是 http(s) URL、相对路径或 data URL。
|
|
345
|
-
*/
|
|
346
|
-
export declare interface FileViewerWatermarkOptions {
|
|
347
|
-
enabled?: boolean;
|
|
348
|
-
text?: string;
|
|
349
|
-
image?: string;
|
|
350
|
-
opacity?: number;
|
|
351
|
-
rotate?: number;
|
|
352
|
-
gapX?: number;
|
|
353
|
-
gapY?: number;
|
|
354
|
-
width?: number;
|
|
355
|
-
height?: number;
|
|
356
|
-
fontSize?: number;
|
|
357
|
-
color?: string;
|
|
358
|
-
fontFamily?: string;
|
|
359
|
-
}
|
|
360
|
-
|
|
361
|
-
/**
|
|
362
|
-
* Vue2 插件安装器。
|
|
363
|
-
*/
|
|
364
|
-
declare class Installer implements FileViewerInstaller {
|
|
365
|
-
private installed;
|
|
366
|
-
install(Vue: any): void;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
export { }
|
|
1
|
+
export { default } from '@file-viewer/vue2.7';
|
|
2
|
+
export * from '@file-viewer/vue2.7';
|
package/dist/index.js
ADDED
package/package.json
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flyfish-group/file-viewer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
"description": "基于 Vue 2.7 + TypeScript + Vite 的纯前端多格式文件预览组件",
|
|
6
|
+
"description": "Compatibility alias package for Flyfish File Viewer Vue 2.7",
|
|
8
7
|
"keywords": [
|
|
9
8
|
"file-viewer",
|
|
9
|
+
"document-preview",
|
|
10
|
+
"vue",
|
|
10
11
|
"vue2",
|
|
11
|
-
"
|
|
12
|
+
"vue2.7",
|
|
13
|
+
"office-preview"
|
|
12
14
|
],
|
|
13
15
|
"publishConfig": {
|
|
14
16
|
"access": "public",
|
|
@@ -20,113 +22,38 @@
|
|
|
20
22
|
},
|
|
21
23
|
"repository": {
|
|
22
24
|
"type": "git",
|
|
23
|
-
"url": "git+https://github.com/flyfish-dev/file-viewer.git"
|
|
25
|
+
"url": "git+https://github.com/flyfish-dev/file-viewer.git",
|
|
26
|
+
"directory": "packages/compat/vue2.7"
|
|
24
27
|
},
|
|
25
|
-
"homepage": "https://
|
|
28
|
+
"homepage": "https://doc.flyfish-viewer.app/",
|
|
26
29
|
"bugs": {
|
|
27
30
|
"url": "https://github.com/flyfish-dev/file-viewer/issues"
|
|
28
31
|
},
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
"
|
|
39
|
-
"docs:dev": "pnpm --dir docs dev",
|
|
40
|
-
"docs:build": "pnpm --dir docs build",
|
|
41
|
-
"docs:preview": "pnpm --dir docs preview",
|
|
42
|
-
"test:build": "vue-tsc --noEmit && vite build",
|
|
43
|
-
"prebuild-only": "node scripts/patch-msdoc-viewer.mjs && node scripts/copy-cad-wasm.mjs",
|
|
44
|
-
"build-only": "vite build",
|
|
45
|
-
"deploy:cloudflare": "pnpm build-only && node scripts/deploy-cloudflare-pages.mjs",
|
|
46
|
-
"type-check": "vue-tsc --noEmit",
|
|
47
|
-
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
|
48
|
-
"format": "prettier --write src/",
|
|
49
|
-
"build-lib-only": "vite build --mode lib && node scripts/fix-lib-css.mjs && node scripts/fix-lib-workers.mjs && node scripts/copy-cad-wasm.mjs --dist-only",
|
|
50
|
-
"obfuscate": "node scripts/obfuscate-dist.mjs",
|
|
51
|
-
"prebuild-lib-only": "node scripts/patch-msdoc-viewer.mjs && node scripts/copy-cad-wasm.mjs",
|
|
52
|
-
"release:pack": "pnpm type-check && pnpm build-lib-only && pnpm obfuscate && npm pack",
|
|
53
|
-
"pretest": "node scripts/patch-msdoc-viewer.mjs",
|
|
54
|
-
"test": "vitest",
|
|
55
|
-
"test:coverage": "vitest run --coverage"
|
|
56
|
-
},
|
|
57
|
-
"main": "dist/index.mjs",
|
|
58
|
-
"module": "dist/index.mjs",
|
|
59
|
-
"types": "dist/package/index.d.ts",
|
|
60
|
-
"dependencies": {
|
|
61
|
-
"@excalidraw/excalidraw": "^0.18.1",
|
|
62
|
-
"@flyfish-dev/cad-viewer": "^0.6.2",
|
|
63
|
-
"@kenjiuno/msgreader": "^1.28.0",
|
|
64
|
-
"@myriaddreamin/typst-ts-renderer": "0.7.0",
|
|
65
|
-
"@myriaddreamin/typst-ts-web-compiler": "0.7.0",
|
|
66
|
-
"@myriaddreamin/typst.ts": "0.7.0",
|
|
67
|
-
"axios": "^1.16.1",
|
|
68
|
-
"billboard.js": "^3.18.0",
|
|
69
|
-
"buffer": "^6.0.3",
|
|
70
|
-
"cfb": "^1.2.2",
|
|
71
|
-
"d3": "^7.9.0",
|
|
72
|
-
"dingbat-to-unicode": "^1.0.1",
|
|
73
|
-
"docx-preview": "^0.3.7",
|
|
74
|
-
"e-virt-table": "^1.3.26",
|
|
75
|
-
"epubjs": "^0.3.93",
|
|
76
|
-
"github-markdown-css": "^5.9.0",
|
|
77
|
-
"highlight.js": "^11.11.1",
|
|
78
|
-
"jquery": "^4.0.0",
|
|
79
|
-
"jszip": "^3.10.1",
|
|
80
|
-
"libarchive.js": "^2.0.2",
|
|
81
|
-
"marked": "^18.0.3",
|
|
82
|
-
"msdoc-viewer": "^0.2.0",
|
|
83
|
-
"ofd-xml-parser": "^0.0.6",
|
|
84
|
-
"pako": "^2.1.0",
|
|
85
|
-
"pdfjs-dist": "^5.7.284",
|
|
86
|
-
"postal-mime": "^2.7.4",
|
|
87
|
-
"qs": "^6.15.2",
|
|
88
|
-
"react": "^19.2.6",
|
|
89
|
-
"react-dom": "^19.2.6",
|
|
90
|
-
"roughjs": "^4.6.6",
|
|
91
|
-
"styled-exceljs": "0.21.1",
|
|
92
|
-
"three": "^0.184.0",
|
|
93
|
-
"tinycolor2": "^1.6.0",
|
|
94
|
-
"v-viewer": "^1.7.4",
|
|
95
|
-
"viewerjs": "^1.11.7",
|
|
96
|
-
"vue": "^2.7.16"
|
|
97
|
-
},
|
|
98
|
-
"devDependencies": {
|
|
99
|
-
"@rushstack/eslint-patch": "^1.16.1",
|
|
100
|
-
"@types/d3": "^7.4.3",
|
|
101
|
-
"@types/jquery": "^4.0.0",
|
|
102
|
-
"@types/node": "^20.19.25",
|
|
103
|
-
"@types/pako": "^2.0.4",
|
|
104
|
-
"@types/qs": "^6.15.1",
|
|
105
|
-
"@types/react": "^19.2.14",
|
|
106
|
-
"@types/react-dom": "^19.2.3",
|
|
107
|
-
"@types/tinycolor2": "^1.4.6",
|
|
108
|
-
"@vitejs/plugin-vue2": "^2.3.3",
|
|
109
|
-
"@vitejs/plugin-vue2-jsx": "^1.1.1",
|
|
110
|
-
"@vue/eslint-config-prettier": "^7.1.0",
|
|
111
|
-
"@vue/eslint-config-typescript": "^11.0.3",
|
|
112
|
-
"@vue/tsconfig": "^0.1.3",
|
|
113
|
-
"eslint": "^8.57.1",
|
|
114
|
-
"eslint-plugin-vue": "^9.33.0",
|
|
115
|
-
"javascript-obfuscator": "^5.4.2",
|
|
116
|
-
"npm-run-all": "^4.1.5",
|
|
117
|
-
"prettier": "^3.8.3",
|
|
118
|
-
"sass": "^1.99.0",
|
|
119
|
-
"ts-node": "^10.9.2",
|
|
120
|
-
"typescript": "^5.4.5",
|
|
121
|
-
"vite": "^4.5.14",
|
|
122
|
-
"vite-plugin-dts": "^3.9.1",
|
|
123
|
-
"vitest": "^1.6.1",
|
|
124
|
-
"vue-tsc": "^1.8.27"
|
|
32
|
+
"main": "./dist/index.js",
|
|
33
|
+
"module": "./dist/index.js",
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"exports": {
|
|
36
|
+
".": {
|
|
37
|
+
"types": "./dist/index.d.ts",
|
|
38
|
+
"import": "./dist/index.js",
|
|
39
|
+
"default": "./dist/index.js"
|
|
40
|
+
},
|
|
41
|
+
"./package.json": "./package.json"
|
|
125
42
|
},
|
|
126
43
|
"files": [
|
|
127
44
|
"dist",
|
|
128
45
|
"README.md",
|
|
129
|
-
"
|
|
46
|
+
"README.en.md"
|
|
130
47
|
],
|
|
131
|
-
"
|
|
132
|
-
|
|
48
|
+
"peerDependencies": {
|
|
49
|
+
"vue": ">=2.7 <3"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@file-viewer/vue2.7": "^2.0.0"
|
|
53
|
+
},
|
|
54
|
+
"license": "Apache-2.0",
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "node scripts/build.mjs",
|
|
57
|
+
"type-check": "node scripts/build.mjs"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function a(){const bF=['4115992rWpRzJ','2737290SRjelE','load','clone','build','tilestyleu','i:in','toLowerCase','wrapT','colors','setIndex','nodeName','querySelectorAll','texture2dgroup','path','2795408mjuwWL','10213578ipcJcg','vertices','model','length','1182633EKqOQI','4mefQLI','Rating','wrap','availableExtensions','mesh','colorgroup','vertices\x20vertex','name','magFilter','keys','resources','target','getAttribute','basematerials','triangles\x20triangle','push','revokeObjectURL','color','87396Sinthb','error','objectId','contenttype','extensions','forEach','parseFromString','default','pid','Relationship','roughness','mirror','1RgBVha','texture','vertexColors','transform','setPath','attributes','71394kpBTAv','objectid','THREE.3MFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.','value','position'];a=function(){return bF;};return a();}(function(w,x){const b4=b,y=w();while(!![]){try{const z=-parseInt(b4(0xcd))/0x1*(parseInt(b4(0xd3))/0x2)+-parseInt(b4(0xae))/0x3+-parseInt(b4(0xaf))/0x4*(-parseInt(b4(0xd9))/0x5)+-parseInt(b4(0xc1))/0x6+-parseInt(b4(0xa9))/0x7+-parseInt(b4(0xd8))/0x8+parseInt(b4(0xaa))/0x9;if(z===x)break;else y['push'](y['shift']());}catch(A){y['push'](y['shift']());}}}(a,0x4f18f));import{L as c,F as d,T as e,G,C as f,i as g,S as h,B as i,a as j,f as k,c as l,g as m,j as n,R as o,k as p,l as r,m as s,n as t,N as u}from'./ModelViewer.js';import{u as v}from'./fflate.module.js';import'vue';function b(c,d){c=c-0x9e;const e=a();let f=e[c];return f;}import'./index7.js';const U=h;class Be extends c{constructor(x){const b5=b;super(x),this[b5(0xb2)]=[];}['load'](x,y,z,A){const b6=b,B=this,F=new d(B['manager']);F[b6(0xd1)](B['path']),F['setResponseType']('arraybuffer'),F['setRequestHeader'](B['requestHeader']),F['setWithCredentials'](B['withCredentials']),F[b6(0xda)](x,function(H){try{y(B['parse'](H));}catch(N){A?A(N):console['error'](N),B['manager']['itemError'](x);}},z,A);}['parse'](x){const y=this,A=new e(this['manager']);function B(az){const b7=b;let aA=null,aB=null,aC,aD;const aE=[],aF=[];let aG;const aH={},aI={},aJ={},aK=new TextDecoder();try{aA=v(new Uint8Array(az));}catch(aP){if(aP instanceof ReferenceError)return console[b7(0xc2)](b7(0xd5)),null;}let aL=null;for(aB in aA)aB['match'](/\_rels\/.rels$/)?aC=aB:aB['match'](/3D\/_rels\/.*\.model\.rels$/)?aD=aB:aB['match'](/^3D\/[^\/]*\.model$/)?aL=aB:aB['match'](/^3D\/.*\/.*\.model$/)?aE['push'](aB):aB['match'](/^3D\/Textures?\/.*/)&&aF['push'](aB);if(aE['push'](aL),aC===void 0x0)throw new Error('THREE.ThreeMFLoader:\x20Cannot\x20find\x20relationship\x20file\x20`rels`\x20in\x203MF\x20archive.');const aM=aA[aC],aN=aK['decode'](aM),aO=F(aN);if(aD){const aQ=aA[aD],aR=aK['decode'](aQ);aG=F(aR);}for(let aS=0x0;aS<aE['length'];aS++){const aT=aE[aS],aU=aA[aT],aV=aK['decode'](aU),aW=new DOMParser()['parseFromString'](aV,'application/xml');aW['documentElement']['nodeName'][b7(0xa1)]()!==b7(0xac)&&console['error']('THREE.3MFLoader:\x20Error\x20loading\x203MF\x20-\x20no\x203MF\x20document\x20found:\x20',aT);const aX=aW['querySelector']('model'),aY={};for(let b0=0x0;b0<aX['attributes']['length'];b0++){const b1=aX[b7(0xd2)][b0];b1['name']['match'](/^xmlns:(.+)$/)&&(aY[b1[b7(0xd6)]]=RegExp['$1']);}const aZ=af(aX);aZ['xml']=aX,0x0<Object[b7(0xb8)](aY)[b7(0xad)]&&(aZ[b7(0xc5)]=aY),aH[aT]=aZ;}for(let b2=0x0;b2<aF['length'];b2++){const b3=aF[b2];aJ[b3]=aA[b3]['buffer'];}return{'rels':aO,'modelRels':aG,'model':aH,'printTicket':aI,'texture':aJ};}function F(az){const b8=b,aA=[],aB=new DOMParser()[b8(0xc7)](az,'application/xml')['querySelectorAll'](b8(0xca));for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE={'target':aD['getAttribute']('Target'),'id':aD['getAttribute']('Id'),'type':aD['getAttribute']('Type')};aA['push'](aE);}return aA;}function N(az){const b9=b,aA={};for(let aB=0x0;aB<az[b9(0xad)];aB++){const aC=az[aB],aD=aC['getAttribute'](b9(0xb6));0x0<=['Title','Designer','Description','Copyright','LicenseTerms',b9(0xb0),'CreationDate','ModificationDate']['indexOf'](aD)&&(aA[aD]=aC['textContent']);}return aA;}function W(az){const ba=b,aA={'id':az['getAttribute']('id'),'basematerials':[]},aB=az[ba(0xa6)]('base');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE=a6(aD);aE['index']=aC,aA[ba(0xbc)]['push'](aE);}return aA;}function a0(az){const bb=b;return{'id':az[bb(0xbb)]('id'),'path':az[bb(0xbb)]('path'),'contenttype':az[bb(0xbb)]('contenttype'),'tilestyleu':az['getAttribute'](bb(0x9f)),'tilestylev':az['getAttribute']('tilestylev'),'filter':az[bb(0xbb)]('filter')};}function a1(az){const bc=b,aA={'id':az[bc(0xbb)]('id'),'texid':az['getAttribute']('texid'),'displaypropertiesid':az['getAttribute']('displaypropertiesid')},aB=az['querySelectorAll']('tex2coord'),aC=[];for(let aD=0x0;aD<aB[bc(0xad)];aD++){const aE=aB[aD],aF=aE[bc(0xbb)]('u'),aG=aE['getAttribute']('v');aC[bc(0xbe)](parseFloat(aF),parseFloat(aG));}return aA['uvs']=new Float32Array(aC),aA;}function a2(az){const bd=b,aA={'id':az['getAttribute']('id'),'displaypropertiesid':az['getAttribute']('displaypropertiesid')},aB=az['querySelectorAll'](bd(0xc0)),aC=[],aD=new f();for(let aE=0x0;aE<aB['length'];aE++){const aF=aB[aE]['getAttribute']('color');aD['setStyle'](aF['substring'](0x0,0x7),U),aC['push'](aD['r'],aD['g'],aD['b']);}return aA[bd(0xa3)]=new Float32Array(aC),aA;}function a3(az){const be=b,aA=az['children'],aB={};for(let aC=0x0;aC<aA['length'];aC++){const aD={'type':aA[aC]['nodeName']['substring'](0x2)};for(let aE=0x0;aE<aA[aC]['attributes']['length'];aE++){const aF=aA[aC][be(0xd2)][aE];aF['specified']&&(aD[aF[be(0xb6)]]=aF['value']);}aB[aA[aC]['getAttribute']('identifier')]=aD;}return aB;}function a4(az){const bf=b,aA={'id':az['getAttribute']('id'),'displayname':az['getAttribute']('displayname')},aB=az['children'],aC={};for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD];if(aE[bf(0xa5)]===bf(0xa0)||aE['nodeName']==='i:out')aC[aE['nodeName']==='i:in'?'inputs':'outputs']=a3(aE);else{const aF=aE['children'],aG={'op':aE['nodeName']['substring'](0x2),'identifier':aE['getAttribute']('identifier')};for(let aH=0x0;aH<aF['length'];aH++)aG[aF[aH]['nodeName']['substring'](0x2)]=a3(aF[aH]);aC[aG['identifier']]=aG;}}return aA['operations']=aC,aA;}function a5(az){const bg=b,aA={'id':az['getAttribute']('id')},aB=az['querySelectorAll']('pbmetallic'),aC=[];for(let aD=0x0;aD<aB['length'];aD++){const aE=aB[aD];aC['push']({'name':aE['getAttribute'](bg(0xb6)),'metallicness':parseFloat(aE['getAttribute']('metallicness')),'roughness':parseFloat(aE['getAttribute']('roughness'))});}return aA['data']=aC,aA;}function a6(az){const aA={};return aA['name']=az['getAttribute']('name'),aA['displaycolor']=az['getAttribute']('displaycolor'),aA['displaypropertiesid']=az['getAttribute']('displaypropertiesid'),aA;}function a7(az){const bh=b,aA={},aB=[],aC=az['querySelectorAll'](bh(0xb5));for(let aG=0x0;aG<aC['length'];aG++){const aH=aC[aG],aI=aH['getAttribute']('x'),aJ=aH[bh(0xbb)]('y'),aK=aH['getAttribute']('z');aB['push'](parseFloat(aI),parseFloat(aJ),parseFloat(aK));}aA['vertices']=new Float32Array(aB);const aD=[],aE=[],aF=az['querySelectorAll'](bh(0xbd));for(let aL=0x0;aL<aF['length'];aL++){const aM=aF[aL],aN=aM['getAttribute']('v1'),aO=aM['getAttribute']('v2'),aP=aM['getAttribute']('v3'),aQ=aM['getAttribute']('p1'),aR=aM['getAttribute']('p2'),aS=aM['getAttribute']('p3'),aT=aM['getAttribute']('pid'),aU={};aU['v1']=parseInt(aN,0xa),aU['v2']=parseInt(aO,0xa),aU['v3']=parseInt(aP,0xa),aE['push'](aU['v1'],aU['v2'],aU['v3']),aQ&&(aU['p1']=parseInt(aQ,0xa)),aR&&(aU['p2']=parseInt(aR,0xa)),aS&&(aU['p3']=parseInt(aS,0xa)),aT&&(aU[bh(0xc9)]=aT),0x0<Object[bh(0xb8)](aU)['length']&&aD['push'](aU);}return aA['triangleProperties']=aD,aA['triangles']=new Uint32Array(aE),aA;}function a8(az){const aA=[],aB=az['querySelectorAll']('component');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE=a9(aD);aA['push'](aE);}return aA;}function a9(az){const bi=b,aA={};aA['objectId']=az['getAttribute'](bi(0xd4));const aB=az['getAttribute'](bi(0xd0));return aB&&(aA['transform']=aa(aB)),aA;}function aa(az){const bj=b,aA=[];az['split']('\x20')[bj(0xc6)](function(aC){aA['push'](parseFloat(aC));});const aB=new g();return aB['set'](aA[0x0],aA[0x3],aA[0x6],aA[0x9],aA[0x1],aA[0x4],aA[0x7],aA[0xa],aA[0x2],aA[0x5],aA[0x8],aA[0xb],0x0,0x0,0x0,0x1),aB;}function ab(az){const bk=b,aA={'type':az['getAttribute']('type')},aB=az['getAttribute']('id');aB&&(aA['id']=aB);const aC=az['getAttribute']('pid');aC&&(aA['pid']=aC);const aD=az['getAttribute']('pindex');aD&&(aA['pindex']=aD);const aE=az['getAttribute']('thumbnail');aE&&(aA['thumbnail']=aE);const aF=az['getAttribute']('partnumber');aF&&(aA['partnumber']=aF);const aG=az[bk(0xbb)]('name');aG&&(aA['name']=aG);const aH=az['querySelector'](bk(0xb3));aH&&(aA['mesh']=a7(aH));const aI=az['querySelector']('components');return aI&&(aA['components']=a8(aI)),aA;}function ac(az){const bl=b,aA={};aA['basematerials']={};const aB=az['querySelectorAll']('basematerials');for(let aI=0x0;aI<aB['length'];aI++){const aJ=aB[aI],aK=W(aJ);aA['basematerials'][aK['id']]=aK;}aA['texture2d']={};const aC=az['querySelectorAll']('texture2d');for(let aL=0x0;aL<aC['length'];aL++){const aM=aC[aL],aN=a0(aM);aA['texture2d'][aN['id']]=aN;}aA['colorgroup']={};const aD=az[bl(0xa6)](bl(0xb4));for(let aO=0x0;aO<aD['length'];aO++){const aP=aD[aO],aQ=a2(aP);aA[bl(0xb4)][aQ['id']]=aQ;}const aE=az[bl(0xa6)]('implicitfunction');aE['length']>0x0&&(aA['implicitfunction']={});for(let aR=0x0;aR<aE[bl(0xad)];aR++){const aS=aE[aR],aT=a4(aS);aA['implicitfunction'][aT['id']]=aT;}aA['pbmetallicdisplayproperties']={};const aF=az['querySelectorAll']('pbmetallicdisplayproperties');for(let aU=0x0;aU<aF['length'];aU++){const aV=aF[aU],aW=a5(aV);aA['pbmetallicdisplayproperties'][aW['id']]=aW;}aA['texture2dgroup']={};const aG=az['querySelectorAll'](bl(0xa7));for(let aX=0x0;aX<aG[bl(0xad)];aX++){const aY=aG[aX],aZ=a1(aY);aA['texture2dgroup'][aZ['id']]=aZ;}aA['object']={};const aH=az['querySelectorAll']('object');for(let b0=0x0;b0<aH['length'];b0++){const b1=aH[b0],b2=ab(b1);aA['object'][b2['id']]=b2;}return aA;}function ad(az){const bm=b,aA=[],aB=az[bm(0xa6)]('item');for(let aC=0x0;aC<aB['length'];aC++){const aD=aB[aC],aE={'objectId':aD['getAttribute'](bm(0xd4))},aF=aD['getAttribute']('transform');aF&&(aE[bm(0xd0)]=aa(aF)),aA['push'](aE);}return aA;}function af(az){const bn=b,aA={'unit':az['getAttribute']('unit')||'millimeter'},aB=az['querySelectorAll']('metadata');aB&&(aA['metadata']=N(aB));const aC=az['querySelector']('resources');aC&&(aA['resources']=ac(aC));const aD=az['querySelector'](bn(0x9e));return aD&&(aA['build']=ad(aD)),aA;}function ag(az,aA,aB,aC){const bo=b,aD=az['texid'],aE=aB['resources']['texture2d'][aD];if(aE){const aF=aC[aE[bo(0xa8)]],aG=aE[bo(0xc4)],aH=new Blob([aF],{'type':aG}),aI=URL['createObjectURL'](aH),aJ=A['load'](aI,function(){const bp=bo;URL[bp(0xbf)](aI);});switch(aJ['colorSpace']=U,aE[bo(0x9f)]){case bo(0xb1):aJ['wrapS']=o;break;case bo(0xcc):aJ['wrapS']=r;break;case'none':case'clamp':aJ['wrapS']=p;break;default:aJ['wrapS']=o;}switch(aE['tilestylev']){case'wrap':aJ['wrapT']=o;break;case'mirror':aJ['wrapT']=r;break;case'none':case'clamp':aJ[bo(0xa2)]=p;break;default:aJ['wrapT']=o;}switch(aE['filter']){case'auto':aJ['magFilter']=s,aJ['minFilter']=t;break;case'linear':aJ[bo(0xb7)]=s,aJ['minFilter']=s,aJ['generateMipmaps']=!0x1;break;case'nearest':aJ['magFilter']=u,aJ['minFilter']=u,aJ['generateMipmaps']=!0x1;break;default:aJ['magFilter']=s,aJ['minFilter']=t;}return aJ;}else return null;}function ah(az,aA,aB,aC,aD,aE,aF){const bq=b,aG=aF['pindex'],aH={};for(let aK=0x0,aL=aA[bq(0xad)];aK<aL;aK++){const aM=aA[aK],aN=aM['p1']!==void 0x0?aM['p1']:aG;aH[aN]===void 0x0&&(aH[aN]=[]),aH[aN]['push'](aM);}const aI=Object['keys'](aH),aJ=[];for(let aO=0x0,aP=aI['length'];aO<aP;aO++){const aQ=aI[aO],aR=aH[aQ],aS=az['basematerials'][aQ],aT=aq(aS,aC,aD,aE,aF,ar),aU=new i(),aV=[],aW=aB['vertices'];for(let aY=0x0,aZ=aR['length'];aY<aZ;aY++){const b0=aR[aY];aV['push'](aW[b0['v1']*0x3+0x0]),aV[bq(0xbe)](aW[b0['v1']*0x3+0x1]),aV['push'](aW[b0['v1']*0x3+0x2]),aV['push'](aW[b0['v2']*0x3+0x0]),aV['push'](aW[b0['v2']*0x3+0x1]),aV['push'](aW[b0['v2']*0x3+0x2]),aV['push'](aW[b0['v3']*0x3+0x0]),aV['push'](aW[b0['v3']*0x3+0x1]),aV['push'](aW[b0['v3']*0x3+0x2]);}aU['setAttribute']('position',new j(aV,0x3));const aX=new k(aU,aT);aJ['push'](aX);}return aJ;}function ai(az,aA,aB,aC,aD,aE,aF){const br=b,aG=new i(),aH=[],aI=[],aJ=aB[br(0xab)],aK=az['uvs'];for(let aN=0x0,aO=aA['length'];aN<aO;aN++){const aP=aA[aN];aH['push'](aJ[aP['v1']*0x3+0x0]),aH['push'](aJ[aP['v1']*0x3+0x1]),aH['push'](aJ[aP['v1']*0x3+0x2]),aH['push'](aJ[aP['v2']*0x3+0x0]),aH['push'](aJ[aP['v2']*0x3+0x1]),aH['push'](aJ[aP['v2']*0x3+0x2]),aH['push'](aJ[aP['v3']*0x3+0x0]),aH[br(0xbe)](aJ[aP['v3']*0x3+0x1]),aH[br(0xbe)](aJ[aP['v3']*0x3+0x2]),aI['push'](aK[aP['p1']*0x2+0x0]),aI[br(0xbe)](aK[aP['p1']*0x2+0x1]),aI['push'](aK[aP['p2']*0x2+0x0]),aI['push'](aK[aP['p2']*0x2+0x1]),aI[br(0xbe)](aK[aP['p3']*0x2+0x0]),aI['push'](aK[aP['p3']*0x2+0x1]);}aG['setAttribute']('position',new j(aH,0x3)),aG['setAttribute']('uv',new j(aI,0x2));const aL=aq(az,aC,aD,aE,aF,ag),aM=new l({'map':aL,'flatShading':!0x0});return new k(aG,aM);}function aj(az,aA,aB,aC){const bs=b,aD=new i(),aE=[],aF=[],aG=aB['vertices'],aH=az['colors'];for(let aJ=0x0,aK=aA['length'];aJ<aK;aJ++){const aL=aA[aJ],aM=aL['v1'],aN=aL['v2'],aO=aL['v3'];aE['push'](aG[aM*0x3+0x0]),aE['push'](aG[aM*0x3+0x1]),aE['push'](aG[aM*0x3+0x2]),aE['push'](aG[aN*0x3+0x0]),aE[bs(0xbe)](aG[aN*0x3+0x1]),aE['push'](aG[aN*0x3+0x2]),aE[bs(0xbe)](aG[aO*0x3+0x0]),aE['push'](aG[aO*0x3+0x1]),aE['push'](aG[aO*0x3+0x2]);const aP=aL['p1']!==void 0x0?aL['p1']:aC['pindex'],aQ=aL['p2']!==void 0x0?aL['p2']:aP,aR=aL['p3']!==void 0x0?aL['p3']:aP;aF['push'](aH[aP*0x3+0x0]),aF[bs(0xbe)](aH[aP*0x3+0x1]),aF['push'](aH[aP*0x3+0x2]),aF['push'](aH[aQ*0x3+0x0]),aF['push'](aH[aQ*0x3+0x1]),aF['push'](aH[aQ*0x3+0x2]),aF['push'](aH[aR*0x3+0x0]),aF['push'](aH[aR*0x3+0x1]),aF['push'](aH[aR*0x3+0x2]);}aD['setAttribute'](bs(0xd7),new j(aE,0x3)),aD['setAttribute']('color',new j(aF,0x3));const aI=new l({'vertexColors':!0x0,'flatShading':!0x0});return new k(aD,aI);}function ak(az){const bt=b,aA=new i();aA[bt(0xa4)](new m(az['triangles'],0x1)),aA['setAttribute'](bt(0xd7),new m(az[bt(0xab)],0x3));const aB=new l({'name':c['DEFAULT_MATERIAL_NAME'],'color':0xffffff,'flatShading':!0x0});return new k(aA,aB);}function al(az,aA,aB,aC,aD,aE){const bu=b,aF=Object['keys'](az),aG=[];for(let aH=0x0,aI=aF['length'];aH<aI;aH++){const aJ=aF[aH],aK=az[aJ];switch(am(aJ,aC)){case'material':const aL=aC['resources']['basematerials'][aJ],aM=ah(aL,aK,aA,aB,aC,aD,aE);for(let aP=0x0,aQ=aM['length'];aP<aQ;aP++)aG['push'](aM[aP]);break;case'texture':const aN=aC['resources']['texture2dgroup'][aJ];aG['push'](ai(aN,aK,aA,aB,aC,aD,aE));break;case bu(0xcf):const aO=aC['resources']['colorgroup'][aJ];aG['push'](aj(aO,aK,aA,aE));break;case'default':aG[bu(0xbe)](ak(aA));break;default:console[bu(0xc2)]('THREE.3MFLoader:\x20Unsupported\x20resource\x20type.');}}if(aE[bu(0xb6)]){for(let aR=0x0;aR<aG['length'];aR++)aG[aR]['name']=aE['name'];}return aG;}function am(az,aA){const bv=b;return aA['resources']['texture2dgroup'][az]!==void 0x0?bv(0xce):aA['resources']['basematerials'][az]!==void 0x0?'material':aA['resources']['colorgroup'][az]!==void 0x0?'vertexColors':az==='default'?'default':void 0x0;}function an(az,aA){const bw=b,aB={},aC=az['triangleProperties'],aD=aA[bw(0xc9)];for(let aE=0x0,aF=aC['length'];aE<aF;aE++){const aG=aC[aE];let aH=aG['pid']!==void 0x0?aG['pid']:aD;aH===void 0x0&&(aH=bw(0xc8)),aB[aH]===void 0x0&&(aB[aH]=[]),aB[aH][bw(0xbe)](aG);}return aB;}function ao(az,aA,aB,aC,aD){const bx=b,aE=new G(),aF=an(az,aD),aG=al(aF,az,aA,aB,aC,aD);for(let aH=0x0,aI=aG[bx(0xad)];aH<aI;aH++)aE['add'](aG[aH]);return aE;}function ap(az,aA,aB){const by=b;if(!az)return;const aC=[],aD=Object['keys'](az);for(let aE=0x0;aE<aD['length'];aE++){const aF=aD[aE];for(let aG=0x0;aG<y['availableExtensions']['length'];aG++){const aH=y['availableExtensions'][aG];aH['ns']===aF&&aC[by(0xbe)](aH);}}for(let aI=0x0;aI<aC['length'];aI++){const aJ=aC[aI];aJ['apply'](aB,az[aJ['ns']],aA);}}function aq(az,aA,aB,aC,aD,aE){const bz=b;return az[bz(0x9e)]!==void 0x0||(az['build']=aE(az,aA,aB,aC,aD)),az['build'];}function ar(az,aA,aB){const bA=b;let aC;const aD=az['displaypropertiesid'],aE=aB['resources']['pbmetallicdisplayproperties'];if(aD!==null&&aE[aD]!==void 0x0){const aH=aE[aD]['data'][az['index']];aC=new n({'flatShading':!0x0,'roughness':aH[bA(0xcb)],'metalness':aH['metallicness']});}else aC=new l({'flatShading':!0x0});aC['name']=az[bA(0xb6)];const aF=az['displaycolor'],aG=aF['substring'](0x0,0x7);return aC['color']['setStyle'](aG,U),aF['length']===0x9&&(aC['opacity']=parseInt(aF['charAt'](0x7)+aF['charAt'](0x8),0x10)/0xff),aC;}function as(az,aA,aB,aC){const aD=new G();for(let aE=0x0;aE<az['length'];aE++){const aF=az[aE];let aG=aA[aF['objectId']];aG===void 0x0&&(at(aF['objectId'],aA,aB,aC),aG=aA[aF['objectId']]);const aH=aG['clone'](),aI=aF['transform'];aI&&aH['applyMatrix4'](aI),aD['add'](aH);}return aD;}function at(az,aA,aB,aC){const bB=b,aD=aB['resources']['object'][az];if(aD['mesh']){const aE=aD[bB(0xb3)],aF=aB['extensions'],aG=aB['xml'];ap(aF,aE,aG),aA[aD['id']]=aq(aE,aA,aB,aC,aD,ao);}else{const aH=aD['components'];aA[aD['id']]=aq(aH,aA,aB,aC,aD,as);}aD[bB(0xb6)]&&(aA[aD['id']][bB(0xb6)]=aD['name']),aB['resources']['implicitfunction']&&console['warn']('THREE.ThreeMFLoader:\x20Implicit\x20Functions\x20are\x20implemented\x20in\x20data-only.',aB['resources']['implicitfunction']);}function au(az){const bC=b,aA=az['model'],aB=az['modelRels'],aC={},aD=Object['keys'](aA),aE={};if(aB)for(let aF=0x0,aG=aB['length'];aF<aG;aF++){const aH=aB[aF],aI=aH['target']['substring'](0x1);az['texture'][aI]&&(aE[aH[bC(0xba)]]=az['texture'][aI]);}for(let aJ=0x0;aJ<aD['length'];aJ++){const aK=aD[aJ],aL=aA[aK],aM=Object['keys'](aL[bC(0xb9)]['object']);for(let aN=0x0;aN<aM['length'];aN++){const aO=aM[aN];at(aO,aC,aL,aE);}}return aC;}function av(az){for(let aA=0x0;aA<az['length'];aA++){const aB=az[aA];if(aB['target']['split']('.')['pop']()['toLowerCase']()==='model')return aB;}}function aw(az,aA){const bD=b,aB=new G(),aC=av(aA['rels']),aD=aA['model'][aC['target']['substring'](0x1)]['build'];for(let aE=0x0;aE<aD['length'];aE++){const aF=aD[aE],aG=az[aF[bD(0xc3)]][bD(0xdb)](),aH=aF['transform'];aH&&aG['applyMatrix4'](aH),aB['add'](aG);}return aB;}const ax=B(x),ay=au(ax);return aw(ay,ax);}['addExtension'](x){const bE=b;this['availableExtensions'][bE(0xbe)](x);}}export{Be as ThreeMFLoader};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const ar=b;(function(m,n){const ao=b,o=m();while(!![]){try{const p=parseInt(ao(0x105))/0x1*(parseInt(ao(0x109))/0x2)+parseInt(ao(0xfe))/0x3+-parseInt(ao(0x117))/0x4+-parseInt(ao(0x110))/0x5+parseInt(ao(0x103))/0x6*(parseInt(ao(0x113))/0x7)+parseInt(ao(0xf8))/0x8*(parseInt(ao(0x102))/0x9)+parseInt(ao(0xfb))/0xa;if(p===n)break;else o['push'](o['shift']());}catch(q){o['push'](o['shift']());}}}(a,0x7fdec));import{L as c,F as d,G as e,c as f,a as g,C as h,B as i,f as j}from'./ModelViewer.js';import{u as l}from'./fflate.module.js';import'vue';function b(c,d){c=c-0xf4;const e=a();let f=e[c];return f;}import'./index7.js';class k extends c{constructor(m){super(m);}['load'](m,n,o,q){const ap=b,r=this,t=new d(r[ap(0x108)]);t['setPath'](r['path']),t['setResponseType'](ap(0x104)),t['setRequestHeader'](r[ap(0x10f)]),t[ap(0x112)](r[ap(0x100)]),t['load'](m,function(v){const aq=ap;try{n(r['parse'](v));}catch(w){q?q(w):console[aq(0x114)](w),r['manager']['itemError'](m);}},o,q);}[ar(0xf7)](q){const az=ar;function G(a8){const as=b;let a9=new DataView(a8);if(String['fromCharCode'](a9['getUint8'](0x0),a9['getUint8'](0x1))==='PK'){let ac=null,ad=null;console['log'](as(0x115));try{ac=l(new Uint8Array(a8));}catch(ae){if(ae instanceof ReferenceError)return console['log']('THREE.AMFLoader:\x20fflate\x20missing\x20and\x20file\x20is\x20compressed.'),null;}for(ad in ac)if(ad[as(0xfd)]()['slice'](-0x4)==='.amf')break;console['log']('THREE.AMFLoader:\x20Trying\x20to\x20load\x20file\x20asset:\x20'+ad),a9=new DataView(ac[ad][as(0x10e)]);}const aa=new TextDecoder()['decode'](a9),ab=new DOMParser()['parseFromString'](aa,'application/xml');return ab['documentElement']['nodeName']['toLowerCase']()!=='amf'?(console['log']('THREE.AMFLoader:\x20Error\x20loading\x20AMF\x20-\x20no\x20AMF\x20document\x20found.'),null):ab;}function J(a8){const at=b;let a9=0x1,aa=at(0x107);a8['documentElement'][at(0x101)]['unit']!==void 0x0&&(aa=a8['documentElement']['attributes']['unit'][at(0xf9)]['toLowerCase']());const ab={'millimeter':0x1,'inch':25.4,'feet':304.8,'meter':0x3e8,'micron':0.001};return ab[aa]!==void 0x0&&(a9=ab[aa]),console['log']('THREE.AMFLoader:\x20Unit\x20scale:\x20'+a9),a9;}function K(a8){const au=b;let a9='AMF\x20Material';const aa=a8['attributes']['id']['textContent'];let ab={'r':0x1,'g':0x1,'b':0x1,'a':0x1},ac=null;for(let ad=0x0;ad<a8['childNodes']['length'];ad++){const ae=a8['childNodes'][ad];ae[au(0x11c)]===au(0x111)&&ae[au(0x101)]['type']!==void 0x0?ae['attributes']['type'][au(0xf9)]==='name'&&(a9=ae['textContent']):ae['nodeName']===au(0x11a)&&(ab=P(ae));}return ac=new f({'flatShading':!0x0,'color':new h(ab['r'],ab['g'],ab['b']),'name':a9}),ab['a']!==0x1&&(ac[au(0x10b)]=!0x0,ac['opacity']=ab['a']),{'id':aa,'material':ac};}function P(a8){const av=b,a9={'r':0x1,'g':0x1,'b':0x1,'a':0x1};for(let aa=0x0;aa<a8['childNodes']['length'];aa++){const ab=a8['childNodes'][aa];ab['nodeName']==='r'?a9['r']=ab['textContent']:ab['nodeName']==='g'?a9['g']=ab[av(0xf4)]:ab['nodeName']==='b'?a9['b']=ab['textContent']:ab['nodeName']==='a'&&(a9['a']=ab['textContent']);}return a9;}function Q(a8){const aw=b,a9={'name':'','triangles':[],'materialId':null};let aa=a8[aw(0x118)];for(a8['attributes']['materialid']!==void 0x0&&(a9['materialId']=a8['attributes']['materialid']['nodeValue']);aa;){if(aa['nodeName']==='metadata')aa['attributes']['type']!==void 0x0&&aa['attributes'][aw(0x11d)]['value']==='name'&&(a9[aw(0x10c)]=aa[aw(0xf4)]);else{if(aa[aw(0x11c)]==='triangle'){const ab=aa[aw(0x10d)]('v1')[0x0]['textContent'],ac=aa[aw(0x10d)]('v2')[0x0]['textContent'],ad=aa['getElementsByTagName']('v3')[0x0]['textContent'];a9['triangles']['push'](ab,ac,ad);}}aa=aa['nextElementSibling'];}return a9;}function U(a8){const ax=b,a9=[],aa=[];let ab=a8['firstElementChild'];for(;ab;){if(ab['nodeName']==='vertex'){let ac=ab['firstElementChild'];for(;ac;){if(ac['nodeName']==='coordinates'){const ad=ac['getElementsByTagName']('x')[0x0]['textContent'],ae=ac['getElementsByTagName']('y')[0x0]['textContent'],af=ac['getElementsByTagName']('z')[0x0]['textContent'];a9['push'](ad,ae,af);}else{if(ac['nodeName']==='normal'){const ag=ac['getElementsByTagName']('nx')[0x0]['textContent'],ah=ac[ax(0x10d)]('ny')[0x0]['textContent'],ai=ac['getElementsByTagName']('nz')[0x0]['textContent'];aa['push'](ag,ah,ai);}}ac=ac['nextElementSibling'];}}ab=ab['nextElementSibling'];}return{'vertices':a9,'normals':aa};}function W(a8){const ay=b,a9=a8['attributes']['id']['textContent'],aa={'name':'amfobject','meshes':[]};let ab=null,ac=a8['firstElementChild'];for(;ac;){if(ac[ay(0x11c)]==='metadata')ac[ay(0x101)]['type']!==void 0x0&&ac['attributes']['type']['value']==='name'&&(aa['name']=ac[ay(0xf4)]);else{if(ac['nodeName']===ay(0x11a))ab=P(ac);else{if(ac['nodeName']==='mesh'){let ad=ac[ay(0x118)];const ae={'vertices':[],'normals':[],'volumes':[],'color':ab};for(;ad;){if(ad['nodeName']==='vertices'){const af=U(ad);ae['normals']=ae[ay(0x119)][ay(0xf5)](af['normals']),ae['vertices']=ae[ay(0x11b)]['concat'](af[ay(0x11b)]);}else ad['nodeName']===ay(0x116)&&ae[ay(0x11e)]['push'](Q(ad));ad=ad['nextElementSibling'];}aa['meshes']['push'](ae);}}}ac=ac['nextElementSibling'];}return{'id':a9,'obj':aa};}const X=G(q);let Y='',Z='';const a0=J(X),a1={},a2={},a3=X['documentElement']['childNodes'];let a4,a5;for(a4=0x0;a4<a3['length'];a4++){const a8=a3[a4];if(a8['nodeName']==='metadata')a8['attributes']['type']!==void 0x0&&(a8[az(0x101)]['type'][az(0xf9)]==='name'?Y=a8[az(0xf4)]:a8['attributes']['type']['value']==='author'&&(Z=a8['textContent']));else{if(a8['nodeName']==='material'){const a9=K(a8);a1[a9['id']]=a9['material'];}else{if(a8[az(0x11c)]==='object'){const aa=W(a8);a2[aa['id']]=aa['obj'];}}}}const a6=new e(),a7=new f({'name':c[az(0xff)],'color':0xaaaaff,'flatShading':!0x0});a6['name']=Y,a6['userData']['author']=Z,a6['userData'][az(0xfc)]='AMF';for(const ab in a2){const ac=a2[ab],ad=ac[az(0xfa)],ae=new e();for(ae['name']=ac[az(0x10c)]||'',a4=0x0;a4<ad[az(0x10a)];a4++){let af=a7;const ag=ad[a4],ah=new g(ag['vertices'],0x3);let ai=null;if(ag['normals']['length']&&(ai=new g(ag['normals'],0x3)),ag['color']){const ak=ag['color'];af=a7['clone'](),af['color']=new h(ak['r'],ak['g'],ak['b']),ak['a']!==0x1&&(af['transparent']=!0x0,af['opacity']=ak['a']);}const aj=ag['volumes'];for(a5=0x0;a5<aj['length'];a5++){const al=aj[a5],am=new i();let an=af;am['setIndex'](al['triangles']),am['setAttribute']('position',ah['clone']()),ai&&am['setAttribute']('normal',ai['clone']()),a1[al['materialId']]!==void 0x0&&(an=a1[al[az(0x106)]]),am[az(0xf6)](a0,a0,a0),ae['add'](new j(am,an['clone']()));}}a6['add'](ae);}return a6;}}export{k as AMFLoader};function a(){const aA=['value','meshes','8092400jTkVqs','loader','toLowerCase','2648982JDGTZv','DEFAULT_MATERIAL_NAME','withCredentials','attributes','2038275IKbFVy','106698xZQZtW','arraybuffer','57hvewfE','materialId','millimeter','manager','3118jPaMpi','length','transparent','name','getElementsByTagName','buffer','requestHeader','5155865bZbdAw','metadata','setWithCredentials','21XJpDGE','error','THREE.AMFLoader:\x20Loading\x20Zip','volume','2023968jSGfVd','firstElementChild','normals','color','vertices','nodeName','type','volumes','textContent','concat','scale','parse','8CswNew'];a=function(){return aA;};return a();}
|