Button
Triggers an action or navigates; comes in primary and secondary variants with matching disabled and link forms.
--color-container-inverse --color-text-inverse --color-text-default --color-border-inverse --layout-spacing-xs --layout-radius-sm --font-size-smIcon Button
Square icon-only button that matches the Button interaction model; requires an accessible aria-label.
--color-container-inverse --color-graphic-inverse --color-graphic-default --color-border-inverse --layout-radius-sm --layout-spacing-2xsLink Item
Typographic link in four hierarchy variants: primary, secondary, tertiary, and inline.
Some copy with an inline link inside it.
--color-text-default --font-size-smCheckbox
Binary selection control with a custom box and checkmark, supporting checked, unchecked, and disabled states.
--color-container-inverse --color-container-default --color-border-mid-2 --color-border-inverse --color-text-inverse --layout-spacing-xs --layout-radius-2xsRadio
Single-selection control with a circle indicator; mirrors Checkbox states.
--color-container-inverse --color-container-default --color-border-mid-2 --color-border-inverse --layout-spacing-xsText Field
Labeled text input with six visual states driven by interaction or the forceState prop.
This field is required
Padding normalised to sit alongside Merch Tools.
--color-container-default --color-text-default --color-text-error --color-border-inverse --color-border-error --layout-radius-2xsChip
Filter chip with pill geometry. Selected state shows inverse fill; hover shows stroke ring; dismiss icon shown by default.
--color-container-inverse --color-container-inverse-a30 --color-border-inverse --color-text-default --color-text-inverse --type-role-button-1 --layout-radius-sm --layout-spacing-md --layout-spacing-xs --layout-size-mdFilter Item
Filter dropdown trigger + expandable options panel.
--color-text-default --color-container-default --color-border-mid-2 --color-container-inverse-a10 --color-graphic-default --color-graphic-inverse --layout-spacing-sm --layout-spacing-xs --type-role-button-1Sort Item
Sort dropdown trigger + radio options panel.
--color-text-default --color-container-default --color-border-mid-2 --color-container-inverse-a10 --layout-spacing-sm --layout-spacing-xs --type-role-button-1Filter Applied
Strip of applied filter chips; 4 breakpoints.
--color-container-inverse-a10 --layout-spacing-xs --layout-spacing-sm --color-container-inverse --color-text-inverse --layout-size-md --layout-radius-sm --layout-spacing-mdFilter Sort Overlay
Full-screen xs mobile overlay triggered by the xs "Filters" / "Sort By" buttons in Filters. Types: 'filters' or 'sort'.
--color-container-default --color-container-inverse-a10 --color-container-inverse --color-border-inverse --color-text-default --color-text-inverse --layout-spacing-sm --type-role-button-1Filters
Top-level filter/sort bar.
--color-border-mid-2 --color-border-inverse --color-text-default --layout-spacing-sm --layout-spacing-md --type-role-button-1Colour Icon
Circular colour swatch button with selection indicator ring.
--color-border-inverse --color-text-inverse --color-text-defaultSize Item
Size selector in American or UK/IT sizing conventions. States compared side by side below; the interactive grid follows.
Source: mox-components-front-end.json → size-item. All variants specify radius/radius-none (0px). Built component uses --layout-radius-xs (8px) – divergence, noted in AUDIT.md.
--color-container-inverse --color-text-default --color-text-inverse --color-border-mid-2 --color-border-inverse --layout-spacing-2xs --layout-radius-xsColour Item
Row combining colour-icon, label, and optional stock count. States: default, hover, disabled, link.
--color-text-default --layout-spacing-2xsColour Range
Vertical list of colour-item rows. Extracted variant: type=placeholder.
Size Range
Wrapping grid of size-item cells.
--layout-spacing-2xs --color-container-inverseBadge
Extracted from. Seven label variants; visual properties are identical across all – only text content differs.
--color-container-inverse-a10 --color-text-default --type-role-overline --layout-spacing-xs --layout-spacing-2xsLoader
Extracted from. Linear progress indicator for loading states.
--color-container-default --color-graphic-default --layout-size-2xs --layout-radius-2xsLoader Circular
Extracted from.
--color-container-inverse-a10 --color-graphic-defaultProgress Bar Player
Extracted from.
--color-container-inverse-a10 --color-container-inverse-a30 --color-graphic-default --layout-size-2xs --layout-radius-2xsIndicator Slider
Extracted from.
--color-container-inverse-a10 --color-graphic-default --layout-size-2xs --layout-radius-2xsIndicator Oval
Extracted from.
--color-container-inverse-a30 --color-container-default-a30 --color-graphic-inverse --color-graphic-default --layout-spacing-xs --layout-spacing-2xsIndicator Flat
Extracted from.
--color-graphic-inverse --color-graphic-default --layout-spacing-xs --layout-size-2xsPrimary Text Item
Extracted from.
New collection
Autumn Winter 24
Refined essentials for the season ahead. Crafted in natural fibres.
Our story
Built on craft, worn with intention.
Sustainability
Made to last
--type-role-display-1 --type-role-overline --type-role-body-1 --type-role-button-1 --color-text-default --color-border-default --layout-spacing-xs --layout-spacing-sm --layout-spacing-mdSecondary Text Item
Extracted from.
About us
Why we make things
We started with a single question: what does it mean to make something well? Over a decade and several hundred conversations with makers, buyers, and wearers, the answer has continued to evolve. But the core has stayed the same: honest materials, considered process, long life.
Our approach
The work is in the making. Every garment passes through many hands before it reaches you – and every one of those hands matters.
--type-role-display-1 --type-role-overline --type-role-body-1 --color-text-default --layout-spacing-xs --layout-spacing-sm --layout-spacing-mdCollection Card Item
Extracted from. Near-identical structure to ProductCardItem but serves a collection.
Summer Essentials
12 pieces, 6 colours
Autumn Knitwear
8 pieces
--type-role-headline-3 --type-role-body-1 --type-role-overline --type-role-button-1 --color-text-default --color-container-inverse-a10 --color-container-inverse-a30 --color-border-default --layout-spacing-sm --layout-spacing-xs --layout-spacing-2xsEditorial Card Item
Extracted from.
--type-role-headline-3 --type-role-body-1 --type-role-button-1 --color-text-default --color-container-inverse-a30 --color-border-default --layout-spacing-smPrimary Text
Full-width section wrapper for PrimaryTextItem.
Our story
Made to last
Every piece is designed with a single rule: it should look better in ten years than it does today.
--layout-spacing-md --layout-spacing-smSecondary Text
Full-width section wrapper for SecondaryTextItem.
Materials
What we use
We source from a small number of mills we've worked with for over a decade. Each one is chosen for the consistency of their yarn, the durability of their finish, and their willingness to say no to shortcuts. We visit twice a year, not to inspect, but to understand what's possible with the season's raw materials before we design anything.
--layout-spacing-md --layout-spacing-smAccordion Item
Extracted from nodes 51:619 / 51:640 / 51:661.
Primary (button-2, 23px Bold)
Secondary (button-1, 13px Bold)
Tertiary (body-1, 16px Regular – leftIcon default true)
--type-role-button-2 --type-role-button-1 --type-role-body-1 --color-text-default --color-container-inverse-a10 --color-border-inverse --layout-spacing-xs --layout-spacing-smHeader
Standalone header bar – nav links + logo + icons.
--color-container-default --color-border-mid-2 --color-text-default --layout-spacing-sm --type-role-button-1Pagination
Sequential page navigation with previous/next arrows and numbered page buttons; fully interactive.
--color-container-inverse --color-container-mid-2 --color-text-default --color-text-inverse --layout-spacing-2xs --layout-radius-xs --font-size-xsBreadcrumbs
Extracted from MOX nodes 141:32364 + 141:32770.
--color-border-mid-2 --color-text-default --type-role-body-1 --layout-spacing-xsBar
Carousel / slider navigation control: prev button + optional indicator + next button.
--layout-spacing-sm --layout-spacing-md --color-container-inverse-a30 --color-border-inverse --layout-spacing-2xsToolbar
Product-list page toolbar – shows result count, optional "show all" link, and a view-mode toggle.
--color-border-mid-2 --layout-spacing-sm --layout-spacing-xs --type-role-body-1 --type-role-button-1 --color-text-defaultPlayer
Video control panel: fullscreen button + ProgressBarPlayer + controls row.
--layout-spacing-md --color-container-inverse --layout-spacing-2xs --layout-spacing-xs --type-role-button-1 --color-text-defaultVideo
Extracted from MOX.
--type-role-display-1 --color-text-default --color-border-inverse --layout-spacing-md --layout-spacing-smProduct Card Item
Extracted from. Size chips are inline.
--type-role-headline-3 --type-role-body-1 --type-role-overline --type-role-caption-1 --type-role-button-1 --color-text-default --color-container-inverse-a10 --color-container-inverse-a30 --color-border-default --layout-spacing-2xs --layout-spacing-sm --color-container-primary --color-text-primaryProduct Detail Image
Full-width image viewer with three overlay elements: Badge top-left, IndicatorOval bottom-centre, expand button bottom-right.
--color-container-inverse --color-container-inverse-a10 --color-container-inverse-a30 --layout-spacing-2xs --layout-size-md --layout-radius-smProduct Detail Sidebar
Extracted from MOX. Product info panel: intro, options, payment, description, details.
Product name
Subtitle
Buy now, pay in 3 instalments with
Merino Wool Coat
Long cut, relaxed fit
Buy now, pay in 3 instalments with
--type-role-headline-2 --type-role-body-1 --type-role-button-1 --color-text-default --color-text-inverse --color-container-inverse --color-border-mid-2 --layout-spacing-sm --layout-spacing-xs --layout-size-md --layout-radius-smReasons To Buy Item
Atomic item: calendar icon + link label + description.
--color-text-default --layout-spacing-xs --type-role-button-1 --type-role-body-1 --color-border-mid-2 --layout-spacing-mdReasons To Buy
Composition: 4× ReasonsToBuyItem in a centered horizontal row.
--color-border-mid-2 --layout-spacing-md --layout-spacing-smProduct Detail
Page composition: image gallery + ProductDetailSidebar.
--layout-spacing-md --layout-spacing-smSingle Feature
Full-bleed hero: image fills width, text overlays or stacks below.
Materials
What we use
Each cloth chosen for what it does over ten years, not what it looks like in week one.
--layout-spacing-sm --layout-spacing-md --layout-spacing-lg --color-text-defaultDouble Feature
Extracted from.
Summer Essentials
12 pieces, 6 colours
Autumn Knitwear
8 pieces, 4 colours
--color-border-mid-2 --layout-spacing-lg --layout-spacing-smCarousel
Extracted from nodes 108:7602 / 108:7742.
--color-border-mid-2 --color-border-inverse --color-text-default --color-graphic-default --color-container-inverse-a10 --layout-spacing-lg --layout-spacing-md --layout-spacing-sm --layout-spacing-xs --layout-spacing-2xs --layout-size-2xs