137 lines
2.7 KiB
JavaScript
137 lines
2.7 KiB
JavaScript
'use strict';
|
|
|
|
var iconsVue = require('@element-plus/icons-vue');
|
|
var runtime = require('../../../utils/vue/props/runtime.js');
|
|
var icon = require('../../../utils/vue/icon.js');
|
|
var index = require('../../../hooks/use-size/index.js');
|
|
|
|
const buttonTypes = [
|
|
"default",
|
|
"primary",
|
|
"success",
|
|
"warning",
|
|
"info",
|
|
"danger",
|
|
/**
|
|
* @deprecated
|
|
* Text type will be deprecated in the next major version (3.0.0)
|
|
*/
|
|
"text",
|
|
""
|
|
];
|
|
const buttonNativeTypes = ["button", "submit", "reset"];
|
|
const buttonProps = runtime.buildProps({
|
|
/**
|
|
* @description button size
|
|
*/
|
|
size: index.useSizeProp,
|
|
/**
|
|
* @description disable the button
|
|
*/
|
|
disabled: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
/**
|
|
* @description button type
|
|
*/
|
|
type: {
|
|
type: String,
|
|
values: buttonTypes,
|
|
default: ""
|
|
},
|
|
/**
|
|
* @description icon component
|
|
*/
|
|
icon: {
|
|
type: icon.iconPropType
|
|
},
|
|
/**
|
|
* @description native button type
|
|
*/
|
|
nativeType: {
|
|
type: String,
|
|
values: buttonNativeTypes,
|
|
default: "button"
|
|
},
|
|
/**
|
|
* @description determine whether it's loading
|
|
*/
|
|
loading: Boolean,
|
|
/**
|
|
* @description customize loading icon component
|
|
*/
|
|
loadingIcon: {
|
|
type: icon.iconPropType,
|
|
default: () => iconsVue.Loading
|
|
},
|
|
/**
|
|
* @description determine whether it's a plain button
|
|
*/
|
|
plain: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
/**
|
|
* @description determine whether it's a text button
|
|
*/
|
|
text: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
/**
|
|
* @description determine whether it's a link button
|
|
*/
|
|
link: Boolean,
|
|
/**
|
|
* @description determine whether the text button background color is always on
|
|
*/
|
|
bg: Boolean,
|
|
/**
|
|
* @description native button autofocus
|
|
*/
|
|
autofocus: Boolean,
|
|
/**
|
|
* @description determine whether it's a round button
|
|
*/
|
|
round: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
/**
|
|
* @description determine whether it's a circle button
|
|
*/
|
|
circle: Boolean,
|
|
/**
|
|
* @description custom button color, automatically calculate `hover` and `active` color
|
|
*/
|
|
color: String,
|
|
/**
|
|
* @description dark mode, which automatically converts `color` to dark mode colors
|
|
*/
|
|
dark: Boolean,
|
|
/**
|
|
* @description automatically insert a space between two chinese characters
|
|
*/
|
|
autoInsertSpace: {
|
|
type: Boolean,
|
|
default: void 0
|
|
},
|
|
/**
|
|
* @description custom element tag
|
|
*/
|
|
tag: {
|
|
type: runtime.definePropType([String, Object]),
|
|
default: "button"
|
|
}
|
|
});
|
|
const buttonEmits = {
|
|
click: (evt) => evt instanceof MouseEvent
|
|
};
|
|
|
|
exports.buttonEmits = buttonEmits;
|
|
exports.buttonNativeTypes = buttonNativeTypes;
|
|
exports.buttonProps = buttonProps;
|
|
exports.buttonTypes = buttonTypes;
|
|
//# sourceMappingURL=button.js.map
|