独自のアイコンを登録する

<pixiv-icon>nameに存在しないSVGをアイコンとして登録することができます。

import { PixivIcon } from '@charcoal-ui/icons'
import NewFeature from './NewFeature.svg'

PixivIcon.extend({
  '16/NewFeature': require('./icons/16/NewFeature.svg'),
  '24/NewFeature': 'https://example.com/hoge.svg',
  '32/NewFeature': NewFeature,
})

declare module '@charcoal-ui/icons' {
  export interface KnownIconType {
    '16/NewFeature': unknown
    '24/NewFeature': unknown
    '32/NewFeature': unknown
  }
}

その場合も名前の形式は {size}/{name}である必要があります。
TypeScript 環境下では、KnownIconTypeという型を拡張することで、カスタムアイコンに対しても補完が効くようになります。

独自アイコンのためのバンドラ設定

PixivIcon.extend()に渡すオブジェクトはキーがアイコン名、値がSVGファイルに対するパス名またはURLである必要があります。
(内部的には、ここで渡した文字列に対してfetch()が走ります)

SVGファイルをimportして渡す場合、プロジェクトのバンドラが*.svgパス文字列として(ファイルの内容の文字列ではなく)ロードする設定になっていることを確認してください。

たとえばWebpackの場合、当該アイコンファイルに対するルールのtypeはasset/resourceであるべきです。
svgrなど、SVGファイルを文字列以外の値にトランスフォームするツールを使っているプロジェクトでは、
PixivIcon.extend()に渡す用の.svgファイルをその対象から除いてください。