diff --git a/examples/react-antd-tailwindcss/.gitignore b/examples/react-antd-tailwindcss/.gitignore
new file mode 100644
index 0000000..a256953
--- /dev/null
+++ b/examples/react-antd-tailwindcss/.gitignore
@@ -0,0 +1,26 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.output
+stats.html
+stats-*.json
+.wxt
+web-ext.config.ts
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/examples/react-antd-tailwindcss/README.md b/examples/react-antd-tailwindcss/README.md
new file mode 100644
index 0000000..998cb2f
--- /dev/null
+++ b/examples/react-antd-tailwindcss/README.md
@@ -0,0 +1,96 @@
+---
+name: React with AntD & Tailwind CSS
+description: Simple example extension using React, Tailwind CSS, and AntD components.
+---
+
+# WXT + React + AntD + Tailwind CSS
+
+This example demonstrates how to integrate React 19+, Tailwind CSS v4+, and AntD components within a WXT extension.
+
+## Installation Walkthrough
+
+1. **Initialize a new WXT project:**
+
+ Open your terminal and run the following command to create a new WXT project with the React template:
+
+ ```sh
+ pnpm dlx wxt@latest init
+ ```
+
+ The CLI will guide you through the project setup. Choose the `react` template and your preferred package manager. For this example, I use pnpm.
+
+ ```
+ WXT 0.20.6
+ ℹ Initializing new project
+ ✔ Project Directory … react-antd-tailwindcss
+ ✔ Choose a template › react
+ ✔ Package Manager › pnpm
+ ✔ Downloading template
+ ✨ WXT project created with the react template.
+ Next steps:
+ 1. cd react-antd-tailwindcss
+ 2. pnpm install
+ ```
+
+2. **Navigate to the project directory and install dependencies:**
+
+ ```sh
+ cd react-antd-tailwindcss
+ pnpm install
+ ```
+
+3. **Install Tailwind CSS and `@tailwindcss/vite`:**
+
+ You should follow the official Tailwind Vite installation [guide](https://tailwindcss.com/docs/installation/using-vite). As the time of creating this example, it asked to run the following command:
+
+ ```sh
+ pnpm install tailwindcss @tailwindcss/vite
+ ```
+
+4. **Configure Tailwind CSS in `wxt.config.ts`:**
+
+ To configure Tailwind CSS, modify `wxt.config.ts`. While official documentation says to change `vite.config.ts`, WXT configures Vite internally, so you need to update `wxt.config.ts` instead. This file manages the build process. To integrate Tailwind, add it as a Vite plugin within the wxt.config.ts file, as shown here:
+
+ ```ts
+ import { defineConfig } from "wxt";
+ import tailwindcss from "@tailwindcss/vite";
+ // See https://wxt.dev/api/config.html
+ export default defineConfig({
+ modules: ["@wxt-dev/module-react"],
+ vite: () => ({
+ plugins: [tailwindcss()],
+ }),
+ });
+ ```
+
+5. **Create a `tailwind.css` file:**
+
+ Create a `tailwind.css` file in your `assets` directory (or the root directory of your project if you don't have an assets dir) with the following content:
+
+ ```css
+ @import "tailwindcss";
+ ```
+
+6. **Import `tailwind.css`:**
+
+ You can now easily import the `tailwind.css` file in your React components:
+
+ ```ts
+ import "@/assets/tailwind.css"; // Adjust the path if necessary
+ ```
+
+ or you can include it directly in your `index.html` file:
+
+ ```html
+
+
+
+
+
+
+
+
+
+ ```
+
+ Now you can use AntD and TailwindCSS together throughout your project.
\ No newline at end of file
diff --git a/examples/react-antd-tailwindcss/assets/react.svg b/examples/react-antd-tailwindcss/assets/react.svg
new file mode 100644
index 0000000..8e0e0f1
--- /dev/null
+++ b/examples/react-antd-tailwindcss/assets/react.svg
@@ -0,0 +1 @@
+
diff --git a/examples/react-antd-tailwindcss/assets/tailwind.css b/examples/react-antd-tailwindcss/assets/tailwind.css
new file mode 100644
index 0000000..084d81b
--- /dev/null
+++ b/examples/react-antd-tailwindcss/assets/tailwind.css
@@ -0,0 +1,7 @@
+@layer theme, base, antd, components, utilities;
+
+@import 'tailwindcss/theme.css' layer(theme);
+@import 'tailwindcss/preflight.css' layer(base);
+@import 'tailwindcss/utilities.css' layer(utilities);
+
+@custom-variant dark (&:where(.dark, .dark *));
\ No newline at end of file
diff --git a/examples/react-antd-tailwindcss/entrypoints/content/index.tsx b/examples/react-antd-tailwindcss/entrypoints/content/index.tsx
new file mode 100644
index 0000000..26f6b9f
--- /dev/null
+++ b/examples/react-antd-tailwindcss/entrypoints/content/index.tsx
@@ -0,0 +1,31 @@
+
+import { ThemeProvider } from "@/provider/Theme";
+import { Button } from "antd";
+import { createRoot } from "react-dom/client";
+
+export default defineContentScript({
+ matches: ["*://*.example.com/*"],
+ cssInjectionMode: "ui",
+
+ async main(ctx) {
+ const ui = await createShadowRootUi(ctx, {
+ name: "react-antd-tailwindcss",
+ position: "inline",
+ anchor: "body",
+
+ onMount: (container, shadow) => {
+ const root = createRoot(container);
+
+ root.render(
+
+
+
+ );
+
+ return root;
+ },
+ });
+
+ ui.autoMount();
+ },
+});
\ No newline at end of file
diff --git a/examples/react-antd-tailwindcss/entrypoints/popup/App.tsx b/examples/react-antd-tailwindcss/entrypoints/popup/App.tsx
new file mode 100644
index 0000000..162d7bc
--- /dev/null
+++ b/examples/react-antd-tailwindcss/entrypoints/popup/App.tsx
@@ -0,0 +1,44 @@
+import { useState } from "react";
+import reactLogo from "@/assets/react.svg";
+import wxtLogo from "/wxt.svg";
+import antdLogo from "/antd.svg";
+import { Button } from "antd";
+
+function App() {
+ const [count, setCount] = useState(0);
+
+ return (
+