morghulis 2.0.63 → 2.0.64
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/intellisense.json +125 -0
- package/morghulis.d.ts +132 -0
- package/package.json +8 -4
- package/types/MButton.d.ts +114 -0
- package/types/index.d.ts +5 -0
- package/vetur/attributes.json +14 -2
- package/web-types.json +40 -6
@@ -0,0 +1,125 @@
|
|
1
|
+
{
|
2
|
+
"version": 1,
|
3
|
+
"components": [
|
4
|
+
{
|
5
|
+
"name": "MButton",
|
6
|
+
"type": "component",
|
7
|
+
"description": "一个简单的按钮组件,具有多种颜色主题、尺寸选项和弹窗功能",
|
8
|
+
"props": [
|
9
|
+
{
|
10
|
+
"name": "color",
|
11
|
+
"type": "string",
|
12
|
+
"description": "按钮颜色",
|
13
|
+
"defaultValue": "primary",
|
14
|
+
"values": [
|
15
|
+
{
|
16
|
+
"name": "primary",
|
17
|
+
"description": "主要按钮"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"name": "success",
|
21
|
+
"description": "成功按钮"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"name": "warning",
|
25
|
+
"description": "警告按钮"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"name": "danger",
|
29
|
+
"description": "危险按钮"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"name": "info",
|
33
|
+
"description": "信息按钮"
|
34
|
+
}
|
35
|
+
]
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"name": "round",
|
39
|
+
"type": "boolean",
|
40
|
+
"description": "是否为圆角按钮",
|
41
|
+
"defaultValue": false
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"name": "size",
|
45
|
+
"type": "string",
|
46
|
+
"description": "按钮尺寸",
|
47
|
+
"defaultValue": "medium",
|
48
|
+
"values": [
|
49
|
+
{
|
50
|
+
"name": "small",
|
51
|
+
"description": "小型按钮"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"name": "medium",
|
55
|
+
"description": "中型按钮"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
"name": "large",
|
59
|
+
"description": "大型按钮"
|
60
|
+
}
|
61
|
+
]
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"name": "disabled",
|
65
|
+
"type": "boolean",
|
66
|
+
"description": "是否禁用",
|
67
|
+
"defaultValue": false
|
68
|
+
},
|
69
|
+
{
|
70
|
+
"name": "popupMessage",
|
71
|
+
"type": "string",
|
72
|
+
"description": "自定义弹窗消息",
|
73
|
+
"defaultValue": "按钮被点击!"
|
74
|
+
}
|
75
|
+
],
|
76
|
+
"events": [
|
77
|
+
{
|
78
|
+
"name": "click",
|
79
|
+
"description": "按钮点击事件",
|
80
|
+
"arguments": [
|
81
|
+
{
|
82
|
+
"name": "event",
|
83
|
+
"type": "MouseEvent",
|
84
|
+
"description": "鼠标事件对象"
|
85
|
+
}
|
86
|
+
]
|
87
|
+
},
|
88
|
+
{
|
89
|
+
"name": "popup",
|
90
|
+
"description": "弹窗显示事件",
|
91
|
+
"arguments": [
|
92
|
+
{
|
93
|
+
"name": "message",
|
94
|
+
"type": "string",
|
95
|
+
"description": "弹窗消息"
|
96
|
+
}
|
97
|
+
]
|
98
|
+
}
|
99
|
+
],
|
100
|
+
"slots": [
|
101
|
+
{
|
102
|
+
"name": "default",
|
103
|
+
"description": "按钮内容"
|
104
|
+
}
|
105
|
+
],
|
106
|
+
"methods": [
|
107
|
+
{
|
108
|
+
"name": "popup",
|
109
|
+
"description": "显示弹窗",
|
110
|
+
"arguments": [
|
111
|
+
{
|
112
|
+
"name": "message",
|
113
|
+
"type": "string",
|
114
|
+
"description": "弹窗消息"
|
115
|
+
}
|
116
|
+
],
|
117
|
+
"returns": {
|
118
|
+
"type": "string",
|
119
|
+
"description": "弹窗消息"
|
120
|
+
}
|
121
|
+
}
|
122
|
+
]
|
123
|
+
}
|
124
|
+
]
|
125
|
+
}
|
package/morghulis.d.ts
ADDED
@@ -0,0 +1,132 @@
|
|
1
|
+
import { DefineComponent } from 'vue'
|
2
|
+
|
3
|
+
// 导出类型定义
|
4
|
+
declare module 'morghulis' {
|
5
|
+
export type ButtonColor = 'primary' | 'success' | 'warning' | 'danger' | 'info';
|
6
|
+
export type ButtonSize = 'small' | 'medium' | 'large';
|
7
|
+
|
8
|
+
// 按钮属性
|
9
|
+
export interface ButtonProps {
|
10
|
+
/**
|
11
|
+
* 按钮颜色
|
12
|
+
* @values 'primary', 'success', 'warning', 'danger', 'info'
|
13
|
+
*/
|
14
|
+
color?: ButtonColor;
|
15
|
+
|
16
|
+
/**
|
17
|
+
* 是否为圆角按钮
|
18
|
+
*/
|
19
|
+
round?: boolean;
|
20
|
+
|
21
|
+
/**
|
22
|
+
* 按钮尺寸
|
23
|
+
* @values 'small', 'medium', 'large'
|
24
|
+
*/
|
25
|
+
size?: ButtonSize;
|
26
|
+
|
27
|
+
/**
|
28
|
+
* 是否禁用
|
29
|
+
*/
|
30
|
+
disabled?: boolean;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* 自定义弹窗消息
|
34
|
+
*/
|
35
|
+
popupMessage?: string;
|
36
|
+
}
|
37
|
+
|
38
|
+
// 组件事件
|
39
|
+
export interface ButtonEmits {
|
40
|
+
/**
|
41
|
+
* 点击事件
|
42
|
+
* @param event - 鼠标事件对象
|
43
|
+
*/
|
44
|
+
(e: 'click', event: MouseEvent): void;
|
45
|
+
|
46
|
+
/**
|
47
|
+
* 弹窗显示事件
|
48
|
+
* @param message - 弹窗消息
|
49
|
+
*/
|
50
|
+
(e: 'popup', message: string): void;
|
51
|
+
}
|
52
|
+
|
53
|
+
// 组件暴露的方法
|
54
|
+
export interface ButtonExpose {
|
55
|
+
/**
|
56
|
+
* 显示弹窗
|
57
|
+
* @param message - 弹窗消息
|
58
|
+
* @returns 弹窗消息
|
59
|
+
*/
|
60
|
+
popup?: (message: string) => string;
|
61
|
+
}
|
62
|
+
|
63
|
+
// 组件定义
|
64
|
+
/**
|
65
|
+
* 按钮组件
|
66
|
+
*
|
67
|
+
* @description 一个简单的按钮组件,具有多种颜色主题、尺寸选项和弹窗功能
|
68
|
+
* @example
|
69
|
+
* <MButton>默认按钮</MButton>
|
70
|
+
* <MButton color="success" round>成功按钮</MButton>
|
71
|
+
* <MButton color="warning" size="large">警告按钮</MButton>
|
72
|
+
* <MButton color="danger" disabled>危险按钮</MButton>
|
73
|
+
* <MButton popup-message="自定义消息">弹窗按钮</MButton>
|
74
|
+
*/
|
75
|
+
export const MButton: DefineComponent<ButtonProps>;
|
76
|
+
}
|
77
|
+
|
78
|
+
// 增强全局类型定义,用于支持JSX
|
79
|
+
declare global {
|
80
|
+
namespace JSX {
|
81
|
+
interface IntrinsicElements {
|
82
|
+
/**
|
83
|
+
* 按钮组件
|
84
|
+
*/
|
85
|
+
MButton: {
|
86
|
+
/**
|
87
|
+
* 按钮颜色
|
88
|
+
* @values 'primary', 'success', 'warning', 'danger', 'info'
|
89
|
+
*/
|
90
|
+
color?: 'primary' | 'success' | 'warning' | 'danger' | 'info';
|
91
|
+
|
92
|
+
/**
|
93
|
+
* 是否为圆角按钮
|
94
|
+
*/
|
95
|
+
round?: boolean;
|
96
|
+
|
97
|
+
/**
|
98
|
+
* 按钮尺寸
|
99
|
+
* @values 'small', 'medium', 'large'
|
100
|
+
*/
|
101
|
+
size?: 'small' | 'medium' | 'large';
|
102
|
+
|
103
|
+
/**
|
104
|
+
* 是否禁用
|
105
|
+
*/
|
106
|
+
disabled?: boolean;
|
107
|
+
|
108
|
+
/**
|
109
|
+
* 自定义弹窗消息
|
110
|
+
*/
|
111
|
+
popupMessage?: string;
|
112
|
+
|
113
|
+
/**
|
114
|
+
* 点击事件
|
115
|
+
*/
|
116
|
+
onClick?: (event: MouseEvent) => void;
|
117
|
+
|
118
|
+
/**
|
119
|
+
* 弹窗事件
|
120
|
+
*/
|
121
|
+
onPopup?: (message: string) => void;
|
122
|
+
|
123
|
+
/**
|
124
|
+
* 子元素/插槽内容
|
125
|
+
*/
|
126
|
+
children?: any;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
}
|
130
|
+
}
|
131
|
+
|
132
|
+
export {};
|
package/package.json
CHANGED
@@ -1,22 +1,26 @@
|
|
1
1
|
{
|
2
2
|
"name": "morghulis",
|
3
|
-
"version": "2.0.
|
3
|
+
"version": "2.0.64",
|
4
4
|
"private": false,
|
5
5
|
"type": "module",
|
6
6
|
"main": "dist/morghulis.umd.js",
|
7
7
|
"module": "dist/morghulis.es.js",
|
8
|
-
"types": "
|
8
|
+
"types": "types/index.d.ts",
|
9
9
|
"style": "dist/morghulis.css",
|
10
|
-
"typings": "
|
10
|
+
"typings": "types/index.d.ts",
|
11
11
|
"web-types": "web-types.json",
|
12
12
|
"vetur": {
|
13
13
|
"tags": "vetur/tags.json",
|
14
14
|
"attributes": "vetur/attributes.json"
|
15
15
|
},
|
16
|
+
"intellisense": "intellisense.json",
|
16
17
|
"files": [
|
17
18
|
"dist",
|
18
19
|
"web-types.json",
|
19
|
-
"vetur"
|
20
|
+
"vetur",
|
21
|
+
"morghulis.d.ts",
|
22
|
+
"intellisense.json",
|
23
|
+
"types"
|
20
24
|
],
|
21
25
|
"scripts": {
|
22
26
|
"dev": "vite",
|
@@ -0,0 +1,114 @@
|
|
1
|
+
import { DefineComponent, VNode, AllowedComponentProps, ComponentCustomProps } from 'vue'
|
2
|
+
|
3
|
+
/**
|
4
|
+
* 按钮颜色类型
|
5
|
+
* @public
|
6
|
+
*/
|
7
|
+
export type ButtonColor =
|
8
|
+
/** 主要按钮 */
|
9
|
+
'primary' |
|
10
|
+
/** 成功按钮 */
|
11
|
+
'success' |
|
12
|
+
/** 警告按钮 */
|
13
|
+
'warning' |
|
14
|
+
/** 危险按钮 */
|
15
|
+
'danger' |
|
16
|
+
/** 信息按钮 */
|
17
|
+
'info';
|
18
|
+
|
19
|
+
/**
|
20
|
+
* 按钮尺寸类型
|
21
|
+
* @public
|
22
|
+
*/
|
23
|
+
export type ButtonSize =
|
24
|
+
/** 小型按钮 */
|
25
|
+
'small' |
|
26
|
+
/** 中型按钮 */
|
27
|
+
'medium' |
|
28
|
+
/** 大型按钮 */
|
29
|
+
'large';
|
30
|
+
|
31
|
+
/**
|
32
|
+
* 按钮属性
|
33
|
+
* @public
|
34
|
+
*/
|
35
|
+
export interface ButtonProps {
|
36
|
+
/**
|
37
|
+
* 按钮颜色
|
38
|
+
* @default 'primary'
|
39
|
+
*/
|
40
|
+
color?: ButtonColor;
|
41
|
+
|
42
|
+
/**
|
43
|
+
* 是否为圆角按钮
|
44
|
+
* @default false
|
45
|
+
*/
|
46
|
+
round?: boolean;
|
47
|
+
|
48
|
+
/**
|
49
|
+
* 按钮尺寸
|
50
|
+
* @default 'medium'
|
51
|
+
*/
|
52
|
+
size?: ButtonSize;
|
53
|
+
|
54
|
+
/**
|
55
|
+
* 是否禁用
|
56
|
+
* @default false
|
57
|
+
*/
|
58
|
+
disabled?: boolean;
|
59
|
+
|
60
|
+
/**
|
61
|
+
* 自定义弹窗消息
|
62
|
+
* @default '按钮被点击!'
|
63
|
+
*/
|
64
|
+
popupMessage?: string;
|
65
|
+
}
|
66
|
+
|
67
|
+
/**
|
68
|
+
* 按钮暴露的方法
|
69
|
+
* @public
|
70
|
+
*/
|
71
|
+
export interface ButtonExpose {
|
72
|
+
/**
|
73
|
+
* 显示弹窗
|
74
|
+
* @param message - 弹窗消息
|
75
|
+
* @returns 弹窗消息
|
76
|
+
*/
|
77
|
+
popup(message: string): string;
|
78
|
+
}
|
79
|
+
|
80
|
+
/**
|
81
|
+
* 按钮事件
|
82
|
+
* @public
|
83
|
+
*/
|
84
|
+
export interface ButtonEvents {
|
85
|
+
/**
|
86
|
+
* 点击事件
|
87
|
+
* @param e - 鼠标事件对象
|
88
|
+
*/
|
89
|
+
onClick?: (e: MouseEvent) => void;
|
90
|
+
|
91
|
+
/**
|
92
|
+
* 弹窗事件
|
93
|
+
* @param message - 弹窗消息
|
94
|
+
*/
|
95
|
+
onPopup?: (message: string) => void;
|
96
|
+
}
|
97
|
+
|
98
|
+
/**
|
99
|
+
* 按钮组件
|
100
|
+
*
|
101
|
+
* @description 一个简单的按钮组件,具有多种颜色主题、尺寸选项和弹窗功能
|
102
|
+
* @example
|
103
|
+
* ```vue
|
104
|
+
* <MButton>默认按钮</MButton>
|
105
|
+
* <MButton color="success" round>成功按钮</MButton>
|
106
|
+
* <MButton color="warning" size="large">警告按钮</MButton>
|
107
|
+
* <MButton color="danger" disabled>危险按钮</MButton>
|
108
|
+
* <MButton popup-message="自定义消息">弹窗按钮</MButton>
|
109
|
+
* ```
|
110
|
+
*
|
111
|
+
* @see [文档](https://github.com/morghulis/morghulis)
|
112
|
+
* @public
|
113
|
+
*/
|
114
|
+
export declare const MButton: DefineComponent<ButtonProps>;
|
package/types/index.d.ts
ADDED
package/vetur/attributes.json
CHANGED
@@ -2,7 +2,14 @@
|
|
2
2
|
"m-button/color": {
|
3
3
|
"type": "string",
|
4
4
|
"description": "按钮颜色,可选值为 'primary', 'success', 'warning', 'danger', 'info'",
|
5
|
-
"options": ["primary", "success", "warning", "danger", "info"]
|
5
|
+
"options": ["primary", "success", "warning", "danger", "info"],
|
6
|
+
"optionDescriptions": {
|
7
|
+
"primary": "主要按钮",
|
8
|
+
"success": "成功按钮",
|
9
|
+
"warning": "警告按钮",
|
10
|
+
"danger": "危险按钮",
|
11
|
+
"info": "信息按钮"
|
12
|
+
}
|
6
13
|
},
|
7
14
|
"m-button/round": {
|
8
15
|
"type": "boolean",
|
@@ -11,7 +18,12 @@
|
|
11
18
|
"m-button/size": {
|
12
19
|
"type": "string",
|
13
20
|
"description": "按钮尺寸,可选值为 'small', 'medium', 'large'",
|
14
|
-
"options": ["small", "medium", "large"]
|
21
|
+
"options": ["small", "medium", "large"],
|
22
|
+
"optionDescriptions": {
|
23
|
+
"small": "小型按钮",
|
24
|
+
"medium": "中型按钮",
|
25
|
+
"large": "大型按钮"
|
26
|
+
}
|
15
27
|
},
|
16
28
|
"m-button/disabled": {
|
17
29
|
"type": "boolean",
|
package/web-types.json
CHANGED
@@ -16,10 +16,31 @@
|
|
16
16
|
"description": "按钮颜色",
|
17
17
|
"value": {
|
18
18
|
"kind": "expression",
|
19
|
-
"type": "string"
|
20
|
-
"enum": ["primary", "success", "warning", "danger", "info"]
|
19
|
+
"type": "string"
|
21
20
|
},
|
22
|
-
"default": "primary"
|
21
|
+
"default": "primary",
|
22
|
+
"values": [
|
23
|
+
{
|
24
|
+
"name": "primary",
|
25
|
+
"description": "主要按钮"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"name": "success",
|
29
|
+
"description": "成功按钮"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"name": "warning",
|
33
|
+
"description": "警告按钮"
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"name": "danger",
|
37
|
+
"description": "危险按钮"
|
38
|
+
},
|
39
|
+
{
|
40
|
+
"name": "info",
|
41
|
+
"description": "信息按钮"
|
42
|
+
}
|
43
|
+
]
|
23
44
|
},
|
24
45
|
{
|
25
46
|
"name": "round",
|
@@ -35,10 +56,23 @@
|
|
35
56
|
"description": "按钮尺寸",
|
36
57
|
"value": {
|
37
58
|
"kind": "expression",
|
38
|
-
"type": "string"
|
39
|
-
"enum": ["small", "medium", "large"]
|
59
|
+
"type": "string"
|
40
60
|
},
|
41
|
-
"default": "medium"
|
61
|
+
"default": "medium",
|
62
|
+
"values": [
|
63
|
+
{
|
64
|
+
"name": "small",
|
65
|
+
"description": "小型按钮"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"name": "medium",
|
69
|
+
"description": "中型按钮"
|
70
|
+
},
|
71
|
+
{
|
72
|
+
"name": "large",
|
73
|
+
"description": "大型按钮"
|
74
|
+
}
|
75
|
+
]
|
42
76
|
},
|
43
77
|
{
|
44
78
|
"name": "disabled",
|