UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 3.6 kB
{"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"}