element-plus
Version:
A Component Library for Vue 3
1 lines • 5.09 kB
Source Map (JSON)
{"version":3,"file":"date-picker.mjs","sources":["../../../../../../packages/components/date-picker/src/date-picker.ts"],"sourcesContent":["import { defineComponent, h, provide, ref, renderSlot } from 'vue'\nimport dayjs from 'dayjs'\nimport customParseFormat from 'dayjs/plugin/customParseFormat.js'\nimport advancedFormat from 'dayjs/plugin/advancedFormat.js'\nimport localeData from 'dayjs/plugin/localeData.js'\nimport weekOfYear from 'dayjs/plugin/weekOfYear.js'\nimport weekYear from 'dayjs/plugin/weekYear.js'\nimport dayOfYear from 'dayjs/plugin/dayOfYear.js'\nimport isSameOrAfter from 'dayjs/plugin/isSameOrAfter.js'\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore.js'\nimport {\n CommonPicker,\n DEFAULT_FORMATS_DATE,\n DEFAULT_FORMATS_DATEPICKER,\n timePickerDefaultProps,\n} from '@element-plus/components/time-picker'\nimport DatePickPanel from './date-picker-com/panel-date-pick.vue'\nimport DateRangePickPanel from './date-picker-com/panel-date-range.vue'\nimport MonthRangePickPanel from './date-picker-com/panel-month-range.vue'\nimport { ROOT_PICKER_INJECTION_KEY } from './date-picker.type'\nimport type { PropType } from 'vue'\nimport type { IDatePickerType } from './date-picker.type'\n\ndayjs.extend(localeData)\ndayjs.extend(advancedFormat)\ndayjs.extend(customParseFormat)\ndayjs.extend(weekOfYear)\ndayjs.extend(weekYear)\ndayjs.extend(dayOfYear)\ndayjs.extend(isSameOrAfter)\ndayjs.extend(isSameOrBefore)\n\nconst getPanel = function (type: IDatePickerType) {\n if (type === 'daterange' || type === 'datetimerange') {\n return DateRangePickPanel\n } else if (type === 'monthrange') {\n return MonthRangePickPanel\n }\n return DatePickPanel\n}\n\nexport default defineComponent({\n name: 'ElDatePicker',\n install: null,\n props: {\n ...timePickerDefaultProps,\n type: {\n type: String as PropType<IDatePickerType>,\n default: 'date',\n },\n },\n emits: ['update:modelValue'],\n setup(props, ctx) {\n provide('ElPopperOptions', props.popperOptions)\n provide(ROOT_PICKER_INJECTION_KEY, {\n ctx,\n })\n const commonPicker = ref(null)\n const refProps = {\n ...props,\n focus: (focusStartInput = true) => {\n commonPicker.value?.focus(focusStartInput)\n },\n }\n ctx.expose(refProps)\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 return h(\n CommonPicker,\n {\n ...props,\n format,\n type: props.type,\n ref: commonPicker,\n 'onUpdate:modelValue': (value) =>\n ctx.emit('update:modelValue', value),\n },\n {\n default: (scopedProps) => h(getPanel(props.type), scopedProps),\n 'range-separator': () => renderSlot(ctx.slots, 'range-separator'),\n }\n )\n }\n },\n})\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7B,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAChC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACzB,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvB,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACxB,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;AAC5B,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7B,MAAM,QAAQ,GAAG,SAAS,IAAI,EAAE;AAChC,EAAE,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,eAAe,EAAE;AACxD,IAAI,OAAO,kBAAkB,CAAC;AAC9B,GAAG,MAAM,IAAI,IAAI,KAAK,YAAY,EAAE;AACpC,IAAI,OAAO,mBAAmB,CAAC;AAC/B,GAAG;AACH,EAAE,OAAO,aAAa,CAAC;AACvB,CAAC,CAAC;AACF,iBAAe,eAAe,CAAC;AAC/B,EAAE,IAAI,EAAE,cAAc;AACtB,EAAE,OAAO,EAAE,IAAI;AACf,EAAE,KAAK,EAAE;AACT,IAAI,GAAG,sBAAsB;AAC7B,IAAI,IAAI,EAAE;AACV,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,OAAO,EAAE,MAAM;AACrB,KAAK;AACL,GAAG;AACH,EAAE,KAAK,EAAE,CAAC,mBAAmB,CAAC;AAC9B,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;AACpB,IAAI,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;AACpD,IAAI,OAAO,CAAC,yBAAyB,EAAE;AACvC,MAAM,GAAG;AACT,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AACnC,IAAI,MAAM,QAAQ,GAAG;AACrB,MAAM,GAAG,KAAK;AACd,MAAM,KAAK,EAAE,CAAC,eAAe,GAAG,IAAI,KAAK;AACzC,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAC/E,OAAO;AACP,KAAK,CAAC;AACN,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACzB,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,MAAM,MAAM,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,EAAE,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC;AACvH,MAAM,OAAO,CAAC,CAAC,YAAY,EAAE;AAC7B,QAAQ,GAAG,KAAK;AAChB,QAAQ,MAAM;AACd,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI;AACxB,QAAQ,GAAG,EAAE,YAAY;AACzB,QAAQ,qBAAqB,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC;AAC9E,OAAO,EAAE;AACT,QAAQ,OAAO,EAAE,CAAC,WAAW,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;AACtE,QAAQ,iBAAiB,EAAE,MAAM,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC;AACzE,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,GAAG;AACH,CAAC,CAAC;;;;"}