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 🙏

© 2025 – Pkg Stats / Ryan Hefner

dataeye-ui

v0.4.31

Published

dataeye UI组件库

Downloads

1,216

Readme

readme

dataeye UI 组件库

  • [x] 按钮 (button)

  • [x] 主题配置 (theme-config)

  • [x] 封面(cover)— bob

  • [x] 多选项(selector)- 汤明

  • [x] 菜单(menu)— 汤明

  • [x] 下拉选择框(select) — 李钢

  • [x] 下拉框(dropdown) — bob

  • [x] 表格 (table) — 李钢

  • [x] 图标 (icon)— 汤明

  • [x] 弹窗 (modal) — 李钢

  • [x] 分页(page) — 李钢

  • [x] 输入框 (input) — 李钢

  • [x] 多选框 (checkbox)— 汤明

  • [x] 时间选择框 (datepick)— bob

  • [x] 单选框 (radio)—李钢

  • [x] 图片 (image) —汤明

  • [x] 加载 (loading)—李钢

  • [x] 间距 (space)— bob

  • [x] 面包屑(breadcrumb)—汤明

  • [x] 微标数 (badge) — bob

  • [x] 标签页 (Tabs)— 李钢

  • [x] 标签 (TAG)— 汤明

  • [x] 全局提示 (message)— bob

  • [x] 消息提示框 (Notification)— bob

  • [ ] 空数据(empty) — 李钢

  • [x] 骨架屏 (skeleton)— 李钢

  • [x] 提示 (tooltip) — 李钢

  • [x] 级联选择 (casader)— bob

  • [x] 筛选组件 (filter) — bob

  • [ ] 表单 (from)— bob

  • [x] 卡片 (card) — bob

  • [x] 描述信息 (descriptions) - bob

  • [x] 时间线 (time-line) - bob

  • [x] 长列表 (list) - bob

  • [x] 瀑布流 (Masonry) - bob

  • [x] 分割线 (Divider) - bob

  • [x] 排版 (Typography) - bob

  • [x] 日历 (Calendar) - bob

安装

npm install dataeye-ui

使用

import React from 'react'
import { createRoot } from 'react-dom/client'
import { Button, ThemeProvider } from 'dataeye-ui'

const App = () => {
  return (
    <ThemeProvider>
      <Button type="primary" loading>按钮</Button>
      <Button type="default" loading>按钮</Button>
    </ThemeProvider>
  )
}

const RootDom = document.getElementById('root')
const root = createRoot(RootDom as Element)

root.render(<App />)

组件

ThemeProvider

全局主题配置

|属性|说明|类型|默认值|版本| |--|--|--|--|--| |theme|全局主题配置|ThemeType|-| | |prefixCls|设置统一样式前缀|string|de| | |components|设置组件主题配置|ComponentThemeType|-| | |locale|国际化配置|Locale|zh-CN| |

Button

|属性|说明|类型|默认值|版本| |--|--|--|--|--| |block|将按钮宽度调整为其父宽度的选项|boolean|false| | |ghost|幽灵属性,使按钮背景透明|boolean|false| | |radius|设置按钮形状|default | circle | round|round| | |size|设置按钮大小|default | large | medium | small|medium| | |icon|设置按钮的图标组件|ReactNode|-| | |loading|设置按钮载入状态 |boolean|false| | |disabled|设置按钮失效状态 |boolean|false| | |type|设置按钮类型|default | primary | secondary | success | error | info | warning|default| | |onClick|点击按钮时的回调|(event: MouseEvent) => void|-| |

Cover

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |poster|图片地址|string[] | string|-|true| | |videoUrl|视频地址|string|-|false| | |alt|图片说明|string|-|false| |

Dropdown

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |open|下拉弹框是否显示|boolean|-|false| | |disabled|是否禁用|boolean|-|false| | |trigger|触发下拉的行为|Array<click | hover | contextMenu>|hover|false| | |placement|弹出位置|bottomLeft | bottomRight | topLeft | topRight|bottomLeft|false| | |content|弹出层|ReactElement | () => React.ReactElement|-|true| | |menu|弹出菜单|-|-|-|暂不支持| |dropdownRender|自定义下拉框内容|(Node: ReactNode) => ReactNode|-|false| | |onOpenChange|弹出层显示状态改变时调用|(open: boolean) => void|-|false| |

Filter

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |filter|经 Filter.useFilter() 创建的 filter 控制实例,不提供时会自动创建|待补充|-|-| | |layout|触发下拉的行为|'horizontal' | 'vertical' | 'inline'|horizontal|false| | |onChange|筛选后的回调事件|function(values)|-|false| | |beforeChange|执行筛选之前的钩子,参数为筛选的结果,若返回 false 则停止筛选|function(values)|-|false| | |disabled|是否禁用|boolean|-|false| | |showResult|是否展示筛选结果|boolean|-|true| |

Filter.Item

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |initialValue|默认值|any|-|-| |

Modal

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |open|可控的弹窗展示|boolean|-|true| | |onClose|点击关闭回调方法|function()|-|false| | |onOk|如果没有传footer,按钮的确定回调|function()|-|false| | |title|弹窗标题|string/number/ReactNode|-|false| | |className|设置弹窗内部的className|string|-|false| | |width|弹窗的宽度|number/string|500px|false| | |style|设置弹窗的css|object|-|false| | |maskClosable|是否可以点击空白处关闭弹窗|boolean|true|false| | |keyboard|是否可以通过esc按钮关闭弹窗|boolean|true|false| | |closeIcon|弹窗右上角的关闭图标,如果传false,则直接不展示默认的,可以自定义|false/ReactNode|ReactNode|false| | |footer|设置弹窗的footer|boolean/ReactNode|ReactNode|false| | |icon|设置confirm的icon|string/ReactNode|ReactNode|false| | |destroyOnClose|设置弹窗是否需要消除Dom|boolean|false|false| |

Tooltip

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |title|展示标题|string/number/ReactNode|-|true| | |children|内容|ReactNode|-|true| | |placement|默认展示位置|'left' / 'right' / 'top' / 'bottom' / 'topLeft' / 'topRight' / 'bottomLeft' / 'bottomRight' / 'rightTop' / 'rightBottom' / 'leftTop' / 'leftBottom'|-|false| | |mouseEnterDelay|鼠标移入多少秒后展示|number|0|false| | |mouseLeaveDelay|鼠标移开之后多少秒消失|number|0|false| | |getTooltipContainer|在哪个dom上展示,默认是body,(还没来得及测试展示先不动这里)|ReactNode|document.body|false| | |destroyTooltipOnHide|隐藏的时候是否销毁dom|boolean|false|false| | |trigger|触发方式,包括两种 点击和hover|['click','hover']|['hover']|false| | |overlayClassName|最外层的className|string|-|false| | |overlayStyle|最外层的style|object|-| | | |maxWidth|弹窗的最大宽度|number|260|false| | |showArrow|是否展示小三角号|boolean|true|false| | |overlayInnerStyle|里面的style|object|-|false| | |zIndex|tooltip的层级,默认是1070|number|1070|false| |

DatePicker

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |value|日期|dayjs|-|false| | |defaultValue|默认日期|dayjs|-|false| | |open|控制弹层是否展开|boolean|-|false| | |disabled|禁用|booleane|-|false| | |showTime|增加时间选择功能|Object | boolean|-|false| 暂不支持 | |disabledDate|不可选择的日期|(currentDate: dayjs) => boolean|-|false| | |picker|设置选择器类型|date | week | month | quarter | year|date|false| | |format|展示的日期格式|formatType|YYYY-MM-DD|false| | |use12Hours|使用12小时制|boolean|false|false| | |placeholder|输入框提示文字|string|-|false| | |onChange|时间发生变化的回调|unction(date: dayjs)|-|false| | |onOpenChange|弹出日历和关闭日历的回调|function(open)|-|false| |

DatePicker.RangePicker

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |value|日期|RangeValue|-|false| | |defaultValue|默认日期|RangeValue|-|false| | |open|控制弹层是否展开|boolean|-|false| | |disabled|禁用|booleane|-|false| | |showTime|增加时间选择功能|Object | boolean|-|false| 暂不支持 | |disabledDate|不可选择的日期|(currentDate: dayjs) => boolean|-|false| | |picker|设置选择器类型|date|date|false|目前只支持date| |format|展示的日期格式|formatType|YYYY-MM-DD|false| | |dateMaxRange|选择不超过的范围|{ days: number, message: string }|{ days: Infinity, message: '' }|false| | |innerPresets|预设时间面板范围快捷选择|RangePresetDate[]|false|false| | |presets|预设时间框范围快捷选择|RangePresetDate[]|false|false| | |use12Hours|使用12小时制|boolean|false|false| | |placeholder|输入框提示文字|[string, string]|-|false| | |separator|设置分隔符 |React.ReactNode|-|至| | |onChange|时间发生变化的回调|unction(date: RangeValue)|-|false| | |onOpenChange|弹出日历和关闭日历的回调|function(open)|-|false| |

Tag

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |closable|可关闭|boolean|-|true| | |onClose|点击关闭回调方法|function()|-|false| | |bordered|是否有边框|boolean|-|true| | |icon|自定义关闭图标|ReactNode|-|false| | |className|设置className|string|-|false| | |style|设置css|object|-|false| |

Tag.CheckabTag 可选择tag

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |checked|选中状态|boolean|-|false| | |onChange|选中状态变化事件|function()|-|false| | |onClick|点击事件|function()|-|false| |

Checkbox

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |defaultChecked|默认选中状态|boolean|-|false| | |checked|选中状态|function()|-|false| | |onChange|选则变化事件|function()|-|false| | |className|设置className|string|-|false| | |style|设置css|object|-|false| |

Selector

|属性|说明|类型|默认值|required|版本| |--|--|--|--|--|--| |itemWidth|列宽|number-string|120|false| | |itemhasMaxWidth|是否有最大列宽,不与itemWidth 同时使用,不设最大宽度,item宽度自动撑开|number-string|120|false| | |multiple|是否多选|boolean|false|false| | |onChange|选则变化事件|function()|-|false| | |className|设置className|string|-|false| | |title|选项标题|string|-|true| | |tooltip|选项标题 解释性tooltip(跟在标题后面)|string|-|false| | |datalist|数据|Array|-|true| | |selectedValue|选中值|单选string-多选Array|-|false| | |group|是否分组|boolean|-|false| | |disabled|禁用|boolean|-|false| | |open|当前是否是活动状态-配合shouldCloseSelector使用|boolean|-|false| | |onOpenChange|多个筛选项同时存在,点其中一个展开或多选时,将其他展开的收起来事件-open|function()|-|false| | |new|新增筛选项new 角标|boolean|-|false| | |newContent|new 角标 内容|ReactNode|'NEW'|false| | |tagRimless|列表项是否无框|boolean|-|false| |