@gientech/modual 1.0.0 → 1.0.2

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/database.d.ts CHANGED
@@ -30,3 +30,12 @@ declare enum OPT_BTN {
30
30
  }
31
31
 
32
32
  export { }
33
+
34
+
35
+ declare module 'slate' {
36
+ interface CustomTypes {
37
+ Editor: BaseEditor & ReactEditor;
38
+ Element: CustomElement;
39
+ Text: CustomText;
40
+ }
41
+ }
package/database.js CHANGED
@@ -1,4 +1,4 @@
1
- import"./assets/jsx-runtime-eqeT1Bol.js";import"react";import"@mxmweb/zui";import o from"styled-components";import"@mxmweb/xviewer";import{Modal as r}from"antd";import"axios";/* empty css */const{confirm:m}=r;o.div`
1
+ import"./assets/jsx-runtime-vC1aA8e7.js";import"react";import"@mxmweb/zui";import{d as o}from"./assets/styled-components.browser.esm-BKnFpJ_S.js";import"@mxmweb/xviewer";/* empty css */o.div`
2
2
  width: 282px;
3
3
  height: 81px;
4
4
  display: flex;
@@ -0,0 +1,43 @@
1
+ import { CustomComponents } from '@mxmweb/xviewer';
2
+ import { default as default_2 } from 'react';
3
+ import { Styles } from '@mxmweb/zui';
4
+
5
+ declare const DatabaseViewAdopter: default_2.FC<DatabaseViewAdopterProps>;
6
+ export default DatabaseViewAdopter;
7
+
8
+ declare interface DatabaseViewAdopterProps {
9
+ url?: string;
10
+ token?: string;
11
+ role?: string;
12
+ id: string;
13
+ styles?: Styles;
14
+ dbType: 'DataTable' | 'DirectDB';
15
+ CustomComponents?: CustomComponents;
16
+ eventsEmit?: (name: string, data: any) => void;
17
+ getBtnDisabled?: (type: OPT_BTN, permission: number) => boolean;
18
+ }
19
+
20
+ declare enum OPT_BTN {
21
+ DATE = 0,
22
+ VIEW = 1,
23
+ ERROR = 2,
24
+ AUTHORIZE = 3,
25
+ DELETE = 4,
26
+ ANALYSIS_OR_EXTRACT = 5,
27
+ DOWNLOAD = 6,
28
+ EDIT = 7,
29
+ ADD = 8,
30
+ ANALYSIS_CONFIG = 9,
31
+ AUTHORIZE_CONFIG = 10
32
+ }
33
+
34
+ export { }
35
+
36
+
37
+ declare module 'slate' {
38
+ interface CustomTypes {
39
+ Editor: BaseEditor & ReactEditor;
40
+ Element: CustomElement;
41
+ Text: CustomText;
42
+ }
43
+ }
package/databaseId.js ADDED
@@ -0,0 +1 @@
1
+ import"./assets/jsx-runtime-vC1aA8e7.js";import"react";import"./assets/index-BMSRZNG4.js";import"@mxmweb/zui";import"@mxmweb/xviewer";/* empty css */import"@mxmweb/rtext";
@@ -35,3 +35,12 @@ declare enum OPT_BTN {
35
35
  }
36
36
 
37
37
  export { }
38
+
39
+
40
+ declare module 'slate' {
41
+ interface CustomTypes {
42
+ Editor: BaseEditor & ReactEditor;
43
+ Element: CustomElement;
44
+ Text: CustomText;
45
+ }
46
+ }
package/databaseTable.js CHANGED
@@ -1 +1 @@
1
- import"./assets/jsx-runtime-eqeT1Bol.js";import"react";import"uid";import"@mxmweb/xviewer";import"axios";import{Modal as o}from"antd";import"lucide-react";import"@mxmweb/zui";const{confirm:a}=o;
1
+ import"./assets/jsx-runtime-vC1aA8e7.js";import"react";import"./assets/index-BMSRZNG4.js";import"@mxmweb/zui";import"@mxmweb/xviewer";
@@ -0,0 +1,37 @@
1
+ import { Annotation } from '@mxmweb/fviewer';
2
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
3
+
4
+ declare interface MDAnnotation {
5
+ id: string;
6
+ start: number;
7
+ end: number;
8
+ content?: string;
9
+ color?: string;
10
+ }
11
+
12
+ export declare const streamAnnotations: Annotation[];
13
+
14
+ export declare const streamMDAnnotations: MDAnnotation[];
15
+
16
+ declare function StreamPreview(): JSX_2.Element;
17
+ export default StreamPreview;
18
+
19
+ export declare const streamTableAnnotations: TableAnnotation[];
20
+
21
+ declare interface TableAnnotation {
22
+ id: string;
23
+ offsets: [number, number][];
24
+ content?: string;
25
+ color?: string;
26
+ }
27
+
28
+ export { }
29
+
30
+
31
+ declare module 'slate' {
32
+ interface CustomTypes {
33
+ Editor: BaseEditor & ReactEditor;
34
+ Element: CustomElement;
35
+ Text: CustomText;
36
+ }
37
+ }
@@ -0,0 +1 @@
1
+ import"./assets/jsx-runtime-vC1aA8e7.js";import"react";import"@mxmweb/fviewer";
@@ -0,0 +1,41 @@
1
+ import { CustomComponents } from '@mxmweb/xviewer';
2
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
3
+ import { Styles } from '@mxmweb/zui';
4
+
5
+ declare function ModelManageView(props: ModelManageViewProps): JSX_2.Element;
6
+ export default ModelManageView;
7
+
8
+ declare interface ModelManageViewProps {
9
+ url?: string;
10
+ token?: string;
11
+ role?: string;
12
+ styles?: Styles;
13
+ CustomComponents?: CustomComponents;
14
+ eventsEmit?: (name: string, data: any) => void;
15
+ getBtnDisabled?: (type: OPT_BTN, permission: number) => boolean;
16
+ }
17
+
18
+ declare enum OPT_BTN {
19
+ DATE = 0,
20
+ VIEW = 1,
21
+ ERROR = 2,
22
+ AUTHORIZE = 3,
23
+ DELETE = 4,
24
+ ANALYSIS_OR_EXTRACT = 5,
25
+ DOWNLOAD = 6,
26
+ EDIT = 7,
27
+ ADD = 8,
28
+ ANALYSIS_CONFIG = 9,
29
+ AUTHORIZE_CONFIG = 10
30
+ }
31
+
32
+ export { }
33
+
34
+
35
+ declare module 'slate' {
36
+ interface CustomTypes {
37
+ Editor: BaseEditor & ReactEditor;
38
+ Element: CustomElement;
39
+ Text: CustomText;
40
+ }
41
+ }
package/modelManage.js ADDED
@@ -0,0 +1 @@
1
+ import"./assets/jsx-runtime-vC1aA8e7.js";import"react";import"@mxmweb/zui";import"@mxmweb/xviewer";/* empty css */
package/package.json CHANGED
@@ -1,17 +1,37 @@
1
1
  {
2
2
  "name": "@gientech/modual",
3
- "main": "chat.js",
4
3
  "license": "MIT",
5
4
  "style": "assets/style.css",
6
- "types": "chat.d.ts",
7
5
  "private": false,
8
- "version": "1.0.0",
6
+ "version": "1.0.2",
9
7
  "author": "hanfeng_Zhang",
10
8
  "type": "module",
11
9
  "scripts": {
12
10
  "test": "yarn link",
13
11
  "disconnect": "yarn unlink"
14
12
  },
13
+ "peerDependencies": {
14
+ "@mxmweb/fviewer": "*",
15
+ "@mxmweb/rtext": "*",
16
+ "@mxmweb/xviewer": "*",
17
+ "@mxmweb/zui": "*",
18
+ "react": ">=18",
19
+ "react-dom": ">=18"
20
+ },
21
+ "peerDependenciesMeta": {
22
+ "@mxmweb/xviewer": {
23
+ "optional": true
24
+ },
25
+ "@mxmweb/fviewer": {
26
+ "optional": true
27
+ },
28
+ "@mxmweb/rtext": {
29
+ "optional": true
30
+ },
31
+ "@mxmweb/zui": {
32
+ "optional": true
33
+ }
34
+ },
15
35
  "exports": {
16
36
  "./chat": {
17
37
  "types": "./chat.d.ts",
@@ -23,72 +43,31 @@
23
43
  "import": "./database.js",
24
44
  "default": "./database.js"
25
45
  },
26
- "./databaseTable": {
27
- "types": "./databaseTable.d.ts",
28
- "import": "./databaseTable.js",
29
- "default": "./databaseTable.js"
46
+ "./databaseId": {
47
+ "types": "./databaseId.d.ts",
48
+ "import": "./databaseId.js",
49
+ "default": "./databaseId.js"
50
+ },
51
+ "./sensitive": {
52
+ "types": "./sensitive.d.ts",
53
+ "import": "./sensitive.js",
54
+ "default": "./sensitive.js"
30
55
  },
31
- "./headlessChat": {
32
- "types": "./headlessChat.d.ts",
33
- "import": "./headlessChat.js",
34
- "default": "./headlessChat.js"
56
+ "./streamFilesReader": {
57
+ "types": "./streamFilesReader.d.ts",
58
+ "import": "./streamFilesReader.js",
59
+ "default": "./streamFilesReader.js"
35
60
  },
36
- "./login": {
37
- "types": "./login.d.ts",
38
- "import": "./login.js",
39
- "default": "./login.js"
61
+ "./fviewer": {
62
+ "types": "./fviewer.d.ts",
63
+ "import": "./fviewer.js",
64
+ "default": "./fviewer.js"
40
65
  },
41
- "./search": {
42
- "types": "./search.d.ts",
43
- "import": "./search.js",
44
- "default": "./search.js"
66
+ "./ai-chat": {
67
+ "types": "./ai-chat.d.ts",
68
+ "import": "./ai-chat.js",
69
+ "default": "./ai-chat.js"
45
70
  },
46
71
  "./style.css": "./assets/style.css"
47
- },
48
- "dependencies": {
49
- "@mxmweb/aichat": "^1.5.4",
50
- "@mxmweb/fviewer": "^1.10.26",
51
- "@mxmweb/rtext": "^1.0.0",
52
- "@mxmweb/xviewer": "^1.0.41",
53
- "@mxmweb/zui": "^1.0.19",
54
- "@mxmweb/zui-components": "*",
55
- "@mxmweb/zui-elements": "*",
56
- "@mxmweb/zui-icons": "*",
57
- "@mxmweb/zui-layouts": "*",
58
- "@mxmweb/zui-theme": "*"
59
- },
60
- "peerDependencies": {
61
- "@ant-design/icons": "^5.6.1",
62
- "@mdx-js/react": "^3.0.0",
63
- "@microsoft/fetch-event-source": "^2.0.1",
64
- "ahooks": "^3.0.0",
65
- "animejs": "^3.2.2",
66
- "antd": "^5.18.0",
67
- "axios": "^1.8.4",
68
- "clipboard": "^2.0.11",
69
- "dayjs": "^1.11.9",
70
- "event-source-polyfill": "^1.0.31",
71
- "lucide-react": "^0.456.0",
72
- "marked": "^15.0.12",
73
- "pdfjs-dist": "2.16.105",
74
- "react": "^18.0.0",
75
- "react-dom": "^18.0.0",
76
- "react-flip-toolkit": "^7.2.4",
77
- "react-markdown": "^9.0.1",
78
- "react-pdf": "7.7.3",
79
- "react-speech-recognition": "^4.0.1",
80
- "react-syntax-highlighter": "^15.6.1",
81
- "react-virtuoso": "^4.13.0",
82
- "react-window": "^1.8.11",
83
- "rehype-raw": "^7.0.0",
84
- "remark-gfm": "^4.0.0",
85
- "slate": "^0.103.0",
86
- "slate-history": "0.109.0",
87
- "slate-hyperscript": "0.100.0",
88
- "slate-react": "^0.110.0",
89
- "styled-components": "^6.1.19",
90
- "typescript": "^5.0.0",
91
- "uid": "^2.0.2",
92
- "xlsx": "^0.18.5"
93
72
  }
94
73
  }
package/sensitive.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ import { default as default_2 } from 'react';
2
+
3
+ /**
4
+ * 敏感词配置业务层组件
5
+ * 使用 DynamicDashDataCore 的 table 功能实现敏感词库管理
6
+ * @param props 组件属性
7
+ */
8
+ declare const SensitiveView: default_2.FC<{
9
+ url?: string;
10
+ token?: string;
11
+ role?: string;
12
+ eventsEmit?: (eventName: string, data: any) => void;
13
+ }>;
14
+ export default SensitiveView;
15
+
16
+ export { }
17
+
18
+
19
+ declare module 'slate' {
20
+ interface CustomTypes {
21
+ Editor: BaseEditor & ReactEditor;
22
+ Element: CustomElement;
23
+ Text: CustomText;
24
+ }
25
+ }
package/sensitive.js ADDED
@@ -0,0 +1 @@
1
+ import"./assets/jsx-runtime-vC1aA8e7.js";import"react";import"@mxmweb/xviewer";import"@mxmweb/zui";
@@ -0,0 +1,61 @@
1
+ import { Annotation } from '@mxmweb/fviewer';
2
+ import { AppTheme } from '@mxmweb/fviewer';
3
+ import { default as default_2 } from 'react';
4
+ import { MDAnnotation } from '@mxmweb/fviewer';
5
+ import { Styles } from '@mxmweb/zui';
6
+ import { TableAnnotation } from '@mxmweb/fviewer';
7
+ import { ToolsConfig } from '@mxmweb/fviewer';
8
+
9
+ /**
10
+ * GientechStreamReader组件
11
+ * 基于stream接口的文件读取器,支持分页获取PDF数据并渲染
12
+ * 遵循adopter_develop规范,使用HOC模式封装core组件
13
+ *
14
+ * @param props - 组件属性
15
+ * @returns GientechStreamReader组件
16
+ */
17
+ declare const GientechStreamReader: default_2.FC<GientechStreamReaderProps>;
18
+ export default GientechStreamReader;
19
+
20
+ declare interface GientechStreamReaderProps {
21
+ convertedFilePath: string;
22
+ csrfToken?: string;
23
+ fileName?: string;
24
+ fileType: string;
25
+ initialPage?: number;
26
+ totalPages?: number;
27
+ annotations?: (Annotation | MDAnnotation | TableAnnotation)[];
28
+ userName?: string;
29
+ userId?: string;
30
+ pageSize?: number;
31
+ initialZoom?: number;
32
+ streamApiUrl?: string;
33
+ authorization?: string;
34
+ eventsEmit?: (name: string, data?: any, innerFn?: any) => void;
35
+ tools?: Partial<ToolsConfig>;
36
+ styles?: Styles;
37
+ customComponents?: {
38
+ LoadingComponent?: default_2.ComponentType<{
39
+ status: string;
40
+ theme: AppTheme;
41
+ }>;
42
+ ErrorComponent?: default_2.ComponentType<{
43
+ error: string;
44
+ theme: AppTheme;
45
+ }>;
46
+ };
47
+ className?: string;
48
+ headerClass?: string;
49
+ contentClass?: string;
50
+ }
51
+
52
+ export { }
53
+
54
+
55
+ declare module 'slate' {
56
+ interface CustomTypes {
57
+ Editor: BaseEditor & ReactEditor;
58
+ Element: CustomElement;
59
+ Text: CustomText;
60
+ }
61
+ }
@@ -0,0 +1,149 @@
1
+ import{j as t}from"./assets/jsx-runtime-vC1aA8e7.js";import C,{forwardRef as f,createElement as $}from"react";import{d as s}from"./assets/styled-components.browser.esm-BKnFpJ_S.js";import"@mxmweb/fviewer";/**
2
+ * @license lucide-react v0.456.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const F=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),k=(...e)=>e.filter((i,r,n)=>!!i&&i.trim()!==""&&n.indexOf(i)===r).join(" ").trim();/**
7
+ * @license lucide-react v0.456.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */var E={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
12
+ * @license lucide-react v0.456.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const z=f(({color:e="currentColor",size:i=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:c="",children:l,iconNode:h,...m},u)=>$("svg",{ref:u,...E,width:i,height:i,stroke:e,strokeWidth:n?Number(r)*24/Number(i):r,className:k("lucide",c),...m},[...h.map(([x,p])=>$(x,p)),...Array.isArray(l)?l:[l]]));/**
17
+ * @license lucide-react v0.456.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const a=(e,i)=>{const r=f(({className:n,...c},l)=>$(z,{ref:l,iconNode:i,className:k(`lucide-${F(e)}`,n),...c}));return r.displayName=`${e}`,r};/**
22
+ * @license lucide-react v0.456.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const B=a("ChevronLeft",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);/**
27
+ * @license lucide-react v0.456.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const L=a("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
32
+ * @license lucide-react v0.456.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */const R=a("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]);/**
37
+ * @license lucide-react v0.456.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */const M=a("Pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/**
42
+ * @license lucide-react v0.456.0 - ISC
43
+ *
44
+ * This source code is licensed under the ISC license.
45
+ * See the LICENSE file in the root directory of this source tree.
46
+ */const A=a("RotateCcw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/**
47
+ * @license lucide-react v0.456.0 - ISC
48
+ *
49
+ * This source code is licensed under the ISC license.
50
+ * See the LICENSE file in the root directory of this source tree.
51
+ */const I=a("RotateCw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);/**
52
+ * @license lucide-react v0.456.0 - ISC
53
+ *
54
+ * This source code is licensed under the ISC license.
55
+ * See the LICENSE file in the root directory of this source tree.
56
+ */const T=a("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);/**
57
+ * @license lucide-react v0.456.0 - ISC
58
+ *
59
+ * This source code is licensed under the ISC license.
60
+ * See the LICENSE file in the root directory of this source tree.
61
+ */const D=a("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);/**
62
+ * @license lucide-react v0.456.0 - ISC
63
+ *
64
+ * This source code is licensed under the ISC license.
65
+ * See the LICENSE file in the root directory of this source tree.
66
+ */const Z=a("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),q=s.div`
67
+ display: flex;
68
+ align-items: center;
69
+ padding: 0px 12px;
70
+ justify-content: space-between;
71
+ padding: ${e=>e.$theme.space.padding};
72
+ border-bottom: 1px solid ${e=>e.$theme.colors.border};
73
+ background: ${e=>e.$theme.colors.background};
74
+ min-height: 52px;
75
+ `,H=s.div`
76
+ display: flex;
77
+ align-items: center;
78
+ gap: 8px;
79
+ flex: 1;
80
+ min-width: 0;
81
+ `,N=s.div`
82
+ font-size: 14px;
83
+ font-weight: 500;
84
+ color: ${e=>e.$theme.colors.text};
85
+ white-space: nowrap;
86
+ overflow: hidden;
87
+ text-overflow: ellipsis;
88
+ `,O=s.div`
89
+ font-size: 12px;
90
+ color: ${e=>e.$theme.colors.disabledText};
91
+ white-space: nowrap;
92
+ `,X=s.div`
93
+ display: flex;
94
+ align-items: center;
95
+ gap: 4px;
96
+ `,d=s.button`
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ width: 32px;
101
+ height: 32px;
102
+ border: none;
103
+ border-radius: ${e=>e.$theme.space.radius};
104
+ background: ${e=>e.$active?e.$theme.colors.primary+"20":"transparent"};
105
+ color: ${e=>e.$active?e.$theme.colors.primary:e.$theme.colors.text};
106
+ cursor: pointer;
107
+ transition: all 0.2s ease;
108
+
109
+ &:hover {
110
+ background: ${e=>e.$theme.colors.primary+"10"};
111
+ color: ${e=>e.$theme.colors.primary};
112
+ }
113
+
114
+ &:disabled {
115
+ opacity: 0.5;
116
+ cursor: not-allowed;
117
+ }
118
+ `,_=s.div`
119
+ font-size: 12px;
120
+ color: ${e=>e.$theme.colors.disabledText};
121
+ min-width: 40px;
122
+ text-align: center;
123
+ `,K={colors:{primary:"#007bff",secondary:"#6c757d",success:"#008000",warning:"#FFA500",error:"#FF0000",info:"#0000FF",background:"#f8f9fa",text:"#343a40",border:"#dee2e6",disabled:"#808080",disabledBackground:"#F5F5F5",disabledText:"#808080"},space:{sidebar:"md",size:"md",radius:"md",padding:"md",margin:"md",shadow:"md",lineHeight:"md"}};C.memo(({fileName:e="\u672A\u77E5\u6587\u4EF6",currentPage:i=1,totalPage:r=0,tools:n={annotation:!0,download:!0,zoom:!0,close:!0,navigation:!0,rotate:!0},styles:c,onPrevPage:l,onNextPage:h,onZoomIn:m,onZoomOut:u,onAnnotationToggle:x,onDownload:p,onRotateLeft:j,onRotateRight:b,onClose:w,scale:y=1,isAnnotating:g=!1,className:v})=>{const o=(c==null?void 0:c.theme)||K;return console.log("Header\u7EC4\u4EF6\u6E32\u67D3 - currentPage:",i,"totalPage:",r),t.jsxs(q,{$theme:o,className:v,children:[t.jsx(H,{$theme:o,children:t.jsx(N,{$theme:o,children:e})}),t.jsxs(X,{$theme:o,children:[n.navigation&&t.jsxs(t.Fragment,{children:[t.jsx(d,{$theme:o,onClick:l,disabled:i<=1,title:"\u4E0A\u4E00\u9875",children:t.jsx(B,{size:16})}),r>0&&t.jsxs(O,{$theme:o,children:[i," / ",r]}),t.jsx(d,{$theme:o,onClick:h,disabled:!r||i>=r,title:"\u4E0B\u4E00\u9875",children:t.jsx(L,{size:16})})]}),n.zoom&&t.jsxs(t.Fragment,{children:[t.jsx(d,{$theme:o,onClick:u,disabled:y<=.3,title:"\u7F29\u5C0F",children:t.jsx(Z,{size:16})}),t.jsxs(_,{$theme:o,children:[Math.round(y*100),"%"]}),t.jsx(d,{$theme:o,onClick:m,disabled:y>=3,title:"\u653E\u5927",children:t.jsx(D,{size:16})})]}),n.annotation&&t.jsx(d,{$theme:o,$active:g,onClick:x,title:g?"\u9000\u51FA\u6807\u6CE8":"\u5F00\u59CB\u6807\u6CE8",children:t.jsx(M,{size:16})}),n.download&&t.jsx(d,{$theme:o,onClick:p,title:"\u4E0B\u8F7D",children:t.jsx(R,{size:16})}),n.rotate&&t.jsxs(t.Fragment,{children:[t.jsx(d,{$theme:o,onClick:j,title:"\u5411\u5DE6\u65CB\u8F6C",children:t.jsx(A,{size:16})}),t.jsx(d,{$theme:o,onClick:b,title:"\u5411\u53F3\u65CB\u8F6C",children:t.jsx(I,{size:16})})]}),n.close&&t.jsx(d,{$theme:o,onClick:w,title:"\u5173\u95ED",children:t.jsx(T,{size:16})})]})]})});s.div`
124
+ display: flex;
125
+ flex-direction: column;
126
+ height: 100%;
127
+ width: 100%;
128
+ background: ${e=>e.$theme.colors.background};
129
+ border: 1px solid ${e=>e.$theme.colors.border};
130
+ border-radius: ${e=>e.$theme.space.radius};
131
+ overflow: hidden;
132
+ min-height: 0;
133
+ position: relative; // 添加相对定位,用于loading遮罩的绝对定位
134
+
135
+ /* 添加动画样式 */
136
+ @keyframes spin {
137
+ 0% { transform: rotate(0deg); }
138
+ 100% { transform: rotate(360deg); }
139
+ }
140
+ `;s.div`
141
+ display: flex;
142
+ flex-direction: column;
143
+ align-items: center;
144
+ justify-content: center;
145
+ height: 100%;
146
+ color: ${e=>e.$theme.colors.error};
147
+ text-align: center;
148
+ padding: 20px;
149
+ `;