@cdx-ui/utils

中文文档
0.3.12发布于 2026/11/04MITTypeScriptESM + CJS近 30 天下载 3423

coverage

中文使用文档
文档目录10 节
  1. 安装
  2. 出口
  3. 共同帮助者
  4. A. 背景情况
  5. 样式上下文
  6. 表格控制
  7. 导出类型
  8. 测试
  9. 进一步阅读
  10. 许可证

@cdx-ui/用户

coverage

共有的公用设施,在财政发展服务包中使用.

提供常见的助手,用于样式、事件处理、状态管理和背景传播 @cdx-ui/primitives 财务报告和审定财务报表 @cdx-ui/components。 。 。 .

安装

pnpm add @cdx-ui/utils

出口

共同帮助者

导出说明
cn(...inputs)合并类名 clsx + 键 tailwind-merge ——有条件条件和冲突解决在一个呼吁中.
composeEventHandlers(...handlers)将多个事件召回到单个处理器中; 跳过 null编号 :undefined 条目.
useControllableState(params)既支持受控模式,又支持无控模式的钩子,用于单一值. 衍生物 isControlled 从道具是否 undefined。 。 。 .
mergeRefs(...refs)将多回调(召回或对象)合并为一回调.
flattenChildren(children)递归平地反应 children (包括分块)入入有重键元素的平面阵列.
ariaAttr(condition)回返 true (布尔)或 undefined ——布尔ARIA属性值的快手.
cva(base, config)Class Difficience 管理局用于编写变量驱动的助手 className 建业者. VariantProps<typeof fn> 生成道具类型.

A. 背景情况

导出说明
createContext(displayName)环绕回放 createContext 返回一个 [Provider, useHook] tu. 如果在提供者之外调用, 钩子会丢入描述性错误 undefined 诸虫.

样式上下文

内部使用 @cdx-ui/components 用于传播从复合根到子元件的变种道具(大小、颜色等).

导出说明
ParentContext反应上下文,用于将复合根的变体道具传播到子元件. 包装儿童 <ParentContext.Provider value={...}>。 。 。 .
useStyleContext(scope?)读取最近设置的样式背景 ParentContext.Provider。 。 。 .
useParentContext()读取全文 StyleContextMap 从最近的提供者.

表格控制

低等窗体- 字段状态 Field 财务报告和审定财务报表 Input 原始的 原始的 原始的.

导出说明
useFormControlRoot(props)创建窗体字段( id 生成, 音轨) 的根态对象 hasFeedbackText编号 :hasHelpText 以便你们集合.
useFormControl(props)将组件级道具与继承的形式控制上下文合并. 组合 aria-describedby 从反馈/帮助文本 id.
useFormControlContext()从最近的提供者读取窗体控制状态 .
useReportFormControlLabelFocus(isActive)向父母报告重点/活动状态 FormControlContext 用于 Input编号 :Select.Trigger 触发 isFocused 关联标签上的样式 .
useReportFormControlValidation(isInvalid, errorMessage)报告自动验证控件的无效状态并给父信件 Field 用于 DatePicker 这样 Field.Error 编号 : Field.Helper 在野外的任何地方都反映出来.
FormControlContext形式控制状态传播的反应上下文对象 .

导出类型

类型来源
UseControllableStateParams常见
VariantProps常见
Focusable窗体控件
FormControlContextValue窗体控件
FormControlFieldProps窗体控件
FormControlRootProps窗体控件
FormControlRootReturn窗体控件
FormControlState窗体控件
FormControlValidation窗体控件
StyleContextMap样式

测试

测试在源文件相邻处( E)*.test.{ts,tsx}) (中文(简体) ). 运行在 utils 最佳项目:

pnpm nx run @cdx-ui/utils:test

所有运行时间出口都使用 @testing-library/react-native (单位:千美元)renderHook, (中文(简体) ), act) (中文(简体) ).

进一步阅读

这个 Forge UI 文档站点 盖设及用. 寄存器的内部编写指南涵盖了这些帮助者背后的规律—— useControllableState 财务报告和审定财务报表 composeEventHandlers 在国家指南中 cn() 和 CVA 变体作者在造型指南中.

许可证

License: MIT

麻省理工学院 2026 Digital First Holdings LLC. 包装的许可证全文 LICENSE。 。 。 .

版本与发布记录

@cdx-ui/utils 共发布 256 个版本,首次发布于 2026/03/04;过去 12 个月发布了 256 个版本。

版本发布日期距今
0.3.12latest2026/11/044 天前
0.3.112026/10/309 天前
0.3.102026/10/309 天前
0.3.92026/10/3010 天前
0.3.82026/10/2811 天前
0.3.72026/10/2713 天前

其他发布通道:staging → 0.1.0。

关于 @cdx-ui/utils 的常见问题

如何安装 @cdx-ui/utils?

在项目目录运行 npm install @cdx-ui/utils,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.2.0 || ^19.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@cdx-ui/utils 支持 TypeScript 吗?

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

@cdx-ui/utils 支持 ESM 还是 CommonJS?

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

@cdx-ui/utils 可以商用吗?

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

@cdx-ui/utils 的下载量有多少?

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

@cdx-ui/utils 还在维护吗?

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