file-viewer3 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/.vscode/extensions.json +3 -0
  2. package/README.md +137 -0
  3. package/dist/ImageViewer-3aabb7c7.mjs +1898 -0
  4. package/dist/MarkdownViewer-11f6e7ed.mjs +1577 -0
  5. package/dist/PdfView-c5946833.mjs +21655 -0
  6. package/dist/PptxRender-f90c00c0.mjs +21163 -0
  7. package/dist/XlsxTable-22ea834f.mjs +69861 -0
  8. package/dist/_commonjs-dynamic-modules-bed80856.mjs +6 -0
  9. package/dist/_commonjsHelpers-92157f1b.mjs +36 -0
  10. package/dist/assets/pdf.worker-909112bf.js +66 -0
  11. package/dist/assets/pptx.worker-762bd091.js +21 -0
  12. package/dist/assets/xlsx.worker-b50adc35.js +65 -0
  13. package/dist/docx-preview.min-31358ab2.mjs +5287 -0
  14. package/dist/favicon.ico +0 -0
  15. package/dist/index-59c602ca.mjs +1711 -0
  16. package/dist/main.mjs +6 -0
  17. package/dist/main.umd.js +436 -0
  18. package/dist/src/package/common/type.d.ts +26 -0
  19. package/dist/src/package/common/util.d.ts +5 -0
  20. package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +25 -0
  21. package/dist/src/package/components/FileViewer/index.d.ts +2 -0
  22. package/dist/src/package/components/FileViewer/util.d.ts +2 -0
  23. package/dist/src/package/index.d.ts +12 -0
  24. package/dist/src/package/vendors/docx/index.d.ts +4 -0
  25. package/dist/src/package/vendors/image/ImageViewer.vue.d.ts +13 -0
  26. package/dist/src/package/vendors/image/index.d.ts +4 -0
  27. package/dist/src/package/vendors/md/MarkdownViewer.vue.d.ts +13 -0
  28. package/dist/src/package/vendors/md/index.d.ts +4 -0
  29. package/dist/src/package/vendors/mp4/index.d.ts +4 -0
  30. package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +13 -0
  31. package/dist/src/package/vendors/pdf/index.d.ts +1 -0
  32. package/dist/src/package/vendors/pptx/PptxRender.vue.d.ts +81 -0
  33. package/dist/src/package/vendors/pptx/index.d.ts +6 -0
  34. package/dist/src/package/vendors/pptx/options.d.ts +39 -0
  35. package/dist/src/package/vendors/pptx/support/chart.d.ts +4 -0
  36. package/dist/src/package/vendors/renders.d.ts +3 -0
  37. package/dist/src/package/vendors/text/CodeViewer.vue.d.ts +13 -0
  38. package/dist/src/package/vendors/text/index.d.ts +6 -0
  39. package/dist/src/package/vendors/xlsx/XlsxTable.vue.d.ts +13 -0
  40. package/dist/src/package/vendors/xlsx/index.d.ts +5 -0
  41. package/dist/src/package/vendors/xlsx/render.d.ts +6 -0
  42. package/dist/src/package/vendors/xlsx/util.d.ts +8 -0
  43. package/dist/src/package/vendors/xlsx/worker/SheetData.d.ts +51 -0
  44. package/dist/src/package/vendors/xlsx/worker/color.d.ts +2 -0
  45. package/dist/src/package/vendors/xlsx/worker/context.d.ts +6 -0
  46. package/dist/src/package/vendors/xlsx/worker/util.d.ts +10 -0
  47. package/dist/style.css +57 -0
  48. package/package.json +84 -0
@@ -0,0 +1,26 @@
1
+ import type { App } from 'vue';
2
+ /**
3
+ * 声明vue包装
4
+ */
5
+ export interface AppWrapper {
6
+ $el: Node;
7
+ unmount(): void;
8
+ }
9
+ /**
10
+ * 声明别名
11
+ */
12
+ export type Rendered = App | AppWrapper;
13
+ /**
14
+ * 文件处理逻辑,用于声明文件处理器
15
+ * @param buffer 二进制缓存
16
+ * @param target 目标dom
17
+ * @param type 目标类型
18
+ */
19
+ export type FileHandler = (buffer: ArrayBuffer, target: HTMLDivElement, type?: string) => Promise<Rendered>;
20
+ /**
21
+ * 文件处理器组合
22
+ */
23
+ export interface FileHandlerComposite {
24
+ accepts: Array<string>;
25
+ handler: FileHandler;
26
+ }
@@ -0,0 +1,5 @@
1
+ type ReadResult = string | ArrayBuffer | undefined | null;
2
+ export declare function readBuffer(file: File): Promise<ReadResult>;
3
+ export declare function readDataURL(buffer: ArrayBuffer): Promise<string>;
4
+ export declare function readText(buffer: ArrayBuffer): Promise<string>;
5
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ type FileRef = File | Blob | ArrayBuffer;
3
+ /**
4
+ * 静态定义props
5
+ */
6
+ declare const _sfc_main: import("vue").DefineComponent<{
7
+ file: {
8
+ type: __PropType<FileRef | undefined>;
9
+ required: false;
10
+ };
11
+ url: {
12
+ type: __PropType<string | undefined>;
13
+ required: false;
14
+ };
15
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
16
+ file: {
17
+ type: __PropType<FileRef | undefined>;
18
+ required: false;
19
+ };
20
+ url: {
21
+ type: __PropType<string | undefined>;
22
+ required: false;
23
+ };
24
+ }>>, {}>;
25
+ export default _sfc_main;
@@ -0,0 +1,2 @@
1
+ import FileViewer from "./FileViewer.vue";
2
+ export default FileViewer;
@@ -0,0 +1,2 @@
1
+ export declare function getExtend(name: string): string;
2
+ export declare function render(buffer: ArrayBuffer, type: string, target: HTMLDivElement): Promise<import("../../common/type").Rendered | undefined>;
@@ -0,0 +1,12 @@
1
+ import FileViewer from './components/FileViewer';
2
+ import type { App } from 'vue';
3
+ /**
4
+ * 安装器
5
+ */
6
+ declare class Installer {
7
+ private installed;
8
+ install(app: App): void;
9
+ }
10
+ declare const _default: Installer;
11
+ export default _default;
12
+ export { FileViewer };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 渲染mp4
3
+ */
4
+ export default function (buffer: ArrayBuffer, target: HTMLDivElement): Promise<void>;
@@ -0,0 +1,13 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ image: {
4
+ type: __PropType<string>;
5
+ required: true;
6
+ };
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ image: {
9
+ type: __PropType<string>;
10
+ required: true;
11
+ };
12
+ }>>, {}>;
13
+ export default _sfc_main;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 图片渲染
3
+ */
4
+ export default function renderImage(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import("vue").App<Element>>;
@@ -0,0 +1,13 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ data: {
4
+ type: __PropType<string>;
5
+ required: true;
6
+ };
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ data: {
9
+ type: __PropType<string>;
10
+ required: true;
11
+ };
12
+ }>>, {}>;
13
+ export default _sfc_main;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 渲染mp4
3
+ */
4
+ export default function (buffer: ArrayBuffer, target: HTMLDivElement): Promise<import("vue").App<Element>>;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 渲染mp4
3
+ */
4
+ export default function (buffer: ArrayBuffer, target: HTMLDivElement): void;
@@ -0,0 +1,13 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ data: {
4
+ type: __PropType<ArrayBuffer>;
5
+ required: true;
6
+ };
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ data: {
9
+ type: __PropType<ArrayBuffer>;
10
+ required: true;
11
+ };
12
+ }>>, {}>;
13
+ export default _sfc_main;
@@ -0,0 +1 @@
1
+ export default function renderPdf(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import("vue").App<Element>>;
@@ -0,0 +1,81 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ data: {
4
+ type: __PropType<ArrayBuffer>;
5
+ required: true;
6
+ };
7
+ options: {
8
+ type: __PropType<Function | undefined>;
9
+ required: false;
10
+ default: () => {
11
+ slidesScale: string;
12
+ slideMode: boolean;
13
+ slideType: string;
14
+ revealjsPath: string;
15
+ keyBoardShortCut: boolean;
16
+ mediaProcess: boolean;
17
+ jsZipV2: boolean;
18
+ themeProcess: boolean;
19
+ incSlide: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ slideModeConfig: {
24
+ first: number;
25
+ nav: boolean;
26
+ navTxtColor: string;
27
+ keyBoardShortCut: boolean;
28
+ showSlideNum: boolean;
29
+ showTotalSlideNum: boolean;
30
+ autoSlide: boolean;
31
+ randomAutoSlide: boolean;
32
+ loop: boolean;
33
+ background: boolean;
34
+ transition: string;
35
+ transitionTime: number;
36
+ };
37
+ revealjsConfig: {};
38
+ };
39
+ };
40
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
41
+ data: {
42
+ type: __PropType<ArrayBuffer>;
43
+ required: true;
44
+ };
45
+ options: {
46
+ type: __PropType<Function | undefined>;
47
+ required: false;
48
+ default: () => {
49
+ slidesScale: string;
50
+ slideMode: boolean;
51
+ slideType: string;
52
+ revealjsPath: string;
53
+ keyBoardShortCut: boolean;
54
+ mediaProcess: boolean;
55
+ jsZipV2: boolean;
56
+ themeProcess: boolean;
57
+ incSlide: {
58
+ width: number;
59
+ height: number;
60
+ };
61
+ slideModeConfig: {
62
+ first: number;
63
+ nav: boolean;
64
+ navTxtColor: string;
65
+ keyBoardShortCut: boolean;
66
+ showSlideNum: boolean;
67
+ showTotalSlideNum: boolean;
68
+ autoSlide: boolean;
69
+ randomAutoSlide: boolean;
70
+ loop: boolean;
71
+ background: boolean;
72
+ transition: string;
73
+ transitionTime: number;
74
+ };
75
+ revealjsConfig: {};
76
+ };
77
+ };
78
+ }>>, {
79
+ options: Function | undefined;
80
+ }>;
81
+ export default _sfc_main;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * pptx渲染逻辑,使用vue组件,重构自pptxjs,感谢大神让我站在巨人的肩膀上
3
+ * @param buffer 二进制数据
4
+ * @param target 目标
5
+ */
6
+ export default function renderPptx(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>>;
@@ -0,0 +1,39 @@
1
+ export declare const DefaultOptions: () => {
2
+ slidesScale: string;
3
+ slideMode: boolean;
4
+ slideType: string;
5
+ revealjsPath: string;
6
+ keyBoardShortCut: boolean;
7
+ mediaProcess: boolean;
8
+ jsZipV2: boolean;
9
+ themeProcess: boolean;
10
+ incSlide: {
11
+ width: number;
12
+ height: number;
13
+ };
14
+ slideModeConfig: {
15
+ first: number;
16
+ nav: boolean;
17
+ /** true,false : show or not nav buttons*/
18
+ navTxtColor: string;
19
+ /** color */
20
+ keyBoardShortCut: boolean;
21
+ /** true,false ,condition: */
22
+ showSlideNum: boolean;
23
+ /** true,false */
24
+ showTotalSlideNum: boolean;
25
+ /** true,false */
26
+ autoSlide: boolean;
27
+ /** false or seconds , F8 to active ,keyBoardShortCut: true */
28
+ randomAutoSlide: boolean;
29
+ /** true,false ,autoSlide:true */
30
+ loop: boolean;
31
+ /** true,false */
32
+ background: boolean;
33
+ /** false or color*/
34
+ transition: string;
35
+ /** transition type: "slid","fade","default","random" , to show transition efects :transitionTime > 0.5 */
36
+ transitionTime: number; /** transition time between slides in seconds */
37
+ };
38
+ revealjsConfig: {};
39
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 显示图表
3
+ */
4
+ export declare const displayChart: (charts: any) => void;
@@ -0,0 +1,3 @@
1
+ import type { FileHandler } from '../../package/common/type';
2
+ declare const renders: Map<string, FileHandler>;
3
+ export default renders;
@@ -0,0 +1,13 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ value: {
4
+ type: __PropType<string>;
5
+ required: true;
6
+ };
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ value: {
9
+ type: __PropType<string>;
10
+ required: true;
11
+ };
12
+ }>>, {}>;
13
+ export default _sfc_main;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 渲染文本
3
+ * @param buffer 文本二进制内容
4
+ * @param target 目标
5
+ */
6
+ export default function renderText(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import("vue").App<Element>>;
@@ -0,0 +1,13 @@
1
+ import type { PropType as __PropType } from 'vue';
2
+ declare const _sfc_main: import("vue").DefineComponent<{
3
+ data: {
4
+ type: __PropType<ArrayBuffer>;
5
+ required: true;
6
+ };
7
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
8
+ data: {
9
+ type: __PropType<ArrayBuffer>;
10
+ required: true;
11
+ };
12
+ }>>, {}>;
13
+ export default _sfc_main;
@@ -0,0 +1,5 @@
1
+ import type { App } from 'vue';
2
+ /**
3
+ * 渲染excel
4
+ */
5
+ export default function render(buffer: ArrayBuffer, target: HTMLDivElement): Promise<App>;
@@ -0,0 +1,6 @@
1
+ export declare const context: {
2
+ selection: {
3
+ style: {};
4
+ ranges: never[];
5
+ };
6
+ };
@@ -0,0 +1,8 @@
1
+ export declare function cellKey(row: number, col: number): string;
2
+ export declare function flatten(routes: Array<any>): Array<any>;
3
+ export declare function toStyleString(style: any): string;
4
+ export declare const darkMode: {
5
+ value: import("vue").Ref<null>;
6
+ } | {
7
+ value: import("vue").Ref<boolean>;
8
+ };
@@ -0,0 +1,51 @@
1
+ import type { Worksheet } from 'exceljs/index.d';
2
+ export declare const borders: Array<BorderKey>;
3
+ type BorderKey = 'left' | 'right' | 'top' | 'bottom';
4
+ type SheetColumn = {
5
+ key: number;
6
+ title: string;
7
+ editor: false;
8
+ className: string;
9
+ renderer: 'styleRender';
10
+ };
11
+ type CellMerge = {
12
+ row: number;
13
+ col: number;
14
+ rowspan: number;
15
+ colspan: number;
16
+ };
17
+ /**
18
+ * sheet数据表数据
19
+ */
20
+ export default class SheetData {
21
+ private readonly _ws;
22
+ private _defaults;
23
+ private _data;
24
+ private _cell;
25
+ private _merge;
26
+ private _rowHeights;
27
+ private _colWidths;
28
+ private _columns;
29
+ static create(ws: Worksheet): SheetData;
30
+ private constructor();
31
+ private get ws();
32
+ get defaults(): {
33
+ rowHeight: number;
34
+ colWidth: number;
35
+ };
36
+ get data(): string[][];
37
+ get cell(): any;
38
+ get merge(): CellMerge[];
39
+ get rowHeights(): number | number[];
40
+ get colWidths(): number | number[];
41
+ get columns(): SheetColumn[];
42
+ private getDefaults;
43
+ private getData;
44
+ private getCell;
45
+ private getMerge;
46
+ private getRowHeights;
47
+ private getColWidths;
48
+ private getColumns;
49
+ toObject(): object;
50
+ }
51
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const indexedColors: string[];
2
+ export declare function getTintColor(hex: string, tint: number): string;
@@ -0,0 +1,6 @@
1
+ import type { Workbook } from 'exceljs/index.d';
2
+ export declare const context: {
3
+ themeColors: any;
4
+ workbook: Workbook | undefined;
5
+ sheets: any;
6
+ };
@@ -0,0 +1,10 @@
1
+ import type { Alignment, CellErrorValue, CellValue, Row } from 'exceljs/index.d';
2
+ export declare function valuesOf(row: Row): CellValue[];
3
+ export declare function valueOf(value: CellValue | {
4
+ error: CellErrorValue;
5
+ }): string;
6
+ export declare function getColor(color: any, themeColors: string[]): string | undefined;
7
+ export declare function alignToClass({ horizontal, vertical }: Partial<Alignment>): string;
8
+ export declare function fixMatrix(data: string[][], colLen: number): string[][];
9
+ export declare function captain(str: string): string;
10
+ export declare function camelCase(str: string): string;