u-button.js.map
28.8 KB
{"version":3,"sources":["webpack:////Users/linon/work/workai/job-sharing/uview-ui/components/u-button/u-button.vue?9f49","webpack:////Users/linon/work/workai/job-sharing/uview-ui/components/u-button/u-button.vue?0d0a","webpack:////Users/linon/work/workai/job-sharing/uview-ui/components/u-button/u-button.vue?18c2","webpack:////Users/linon/work/workai/job-sharing/uview-ui/components/u-button/u-button.vue?7162","uni-app:///uview-ui/components/u-button/u-button.vue","webpack:////Users/linon/work/workai/job-sharing/uview-ui/components/u-button/u-button.vue?6154","webpack:////Users/linon/work/workai/job-sharing/uview-ui/components/u-button/u-button.vue?d9e9"],"names":[],"mappings":"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","file":"uview-ui/components/u-button/u-button.js","sourcesContent":["import { render, staticRenderFns, recyclableRender, components } from \"./u-button.vue?vue&type=template&id=6e15e680&scoped=true&\"\nvar renderjs\nimport script from \"./u-button.vue?vue&type=script&lang=js&\"\nexport * from \"./u-button.vue?vue&type=script&lang=js&\"\nimport style0 from \"./u-button.vue?vue&type=style&index=0&id=6e15e680&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6e15e680\",\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"uview-ui/components/u-button/u-button.vue\"\nexport default component.exports","export * from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-button.vue?vue&type=template&id=6e15e680&scoped=true&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n var s0 = _vm.__get_style([\n _vm.customStyle,\n {\n overflow: _vm.ripple ? \"hidden\" : \"visible\"\n }\n ])\n\n var m0 = Number(_vm.hoverStartTime)\n var m1 = Number(_vm.hoverStayTime)\n _vm.$mp.data = Object.assign(\n {},\n {\n $root: {\n s0: s0,\n m0: m0,\n m1: m1\n }\n }\n )\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-button.vue?vue&type=script&lang=js&\"","<template>\n\t<button\n\t\tid=\"u-wave-btn\"\n\t\tclass=\"u-btn u-line-1 u-fix-ios-appearance\"\n\t\t:class=\"[\n\t\t\t'u-size-' + size,\n\t\t\tplain ? 'u-btn--' + type + '--plain' : '',\n\t\t\tloading ? 'u-loading' : '',\n\t\t\tshape == 'circle' ? 'u-round-circle' : '',\n\t\t\thairLine ? showHairLineBorder : 'u-btn--bold-border',\n\t\t\t'u-btn--' + type,\n\t\t\tdisabled ? `u-btn--${type}--disabled` : '',\n\t\t]\"\n\t\t:hover-start-time=\"Number(hoverStartTime)\"\n\t\t:hover-stay-time=\"Number(hoverStayTime)\"\n\t\t:disabled=\"disabled\"\n\t\t:form-type=\"formType\"\n\t\t:open-type=\"openType\"\n\t\t:app-parameter=\"appParameter\"\n\t\t:hover-stop-propagation=\"hoverStopPropagation\"\n\t\t:send-message-title=\"sendMessageTitle\"\n\t\tsend-message-path=\"sendMessagePath\"\n\t\t:lang=\"lang\"\n\t\t:data-name=\"dataName\"\n\t\t:session-from=\"sessionFrom\"\n\t\t:send-message-img=\"sendMessageImg\"\n\t\t:show-message-card=\"showMessageCard\"\n\t\t@getphonenumber=\"getphonenumber\"\n\t\t@getuserinfo=\"getuserinfo\"\n\t\t@error=\"error\"\n\t\t@opensetting=\"opensetting\"\n\t\t@launchapp=\"launchapp\"\n\t\t:style=\"[customStyle, {\n\t\t\toverflow: ripple ? 'hidden' : 'visible'\n\t\t}]\"\n\t\t@tap.stop=\"click($event)\"\n\t\t:hover-class=\"getHoverClass\"\n\t\t:loading=\"loading\"\n\t>\n\t\t<slot></slot>\n\t\t<view\n\t\t\tv-if=\"ripple\"\n\t\t\tclass=\"u-wave-ripple\"\n\t\t\t:class=\"[waveActive ? 'u-wave-active' : '']\"\n\t\t\t:style=\"{\n\t\t\t\ttop: rippleTop + 'px',\n\t\t\t\tleft: rippleLeft + 'px',\n\t\t\t\twidth: fields.targetWidth + 'px',\n\t\t\t\theight: fields.targetWidth + 'px',\n\t\t\t\t'background-color': rippleBgColor || 'rgba(0, 0, 0, 0.15)'\n\t\t\t}\"\n\t\t></view>\n\t</button>\n</template>\n\n<script>\n/**\n * button 按钮\n * @description Button 按钮\n * @tutorial https://www.uviewui.com/components/button.html\n * @property {String} size 按钮的大小\n * @property {Boolean} ripple 是否开启点击水波纹效果\n * @property {String} ripple-bg-color 水波纹的背景色,ripple为true时有效\n * @property {String} type 按钮的样式类型\n * @property {Boolean} plain 按钮是否镂空,背景色透明\n * @property {Boolean} disabled 是否禁用\n * @property {Boolean} hair-line 是否显示按钮的细边框(默认true)\n * @property {Boolean} shape 按钮外观形状,见文档说明\n * @property {Boolean} loading 按钮名称前是否带 loading 图标(App-nvue 平台,在 ios 上为雪花,Android上为圆圈)\n * @property {String} form-type 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件\n * @property {String} open-type 开放能力\n * @property {String} data-name 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取\n * @property {String} hover-class 指定按钮按下去的样式类。当 hover-class=\"none\" 时,没有点击态效果(App-nvue 平台暂不支持)\n * @property {Number} hover-start-time 按住后多久出现点击态,单位毫秒\n * @property {Number} hover-stay-time 手指松开后点击态保留时间,单位毫秒\n * @property {Object} custom-style 对按钮的自定义样式,对象形式,见文档说明\n * @event {Function} click 按钮点击\n * @event {Function} getphonenumber open-type=\"getPhoneNumber\"时有效\n * @event {Function} getuserinfo 用户点击该按钮时,会返回获取到的用户信息,从返回参数的detail中获取到的值同uni.getUserInfo\n * @event {Function} error 当使用开放能力时,发生错误的回调\n * @event {Function} opensetting 在打开授权设置页并关闭后回调\n * @event {Function} launchapp 打开 APP 成功的回调\n * @example <u-button>月落</u-button>\n */\nexport default {\n\tname: 'u-button',\n\tprops: {\n\t\t// 是否细边框\n\t\thairLine: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true\n\t\t},\n\t\t// 按钮的预置样式,default,primary,error,warning,success\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'default'\n\t\t},\n\t\t// 按钮尺寸,default,medium,mini\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\tdefault: 'default'\n\t\t},\n\t\t// 按钮形状,circle(两边为半圆),square(带圆角)\n\t\tshape: {\n\t\t\ttype: String,\n\t\t\tdefault: 'square'\n\t\t},\n\t\t// 按钮是否镂空\n\t\tplain: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t// 是否禁止状态\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t// 是否加载中\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t// 开放能力,具体请看uniapp稳定关于button组件部分说明\n\t\t// https://uniapp.dcloud.io/component/button\n\t\topenType: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 用于 <form> 组件,点击分别会触发 <form> 组件的 submit/reset 事件\n\t\t// 取值为submit(提交表单),reset(重置表单)\n\t\tformType: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 打开 APP 时,向 APP 传递的参数,open-type=launchApp时有效\n\t\t// 只微信小程序、QQ小程序有效\n\t\tappParameter: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 指定是否阻止本节点的祖先节点出现点击态,微信小程序有效\n\t\thoverStopPropagation: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t// 指定返回用户信息的语言,zh_CN 简体中文,zh_TW 繁体中文,en 英文。只微信小程序有效\n\t\tlang: {\n\t\t\ttype: String,\n\t\t\tdefault: 'en'\n\t\t},\n\t\t// 会话来源,open-type=\"contact\"时有效。只微信小程序有效\n\t\tsessionFrom: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 会话内消息卡片标题,open-type=\"contact\"时有效\n\t\t// 默认当前标题,只微信小程序有效\n\t\tsendMessageTitle: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 会话内消息卡片点击跳转小程序路径,open-type=\"contact\"时有效\n\t\t// 默认当前分享路径,只微信小程序有效\n\t\tsendMessagePath: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 会话内消息卡片图片,open-type=\"contact\"时有效\n\t\t// 默认当前页面截图,只微信小程序有效\n\t\tsendMessageImg: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 是否显示会话内消息卡片,设置此参数为 true,用户进入客服会话会在右下角显示\"可能要发送的小程序\"提示,\n\t\t// 用户点击后可以快速发送小程序消息,open-type=\"contact\"时有效\n\t\tshowMessageCard: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t// 手指按(触摸)按钮时按钮时的背景颜色\n\t\thoverBgColor: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 水波纹的背景颜色\n\t\trippleBgColor: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 是否开启水波纹效果\n\t\tripple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false\n\t\t},\n\t\t// 按下的类名\n\t\thoverClass: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 自定义样式,对象形式\n\t\tcustomStyle: {\n\t\t\ttype: Object,\n\t\t\tdefault() {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t},\n\t\t// 额外传参参数,用于小程序的data-xxx属性,通过target.dataset.name获取\n\t\tdataName: {\n\t\t\ttype: String,\n\t\t\tdefault: ''\n\t\t},\n\t\t// 节流,一定时间内只能触发一次\n\t\tthrottleTime: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 1000\n\t\t},\n\t\t// 按住后多久出现点击态,单位毫秒\n\t\thoverStartTime: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 20\n\t\t},\n\t\t// 手指松开后点击态保留时间,单位毫秒\n\t\thoverStayTime: {\n\t\t\ttype: [String, Number],\n\t\t\tdefault: 150\n\t\t},\n\t},\n\tcomputed: {\n\t\t// 当没有传bgColor变量时,按钮按下去的颜色类名\n\t\tgetHoverClass() {\n\t\t\t// 如果开启水波纹效果,则不启用hover-class效果\n\t\t\tif (this.loading || this.disabled || this.ripple || this.hoverClass) return '';\n\t\t\tlet hoverClass = '';\n\t\t\thoverClass = this.plain ? 'u-' + this.type + '-plain-hover' : 'u-' + this.type + '-hover';\n\t\t\treturn hoverClass;\n\t\t},\n\t\t// 在'primary', 'success', 'error', 'warning'类型下,不显示边框,否则会造成四角有毛刺现象\n\t\tshowHairLineBorder() {\n\t\t\tif (['primary', 'success', 'error', 'warning'].indexOf(this.type) >= 0 && !this.plain) {\n\t\t\t\treturn '';\n\t\t\t} else {\n\t\t\t\treturn 'u-hairline-border';\n\t\t\t}\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\trippleTop: 0, // 水波纹的起点Y坐标到按钮上边界的距离\n\t\t\trippleLeft: 0, // 水波纹起点X坐标到按钮左边界的距离\n\t\t\tfields: {}, // 波纹按钮节点信息\n\t\t\twaveActive: false // 激活水波纹\n\t\t};\n\t},\n\tmethods: {\n\t\t// 按钮点击\n\t\tclick(e) {\n\t\t\t// 进行节流控制,每this.throttle毫秒内,只在开始处执行\n\t\t\tthis.$u.throttle(() => {\n\t\t\t\t// 如果按钮时disabled和loading状态,不触发水波纹效果\n\t\t\t\tif (this.loading === true || this.disabled === true) return;\n\t\t\t\t// 是否开启水波纹效果\n\t\t\t\tif (this.ripple) {\n\t\t\t\t\t// 每次点击时,移除上一次的类,再次添加,才能触发动画效果\n\t\t\t\t\tthis.waveActive = false;\n\t\t\t\t\tthis.$nextTick(function() {\n\t\t\t\t\t\tthis.getWaveQuery(e);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tthis.$emit('click', e);\n\t\t\t}, this.throttleTime);\n\t\t},\n\t\t// 查询按钮的节点信息\n\t\tgetWaveQuery(e) {\n\t\t\tthis.getElQuery().then(res => {\n\t\t\t\t// 查询返回的是一个数组节点\n\t\t\t\tlet data = res[0];\n\t\t\t\t// 查询不到节点信息,不操作\n\t\t\t\tif (!data.width || !data.width) return;\n\t\t\t\t// 水波纹的最终形态是一个正方形(通过border-radius让其变为一个圆形),这里要保证正方形的边长等于按钮的最长边\n\t\t\t\t// 最终的方形(变换后的圆形)才能覆盖整个按钮\n\t\t\t\tdata.targetWidth = data.height > data.width ? data.height : data.width;\n\t\t\t\tif (!data.targetWidth) return;\n\t\t\t\tthis.fields = data;\n\t\t\t\tlet touchesX = '',\n\t\t\t\t\ttouchesY = '';\n\t\t\t\t// #ifdef MP-BAIDU\n\t\t\t\ttouchesX = e.changedTouches[0].clientX;\n\t\t\t\ttouchesY = e.changedTouches[0].clientY;\n\t\t\t\t// #endif\n\t\t\t\t// #ifdef MP-ALIPAY\n\t\t\t\ttouchesX = e.detail.clientX;\n\t\t\t\ttouchesY = e.detail.clientY;\n\t\t\t\t// #endif\n\t\t\t\t// #ifndef MP-BAIDU || MP-ALIPAY\n\t\t\t\ttouchesX = e.touches[0].clientX;\n\t\t\t\ttouchesY = e.touches[0].clientY;\n\t\t\t\t// #endif\n\t\t\t\t// 获取触摸点相对于按钮上边和左边的x和y坐标,原理是通过屏幕的触摸点(touchesY),减去按钮的上边界data.top\n\t\t\t\t// 但是由于`transform-origin`默认是center,所以这里再减去半径才是水波纹view应该的位置\n\t\t\t\t// 总的来说,就是把水波纹的矩形(变换后的圆形)的中心点,移动到我们的触摸点位置\n\t\t\t\tthis.rippleTop = touchesY - data.top - data.targetWidth / 2;\n\t\t\t\tthis.rippleLeft = touchesX - data.left - data.targetWidth / 2;\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.waveActive = true;\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\t// 获取节点信息\n\t\tgetElQuery() {\n\t\t\treturn new Promise(resolve => {\n\t\t\t\tlet queryInfo = '';\n\t\t\t\t// 获取元素节点信息,请查看uniapp相关文档\n\t\t\t\t// https://uniapp.dcloud.io/api/ui/nodes-info?id=nodesrefboundingclientrect\n\t\t\t\tqueryInfo = uni.createSelectorQuery().in(this);\n\t\t\t\t//#ifdef MP-ALIPAY\n\t\t\t\tqueryInfo = uni.createSelectorQuery();\n\t\t\t\t//#endif\n\t\t\t\tqueryInfo.select('.u-btn').boundingClientRect();\n\t\t\t\tqueryInfo.exec(data => {\n\t\t\t\t\tresolve(data);\n\t\t\t\t});\n\t\t\t});\n\t\t},\n\t\t// 下面为对接uniapp官方按钮开放能力事件回调的对接\n\t\tgetphonenumber(res) {\n\t\t\tthis.$emit('getphonenumber', res);\n\t\t},\n\t\tgetuserinfo(res) {\n\t\t\tthis.$emit('getuserinfo', res);\n\t\t},\n\t\terror(res) {\n\t\t\tthis.$emit('error', res);\n\t\t},\n\t\topensetting(res) {\n\t\t\tthis.$emit('opensetting', res);\n\t\t},\n\t\tlaunchapp(res) {\n\t\t\tthis.$emit('launchapp', res);\n\t\t}\n\t}\n};\n</script>\n\n<style scoped lang=\"scss\">\n@import '../../libs/css/style.components.scss';\n.u-btn::after {\n\tborder: none;\n}\n\n.u-btn {\n\tposition: relative;\n\tborder: 0;\n\t//border-radius: 10rpx;\n\t/* #ifndef APP-NVUE */\n\tdisplay: inline-flex;\t\t\n\t/* #endif */\n\t// 避免边框某些场景可能被“裁剪”,不能设置为hidden\n\toverflow: visible;\n\tline-height: 1;\n\t@include vue-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tcursor: pointer;\n\tpadding: 0 40rpx;\n\tz-index: 1;\n\tbox-sizing: border-box;\n\ttransition: all 0.15s;\n\t\n\t&--bold-border {\n\t\tborder: 1px solid #ffffff;\n\t}\n\t\n\t&--default {\n\t\tcolor: $u-content-color;\n\t\tborder-color: #c0c4cc;\n\t\tbackground-color: #ffffff;\n\t}\n\t\n\t&--primary {\n\t\tcolor: #ffffff;\n\t\tborder-color: $u-type-primary;\n\t\tbackground-color: $u-type-primary;\n\t}\n\t\n\t&--success {\n\t\tcolor: #ffffff;\n\t\tborder-color: $u-type-success;\n\t\tbackground-color: $u-type-success;\n\t}\n\t\n\t&--error {\n\t\tcolor: #ffffff;\n\t\tborder-color: $u-type-error;\n\t\tbackground-color: $u-type-error;\n\t}\n\t\n\t&--warning {\n\t\tcolor: #ffffff;\n\t\tborder-color: $u-type-warning;\n\t\tbackground-color: $u-type-warning;\n\t}\n\t\n\t&--default--disabled {\n\t\tcolor: #ffffff;\n\t\tborder-color: #e4e7ed;\n\t\tbackground-color: #ffffff;\n\t}\n\t\n\t&--primary--disabled {\n\t\tcolor: #ffffff!important;\n\t\tborder-color: $u-type-primary-disabled!important;\n\t\tbackground-color: $u-type-primary-disabled!important;\n\t}\n\t\n\t&--success--disabled {\n\t\tcolor: #ffffff!important;\n\t\tborder-color: $u-type-success-disabled!important;\n\t\tbackground-color: $u-type-success-disabled!important;\n\t}\n\t\n\t&--error--disabled {\n\t\tcolor: #ffffff!important;\n\t\tborder-color: $u-type-error-disabled!important;\n\t\tbackground-color: $u-type-error-disabled!important;\n\t}\n\t\n\t&--warning--disabled {\n\t\tcolor: #ffffff!important;\n\t\tborder-color: $u-type-warning-disabled!important;\n\t\tbackground-color: $u-type-warning-disabled!important;\n\t}\n\t\n\t&--primary--plain {\n\t\tcolor: $u-type-primary!important;\n\t\tborder-color: $u-type-primary-disabled!important;\n\t\tbackground-color: $u-type-primary-light!important;\n\t}\n\t\n\t&--success--plain {\n\t\tcolor: $u-type-success!important;\n\t\tborder-color: $u-type-success-disabled!important;\n\t\tbackground-color: $u-type-success-light!important;\n\t}\n\t\n\t&--error--plain {\n\t\tcolor: $u-type-error!important;\n\t\tborder-color: $u-type-error-disabled!important;\n\t\tbackground-color: $u-type-error-light!important;\n\t}\n\t\n\t&--warning--plain {\n\t\tcolor: $u-type-warning!important;\n\t\tborder-color: $u-type-warning-disabled!important;\n\t\tbackground-color: $u-type-warning-light!important;\n\t}\n}\n\n.u-hairline-border:after {\n\tcontent: ' ';\n\tposition: absolute;\n\tpointer-events: none;\n\t// 设置为border-box,意味着下面的scale缩小为0.5,实际上缩小的是伪元素的内容(border-box意味着内容不含border)\n\tbox-sizing: border-box;\n\t// 中心点作为变形(scale())的原点\n\t-webkit-transform-origin: 0 0;\n\ttransform-origin: 0 0;\n\tleft: 0;\n\ttop: 0;\n\twidth: 199.8%;\n\theight: 199.7%;\n\t-webkit-transform: scale(0.5, 0.5);\n\ttransform: scale(0.5, 0.5);\n\tborder: 1px solid currentColor;\n\tz-index: 1;\n}\n\n.u-wave-ripple {\n\tz-index: 0;\n\tposition: absolute;\n\tborder-radius: 100%;\n\tbackground-clip: padding-box;\n\tpointer-events: none;\n\tuser-select: none;\n\ttransform: scale(0);\n\topacity: 1;\n\ttransform-origin: center;\n}\n\n.u-wave-ripple.u-wave-active {\n\topacity: 0;\n\ttransform: scale(2);\n\ttransition: opacity 1s linear, transform 0.4s linear;\n}\n\n.u-round-circle {\n\tborder-radius: 100rpx;\n}\n\n.u-round-circle::after {\n\tborder-radius: 100rpx;\n}\n\n.u-loading::after {\n\tbackground-color: hsla(0, 0%, 100%, 0.35);\n}\n\n.u-size-default {\n\tfont-size: 30rpx;\n\theight: 80rpx;\n\tline-height: 80rpx;\n}\n\n.u-size-medium {\n\t/* #ifndef APP-NVUE */\n\tdisplay: inline-flex;\t\t\n\t/* #endif */\n\twidth: auto;\n\tfont-size: 26rpx;\n\theight: 70rpx;\n\tline-height: 70rpx;\n\tpadding: 0 80rpx;\n}\n\n.u-size-mini {\n\t/* #ifndef APP-NVUE */\n\tdisplay: inline-flex;\t\t\n\t/* #endif */\n\twidth: auto;\n\tfont-size: 22rpx;\n\tpadding-top: 1px;\n\theight: 50rpx;\n\tline-height: 50rpx;\n\tpadding: 0 20rpx;\n}\n\n.u-primary-plain-hover {\n\tcolor: #ffffff !important;\n\tbackground: $u-type-primary-dark !important;\n}\n\n.u-default-plain-hover {\n\tcolor: $u-type-primary-dark !important;\n\tbackground: $u-type-primary-light !important;\n}\n\n.u-success-plain-hover {\n\tcolor: #ffffff !important;\n\tbackground: $u-type-success-dark !important;\n}\n\n.u-warning-plain-hover {\n\tcolor: #ffffff !important;\n\tbackground: $u-type-warning-dark !important;\n}\n\n.u-error-plain-hover {\n\tcolor: #ffffff !important;\n\tbackground: $u-type-error-dark !important;\n}\n\n.u-info-plain-hover {\n\tcolor: #ffffff !important;\n\tbackground: $u-type-info-dark !important;\n}\n\n.u-default-hover {\n\tcolor: $u-type-primary-dark !important;\n\tborder-color: $u-type-primary-dark !important;\n\tbackground-color: $u-type-primary-light !important;\n}\n\n.u-primary-hover {\n\tbackground: $u-type-primary-dark !important;\n\tcolor: #fff;\n}\n\n.u-success-hover {\n\tbackground: $u-type-success-dark !important;\n\tcolor: #fff;\n}\n\n.u-info-hover {\n\tbackground: $u-type-info-dark !important;\n\tcolor: #fff;\n}\n\n.u-warning-hover {\n\tbackground: $u-type-warning-dark !important;\n\tcolor: #fff;\n}\n\n.u-error-hover {\n\tbackground: $u-type-error-dark !important;\n\tcolor: #fff;\n}\n</style>\n","import mod from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-button.vue?vue&type=style&index=0&id=6e15e680&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./u-button.vue?vue&type=style&index=0&id=6e15e680&scoped=true&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1657536258046\n var cssReload = require(\"/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}