Drupal is a registered trademark of Dries Buytaert
Release: Leaflet 10.4.11 Minor update available for module leaflet (10.4.11). Release: Session Inspector 1.0.8 Minor update available for module session_inspector (1.0.8). Release: Migrate QA 2.0.4 Minor update available for module migrate_qa (2.0.4). Release: CKEditor Description List 3.0.0 Major update available for module ckeditor_descriptionlist (3.0.0). Release: FlowDrop 2.4.0 Minor update available for module flowdrop (2.4.0). Release: JWT Token Refresh 1.0.4 Minor update available for module jwt_token_refresh (1.0.4). Release: ConReg 1.0.0-beta1 First beta version released for module conreg (1.0.0-beta1). Release: AI Image Studio 1.0.0-beta8 New beta version released for module ai_image_studio (1.0.0-beta8). Usage Milestone: Statistics Counter Module statistics_counter crossed 1,000 active installs. Module Revived: Decoupled Router 2.0.7 Module decoupled_router updated after 11 months of inactivity (2.0.7).

This module makes React code components built with Drupal Canvas reusable throughout your Drupal site. It allows you to use these components in various Drupal templates, render arrays, and PHP code, enabling consistent theming across your entire project.

Drupal Canvas lets you build React code components in the browser, but they can only be placed using Canvas.. This module registers each one as a Single Directory Component, so the rest of your site can use them too.

Use it to theme anything Canvas doesn't reach:

  1. Node, term, user, media and Commerce templates — node--article.html.twig, field--*.html.twig
  2. Views row and field templates
  3. Blocks, regions, menus, page.html.twig, html.html.twig
  4. Any render array, from a preprocess function, block plugin, field formatter, controller or Layout Builder

From a Twig template:

{{ include('code_component:hero', { title: 'Hello' }) }}

Or from PHP:

$build['promo'] = [
  '#type' => 'component',
  '#component' => 'code_component:hero',
  '#props' => ['title' => 'Hello'],
];

Props and slots come straight from the code component, and rendering reuses Canvas's own hydration, so a component behaves the same whether it is placed in Canvas or called from a template.

Activity

Tracked releases
2
Tracked since
Aug 2026
Latest release
2 weeks ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Active

Releases

Version Type Release date
1.0.0-alpha1 Pre-release Aug 9, 2026
1.0.x-dev Dev Aug 9, 2026