{"version":3,"file":"button.vue2.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToButton'\n});\n</script>\n<template>\n\t<button ref=\"el\" v-dis=\"loading || disabled\" :flex=\"flex ? flex : null\" class=\"to-button\" :class=\"setClass\" :style=\"setStyle\" :desc=\"desc\" @click=\"handleClick\" @dblclick=\"handleDblClick\" @contextmenu=\"handleContextMenu\">\n\t\t<ToIcon v-if=\"icon || loading\" class=\"to-button-icon\" :value=\"props.loading ? 'loading' : icon.split('|')[0].trim()\"></ToIcon>\n\t\t<span class=\"to-button-text\"> {{ props.text }}<slot></slot> </span>\n\t\t<ToIcon v-if=\"expand\" value=\"expand\" class=\"to-button-expand\"></ToIcon>\n\t\t<span v-if=\"Number(progress) > 0\" class=\"to-button-progress\">\n\t\t\t<span ref=\"progress\" class=\"to-button-bar\" :class=\"{ 'is-completed': Number(progress) === 100 }\" :style=\"{ width: progress + '%' }\"></span>\n\t\t</span>\n\t</button>\n</template>\n<script setup lang=\"ts\">\nimport { ref, computed } from 'vue'\nimport { commitTouchReport } from '@touchvue/utils'\n\n\n\nconst el = ref(null)\nconst emit = defineEmits(['click', 'dblclick', 'contextmenu'])\n\ninterface Props {\n\tdisabled?: boolean\n\texpand?: boolean\n\tloading?: boolean\n\ticon?: string\n\tsize?: string\n\tmode?: string\n\tcolor?: string\n\twidth?: string | number\n\ticonPosition?: string\n\tprogress?: string | number\n\tdesc?: string\n\tflex?: boolean\n\ttext?: string\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n\tmode: 'default',\n\tcolor: '',\n\tsize: '',\n\ticon: '',\n\twidth: '',\n\ticonPosition: '',\n\tloading: false,\n\tdisabled: false,\n\tprogress: 0,\n\tdesc: '',\n\texpand: false,\n\tflex: false,\n\ttext: ''\n})\n\nconst setStyle = computed(() => {\n\tconst style: Record<string, string> = {}\n\tif (props.width && props.width !== 'full') {\n\t\tstyle.width = `${props.width}em`\n\t}\n\treturn style\n})\n\nconst setClass = computed(() => {\n\tlet arr: string[] = []\n\tif (props.width === 'full') {\n\t\tarr.push(`width-full`)\n\t}\n\tif (props.mode) {\n\t\tfor (let i = 0; i < props.mode.split(' ').length; i++) {\n\t\t\tconst element = props.mode.split(' ')[i]\n\t\t\tarr.push(`mode-${element}`)\n\t\t}\n\t}\n\tif (props.size) {\n\t\tarr.push(`size-${props.size}`)\n\t}\n\tif (props.color) {\n\t\tarr.push(`color-${props.color}`)\n\t}\n\tif (props.iconPosition) {\n\t\tarr.push(`icon-position-${props.iconPosition}`)\n\t}\n\tif (props.icon.includes('|')) {\n\t\tconst iconArr = props.icon.split('|')\n\t\tif (iconArr[1].includes('top') || iconArr[1].includes('right') || iconArr[1].includes('bottom')) {\n\t\t\tarr.push(`icon-position-${iconArr[1].trim()}`)\n\t\t}\n\t}\n\treturn arr\n})\n\nconst exportDetail = () => {\n\tconst detail = {\n\t\tname: 'ToButton',\n\t\tdesc: props.desc,\n\t\tvalue: props.desc\n\t}\n\tcommitTouchReport(detail)\n}\n\nconst handleClick = evt => {\n\temit('click', evt)\n\texportDetail()\n}\n\nconst handleDblClick = evt => {\n\temit('dblclick', evt)\n\texportDetail()\n}\n\nconst handleContextMenu = evt => {\n\tevt.preventDefault()\n\temit('contextmenu', evt)\n\texportDetail()\n}\n\ndefineExpose({ el })\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","flex","_normalizeClass","desc","icon","loading","_createBlock","_createElementVNode","_createTextVNode","_toDisplayString","_renderSlot","expand","progress","disabled"],"mappings":"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"}