{"version":3,"file":"props.cjs","sources":["../../../components/date-picker/props.ts"],"sourcesContent":["import {\n  booleanProp,\n  booleanStringProp,\n  buildProps,\n  eventProp,\n  iconProp,\n  localeProp,\n  sizeProp,\n  stateProp,\n} from '@vexip-ui/config'\n\nimport type { ExtractPropTypes, PropType } from 'vue'\nimport type { IconEffect } from '@/components/icon'\nimport type { ConfigurableProps, EventListener, LocaleConfig } from '@vexip-ui/config'\nimport type { Placement } from '@vexip-ui/hooks'\nimport type { Dateable } from '@vexip-ui/utils'\nimport type {\n  DatePickerChangeEvent,\n  DatePickerFormatFn,\n  DatePickerSlots,\n  DatePickerType,\n  DateShortcut,\n  DateShortcutsPlacement,\n  DateTimeType,\n  TimePickerChangeEvent,\n  TimePickerSlots,\n  TimeShortcut,\n  TimeShortcutsPlacement,\n  TimeType,\n} from './symbol'\n\nexport interface DatePickerShortcutEvent {\n  (name: string, value: Dateable | Dateable[]): void,\n  (name: string, value: Dateable): void,\n  (name: string, value: Dateable[]): void\n}\n\nexport const datePickerProps = buildProps({\n  size: sizeProp,\n  state: stateProp,\n  locale: Object as PropType<Partial<LocaleConfig['calendar'] & LocaleConfig['datePicker']>>,\n  type: String as PropType<DatePickerType>,\n  visible: booleanProp,\n  placement: String as PropType<Placement>,\n  transfer: booleanStringProp,\n  value: [Number, String, Date, Array] as PropType<Dateable | Dateable[]>,\n  format: String,\n  valueFormat: [String, Array, Function] as PropType<string | string[] | DatePickerFormatFn>,\n  filler: String,\n  clearable: booleanProp,\n  noAction: booleanProp,\n  labels: Object as PropType<Partial<Record<DateTimeType, string>>>,\n  dateSeparator: String,\n  timeSeparator: String,\n  shortcuts: Array as PropType<DateShortcut[]>,\n  disabledDate: Function as PropType<(date: Date) => boolean>,\n  steps: Array as PropType<number[]>,\n  ctrlSteps: Array as PropType<number[]>,\n  prefix: iconProp,\n  prefixColor: String,\n  suffix: iconProp,\n  suffixColor: String,\n  noSuffix: booleanProp,\n  disabled: booleanProp,\n  transitionName: String,\n  confirmText: String,\n  cancelText: String,\n  today: [Number, String, Date] as PropType<Dateable>,\n  range: booleanProp,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingLock: booleanProp,\n  loadingEffect: String as PropType<IconEffect>,\n  min: [Number, String, Date] as PropType<Dateable>,\n  max: [Number, String, Date] as PropType<Dateable>,\n  outsideClose: booleanProp,\n  outsideCancel: booleanProp,\n  placeholder: [String, Array] as PropType<string | string[]>,\n  unitReadonly: booleanProp,\n  weekStart: Number,\n  popperAlive: booleanProp,\n  shortcutsPlacement: String as PropType<DateShortcutsPlacement>,\n  slots: Object as PropType<DatePickerSlots>,\n  onInput: eventProp<(type: DateTimeType, value: number) => void>(),\n  onPlus: eventProp<(type: DateTimeType, value: number) => void>(),\n  onMinus: eventProp<(type: DateTimeType, value: number) => void>(),\n  onEnter: eventProp(),\n  onCancel: eventProp(),\n  onChange: eventProp<EventListener<DatePickerChangeEvent>>(),\n  onClear: eventProp(),\n  onShortcut: eventProp<DatePickerShortcutEvent>(),\n  onToggle: eventProp<(visible: boolean) => void>(),\n  onFocus: eventProp(),\n  onBlur: eventProp(),\n  onChangeCol: eventProp<(type: DateTimeType | null, inputType: 'start' | 'end') => void>(),\n  onClickOutside: eventProp(),\n  onOutsideClose: eventProp(),\n})\n\nexport type DatePickerProps = ExtractPropTypes<typeof datePickerProps>\nexport type DatePickerCProps = ConfigurableProps<DatePickerProps>\n\nexport interface TimePickerShortcutEvent {\n  (name: string, value: string | string[]): void,\n  (name: string, value: string): void,\n  (name: string, value: string[]): void\n}\n\nexport const timePickerProps = buildProps({\n  size: sizeProp,\n  state: stateProp,\n  locale: localeProp('timePicker'),\n  visible: booleanProp,\n  placement: String as PropType<Placement>,\n  transfer: booleanStringProp,\n  format: String,\n  separator: String,\n  value: [String, Array] as PropType<string | string[]>,\n  filler: String,\n  clearable: booleanProp,\n  noAction: booleanProp,\n  noArrow: booleanProp,\n  pointer: booleanProp,\n  candidate: Number as PropType<0 | 1 | 2 | 3>,\n  steps: Array as PropType<number[]>,\n  labels: Object as PropType<Partial<Record<TimeType, string>>>,\n  shortcuts: Array as PropType<TimeShortcut[]>,\n  range: booleanProp,\n  disabled: booleanProp,\n  transitionName: String,\n  confirmText: String,\n  cancelText: String,\n  ctrlSteps: Array as PropType<number[]>,\n  prefix: iconProp,\n  prefixColor: String,\n  suffix: iconProp,\n  suffixColor: String,\n  noSuffix: booleanProp,\n  exchange: booleanProp,\n  loading: booleanProp,\n  loadingIcon: iconProp,\n  loadingLock: booleanProp,\n  loadingEffect: String as PropType<IconEffect>,\n  min: String,\n  max: String,\n  outsideClose: booleanProp,\n  outsideCancel: booleanProp,\n  unitReadonly: booleanProp,\n  popperAlive: booleanProp,\n  shortcutsPlacement: String as PropType<TimeShortcutsPlacement>,\n  placeholder: [String, Array] as PropType<string | string[]>,\n  slots: Object as PropType<TimePickerSlots>,\n  onInput: eventProp<(type: TimeType, value: number) => void>(),\n  onPlus: eventProp<(type: TimeType, value: number) => void>(),\n  onMinus: eventProp<(type: TimeType, value: number) => void>(),\n  onEnter: eventProp(),\n  onCancel: eventProp(),\n  onChange: eventProp<EventListener<TimePickerChangeEvent>>(),\n  onClear: eventProp(),\n  onShortcut: eventProp<TimePickerShortcutEvent>(),\n  onToggle: eventProp<(visible: boolean) => void>(),\n  onFocus: eventProp(),\n  onBlur: eventProp(),\n  onChangeCol: eventProp<(type: TimeType | null, inputType: 'start' | 'end') => void>(),\n  onClickOutside: eventProp(),\n  onOutsideClose: eventProp(),\n})\n\nexport type TimePickerProps = ExtractPropTypes<typeof timePickerProps>\nexport type TimePickerCProps = ConfigurableProps<TimePickerProps>\n"],"names":["datePickerProps","buildProps","sizeProp","stateProp","booleanProp","booleanStringProp","iconProp","eventProp","timePickerProps","localeProp"],"mappings":"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"}