@sl-material/sl-table-sheet 1.0.0-beta9 → 1.1.0-beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +550 -0
- package/{core → dist/core}/Dialog.d.ts +0 -4
- package/{core → dist/core}/SlTableSheet.d.ts +2 -0
- package/{core → dist/core}/excel/parsers/HeaderDetector.d.ts +9 -0
- package/dist/core/styles/dialog.d.ts +5 -0
- package/dist/core/styles/toolbar.d.ts +5 -0
- package/{index.d.ts → dist/index.d.ts} +2 -0
- package/dist/package.json +42 -0
- package/{sl-table-sheet.cjs.js → dist/sl-table-sheet.cjs.js} +152 -153
- package/{sl-table-sheet.es.js → dist/sl-table-sheet.es.js} +3733 -3678
- package/{sl-table-sheet.umd.umd.js → dist/sl-table-sheet.umd.umd.js} +152 -153
- package/package.json +52 -14
- package/core/Dialog-column.d.ts +0 -117
- package/core/ExcelUtils.d.ts +0 -6
- package/core/styles/dialog.d.ts +0 -5
- package/core/styles/toolbar.d.ts +0 -5
- /package/{config → dist/config}/config.d.ts +0 -0
- /package/{core → dist/core}/SheetTabs.d.ts +0 -0
- /package/{core → dist/core}/TableSheet.d.ts +0 -0
- /package/{core → dist/core}/Toolbar.d.ts +0 -0
- /package/{core/comnon.d.ts → dist/core/common.d.ts} +0 -0
- /package/{core → dist/core}/excel/ExcelExporter.d.ts +0 -0
- /package/{core → dist/core}/excel/ExcelParser.d.ts +0 -0
- /package/{core → dist/core}/excel/index.d.ts +0 -0
- /package/{core → dist/core}/excel/parsers/CommentExtractor.d.ts +0 -0
- /package/{core → dist/core}/excel/parsers/StyleExtractor.d.ts +0 -0
- /package/{core → dist/core}/excel/types.d.ts +0 -0
- /package/{core → dist/core}/excel/utils/ColorConverter.d.ts +0 -0
- /package/{core → dist/core}/index.d.ts +0 -0
- /package/{core → dist/core}/managers/CellMarkManager.d.ts +0 -0
- /package/{core → dist/core}/managers/CustomComponentManager.d.ts +0 -0
- /package/{core → dist/core}/managers/EditorManager.d.ts +0 -0
- /package/{core → dist/core}/managers/EventManager.d.ts +0 -0
- /package/{core → dist/core}/processors/DataProcessor.d.ts +0 -0
- /package/{core → dist/core}/processors/StyleProcessor.d.ts +0 -0
- /package/{core → dist/core}/styles/index.d.ts +0 -0
- /package/{core → dist/core}/types.d.ts +0 -0
- /package/{core → dist/core}/utils/DomUtils.d.ts +0 -0
- /package/{core → dist/core}/utils/index.d.ts +0 -0
- /package/{data.d.ts → dist/data.d.ts} +0 -0
- /package/{index.umd.d.ts → dist/index.umd.d.ts} +0 -0
- /package/{locales → dist/locales}/index.d.ts +0 -0
- /package/{locales → dist/locales}/test-zh-TW.d.ts +0 -0
package/package.json
CHANGED
|
@@ -1,15 +1,58 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sl-material/sl-table-sheet",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0-beta1",
|
|
4
4
|
"description": "VTable 组件库 - 支持 npm 和 UMD",
|
|
5
|
-
"main": "./sl-table-sheet.cjs.js",
|
|
6
|
-
"module": "./sl-table-sheet.es.js",
|
|
7
|
-
"types": "./index.d.ts",
|
|
5
|
+
"main": "./dist/sl-table-sheet.cjs.js",
|
|
6
|
+
"module": "./dist/sl-table-sheet.es.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
-
"import": "./
|
|
11
|
-
"require": "./sl-table-sheet.cjs.js",
|
|
12
|
-
"types": "./index.d.ts"
|
|
10
|
+
"import": "./src/index.ts",
|
|
11
|
+
"require": "./dist/sl-table-sheet.cjs.js",
|
|
12
|
+
"types": "./dist/index.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./style.css": "./dist/sl-table-sheet.css",
|
|
15
|
+
"./dist/style.css": "./dist/sl-table-sheet.css"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"dev": "vite",
|
|
22
|
+
"build": "pnpm run build:lib && pnpm run build:umd",
|
|
23
|
+
"build:lib": "vite build --mode lib",
|
|
24
|
+
"build:umd": "vite build --mode umd",
|
|
25
|
+
"preview": "vite preview",
|
|
26
|
+
"type-check": "tsc --noEmit",
|
|
27
|
+
"publish": "npm run build && cd dist && npm publish"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"typescript": "^5.3.0",
|
|
31
|
+
"vite": "^5.0.0",
|
|
32
|
+
"vite-plugin-css-injected-by-js": "^3.5.2",
|
|
33
|
+
"vite-plugin-dts": "^3.7.0"
|
|
34
|
+
},
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@sl-ui-pc/theme-chalk": "0.1.0-beta1",
|
|
37
|
+
"xlsx": "^0.18.5"
|
|
38
|
+
},
|
|
39
|
+
"peerDependencies": {
|
|
40
|
+
"@visactor/vtable": "^1.24.0",
|
|
41
|
+
"@visactor/vtable-editors": "^1.24.0",
|
|
42
|
+
"@visactor/vtable-sheet": "^1.24.0"
|
|
43
|
+
},
|
|
44
|
+
"peerDependenciesMeta": {
|
|
45
|
+
"@visactor/vtable": {
|
|
46
|
+
"optional": false
|
|
47
|
+
},
|
|
48
|
+
"@visactor/vtable-editors": {
|
|
49
|
+
"optional": false
|
|
50
|
+
},
|
|
51
|
+
"@visactor/vtable-sheet": {
|
|
52
|
+
"optional": false
|
|
53
|
+
},
|
|
54
|
+
"@visactor/vtable-gantt": {
|
|
55
|
+
"optional": false
|
|
13
56
|
}
|
|
14
57
|
},
|
|
15
58
|
"keywords": [
|
|
@@ -18,10 +61,5 @@
|
|
|
18
61
|
"javascript"
|
|
19
62
|
],
|
|
20
63
|
"author": "",
|
|
21
|
-
"license": "MIT"
|
|
22
|
-
|
|
23
|
-
"@visactor/vtable": "^1.23.3",
|
|
24
|
-
"@visactor/vtable-editors": "^1.22.9",
|
|
25
|
-
"@visactor/vtable-sheet": "^1.22.9"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
64
|
+
"license": "MIT"
|
|
65
|
+
}
|
package/core/Dialog-column.d.ts
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 查找替换弹窗 - 纯 TypeScript/JavaScript 实现
|
|
3
|
-
* 不依赖任何框架,可在任何项目中使用
|
|
4
|
-
*/
|
|
5
|
-
export interface MatchPosition {
|
|
6
|
-
row: number;
|
|
7
|
-
col: number;
|
|
8
|
-
value: string;
|
|
9
|
-
}
|
|
10
|
-
export interface FindReplaceOptions {
|
|
11
|
-
container?: HTMLElement | string;
|
|
12
|
-
tableInstance?: any;
|
|
13
|
-
onSearch?: (matches: MatchPosition[]) => void;
|
|
14
|
-
onReplace?: (match: MatchPosition, newValue: string) => void;
|
|
15
|
-
selectedColumnsOnly?: boolean;
|
|
16
|
-
}
|
|
17
|
-
export declare class FindReplaceDialog {
|
|
18
|
-
private dialog;
|
|
19
|
-
private tableInstance;
|
|
20
|
-
private elements;
|
|
21
|
-
private state;
|
|
22
|
-
private options;
|
|
23
|
-
constructor(options?: FindReplaceOptions);
|
|
24
|
-
/**
|
|
25
|
-
* 初始化弹窗
|
|
26
|
-
*/
|
|
27
|
-
private init;
|
|
28
|
-
/**
|
|
29
|
-
* 创建弹窗 DOM
|
|
30
|
-
*/
|
|
31
|
-
private createDialog;
|
|
32
|
-
/**
|
|
33
|
-
* 绑定事件
|
|
34
|
-
*/
|
|
35
|
-
private bindEvents;
|
|
36
|
-
/**
|
|
37
|
-
* 绑定拖拽事件
|
|
38
|
-
*/
|
|
39
|
-
private bindDragEvents;
|
|
40
|
-
/**
|
|
41
|
-
* 注入样式
|
|
42
|
-
*/
|
|
43
|
-
private injectStyles;
|
|
44
|
-
/**
|
|
45
|
-
* 解析容器
|
|
46
|
-
*/
|
|
47
|
-
private resolveContainer;
|
|
48
|
-
/**
|
|
49
|
-
* 打开弹窗
|
|
50
|
-
*/
|
|
51
|
-
open(): void;
|
|
52
|
-
/**
|
|
53
|
-
* 关闭弹窗
|
|
54
|
-
*/
|
|
55
|
-
close(): void;
|
|
56
|
-
/**
|
|
57
|
-
* 重置状态
|
|
58
|
-
*/
|
|
59
|
-
private resetState;
|
|
60
|
-
/**
|
|
61
|
-
* 清除结果显示
|
|
62
|
-
*/
|
|
63
|
-
private clearResults;
|
|
64
|
-
/**
|
|
65
|
-
* 执行查找
|
|
66
|
-
*/
|
|
67
|
-
private performSearch;
|
|
68
|
-
/**
|
|
69
|
-
* 高亮匹配项
|
|
70
|
-
*/
|
|
71
|
-
private highlightMatch;
|
|
72
|
-
/**
|
|
73
|
-
* 查找下一个
|
|
74
|
-
*/
|
|
75
|
-
findNext(): void;
|
|
76
|
-
/**
|
|
77
|
-
* 查找上一个
|
|
78
|
-
*/
|
|
79
|
-
findPrevious(): void;
|
|
80
|
-
/**
|
|
81
|
-
* 替换一个
|
|
82
|
-
*/
|
|
83
|
-
replaceOne(): void;
|
|
84
|
-
/**
|
|
85
|
-
* 全部替换
|
|
86
|
-
*/
|
|
87
|
-
replaceAll(): void;
|
|
88
|
-
/**
|
|
89
|
-
* 显示消息
|
|
90
|
-
*/
|
|
91
|
-
private showMessage;
|
|
92
|
-
/**
|
|
93
|
-
* 设置表格实例(用于表格重建后更新引用)
|
|
94
|
-
*/
|
|
95
|
-
setTableInstance(tableInstance: any): void;
|
|
96
|
-
/**
|
|
97
|
-
* 设置是否只搜索选中列
|
|
98
|
-
*/
|
|
99
|
-
setSelectedColumnsOnly(selectedOnly: boolean): void;
|
|
100
|
-
/**
|
|
101
|
-
* 获取是否只搜索选中列
|
|
102
|
-
*/
|
|
103
|
-
getSelectedColumnsOnly(): boolean;
|
|
104
|
-
/**
|
|
105
|
-
* 设置查找文本
|
|
106
|
-
*/
|
|
107
|
-
setFindText(text: string): void;
|
|
108
|
-
/**
|
|
109
|
-
* 设置替换文本
|
|
110
|
-
*/
|
|
111
|
-
setReplaceText(text: string): void;
|
|
112
|
-
/**
|
|
113
|
-
* 销毁弹窗
|
|
114
|
-
*/
|
|
115
|
-
destroy(): void;
|
|
116
|
-
}
|
|
117
|
-
export default FindReplaceDialog;
|
package/core/ExcelUtils.d.ts
DELETED
package/core/styles/dialog.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Dialog 样式
|
|
3
|
-
*/
|
|
4
|
-
export declare const DIALOG_STYLES = "\n .find-replace-dialog {\n position: fixed;\n top: 80px;\n left: 50%;\n transform: translateX(-50%);\n z-index: 9999;\n font-size: 14px;\n color: #1D2129;\n pointer-events: auto;\n }\n\n .find-replace-container {\n background: white;\n border-radius: 8px;\n width: 500px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n animation: slideIn 0.2s ease-out;\n }\n\n @keyframes slideIn {\n from { opacity: 0; transform: translateX(20px); }\n to { opacity: 1; transform: translateX(0); }\n }\n\n .find-replace-title {\n font-size: 16px;\n font-weight: 500;\n color: #303133;\n }\n\n .find-replace-body {\n padding: 16px;\n }\n\n .find-replace-group {\n margin-bottom: 16px;\n display: flex;\n align-items: center;\n }\n\n .find-replace-label {\n display: block;\n min-width: 56px;\n margin-right: 8px;\n }\n\n .find-replace-checkbox {\n display: none;\n align-items: center;\n font-weight: normal;\n min-width: auto;\n margin-right: 0;\n }\n\n .find-replace-checkbox input {\n margin-right: 6px;\n }\n\n .find-replace-input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n flex: 1;\n height: 32px;\n }\n\n .find-replace-input {\n width: 100%;\n padding: 0px 12px;\n border: 1px solid #dcdfe6;\n border-radius: 4px;\n height: 32px;\n }\n\n .find-replace-input:focus {\n outline: none;\n border-color: #409eff;\n }\n\n .current-position {\n margin-left: 10px;\n color: #409eff;\n font-weight: 500;\n }\n\n .find-replace-footer {\n padding: 0px 16px 16px 16px;\n display: flex;\n justify-content: flex-end;\n gap: 8px;\n flex-wrap: wrap;\n }\n\n .find-replace-btn {\n padding: 6px 16px;\n border-radius: 4px;\n height: 32px;\n cursor: pointer;\n background: var(--sl-color-white);\n border: 1px solid var(--sl-border-color);\n }\n\n .find-replace-btn-primary {\n background-color: var(--sl-color-primary);\n color: white;\n }\n\n .find-replace-btn-primary:hover {\n border-color: var(--sl-button-hover-border-color);\n background-color: var(--sl-button-hover-bg-color);\n }\n\n .message-toast {\n height: 40px;\n position: fixed;\n top: 20px;\n left: 50%;\n transform: translateX(-50%) translateY(-100px);\n padding: 11px 15px;\n color: white;\n border-radius: 4px;\n box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);\n z-index: 9999;\n opacity: 0;\n transition: all 0.3s ease-out;\n display: flex;\n align-items: center;\n }\n\n .message-toast--info {\n background-color: var(--sl-color-info-light-9);\n border: 1px solid var(--sl-color-info-light-8);\n color: var(--sl-color-info);\n }\n\n .message-toast--success {\n background-color: var(--sl-color-success-light-9);\n border: 1px solid var(--sl-color-success-light-8);\n color: var(--sl-color-success);\n }\n\n .message-toast--warning {\n background-color: var(--sl-color-warning-light-9);\n border: 1px solid var(--sl-color-warning-light-8);\n color: var(--sl-color-warning);\n }\n\n .message-toast--error {\n background-color: var(--sl-color-error-light-9);\n border: 1px solid var(--sl-color-error-light-8);\n color: var(--sl-color-error);\n }\n\n .message-toast.show {\n transform: translateX(-50%) translateY(0);\n opacity: 1;\n }\n";
|
|
5
|
-
export declare const DIALOG_STYLE_ID = "find-replace-styles";
|
package/core/styles/toolbar.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Toolbar 样式
|
|
3
|
-
*/
|
|
4
|
-
export declare const TOOLBAR_STYLES = "\n .sl-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 16px;\n background: var(--sl-vtable-card-bg-color);\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n flex-shrink: 0;\n border-radius: 4px;\n }\n \n .sl-toolbar-right {\n display: flex;\n align-items: center;\n gap: 24px;\n }\n\n .sl-toolbar-btn {\n padding: 6px 16px;\n height: 32px;\n border: 1px solid var(--sl-vtable-bg-color1);\n border-radius: 4px;\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n cursor: pointer;\n white-space: nowrap;\n }\n\n .sl-toolbar-btn:hover {\n background: #E8E9EB;\n }\n\n .sl-toolbar-btn-icon {\n padding: 6px 10px;\n font-size: 16px;\n min-width: 32px;\n }\n\n .sl-toolbar-btn-complex {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .sl-btn-icon {\n font-size: 14px;\n }\n\n .sl-btn-text {\n font-size: 14px;\n }\n\n .sl-btn-count {\n font-size: 14px;\n font-weight: 600;\n color: var(--sl-vtable-primary-color);\n }\n\n .sl-btn-suffix {\n font-size: 14px;\n }\n\n .sl-freeze-selector {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .sl-freeze-label {\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n white-space: nowrap;\n }\n\n .sl-freeze-input-wrapper {\n position: relative;\n display: inline-flex;\n align-items: center;\n background: var(--sl-vtable-bg-color1);\n border: 1px solid var(--sl-vtable-bg-color1);\n border-radius: 4px;\n transition: all 0.2s;\n height: 32px;\n box-sizing: border-box;\n }\n\n .sl-freeze-input-wrapper:focus-within {\n border-color: var(--sl-vtable-primary-color);\n box-shadow: 0 0 0 2px rgba(40, 120, 255, 0.1);\n }\n\n .sl-freeze-input {\n width: 30px;\n height: 30px;\n padding: 0px 2px;\n border-radius: 4px 0px 0px 4px;\n background: #fff;\n border: none;\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n text-align: center;\n outline: none;\n -moz-appearance: textfield;\n }\n\n .sl-freeze-input::-webkit-outer-spin-button,\n .sl-freeze-input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n\n .sl-freeze-arrows {\n display: flex;\n flex-direction: column;\n border-left: 1px solid #E5E6EB;\n }\n\n .sl-freeze-arrow {\n width: 20px;\n height: 10px;\n padding: 0;\n background: transparent;\n border: none;\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n\n .sl-freeze-arrow-up {\n border-radius: 0 8px 0 0;\n }\n\n .sl-freeze-arrow-down {\n border-radius: 0 0 8px 0;\n transform: rotate(180deg);\n }\n\n .sl-freeze-suffix {\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n }\n\n .sl-error-list-checkbox {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n user-select: none;\n }\n\n .sl-checkbox-input {\n position: absolute;\n opacity: 0;\n width: 0;\n height: 0;\n }\n\n .sl-checkbox-custom {\n position: relative;\n width: 16px;\n height: 16px;\n border: 2px solid #C9CDD4;\n border-radius: 4px;\n background: #fff;\n transition: all 0.2s;\n flex-shrink: 0;\n }\n\n .sl-checkbox-input:checked + .sl-checkbox-custom {\n background: var(--sl-vtable-primary-color);\n border-color: var(--sl-vtable-primary-color);\n }\n\n .sl-checkbox-input:checked + .sl-checkbox-custom::after {\n content: \"\";\n position: absolute;\n left: 4px;\n top: 1px;\n width: 4px;\n height: 8px;\n border: solid white;\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n }\n\n .sl-error-list-checkbox:hover .sl-checkbox-custom {\n border-color: var(--sl-vtable-primary-color);\n }\n\n .sl-checkbox-label {\n font-size: 14px;\n color: var(--sl-vtable-content-color);\n }\n\n /* \u54CD\u5E94\u5F0F\u8BBE\u8BA1 */\n @media (max-width: 768px) {\n .sl-toolbar {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n }\n\n .sl-toolbar-left {\n flex-direction: column;\n align-items: flex-start;\n gap: 8px;\n }\n\n .sl-toolbar-right {\n width: 100%;\n justify-content: flex-start;\n flex-wrap: wrap;\n }\n }\n";
|
|
5
|
-
export declare const TOOLBAR_STYLE_ID = "sl-toolbar-styles";
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|