Provides several user interface (UI) components to build compelling pages in a Drupal site using a page builder (Canvas or Gutenberg) or directly in a theme.
Includes popular components like Card, Icon, Heading, Accordion, and Hero.
Each component is built as a single-directory-component (SDC) using primarily HTML and CSS, without unnecessary JavaScript, and no bloated user interface.
These components work well as the basis of a new custom theme, or to enhance the user interface of an existing theme.
Features
The components are:
- Cover: A section that can have a background image, can be the height of the screen, and with custom positioning of the content.
- Expander: Interactive heading used to toggle the display of further information; each item can be "collapsed" with just a short label visible or "expanded" to show the full content. Sometimes called a "collapsible", "Details & summary", "Disclosure". Typically used for frequently-asked questions.
- Heading: A title or caption used to introduce a new section.
- Hero: A large banner, usually appearing as one of the first items on a page; it often contains a full-width background image.
- Icon: A graphic symbol designed to visually indicate the purpose of an interface element.
- Image
- Image card: A container for content representing a single entity. e.g. a contact, article, or task.
- Image beside text: An image beside a text block; the image can be on the left or right.
- Line: A horizontal line. Sometimes called a divider, a separator, or a horizontal rule.
- Quote: A quotation: either from a person or another outside source, or to highlight a passage of the current document (a pull quote).
- Text: Basic text block; can show paragraphs, lists, etc. and inline formatting like bold and italic.
Goals
- Lightweight: Built with as little code as possible, for performance and security.
- Flexible: Works well with any theme and all modules, now and in the future.
- Responsive: Adapts to any device and screen (from huge to tiny), and in all environments.
- Accessible: Built with standards-compliant HTML that works well for people with any abilities or disabilities.
- Human-made: Built and tested entirely by passionate web developers; no AI used.
Post-Installation
To use the components in Canvas:
- Go to the Canvas editor (/canvas/editor/) and create or edit a page
- Open the Library (+) in the left sidebar, find the Utility group, and choose a component
- Drag the component onto the page, and edit its settings in the right sidebar
To use the components directly in your theme (without a page builder), see Using your new single-directory
component.
Recommended modules / libraries
Works well with Drupal Canvas or Gutenberg (in the upcoming v4).
Supporting this Module
If you spot any issues with the components, please submit a bug report to let us know.
If there are any other layout components you'd like added to this module, also let us know.
Ask your assistant about Utility Components
Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works
Depends on
Dependencies of the latest stable release
No dependencies recorded for this project.
Required by
Tracked projects that depend on this one
No tracked projects depend on this one yet.
Activity
Releases
| Version | Type | Core | PHP | Release date | |
|---|---|---|---|---|---|
| 1.0.0-beta1 | Pre-release | 11 | Nov 2, 2026 | ||
| 1.0.x-dev | Dev | 11 | Nov 2, 2026 |