# @egov3/system-design 中文文档

规范地址：https://npmcn.com/package/%40egov3/system-design/

版本：1\.3\.245
npm 元数据更新时间：2026-11-12T04:27:01.702Z
中文译文更新时间：2026-11-14T03:36:34.618Z
软件包许可：ISC

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40egov3/system-design
原文对照：https://npmcn.com/package/%40egov3/system-design/?lang=original
源码仓库：https://github.com/egov3/system-design

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.3 MB，1157 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：5 个
- peer 依赖：react \>=18\.0\.0 \<20\.0\.0，react-dom \>=18\.0\.0 \<20\.0\.0
- 首次发布：2024-10-22T15:19:52.235Z
- 最新版本发布：2026-11-12T04:27:01.549Z
- 近 30 天下载量：2393（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：235（近 12 个月 146 个）

## 中文简介

用打字机设计一套国家预防机制系统

## 安装

```sh
npm install @egov3/system-design
```

也可以使用：`pnpm add @egov3/system-design`、`yarn add @egov3/system-design`、`bun add @egov3/system-design`

## README

# Egov3/ 系统设计

![npm](https://img.shields.io/npm/v/@egov3/system-design) ![license](https://img.shields.io/npm/l/@egov3/system-design) ![downloads](https://img.shields.io/npm/dt/@egov3/system-design)

## О

Egov3/System-Design — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — ---- — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — ---- — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你应该知道 {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你应该知道.

## 所需资源

-   节点.js 18
-   亚伦 1.x

## Установка

亚恩:

```sh
yarn add @egov3/system-design
```

时间:

```sh
npm install @egov3/system-design
```

## Использование

```tsx
import { Typography } from '@egov3/system-design/baseComponents/Typography';

function App() {
  return (
    <Typography
      tag="span"
      fontClass="caption1Medium"
      data-testid="DocCard_TITLE"
      className={styles.title}
    >
      {title}
    </Typography>
  );
```

### 遗产

```tsx
import SystemDesign from '@egov3/system-design';

function App() {
  return (
    <SystemDesign.BaseComponents.Typography
      tag="span"
      fontClass="caption1Medium"
      data-testid="DocCard_TITLE"
      className={styles.title}
    >
      {title}
    </SystemDesign.BaseComponents.Typography>
  );
}
```

## · 故事本

```sh
yarn sb
```

### \*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

```bash
yarn lint:fix
```

### {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢

```bash
yarn dead-css
```

* * *

# 发布注释

## 1.3.217 国家

## 1.3.95 信息技术

### 说吧

-   **搜索栏** . . . . . .
    -   校对:soup `default`, (中文(简体) ), `shadow`, (中文(简体) ), `slim`· ;
    -   дебаунс `handleOnChange` (настраивается `debounceDelay`, по 300 мс;
    -   `handleOnEnter` - 输入;

## 1.3.87 (单位:千美元)

### 说吧

-   **输入字段组** . . . . .(检察官办公室):
-   {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你觉得呢 `length`· ;
-   `handleOnChange` при изменении;
-   `handleKeyDown` при;

## 1.3.75 信息技术

### 说吧

-   **标签**
-   **警告文本**
-   **标签按钮**

### 校对:Soup

-   обновлен **选择框按钮**

## 1.2.65 国家

-   Добавлен `black` для `Button`
-   {\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `Accordion`

## 1.2.56 (中文(简体) )

-   {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你觉得呢

## 1.1.45 国家

### 校对:Soup

-   Переименован `combineClassNames` → `joinClasses`

## 1.0.43 (中文(简体) )

### 说吧

-   **日历**
-   **模式**
-   **选择框按钮**

### 校对:Soup

-   Добавлены `global.scss` и `normalize.scss`
-   Добавлен `colors.module.css`
-   Добавлены `getDaysRange`, (中文(简体) ), `getMonthRange`, (中文(简体) ), `getYearRange`
-   Переименован `CombineClassNames` → `combineClassNames`

### 说吧

#### `getDaysRange(day, month, year)`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得怎样. **Примеры:**

```js
getDaysRange({ day: 15, month: 2, year: 2020 }); // [13, 14, 15, 16, 17]
getDaysRange({ day: 2, month: 2, year: 2020 });  // [1, 2, 3, 4]
getDaysRange({ day: 31, month: 2, year: 2020 }); // [29, 30, 31]
```

#### `getMonthRange(month, year)`

\================================================================================================================================================================================================================ (================================= (============ 校对:Soup `[0...11]`。 。 。 . **Примеры:**

```js
getMonthRange(5, 2020);  // [3, 4, 5, 6, 7]
getMonthRange(0, 2020);  // [0, 1, 2]
getMonthRange(11, 2020); // [9, 10, 11]
```

#### `getYearRange(year)`

\================================================================================================================================================================================================================ (================================= (============ \[1970.2025\] (中文(中国大陆) ). **Примеры:**

```js
getYearRange(2020); // [2018, 2019, 2020, 2021, 2022]
getYearRange(1970); // [1970, 1971, 1972]
getYearRange(2025); // [2023, 2024, 2025]
```

#### `isValidDateRange(from, to)`

Проверяет,является也. **Примеры:**

```js
isValidDateRange({ from: { day: 25, month: 2, year: 2020 }, to: { day: 25, month: 2, year: 2023 } }); // true
isValidDateRange({ from: { day: 25, month: 6, year: 2023 }, to: { day: 25, month: 2, year: 2023 } }); // false
```

#### `isInvalidDateRange(from, to)`

Обратная `isValidDateRange`。 。 。 .

#### `convertType`

Функции. **Примеры:**

```js
convertType.day.toString(2);  // "02"
convertType.day.toNumber("02"); // 2
convertType.month.toString(2);  // "03"
convertType.month.toNumber("02"); // 1
convertType.year.toString(2020);  // "2020"
convertType.year.toNumber("2020"); // 2020
convertType.date.toNumber({ day: "25", month: "02", year: "2019" }); // { "day": 25, "month": 1, "year": 2019 } 
convertType.date.toString({ "day": 25, "month": 1, "year": 2019 }); // { "day": "25", "month": "02", "year": "2019" }
convertType.dateRange.toString({ from: { "day": 25, "month": 1, "year": 2019 }, to: { "day": 25, "month": 1, "year": 2019 } }) // { "from": { "day": "25", "month": "02", "year": "2019" }, "to": { "day": "25", "month": "02", "year": "2019" }} 
convertType.dateRange.toNumber({ from: { day: "25", month: "02", year: "2019" }, to: { day: "25", month: "02", year: "2019" } }) // { "from": { "day": 25, "month": 1, "year": 2019 }, "to": { "day": 25, "month": 1, "year": 2019 }}
```

#### `formatDate(date)`

Форматирует **Примеры:**

```js
formatDate(new Date()) // "2025-03-01" 
```

#### `getDaysInMonth(month, year)`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 **Примеры:**

```js
getDaysInMonth(1, 2020) // 29
```

#### `getMonthNameProper(month, year)`

\[0.11\] (中文(简体) ) **Примеры:**

```js
getMonthNameProper(1) // "Февраль"
```

#### `getValideMonthAndDay({ day, month, year })`

Возвращает,которая也 **Примеры:**

```js
getValideMonthAndDay({ day: 30, month: 1, year: 2020 }) // { "day": 29, "month": 1, "year": 2020 } 
getValideMonthAndDay({ day: 30, month: 11, year: 2020 }) // { "day": 1, "month": 2, "year": 2025 } 
```

#### `isValidateDate({ day, month, year})`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 **Примеры:**

```js
isValidateDate({ day: 25, month: 1, year: 2026}) // false
isValidateDate({ day: 25, month: 1, year: 2024}) // екгу
```

#### `isInvalidateDate({ day, month, year})`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 `isValidateDate`。 。 。 .

#### `isValidateDate({ day, month, year})`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 **Примеры:**

```js
normalizeDayAndMonth({ day: 30, month: 1, year: 2024}) // 29
```

#### `toPascalCase(word)`

{\\fn黑体\\fs22\\bord1\\shad0\\3aHBE\\4aH00\\fscx67\\fscy66\\2cHFFFFFF\\3cH808080}你觉得呢 **Примеры:**

```js
toPascalCase("hello") // "Hello" 
toPascalCase("HELLO") // "Hello" 
```

#### `GenerateArray(length, start)`

Создает **Примеры:**

```js
GenerateArray(2, 5) // [5, 6] 
GenerateArray(2) // [1, 2] 
```

### 1.0.42 国家

-   Добавлены **模式**, (中文(简体) ), **选择框按钮**, (中文(简体) ), **日历**

### 1.0.41 国家

-   Исправлено `Components` {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你应该知道 {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}你是谁

### 1.0.40 (中文(简体) )

-   **类型** теперь `jsx`\- стили
-   故事本 \\ \\ \\ \\ \\
-   Удалён `addon-mdx-gfm`
-   Добавлены `CreateArray`, (中文(简体) ), `SetCharAt`
-   Добавлен `InputGroup` 页:1 `InputField`(中文(简体) )
-   Расширен `InputField` 反应

* * *

# 📬

{\\fn黑体\\fs20\\shad2\\2aH82\\3aH20\\4aH33\\fscx95\\3cH592001\\be1}你觉得怎么样 [问题](https://github.com/egov3/system-design/issues) {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}不 不 {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}不 {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}是的 {\\fn黑体\\fs22\\bord1\\shad0\\3ahbe\\4ah00\\fscx67\\fscy66\\2chffffff\\3ch808080}是的吗.

测试

## 常见问题

### @egov3/system-design 是什么？

用打字机设计一套国家预防机制系统

### 如何安装 @egov3/system-design？

在项目目录运行 npm install @egov3/system-design，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=18\.0\.0 \<20\.0\.0）、react-dom（\>=18\.0\.0 \<20\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @egov3/system-design 支持 TypeScript 吗？

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

### @egov3/system-design 支持 ESM 还是 CommonJS？

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

### @egov3/system-design 可以商用吗？

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

### @egov3/system-design 的下载量有多少？

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

### @egov3/system-design 还在维护吗？

最新版本 1\.3\.245 发布于 2026/11/12（1 天前）；至今共发布 235 个版本，其中过去 12 个月发布了 146 个；首次发布于 2024/10/22。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

