{"version":3,"file":"date-picker.mjs","names":["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","datePickerProps","_isSlot","s","Object","prototype","toString","call","name","install","props","emits","setup","expose","emit","slots","commonPicker","refProps","focus","value","blur","handleOpen","handleClose","onModelValueUpdated","val","format","type","default","scopedProps","disabled","editable"],"sources":["../../../../../../packages/components/date-picker/src/date-picker.tsx"],"sourcesContent":["import { 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 { ElDatePickerPanel } 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 provide(\n PICKER_POPPER_OPTIONS_INJECTION_KEY,\n reactive(toRef(props, 'popperOptions'))\n )\n const commonPicker = ref>()\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 | 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 \n {{\n default: (scopedProps: /**FIXME: remove any type */ any) => (\n \n {slots}\n \n ),\n 'range-separator': slots['range-separator'],\n }}\n \n )\n }\n },\n})\n"],"mappings":";;;;;;;AASyC,SAAAkB,QAAAC,GAAA;CAAA,OAAA,OAAAA,MAAA,cAAAC,OAAAC,UAAAC,SAAAC,KAAAJ,EAAA,KAAA,qBAAA,CAAAX,QAAAW,EAAA;;AAQzC,IAAA,sBAAenB,gCAAgB;CAC7BwB,MAAM;CACNC,SAAS;CACTC,OAAOT;CACPU,OAAO,CAACZ,mBAAmB;CAC3Ba,MAAMF,OAAO,EAAEG,QAAQC,MAAMC,SAAS;EACpC9B,QACEa,qCACAZ,SAASE,MAAMsB,OAAO,gBAAgB,CACxC,CAAC;EACD,MAAMM,eAAe7B,KAAwC;EAgB7D0B,OAAOI;GAdLC,aAAa;IACXF,aAAaG,OAAOD,OAAO;;GAE7BE,YAAY;IACVJ,aAAaG,OAAOC,MAAM;;GAE5BC,kBAAkB;IAChBL,aAAaG,OAAOE,YAAY;;GAElCC,mBAAmB;IACjBN,aAAaG,OAAOG,aAAa;;GAItB,CAAC;EAEhB,MAAMC,uBAAuBC,QAA6C;GACxEV,KAAKf,oBAAoByB,IAAI;;EAG/B,aAAa;GAOX,OAAA9B,YAAAC,gBAAAL,WAEQoB,OAAK;IAAA,UALXA,MAAMe,WACL5B,2BAA2Ba,MAAMgB,SAAAA;IAKlB,QACRhB,MAAMgB;IAAI,OACXV;IAAY,uBACIO;IAAmB,CAAA,EAAA;IAGtCI,UAAUC,gBAA6ClC,YAAAM,mBAAAV,WAAA;KAAA,YAEzCoB,MAAMmB;KAAQ,YACdnB,MAAMoB;KAAQ,UAChB;KAAK,EACTF,YAAW,EAAA1B,QAEda,MAAK,GAALA,QAAK,EAAAY,eAAA,CAALZ,MAAK,EAAA,CAET;IACD,mBAAmBA,MAAM;IAAkB,CAAA;;;CAMtD,CAAC"}