{"version":3,"file":"panel-time-pick.mjs","sources":["../../../../../../../packages/components/time-picker/src/time-picker-com/panel-time-pick.vue"],"sourcesContent":["<template>\n  <transition :name=\"transitionName\">\n    <div v-if=\"actualVisible || visible\" class=\"el-time-panel\">\n      <div\n        class=\"el-time-panel__content\"\n        :class=\"{ 'has-seconds': showSeconds }\"\n      >\n        <time-spinner\n          ref=\"spinner\"\n          :role=\"datetimeRole || 'start'\"\n          :arrow-control=\"arrowControl\"\n          :show-seconds=\"showSeconds\"\n          :am-pm-mode=\"amPmMode\"\n          :spinner-date=\"parsedValue\"\n          :disabled-hours=\"disabledHours\"\n          :disabled-minutes=\"disabledMinutes\"\n          :disabled-seconds=\"disabledSeconds\"\n          @change=\"handleChange\"\n          @set-option=\"onSetOption\"\n          @select-range=\"setSelectionRange\"\n        />\n      </div>\n      <div class=\"el-time-panel__footer\">\n        <button\n          type=\"button\"\n          class=\"el-time-panel__btn cancel\"\n          @click=\"handleCancel\"\n        >\n          {{ t('el.datepicker.cancel') }}\n        </button>\n        <button\n          type=\"button\"\n          class=\"el-time-panel__btn confirm\"\n          @click=\"handleConfirm()\"\n        >\n          {{ t('el.datepicker.confirm') }}\n        </button>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, computed, inject } from 'vue'\nimport dayjs from 'dayjs'\nimport { EVENT_CODE } from '@element-plus/constants'\nimport { useLocale } from '@element-plus/hooks'\nimport TimeSpinner from './basic-time-spinner.vue'\nimport { getAvailableArrs, useOldValue } from './useTimePicker'\n\nimport type { PropType } from 'vue'\nimport type { Dayjs } from 'dayjs'\n\nexport default defineComponent({\n  components: {\n    TimeSpinner,\n  },\n\n  props: {\n    visible: Boolean,\n    actualVisible: {\n      type: Boolean,\n      default: undefined,\n    },\n    datetimeRole: {\n      type: String,\n    },\n    parsedValue: {\n      type: [Object, String] as PropType<string | Dayjs>,\n    },\n    format: {\n      type: String,\n      default: '',\n    },\n  },\n\n  emits: ['pick', 'select-range', 'set-picker-option'],\n\n  setup(props, ctx) {\n    const { t, lang } = useLocale()\n    // data\n    const selectionRange = ref([0, 2])\n    const oldValue = useOldValue(props)\n    // computed\n    const transitionName = computed(() => {\n      return props.actualVisible === undefined ? 'el-zoom-in-top' : ''\n    })\n    const showSeconds = computed(() => {\n      return props.format.includes('ss')\n    })\n    const amPmMode = computed(() => {\n      if (props.format.includes('A')) return 'A'\n      if (props.format.includes('a')) return 'a'\n      return ''\n    })\n    // method\n    const isValidValue = (_date: Dayjs) => {\n      const parsedDate = dayjs(_date).locale(lang.value)\n      const result = getRangeAvailableTime(parsedDate)\n      return parsedDate.isSame(result)\n    }\n    const handleCancel = () => {\n      ctx.emit('pick', oldValue.value, false)\n    }\n    const handleConfirm = (visible = false, first = false) => {\n      if (first) return\n      ctx.emit('pick', props.parsedValue, visible)\n    }\n    const handleChange = (_date: Dayjs) => {\n      // visible avoids edge cases, when use scrolls during panel closing animation\n      if (!props.visible) {\n        return\n      }\n      const result = getRangeAvailableTime(_date).millisecond(0)\n      ctx.emit('pick', result, true)\n    }\n\n    const setSelectionRange = (start, end) => {\n      ctx.emit('select-range', start, end)\n      selectionRange.value = [start, end]\n    }\n\n    const changeSelectionRange = (step: number) => {\n      const list = [0, 3].concat(showSeconds.value ? [6] : [])\n      const mapping = ['hours', 'minutes'].concat(\n        showSeconds.value ? ['seconds'] : []\n      )\n      const index = list.indexOf(selectionRange.value[0])\n      const next = (index + step + list.length) % list.length\n      timePickerOptions['start_emitSelectRange'](mapping[next])\n    }\n\n    const handleKeydown = (event: KeyboardEvent) => {\n      const code = event.code\n\n      if (code === EVENT_CODE.left || code === EVENT_CODE.right) {\n        const step = code === EVENT_CODE.left ? -1 : 1\n        changeSelectionRange(step)\n        event.preventDefault()\n        return\n      }\n\n      if (code === EVENT_CODE.up || code === EVENT_CODE.down) {\n        const step = code === EVENT_CODE.up ? -1 : 1\n        timePickerOptions['start_scrollDown'](step)\n        event.preventDefault()\n        return\n      }\n    }\n\n    const getRangeAvailableTime = (date: Dayjs) => {\n      const availableMap = {\n        hour: getAvailableHours,\n        minute: getAvailableMinutes,\n        second: getAvailableSeconds,\n      }\n      let result = date\n      ;['hour', 'minute', 'second'].forEach((_) => {\n        if (availableMap[_]) {\n          let availableArr\n          const method = availableMap[_]\n          if (_ === 'minute') {\n            availableArr = method(result.hour(), props.datetimeRole)\n          } else if (_ === 'second') {\n            availableArr = method(\n              result.hour(),\n              result.minute(),\n              props.datetimeRole\n            )\n          } else {\n            availableArr = method(props.datetimeRole)\n          }\n          if (\n            availableArr &&\n            availableArr.length &&\n            !availableArr.includes(result[_]())\n          ) {\n            result = result[_](availableArr[0])\n          }\n        }\n      })\n      return result\n    }\n\n    const parseUserInput = (value: Dayjs) => {\n      if (!value) return null\n      return dayjs(value, props.format).locale(lang.value)\n    }\n\n    const formatToString = (value: Dayjs) => {\n      if (!value) return null\n      return value.format(props.format)\n    }\n\n    const getDefaultValue = () => {\n      return dayjs(defaultValue).locale(lang.value)\n    }\n\n    ctx.emit('set-picker-option', ['isValidValue', isValidValue])\n    ctx.emit('set-picker-option', ['formatToString', formatToString])\n    ctx.emit('set-picker-option', ['parseUserInput', parseUserInput])\n    ctx.emit('set-picker-option', ['handleKeydown', handleKeydown])\n    ctx.emit('set-picker-option', [\n      'getRangeAvailableTime',\n      getRangeAvailableTime,\n    ])\n    ctx.emit('set-picker-option', ['getDefaultValue', getDefaultValue])\n    const timePickerOptions = {} as any\n    const onSetOption = (e) => {\n      timePickerOptions[e[0]] = e[1]\n    }\n    const pickerBase = inject('EP_PICKER_BASE') as any\n    const {\n      arrowControl,\n      disabledHours,\n      disabledMinutes,\n      disabledSeconds,\n      defaultValue,\n    } = pickerBase.props\n    const { getAvailableHours, getAvailableMinutes, getAvailableSeconds } =\n      getAvailableArrs(disabledHours, disabledMinutes, disabledSeconds)\n\n    return {\n      transitionName,\n      arrowControl,\n      onSetOption,\n      t,\n      handleConfirm,\n      handleChange,\n      setSelectionRange,\n      amPmMode,\n      showSeconds,\n      handleCancel,\n      disabledHours,\n      disabledMinutes,\n      disabledSeconds,\n    }\n  },\n})\n</script>\n"],"names":["_createBlock","_Transition","_withCtx","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","_createVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}