'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var vue = require('vue'); var index$1 = require('../../tooltip/index.js'); require('../../../hooks/index.js'); require('./composables/index.js'); var button = require('./button.js'); var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js'); var index = require('../../../hooks/use-namespace/index.js'); var useSliderButton = require('./composables/use-slider-button.js'); const __default__ = vue.defineComponent({ name: "ElSliderButton" }); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ ...__default__, props: button.sliderButtonProps, emits: button.sliderButtonEmits, setup(__props, { expose, emit }) { const props = __props; const ns = index.useNamespace("slider"); const initData = vue.reactive({ hovering: false, dragging: false, isClick: false, startX: 0, currentX: 0, startY: 0, currentY: 0, startPosition: 0, newPosition: 0, oldValue: props.modelValue }); const { disabled, button, tooltip, showTooltip, tooltipVisible, wrapperStyle, formatValue, handleMouseEnter, handleMouseLeave, onButtonDown, onKeyDown, setPosition } = useSliderButton.useSliderButton(props, initData, emit); const { hovering, dragging } = vue.toRefs(initData); expose({ onButtonDown, onKeyDown, setPosition, hovering, dragging }); return (_ctx, _cache) => { return vue.openBlock(), vue.createElementBlock("div", { ref_key: "button", ref: button, class: vue.normalizeClass([vue.unref(ns).e("button-wrapper"), { hover: vue.unref(hovering), dragging: vue.unref(dragging) }]), style: vue.normalizeStyle(vue.unref(wrapperStyle)), tabindex: vue.unref(disabled) ? -1 : 0, onMouseenter: vue.unref(handleMouseEnter), onMouseleave: vue.unref(handleMouseLeave), onMousedown: vue.unref(onButtonDown), onFocus: vue.unref(handleMouseEnter), onBlur: vue.unref(handleMouseLeave), onKeydown: vue.unref(onKeyDown) }, [ vue.createVNode(vue.unref(index$1.ElTooltip), { ref_key: "tooltip", ref: tooltip, visible: vue.unref(tooltipVisible), placement: _ctx.placement, "fallback-placements": ["top", "bottom", "right", "left"], "stop-popper-mouse-event": false, "popper-class": _ctx.tooltipClass, disabled: !vue.unref(showTooltip), persistent: "" }, { content: vue.withCtx(() => [ vue.createElementVNode("span", null, vue.toDisplayString(vue.unref(formatValue)), 1) ]), default: vue.withCtx(() => [ vue.createElementVNode("div", { class: vue.normalizeClass([vue.unref(ns).e("button"), { hover: vue.unref(hovering), dragging: vue.unref(dragging) }]) }, null, 2) ]), _: 1 }, 8, ["visible", "placement", "popper-class", "disabled"]) ], 46, ["tabindex", "onMouseenter", "onMouseleave", "onMousedown", "onFocus", "onBlur", "onKeydown"]); }; } }); var SliderButton = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "button.vue"]]); exports["default"] = SliderButton; //# sourceMappingURL=button2.js.map