# @ecl/modal 中文文档

规范地址：https://npmcn.com/package/%40ecl/modal/

版本：5\.4\.1
npm 元数据更新时间：2026-11-10T09:34:47.001Z
中文译文更新时间：2026-11-13T05:30:35.886Z
软件包许可：EUPL-1\.2

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

原始 npm 页面：https://www.npmjs.com/package/%40ecl/modal
原文对照：https://npmcn.com/package/%40ecl/modal/?lang=original
项目主页：https://github.com/ec-europa/europa-component-library
源码仓库：https://github.com/ec-europa/europa-component-library

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

- 包体积（解压后）：34.8 kB，7 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：4 个
- 首次发布：2025-01-22T12:08:58.272Z
- 最新版本发布：2026-11-10T09:34:46.764Z
- 近 30 天下载量：3756（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：45（近 12 个月 24 个）

## 中文简介

ECL 调制器

## 安装

```sh
npm install @ecl/modal
```

也可以使用：`pnpm add @ecl/modal`、`yarn add @ecl/modal`、`bun add @ecl/modal`

## README

# ECL 模块组件

npm 软件包 : `@ecl/modal`

```shell
npm install --save @ecl/modal
```

### 参数:

-   **编号** (字符串)(默认:随机) id 模式
-   **"切换"** (字符串)(默认:随机) id 元素切换模式
-   **"变相"** (字符串) (默认: “ ”) : 可以是空的, “ 信息 ” 、 “ 成功 ” 、 “ 警告 ” 或 “ 错误 ”
-   **"尺寸"** (字符串)(默认:"l"):模式大小. 可能是's'、'm'、'l'或'ful'
-   **"sr icon" (英语)** (字符串) (默认:"'"):图标的附加标签;屏幕阅读器的附加标签
-   **"关闭"** (类型"按钮"的对象)(默认:phosphor"x"图标):关闭按钮;必须为屏幕阅读器提供标签
-   **"按钮"** (阵列) (默认: \[\]) 模式页脚中显示的 ECL 按钮对象阵列
-   **"超级"** (字符串)(默认为:") 额外类(空格分隔)
-   **“外部属性”** (阵列) (默认: \[\]) 额外属性
    -   名称 (字符串) 属性名称, 如“ 数据测试 ”
    -   值 (字符串) 属性值, 如 : “ data- test-1 ”

### 块 :

-   **"头"**: 将任何内容放入模式头的自由块
-   **躯体**: 将任何内容放入模式正文的自由块( 可滚动)
-   **"人被固定"**: 将任何内容放入模式正文底部的自由块(不可滚动)
-   **"脚"**: 将任何内容放入模式页脚的自由块

### 示例

```twig
{% include '@ecl/modal/modal.html.twig' with { 
  id: 'modal-example',
  toggle_id: 'modal-toggle',
  sr_icon: 'Information',
  close: {
    label: 'Close',
  },
  header_icon: {
    icon: {
      name: 'warning',
    },
    extra_classes: 'ecl-u-type-color-warning',
  },
  header: 'Lorem ipsum dolor sit amet',
  body: 'Sed quam augue, volutpat sed dapibus in, accumsan a arcu. Nulla quam enim, porttitor at neque a, egestas porttitor tortor. Nam tortor sem, elementum id augue quis, posuere vestibulum dui. Donec id posuere libero, sit amet egestas lorem. Aliquam finibus ipsum mauris, a molestie tortor laoreet.',
  body_fixed: 'Fixed content',
  buttons: [
    {
      label: 'Secondary action',
      type: 'button',
      variant: 'secondary',
      extra_attributes: [{name: 'data-ecl-modal-close'}],
    },
    {
      label: 'Primary action',
      type: 'submit',
      variant: 'primary',
    },
  ],
} %}
```

## 常见问题

### @ecl/modal 是什么？

ECL 调制器

### 如何安装 @ecl/modal？

在项目目录运行 npm install @ecl/modal，或使用 pnpm add / yarn add / bun add。

### @ecl/modal 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/ecl\_\_modal 是否存在。

### @ecl/modal 支持 ESM 还是 CommonJS？

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

### @ecl/modal 可以商用吗？

@ecl/modal 使用 EUPL-1\.2 许可。声明的许可为 EUPL-1\.2，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @ecl/modal 的下载量有多少？

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

### @ecl/modal 还在维护吗？

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

