@featherk/ui

中文文档
0.19.4发布于 2026/11/14MITTypeScriptESM + CJS零依赖近 30 天下载 2485

Vue 3 组件基于 Vue 的 Kendo UI 并驱动 @featherk/composables。 。 。 .

中文使用文档
文档目录10 节
  1. 构成部分概览
  2. 导入组件
  3. 安装到什么对什么船
  4. 健道 UI 兼容性
  5. 依赖关系
  6. 样式
  7. 使用维特测试
  8. 构建
  9. 维护者笔记
  10. 更改日志

@ featherk/ ui (英语)

Vue 3 组件基于 Vue 的 Kendo UI 并驱动 @featherk/composables。 。 。 .

构成部分概览

  • 地址数字 : USAddress - 由父公司驱动的演示式美国地址制造器 useUSAddress 视图模型.
  • 图表数字 : ActionCell - 由父母共同拥有的弹出寿命周期驱动的可配置可重复动作按钮容器.
  • 拾取器数字 : DateField - Kendo DatePicker,带有口罩的输入,由父母拥有 useMaskedDateInput。 。 。 .
  • 拾取器数字 : TimeField - 使用口罩输入的 Kendo TimePicker, 由父母所有 useMaskedTimeInput。 。 。 .
  • 拾取器数字 : DateRangeField - 由父主驱动的带有范围日历的遮盖日期范围输入弹出 useMaskedDateRangeInput。 。 。 .

导入组件

从特性子路径导入 。 每个子路径是一个单独的条目,在运行时只导入自己的组件,样式和对等依赖,这也使dev服务器保持了快. 包根再导出每个特性;见 安装到什么对什么船。不要导入内部 dist 路径.

import { USAddress } from "@featherk/ui/address";
import { ActionCell } from "@featherk/ui/table";
import { DateField, DateRangeField, TimeField } from "@featherk/ui/picker";
import { useUSAddress } from "@featherk/composables/address";

对于完整的设置,行为,和示例,使用组件概览中列出的组件指南.

安装到什么对什么船

FeatherK 软件包一旦安装就应该工作: 你永远不应该跟踪缺失的依赖性, 也不应该压制同伴警告 。 当与安装大小相冲突时, FeatherK 接受更大的 node_modules 并保持浏览器捆绑小块.

您导入安装于 node_modules运入浏览器( 生产构建)
import { X } from "@featherk/ui/<feature>"所有所需的对等器, 自动安装X,其样式和导入的同位素
import { X } from "@featherk/ui"一样与子路径导入相同
没有任何特质还在安装没有这个特征

期间 vite dev,一个根导入负载每个特性。 这只影响到dev服务器,而不是什么用户下载.

健道 UI 兼容性

建造和试验 坚道UI代表Vue 6.4.1。Kendo 软件包被宣布为对等依赖(^6.4.1),所以您的应用程序控制已安装的 Kendo 版本.

子路径构成部分剑道软件包
addressUSAddresskendo-vue-dropdowns, (中文(简体) ), kendo-vue-inputs, (中文(简体) ), kendo-vue-labels
tableActionCell, (中文(简体) ), useActionCellMenukendo-vue-buttons, (中文(简体) ), kendo-vue-grid
pickerDateField, (中文(简体) ), TimeField, (中文(简体) ), DateRangeFieldkendo-vue-common, (中文(简体) ), kendo-vue-dateinputs, (中文(简体) ), kendo-vue-inputs, (中文(简体) ), kendo-vue-labels, (中文(简体) ), kendo-vue-popup, (中文(简体) ), kendo-vue-tooltip

依赖关系

  • 所需对等方 : vue (3.5+), @featherk/composables, (中文(简体) ), @featherk/icons, (中文(简体) ), @progress/kendo-vue-buttons, (中文(简体) ), @progress/kendo-vue-common, (中文(简体) ), @progress/kendo-vue-dateinputs, (中文(简体) ), @progress/kendo-vue-dropdowns, (中文(简体) ), @progress/kendo-vue-grid, (中文(简体) ), @progress/kendo-vue-inputs, (中文(简体) ), @progress/kendo-vue-labels, (中文(简体) ), @progress/kendo-vue-popup, (中文(简体) ), @progress/kendo-vue-tooltip

    npm和pnpm自动安装这些;与Yarn Berry一起自己安装. 每一个子路径只装入其组件所用的,所以一个从未导入的应用程序 @featherk/ui/picker 从不装载 @featherk/icons 或者说 @progress/kendo-vue-tooltip。 。 。 .

  • 可选同伴 :

    • @progress/kendo-vue-layout,用于 useActionCellMenu ——委员会 menuProps 传播到共享的剑道上 <Menu>
    • @progress/kendo-svg-icons (只有类型)——用于 ActionCell 图标打字
  • 运行时间依赖性:无. 所有的东西都是对等的,所以你的应用和FeatherK共享一份Vue,Kendo和 @featherk/composables。 。 。 .

全部留着 @featherk/* 同一版本的软件包。 他们一起释放,每个 @featherk/ui 释放至少需要匹配 @featherk/composables 财务报告和审定财务报表 @featherk/icons通过翻新或Dependabot,将它们组合成一个更新.

样式

组件样式 @featherk/ui。每个 ES 条目都导入其组件的样式,所以不需要单独导入。 共同司法体系的建设require)不导入 CSS。 剑道组件的主题样式来自 @featherk/styles。 。 。 .

使用维特测试

Vitest将已安装的软件包放入节点,节点无法加载每个条目导入的样式表. 没有这个设置, 将测试导入 @featherk/ui 失败 Unknown file extension ".css"数字 :

// vitest.config.ts
export default defineConfig({
  test: {
    server: { deps: { inline: ["@featherk/ui"] } },
  },
});

嘲笑一个可调和的,嘲笑它的子路径,而不是包根. 每个子路径是一个单独的模块,而一个模拟只取代它命名的模块. FeatherK组件从它们的子路径导入可堆肥物,因此根模组从未到达它们. 譬如说, TimeField 进口 usePopupTrap 从 @featherk/composables/trap数字 :

// Before 0.18.0 every subpath was one module, so this also reached TimeField.
vi.mock("@featherk/composables", …);

// Now: mock the subpath.
vi.mock("@featherk/composables/trap", …);

从同一个子路径导入到你自己的代码 一个子路径模拟不能达到从根部导入的代码.

构建

从寄存器根中运行 :

npm run build -- --filter=@featherk/ui

或运行软件包本地 :

npm run build

维护者笔记

  • 每个功能文件夹都有 index.ts 桶,从 src/index.ts,并有一个匹配 exports 子路径.
  • vite.config.ts 为根和每个根建立一个ES和一个通用JS条目 package.json exports 子路径( n)address, (中文(简体) ), table, (中文(简体) ), picker) (中文(简体) ). 一个新特性文件夹只需要其子路径添加到 exports。 。 。 .
  • 范围化的组件样式按特性分割,一个小Vite插件从它的ES模块中导入每个块的CSS. 新组件获得他们的风格,没有额外的台阶.
  • package.json 只列出 CSS 在 sideEffects,所以根导入树摇动到与子路径相同的代码和样式. 保持其他模块不发生导入时副作用,或添加到 sideEffects。 。 。 .
  • 将共享状态排除在模块范围之外:没有模块级的参考、地图或 provide编号 :inject 键。 一个应用可以同时加载ES和CommonJS所建,而两本不共享状态. 在组件中创建状态或可堆叠并传递实例, 如 useActionCellMenu 已经.
  • 将每个新组件添加到 coverage.include 内 vitest.config.ts,除非这样 src/picker/*.vue 已经盖好了 清单是明确的,因此在报道报告中遗漏了一个文件,即使它有自己的测试.
  • 归宿 scripts/check-entries.mjs 运行在建筑的尽头。 如果缺少一个导出目标, 条目导入一个未申报的对等点, 任何条目导入一个可选的对等点( npm 不安装这些对等点) , 或样式表不被导入, 它失败 .
  • 归宿 scripts/check-peers.mjs 跟着它跑 除非每个都失败 @featherk/* 对等区域为 >=x.y.z 至少是这个兄弟会的当前版本 所以npm从不将这个发行品 与一个老的兄弟会配对 因为它没有进口的东西 软件包在锁步中释放, 所以根 version:patch|minor|major 脚本运行 scripts/sync-peers.mjs,将这些最小值提高到新版本 package.json 财务报告和审定财务报表 package-lock.json。 。 。 .
  • 对于新的组件文档,请遵循文件撰写模板 docs/README.md。 。 。 .

更改日志

向所有人公布历史 @featherk/* 软件包以单一方式维护 变动情况。 。 。 .

版本与发布记录

@featherk/ui 共发布 61 个版本,首次发布于 2026/08/05;过去 12 个月发布了 61 个版本。

版本发布日期距今
0.19.4latest2026/11/14今天
0.19.32026/11/113 天前
0.19.22026/11/058 天前
0.19.12026/10/3114 天前
0.19.02026/10/2717 天前
0.18.12026/10/2421 天前

关于 @featherk/ui 的常见问题

@featherk/ui 是什么?

Vue 3 组件基于 Vue 的 Kendo UI 并驱动 @featherk/composables。 。 。 .

如何安装 @featherk/ui?

在项目目录运行 npm install @featherk/ui,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:vue(^3.5.0)、@featherk/icons(>=0.19.4)、@featherk/composables(>=0.19.4)、@progress/kendo-vue-grid(^6.4.1)、@progress/kendo-vue-popup(^6.4.1)、@progress/kendo-vue-common(^6.4.1)、@progress/kendo-vue-inputs(^6.4.1)、@progress/kendo-vue-labels(^6.4.1)、@progress/kendo-vue-buttons(^6.4.1)、@progress/kendo-vue-tooltip(^6.4.1)、@progress/kendo-vue-dropdowns(^6.4.1)、@progress/kendo-vue-dateinputs(^6.4.1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@featherk/ui 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@featherk/ui 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@featherk/ui 可以商用吗?

@featherk/ui 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@featherk/ui 的下载量有多少?

根据 npm 官方下载统计,@featherk/ui 在 2026/10/15 – 2026/11/13 这 30 天内被下载 2,485 次,日均约 83 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@featherk/ui 还在维护吗?

最新版本 0.19.4 发布于 2026/11/14(今天);至今共发布 61 个版本,其中过去 12 个月发布了 61 个;首次发布于 2026/08/05。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。