element-plus
Version:
A Component Library for Vue 3
1 lines • 5.87 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","defineComponent","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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"}