{"version":3,"file":"TimePicker.mjs","sources":["../../../../../../packages/components/time-picker/src/TimePicker.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 { TimePickerProps, TimeRangePickerProps } from './interface';\nimport { devWarning, omit } from '@antdv/utils';\n\nimport { defineComponent, ref } from 'vue';\nimport generatePicker from '../../date-picker/src/generatePicker';\nimport { commonProps, datePickerProps, rangePickerProps } from '../../date-picker/src/generatePicker/props';\nimport { useInjectFormItemContext } from '../../form/src/FormItemContext';\nimport { commonTimePickerProps } from './props';\n\nfunction createTimePicker<\n  DateType,\n  DTimePickerProps extends TimePickerProps<DateType> = TimePickerProps<DateType>,\n  DTimeRangePickerProps extends TimeRangePickerProps<DateType> = TimeRangePickerProps<DateType>,\n>(generateConfig: GenerateConfig<DateType>) {\n  const DatePicker = generatePicker<DateType>(generateConfig, {\n    ...commonTimePickerProps(),\n    order: { type: Boolean, default: true },\n  });\n\n  const { TimePicker: InternalTimePicker, RangePicker: InternalRangePicker } = DatePicker as any;\n  const TimePicker = defineComponent<DTimePickerProps>({\n    name: 'ATimePicker',\n    inheritAttrs: false,\n    props: {\n      ...commonProps<any>(),\n      ...datePickerProps<any>(),\n      ...commonTimePickerProps(),\n      addon: { type: Function },\n    } as any,\n    slots: Object as SlotsType<{\n      addon?: any\n      renderExtraFooter?: any\n      suffixIcon?: any\n      clearIcon?: any\n      default: any\n    }>,\n    setup(p, { slots, expose, emit, attrs }) {\n      const props = p as unknown as DTimePickerProps;\n      const formItemContext = useInjectFormItemContext();\n      devWarning(\n        !(slots.addon || props.addon),\n        'TimePicker',\n        '`addon` is deprecated. Please use `v-slot:renderExtraFooter` instead.',\n      );\n      const pickerRef = ref();\n      expose({\n        focus: () => {\n          pickerRef.value?.focus();\n        },\n        blur: () => {\n          pickerRef.value?.blur();\n        },\n      });\n      const onChange = (value: DateType | string, dateString: string) => {\n        emit('update:value', value);\n        emit('change', value, dateString);\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 onOk = (value: DateType) => {\n        emit('ok', value);\n      };\n      return () => {\n        const { id = formItemContext.id.value } = props;\n        // restProps.addon\n        return (\n          <InternalTimePicker\n            {...attrs}\n            {...omit(props, ['onUpdate:value', 'onUpdate:open'])}\n            id={id}\n            dropdownClassName={props.popupClassName}\n            mode={undefined}\n            ref={pickerRef}\n            renderExtraFooter={\n              props.addon || slots.addon || props.renderExtraFooter || slots.renderExtraFooter\n            }\n            onChange={onChange}\n            onOpenChange={onOpenChange}\n            onFocus={onFocus}\n            onBlur={onBlur}\n            onOk={onOk}\n            v-slots={slots}\n          />\n        );\n      };\n    },\n  });\n\n  const TimeRangePicker = defineComponent<DTimeRangePickerProps>({\n    name: 'ATimeRangePicker',\n    inheritAttrs: false,\n    props: {\n      ...commonProps<any>(),\n      ...rangePickerProps<any>(),\n      ...commonTimePickerProps(),\n      order: { type: Boolean, default: true },\n    } as any,\n    slots: Object as SlotsType<{\n      renderExtraFooter?: any\n      suffixIcon?: any\n      clearIcon?: any\n      default: any\n    }>,\n    setup(p, { slots, expose, emit, attrs }) {\n      const props = p as unknown as DTimeRangePickerProps;\n      const pickerRef = ref();\n      const formItemContext = useInjectFormItemContext();\n      expose({\n        focus: () => {\n          pickerRef.value?.focus();\n        },\n        blur: () => {\n          pickerRef.value?.blur();\n        },\n      });\n      const onChange = (\n        values: RangeValue<string> | RangeValue<DateType>,\n        dateStrings: [string, string],\n      ) => {\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 = (\n        values: RangeValue<string> | RangeValue<DateType>,\n        modes: [PanelMode, PanelMode],\n      ) => {\n        emit('panelChange', values, modes);\n      };\n      const onOk = (values: RangeValue<string | DateType>) => {\n        emit('ok', values);\n      };\n      const onCalendarChange: RangePickerSharedProps<DateType>['onCalendarChange'] = (\n        values: RangeValue<string> | RangeValue<DateType>,\n        dateStrings: [string, string],\n        info,\n      ) => {\n        emit('calendarChange', values, dateStrings, info);\n      };\n      return () => {\n        const { id = formItemContext.id.value } = props;\n        return (\n          <InternalRangePicker\n            {...attrs}\n            {...omit(props, ['onUpdate:open', 'onUpdate:value'] as any)}\n            id={id}\n            dropdownClassName={props.popupClassName}\n            picker=\"time\"\n            mode={undefined}\n            ref={pickerRef}\n            onChange={onChange}\n            onOpenChange={onOpenChange}\n            onFocus={onFocus}\n            onBlur={onBlur}\n            onPanelChange={onPanelChange}\n            onOk={onOk}\n            onCalendarChange={onCalendarChange}\n            v-slots={slots}\n          />\n        );\n      };\n    },\n  });\n\n  return {\n    TimePicker,\n    TimeRangePicker,\n  };\n}\n\nexport default createTimePicker;\n"],"names":["createTimePicker","generateConfig","DatePicker","generatePicker","commonTimePickerProps","order","type","Boolean","default","TimePicker","InternalTimePicker","RangePicker","InternalRangePicker","name","inheritAttrs","props","commonProps","datePickerProps","addon","Function","slots","Object","setup","p","expose","emit","attrs","formItemContext","useInjectFormItemContext","devWarning","pickerRef","ref","focus","value","blur","onChange","dateString","onFieldChange","onOpenChange","open","onFocus","e","onBlur","onFieldBlur","onOk","id","_createVNode","omit","popupClassName","undefined","renderExtraFooter","TimeRangePicker","rangePickerProps","values","dateStrings","onPanelChange","modes","onCalendarChange","info"],"mappings":"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"}