{"version":3,"file":"button.vue.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":["_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle","_withKeys","_withModifiers","_toDisplayString","_withCtx","_createElementVNode"],"mappings":"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"}