{"version":3,"file":"time-picker.mjs","names":["defineComponent","provide","ref","createVNode","_createVNode","mergeProps","_mergeProps","dayjs","customParseFormat","UPDATE_MODEL_EVENT","DEFAULT_FORMATS_TIME","PICKER_POPPER_OPTIONS_INJECTION_KEY","Picker","TimePickPanel","TimeRangePanel","timePickerDefaultProps","extend","name","install","props","isRange","Boolean","emits","setup","ctx","commonPicker","type","Panel","modelUpdater","value","emit","popperOptions","expose","focus","blur","handleOpen","handleClose","format","default"],"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"],"mappings":";;;;;;;;;;;AAaAO,MAAMS,OAAOR,kBAAkB;AAE/B,0BAAeR,gCAAgB;CAC7BiB,MAAM;CACNC,SAAS;CACTC,OAAO;EACL,GAAGJ;EAIHK,SAASC;EACV;CACDC,OAAO,CAACb,mBAAmB;CAC3Bc,MAAMJ,OAAOK,KAAK;EAChB,MAAMC,eAAevB,KAAkC;EACvD,MAAM,CAACwB,MAAMC,SAASR,MAAMC,UACxB,CAAC,aAAaN,yBAAe,GAC7B,CAAC,QAAQD,wBAAc;EAE3B,MAAMe,gBAAgBC,UAAeL,IAAIM,KAAKrB,oBAAoBoB,MAAM;AACxE5B,UAAQU,qCAAqCQ,MAAMY,cAAc;AACjEP,MAAIQ,OAAO;GAITC,aAAa;AACXR,iBAAaI,OAAOI,OAAO;;GAK7BC,YAAY;AACVT,iBAAaI,OAAOK,MAAM;;GAK5BC,kBAAkB;AAChBV,iBAAaI,OAAOM,YAAY;;GAKlCC,mBAAmB;AACjBX,iBAAaI,OAAOO,aAAa;;GAEpC,CAAC;AAEF,eAAa;GACX,MAAMC,SAASlB,MAAMkB,UAAU3B;AAE/B,UAAAN,YAAAQ,gBAAAN,WAEQa,OAAK;IAAA,OACJM;IAAY,QACXC;IAAI,UACFW;IAAM,uBACOT;IAAY,CAAA,EAAA,EAG/BU,UAAUnB,UAAUf,YAAAuB,OAAgBR,OAAK,KAAA,EAAI,CAAA;;;CAMxD,CAAC"}