@financial-times/o-message

中文文档
6.0.0发布于 2025/02/20MITES Module零依赖近 30 天下载 1.4万

提供提醒、通知或发出行动呼吁的信息要素.

中文使用文档
文档目录11 节
  1. 使用量
  2. 信件类型
  3. 标记
  4. Java 脚本
  5. 建筑业
  6. 选项
  7. 萨斯
  8. 自定义信件
  9. 移徙
  10. 联系人
  11. 许可证

o 消息 MIT licensed

o-message 用于提醒、通知或发出行动呼吁的信息组件.

o-message 使用 Sass 和 Javascript来显示并隐藏消息组件.

如果在页面上提供标记,它可以被宣布为不公开的,也可以在使用时必须被宣布为不公开的 手动构建进程。 。 。 .

使用量

检查出来 如何将 Origami 组件纳入您的项目 开始 o-message。 。 。 .

信件类型

o-message 提供三种类型的信息: 警报, (中文(简体) ), 通知,以及 动作。 。 。 .

  • 一个 警报 消息应用作用户与产品互动的反馈(例如,付款减少警告)。 与其他消息不同,提醒消息有一个图标.
  • A 类 通知 电文应当用于提供有关产品的信息或警告。 (例如一种产品的β版本).
  • 一个 动作 消息应该作为静态的行动呼吁,通常在主要内容之内或以下,这不一定是对用户与产品互动的反应(例如一般要求反馈).

您可以在“% 1” 中找到上面每个信件的演示 口头登记。 。 。 .

默认消息被设计为在任何容器中跨越一页. “ 内在的” 信息的意思是放在一个更小的容器里, 因为它会存储信息 .

除了布局,消息还可以接受另一个变体:状态. 然而,并不是每个信息都接受每个州,或者每个布局,也不是每个信息都为每个品牌工作. 请对照您的产品需求检查下表 。 如果您需要一个无法获取的信息,请 联系 与"折纸"团队.

状态支持排版支持品牌支持
动作信息inform, (中文(简体) ), inform-inverse默认内部、 白色标签
提醒消息success, (中文(简体) ), neutral, (中文(简体) ), error默认, 内全部
通知消息inform, (中文(简体) ), feedback, (中文(简体) ), warning, (中文(简体) ), warning-light默认, 内核心 : inform 或者说 feedback 只有状态
内部:所有国家
白标签 : inform 只有状态

标记

所有消息都有相同的标记. 不同的风格是:

  • type: 一个 o-message--action, (中文(简体) ), o-message--alert, (中文(简体) ), o-message--notice
  • state: 一个 o-message--success, (中文(简体) ), o-message--neutral, (中文(简体) ), o-message--error, (中文(简体) ), o-message--feedback, (中文(简体) ), o-message--warning, (中文(简体) ), o-message--warning-light, (中文(简体) ), o-message--inform, (中文(简体) ), o-message--inform-inverse
  • layout: 仅限当前 o-message--inner

注:如在说明中提及的 信件类型,并非所有州都会为所有信息类型工作。 除此之外,版式修改器仅适用于 alert 财务报告和审定财务报表 notice 类型信息.

这个例子说明了成功提醒信息的基本标记:

<div
    class="o-message o-message--alert o-message--success"
    data-o-component="o-message"
>
    <div class="o-message__container">
        <div class="o-message__content">
            <p class="o-message__content-main">
                <span class="o-message__content-highlight">Oops.</span>
            </p>
        </div>
    </div>
</div>

您可以用以下标记来添加更多关于消息的信息:

<div class="o-message o-message--alert o-message--success" data-o-component="o-message">
    <div class="o-message__container">
        <div class="o-message__content">
            <p class="o-message__content-main">
                <span class="o-message__content-highlight">Oops.</span>
+				<span class="o-message__content-detail">
+					Something went wrong!
+					The quick brown fox did not jump over the lazy dogs.
+				</span>
            </p>
        </div>
    </div>
</div>

您也可以添加动作, 例如您的消息的按钮和/ 或链接 :

<div class="o-message o-message--alert o-message--success" data-o-component="o-message">
    <div class="o-message__container">
        <div class="o-message__content">
            <p class="o-message__content-main">
                <span class="o-message__content-highlight">Oops.</span>
                <span class="o-message__content-detail">
                    Something went wrong!
                    The quick brown fox did not jump over the lazy dogs.
                </span>
            </p>
+			<div class="o-message__actions">
+				<a href="#" class="o-message__actions__primary">Button</a>
+				<a href="#" class="o-message__actions__secondary">Text link</a>
+			</div>
        </div>
    </div>
</div>

如果您已经应用 o-message--inner 修改信件时,您可以添加额外的,完全可选的内容 :

-<div class="o-message o-message--alert o-message--error" data-o-component="o-message">
+<div class="o-message o-message--alert o-message--inner o-message--error" data-o-component="o-message">
    <div class="o-message__container">
        <div class="o-message__content">
            <p class="o-message__content-main">
                <span class="o-message__content-highlight">Oops.</span>
                <span class="o-message__content-detail">
                    Something went wrong!
                    The quick brown fox did not jump over the lazy dogs.
                </span>
            </p>
+			<p class="o-message__content-additional">
+				Did you know that that sentence uses all of the letters in the alphabet at least once?
+			</p>
            <div class="o-message__actions">
                <a href="#" class="o-message__actions__primary">Button</a>
                <a href="#" class="o-message__actions__secondary">Text link</a>
            </div>
        </div>
    </div>
</div>

对于任何信件,您可以通过使用此标记来突出段落内的任何部分副本 :

<div
    class="o-message o-message--alert o-message--success"
    data-o-component="o-message"
>
    <div class="o-message__container">
        <div class="o-message__content">
            <p class="o-message__content-main">
                The quick brown fox did
                <span class="o-message__content-highlight">not</span> jump over the lazy
                dogs.
            </p>
        </div>
    </div>
</div>

萨斯 用户可能创建带有突出显示颜色的自定义消息。 这有助于突出信息中的关键词. 对信件副本应用突出显示颜色使用类 o-message__content-highlight-color。 。 。 .

<div
    class="o-message o-message--alert o-message--success"
    data-o-component="o-message"
>
    <div class="o-message__container">
        <div class="o-message__content">
            <p class="o-message__content-main">
                <span class="o-message__content-highlight">
                    Hurray<span class="o-message__content-highlight-color">thing</span
                    >happened
                </span>
                The quick brown fox jumped over the lazy dogs!
            </p>
        </div>
    </div>
</div>

对于 只有动作信息,可以将文本集中到特定类别(.o-message__content--center-align:

<div class="o-message o-message--action o-message--inform" data-o-component="o-message">
    <div class="o-message__container">
-		<div class="o-message__content">
+		<div class="o-message__content o-message__content--center-align">
            <p class="o-message__content-main">
                This will be a call to action. Feedback, please.
            </p>
        </div>
    </div>
</div>

Java 脚本

没有代码会自动运行, 除非你正在使用构建服务 。 您必须构建一个 o-message 物体或发射 O.DOMContent 失败事件,该事件 o-message 听着.

建筑业

如果您已声明设置您的消息, 请使用以下内容来保存您的消息 .

import Message from '@financial-times/o-message';
Message.init();

Message 默认情况下将关闭其元素。 通过声明设置信息,可以通过添加 data-o-message-close="false" 到消息元素.

如果你正在设置一个消息 没有现有的DOM元素, Message 将为您构建一个元素。 只要你的标记包含一个带有数据属性的元素 data-o-component=o-message中,您可以选择一个带有特定信息的信息 选项。 。 。 .

import Message from '@financial-times/o-message';
const importantMessage = new Message(null, {
    type: 'alert',
    state: 'error',
    content: {
        highlight: 'Something has gone wrong.',
        detail: 'The quick brown fox did not jump over the lazy dogs.',
    },
});

选项

o-message 允许多个配置选项,可以改变消息的类型及其视觉造型.

示例中列出了唯一需要的选项 上文它们是:

  • type:弦乐. o-message 变种. 现有变体有"行动","警报"和"通知"等.
  • state:弦乐. 所有信件都需要状态,您必须提供与您所选择的信件类型相结合的状态,如您所列出的 信件类型
  • content.detail:弦乐. 关于信息性质的细节.

不需要下列选项,所有选项都有默认值:

  • autoOpen:布尔. 是否自动打开信件,默认为 true。 。 。 .
  • parentElement:弦乐. 这决定了信件将附加的元素. 如果没有声明,它会自动附加到正文,或者带有数据属性的元素 data-o-component=o-message,默认为 null。 。 。 .
  • content: 对象。 文本属性持有下列值:
    • highlight:弦乐. 消息中突出显示的文字 。 默认为 null
    • additionalInfo:弦乐. 关于信件的更多信息 - 仅适用于带有 inner 设置。 默认为 null
  • actions: 对象。 文本属性持有下列值:
    • primary: 对象。 按钮属性持有以下值 :
      • text:字符串. 按钮的文本值. 默认为 null
      • url:弦乐. 按钮链接到的 URL 。 默认为 null
      • openInNewWindow:布尔. 决定 是否可采取以下行动: target="_blank默认为 false
    • secondary: 对象。 链接属性持有以下值 :
      • text:字符串. 链接的文本值. 默认为 null
      • url:弦乐. 链接的 URL 链接 。 默认为 null
      • openInNewWindow:布尔. 决定 是否可采取以下行动: target="_blank默认为 false
  • close:布尔. 是否显示关闭按钮 。 默认为 true。 。 。 .

例如,用于配置 close 要显示的图标 :

import Message from 'o-message';
const importantMessage = new Message(null, {
    type: 'alert',
    state: 'error',
    content: {
-		highlight: 'Something has gone wrong.',
+		highlight: 'Something has gone very wrong.',
        detail: 'The quick brown fox did not jump over the lazy dogs.'
    },
+	close: false
});

萨斯

您可以调用 :

@include oMessage();

您还可以更具体地说明您想要通过使用一个 $opts 地图 :

@include oMessage(
    $opts: (
        'types': (
            'action',
            'notice',
        ),
        'states': (
            'inform',
            'warning',
        ),
        'layouts': (
            'inner',
        ),
    )
);

选项包括:

特性说明
类型要支持的信息(例如提醒、通知、行动)见 信件类型。 。 。 .
状态要支持的信息类型(例如“ 信息”、“ 警告”、“ 错误”) 参见 信件类型。 。 。 .
版式默认信件应该横跨页面,以便在内容内支持消息通过"内"选项. 见 信件类型。 。 。 .

自定义信件

要创建新消息, 并有一个独特的外观调用 oMessageAddSate。混音可以接受三个参数:

  • name:贵州名. 用于修改类输出 o- message - {name} .
  • opts: 状态选项地图。 笔记颜色可能是 o-颜色 颜色名称或十六进制值 :
    • foreground-color: 消息文本所使用的颜色, 以及未给出亮点颜色的按钮 .
    • background-color: 消息所使用的背景颜色.
    • icon编号: 缩略语 图标名称,在提醒信件中显示。 只要求状态支持提醒消息类型 .
    • button-type (可选) : 按钮的类型。 一个 primary 或者说 secondary (违约) secondary) (中文(简体) ).
    • highlight-color (可选) : 消息按钮使用亮点颜色 。 它也可以用来与 CSS 类一起突出消息副本 o-message__content-highlight-color。 。 。 .
  • types: 清单 信件类型 您的状态支持一个或一个以上( y)alert, (中文(简体) ), notice, (中文(简体) ), action) (中文(简体) ).
// Outputs CSS for a custom message state called "pikachu"
// Outputs a modifier class `o-message--pikachu`
@include oMessageAddState(
    $name: 'pikachu',
    // the custom state is named "pikachu"
    $opts:
        (
            // slate message
            'background-color': 'slate',
            // white text
            'foreground-color': 'white',
            // lemon highlights with `o-message__content-highlight-color` and a lemon button
            'highlight-color': 'lemon',
            // a primary button`o-message__content-highlight` highlight copy
            'button-type': 'primary',
            // show a 'user' o-icons icon if used as an alert
            'icon': 'user',
        ),
    $types: (
        'notice',
        'alert',
    )
); // this state should work with notice and alert message types

移徙

状态主要版本最后一个小版本移徙指南
维护6个不详迁移到 v6
已贬值页:15.4 (中文(简体) )迁移到 v5
已贬值页:14.2 (中文(简体) )迁移到 v4
已贬值3个- 说吧迁移到 v3
已贬值2个2.4 国家迁移到 v2
已贬值1个1.0 国家不详

联系人

如果您对本部分有任何问题或评论,或需要帮助使用本部分,请 提出问题访问 #origami - 支持 或电子邮件 折纸支持。 。 。 .

许可证

本软件由金融时报根据以下规定出版: 麻省理工学院许可证。 。 。 .

版本与发布记录

@financial-times/o-message 共发布 42 个版本,首次发布于 2019/02/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
6.0.0latest2025/02/201.7 年前
5.4.42023/10/273 年前
5.4.32023/08/253 年前
5.4.22023/04/283 年前
5.4.12022/12/213 年前
5.4.02022/10/174 年前

其他发布通道:prerelease → 5.0.0-beta.0。

关于 @financial-times/o-message 的常见问题

@financial-times/o-message 是什么?

提供提醒、通知或发出行动呼吁的信息要素.

如何安装 @financial-times/o-message?

在项目目录运行 npm install @financial-times/o-message,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@financial-times/math(^1.0.0)、@financial-times/o-brand(^4.1.0)、@financial-times/o-private-foundation(^1.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@financial-times/o-message 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/financial-times__o-message 是否存在。

@financial-times/o-message 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@financial-times/o-message 可以商用吗?

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

@financial-times/o-message 的下载量有多少?

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

@financial-times/o-message 还在维护吗?

最新版本 6.0.0 发布于 2025/02/20(1.7 年前);至今共发布 42 个版本,其中过去 12 个月发布了 0 个;首次发布于 2019/02/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。