import type { ExtractPropTypes, PropType } from 'vue'
import { omit } from '@daysnap/utils'
import { horCellProps } from '../hor-cell'
import { makeBooleanProp, makeNumericProp, makeAnyProp } from '../utils'

export const omitHorCellPropsInCellPicker = omit(horCellProps, ['value', 'arrow', 'formatter'])

export const horCellPickerProps = {
  ...omitHorCellPropsInCellPicker,
  disabled: makeBooleanProp(false),
  clearable: makeBooleanProp(false),
  modelValue: makeAnyProp(''),
  placeholder: makeNumericProp('请选择'),
  formatter: {
    type: Function as PropType<(v: any) => any>,
    default: (v: any) => v,
  },
}

export type HorCellPickerProps = ExtractPropTypes<typeof horCellPickerProps>
