{"version":3,"file":"picker-range-trigger.mjs","names":[],"sources":["../../../../../../../packages/components/time-picker/src/common/picker-range-trigger.vue"],"sourcesContent":["<template>\n  <div\n    ref=\"wrapperRef\"\n    :class=\"[nsDate.is('active', isFocused), $attrs.class]\"\n    :style=\"\n      // https://github.com/vuejs/language-tools/issues/2104#issuecomment-3092541527\n      $attrs.style as CSSProperties\n    \"\n    @click=\"handleClick\"\n    @mouseenter=\"handleMouseEnter\"\n    @mouseleave=\"handleMouseLeave\"\n    @touchstart.passive=\"handleTouchStart\"\n  >\n    <slot name=\"prefix\" />\n    <input\n      v-bind=\"attrs\"\n      :id=\"inputId\"\n      ref=\"inputRef\"\n      :name=\"name && name[0]\"\n      :placeholder=\"startPlaceholder\"\n      :value=\"modelValue && modelValue[0]\"\n      :class=\"nsRange.b('input')\"\n      :disabled=\"disabled\"\n      @input=\"handleStartInput\"\n      @change=\"handleStartChange\"\n    />\n    <slot name=\"range-separator\" />\n    <input\n      v-bind=\"attrs\"\n      :id=\"id && id[1]\"\n      ref=\"endInputRef\"\n      :name=\"name && name[1]\"\n      :placeholder=\"endPlaceholder\"\n      :value=\"modelValue && modelValue[1]\"\n      :class=\"nsRange.b('input')\"\n      :disabled=\"disabled\"\n      @input=\"handleEndInput\"\n      @change=\"handleEndChange\"\n    />\n    <slot name=\"suffix\" />\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, reactive, ref } from 'vue'\nimport { useAttrs, useFocusController, useNamespace } from '@element-plus/hooks'\nimport { timePickerRangeTriggerProps } from './props'\nimport { useFormItem, useFormItemInputId } from '@element-plus/components/form'\n\nimport type { CSSProperties } from 'vue'\n\ndefineOptions({\n  name: 'PickerRangeTrigger',\n  inheritAttrs: false,\n})\n\nconst props = defineProps(timePickerRangeTriggerProps)\nconst emit = defineEmits([\n  'mouseenter',\n  'mouseleave',\n  'click',\n  'touchstart',\n  'focus',\n  'blur',\n  'startInput',\n  'endInput',\n  'startChange',\n  'endChange',\n])\n\nconst { formItem } = useFormItem()\nconst { inputId } = useFormItemInputId(\n  reactive({ id: computed(() => props.id?.[0]) }),\n  {\n    formItemContext: formItem,\n  }\n)\n\nconst attrs = useAttrs()\nconst nsDate = useNamespace('date')\nconst nsRange = useNamespace('range')\n\nconst inputRef = ref<HTMLInputElement>()\nconst endInputRef = ref<HTMLInputElement>()\n\nconst { wrapperRef, isFocused } = useFocusController(inputRef, {\n  disabled: computed(() => props.disabled),\n})\n\nconst handleClick = (evt: MouseEvent) => {\n  emit('click', evt)\n}\n\nconst handleMouseEnter = (evt: MouseEvent) => {\n  emit('mouseenter', evt)\n}\n\nconst handleMouseLeave = (evt: MouseEvent) => {\n  emit('mouseleave', evt)\n}\n\nconst handleTouchStart = (evt: TouchEvent) => {\n  emit('touchstart', evt)\n}\n\nconst handleStartInput = (evt: Event) => {\n  emit('startInput', evt)\n}\n\nconst handleEndInput = (evt: Event) => {\n  emit('endInput', evt)\n}\n\nconst handleStartChange = (evt: Event) => {\n  emit('startChange', evt)\n}\n\nconst handleEndChange = (evt: Event) => {\n  emit('endChange', evt)\n}\n\nconst focus = () => {\n  inputRef.value?.focus()\n}\n\nconst blur = () => {\n  inputRef.value?.blur()\n  endInputRef.value?.blur()\n}\n\ndefineExpose({\n  focus,\n  blur,\n})\n</script>\n"],"mappings":""}