#
zhou zhou
2 天以前 2812a2504ec3d0a98fa7e6204e6048584723adab
rsf-design/src/plugins/iconify.js
@@ -1,36 +1,26 @@
import { addCollection } from '@iconify/vue/offline'
import { icons as fluentIcons } from '@iconify-json/fluent'
import { icons as iconParkOutlineIcons } from '@iconify-json/icon-park-outline'
import { icons as iconamoonIcons } from '@iconify-json/iconamoon'
import { icons as ixIcons } from '@iconify-json/ix'
import { icons as lineMdIcons } from '@iconify-json/line-md'
import { icons as remixIcons } from '@iconify-json/ri'
import { icons as svgSpinnersIcons } from '@iconify-json/svg-spinners'
import { icons as systemUiconsIcons } from '@iconify-json/system-uicons'
import { icons as vaadinIcons } from '@iconify-json/vaadin'
let iconCollectionsRegistered = false
let iconCollectionsPromise = null
export const LOCAL_ICON_COLLECTIONS = Object.freeze({
  fluent: fluentIcons,
  'icon-park-outline': iconParkOutlineIcons,
  iconamoon: iconamoonIcons,
  ix: ixIcons,
  'line-md': lineMdIcons,
  ri: remixIcons,
  'svg-spinners': svgSpinnersIcons,
  'system-uicons': systemUiconsIcons,
  vaadin: vaadinIcons
})
export function registerLocalIconCollections() {
export async function registerLocalIconCollections() {
  if (iconCollectionsRegistered) {
    return
  }
  Object.values(LOCAL_ICON_COLLECTIONS).forEach((collection) => {
    addCollection(collection)
  })
  if (!iconCollectionsPromise) {
    iconCollectionsPromise = import('./iconify.collections.js')
      .then(({ LOCAL_ICON_COLLECTIONS }) => {
        Object.values(LOCAL_ICON_COLLECTIONS).forEach((collection) => {
          addCollection(collection)
        })
        iconCollectionsRegistered = true
      })
      .catch((error) => {
        iconCollectionsPromise = null
        throw error
      })
  }
  iconCollectionsRegistered = true
  await iconCollectionsPromise
}