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