element-plus
Version:
A Component Library for Vue 3
137 lines (133 loc) • 2.81 kB
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