icons.ts 658 B

1234567891011121314151617181920212223
  1. import * as ElementPlusIcons from '@element-plus/icons-vue'
  2. //@ts-ignore
  3. const localIconsName: string[] = []
  4. export const LOCAL_ICON_PREFIX = 'local-icon-'
  5. export const EL_ICON_PREFIX = 'el-icon-'
  6. const elIconsName: string[] = []
  7. export function getElementPlusIconNames() {
  8. return elIconsName
  9. }
  10. export function getLocalIconNames() {
  11. return localIconsName
  12. }
  13. export default defineNuxtPlugin((nuxtApp) => {
  14. for (const [iconName, component] of Object.entries(ElementPlusIcons)) {
  15. const componenName = `${EL_ICON_PREFIX}${iconName}`
  16. elIconsName.push(componenName)
  17. nuxtApp.vueApp.component(componenName, component)
  18. }
  19. })