Skip to main content

Components Overview

Our component library provides a comprehensive set of pre-built, accessible, and customizable UI elements to help you build your website faster.

Component Categories

Hero Panels

Hero components are sections that are exclusive to the top of the page and can feature both static and interactive content.

Content Panels

Content panels are sections that form the core elements of a website. There are many layout options you can use to best suit the content and objectives of the brand.

Responsive Blocks

The Responsive block is a highly flexible component, that has been designed to allow for a number of flexible card based layouts.

Sliders

Slider components share many similarities with the responsive block components, but are structurally different.

Accordions and Tabs

The Accordion component displays a list of sections that expand to reveal more content. Tabs can be used to switch between different content groupings and are recommended to organise content at a high level.

Building Blocks

General purpose building blocks like Modal, View Taxonomy filter, etc.

Dynamic content

Building blocks for dynamic teasers. Teasers can be responsive blocks or sliders and available for page, article and product content type.

General components

General purpose components like Author information and Firebase Popup.

E-commerce

Shopping functionality including Cart, Products, and Coupons.

Usage Principle

All components are designed to be:

  1. Composable: Can be nested and combined to create complex UIs.
  2. Customizable: Styled via props or CSS variables.
  3. Accessible: Built with A11y standards in mind.
  4. Responsive: adapt to any screen size.

Example Usage

Here's a quick example of how to use a Button component:

import { Button } from '@website-factory/components';

function MyPage() {
return (
<div>
<h1>Welcome</h1>
<Button variant="primary" size="lg" onClick={() => alert('Clicked!')}>
Get Started
</Button>
</div>
);
}