UNPKG

element-plus

Version:

A Component Library for Vue 3

1 lines 4.5 kB
{"version":3,"file":"date-picker.mjs","names":["computed","defineComponent","provide","reactive","ref","toRef","mergeProps","_mergeProps","isVNode","_isVNode","createVNode","_createVNode","CommonPicker","DEFAULT_FORMATS_DATE","DEFAULT_FORMATS_DATEPICKER","PICKER_POPPER_OPTIONS_INJECTION_KEY","UPDATE_MODEL_EVENT","ElDatePickerPanel","ROOT_PICKER_IS_DEFAULT_FORMAT_INJECTION_KEY","datePickerProps","_isSlot","s","Object","prototype","toString","call","name","install","props","emits","setup","expose","emit","slots","isDefaultFormat","format","commonPicker","refProps","focus","value","blur","handleOpen","handleClose","onModelValueUpdated","val","type","default","scopedProps","disabled","editable"],"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"],"mappings":";;;;;;;;;AAYyC,SAAAoB,QAAAC,GAAA;AAAA,QAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAZ,QAAAY,EAAA;;AAQzC,0BAAepB,gCAAgB;CAC7ByB,MAAM;CACNC,SAAS;CACTC,OAAOT;CACPU,OAAO,CAACb,mBAAmB;CAC3Bc,MAAMF,OAAO,EAAEG,QAAQC,MAAMC,SAAS;AAIpC/B,UAAQgB,6CAHgBlB,eAAe;AACrC,UAAO,CAAC4B,MAAMO;IACd,CACmE;AACrEjC,UACEa,qCACAZ,SAASE,MAAMuB,OAAO,gBAAgB,CACxC,CAAC;EACD,MAAMQ,eAAehC,KAAwC;AAgB7D2B,SAfmC;GACjCO,aAAa;AACXF,iBAAaG,OAAOD,OAAO;;GAE7BE,YAAY;AACVJ,iBAAaG,OAAOC,MAAM;;GAE5BC,kBAAkB;AAChBL,iBAAaG,OAAOE,YAAY;;GAElCC,mBAAmB;AACjBN,iBAAaG,OAAOG,aAAa;;GAEpC,CAEe;EAEhB,MAAMC,uBAAuBC,QAA6C;AACxEZ,QAAKhB,oBAAoB4B,IAAI;;AAG/B,eAAa;GAGX,MAAMT,SACJP,MAAMO,WACLrB,2BAA2Bc,MAAMiB,SAAShC;AAE7C,UAAAF,YAAAC,gBAAAL,WAEQqB,OAAK;IAAA,UACDO;IAAM,QACRP,MAAMiB;IAAI,OACXT;IAAY,uBACIO;IAAmB,CAAA,EAAA;IAGtCG,UAAUC,gBAA6CpC,YAAAM,mBAAAV,WAAA;KAAA,YAEzCqB,MAAMoB;KAAQ,YACdpB,MAAMqB;KAAQ,UAChB;KAAK,EACTF,YAAW,EAAA3B,QAEda,MAAK,GAALA,QAAK,EAAAa,eAAA,CAALb,MAAK,EAAA,CAET;IACD,mBAAmBA,MAAM;IAAkB,CAAA;;;CAMtD,CAAC"}