Skip to content

@lumal/icons-vue ​

@lumal/icons 的 Vue 3 组件与响应式适配层。

项值
包名@lumal/icons-vue
本地路径packages/icons-vue
在线文档https://lumal.cuteyuchen.top/packages/icons-vue
npm 地址https://www.npmjs.com/package/@lumal/icons-vue

安装 ​

bash
pnpm add @lumal/icons@0.0.4-beta @lumal/icons-vue@0.0.4-beta vue@^3.5 @iconify/vue@^5

公开入口 ​

入口用途
@lumal/icons-vueLumalIcon、选择器、useIconRegistry
@lumal/icons-vue/style.css组件样式

基础用法 ​

vue
<script setup lang="ts">
import { LumalIcon } from '@lumal/icons-vue'
import '@lumal/icons-vue/style.css'
</script>

<template>
  <LumalIcon name="lumal:settings" color="#1677ff" :size="20" />
</template>

与 createLumalAdmin 联用 ​

在 createLumalAdmin({ icons: { localSvg: [...] } }) 中注册本地 SVG 后,可在菜单 icon 字段与 LumalIcon 中直接使用对应 key。

导出组件 ​

  • LumalIcon
  • LumalIconPicker
  • LumalIconPickerDialog
  • useIconRegistry

SVG 改色、合成、Data URI 等纯 TS 能力在 @lumal/icons,本包不重复实现。

可直接传入三种 source 的 IconDefinition。SVG 通过 HTML 渲染,只接受可信静态资源,注册和渲染不自动净化;单色格式检查不是完整 sanitizer。弹窗通过 Teleport 挂载到 body,约束 Tab、支持 Escape,并在关闭/卸载时恢复原焦点。

Peer ​

  • vue:^3.5.0
  • @iconify/vue:^5.0.0

基于 MIT 许可发布 · Vue 3 · TypeScript · Vite · Element Plus