React でモーダル・ポップアップ・ダイアログをシンプルに管理するライブラリです。
中辛 の解説
TypeScript・React スタック向けのライブラリです。難易度は初級~中級で、すぐに実装に活用できます。OverlayProvider でラップし、overlay.open() または overlay.openAsync() を呼び出すだけで、モーダルの開閉と結果の返却が実現します。非同期処理に対応しており、Promise ベースで結果を取得できるため、確認ダイアログなどで威力を発揮します。
こんなリポジトリです
こんなときに便利です
- 確認ダイアログの実装でユーザー入力を Promise で取得したいとき
- 複数のモーダルを重ねて表示し、それぞれの開閉を管理したいとき
- フォーム送信時の確認画面など、複雑なオーバーレイフローを簡潔に実装したいとき
主な機能
ほかとの違い
useState とコールバックによる従来的なアプローチと異なり、Promise ベースで非同期結果を直感的に扱え、複数のオーバーレイを管理する際のボイラープレートを大幅に削減します。
このリポジトリの作り方
はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。
準備するもの
- React
すぐに始める
- npm でインストールしてください。
npm install overlay-kit
- アプリケーションのルートを OverlayProvider でラップします。
import { OverlayProvider } from 'overlay-kit';
import { createRoot } from 'react-dom/client';
const app = createRoot(document.getElementById('root')!);
app.render(
<OverlayProvider>
<App />
</OverlayProvider>
);
- コンポーネント内で overlay.open() を使ってオーバーレイを開きます。
import { overlay } from 'overlay-kit';
<Button
onClick={() => {
overlay.open(({ isOpen, close, unmount }) => (
<Dialog open={isOpen} onClose={close} onExit={unmount} />
))
}}
>
Open
</Button>
- 結果を Promise で受け取る場合は overlay.openAsync() を使います。
<Button
onClick={async () => {
const result = await overlay.openAsync<boolean>(({ isOpen, close, unmount }) => (
<Dialog
open={isOpen}
onConfirm={() => close(true)}
onClose={() => close(false)}
onExit={unmount}
/>
))
}}
>
Open
</Button>
ギット飯トライで味見
入れるのが面倒で少し不安だったなら — 安全スキャンからインストールまで、ターミナル一行で終わります。
ターミナルに貼り付ければ、ギット飯の安全スキャン → 隔離フォルダへ clone → インストール → 実行方法の案内まで自動です。はじめてでも大丈夫 — この一行だけです。
npx gitbap-try toss/overlay-kit
Node.js さえあれば、インストールなしで動きます · ギット飯トライとは? →
スター推移 · 7日
確認日時
使いやすさ · まねしやすいか
- ゆるいライセンス
- テストあり
- サンプル集
- 最近の更新
- AGENTS.md
- llms.txt
- テンプレート
最近の更新あり · 2024 年に作成
「Web・Next.js・フルスタック」 こういうリポジトリを毎週受け取りませんか?
毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。
自分のリポジトリですか? README にギット飯バッジを貼る
[](https://www.gitbap.com/r/toss/overlay-kit)Claude からそのまま使う — ギット飯のつなぎ方
ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。
Claude の設定 → コネクタにこのアドレスを貼り付け。
https://www.gitbap.com/api/mcpプラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。
/plugin marketplace add jakeparkcolde/gitbap-cowork/plugin install gitbap-cowork@gitbapAI が README をもとに要約しました · 原文を見る