@flyfish-group/file-viewer3 1.0.5 → 1.0.6

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 (79) hide show
  1. package/LICENSE +160 -0
  2. package/README.md +40 -15
  3. package/dist/components/CadViewer.js +1 -0
  4. package/dist/components/CodeViewer.js +1 -0
  5. package/dist/components/ImageViewer.js +1 -1950
  6. package/dist/components/MarkdownViewer.js +1 -1469
  7. package/dist/components/OfdViewer.js +1 -0
  8. package/dist/components/PdfView.js +1 -22630
  9. package/dist/components/PptxRender.js +1 -22428
  10. package/dist/components/XlsxTable.js +1 -55468
  11. package/dist/components/_plugin-vue_export-helper.js +1 -0
  12. package/dist/components/asyncToGenerator.js +1 -0
  13. package/dist/components/chunk.js +1 -0
  14. package/dist/components/dist.js +1 -0
  15. package/dist/components/docx-preview.js +1 -5795
  16. package/dist/components/jszip.min.js +1 -0
  17. package/dist/components/objectSpread2.js +1 -0
  18. package/dist/components/ofd.js +1 -0
  19. package/dist/components/use.js +1 -0
  20. package/dist/components/worker-ref.js +1 -21
  21. package/dist/components/wrapAsyncGenerator.js +1 -0
  22. package/dist/file-viewer3.css +2 -0
  23. package/dist/index.mjs +1 -6
  24. package/dist/index.umd.js +1 -313
  25. package/dist/src/components/utils.d.ts +3 -0
  26. package/dist/src/main.d.ts +0 -0
  27. package/dist/src/package/common/type.d.ts +30 -0
  28. package/dist/src/package/common/util.d.ts +5 -0
  29. package/dist/src/package/common/worker-ref.d.ts +12 -0
  30. package/dist/src/package/components/FileViewer/FileViewer.vue.d.ts +8 -0
  31. package/dist/src/package/components/FileViewer/index.d.ts +2 -0
  32. package/dist/src/package/components/FileViewer/util.d.ts +2 -0
  33. package/dist/src/package/index.d.ts +15 -3
  34. package/dist/src/package/use/index.d.ts +2 -0
  35. package/dist/src/package/use/loading.d.ts +33 -0
  36. package/dist/src/package/use/worker.d.ts +24 -0
  37. package/dist/src/package/vendors/cad/CadViewer.vue.d.ts +7 -0
  38. package/dist/src/package/vendors/cad/index.d.ts +7 -0
  39. package/dist/src/package/vendors/image/ImageViewer.vue.d.ts +6 -0
  40. package/dist/src/package/vendors/image/index.d.ts +4 -0
  41. package/dist/src/package/vendors/md/MarkdownViewer.vue.d.ts +6 -0
  42. package/dist/src/package/vendors/md/index.d.ts +4 -0
  43. package/dist/src/package/vendors/mp4/index.d.ts +4 -0
  44. package/dist/src/package/vendors/ofd/OfdViewer.vue.d.ts +6 -0
  45. package/dist/src/package/vendors/ofd/index.d.ts +7 -0
  46. package/dist/src/package/vendors/pdf/PdfView.vue.d.ts +6 -0
  47. package/dist/src/package/vendors/pdf/index.d.ts +1 -0
  48. package/dist/src/package/vendors/pdf/worker/index.d.ts +4 -0
  49. package/dist/src/package/vendors/pptx/PptxRender.vue.d.ts +9 -0
  50. package/dist/src/package/vendors/pptx/index.d.ts +6 -0
  51. package/dist/src/package/vendors/pptx/options.d.ts +39 -0
  52. package/dist/src/package/vendors/pptx/support/chart.d.ts +4 -0
  53. package/dist/src/package/vendors/pptx/worker/index.d.ts +4 -0
  54. package/dist/src/package/vendors/renders.d.ts +3 -0
  55. package/dist/src/package/vendors/text/CodeViewer.vue.d.ts +7 -0
  56. package/dist/src/package/vendors/text/index.d.ts +10 -0
  57. package/dist/src/package/vendors/word/doc.d.ts +5 -0
  58. package/dist/src/package/vendors/word/docx.d.ts +5 -0
  59. package/dist/src/package/vendors/word/index.d.ts +3 -0
  60. package/dist/src/package/vendors/xlsx/XlsxTable.state.d.ts +79 -0
  61. package/dist/src/package/vendors/xlsx/XlsxTable.view.d.ts +22 -0
  62. package/dist/src/package/vendors/xlsx/XlsxTable.vue.d.ts +6 -0
  63. package/dist/src/package/vendors/xlsx/index.d.ts +5 -0
  64. package/dist/src/package/vendors/xlsx/util.d.ts +8 -0
  65. package/dist/src/package/vendors/xlsx/worker/index.d.ts +4 -0
  66. package/dist/src/package/vendors/xlsx/worker/sheetjs/SheetJsModel.d.ts +69 -0
  67. package/dist/src/package/vendors/xlsx/worker/sheetjs/color.d.ts +2 -0
  68. package/dist/src/package/vendors/xlsx/worker/sheetjs/index.d.ts +4 -0
  69. package/dist/src/package/vendors/xlsx/worker/sheetjs/sheet.worker.d.ts +1 -0
  70. package/dist/worker/pdf.worker.js +1 -58
  71. package/dist/worker/pptx.worker.js +1 -21
  72. package/dist/worker/sheet.worker.js +1 -38
  73. package/package.json +50 -42
  74. package/dist/components/_commonjs-dynamic-modules.js +0 -6
  75. package/dist/components/_commonjsHelpers.js +0 -30
  76. package/dist/components/index.js +0 -4914
  77. package/dist/index.d.ts +0 -48
  78. package/dist/style.css +0 -57
  79. package/dist/worker/xlsx.worker.js +0 -62
@@ -0,0 +1,3 @@
1
+ type ListenCallback = (file?: File, url?: string) => void;
2
+ export declare function listenForFile(callback: ListenCallback): void;
3
+ export {};
File without changes
@@ -0,0 +1,30 @@
1
+ import { 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
+ */
16
+ export type FileRef = File | Blob | ArrayBuffer;
17
+ /**
18
+ * 文件处理逻辑,用于声明文件处理器
19
+ * @param buffer 二进制缓存
20
+ * @param target 目标dom
21
+ * @param type 目标扩展名。部分渲染器会用它选择语言、容错策略或格式提示。
22
+ */
23
+ export type FileHandler = (buffer: ArrayBuffer, target: HTMLDivElement, type?: string) => Promise<Rendered>;
24
+ /**
25
+ * 文件处理器组合
26
+ */
27
+ export interface FileHandlerComposite {
28
+ accepts: Array<string>;
29
+ handler: FileHandler;
30
+ }
@@ -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,12 @@
1
+ type WorkerProvider = () => Worker;
2
+ export interface WorkerRef {
3
+ worker: Worker | null;
4
+ defaults(provider: WorkerProvider): Worker;
5
+ }
6
+ export default class WorkerRefImpl implements WorkerRef {
7
+ worker: Worker | null;
8
+ constructor(worker: Worker | null);
9
+ defaults(provider: WorkerProvider): Worker;
10
+ }
11
+ export declare function refWorker(name: string, module?: boolean): WorkerRef;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { FileRef } from '../../common/type';
2
+ type __VLS_Props = {
3
+ file?: FileRef;
4
+ url?: string;
5
+ };
6
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { default as 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>;
@@ -1,3 +1,15 @@
1
- export * from '../../package/index'
2
- import FileViewer3 from '../../package/index'
3
- export default FileViewer3
1
+ import { default as FileViewer } from './components/FileViewer';
2
+ import { App } from 'vue';
3
+ declare interface FileViewerInstaller {
4
+ install(app: App): void;
5
+ }
6
+ /**
7
+ * 安装器
8
+ */
9
+ declare class Installer implements FileViewerInstaller {
10
+ private installed;
11
+ install(app: App): void;
12
+ }
13
+ declare const _default: Installer;
14
+ export default _default;
15
+ export { FileViewer };
@@ -0,0 +1,2 @@
1
+ export * from './loading';
2
+ export * from './worker';
@@ -0,0 +1,33 @@
1
+ import { MaybeRefOrGetter } from 'vue';
2
+ export interface LoadingTheme {
3
+ accent: string;
4
+ badge: string;
5
+ hint: string;
6
+ label: string;
7
+ soft: string;
8
+ }
9
+ /**
10
+ * 根据扩展名返回统一的加载主题。
11
+ * 这样不同预览器可以复用同一套视觉语义,避免颜色、图标和文案各写一份。
12
+ */
13
+ export declare const resolveLoadingTheme: (extend?: string) => LoadingTheme;
14
+ /**
15
+ * 统一管理加载、错误、文案和主题色。
16
+ * 组件只负责描述业务流程,不再在主文件里散落一堆 loading 状态切换。
17
+ */
18
+ export declare const useLoading: (extendSource: MaybeRefOrGetter<string>) => {
19
+ loading: import('vue').Ref<boolean, boolean>;
20
+ error: import('vue').Ref<string, string>;
21
+ message: import('vue').Ref<string, string>;
22
+ theme: import('vue').ComputedRef<LoadingTheme>;
23
+ styleVars: import('vue').ComputedRef<{
24
+ '--viewer-accent': string;
25
+ '--viewer-soft': string;
26
+ }>;
27
+ startLoading: (nextMessage: string) => void;
28
+ setLoadingMessage: (nextMessage: string) => void;
29
+ stopLoading: () => void;
30
+ showError: (nextMessage: string) => void;
31
+ clearError: () => void;
32
+ resetLoading: () => void;
33
+ };
@@ -0,0 +1,24 @@
1
+ declare type EventHandler = (payload: any) => void;
2
+ declare interface WorkerContext {
3
+ emit(type: string, payload: any): void;
4
+ }
5
+ /**
6
+ * 使用worker
7
+ * 添加内部监听器自省
8
+ * 缺省消息格式
9
+ * {
10
+ * type: '消息类型',
11
+ * payload: {消息体},
12
+ * }
13
+ */
14
+ export declare const useWorker: (factory: () => undefined | Worker) => {
15
+ loading: import('vue').Ref<boolean, boolean>;
16
+ worker: WorkerContext;
17
+ onWorkerMessage: (hook: Function) => number;
18
+ onWorkerError: (hook: Function) => number;
19
+ onWorkerEvent: (type: string, hook: EventHandler) => void;
20
+ mapEvents: (mappings: Array<string> | {
21
+ [key: string]: string;
22
+ }) => any;
23
+ };
24
+ export {};
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ data: ArrayBuffer;
3
+ type: string;
4
+ };
5
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 渲染 CAD 图纸。
3
+ *
4
+ * 当前内置 MIT 协议的 @cadview/core,提供 DXF 解析、Canvas 渲染、平移缩放和测量能力。
5
+ * DWG 属于专有格式,开源纯前端转换器通常带 GPL 约束,因此这里不默认打进组件库。
6
+ */
7
+ export default function renderCad(buffer: ArrayBuffer, target: HTMLDivElement, type?: string): Promise<import('vue').App<Element>>;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ image: string;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 图片渲染
3
+ */
4
+ export default function renderImage(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import('vue').App<Element>>;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ data: string;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -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,6 @@
1
+ type __VLS_Props = {
2
+ data: ArrayBuffer;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 渲染 OFD 版式文件。
3
+ *
4
+ * OFD 解析和页面渲染依赖较多,所以这里只创建异步 Vue 组件;
5
+ * 真正的解析器和渲染器会在 OfdViewer.vue 挂载后再动态加载。
6
+ */
7
+ export default function renderOfd(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import('vue').App<Element>>;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ data: ArrayBuffer;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1 @@
1
+ export default function renderPdf(buffer: ArrayBuffer, target: HTMLDivElement): Promise<import('vue').App<Element>>;
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ create(): Worker;
3
+ };
4
+ export default _default;
@@ -0,0 +1,9 @@
1
+ type __VLS_Props = {
2
+ data: ArrayBuffer;
3
+ options?: Function;
4
+ };
5
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
+ options: Function;
7
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -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, {}, {}, {}, string, import('vue').ComponentProvideOptions>, {}, {}, "", {}, any>>;
@@ -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,4 @@
1
+ declare const _default: {
2
+ create(): Worker;
3
+ };
4
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import { FileHandler } from '../common/type';
2
+ declare const renders: Map<string, FileHandler>;
3
+ export default renders;
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ value: string;
3
+ type: string;
4
+ };
5
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 渲染文本和代码。
3
+ *
4
+ * 这里刻意把 CodeViewer 做成异步组件,让 highlight.js 只在命中代码/文本格式时加载;
5
+ * HTML/XML 等源码会被当作字符串高亮,不会以真实 DOM 执行。
6
+ * @param buffer 文本二进制内容
7
+ * @param target 目标
8
+ * @param type 文件扩展名,用于选择 highlight.js 语言
9
+ */
10
+ export default function renderText(buffer: ArrayBuffer, target: HTMLDivElement, type?: string): Promise<import('vue').App<Element>>;
@@ -0,0 +1,5 @@
1
+ import { AppWrapper } from '../../common/type';
2
+ /**
3
+ * 渲染 doc 文件
4
+ */
5
+ export default function render(buffer: ArrayBuffer, target: HTMLDivElement): Promise<AppWrapper>;
@@ -0,0 +1,5 @@
1
+ import { AppWrapper } from '../../common/type';
2
+ /**
3
+ * 渲染docx文件
4
+ */
5
+ export default function (buffer: ArrayBuffer, target: HTMLDivElement): Promise<AppWrapper>;
@@ -0,0 +1,3 @@
1
+ import { default as renderDocx } from './docx';
2
+ import { default as renderDoc } from './doc';
3
+ export { renderDoc, renderDocx };
@@ -0,0 +1,79 @@
1
+ import { Align, Column, VerticalAlign } from 'e-virt-table';
2
+ import { CellMerge } from './worker/type';
3
+ export declare const WINDOW_SIZE = 500;
4
+ export declare const PREFETCH_AHEAD = 3;
5
+ export declare const PREFETCH_BEHIND = 1;
6
+ export declare const INDEX_COLUMN_KEY = "__index";
7
+ export declare const ROW_KEY_FIELD = "__k";
8
+ export declare const ROW_STATE_FIELD = "__s";
9
+ export interface SheetDefaults {
10
+ rowHeight: number;
11
+ colWidth: number;
12
+ }
13
+ export declare const DEFAULT_SHEET_DEFAULTS: SheetDefaults;
14
+ export declare const RowState: {
15
+ readonly Placeholder: 0;
16
+ readonly Loading: 1;
17
+ readonly Loaded: 2;
18
+ };
19
+ export type RowStateValue = (typeof RowState)[keyof typeof RowState];
20
+ export interface VirtualRow extends Record<string, any> {
21
+ __k: string;
22
+ __s: RowStateValue;
23
+ _height?: number;
24
+ }
25
+ export interface CellBorderCache {
26
+ width: number;
27
+ style: string;
28
+ color: string;
29
+ }
30
+ export interface CellStyleCache {
31
+ backgroundColor?: string;
32
+ color?: string;
33
+ font?: string;
34
+ horizontalAlign?: Align;
35
+ verticalAlign?: VerticalAlign;
36
+ wrapText?: boolean;
37
+ shrinkToFit?: boolean;
38
+ borderTop?: CellBorderCache;
39
+ borderRight?: CellBorderCache;
40
+ borderBottom?: CellBorderCache;
41
+ borderLeft?: CellBorderCache;
42
+ }
43
+ export interface VirtualSheetState {
44
+ active: boolean;
45
+ totalRows: number;
46
+ totalCols: number;
47
+ indexOffset: number;
48
+ defaults: SheetDefaults;
49
+ dataKeys: string[];
50
+ rows: VirtualRow[];
51
+ columns: Column[];
52
+ cellCache: Map<string, CellStyleCache>;
53
+ mergeStartMap: Map<string, CellMerge>;
54
+ mergeCoveredMap: Map<string, true>;
55
+ rowHeightCache: Map<number, number>;
56
+ windowRows: Map<number, number[]>;
57
+ windowCells: Map<number, string[]>;
58
+ loadedWindows: Set<number>;
59
+ loadingWindows: Set<number>;
60
+ }
61
+ export type ScrollDirection = 1 | -1;
62
+ interface CollectWindowStartsOptions {
63
+ direction: ScrollDirection;
64
+ endRow: number;
65
+ far?: boolean;
66
+ startRow: number;
67
+ totalRows: number;
68
+ }
69
+ export declare const createEmptyVirtualState: () => VirtualSheetState;
70
+ export declare const displayCellKey: (row: number, col: number) => string;
71
+ export declare const getDataKey: (index: number) => string;
72
+ export declare const getRowState: (row?: VirtualRow | null) => RowStateValue;
73
+ export declare const buildRows: (count: number) => VirtualRow[];
74
+ export declare const getMaxWindowStart: (totalRows: number) => number;
75
+ export declare const clampWindowStart: (startRow?: number, totalRows?: number) => number;
76
+ export declare const getWindowStart: (row?: number, totalRows?: number) => number;
77
+ export declare const collectWindowStarts: ({ startRow, endRow, direction, totalRows, far }: CollectWindowStartsOptions) => number[];
78
+ export declare const markWindowState: (rows: VirtualRow[], totalRows: number, windowStart: number, nextState: RowStateValue) => void;
79
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Column, ConfigType } from 'e-virt-table';
2
+ import { SheetModel } from './worker/type';
3
+ import { CellStyleCache, SheetDefaults, VirtualSheetState } from './XlsxTable.state';
4
+ interface TableConfigOptions {
5
+ hostHeight: number;
6
+ sheetDefaults: SheetDefaults;
7
+ virtualState: VirtualSheetState;
8
+ }
9
+ export declare const getRowHeight: (heights: number | number[] | undefined, index: number, fallback: number) => number;
10
+ export declare const normalizeRowHeight: (height: number | undefined, fallback: number) => number;
11
+ export declare const detectIndexOffset: (ws: SheetModel) => 0 | 1;
12
+ export declare const buildColumns: (ws: SheetModel) => {
13
+ columns: Column[];
14
+ dataKeys: string[];
15
+ };
16
+ export declare const getDisplayColumns: (columns: Column[]) => Column[];
17
+ export declare const normalizeCellStyle: (meta: {
18
+ className?: string;
19
+ style: any;
20
+ } | undefined) => CellStyleCache | undefined;
21
+ export declare const createTableConfig: ({ hostHeight, sheetDefaults, virtualState }: TableConfigOptions) => ConfigType;
22
+ export {};
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ data: ArrayBuffer;
3
+ };
4
+ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,5 @@
1
+ import { App } from 'vue';
2
+ /**
3
+ * 渲染excel
4
+ */
5
+ export default function render(buffer: ArrayBuffer, target: HTMLDivElement): Promise<App>;
@@ -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, null>;
6
+ } | {
7
+ value: import('vue').Ref<boolean, boolean>;
8
+ };
@@ -0,0 +1,4 @@
1
+ import { default as SheetJsWorker } from './sheetjs';
2
+ import { default as SheetJsModel } from './sheetjs/SheetJsModel';
3
+ export { SheetJsWorker };
4
+ export type { SheetJsModel };
@@ -0,0 +1,69 @@
1
+ import { WorkSheet } from 'styled-exceljs';
2
+ import { CellMerge, SheetColumn, SheetModel, SheetStructure, SheetWindow } from '../type';
3
+ export declare const defaults: {
4
+ rowHeight: number;
5
+ colWidth: number;
6
+ };
7
+ interface SheetSliceOptions {
8
+ startRow?: number;
9
+ pageSize?: number;
10
+ totalRows?: number;
11
+ totalCols?: number;
12
+ }
13
+ type SheetCellMeta = {
14
+ className?: string;
15
+ style: Record<string, string>;
16
+ };
17
+ export default class SheetJsModel implements SheetModel {
18
+ private readonly _ws;
19
+ private readonly _startRow;
20
+ private readonly _pageSize;
21
+ private readonly _totalRows?;
22
+ private readonly _totalCols?;
23
+ private static readonly defaults;
24
+ private _data;
25
+ private _cell;
26
+ private _merge;
27
+ private _rowHeights;
28
+ private _colWidths;
29
+ private _autoFitColumns;
30
+ private _columns;
31
+ private _structure;
32
+ private _meta;
33
+ private readonly range;
34
+ static create(ws: WorkSheet, options?: SheetSliceOptions): SheetJsModel;
35
+ private constructor();
36
+ private get ws();
37
+ get defaults(): {
38
+ rowHeight: number;
39
+ colWidth: number;
40
+ };
41
+ get data(): string[][];
42
+ get cell(): Record<string, SheetCellMeta>;
43
+ get merge(): CellMerge[];
44
+ get columns(): SheetColumn[];
45
+ get structure(): SheetStructure;
46
+ get rowHeights(): number | number[];
47
+ get colWidths(): number | number[];
48
+ get meta(): SheetWindow;
49
+ private get totalRows();
50
+ private get totalCols();
51
+ private get startRow();
52
+ private get endRow();
53
+ private get denseRows();
54
+ private getCellAt;
55
+ private getAllMerge;
56
+ private getData;
57
+ private getCell;
58
+ private getMerge;
59
+ private getRowHeights;
60
+ private getAllRowHeights;
61
+ private getAutoFitColumns;
62
+ private get autoFitColumns();
63
+ private getColumnMeta;
64
+ private getColWidths;
65
+ private getColumns;
66
+ private getStructure;
67
+ toObject(): object;
68
+ }
69
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const indexedColors: string[];
2
+ export declare function getTintColor(hex: string, tint: number): string;
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ create(): Worker;
3
+ };
4
+ export default _default;