{"version":3,"file":"props.mjs","sources":["../../../../../../../packages/components/date-picker/src/generatePicker/props.ts"],"sourcesContent":["import type { DatePickerLocale } from '@antdv/locale';\nimport type { FocusEventHandler, InputStatus, MouseEventHandler, SizeType, VueNode } from '@antdv/types';\nimport type {\n  CustomFormat,\n  DisabledTime,\n  DisabledTimes,\n  EventValue,\n  PanelMode,\n  PickerMode,\n  PresetDate,\n  RangeValue,\n} from '@antdv/vue-components/vc-picker/src/interface';\nimport type { DateRender } from '@antdv/vue-components/vc-picker/src/panels/DatePanel/DateBody';\nimport type { MonthCellRender } from '@antdv/vue-components/vc-picker/src/panels/MonthPanel/MonthBody';\n\nimport type { SharedTimeProps } from '@antdv/vue-components/vc-picker/src/panels/TimePanel';\nimport type { RangeDateRender, RangeInfo, RangeType } from '@antdv/vue-components/vc-picker/src/RangePicker';\nimport type { CSSProperties } from 'vue';\nimport {\n  arrayType,\n  booleanType,\n  functionType,\n  objectType,\n  someType,\n  stringType,\n} from '@antdv/utils';\n\nconst DataPickerPlacements = ['bottomLeft', 'bottomRight', 'topLeft', 'topRight'] as const;\ntype DataPickerPlacement = (typeof DataPickerPlacements)[number];\n\ntype RangeShowTimeObject<DateType> = Omit<SharedTimeProps<DateType>, 'defaultValue'> & {\n  defaultValue?: DateType[]\n};\n\nfunction commonProps<DateType = any>() {\n  return {\n    'id': String,\n    /**\n     * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n     *   version.Please use `popupClassName` instead.\n     */\n    'dropdownClassName': String,\n    'popupClassName': String,\n    'popupStyle': objectType<CSSProperties>(),\n    'transitionName': String,\n    'placeholder': String,\n    'allowClear': booleanType(),\n    'autofocus': booleanType(),\n    'disabled': booleanType(),\n    'tabindex': Number,\n    'open': booleanType(),\n    'defaultOpen': booleanType(),\n    /** Make input readOnly to avoid popup keyboard in mobile */\n    'inputReadOnly': booleanType(),\n    'format': someType<string | CustomFormat<DateType> | Array<string | CustomFormat<DateType>>>([\n      String,\n      Function,\n      Array,\n    ]),\n    // Value\n    // format:  string | CustomFormat<DateType> | (string | CustomFormat<DateType>)[];\n    // Render\n    // suffixIcon?: VueNode;\n    // clearIcon?: VueNode;\n    // prevIcon?: VueNode;\n    // nextIcon?: VueNode;\n    // superPrevIcon?: VueNode;\n    // superNextIcon?: VueNode;\n    'getPopupContainer': functionType<(node: HTMLElement) => HTMLElement>(),\n    'panelRender': functionType<(originPanel: VueNode) => VueNode>(),\n    // // Events\n    'onChange': functionType<(value: DateType | string | null, dateString: string) => void>(),\n    'onUpdate:value': functionType<(value: DateType | string | null) => void>(),\n    'onOk': functionType<(value: DateType | string | null) => void>(),\n    'onOpenChange': functionType<(open: boolean) => void>(),\n    'onUpdate:open': functionType<(open: boolean) => void>(),\n    'onFocus': functionType<FocusEventHandler>(),\n    'onBlur': functionType<FocusEventHandler>(),\n    'onMousedown': functionType<MouseEventHandler>(),\n    'onMouseup': functionType<MouseEventHandler>(),\n    'onMouseenter': functionType<MouseEventHandler>(),\n    'onMouseleave': functionType<MouseEventHandler>(),\n    'onClick': functionType<MouseEventHandler>(),\n    'onContextmenu': functionType<MouseEventHandler>(),\n    'onKeydown': functionType<(event: KeyboardEvent, preventDefault: () => void) => void>(),\n    // WAI-ARIA\n    'role': String,\n    'name': String,\n    'autocomplete': String,\n    'direction': stringType<'ltr' | 'rtl'>(),\n    'showToday': booleanType(),\n    'showTime': someType<boolean | SharedTimeProps<DateType>>([Boolean, Object]),\n    'locale': objectType<DatePickerLocale>(),\n    'size': stringType<SizeType>(),\n    'bordered': booleanType(),\n    'dateRender': functionType<DateRender<DateType>>(),\n    'disabledDate': functionType<(date: DateType) => boolean>(),\n    'mode': stringType<PanelMode>(),\n    'picker': stringType<PickerMode>(),\n    'valueFormat': String,\n    'placement': stringType<DataPickerPlacement>(),\n    'status': stringType<InputStatus>(),\n\n    /** @deprecated Please use `disabledTime` instead. */\n    'disabledHours': functionType<DisabledTimes['disabledHours']>(),\n    /** @deprecated Please use `disabledTime` instead. */\n    'disabledMinutes': functionType<DisabledTimes['disabledMinutes']>(),\n    /** @deprecated Please use `disabledTime` instead. */\n    'disabledSeconds': functionType<DisabledTimes['disabledSeconds']>(),\n  };\n}\n\nexport interface CommonProps<DateType> {\n  'id'?: string\n  'prefixCls'?: string\n  /**\n   * @deprecated `dropdownClassName` is deprecated which will be removed in next major\n   *   version.Please use `popupClassName` instead.\n   */\n\n  'dropdownClassName'?: string\n  'popupClassName'?: string\n  'popupStyle'?: CSSProperties\n  'transitionName'?: string\n  'placeholder'?: string\n  'allowClear'?: boolean\n  'autofocus'?: boolean\n  'disabled'?: boolean\n  'tabindex'?: number\n  'open'?: boolean\n  'defaultOpen'?: boolean\n  'inputReadOnly'?: boolean\n  'format'?: string | CustomFormat<DateType> | Array<string | CustomFormat<DateType>>\n  'suffixIcon'?: VueNode\n  'clearIcon'?: VueNode\n  'prevIcon'?: VueNode\n  'nextIcon'?: VueNode\n  'superPrevIcon'?: VueNode\n  'superNextIcon'?: VueNode\n  'getPopupContainer'?: (triggerNode: HTMLElement) => HTMLElement\n  'panelRender'?: (originPanel: VueNode) => VueNode\n  'onChange'?: (value: DateType | string | null, dateString: string) => void\n  'onUpdate:value'?: (value: DateType | string | null) => void\n  'onOk'?: (value: DateType | string | null) => void\n  'onOpenChange'?: (open: boolean) => void\n  'onUpdate:open'?: (open: boolean) => void\n  'onFocus'?: FocusEventHandler\n  'onBlur'?: FocusEventHandler\n  'onMousedown'?: MouseEventHandler\n  'onMouseup'?: MouseEventHandler\n  'onMouseenter'?: MouseEventHandler\n  'onMouseleave'?: MouseEventHandler\n  'onClick'?: MouseEventHandler\n  'onContextmenu'?: MouseEventHandler\n  'onKeydown'?: (event: KeyboardEvent, preventDefault: () => void) => void\n  'role'?: string\n  'name'?: string\n  'autocomplete'?: string\n  'direction'?: 'ltr' | 'rtl'\n  'showToday'?: boolean\n  'showTime'?: boolean | SharedTimeProps<DateType>\n  'locale'?: DatePickerLocale\n  'size'?: SizeType\n  'bordered'?: boolean\n  'dateRender'?: DateRender<DateType>\n  'disabledDate'?: (date: DateType) => boolean\n  'mode'?: PanelMode\n  'picker'?: PickerMode\n  'valueFormat'?: string\n  'placement'?: DataPickerPlacement\n  'status'?: InputStatus\n}\n\nfunction datePickerProps<DateType = any>() {\n  return {\n    defaultPickerValue: someType<DateType | string>([Object, String]),\n    defaultValue: someType<DateType | string>([Object, String]),\n    value: someType<DateType | string>([Object, String]),\n    presets: arrayType<Array<PresetDate<DateType>>>(),\n    disabledTime: functionType<DisabledTime<DateType>>(),\n    renderExtraFooter: functionType<(mode: PanelMode) => VueNode>(),\n    showNow: booleanType(),\n    monthCellRender: functionType<MonthCellRender<DateType>>(),\n    // deprecated  Please use `monthCellRender\"` instead.',\n    monthCellContentRender: functionType<MonthCellRender<DateType>>(),\n  };\n}\n\nexport interface DatePickerProps<DateType> {\n  defaultPickerValue?: DateType | string\n  defaultValue?: DateType | string\n  value?: DateType | string\n  presets?: Array<PresetDate<DateType>>\n  disabledTime?: DisabledTime<DateType>\n  renderExtraFooter?: (mode: PanelMode) => VueNode\n  showNow?: boolean\n  monthCellRender?: MonthCellRender<DateType>\n  // deprecated  Please use `monthCellRender\"` instead.',\n  monthCellContentRender?: MonthCellRender<DateType>\n}\n\nfunction rangePickerProps<DateType>() {\n  return {\n    'allowEmpty': arrayType<[boolean, boolean]>(),\n    'dateRender': functionType<RangeDateRender<DateType>>(),\n    'defaultPickerValue': arrayType<RangeValue<DateType> | RangeValue<string>>(),\n    'defaultValue': arrayType<RangeValue<DateType> | RangeValue<string>>(),\n    'value': arrayType<RangeValue<DateType> | RangeValue<string>>(),\n    'presets': arrayType<Array<PresetDate<DateType[]>>>(),\n    'disabledTime': functionType<(date: EventValue<DateType>, type: RangeType) => DisabledTimes>(),\n    'disabled': someType<boolean | [boolean, boolean]>([Boolean, Array]),\n    'renderExtraFooter': functionType<() => VueNode>(),\n    'separator': { type: String },\n    'showTime': someType<boolean | RangeShowTimeObject<DateType>>([Boolean, Object]),\n    'ranges':\n      objectType<\n        Record<\n          string,\n          Exclude<RangeValue<DateType>, null> | (() => Exclude<RangeValue<DateType>, null>)\n        >\n      >(),\n    'placeholder': arrayType<string[]>(),\n    'mode': arrayType<[PanelMode, PanelMode]>(),\n    'onChange':\n      functionType<\n        (\n          value: RangeValue<DateType> | RangeValue<string> | null,\n          dateString: [string, string],\n        ) => void\n      >(),\n    'onUpdate:value':\n      functionType<(value: RangeValue<DateType> | RangeValue<string> | null) => void>(),\n    'onCalendarChange':\n      functionType<\n        (\n          values: RangeValue<DateType> | RangeValue<string>,\n          formatString: [string, string],\n          info: RangeInfo,\n        ) => void\n      >(),\n    'onPanelChange':\n      functionType<\n        (values: RangeValue<DateType> | RangeValue<string>, modes: [PanelMode, PanelMode]) => void\n      >(),\n    'onOk': functionType<(dates: RangeValue<DateType> | RangeValue<string>) => void>(),\n  };\n}\n\nexport interface ExtraDatePickerProps<DateType> {\n  valueFormat?: string\n  defaultPickerValue?: DateType | string\n  defaultValue?: DateType | string\n  value?: DateType | string\n}\n\nexport interface ExtraRangePickerProps<DateType> {\n  valueFormat?: string\n  defaultPickerValue?: RangeValue<DateType> | RangeValue<string>\n  defaultValue?: RangeValue<DateType> | RangeValue<string>\n  value?: RangeValue<DateType> | RangeValue<string>\n}\n\nexport { commonProps, datePickerProps, rangePickerProps };\n"],"names":[],"mappings":"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"}