{"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"}