{"repo":"toss/overlay-kit","free":true,"listed":false,"github":"https://github.com/toss/overlay-kit","clone":"git clone https://github.com/toss/overlay-kit.git","description":"A library for handling overlays more easily in React.","language":"TypeScript","stars":730,"topics":["overlay","react"],"license":"MIT","category":"ui-components","readme_excerpt":"overlay-kit &middot; English 한국어 日本語 overlay-kit is a library for declaratively managing overlays like modals, popups, and dialogs in React. You can efficiently implement overlays without complex state management or unnecessary event handling. Example First, add provider: Opening Simple Overlays You can easily open and close overlays using overlay.open . Opening Asynchronous Overlays You can handle overlay results as a Promise using overlay.openAsync . Why use overlay-kit? Problems with Traditional Overlay Management 1. Complexity of State Management - Had to manage overlay state directly using useState or global state. - Code became complex and less readable as state management mixed with UI logic. 2. Repetitive Event Handling - Had to repeatedly write event handling code for opening, closing, and returning results. - This led to code duplication and degraded development experience. 3. Lack of Reusability - UI and logic were tightly coupled through callback functions to return values from overlays. - This made it difficult to reuse components. Goals of overlay-kit 1. Design Following React Philosophy - React favors declarative code. - overlay-kit helps manage overlays declaratively. 2. Improve Development Productivity - By encapsulating state management and event handling, developers can focus solely on UI and business logic. 3. Enhance Extensibility and Reusability - Increased overlay reusability by separating UI and behavior, and returning Promises. License MIT © Viva Repu","default_branch":null,"files":null,"tree":[],"storefront":"/r/toss","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/toss/overlay-kit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}