Commerce Navigation
A responsive storefront navigation with category collections, searchable items and a mobile catalogue drawer.
Install the component, then paste your configured usage. Your settings are included in the code below.
Pro source comes with Arclen UI Pro. See plans
| Property | Type | Default |
|---|---|---|
brandBrand name Up to 160 characters | text | "VELT" |
brandLogoBrand logo Bundled logo, HTTPS image or raster data URL. Clear to show the brand name as text. Up to 2000000 characters | image | "velt-logo" |
announcementAnnouncement Up to 160 characters | text | "Training essentials. Designed to move." |
searchPlaceholderSearch placeholder Up to 160 characters | text | "Search tees, shorts, layers…" |
navigationLabelsNavigation labels Seven labels. Items 2–5 open category panels; the others follow their destination. Minimum 7 itemsMaximum 7 itemsUp to 40 characters per item | string-list | ["New arrivals","Shop all","Training","Recovery","Collections","Journal","About"] |
navigationLinksNavigation destinations Local fragments, relative paths or HTTPS URLs. Category destinations are used by View all. Minimum 7 itemsMaximum 7 itemsUp to 2048 characters per item | string-list | ["#new","#shop","#training","#recovery","#collections","#journal","#about"] |
categoryHeadingsCategory headings Minimum 4 itemsMaximum 4 itemsUp to 80 characters per item | string-list | ["The VELT collection","Built for the work","Between sessions","Train. Recover. Repeat."] |
categoryDescriptionsCategory introductions Accessible introductions for the four category collections. Minimum 4 itemsMaximum 4 itemsUp to 180 characters per item | string-list | ["Training wear and everyday essentials, in one place.","Light layers, lined shorts and kit for your next session.","Relaxed shapes and heavyweight layers for the hours between.","Explore the VELT campaign and the pieces behind it."] |
productTitlesItem titles Four items per category, in category order. These names are also the searchable catalogue. Minimum 16 itemsMaximum 16 itemsUp to 80 characters per item | string-list | ["Training tee","Hybrid shorts","Heavyweight hoodie","Training essentials","Layered training tee","Lined training shorts","Sleeveless training top","Gym bag & crew socks","Grey heavyweight hoodie","Slate training tee","Everyday kit","Relaxed training shorts","The training campaign","Slate training layer","Graphite shorts","The heavyweight layer"] |
productLinksItem destinations Minimum 16 itemsMaximum 16 itemsUp to 2048 characters per item | string-list | ["#item-1","#item-2","#item-3","#item-4","#item-5","#item-6","#item-7","#item-8","#item-9","#item-10","#item-11","#item-12","#item-13","#item-14","#item-15","#item-16"] |
productImagesItem images Bundled artwork names, HTTPS images or raster base64 data URLs. Four images per category. Minimum 16 itemsMaximum 16 itemsUp to 2000000 characters per item | string-list | ["velt-top","velt-shorts","velt-hoodie","velt-accessories","velt-top","velt-shorts","velt-campaign","velt-accessories","velt-hoodie","velt-top","velt-accessories","velt-shorts","velt-campaign","velt-top","velt-shorts","velt-hoodie"] |
productAltsItem image descriptions Minimum 16 itemsMaximum 16 itemsUp to 180 characters per item | string-list | ["Athlete wearing a washed slate VELT training tee over black long sleeves","Graphite VELT training shorts over off-white compression liners","Washed-grey heavyweight hoodie with a black VELT chest wordmark","Black VELT gym bag beside off-white branded crew socks","Athlete wearing a washed slate VELT training tee over black long sleeves","Graphite VELT training shorts over off-white compression liners","Athlete pushing a weighted sled in a black VELT sleeveless training top","Black VELT gym bag beside off-white branded crew socks","Washed-grey heavyweight hoodie with a black VELT chest wordmark","Athlete wearing a washed slate VELT training tee over black long sleeves","Black VELT gym bag beside off-white branded crew socks","Graphite VELT training shorts over off-white compression liners","Athlete pushing a weighted sled in a black VELT sleeveless training top","Athlete wearing a washed slate VELT training tee over black long sleeves","Graphite VELT training shorts over off-white compression liners","Washed-grey heavyweight hoodie with a black VELT chest wordmark"] |
overviewLabelsOverview link labels Minimum 6 itemsMaximum 6 itemsUp to 60 characters per item | string-list | ["Shop all","Training wear","The collection","Materials & care","Fit guide","Our approach"] |
overviewLinksOverview destinations Minimum 6 itemsMaximum 6 itemsUp to 2048 characters per item | string-list | ["#shop","#training","#collections","#care","#fit","#approach"] |
viewAllLabelCategory action label Up to 160 characters | text | "View all" |
featureLabelFeature action label Up to 160 characters | text | "Explore the collection" |
featureLinkFeature destination Up to 2048 characters | text | "#collections" |
featureImageFeature image Up to 2000000 characters | image | "velt-campaign" |
featureImageAltFeature image description Up to 160 characters | text | "Athlete pushing a weighted sled in a black VELT sleeveless training top" |
accountLinkAccount destination Up to 2048 characters | text | "#account" |
bagLinkBag destination Up to 2048 characters | text | "#bag" |
bagCountBag count 0–99Step 1 | number | 0 |
initialStateOpening state Options: closed (Closed), category-1 (First category), category-2 (Second category), category-3 (Third category), category-4 (Fourth category), search (Search), drawer (Mobile categories) | select | "closed" |
stageHeightComponent height 420–1200Step 1 | number | 800 |
contentWidthContent width 760–1600Step 1 | number | 1184 |
radiusImage corner radius 0–32Step 1 | number | 12 |
motionDurationMotion duration (ms) 0–500Step 1 | number | 220 |
surfaceNavigation surface | color | "#ffffff" |
accentAccent | color | "#ea5b20" |
storefrontBackdropStorefront backdrop | color | "#e9ded2" |
storefrontFeatureTitleStorefront feature title Up to 80 characters | text | "Train with intent" |
storefrontInkStorefront ink | color | "#111111" |
Commerce Navigation
A complete shop navigation with four category collections, searchable items and a mobile drawer. Storefront pairs a broad shopping header with a product grid, grouped overview links and a campaign card.
React
import { CommerceNavigation } from './commerce-navigation/src/react';
export default function Shop() {
return <CommerceNavigation
brand="VELT"
initialState="closed"
stageHeight={844}
storefrontFeatureTitle="Training for every day."
bagCount={2}
/>;
}The wrapper imports the component stylesheet. className, style and paused are optional wrapper props. Each mounted instance owns its navigation and search state.
HTML and vanilla JavaScript
Use the HTML download for a complete page with its scripts, fonts and images. In a JavaScript project with a bundler, import the core and stylesheet:
import { mount } from './commerce-navigation/src/core';
import './commerce-navigation/src/styles.css';
const host = document.querySelector<HTMLElement>('#shop-navigation')!;
const navigation = mount(host, {
initialState: 'category-2',
stageHeight: 800,
});
navigation.update({ bagCount: 3 });
navigation.pause();
navigation.resume();
// Before removing the host:
navigation.destroy();update merges a validated patch with the current settings and resets interaction state to initialState. Invalid settings throw TypeError before changing the mounted content. destroy removes owned markup, event listeners and observers. Repeated destruction is safe.
Catalogue content
The settings panel is generated from the component manifest. Seven navigation labels have seven corresponding destinations. The middle four labels open the four category collections; their destinations power the category's View all action.
Item titles, destinations, images and descriptions are ordered lists of exactly 16 entries: four entries per category. These same titles are searched, along with their category heading. Change titles and image descriptions together when replacing campaign imagery. Six overview links appear in each desktop collection. Storefront arranges them as two groups of three below the product grid. Its feature heading has a separate Storefront feature title control.
The bundled VELT campaign shows training apparel and accessories in five photographs. These photographs are curated across the four collections; the sixteen item entries are not sixteen separate photographed products. Bundled image names are velt-top, velt-shorts, velt-hoodie, velt-accessories and velt-campaign. The velt-logo identity is the default brand logo. Clear Brand logo to display Brand name as text, or supply your own image. Replace images with HTTPS addresses or raster base64 data URLs. Browser object URLs are accepted for local uploads but require conversion to portable data or an HTTPS address before sharing. Destinations accept HTTPS URLs, local fragments and relative paths. Credentials, script URLs and protocol-relative URLs are rejected. The default fragment links are demonstration destinations; set your shop routes before publishing.
Interaction
On desktop, hover or activate a category to open it. The pointer can move into its panel. Arrow Down moves from a category button to its first link; Left and Right switch category buttons. Escape closes an open surface and restores focus. Search supports live filtering, clear, empty results, click-outside dismissal and Escape. Press / while focus is inside the component to open search.
The navigation switches to its mobile menu at container widths of 1199px or less. A menu button opens the internal drawer. Choose a category, use All categories to return, or close the menu. The drawer and search keep keyboard focus within their active controls. All open content scrolls inside the component so it remains reachable at short heights. The height control sets the complete component height. The plain backdrop has its own colour setting. Storefront search shows text results after a query is entered.
pause stops visual transitions while controls remain usable. Reduced motion, hidden documents and offscreen instances also settle transitions immediately. The component has no continuous animation loop. Without JavaScript, a plain catalogue of category and item links remains available. Missing optional observers fall back to window resizing and bounded CSS transitions.
Assets
Archivo, Alumni Sans, Anton and Inter are bundled under SIL Open Font License 1.1, with full notices in assets/fonts. Original VELT campaign and identity artwork is included under the Arclen UI Pro artwork licence. Asset hashes and byte sizes are recorded in assets/inventory.json.
The preview runs the component’s own JavaScript. It respects reduced motion and pauses when off screen. The HTML bundle includes a poster fallback.
Every setting in this panel comes from the component manifest. Preview size, pause and replay stay in the inspector.