Socket
Book a DemoInstallSign in
Socket

@serendie/ui

Package Overview
Dependencies
Maintainers
3
Versions
36
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@serendie/ui

Adaptive UI component library as part of Serendie Design System by Mitsubishi Electric

2.1.3
latest
npmnpm
Version published
Maintainers
3
Created
Source

Serendie Design System

GitHub NPM Version Storybook X


Serendie Design Systemは、多様な事業と人々をつなぎ、新たな価値を生み出すための三菱電機によるオープンなデザインシステムです。
デザイントークンSerendie Symbolsなど複数のリポジトリから構成され、本リポジトリはSerendie UIを扱います。

Serendie UI

Serendie UI Kit (Figma)と対となるReactベースのUIコンポーネント集です。Figma Code Connectにも対応しており、Storybookと同等の内容がFigma Devモードでも確認できます。

使い方

インストール

デザイントークンも同梱されます。

npm install @serendie/ui

プロジェクトへの導入

rootのCSSに対して下記を指定してください。1行目は、Serendie UIに対して、スタイルを適切に当てるためにカスケードレイヤーの指定をするもの、2行目は同梱のデザイントークンやデフォルトスタイルを読み込むものです。

@layer reset, base, tokens, recipes, utilities;
@import "@serendie/ui/styles.css";

コンポーネントを使う

各Componentのpropsについては、ドキュメントや、Storybook、Figma Code Connectを参照してください。

import { Button } from "@serendie/ui";

<Button size="medium">Login</Button>;

Next.js App Routerでの使用

Next.js App RouterのServer Componentから使用する場合は、@serendie/ui/clientからインポートすることで、use clientディレクティブを記述する必要がなくなります。

// app/page.tsx - Server Component
import { Button } from "@serendie/ui/client";

export default function Page() {
  return <Button size="medium">Login</Button>;
}

Client Componentでも同様に使用できます:

// app/client-component.tsx - Client Component
"use client";
import { Tabs, TabItem, ModalDialog } from "@serendie/ui/client";

export default function ClientComponent() {
  // インタラクティブなコンポーネントも問題なく動作します
  return <Tabs defaultValue="tab1">...</Tabs>;
}

テーマ切り替え

Serendie Design Systemには5つのカラーテーマがあり、デザイントークンもそれに対応します。htmlタグなどに、data-panda-theme属性 (konjo, asagi, sumire, tsutusji, kurikawa)を付与することでカラーテーマを切り替えることができます。 各テーマについてはこちらを参照してください。

<html data-panda-theme="asagi"></html>

スタイリングライブラリと併用する

マージンを微修正したいなど、Serendie UIのスタイルをカスタムしたいシーンでは、プロジェクト側にスタイリングライブラリ(CSS-in-JSなど)を導入してください。どのスタイリングライブラリでも併用は可能ですが、ここではSerendie UIの内部でも使用しているPanda CSSの例を紹介します。

SerendiePresetの追加

Panda CSS導入後に生成されるpanda.config.tsに下記を追記することで、Panda CSSのPresetとSerendie Design Systemのデザイントークンを繋ぎこみます。

+import { SerendiePreset } from "@serendie/ui";

export default defineConfig({
+  jsxFramework: "react",
+  presets: [SerendiePreset],
});

より実践的な例は、こちらのサンプルプロジェクトを参考にしてください。

APIを詳しく知る

Serendie UIはヘッドレスUIとして、Ark UIを内部的に利用しており、各コンポーネントのAPIはArk UIを継承します。Selectコンポーネントなどインタラクションが複雑なコンポーネントは、Ark UIのAPIリファレンスを合わせて参照してください。

Serendie UIの開発

Serendie UIに新しくコンポーネントを追加する場合は、Ark UIをベースにしてください。

npm run dev
npm run build

Figma Code Connect

Serendie UIでは、Figma Code ConnectをStorybookと繋ぎこむ形で導入しています。下記のコマンドで各コンポーネント毎のstoriesファイルの内容を、Figmaにpublishします。

npm run connect:publish

storiesファイルに変更が入ると上記がGitHub Actionsによって実行されます。

Resources

Serendie Design Systemは、Serendie UI (本リポジトリ) のほか以下の関連リポジトリから構成されています。

Package nameLocationDescription
@serendie/design-tokenserendie/design-tokenW3C Design Token Format Moduleの仕様で定義されたSerendie UIのベースとなるデザイントークン
@serendie/symbolsserendie/symbolsSerendieらしい300種類以上のSVGアイコン集
@serendie/figma-utilsserendie/figma-utilsFigma REST APIを用いて、@serendie/design-tokenとFigma Variablesの同期を行うためのユーティリティー集
@serendie/style-dictonary-formatterserendie/style-dictonary-formatterデザイントークンを各プラットフォームに展開するためのamzn/style-dictonaryのフォーマッタ

Examples

主要パッケージの導入サンプルとして、serendie/bootcampを用意しています。また三菱電機内ではハンズオン形式で使い方を紹介するブートキャンプを開催しています。

サブブランド対応

Serendie Design Systemは三菱電機の有する多様な事業に適応することがコンセプトの一つです。

@serendie/desigon-tokenおよび@serendie/uiは、デフォルトでSerendieのVisual Identity (VI)を継承しますが、各事業ブランドのVIに合わせてテーミングできるよう社内向けにserendie/subbrands-templateを整備しています。

詳しくはSerendie Design Systemチームまでお問い合わせください。

License

各パッケージはMITライセンスの下で配布されています。 詳しくはLICENSEを参照してください。

FAQs

Package last updated on 02 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.