{"version":3,"file":"generateRangePicker.mjs","sources":["../../../../../../../packages/components/date-picker/src/generatePicker/generateRangePicker.tsx"],"sourcesContent":["import type { GenerateConfig } from '@antdv/vue-components/vc-picker/src/generate';\nimport type { PanelMode, RangeValue } from '@antdv/vue-components/vc-picker/src/interface';\nimport type { RangePickerSharedProps } from '@antdv/vue-components/vc-picker/src/RangePicker';\nimport type { SlotsType } from 'vue';\nimport type { RangePickerProps } from './interface';\nimport type { CommonProps } from './props';\nimport { CalendarOutlined, ClockCircleOutlined, CloseCircleFilled, SwapRightOutlined } from '@ant-design/icons-vue';\nimport { enUS } from '@antdv/locale';\nimport { classNames, devWarning, getMergedStatus, getStatusClassNames, omit } from '@antdv/utils';\nimport { VcRangePicker } from '@antdv/vue-components';\nimport { computed, defineComponent, ref } from 'vue';\nimport useConfigInject from '../../../config-provider/src/hooks/useConfigInject';\n\nimport { FormItemInputContext, useInjectFormItemContext } from '../../../form/src/FormItemContext';\n\nimport { useLocaleReceiver } from '../../../locale-provider';\n\n// CSSINJS\nimport { useCompactItemContext } from '../../../space';\n\nimport useStyle from '../../style';\n\nimport { getRangePlaceholder, transPlacement2DropdownAlign } from '../util';\nimport { commonProps, rangePickerProps } from './props';\nimport { Components, getTimeProps } from './util';\n\nexport default function generateRangePicker<DateType, ExtraProps = {}>(\n  generateConfig: GenerateConfig<DateType>,\n  extraProps: ExtraProps,\n) {\n  const RangePicker = defineComponent({\n    compatConfig: { MODE: 3 },\n    name: 'ARangePicker',\n    inheritAttrs: false,\n    props: {\n      ...commonProps<DateType>(),\n      ...rangePickerProps<DateType>(),\n      ...extraProps,\n    },\n    slots: Object as SlotsType<{\n      suffixIcon?: any\n      prevIcon?: any\n      nextIcon?: any\n      superPrevIcon?: any\n      superNextIcon?: any\n      dateRender?: any\n      renderExtraFooter?: any\n      default?: any\n      separator?: any\n      clearIcon?: any\n    }>,\n    setup(_props, { expose, slots, attrs, emit }) {\n      const props = _props as unknown as CommonProps<DateType> & RangePickerProps<DateType>;\n      const formItemContext = useInjectFormItemContext();\n      const formItemInputContext = FormItemInputContext.useInject();\n\n      // =================== Warning =====================\n      if (process.env.NODE_ENV !== 'production') {\n        devWarning(\n          !props.dropdownClassName,\n          'RangePicker',\n          '`dropdownClassName` is deprecated. Please use `popupClassName` instead.',\n        );\n        devWarning(\n          !attrs.getCalendarContainer,\n          'DatePicker',\n          '`getCalendarContainer` is deprecated. Please use `getPopupContainer\"` instead.',\n        );\n      }\n\n      const { prefixCls, direction, getPopupContainer, size, rootPrefixCls, disabled }\n        = useConfigInject('picker', props);\n      const { compactSize, compactItemClassnames } = useCompactItemContext(prefixCls, direction);\n      const mergedSize = computed(() => compactSize.value || size.value);\n      // style\n      const [wrapSSR, hashId] = useStyle(prefixCls);\n      const pickerRef = ref();\n      expose({\n        focus: () => {\n          pickerRef.value?.focus();\n        },\n        blur: () => {\n          pickerRef.value?.blur();\n        },\n      });\n      const maybeToStrings = (dates: DateType[]) => {\n        return props.valueFormat ? generateConfig.toString(dates, props.valueFormat) : dates;\n      };\n      const onChange = (dates: RangeValue<DateType>, dateStrings: [string, string]) => {\n        const values = maybeToStrings(dates);\n        emit('update:value', values);\n        emit('change', values, dateStrings);\n        formItemContext.onFieldChange();\n      };\n      const onOpenChange = (open: boolean) => {\n        emit('update:open', open);\n        emit('openChange', open);\n      };\n      const onFocus = (e: FocusEvent) => {\n        emit('focus', e);\n      };\n      const onBlur = (e: FocusEvent) => {\n        emit('blur', e);\n        formItemContext.onFieldBlur();\n      };\n      const onPanelChange = (dates: RangeValue<DateType>, modes: [PanelMode, PanelMode]) => {\n        const values = maybeToStrings(dates);\n        emit('panelChange', values, modes);\n      };\n      const onOk = (dates: DateType[]) => {\n        const value = maybeToStrings(dates);\n        emit('ok', value);\n      };\n      const onCalendarChange: RangePickerSharedProps<DateType>['onCalendarChange'] = (\n        dates: [DateType, DateType],\n        dateStrings: [string, string],\n        info,\n      ) => {\n        const values = maybeToStrings(dates);\n        emit('calendarChange', values, dateStrings, info);\n      };\n      const [contextLocale] = useLocaleReceiver('DatePicker', enUS.DatePicker);\n\n      const value = computed(() => {\n        if (props.value) {\n          return props.valueFormat\n            ? generateConfig.toDate(props.value, props.valueFormat)\n            : props.value;\n        }\n        return props.value;\n      });\n      const defaultValue = computed(() => {\n        if (props.defaultValue) {\n          return props.valueFormat\n            ? generateConfig.toDate(props.defaultValue, props.valueFormat)\n            : props.defaultValue;\n        }\n        return props.defaultValue;\n      });\n      const defaultPickerValue = computed(() => {\n        if (props.defaultPickerValue) {\n          return props.valueFormat\n            ? generateConfig.toDate(props.defaultPickerValue, props.valueFormat)\n            : props.defaultPickerValue;\n        }\n        return props.defaultPickerValue;\n      });\n      return () => {\n        const locale = { ...contextLocale.value, ...props.locale };\n        const p = { ...props, ...attrs };\n        const {\n          bordered = true,\n          placeholder,\n          suffixIcon = slots.suffixIcon?.(),\n          picker = 'date',\n          transitionName,\n          allowClear = true,\n          dateRender = slots.dateRender,\n          renderExtraFooter = slots.renderExtraFooter,\n          separator = slots.separator?.(),\n          clearIcon = slots.clearIcon?.(),\n          id = formItemContext.id.value,\n          ...restProps\n        } = p;\n        delete restProps['onUpdate:value'];\n        delete restProps['onUpdate:open'];\n        const { format, showTime } = p as any;\n\n        let additionalOverrideProps: any = {};\n        additionalOverrideProps = {\n          ...additionalOverrideProps,\n          ...(showTime ? getTimeProps({ format, picker, ...showTime }) : {}),\n          ...(picker === 'time'\n            ? getTimeProps({ format, ...omit(restProps, ['disabledTime']), picker })\n            : {}),\n        };\n        const pre = prefixCls.value;\n        const suffixNode = (\n          <>\n            {suffixIcon || (picker === 'time' ? <ClockCircleOutlined /> : <CalendarOutlined />)}\n            {formItemInputContext.hasFeedback && formItemInputContext.feedbackIcon}\n          </>\n        );\n        return wrapSSR(\n          <VcRangePicker\n            dateRender={dateRender}\n            renderExtraFooter={renderExtraFooter}\n            separator={\n              separator || (<span aria-label=\"to\" class={`${pre}-separator`}><SwapRightOutlined /></span>)\n            }\n            ref={pickerRef}\n            dropdownAlign={transPlacement2DropdownAlign(direction.value, props.placement)}\n            placeholder={getRangePlaceholder(locale, picker, placeholder as [string, string])}\n            suffixIcon={suffixNode}\n            clearIcon={clearIcon || <CloseCircleFilled />}\n            allowClear={allowClear}\n            transitionName={transitionName || `${rootPrefixCls.value}-slide-up`}\n            {...restProps}\n            {...additionalOverrideProps}\n            disabled={disabled.value}\n            id={id}\n            value={value.value}\n            defaultValue={defaultValue.value}\n            defaultPickerValue={defaultPickerValue.value}\n            picker={picker}\n            class={classNames(\n              {\n                [`${pre}-${mergedSize.value}`]: mergedSize.value,\n                [`${pre}-borderless`]: !bordered,\n              },\n              getStatusClassNames(\n                pre,\n                getMergedStatus(formItemInputContext.status, props.status),\n                formItemInputContext.hasFeedback,\n              ),\n              attrs.class,\n              hashId.value,\n              compactItemClassnames.value,\n            )}\n            locale={locale!.lang}\n            prefixCls={pre}\n            getPopupContainer={attrs.getCalendarContainer || getPopupContainer.value}\n            generateConfig={generateConfig}\n            prevIcon={slots.prevIcon?.() || <span class={`${pre}-prev-icon`} />}\n            nextIcon={slots.nextIcon?.() || <span class={`${pre}-next-icon`} />}\n            superPrevIcon={slots.superPrevIcon?.() || <span class={`${pre}-super-prev-icon`} />}\n            superNextIcon={slots.superNextIcon?.() || <span class={`${pre}-super-next-icon`} />}\n            components={Components}\n            direction={direction.value}\n            dropdownClassName={classNames(\n              hashId.value,\n              props.popupClassName,\n              props.dropdownClassName,\n            )}\n            onChange={onChange}\n            onOpenChange={onOpenChange}\n            onFocus={onFocus}\n            onBlur={onBlur}\n            onPanelChange={onPanelChange}\n            onOk={onOk}\n            onCalendarChange={onCalendarChange}\n          />,\n        );\n      };\n    },\n  });\n\n  return RangePicker;\n}\n"],"names":["generateRangePicker","generateConfig","extraProps","RangePicker","compatConfig","MODE","name","inheritAttrs","props","commonProps","rangePickerProps","slots","Object","setup","_props","expose","attrs","emit","formItemContext","useInjectFormItemContext","formItemInputContext","FormItemInputContext","useInject","process","env","NODE_ENV","devWarning","dropdownClassName","getCalendarContainer","prefixCls","direction","getPopupContainer","size","rootPrefixCls","disabled","useConfigInject","compactSize","compactItemClassnames","useCompactItemContext","mergedSize","computed","value","wrapSSR","hashId","useStyle","pickerRef","ref","focus","blur","maybeToStrings","dates","valueFormat","toString","onChange","dateStrings","values","onFieldChange","onOpenChange","open","onFocus","e","onBlur","onFieldBlur","onPanelChange","modes","onOk","onCalendarChange","info","contextLocale","useLocaleReceiver","enUS","DatePicker","toDate","defaultValue","defaultPickerValue","locale","p","bordered","placeholder","suffixIcon","picker","transitionName","allowClear","dateRender","renderExtraFooter","separator","clearIcon","id","restProps","format","showTime","additionalOverrideProps","getTimeProps","omit","pre","suffixNode","_createVNode","_Fragment","ClockCircleOutlined","CalendarOutlined","hasFeedback","feedbackIcon","VcRangePicker","SwapRightOutlined","transPlacement2DropdownAlign","placement","getRangePlaceholder","CloseCircleFilled","classNames","getStatusClassNames","getMergedStatus","status","class","lang","prevIcon","nextIcon","superPrevIcon","superNextIcon","Components","popupClassName"],"mappings":"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"}