@financial-times/o-icons

中文文档
7.10.1发布于 2026/02/26MITES Module零依赖近 30 天下载 1.5万

Helper SCSS tool for using the FT's icons. For a full list of available icons please see the fticons image set

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

原始使用文档
文档目录10 节
  1. Usage
  2. Summary
  3. Markup
  4. Sass
  5. Includes icons of different sizes and colors
  6. Using the default CSS helper classes
  7. Contributing
  8. Migration
  9. Contact
  10. Licence

⚠️ NOTE: o-icons has been replaced with o3-foundation. Please see Migration Guide for steps to upgrade.

o-icons

Helper Sass for the fticons image set.

Usage

Check out how to include Origami components in your project to get started with o-icons.

Summary

There are a few ways to get icons from fticons:

  1. Use o-icons CSS classes
  2. Use o-icons Sass mixins with your own CSS.
  3. Request the icon directly from the Image Service (without using o-icons at all).

Markup

To add an icon apply the o-icons-icon class to a span, along with the modifier class for your specific icon e.g. o-icons-icon--arrow-down. See the storybook demos for a full list of icons.

<span class="o-icons-icon o-icons-icon--arrow-down"></span>
<span class="o-icons-icon o-icons-icon--audio"></span>
<span class="o-icons-icon o-icons-icon--book"></span>

This will include icons with a 128px width/height by default.

If you would like to use an icon at a different dimension or colour, use o-icon Sass mixins or request the icon from the Image Service directly (without using o-icons at all).

Sass

Includes icons of different sizes and colors

Use oIconsContent to output the styles for an icon of a given size and colour.

The $color argument should be set using an o-colors Sass function such as oColorsByName, but may be set to any hex value.

// Use o-colors so you can use colors from the Origami palette.
@import "@financial-times/o-icons/main";
@import "@financial-times/o-colors/main";

// Output a 32px, claret coloured plus icon.
.my-icon-plus {
    @include oIconsContent(
        $icon-name: 'plus',
        $color: oColorsByName('claret'),
        $size: 32
    );
}
<span class="my-icon-plus"></span>

The oIconsContent mixins outputs styles used by each icon. This is inefficient if your project outputs multiple icons. In this case we recommend outputting the base styles separately with oIconsContentBaseStyles.

// Output a 32px, claret coloured plus icon.
.my-icon {
    @include oIconsContentBaseStyles();
}

.my-icon--plus {
    @include oIconsContent(
        $icon-name: 'plus',
        $color: oColorsByName('claret'),
        $size: 32,
        $include-base-styles: false // do not duplicate the base styles
    );
}
<span class="my-icon my-icon--plus"></span>

o-icons includes a media query to restore either a black or white icon in Microsoft's high-contrast mode. If no icon is acceptable for users of Microsoft's high-contrast mode this may be disabled to reduce bundle size:

.no-high-contrast-window {
    @include oIconsContent(
        $icon-name: 'plus',
        $color: oColorsByName('claret'),
        $high-contrast-fallback: false
    );
}

Using the default CSS helper classes

To output all icon helper classes include the oIcons mixin.

@import "@financial-times/o-icons/main";
@include oIcons(); // include helper classes for all icons

To avoid including all icon helper classes, oIcons mixin also accepts a list of icons to include:

@include oIcons($opts: (
    'icons': ('arrow-down', 'audio') // include helper classes for the arrow-down and audio icons
));

Contributing

o-icons is some Sass mixins and helpers for using the fticons image set. To add a new icon you need to add it to the fticons set. There are instructions in the origami-image-service README. When the icon is in fticons, run node ./scripts/build-icon-list.js NAME_OF_THE_NEW_ICON to update o-icons Sass with the new icon automatically.

If you need to remove an icon from o-icons you run node ./scripts/build-icon-list.js NAME_OF_THE_NEW_ICON remove.

Migration

StateMajor VersionLast Minor ReleaseMigration guide
✨ activeo3N/Amigrate to o3
╳ deprecated7N/Amigrate to v6
╳ deprecated66.3migrate to v6
╳ deprecated55.9migrate to v5
╳ deprecated44.5migrate to v4
╳ deprecated33.3-
╳ deprecated22.4-
╳ deprecated11.2-

Contact

If you have any questions or comments about this component, or need help using it, please either raise an issue, visit #origami-support or email Origami Support.


Licence

This software is published by the Financial Times under the MIT licence.

版本与发布记录

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

版本发布日期距今
7.10.1latest2026/02/268 个月前
7.10.02025/09/221.1 年前
7.9.12025/06/301.4 年前
7.9.02025/03/071.7 年前
7.8.02024/04/172 年前
7.7.22024/04/112 年前

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

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

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

Helper SCSS tool for using the FT's icons. For a full list of available icons please see the fticons image set注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

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

在项目目录运行 npm install @financial-times/o-icons,或使用 pnpm add / yarn add / bun add。

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

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

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

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

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

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

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

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

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

最新版本 7.10.1 发布于 2026/02/26(8 个月前);至今共发布 42 个版本,其中过去 12 个月发布了 1 个;首次发布于 2019/02/13。作者已将其标记为弃用,新项目建议寻找替代方案。