Provides props for weight, size, tone, and tracking.
Link
Used for creating internal or external links.
Price
Uses the Text typography component to style and format prices and sale prices.
If a price is a sales price then the old price will be displayed as a strike through and the new price will be displayed next to it and styled with the attention design token.
Uses Intl.NumberFormat to format the currency with the specified currency symbol.
Can be sized due to usage of the Text component.
Button
Used for user actions.
Currently has props for tone and full width.
Stack
Used as an abstraction over flex box providing an easy to use layout primitive.
Can layout child elements horizontally or vertically.
A responsive gap between elements can be set - for example, smaller gaps on mobile but bigger on desktop.
Can apply flex wrap to child elements.
Can justify child elements.
ProductCard
Used to display a product in card form, usually as part of a larger feature.
Features an image, title, price, and description.
Also features a list of variant names
The layout is responsive via the use of Stack component. The text components are in a verical layout on mobile and horizontal on tablet and desktop.
Price is formatted with a Price component.
Does not currently support displaying size or color variants.
ProductGrid
Used as an abstraction over CSS Grid facilitating a grid responsive layout of products.
Features a responsive number of columns.
Header
Used as a page header with logo, links, and cart.
Currently has props for tone and full width.
Hero
Used for large featured content that should draw the users attention.
The Hero has a heading, subheading, a slot, and an image.
Storefront
Primarily intended for use on the homepage but can be used anywhere.
Composes multiple components to create a storefront.
It’s default slot will be slotted into a Hero component.