@ecl/modal

中文文档
5.4.1发布于 2026/11/10EUPL-1.2ESM + CJS近 30 天下载 3756

ECL Modal

原始使用文档
文档目录3 节
  1. Parameters:
  2. Blocks:
  3. Example:

ECL Modal component

npm package: @ecl/modal

npm install --save @ecl/modal

Parameters:

  • "id" (string) (default: random) id of the modal
  • "toggle_id" (string) (default: random) id of the element to toggle the modal
  • "variant" (string) (default: ''): could be empty, 'information, 'success', 'warning' or 'error'
  • "size" (string) (default: 'l'): Size of the modal. Could be 's', 'm', 'l' or 'full'
  • "sr_icon" (string) (default: ''): additional label for the icon; for screen readers
  • "close" (object of type "button") (default: phosphor 'x' icon): close button; label has to be provided for screen reader
  • "buttons" (array) (default: []) Array of ECL Button objects displayed in the modal footer
  • "extra_classes" (string) (default: '') Extra classes (space separated)
  • "extra_attributes" (array) (default: []) Extra attributes
    • "name" (string) Attribute name, eg. 'data-test'
    • "value" (string) Attribute value, eg: 'data-test-1'

Blocks:

  • "header": free block to put any content in the modal header
  • "body": free block to put any content in the modal body (scrollable)
  • "body_fixed": free block to put any content at the bottom of the modal body (not scrollable)
  • "footer": free block to put any content in the modal footer

Example:

{% 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 共发布 45 个版本,首次发布于 2025/01/22;过去 12 个月发布了 24 个版本。

版本发布日期距今
5.4.1latest2026/11/103 天前
5.4.02026/10/2222 天前
5.3.22026/10/081 个月前
5.3.12026/09/211 个月前
5.3.02026/09/151 个月前
5.2.22026/09/082 个月前

关于 @ecl/modal 的常见问题

@ecl/modal 是什么?

ECL Modal

如何安装 @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 和提交记录判断。