{"version":3,"file":"time-picker.mjs","sources":["../../../../../../packages/components/time-picker/src/time-picker.tsx"],"sourcesContent":["import { defineComponent, provide, ref } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n  DEFAULT_FORMATS_TIME,\n  PICKER_POPPER_OPTIONS_INJECTION_KEY,\n} from './constants'\nimport Picker from './common/picker.vue'\nimport TimePickPanel from './time-picker-com/panel-time-pick.vue'\nimport TimeRangePanel from './time-picker-com/panel-time-range.vue'\nimport { timePickerDefaultProps } from './common/props'\n\ndayjs.extend(customParseFormat)\n\nexport default defineComponent({\n  name: 'ElTimePicker',\n  install: null,\n  props: {\n    ...timePickerDefaultProps,\n    /**\n     * @description whether to pick a time range\n     */\n    isRange: Boolean,\n  },\n  emits: [UPDATE_MODEL_EVENT],\n  setup(props, ctx) {\n    const commonPicker = ref<InstanceType<typeof Picker>>()\n    const [type, Panel] = props.isRange\n      ? ['timerange', TimeRangePanel]\n      : ['time', TimePickPanel]\n\n    const modelUpdater = (value: any) => ctx.emit(UPDATE_MODEL_EVENT, value)\n    provide(PICKER_POPPER_OPTIONS_INJECTION_KEY, props.popperOptions)\n    ctx.expose({\n      /**\n       * @description focus the Input component\n       */\n      focus: () => {\n        commonPicker.value?.focus()\n      },\n      /**\n       * @description blur the Input component\n       */\n      blur: () => {\n        commonPicker.value?.blur()\n      },\n      /**\n       * @description open the TimePicker popper\n       */\n      handleOpen: () => {\n        commonPicker.value?.handleOpen()\n      },\n      /**\n       * @description close the TimePicker popper\n       */\n      handleClose: () => {\n        commonPicker.value?.handleClose()\n      },\n    })\n\n    return () => {\n      const format = props.format ?? DEFAULT_FORMATS_TIME\n\n      return (\n        <Picker\n          {...props}\n          ref={commonPicker}\n          type={type}\n          format={format}\n          onUpdate:modelValue={modelUpdater}\n        >\n          {{\n            default: (props: any) => <Panel {...props} />,\n          }}\n        </Picker>\n      )\n    }\n  },\n})\n"],"names":["dayjs","extend","customParseFormat","name","install","props","timePickerDefaultProps","isRange","Boolean","emits","UPDATE_MODEL_EVENT","setup","ctx","commonPicker","ref","type","Panel","TimeRangePanel","TimePickPanel","modelUpdater","value","emit","provide","PICKER_POPPER_OPTIONS_INJECTION_KEY","popperOptions","expose","focus","blur","handleOpen","handleClose","format","DEFAULT_FORMATS_TIME","_createVNode","Picker","_mergeProps","default"],"mappings":";;;;;;;;;;AAaAA,KAAAA,CAAMC,OAAOC,iBAAiB,CAAA;AAE9B,iDAA+B;AAAA,EAC7BC,IAAAA,EAAM,cAAA;AAAA,EACNC,OAAAA,EAAS,IAAA;AAAA,EACTC,KAAAA,EAAO;AAAA,IACL,GAAGC,sBAAAA;AAAAA;AAAAA;AAAAA;AAAAA,IAIHC,OAAAA,EAASC;AAAAA,GACX;AAAA,EACAC,KAAAA,EAAO,CAACC,kBAAkB,CAAA;AAAA,EAC1BC,KAAAA,CAAMN,OAAOO,GAAAA,EAAK;AAChB,IAAA,MAAMC,eAAeC,GAAAA,EAAiC;AACtD,IAAA,MAAM,CAACC,IAAAA,EAAMC,KAAK,CAAA,GAAIX,KAAAA,CAAME,OAAAA,GACxB,CAAC,WAAA,EAAaU,SAAc,CAAA,GAC5B,CAAC,MAAA,EAAQC,WAAa,CAAA;AAE1B,IAAA,MAAMC,YAAAA,GAAgBC,CAAAA,KAAAA,KAAeR,GAAAA,CAAIS,IAAAA,CAAKX,oBAAoBU,KAAK,CAAA;AACvEE,IAAAA,OAAAA,CAAQC,mCAAAA,EAAqClB,MAAMmB,aAAa,CAAA;AAChEZ,IAAAA,GAAAA,CAAIa,MAAAA,CAAO;AAAA;AAAA;AAAA;AAAA,MAITC,OAAOA,MAAM;AAtCnB,QAAA,IAAA,EAAA;AAuCQb,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBa,KAAAA,EAAAA;AAAAA,MACtB,CAAA;AAAA;AAAA;AAAA;AAAA,MAIAC,MAAMA,MAAM;AA5ClB,QAAA,IAAA,EAAA;AA6CQd,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBc,IAAAA,EAAAA;AAAAA,MACtB,CAAA;AAAA;AAAA;AAAA;AAAA,MAIAC,YAAYA,MAAM;AAlDxB,QAAA,IAAA,EAAA;AAmDQf,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBe,UAAAA,EAAAA;AAAAA,MACtB,CAAA;AAAA;AAAA;AAAA;AAAA,MAIAC,aAAaA,MAAM;AAxDzB,QAAA,IAAA,EAAA;AAyDQhB,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAAA,GAAAA,MAAAA,GAAAA,EAAAA,CAAoBgB,WAAAA,EAAAA;AAAAA,MACtB;AAAA,KACD,CAAA;AAED,IAAA,OAAO,MAAM;AA7DjB,MAAA,IAAA,EAAA;AA8DM,MAAA,MAAMC,MAAAA,GAAAA,CAASzB,EAAAA,GAAAA,KAAAA,CAAMyB,MAAAA,KAANzB,IAAAA,GAAAA,EAAAA,GAAgB0B,oBAAAA;AAE/B,MAAA,OAAAC,WAAAA,CAAAC,WAAAA,EAAAC,UAAAA,CAEQ7B,KAAAA,EAAK;AAAA,QAAA,KAAA,EACJQ,YAAAA;AAAAA,QAAY,MAAA,EACXE,IAAAA;AAAAA,QAAI,QAAA,EACFe,MAAAA;AAAAA,QAAM,qBAAA,EACOX;AAAAA,OAAY,CAAA,EAAA;AAAA,QAG/BgB,SAAU9B,CAAAA,MAAAA,KAAU2B,WAAAA,CAAAhB,KAAAA,EAAgBX,QAAK,IAAA;AAAA,OAAI,CAAA;AAAA,IAIrD,CAAA;AAAA,EACF;AACF,CAAC,CAAA;;;;"}