npm 包 @atoto/primitives 使用教程

阅读时长 6 分钟读完

前言

在前端开发中,我们经常会使用 UI 组件库和样式库来快速实现页面布局和样式,以提高开发效率。而在很多组件库和样式库中,有一个重要的部分就是基础元素(Primitives),比如 Button、Input、Heading、Text 等。这些基础元素在整个应用中都会被频繁使用,因此它们的设计和使用需要尽可能简单、易于扩展和定制。

在这里,我们介绍一个 npm 包 @atoto/primitives,它提供了一组简单而强大的基础元素,可以帮助我们快速开发自定义的 UI 组件和样式。

安装和使用

安装

@atoto/primitives 可以通过 npm 安装:

使用

在应用中使用 @atoto/primitives,需要先导入对应的基础元素,然后在组件中使用它们。例如,导入 Button:

然后在组件中使用 Button:

基础元素

Button

Button 元素是一个基本的按钮元素,可以使用它来触发点击事件或者进行路由跳转。

Props

  • as: 按钮元素的 HTML 标签名,可以是 "button""a""input" 等,默认值是 "button"
  • disabled: 是否禁用按钮。
  • onClick: 点击事件的回调函数。
  • to: 路由跳转的目的地。

示例

Input

Input 元素是一个基本的表单输入元素,可以使用它来接收用户的输入。

Props

  • as: 输入元素的 HTML 标签名,可以是 "input""textarea" 等,默认值是 "input"
  • disabled: 是否禁用输入。
  • name: 输入元素的名称。
  • onChange: 输入事件的回调函数。
  • placeholder: 输入元素的占位符文本。
  • type: 输入元素的类型,例如 "text""password""email" 等,默认值是 "text"
  • value: 输入元素的值。

示例

Text

Text 元素是一个基本的文本元素,可以使用它来显示文本内容。

Props

  • as: 文本元素的 HTML 标签名,可以是 "p""span""div" 等,默认值是 "span"
  • variant: 文本元素的样式变体,例如 "heading""subheading""body" 等,默认值是 "body"

示例

主题定制

@atoto/primitives 提供了一个灵活的主题定制机制,可以让我们根据自己的需求来修改基础元素的样式和变体。

默认主题

@atoto/primitives 的默认主题基于 styled-components 实现,主要包括以下几个部分:

  • 基础样式:包括一些常用的样式属性,比如 colorfont-familyfont-size 等。
  • 变体样式:根据 variant 属性和主题配置之间的映射关系来设定颜色、字号和字重等样式。
  • 辅助样式:一些辅助类名,方便我们在自定义样式的时候使用。

主题配置

@atoto/primitives 的默认主题配置可以在 themes 模块中找到。我们可以从 themes 模块中导入主题配置,并使用 ThemeProvider 组件将其应用到整个应用中。

-- -------------------- ---- -------
------ - ------------- - ---- --------------------
------ - ------ - ---- --------------------

-------- ----- -
  ------ -
    -------------- ---------------------
      --- ------ ---
    ----------------
  --
-

目前,@atoto/primitives 支持两种主题:lightdark,分别对应明亮和暗黑两种主题。

自定义主题

我们可以通过自定义主题来修改基础元素的样式和变体。自定义主题应该是一个包含了所有基础元素样式配置的对象,可以使用 createTheme 函数来生成自定义主题。

-- -------------------- ---- -------
------ - ----------- - ---- --------------------

----- ------- - -------------
  ------- -
    -------- -------
    ---------- --------
  --
  ---------- ---- --- --- --- --- --- --- --- ----
  ------------ -
    ------- ----
    ----- ----
  --
---

------ ------- --------

在组件中,我们可以通过 ThemeProvider 组件将自定义主题应用到整个应用中。

-- -------------------- ---- -------
------ - ------------- - ---- --------------------
------ ------- ---- ------------

-------- ----- -
  ------ -
    -------------- ----------------
      --- ------ ---
    ----------------
  --
-

总结

@atoto/primitives 是一个简单而强大的基础元素库,可以帮助我们快速开发自定义的 UI 组件和样式。它还提供了一个灵活的主题定制机制,可以让我们根据自己的需求来修改基础元素的样式和变体。如果你正在寻找一个高性能、易用的基础元素库,@atoto/primitives 绝对是一个值得尝试的选择。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/137061