import { makeComponentProps } from '@/composables/component' import { makeTagProps } from '@/composables/tag' import { genericComponent, propsFactory } from '@/utils' import { ExtractPropTypes } from 'vue' import { computed } from 'vue' export const makeUViberIconProps = propsFactory( { size: { type: String, default: 'sm', required: false, }, ...makeComponentProps(), ...makeTagProps(), }, 'UViberIcon' ) export type UViberIconProps = ExtractPropTypes export type UViberIconSlots = { // } export const UViberIcon = genericComponent()({ name: 'UViberIcon', props: makeUViberIconProps(), setup(props) { const iconSize = computed(() => { let size = '16' if (props.size === 'sm') { size = '16' } else if (props.size === 'md') { size = '20' } else if (props.size === 'lg') { size = '24' } else if (props.size === 'xl') { size = '28' } else if (props.size === '2xl') { size = '32' } return size }) return () => (
) }, }) export type UViberIcon = InstanceType