element-plus/packages/utils/vue/icon.ts

45 lines
771 B
TypeScript

import {
CircleCheck,
CircleClose,
CircleCloseFilled,
Close,
InfoFilled,
Loading,
SuccessFilled,
WarningFilled,
} from '@element-plus/icons-vue'
import { definePropType } from './props'
import type { Component, VNode } from 'vue'
export const iconPropType = definePropType<string | Component | (() => VNode)>([
String,
Object,
Function,
])
export const CloseComponents = {
Close,
}
export const TypeComponents = {
Close,
SuccessFilled,
InfoFilled,
WarningFilled,
CircleCloseFilled,
}
export const TypeComponentsMap = {
success: SuccessFilled,
warning: WarningFilled,
error: CircleCloseFilled,
info: InfoFilled,
}
export const ValidateComponentsMap = {
validating: Loading,
success: CircleCheck,
error: CircleClose,
}