| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- exports.__esModule = true;
- exports["default"] = void 0;
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
- var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
- var _utils = require("../utils");
- var _functional = require("../utils/functional");
- var _router = require("../utils/router");
- var _loading = _interopRequireDefault(require("../loading"));
- var _use = (0, _utils.use)('button'),
- sfc = _use[0],
- bem = _use[1];
- function Button(h, props, slots, ctx) {
- var tag = props.tag,
- type = props.type,
- disabled = props.disabled,
- loading = props.loading,
- hairline = props.hairline,
- loadingText = props.loadingText;
- var onClick = function onClick(event) {
- if (!loading && !disabled) {
- (0, _functional.emit)(ctx, 'click', event);
- (0, _router.functionalRoute)(ctx);
- }
- };
- var onTouchstart = function onTouchstart(event) {
- (0, _functional.emit)(ctx, 'touchstart', event);
- };
- var classes = [bem([type, props.size, {
- loading: loading,
- disabled: disabled,
- hairline: hairline,
- block: props.block,
- plain: props.plain,
- round: props.round,
- square: props.square,
- 'bottom-action': props.bottomAction
- }]), {
- 'van-hairline--surround': hairline
- }];
- return h(tag, (0, _babelHelperVueJsxMergeProps["default"])([{
- "class": classes,
- "attrs": {
- "type": props.nativeType,
- "disabled": disabled
- },
- "on": {
- "click": onClick,
- "touchstart": onTouchstart
- }
- }, (0, _functional.inherit)(ctx)]), [loading ? [h(_loading["default"], {
- "attrs": {
- "size": props.loadingSize,
- "color": type === 'default' ? undefined : ''
- }
- }), loadingText && h("span", {
- "class": bem('loading-text')
- }, [loadingText])] : h("span", {
- "class": bem('text')
- }, [slots["default"] ? slots["default"]() : props.text])]);
- }
- Button.props = (0, _extends2["default"])({}, _router.routeProps, {
- text: String,
- block: Boolean,
- plain: Boolean,
- round: Boolean,
- square: Boolean,
- loading: Boolean,
- hairline: Boolean,
- disabled: Boolean,
- nativeType: String,
- loadingText: String,
- bottomAction: Boolean,
- tag: {
- type: String,
- "default": 'button'
- },
- type: {
- type: String,
- "default": 'default'
- },
- size: {
- type: String,
- "default": 'normal'
- },
- loadingSize: {
- type: String,
- "default": '20px'
- }
- });
- var _default = sfc(Button);
- exports["default"] = _default;
|