Getting Started
Installation
Install @verbb/formie-web-components into your app:
bash
npm install @verbb/formie-web-components@verbb/formie-browser and @verbb/formie-core are dependencies of this package; you normally do not add them unless you call their APIs directly.
Register the elements
Import the package and register the custom elements once when your app boots:
ts
import { registerFormieWebComponents } from '@verbb/formie-web-components';
registerFormieWebComponents();CSS
Server-rendered forms (formie-form)
If you use the shipped Formie browser UI, import CSS from @verbb/formie-browser:
ts
import '@verbb/formie-browser/css/formie.css';You can split base and theme layers if needed:
ts
import '@verbb/formie-browser/css/formie-base.css';
import '@verbb/formie-browser/css/formie-theme.css';Client-rendered forms (formie-core-form)
Client-rendered forms render their own structure and apply stable CSS classes (for example formie-page-actions for page actions). You do not need the browser theme CSS unless you intentionally want to reuse those variables or utilities. Style the host and inner markup with your own CSS.
Browser requirements
- Register the custom elements before inserting
<formie-form>or<formie-core-form>into the document. formie-form: needsform-handle(attributeform-handleor propertyformHandle). Settransportandendpointfor your setup; see Server-rendered.formie-core-form: needsform-handleandendpoint(REST: Craft base URL; GraphQL: API URL, often/api). See Client-rendered forms.- If the frontend and Craft live on different domains, point
endpointat Craft (or usebase-urlonformie-formwith a relativeendpointwhere supported). - If the Craft control panel lives under something like
/admin, do not use the CP URL. Use the public site root or the correct GraphQL endpoint.
Next step
Choose the right rendering path on Web Components.
Last updated: May 6, 2026, 3:46 PM