{"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 '@hd-front-end/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","defineComponent","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,CAAA;AAE9B,iBAAeC,eAAgB,CAAA;AAAA,EAC7BC,IAAM,EAAA,cAAA;AAAA,EACNC,OAAS,EAAA,IAAA;AAAA,EACTC,KAAO,EAAA;AAAA,IACL,GAAGC,sBAAAA;AAAAA,IAIHC,OAASC,EAAAA,OAAAA;AAAAA,GACX;AAAA,EACAC,KAAAA,EAAO,CAACC,kBAAkB,CAAA;AAAA,EAC1BC,KAAAA,CAAMN,OAAOO,GAAK,EAAA;AAChB,IAAA,MAAMC,eAAeC,GAAiC,EAAA,CAAA;AACtD,IAAA,MAAM,CAACC,IAAAA,EAAMC,KAAK,CAAA,GAAIX,KAAME,CAAAA,OAAAA,GACxB,CAAC,WAAA,EAAaU,cAAc,CAAA,GAC5B,CAAC,MAAA,EAAQC,aAAa,CAAA,CAAA;AAE1B,IAAA,MAAMC,YAAgBC,GAAAA,CAAAA,KAAAA,KAAeR,GAAIS,CAAAA,IAAAA,CAAKX,oBAAoBU,KAAK,CAAA,CAAA;AACvEE,IAAQC,OAAAA,CAAAA,mCAAAA,EAAqClB,MAAMmB,aAAa,CAAA,CAAA;AAChEZ,IAAAA,GAAAA,CAAIa,MAAO,CAAA;AAAA,MAITC,OAAOA,MAAM;AAtCnB,QAAA,IAAA,EAAA,CAAA;AAuCQb,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAoBa,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,KAAAA,EAAAA,CAAAA;AAAAA,OACtB;AAAA,MAIAC,MAAMA,MAAM;AA5ClB,QAAA,IAAA,EAAA,CAAA;AA6CQd,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAoBc,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,EAAAA,CAAAA;AAAAA,OACtB;AAAA,MAIAC,YAAYA,MAAM;AAlDxB,QAAA,IAAA,EAAA,CAAA;AAmDQf,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAoBe,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,UAAAA,EAAAA,CAAAA;AAAAA,OACtB;AAAA,MAIAC,aAAaA,MAAM;AAxDzB,QAAA,IAAA,EAAA,CAAA;AAyDQhB,QAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,UAAbP,IAAoBgB,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,WAAAA,EAAAA,CAAAA;AAAAA,OACtB;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAO,MAAM;AA7DjB,MAAA,IAAA,EAAA,CAAA;AA8DM,MAAMC,MAAAA,MAAAA,GAAAA,CAASzB,EAAMyB,GAAAA,KAAAA,CAAAA,MAAAA,KAANzB,IAAgB0B,GAAAA,EAAAA,GAAAA,oBAAAA,CAAAA;AAE/B,MAAAC,OAAAA,WAAAA,CAAAC,YAAAC,EAAAA,UAAAA,CAEQ7B,KAAK,EAAA;AAAA,QAAA,KACJQ,EAAAA,YAAAA;AAAAA,QAAY,MACXE,EAAAA,IAAAA;AAAAA,QAAI,QACFe,EAAAA,MAAAA;AAAAA,QAAM,qBACOX,EAAAA,YAAAA;AAAAA,OAAY,CAAA,EAAA;AAAA,QAG/BgB,SAAU9B,CAAAA,MAAAA,KAAU2B,WAAAhB,CAAAA,KAAAA,EAAgBX,QAAK,IAAA,CAAA;AAAA,OAAI,CAAA,CAAA;AAAA,KAIrD,CAAA;AAAA,GACF;AACF,CAAC,CAAA;;;;"}