| | |
| | | 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 |
| | | } |