{"version":3,"file":"props.mjs","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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"}