Getting Started
Overview
@verbb/plugin-kit-react is for Craft plugin developers who want to build richer control panel interfaces with React instead of only Twig and server-rendered HTML.
The main job of this package is to help you get a React app running inside the Craft control panel without having to solve all the UI, styling, and host-integration pieces from scratch.
What this package gives you
- React components that feel at home in the Craft control panel
- Helpers for connecting your React app to Craft concepts such as translations, dialogs, portals, and host APIs
- Styling support for both normal DOM rendering and Shadow DOM rendering
- Form-building tools for more advanced, Craft-like interfaces once your app is running
Built with
These libraries are part of the shipped UI and form stack (bundled as dependencies of @verbb/plugin-kit-react). You do not have to install them separately unless your plugin imports them directly alongside the kit.
- Base UI (
@base-ui/react) — headless, accessible primitives for dialogs, menus, popovers, and similar patterns - Tailwind CSS v4 — utility-first styling behind
@verbb/plugin-kit-react/style.css, with helpers such astailwind-merge,clsx, andclass-variance-authority - React 19 — peer dependency; the kit targets the same major as Craft’s CP React stack
- Zustand — SchemaForm engine state
- Valibot — schema validation for forms
- Jexl — condition expressions in schema-driven forms
- TipTap / ProseMirror — rich text editing (
TiptapEditor,TiptapInput, and related schema fields) - Framer Motion — motion and layout transitions where components use it
- @dnd-kit — drag-and-drop for sortable or builder-style surfaces
- cmdk — command-palette style UI (for example variable picker flows)
- @tanstack/react-virtual — virtualized lists in heavy menus or tables
- react-day-picker — calendar and date picking
- Font Awesome — icons via
@fortawesome/react-fontawesomeand Pro icon sets bundled for kit components
What you will build in this guide
The getting started path assumes you are starting from a PHP-only plugin with no frontend build setup yet.
By the end of it, you should understand how to:
- add a small frontend toolchain to your plugin
- create a React entry file
- register the built files as a Craft CP asset bundle
- render a mount element in your template or CP page
- mount your first
plugin-kit-reactUI inside the Craft control panel
Where to read next
- Read Quick Start for the full PHP-plugin-to-first-React-screen setup.
- Read CSS setup once your app is mounting and you are ready to choose light DOM or Shadow DOM.
- Read Testing and debugging if your first integration is not behaving as expected.
- Read Creating a React app when you want the frontend concepts explained in more detail, then use the React app reference pages as needed.
Edit this page
Last updated: May 22, 2026, 6:53 PM