npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@fireflymit/ui

v0.1.3

Published

UI Components built with Vue3 - Element Plus

Readme

@fireflymit/ui

基于 Element Plus 封装的 Vue 3 业务组件库。

安装

pnpm add @fireflymit/ui element-plus

使用方式

全局引入

一次性注册所有组件:

import FireflyUI from '@fireflymit/ui'
import { createApp } from 'vue'
import 'element-plus/dist/index.css'
import '@fireflymit/ui/style.css'

const app = createApp(App)
app.use(FireflyUI)

注册后在模板中直接使用:

<template>
  <Badge type="success" text="在线" />
  <Banner title="欢迎" subtitle="FireflyUI 组件库" />
</template>

自动按需引入

配合 unplugin-auto-importunplugin-vue-components 使用,模板里写到组件时会自动导入对应组件:

import { FireflyMitResolver } from '@fireflymit/ui/resolver'
import vue from '@vitejs/plugin-vue'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [FireflyMitResolver()],
    }),
    Components({
      resolvers: [FireflyMitResolver()],
    }),
  ],
})

默认会自动引入 @fireflymit/ui/style.css。如果你已经在项目入口手动引入了组件库样式,可以关闭样式副作用:

FireflyMitResolver({ importStyle: false })

需要组件名前缀时可以这样配置:

FireflyMitResolver({ prefix: 'F' })

然后在模板中使用:

<template>
  <FBadge type="success" text="在线" />
</template>

手动按需引入

只引入需要的组件,减小打包体积:

import { Badge, Banner } from '@fireflymit/ui'
import 'element-plus/dist/index.css'
import '@fireflymit/ui/style.css'

或通过路径引入单个组件:

import Badge from '@fireflymit/ui/es/components/Badge'
import Banner from '@fireflymit/ui/es/components/Banner'
import '@fireflymit/ui/style.css'

组件列表

| 组件 | 说明 | | ------------- | ------------------------------------------ | | Badge | 状态徽章,带颜色圆点和文本标签 | | Banner | 横幅组件,支持标题、副标题、按钮和流星动画 | | CardBanner | 卡片式横幅,适合图文展示和操作按钮 | | ContextMenu | 右键上下文菜单,支持嵌套子菜单 | | CountTo | 数字滚动动画组件 | | DialogForm | 弹窗表单,内置提交状态、校验和重置流程 | | DragVerify | 拖拽验证滑块 | | DrawerForm | 抽屉表单,适合编辑和详情类业务流程 | | ProForm | 高级表单生成器,支持多种字段类型 | | SearchBar | 搜索栏,支持展开/收起 | | SvgIcon | Iconify SVG 图标组件 | | TextScroll | 文字滚动公告组件 | | Upload | 文件上传组件,支持拖拽、校验、进度和重试 |

样式

组件库样式需手动引入(路径与 Element Plus 一致):

import 'element-plus/dist/index.css'
import '@fireflymit/ui/style.css'

TypeScript

组件库自带完整类型声明,IDE 中可获得自动补全和类型检查。

开发

pnpm install          # 安装依赖
pnpm build:ui         # 构建
pnpm dev:play         # 启动 playground 预览

许可证

MIT