{"version":3,"file":"button.vue2.mjs","sources":["../../../../../packages/components/slider/src/button.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"button\"\n    :class=\"[ns.e('button-wrapper'), { hover: hovering, dragging }]\"\n    :style=\"wrapperStyle\"\n    tabindex=\"0\"\n    @mouseenter=\"handleMouseEnter\"\n    @mouseleave=\"handleMouseLeave\"\n    @mousedown=\"onButtonDown\"\n    @touchstart=\"onButtonDown\"\n    @focus=\"handleMouseEnter\"\n    @blur=\"handleMouseLeave\"\n    @keydown.left=\"onLeftKeyDown\"\n    @keydown.right=\"onRightKeyDown\"\n    @keydown.down.prevent=\"onLeftKeyDown\"\n    @keydown.up.prevent=\"onRightKeyDown\"\n  >\n    <el-tooltip\n      ref=\"tooltip\"\n      v-model:visible=\"tooltipVisible\"\n      placement=\"top\"\n      :stop-popper-mouse-event=\"false\"\n      :popper-class=\"tooltipClass\"\n      :disabled=\"!showTooltip\"\n      persistent\n    >\n      <template #content>\n        <span>{{ formatValue }}</span>\n      </template>\n      <div :class=\"[ns.e('button'), { hover: hovering, dragging }]\"></div>\n    </el-tooltip>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive, toRefs } from 'vue'\nimport ElTooltip from '@element-ultra/components/tooltip'\nimport { UPDATE_MODEL_EVENT } from '@element-ultra/shared'\nimport { useNamespace } from '@element-ultra/hooks'\nimport { useSliderButton } from './useSliderButton'\n\nexport default defineComponent({\n  name: 'ElSliderButton',\n\n  components: {\n    ElTooltip,\n  },\n\n  props: {\n    modelValue: {\n      type: Number,\n      default: 0,\n    },\n    vertical: {\n      type: Boolean,\n      default: false,\n    },\n    tooltipClass: {\n      type: String,\n      default: '',\n    },\n  },\n\n  emits: [UPDATE_MODEL_EVENT],\n\n  setup(props, { emit }) {\n    const ns = useNamespace('slider')\n    const initData = reactive({\n      hovering: false,\n      dragging: false,\n      isClick: false,\n      startX: 0,\n      currentX: 0,\n      startY: 0,\n      currentY: 0,\n      startPosition: 0,\n      newPosition: 0,\n      oldValue: props.modelValue,\n    })\n\n    const {\n      tooltip,\n      showTooltip,\n      tooltipVisible,\n      wrapperStyle,\n      formatValue,\n      handleMouseEnter,\n      handleMouseLeave,\n      onButtonDown,\n      onLeftKeyDown,\n      onRightKeyDown,\n      setPosition,\n    } = useSliderButton(props, initData, emit)\n\n    const { hovering, dragging } = toRefs(initData)\n\n    return {\n      ns,\n      tooltip,\n      tooltipVisible,\n      showTooltip,\n      wrapperStyle,\n      formatValue,\n      handleMouseEnter,\n      handleMouseLeave,\n      onButtonDown,\n      onLeftKeyDown,\n      onRightKeyDown,\n      setPosition,\n\n      hovering,\n      dragging,\n    }\n  },\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;AAyCA,gBAAe,eAAgB,CAAA;AAAA,EAC7B,IAAM,EAAA,gBAAA;AAAA,EAEN,UAAY,EAAA;AAAA,IACV,SAAA;AAAA,GACF;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,UAAY,EAAA;AAAA,MACV,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,CAAA;AAAA,KACX;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,OAAA;AAAA,MACN,OAAS,EAAA,KAAA;AAAA,KACX;AAAA,IACA,YAAc,EAAA;AAAA,MACZ,IAAM,EAAA,MAAA;AAAA,MACN,OAAS,EAAA,EAAA;AAAA,KACX;AAAA,GACF;AAAA,EAEA,KAAA,EAAO,CAAC,kBAAkB,CAAA;AAAA,EAE1B,KAAM,CAAA,KAAA,EAAO,EAAE,IAAA,EAAQ,EAAA;AACrB,IAAM,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAChC,IAAA,MAAM,WAAW,QAAS,CAAA;AAAA,MACxB,QAAU,EAAA,KAAA;AAAA,MACV,QAAU,EAAA,KAAA;AAAA,MACV,OAAS,EAAA,KAAA;AAAA,MACT,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,CAAA;AAAA,MACV,MAAQ,EAAA,CAAA;AAAA,MACR,QAAU,EAAA,CAAA;AAAA,MACV,aAAe,EAAA,CAAA;AAAA,MACf,WAAa,EAAA,CAAA;AAAA,MACb,UAAU,KAAM,CAAA,UAAA;AAAA,KACjB,CAAA,CAAA;AAED,IAAM,MAAA;AAAA,MACJ,OAAA;AAAA,MACA,WAAA;AAAA,MACA,cAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,KACE,GAAA,eAAA,CAAgB,KAAO,EAAA,QAAA,EAAU,IAAI,CAAA,CAAA;AAEzC,IAAA,MAAM,EAAE,QAAA,EAAU,QAAS,EAAA,GAAI,OAAO,QAAQ,CAAA,CAAA;AAE9C,IAAO,OAAA;AAAA,MACL,EAAA;AAAA,MACA,OAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,gBAAA;AAAA,MACA,gBAAA;AAAA,MACA,YAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,MAEA,QAAA;AAAA,MACA,QAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}