@keyblade/pro-components 1.11.7 → 1.12.0-alpha.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/es/_virtual/_plugin-vue_export-helper.js +9 -0
- package/es/components.d.ts +1 -0
- package/es/index.d.ts +1 -0
- package/es/index.js +20 -17
- package/es/pro-image-upload/constant.d.ts +3 -0
- package/es/pro-image-upload/constant.js +15 -0
- package/es/pro-image-upload/cropper.vue.d.ts +41 -0
- package/es/pro-image-upload/cropper.vue.js +7 -0
- package/es/pro-image-upload/cropper.vue2.js +211 -0
- package/es/pro-image-upload/cropper.vue3.js +1 -0
- package/es/pro-image-upload/image-upload.vue.d.ts +539 -0
- package/es/pro-image-upload/image-upload.vue.js +272 -0
- package/es/pro-image-upload/image-upload.vue2.js +4 -0
- package/es/pro-image-upload/index.d.ts +1432 -0
- package/es/pro-image-upload/index.js +11 -0
- package/es/pro-image-upload/types.d.ts +76 -0
- package/es/pro-image-upload/types.js +4 -0
- package/es/pro-layout/index.d.ts +3 -3
- package/es/pro-layout/pro-layout.vue.d.ts +1 -1
- package/es/pro-page-header/index.d.ts +3 -3
- package/es/pro-page-header/pro-page-header.vue.d.ts +1 -1
- package/es/style.css +1 -1
- package/package.json +8 -3
- package/src/index.ts +0 -36
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import e from "./image-upload.vue.js";
|
|
2
|
+
import { Modal as s, Upload as t, Button as l, Tooltip as m, Icon as n } from "@arco-design/web-vue";
|
|
3
|
+
const r = Object.assign(e, {
|
|
4
|
+
install: (o) => {
|
|
5
|
+
o == null || o.use(s), o == null || o.use(t), o == null || o.use(l), o == null || o.use(m), o == null || o.use(n), o == null || o.component("KbProImageUpload", e);
|
|
6
|
+
}
|
|
7
|
+
}), d = r;
|
|
8
|
+
export {
|
|
9
|
+
r as ProImageUpload,
|
|
10
|
+
d as default
|
|
11
|
+
};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { FileItem } from '@arco-design/web-vue';
|
|
2
|
+
import { ImageUploadCheckOptions, ImageUploadCompressorOptions, ImageUploadCropOptions } from '@keyblade/one-travel';
|
|
3
|
+
|
|
4
|
+
export declare enum EImageUploadInnerBeforeUploadStep {
|
|
5
|
+
check = 1,
|
|
6
|
+
crop = 2,
|
|
7
|
+
compress = 3,
|
|
8
|
+
all = 4
|
|
9
|
+
}
|
|
10
|
+
export interface ImageUploadOptions {
|
|
11
|
+
/** 上传地址 */
|
|
12
|
+
action: string;
|
|
13
|
+
/** 处理响应 */
|
|
14
|
+
handlerResponse?: (response: any) => Promise<{
|
|
15
|
+
/** 是否成功 */
|
|
16
|
+
success: boolean;
|
|
17
|
+
/** 图片地址 */
|
|
18
|
+
url?: string;
|
|
19
|
+
/** 错误消息(如果不传,请自行提示错误消息) */
|
|
20
|
+
errorMessage?: string;
|
|
21
|
+
/** 其他字段 */
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
}>;
|
|
24
|
+
/** 设置上传的请求头部 */
|
|
25
|
+
headers?: Record<string, any>;
|
|
26
|
+
/** 上传时附带的额外参数 */
|
|
27
|
+
data?: Record<string, any>;
|
|
28
|
+
/** 上传的文件字段名 - 默认: file */
|
|
29
|
+
name?: string;
|
|
30
|
+
/** 提示文字 */
|
|
31
|
+
tip?: string;
|
|
32
|
+
/** 接受上传的文件类型 - 默认: ['jpg', 'jpeg', 'png', 'bmp', 'heif', 'heic', 'gif', 'webp'] */
|
|
33
|
+
accept?: string[];
|
|
34
|
+
/** 是否支持多选文件 - 默认: true */
|
|
35
|
+
multiple?: boolean;
|
|
36
|
+
/** 单次最大限制 - 默认: 10 */
|
|
37
|
+
singleLimit?: number;
|
|
38
|
+
/** 最大允许上传个数 */
|
|
39
|
+
limit?: number;
|
|
40
|
+
/** 是否禁用 - 默认: false */
|
|
41
|
+
disabled?: boolean;
|
|
42
|
+
/** 隐藏内置上传文件之前的loading效果 - 默认: false */
|
|
43
|
+
hideInnerBeforeUploadLoading?: boolean;
|
|
44
|
+
/** 校验选项 */
|
|
45
|
+
checkOptions?: ImageUploadCheckOptions;
|
|
46
|
+
/** 压缩选项 */
|
|
47
|
+
compressorOptions?: ImageUploadCompressorOptions;
|
|
48
|
+
/** 剪裁选项 */
|
|
49
|
+
cropOptions?: ImageUploadCropOptions;
|
|
50
|
+
/** 剪裁弹窗索引 */
|
|
51
|
+
cropModalIndex?: number;
|
|
52
|
+
/** 文件列表移除文件时的钩子 */
|
|
53
|
+
/** 文件上传成功时的钩子 */
|
|
54
|
+
onSuccess?: (fileItem: FileItem) => void;
|
|
55
|
+
/** 文件上传失败时的钩子 */
|
|
56
|
+
onError?: (fileItem: FileItem) => void;
|
|
57
|
+
/** 文件超出个数限制时的钩子 */
|
|
58
|
+
onExceed?: (fileList: FileItem[], files: File[]) => void;
|
|
59
|
+
/** 上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。*/
|
|
60
|
+
onBeforeUpload?: (file: File) => boolean | Promise<any>;
|
|
61
|
+
/** 内置上传文件之前开始 */
|
|
62
|
+
onInnerBeforeUploadStart?: (file: File, index: number, type: EImageUploadInnerBeforeUploadStep) => void;
|
|
63
|
+
/** 内置上传文件之前结束 */
|
|
64
|
+
onInnerBeforeUploadEnd?: (file: File, index: number, type: EImageUploadInnerBeforeUploadStep, result: {
|
|
65
|
+
success: boolean;
|
|
66
|
+
error?: {
|
|
67
|
+
size?: boolean;
|
|
68
|
+
format?: boolean;
|
|
69
|
+
transform?: boolean;
|
|
70
|
+
pixel?: boolean;
|
|
71
|
+
compress?: boolean;
|
|
72
|
+
crop?: boolean;
|
|
73
|
+
};
|
|
74
|
+
errorMessage?: string;
|
|
75
|
+
}) => void;
|
|
76
|
+
}
|
package/es/pro-layout/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ declare const ProLayout: {
|
|
|
5
5
|
$: import('vue').ComponentInternalInstance;
|
|
6
6
|
$data: {};
|
|
7
7
|
$props: {
|
|
8
|
-
menuProps?: Partial<import('@arco-design/web-vue/es/menu/interface').MenuProps> | undefined;
|
|
9
8
|
title?: string | undefined;
|
|
9
|
+
menuProps?: Partial<import('@arco-design/web-vue/es/menu/interface').MenuProps> | undefined;
|
|
10
10
|
tabsSize?: "small" | "mini" | "medium" | "large" | undefined;
|
|
11
11
|
tabsType?: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule" | undefined;
|
|
12
12
|
tabsHeaderPadding?: boolean | undefined;
|
|
@@ -175,8 +175,8 @@ declare const ProLayout: {
|
|
|
175
175
|
collapse: (collapsed: boolean) => void;
|
|
176
176
|
keepAliveIncludeChange: (keepAliveInclude: string[]) => void;
|
|
177
177
|
}, string, {
|
|
178
|
-
menuProps: Partial<import('@arco-design/web-vue/es/menu/interface').MenuProps>;
|
|
179
178
|
title: string;
|
|
179
|
+
menuProps: Partial<import('@arco-design/web-vue/es/menu/interface').MenuProps>;
|
|
180
180
|
tabsSize: "small" | "mini" | "medium" | "large";
|
|
181
181
|
tabsType: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule";
|
|
182
182
|
tabsHeaderPadding: boolean;
|
|
@@ -398,8 +398,8 @@ declare const ProLayout: {
|
|
|
398
398
|
collapse: (collapsed: boolean) => void;
|
|
399
399
|
keepAliveIncludeChange: (keepAliveInclude: string[]) => void;
|
|
400
400
|
}, string, {
|
|
401
|
-
menuProps: Partial<import('@arco-design/web-vue/es/menu/interface').MenuProps>;
|
|
402
401
|
title: string;
|
|
402
|
+
menuProps: Partial<import('@arco-design/web-vue/es/menu/interface').MenuProps>;
|
|
403
403
|
tabsSize: "small" | "mini" | "medium" | "large";
|
|
404
404
|
tabsType: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule";
|
|
405
405
|
tabsHeaderPadding: boolean;
|
|
@@ -223,8 +223,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
223
223
|
onCollapse?: ((collapsed: boolean) => any) | undefined;
|
|
224
224
|
onKeepAliveIncludeChange?: ((keepAliveInclude: string[]) => any) | undefined;
|
|
225
225
|
}, {
|
|
226
|
-
menuProps: Partial<MenuProps>;
|
|
227
226
|
title: string;
|
|
227
|
+
menuProps: Partial<MenuProps>;
|
|
228
228
|
tabsSize: "small" | "mini" | "medium" | "large";
|
|
229
229
|
tabsType: "line" | "text" | "card" | "card-gutter" | "rounded" | "capsule";
|
|
230
230
|
tabsHeaderPadding: boolean;
|
|
@@ -6,13 +6,13 @@ declare const ProPageHeader: {
|
|
|
6
6
|
$data: {};
|
|
7
7
|
$props: {
|
|
8
8
|
title?: string | undefined;
|
|
9
|
+
hideTitle?: boolean | undefined;
|
|
9
10
|
breadcrumbItems?: {
|
|
10
11
|
path?: string | undefined;
|
|
11
12
|
label: string;
|
|
12
13
|
}[] | undefined;
|
|
13
14
|
subTitle?: string | undefined;
|
|
14
15
|
titlePosition?: "top" | "bottom" | undefined;
|
|
15
|
-
hideTitle?: boolean | undefined;
|
|
16
16
|
breadcrumbRouterMode?: boolean | undefined;
|
|
17
17
|
breadcrumbPrefixIcon?: string | boolean | undefined;
|
|
18
18
|
key?: string | number | symbol | undefined;
|
|
@@ -114,13 +114,13 @@ declare const ProPageHeader: {
|
|
|
114
114
|
};
|
|
115
115
|
}>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
116
116
|
title: string;
|
|
117
|
+
hideTitle: boolean;
|
|
117
118
|
breadcrumbItems: {
|
|
118
119
|
path?: string | undefined;
|
|
119
120
|
label: string;
|
|
120
121
|
}[];
|
|
121
122
|
subTitle: string;
|
|
122
123
|
titlePosition: "top" | "bottom";
|
|
123
|
-
hideTitle: boolean;
|
|
124
124
|
breadcrumbRouterMode: boolean;
|
|
125
125
|
breadcrumbPrefixIcon: string | boolean;
|
|
126
126
|
}, {}, string, {}> & {
|
|
@@ -227,13 +227,13 @@ declare const ProPageHeader: {
|
|
|
227
227
|
};
|
|
228
228
|
}>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
229
229
|
title: string;
|
|
230
|
+
hideTitle: boolean;
|
|
230
231
|
breadcrumbItems: {
|
|
231
232
|
path?: string | undefined;
|
|
232
233
|
label: string;
|
|
233
234
|
}[];
|
|
234
235
|
subTitle: string;
|
|
235
236
|
titlePosition: "top" | "bottom";
|
|
236
|
-
hideTitle: boolean;
|
|
237
237
|
breadcrumbRouterMode: boolean;
|
|
238
238
|
breadcrumbPrefixIcon: string | boolean;
|
|
239
239
|
}, {}, string, {}> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
|
|
@@ -94,13 +94,13 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
94
94
|
};
|
|
95
95
|
}>>, {
|
|
96
96
|
title: string;
|
|
97
|
+
hideTitle: boolean;
|
|
97
98
|
breadcrumbItems: {
|
|
98
99
|
path?: string | undefined;
|
|
99
100
|
label: string;
|
|
100
101
|
}[];
|
|
101
102
|
subTitle: string;
|
|
102
103
|
titlePosition: "top" | "bottom";
|
|
103
|
-
hideTitle: boolean;
|
|
104
104
|
breadcrumbRouterMode: boolean;
|
|
105
105
|
breadcrumbPrefixIcon: string | boolean;
|
|
106
106
|
}, {}>;
|
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.keyblade-pro-
|
|
1
|
+
.keyblade-pro-page-container .keyblade-pro-page-container-content{padding:20px}.keyblade-pro-page-header{background:var(--color-bg-2);padding:16px 32px}.keyblade-pro-page-header .keyblade-pro-page-header-section-breadcrumb .arco-breadcrumb-item:first-child{padding-left:0}.keyblade-pro-page-header .keyblade-pro-page-header-title.arco-typography{padding-top:4px;margin-top:0}.keyblade-pro-menu .keyblade-pro-menu-item-img{width:14px;height:auto}.keyblade-pro-layout{width:100%;height:100%}.keyblade-pro-layout .keyblade-pro-layout-header{position:fixed;top:0;left:0;width:100%;height:var(--2156faf3);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background-color:var(--color-bg-2);border-bottom:1px solid var(--color-border);transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-header-left{cursor:pointer;display:flex;align-items:center}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-img{width:28px;height:28px}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout .keyblade-pro-layout-header-center{flex:1}.keyblade-pro-layout .keyblade-pro-layout-sider{padding-top:var(--2156faf3);position:fixed;top:0;left:0;z-index:99;height:100%;transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-sider-content{position:relative;height:100%;overflow:auto}.keyblade-pro-layout .keyblade-pro-layout-sider-collapse-btn.arco-btn{position:absolute;right:12px;bottom:12px}.keyblade-pro-layout .keyblade-pro-layout-body{padding-top:var(--2156faf3);padding-left:var(--2e3e7e4c);min-height:100vh;overflow-y:hidden;background-color:var(--color-fill-2);transition:padding .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-body-affix .arco-affix{z-index:98}.keyblade-pro-layout .keyblade-pro-layout-body-footer{display:flex;align-items:center;justify-content:center;height:40px;color:var(--color-text-2);text-align:center}.keyblade-pro-layout .keyblade-pro-layout-body-collapsed{padding-left:var(--a70b89aa)}.keyblade-pro-layout-side .keyblade-pro-layout-header{z-index:98;left:var(--2e3e7e4c);width:calc(100% - var(--2e3e7e4c))}.keyblade-pro-layout-side .keyblade-pro-layout-header-collapsed{left:var(--a70b89aa);width:calc(100% - var(--a70b89aa))}.keyblade-pro-layout-side .keyblade-pro-layout-sider{padding-top:0}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo{position:relative;display:flex;align-items:center;padding:16px;cursor:pointer;transition:padding .3s cubic-bezier(.645,.045,.355,1)}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-img{width:28px;height:28px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-collapsed .keyblade-pro-layout-sider-content-logo{padding:16px 10px}.keyblade-pro-reuse-tabs{position:relative;background-color:var(--color-bg-2);padding:4px 20px}.keyblade-pro-image-upload-cropper-dialog-cropper-wrapper[data-v-ae8ab9e0]{width:100%;height:400px}.keyblade-pro-image-upload-cropper-dialog-operate[data-v-ae8ab9e0]{margin-top:24px;display:flex;align-items:center;justify-content:center}.keyblade-pro-image-upload-cropper-dialog-footer[data-v-ae8ab9e0]{margin-top:24px;display:flex;align-items:center;justify-content:flex-end}.keyblade-pro-image-upload-cropper-dialog-footer-left[data-v-ae8ab9e0]{display:flex;align-items:center;justify-content:flex-start;margin-right:12px}.keyblade-pro-image-upload-cropper-dialog-footer-right[data-v-ae8ab9e0]{flex:1;display:flex;align-items:center;justify-content:flex-end}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@keyblade/pro-components",
|
|
3
3
|
"description": "KeyBlade Pro Components",
|
|
4
4
|
"author": "yangshuai <704807396@qq.com>",
|
|
5
|
-
"version": "1.
|
|
5
|
+
"version": "1.12.0-alpha.2",
|
|
6
6
|
"private": false,
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "es/index.js",
|
|
@@ -22,14 +22,19 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@arco-design/web-vue": "^2.53.3",
|
|
24
24
|
"vue-router": "^4.2.4",
|
|
25
|
-
"@vueuse/core": "^10.7.0"
|
|
25
|
+
"@vueuse/core": "^10.7.0",
|
|
26
|
+
"vue-cropper": "^1.1.4",
|
|
27
|
+
"vue-global-config": "^0.6.3",
|
|
28
|
+
"@keyblade/one-travel": "^3.0.0",
|
|
29
|
+
"heic-to": "^1.1.5"
|
|
26
30
|
},
|
|
27
31
|
"peerDependencies": {
|
|
28
32
|
"vue": "^3.3.4"
|
|
29
33
|
},
|
|
30
34
|
"scripts": {
|
|
31
35
|
"build": "vite build",
|
|
32
|
-
"publish:npm": "pnpm publish"
|
|
36
|
+
"publish:npm": "pnpm publish",
|
|
37
|
+
"sync:sync": "cnpm sync @keyblade/pro-components"
|
|
33
38
|
},
|
|
34
39
|
"typings": "es/index.d.ts"
|
|
35
40
|
}
|
package/src/index.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { App } from 'vue'
|
|
2
|
-
import { ProPageHeader } from './pro-page-header'
|
|
3
|
-
import { ProKeepAliveRouterView } from './pro-keep-alive-router-view'
|
|
4
|
-
import { ProLayout } from './pro-layout'
|
|
5
|
-
import { ProMenu } from './pro-menu'
|
|
6
|
-
import { ProPageContainer } from './pro-page-container'
|
|
7
|
-
import { ProReuseTabs } from './pro-reuse-tabs'
|
|
8
|
-
|
|
9
|
-
export default {
|
|
10
|
-
install(app: App): void {
|
|
11
|
-
app.use(ProPageHeader)
|
|
12
|
-
app.use(ProKeepAliveRouterView)
|
|
13
|
-
app.use(ProLayout)
|
|
14
|
-
app.use(ProMenu)
|
|
15
|
-
app.use(ProPageContainer)
|
|
16
|
-
app.use(ProReuseTabs)
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// 按组件导出
|
|
21
|
-
export { default as ProPageHeader } from './pro-page-header'
|
|
22
|
-
|
|
23
|
-
export { default as ProKeepAliveRouterView } from './pro-keep-alive-router-view'
|
|
24
|
-
|
|
25
|
-
export { default as ProLayout } from './pro-layout'
|
|
26
|
-
|
|
27
|
-
export { default as ProMenu } from './pro-menu'
|
|
28
|
-
export type { IProMenuItem } from './pro-menu'
|
|
29
|
-
|
|
30
|
-
export { default as ProPageContainer } from './pro-page-container'
|
|
31
|
-
|
|
32
|
-
export { default as ProReuseTabs } from './pro-reuse-tabs'
|
|
33
|
-
export type { IProTab } from './pro-reuse-tabs'
|
|
34
|
-
|
|
35
|
-
// components.d.ts
|
|
36
|
-
export type {} from './components'
|