The default Catalyst theme is built on a design system of modern React components for use in composable websites, built and maintained by BigCommerce.
This component system is designed specifically for ecommerce, providing beautiful, out-of-the-box UI for every part of the commerce experience. The library includes general, low-level components like buttons and accordions, as well as orchestrating these lower level components into more sophisticated presentations like product cards, product lists, and a site header.
The component library leverages modern patterns and the latest features of Next.js, and it is optimized for fast performance. The clean, practical prop interfaces of its components make them flexible and reusable in any context where they’re needed within your UI.
The look and feel of your storefront is easily style-able without the need for modifying component code. However, all theme components are also included directly in your project, ready to be customized to suit your own requirements.
The theme components are found in vibes/soul within your Catalyst project. This includes several major sub-sections:
These components are used throughout Catalyst to build the primary UI.
All components within Catalyst are styled using Tailwind CSS, a CSS framework that enables rapid and reliable styling and visual layouts with a system of utility classes.
The following is a limited example from the core components:
This includes Tailwind classes controlling padding, text size, font weight, etc.
Catalyst components utilize a common set of global utility classes to ensure a consistent look and feel. CSS variables are also often used to offer component-specific theming on a global or per-use basis. The following is an example of utilizing the Card component with a custom text color:
To customize the look and feel of your storefront without changing the basic structure and behavior of its components, the following key files control global Tailwind and CSS configuration:
Makeswift Style Customization
With Makeswift integrated, many CSS variables are provided by a built-in component that makes a number of styles configurable in the Makeswift editor, allowing the storefront-wide look and feel to be modified without touching a line of code.
Explore more details about managing global styles in Makeswift Core.