The P1 component library provides content creators with a catalog of pre-built, design-system-compliant blocks that can be added to any page in the visual editor. These blocks are REACT components built for Next.js and P1, maintained by our development team. They are offering a starting point for site builders without having to build all components from scratch.
Your organization can use them as is or simply use them as a base and fork them in a different repository. You could also build your own component library for your organization following the same architecture. The value for the users and business: a simple way to enforce and control your organization's brand and layout standards across your fleet of websites.
Browse the full catalog at components.p1.pantheon.io.
Adding a Block to a Page
Each block exposes editable fields in the right-hand properties panel when selected. Fields may include:
The available fields depend on how your developer configured the block. Fields you do not see cannot be changed from the editor — contact your developer to add or expose additional options.
Select the block on the canvas, then click the trash icon in the properties panel or press the Delete key. Blocks can be undone with Cmd+Z immediately after removal.
Content creators work within the boundaries of each block's design. This means:
This governance model ensures brand consistency across all pages and sites while giving editors the freedom to create rich, varied content.
When your developer updates a block in the library, the updated version is automatically available in the visual editor on your next session. You do not need to take any action. Existing pages that use the block continue to render correctly.
If a block no longer appears in the catalog, your developer may have removed it. Pages that already contain the block are not affected.
Your developer may not have installed the block yet. Share the block name from components.p1.pantheon.io with your developer and ask them to add it to your project.
The block may require a required field that was left empty. Select the block and check the properties panel for any fields marked as required.
Ensure you are on an active workstream branch. Changes on the main branch may be restricted depending on your organization's workflow settings.