element-plus
Version:
A Component Library for Vue 3
1 lines • 5.69 kB
Source Map (JSON)
{"version":3,"file":"date-picker.mjs","sources":["../../../../../../packages/components/date-picker/src/date-picker.tsx"],"sourcesContent":["import { computed, defineComponent, provide, reactive, ref, toRef } from 'vue'\nimport {\n CommonPicker,\n DEFAULT_FORMATS_DATE,\n DEFAULT_FORMATS_DATEPICKER,\n PICKER_POPPER_OPTIONS_INJECTION_KEY,\n} from '@element-plus/components/time-picker'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n ElDatePickerPanel,\n ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY,\n} from '@element-plus/components/date-picker-panel'\nimport { datePickerProps } from './props'\n\nimport type {\n DateModelType,\n SingleOrRange,\n} from '@element-plus/components/time-picker'\nimport type { DatePickerExpose } from './instance'\n\nexport default defineComponent({\n name: 'ElDatePicker',\n install: null,\n props: datePickerProps,\n emits: [UPDATE_MODEL_EVENT],\n setup(props, { expose, emit, slots }) {\n const isDefaultFormat = computed(() => {\n return !props.format\n })\n provide(ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY, isDefaultFormat)\n provide(\n PICKER_POPPER_OPTIONS_INJECTION_KEY,\n reactive(toRef(props, 'popperOptions'))\n )\n const commonPicker = ref<InstanceType<typeof CommonPicker>>()\n const refProps: DatePickerExpose = {\n focus: () => {\n commonPicker.value?.focus()\n },\n blur: () => {\n commonPicker.value?.blur()\n },\n handleOpen: () => {\n commonPicker.value?.handleOpen()\n },\n handleClose: () => {\n commonPicker.value?.handleClose()\n },\n }\n\n expose(refProps)\n\n const onModelValueUpdated = (val: SingleOrRange<DateModelType> | null) => {\n emit(UPDATE_MODEL_EVENT, val)\n }\n\n return () => {\n // since props always have all defined keys on it, {format, ...props} will always overwrite format\n // pick props.format or provide default value here before spreading\n const format =\n props.format ??\n (DEFAULT_FORMATS_DATEPICKER[props.type] || DEFAULT_FORMATS_DATE)\n\n return (\n <CommonPicker\n {...props}\n format={format}\n type={props.type}\n ref={commonPicker}\n onUpdate:modelValue={onModelValueUpdated}\n >\n {{\n default: (scopedProps: /**FIXME: remove any type */ any) => (\n <ElDatePickerPanel\n disabled={props.disabled}\n editable={props.editable}\n border={false}\n {...scopedProps}\n >\n {slots}\n </ElDatePickerPanel>\n ),\n 'range-separator': slots['range-separator'],\n }}\n </CommonPicker>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","install","props","datePickerProps","emits","UPDATE_MODEL_EVENT","setup","expose","emit","slots","isDefaultFormat","computed","format","provide","ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY","PICKER_POPPER_OPTIONS_INJECTION_KEY","reactive","toRef","commonPicker","ref","refProps","focus","value","blur","handleOpen","handleClose","onModelValueUpdated","val","DEFAULT_FORMATS_DATEPICKER","type","DEFAULT_FORMATS_DATE","_createVNode","CommonPicker","_mergeProps","default","scopedProps","ElDatePickerPanel","disabled","editable"],"mappings":"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"}