import { buildProps, definePropType } from '@kankan/utils'
import type { ExtractPropTypes } from 'vue'
import type Icon from './icon.vue'

export const iconProps = buildProps({
    type: { type: String },
    size: {
        type: definePropType<number | string>([Number, String]),
    },
    color: { type: String },
    small: { type: Boolean },
    ctrl: { type: Boolean },
    medium: { type: Boolean },
    big: { type: Boolean },
    disabled: { type: Boolean },
    tip: { type: String },
    tipH: {
        type: String,
        default: 'center',
    },
    tipV: {
        type: String,
        default: 'bottom',
    },
})

export type IconProps = ExtractPropTypes<typeof iconProps>

export type IconInstance = InstanceType<typeof Icon>
