toss/overlay-kit

React でモーダル・ポップアップ・ダイアログをシンプルに管理するライブラリです。

開発の材料自由に使える · MITWeb・Next.js・フルスタックTypeScript難易度
719+0今週0
78フォーク12Issue
デモ・公式サイトをひらくoverlay-kit.slash.page

中辛 の解説

TypeScript・React スタック向けのライブラリです。難易度は初級~中級で、すぐに実装に活用できます。OverlayProvider でラップし、overlay.open() または overlay.openAsync() を呼び出すだけで、モーダルの開閉と結果の返却が実現します。非同期処理に対応しており、Promise ベースで結果を取得できるため、確認ダイアログなどで威力を発揮します。

이런 레포예요

이럴 때 쓰면 좋아요

  • 確認ダイアログの実装でユーザー入力を Promise で取得したいとき
  • 複数のモーダルを重ねて表示し、それぞれの開閉を管理したいとき
  • フォーム送信時の確認画面など、複雑なオーバーレイフローを簡潔に実装したいとき

핵심 기능

宣言的 API で状態管理を自動化Promise ベースの非同期オーバーレイ対応UI とビジネスロジックの関心分離

대안 대비 차별점

useState とコールバックによる従来的なアプローチと異なり、Promise ベースで非同期結果を直感的に扱え、複数のオーバーレイを管理する際のボイラープレートを大幅に削減します。

食べた人たち

実際に使ってみた人の記録です — 一言も完走の記録も、確認のうえで公開しています。

試食評 · 使った人のひとこと

まだ試食評がありません。使ってみたら、最初のひとことをどうぞ。

ほかのリポジトリの試食評を見る →

이 레포로 만든 것들

🖋 완주 인증하기

아직 이 레포로 만든 완주 인증이 없어요. 첫 밥도장을 찍어보세요!

このリポジトリの作り方

はじめてですか? むずかしくありません — 上から順にたどれば、自分の環境で動かして味見できます。

준비물

  • React

すぐ動かしてみるNode.js (yarn)

ギット飯がリポジトリの構成を確認して組み立てた実行コマンドです。ターミナルに貼り付ければ、取得から実行までまとめて進みます。

git clone --depth 1 https://github.com/toss/overlay-kit.git &&
cd overlay-kit &&
yarn

실행 명령은 README를 확인하세요.

コードは自分の環境で動きます — はじめて見るリポジトリなら、中身にひととおり目を通してから実行するのがおすすめです。

README가 안내하는 자세한 단계 보기
  1. npm でインストールしてください。
npm install overlay-kit
  1. アプリケーションのルートを OverlayProvider でラップします。
import { OverlayProvider } from 'overlay-kit';
import { createRoot } from 'react-dom/client';

const app = createRoot(document.getElementById('root')!);
app.render(
  <OverlayProvider>
    <App />
  </OverlayProvider>
);
  1. コンポーネント内で overlay.open() を使ってオーバーレイを開きます。
import { overlay } from 'overlay-kit';

<Button
  onClick={() => {
    overlay.open(({ isOpen, close, unmount }) => (
      <Dialog open={isOpen} onClose={close} onExit={unmount} />
    ))
  }}
>
  Open
</Button>
  1. 結果を 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日

719+0 / 7일

使いやすさ · まねしやすいか

まねしやすいサンプル評点 50/100
  • ゆるいライセンス
  • テストあり
  • サンプル集
  • 最近の更新
  • AGENTS.md
  • llms.txt
  • テンプレート

最近の更新あり · 2024 年に作成

「웹·Next.js·풀스택」 こういうリポジトリを毎週受け取りませんか?

毎週月曜の朝、選んだ一膳だけ。広告なし · いつでも解除。

自分のリポジトリですか? README にギット飯バッジを貼る
[![깃밥](https://www.gitbap.com/badge/toss/overlay-kit.svg)](https://www.gitbap.com/r/toss/overlay-kit)
Claude からそのまま使う — ギット飯のつなぎ方

ギット飯を Claude につなぐと、こうしたリポジトリを Claude・Cursor・Codex から直接さがして試せます。

方法 ① コネクタ URL

Claude の設定 → コネクタにこのアドレスを貼り付け。

https://www.gitbap.com/api/mcp
方法 ② プラグイン(試用まで)

プラグインを入れると /gitbap-trending·/gitbap-try のスラッシュコマンドで、その場でリポジトリを試せます。Claude Code で下の 2 行を順に実行してください。

/plugin marketplace add jakeparkcolde/gitbap-cowork
/plugin install gitbap-cowork@gitbap
つなぎ方をくわしく →

AI が README をもとに要約しました · 原文を見る