@constructor-io/constructorio-ui-components
v1.0.0
Published
Constructor UI Components library for web applications
Keywords
Readme
Constructor UI Components Library
Introduction
UI Components Library is a collection of React components that can be used to build UI for Constructor.io products.
Our Storybook Docs provide a comprehensive overview of each component, including its behavior, variations, and configuration options.
Requirements
- Node.js v22.18.0 (LTS Jod)
- React >=16.12.0
- React DOM >=16.12.0
Installation
npm i @constructor-io/constructorio-ui-componentsUsage Patterns
Normal Usage
import { Button } from '@constructor-io/constructorio-ui-components';
import '@constructor-io/constructorio-ui-components/styles.css'
function App() {
return <Button>Click me</Button>;
}Render Other Components using asChild
import { Badge } from '@constructor-io/constructorio-ui-components';
import '@constructor-io/constructorio-ui-components/styles.css'
function App() {
return (
<Badge asChild variant="outline">
<a href="#">
A link that looks like a badge
</a>
</Badge>
);
}Component Overrides
import { Button } from '@constructor-io/constructorio-ui-components';
import '@constructor-io/constructorio-ui-components/styles.css'
function App() {
return (
<Button
componentOverrides={{
reactNode: <span>A span rendered in place of a button</span>
}}
>
This will be overridden
</Button>
);
}Passing Data Attributes
import { Button } from '@constructor-io/constructorio-ui-components';
import '@constructor-io/constructorio-ui-components/styles.css'
function App() {
return <Button data-cnstrc-price={23.25}>Purchase</Button>;
}Compound Components
import { ProductCard } from '@constructor-io/constructorio-ui-components';
import '@constructor-io/constructorio-ui-components/styles.css'
function App() {
return (
<ProductCard
product={{
id: 'highland-golf-pants',
variationId: 'highland-golf-pants--navy',
name: "Highland Golf Pants",
imageUrl: 'https://example.com/pants.jpg',
price: '799',
rating: 4.8,
reviewsCount: 203,
description: 'Premium golf pants designed for comfort and performance on the course',
}}
className='overflow-hidden max-w-md'
>
<div className='grid grid-cols-2 gap-4 p-4'>
<ProductCard.ImageSection />
<div className='space-y-2'>
<ProductCard.PriceSection />
<ProductCard.TitleSection />
<ProductCard.RatingSection />
</div>
</div>
<ProductCard.Footer>
<ProductCard.AddToCartButton />
</ProductCard.Footer>
</ProductCard>
);
}Local Development
Development Scripts
npm ci # Install dependencies for local dev
npm run dev # Start a local dev server for Storybook
npm run lint # Run lint
npm run test # Run unit testsBuild scripts
npm run compile # Compile the library, remove aliases, copy styles
npm run build-storybook # Build Storybook
npm run serve-built-storybook # Serve the built StorybookContributing
- Fork the repo & create a new branch.
- Run npm install to install dependencies.
- Submit a PR for review.
License
MIT © Constructor.io
