Components
Components are reusable building blocks that together can be used to build your application. They implement our principles and use our colors. They can be used together to implement our patterns.
See getting started to learn how to use our components.
HTML components
HTML components are like mini-patterns using standard HTML elements and custom classes.
Alerts
Buttons
Cards
Checkbox
Google Sign in button
Links
Lists
Radio button
Search
Text input
Web components
Web components is a suite of technologies for building reusable native custom elements that work together with most UI systems, be it React, Vue, Angular, or pure HTML + javascript. We build our components using Stencil.
All our web components are prefixed with `fun-`.
We also supply a React wrapper round our web components so they can be used in React. See Getting started: React + Vite for more.
fun-accordion
fun-backdrop
fun-badge
fun-brand-icon
fun-brand-logo
fun-breadcrumbs
fun-button
fun-chip
fun-field-icon
fun-field-label
fun-field-unit
fun-header-controller
fun-hero-modal
fun-modal-controller
fun-modal
fun-popover
fun-progress-circle
fun-progress-controller
fun-source-label
fun-theme-container
fun-toggle
fun-tooltip
fun-user
fun-wizard-step
fun-wizard-stepper
React components
If you are using React we recommend using the React versions of our web components. In actual fact the React versions are just wrappers around the web components, but they give you a better developer experience with intellisense and proper typing, and much better support for connecting up event handlers.
We also have a number of components written specifically for React. These are listed below. They live in a number of different packages so see the installation instructions per component.
Expression Editor
Field label
Field picker
Field select
Field unit
Magic Table
Multi select
Period selector
Regex input
Select
CSS Utilities
Built on top of Tailwind CSS, we also provide a number of CSS utility classes to avoid repetition and aid consistency.