Serendie Symbols は、デジタルプロダクトのなかで汎用性高く使える、Serendie らしい 300 種類以上のアイコン集です。Serendie Design Systemの一部として提供されています。
ドキュメントサイトでは、Serendie Symbols の設計思想をまとめています。アイコンの一覧や検索はこちらを参照してください。
Serendie Symbols は React 環境を前提としています。
各アイコンを個別のコンポーネントとしてインポートする方法です。バンドルサイズの観点から この方法が推奨 されます。
import {
SerendieSymbolHome,
SerendieSymbolSettingsFilled,
} from "@serendie/symbols";
function MyComponent() {
return (
<>
<SerendieSymbolHome width={24} height={24} color="green" />
<SerendieSymbolSettingsFilled width={32} height={32} />
</>
);
}
利用可能なコンポーネント:
- アイコン名 (
home
など) をパスカルケース (Home
) に変換し、プレフィックスSerendieSymbol
を付けたものがコンポーネント名になります (SerendieSymbolHome
) - 塗りつぶし (
filled
) の場合は、さらにサフィックスFilled
が付きます (SerendieSymbolHomeFilled
) - 利用可能なアイコン名の一覧はこちらを参照してください
- コンポーネントは標準の SVG プロパティ (
className
,onClick
など) を受け付けます
SerendieSymbol
コンポーネントを使用して、name
や variant
プロパティによって表示するアイコンを切り替える方法も提供しています。
import { SerendieSymbol } from "@serendie/symbols";
<SerendieSymbol name="home" size={24} variant="filled" color="blue" />;
利点:
-
動的なアイコン選択: コンポーネントのプロパティ (
name
,variant
) を変更することで、表示するアイコンを実行時に簡単に切り替えられます
トレードオフと注意点:
- バンドルサイズの増加: このコンポーネントを使用する場合、内部的にすべてのアイコンデータを保持しているため、アプリケーションの最終的なバンドルサイズが大きくなります。実際に使用しないアイコンも含まれてしまいます
SerendieSymbol
の Props:
-
name
: アイコン名を指定します。こちらの一覧を参照してください。 -
variant?
: アイコンには線outlined
と塗りfilled
の 2 種類があります。デフォルトはoutlined
です。 -
size?
: アイコンのサイズを指定します。SVG のwidth
とheight
に適用されます。デフォルトは24
です。 -
color?
: アイコンの色を指定します。SVG のcolor
属性に適用されます。 - その他の SVG のプロパティはコンポーネントを包括している SVG 要素に適用されます。
assets に含まれる SVG ファイルからコンポーネントを生成するため、アイコンを変更した場合は以下のコマンドを実行してください。
npm run generate
MIT ライセンスの下で配布されています。 詳しくはLICENSEを参照してください。