element-plus
Version:
A Component Library for Vue 3
1 lines • 4.7 kB
Source Map (JSON)
{"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","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;;;;"}