UNPKG

@unocss/preset-icons

Version:

Pure CSS Icons for UnoCSS

49 lines (46 loc) 1.51 kB
import { loadIcon } from '@iconify/utils'; import { definePreset } from '@unocss/core'; import { c as createCDNLoader } from './shared/preset-icons.DE2iazBM.mjs'; import { createPresetIcons, getEnvFlags, combineLoaders } from './core.mjs'; export { createCDNFetchLoader, icons, parseIconWithLoader } from './core.mjs'; import 'ofetch'; import '@iconify/utils/lib/loader/loader'; import '@iconify/utils/lib/loader/modern'; import '@iconify/utils/lib/svg/encode-svg-for-css'; const _factory = /* @__PURE__ */ createPresetIcons(async (options) => { const { cdn } = options; const loaders = []; const { isNode, isVSCode, isESLint } = getEnvFlags(); if (isNode && !isVSCode && !isESLint) { const nodeLoader = await createNodeLoader(); if (nodeLoader !== void 0) loaders.push(nodeLoader); } if (cdn) loaders.push(createCDNLoader(cdn)); loaders.push(loadIcon); return combineLoaders(loaders); }); const presetIcons = /* @__PURE__ */ definePreset((options = {}) => { const preset = _factory(options); const api = preset.api; api.createNodeLoader = createNodeLoader; return preset; }); async function createNodeLoader() { try { return await import('@iconify/utils/lib/loader/node-loader').then((i) => i?.loadNodeIcon); } catch { } try { return require("@iconify/utils/lib/loader/node-loader.cjs").loadNodeIcon; } catch { } } export { combineLoaders, createNodeLoader, createPresetIcons, presetIcons as default, getEnvFlags, presetIcons };