This project is not covered by Drupal’s security advisory policy.
Canvas Palette gives Drupal Canvas
(Experience Builder) a ready-made kit of Single Directory Components (SDC)
so site builders can assemble rich pages visually — no custom code, no Paragraph
types to configure. The components are inspired by the popular
Extra Paragraph Types (EPT) / Extra Block Types (EBT) suite and cover
everything from buttons and galleries to sliders, tabs, counters and webforms.
Every component is a plain SDC: drop it onto the canvas, fill in its props, and
it renders. Interactive components ship with lightweight, mostly dependency-free
JavaScript and stay fully editable inside the Canvas preview.
Components
Design & layout
- Section — the design wrapper described above (margins, paddings, backgrounds, borders).
- Columns — a responsive multi-column layout.
- Text — a title and a rich-text body.
Buttons & calls to action
- Basic button — a call-to-action button with link, colours, hover colours, shape, size and alignment.
- CTA — a call-to-action block with an image and up to two fully styled buttons.
- Hero — a hero banner with title prefix, image, overlay and up to two buttons.
- Modal Dialog — a button that opens an accessible modal dialog (custom, no-library behaviour). The trigger button reuses all Basic button styling options.
- Webform Popup — a button that opens an existing webform in a popup dialog, with the full Basic button styling.
Media
- Image — a single image with caption, link and optional lightbox.
- Images — a simple grid of images (each an Images item).
- Image Gallery — a grid of images that open in a GLightbox popup (each an Image Gallery item).
- Video — a single video with an uploadable poster image.
- Video Gallery — a grid of videos and images with a play-button overlay, opening in GLightbox. Supports remote (YouTube/Vimeo/MP4) and local media videos (each a Video Gallery item).
Interactive & sliders
- Accordion — collapsible sections (each an Accordion section).
- Tabs — tabbed content with several styles and custom, no-jQuery switching (each a Tabs item).
- Carousel — a slider built on tiny-slider (each a Carousel item).
- Slider — a slider built on Splide, no jQuery required (each a Slider item).
- Sticky menu — an on-page sticky navigation with links and sublinks.
Content & data
- Quote — a pull quote with author and optional image, in several styles.
- Stats — a row of statistics (each a Stats item).
- Counter — numbers that count up when scrolled into view, powered by countUp.js (each a Counter item).
- Countdown — an animated countdown to a date.
- Tiles — a grid of linked tiles (each a Tiles item).
- Timeline — a vertical timeline of milestones (each a Timeline item).
Site integrations
- Webform — embed an existing webform by choosing it from a list.
- Views — embed an existing view and display, with optional arguments.
Section — the design wrapper at the heart of the palette
The star of Canvas Palette is the Section component. Rather than
bolting spacing and background options onto every single component, Canvas Palette
keeps each component focused on its own content and lets Section wrap it
(or a whole group of components) to control the surrounding design. It is the same
separation of concerns you get from EPT Core's design options — but visual, reusable
and built for Canvas.
Wrap any component in a Section to add:
-
Margins and paddings via a visual DOM Box — the four margins,
borders and paddings are edited on an inspector-style box model, exactly like the
box diagram in your browser's element inspector. Each field sits on the edge it
controls, so spacing is self-explanatory instead of a wall of identical inputs. -
Background images — upload an image and control its position,
size and repeat, with an optional colour overlay and adjustable opacity. -
Background video — a looping, muted background video with cover
image, mobile fallback, overlay and playback options. -
Background color, gradients and overlays — solid colours chosen with an
inline colour picker, plus overlay tints over images and video. -
Borders and radius — border width per edge (drawn in the DOM
box), style, colour and corner radius.
Because Section is a pure wrapper, you can nest it around a single button or an
entire multi-component layout, giving every other component in this palette full
spacing and background control without carrying those options itself.
Requirements
- Drupal 10.3+ or Drupal 11
- Canvas (Experience Builder)
- Webform — required by the Webform and Webform Popup components
- Views (in Drupal core) — required by the Views component
Similar projects
Canvas Palette brings the spirit of Extra Paragraph Types (EPT) and Extra Block Types (EBT)
to Drupal Canvas / Experience Builder as native Single Directory Components.
EPT (Extra Paragraph Types) modules
You can install separate paragraph types from this bunch of EPT modules
- EPT Accordion / FAQ
- EPT Basic Button
- EPT Block
- EPT Bootstrap Button
- EPT Call to Action
- EPT Carousel
- EPT Columns / Container
- EPT Countdown
- EPT Counter
- EPT Hero
- EPT Image
- EPT Image Gallery
- EPT Micromodal
- EPT Quote
- EPT Slick Slider
- EPT Slideshow
- EPT Stats
- EPT Tabs
- EPT Text
- EPT Tiles
- EPT Timeline
- EPT Video
- EPT Video and Image gallery
- EPT Views
- EPT Webform
- EPT Webform Popup
EBT (Extra Block Types) modules
You can install separate block types from this bunch of EBT modules
- EBT Accordion / FAQ
- EBT Basic Button
- EBT Block
- EBT Bootstrap Button
- EBT Call to Action
- EBT Carousel
- EBT Columns
- EBT Countdown
- EBT Counter
- EBT Hero
- EBT Image
- EBT Image Gallery
- EBT Micromodal
- EBT Quote
- EBT Slick Slider
- EBT Slideshow
- EBT Stats
- EBT Tabs
- EBT Text
- EBT Tiles
- EBT Timeline
- EBT Video
- EBT Video and Image Gallery
- EBT Views
- EBT Webform
- EBT Webform Popup
Project information
- Project categories: Content display, Content editing experience
- Created by levmyshkin on , updated
This project is not covered by the security advisory policy.
Use at your own risk! It may have publicly disclosed vulnerabilities.
Releases
Development version: 1.0.x-dev updated 24 Jul 2026 at 10:50 UTC

