gitextract_tk3vkz9w/ ├── .changeset/ │ ├── README.md │ └── config.json ├── .github/ │ ├── CODEOWNERS │ ├── pull_request_template.md │ └── workflows/ │ ├── autofix.yml │ ├── ci.yml │ └── release.yml ├── .gitignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .vscode/ │ ├── extensions.json │ └── settings.json ├── .yarn/ │ ├── releases/ │ │ └── yarn-4.5.1.cjs │ └── sdks/ │ ├── eslint/ │ │ ├── bin/ │ │ │ └── eslint.js │ │ ├── lib/ │ │ │ ├── api.js │ │ │ └── unsupported-api.js │ │ └── package.json │ ├── integrations.yml │ ├── prettier/ │ │ ├── bin/ │ │ │ └── prettier.cjs │ │ ├── index.cjs │ │ └── package.json │ └── typescript/ │ ├── bin/ │ │ ├── tsc │ │ └── tsserver │ ├── lib/ │ │ ├── tsc.js │ │ ├── tsserver.js │ │ ├── tsserverlibrary.js │ │ └── typescript.js │ └── package.json ├── .yarnrc.yml ├── LICENSE ├── README-ko_kr.md ├── README.md ├── codecov.yml ├── docs/ │ ├── .gitignore │ ├── next-env.d.ts │ ├── next.config.mjs │ ├── package.json │ ├── src/ │ │ ├── components/ │ │ │ ├── index.ts │ │ │ ├── main.tsx │ │ │ └── sandpack/ │ │ │ ├── base-template.ts │ │ │ ├── custom-preset.tsx │ │ │ └── index.tsx │ │ ├── middleware.ts │ │ └── pages/ │ │ ├── _app.tsx │ │ ├── en/ │ │ │ ├── _meta.tsx │ │ │ ├── api/ │ │ │ │ ├── _meta.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── _meta.tsx │ │ │ │ │ └── overlay-provider.mdx │ │ │ │ └── utils/ │ │ │ │ ├── _meta.tsx │ │ │ │ ├── overlay-close-all.mdx │ │ │ │ ├── overlay-close.mdx │ │ │ │ ├── overlay-open-async.mdx │ │ │ │ ├── overlay-open.mdx │ │ │ │ ├── overlay-unmount-all.mdx │ │ │ │ └── overlay-unmount.mdx │ │ │ ├── docs/ │ │ │ │ ├── _meta.tsx │ │ │ │ ├── guides/ │ │ │ │ │ ├── _meta.tsx │ │ │ │ │ ├── code-comparison.mdx │ │ │ │ │ ├── faq.mdx │ │ │ │ │ ├── hooks.mdx │ │ │ │ │ ├── introduction.mdx │ │ │ │ │ ├── testing.mdx │ │ │ │ │ └── think-in-overlay-kit.mdx │ │ │ │ └── more/ │ │ │ │ ├── _meta.tsx │ │ │ │ ├── basic.mdx │ │ │ │ └── open-outside-react.mdx │ │ │ └── index.mdx │ │ └── ko/ │ │ ├── _meta.tsx │ │ ├── api/ │ │ │ ├── _meta.tsx │ │ │ ├── components/ │ │ │ │ ├── _meta.tsx │ │ │ │ └── overlay-provider.mdx │ │ │ └── utils/ │ │ │ ├── _meta.tsx │ │ │ ├── overlay-close-all.mdx │ │ │ ├── overlay-close.mdx │ │ │ ├── overlay-open-async.mdx │ │ │ ├── overlay-open.mdx │ │ │ ├── overlay-unmount-all.mdx │ │ │ └── overlay-unmount.mdx │ │ ├── docs/ │ │ │ ├── _meta.tsx │ │ │ ├── guides/ │ │ │ │ ├── _meta.tsx │ │ │ │ ├── code-comparison.mdx │ │ │ │ ├── faq.mdx │ │ │ │ ├── hooks.mdx │ │ │ │ ├── introduction.mdx │ │ │ │ ├── testing.mdx │ │ │ │ └── think-in-overlay-kit.mdx │ │ │ └── more/ │ │ │ ├── _meta.tsx │ │ │ ├── basic.mdx │ │ │ └── open-outside-react.mdx │ │ └── index.mdx │ ├── theme.config.tsx │ └── tsconfig.json ├── eslint.config.cjs ├── examples/ │ ├── react-16/ │ │ └── framer-motion/ │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ └── modal.tsx │ │ │ ├── demo.tsx │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react-17/ │ │ └── framer-motion/ │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ └── modal.tsx │ │ │ ├── demo.tsx │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── react-18/ │ │ └── framer-motion/ │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ └── modal.tsx │ │ │ ├── demo.tsx │ │ │ ├── main.tsx │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ └── react-19/ │ └── framer-motion/ │ ├── .gitignore │ ├── index.html │ ├── package.json │ ├── src/ │ │ ├── components/ │ │ │ └── modal.tsx │ │ ├── demo.tsx │ │ ├── main.tsx │ │ └── vite-env.d.ts │ ├── tsconfig.json │ └── vite.config.ts ├── package.json └── packages/ ├── .gitignore ├── CHANGELOG.md ├── README.md ├── package.json ├── setup.test.ts ├── src/ │ ├── context/ │ │ ├── context.ts │ │ ├── provider/ │ │ │ ├── content-overlay-controller.tsx │ │ │ └── index.tsx │ │ ├── reducer.test.ts │ │ └── reducer.ts │ ├── event.test.tsx │ ├── event.ts │ ├── index.ts │ └── utils/ │ ├── create-overlay-context.test.tsx │ ├── create-overlay-context.tsx │ ├── create-safe-context.test.tsx │ ├── create-safe-context.ts │ ├── create-use-external-events.test.ts │ ├── create-use-external-events.ts │ ├── emitter.test.ts │ ├── emitter.ts │ ├── index.ts │ └── random-id.ts ├── tsconfig.json ├── tsup.config.ts └── vitest.config.mts