Mega Navigation
A connected navigation system with descriptive glass panels and a structured editorial index.
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 |
|---|---|---|
directionDirection Options: glass (A · Glass atlas), index (C · Editorial index) | select | "glass" |
brandBrand name The default displays the bundled Arclen UI wordmark. Custom names display as text. Up to 28 characters | text | "arclen UI" |
homeUrlHome destination Up to 500 characters | text | "/" |
navigationLabelNavigation accessible name Up to 80 characters | text | "Main navigation" |
menuLabelMenu button label Up to 24 characters | text | "Menu" |
backLabelBack button label Up to 30 characters | text | "All sections" |
actionLabelAction label Up to 30 characters | text | "Start creating" |
actionUrlAction destination Up to 500 characters | text | "/start" |
showActionShow header action | boolean | true |
group1TitleSection 1 title Up to 32 characters | text | "Platform" |
group1HeadingsColumn headings Minimum 2 itemsMaximum 2 itemsUp to 40 characters per item | string-list | ["Foundation","Creation tools"] |
group1LabelsLink labels Minimum 2 itemsMaximum 8 itemsUp to 60 characters per item | string-list | ["Workspace","Site insights","Workflows","Connections","Creative tools","Reports","Code","Permissions"] |
group1DetailsLink descriptions Entries match the link order. Minimum 0 itemsMaximum 8 itemsUp to 120 characters per item | string-list | ["Your next project starts here","See what brings people back","Keep your best work moving","Bring your tools together","Space for every new idea","Find the useful numbers","Make it work your way","Keep the right people close"] |
group1UrlsLink destinations Entries match the link order. Missing destinations use the home destination. Minimum 0 itemsMaximum 8 itemsUp to 500 characters per item | string-list | ["/workspace","/site-insights","/workflows","/connections","/creative-tools","/reports","/code","/permissions"] |
group2TitleSection 2 title Up to 32 characters | text | "Capabilities" |
group2HeadingsColumn headings Minimum 2 itemsMaximum 2 itemsUp to 40 characters per item | string-list | ["Discover","Learn"] |
group2LabelsLink labels Minimum 2 itemsMaximum 8 itemsUp to 60 characters per item | string-list | ["Templates","Showcase","New releases","Design notes","Quick start","Documentation","Video guides","Community"] |
group2DetailsLink descriptions Entries match the link order. Minimum 0 itemsMaximum 8 itemsUp to 120 characters per item | string-list | ["A useful head start for your next site.","See what other builders have shipped.","The latest additions to your workspace.","Ideas behind the details we care about.","Go from a blank page to a first draft.","Clear answers for every building block.","Watch one thing click into place.","Meet people who care about the work."] |
group2UrlsLink destinations Entries match the link order. Missing destinations use the home destination. Minimum 0 itemsMaximum 8 itemsUp to 500 characters per item | string-list | ["/templates","/showcase","/new-releases","/design-notes","/quick-start","/documentation","/video-guides","/community"] |
group3TitleSection 3 title Up to 32 characters | text | "Resources" |
group3HeadingsColumn headings Minimum 2 itemsMaximum 2 itemsUp to 40 characters per item | string-list | ["About us","Stay close"] |
group3LabelsLink labels Minimum 2 itemsMaximum 8 itemsUp to 60 characters per item | string-list | ["Our story","Principles","Journal","Careers","Contact","Partners","Events","Help desk"] |
group3DetailsLink descriptions Entries match the link order. Minimum 0 itemsMaximum 8 itemsUp to 120 characters per item | string-list | ["Why we make tools for independent ideas.","The decisions that shape our product.","Notes from inside the studio.","Help us build a better place to create.","Talk through what you have in mind.","Build something better together.","Find us at the next conversation.","A human answer when you need one."] |
group3UrlsLink destinations Entries match the link order. Missing destinations use the home destination. Minimum 0 itemsMaximum 8 itemsUp to 500 characters per item | string-list | ["/our-story","/principles","/journal","/careers","/contact","/partners","/events","/help-desk"] |
featureTitlesFeature titles Minimum 3 itemsMaximum 3 itemsUp to 80 characters per item | string-list | ["Build your next site in Site Studio","Start with your next idea","Your workspace for the web"] |
featureDescriptionsFeature descriptions Minimum 3 itemsMaximum 3 itemsUp to 140 characters per item | string-list | ["Turn a brief into a site you can shape and publish.","Bring a prompt, template or existing page.","Keep your sites and brand assets together."] |
featureLabelFeature link label Up to 40 characters | text | "Open Site Studio" |
featureUrlFeature destination Up to 500 characters | text | "https://arclen.io/site-studio" |
featureImageCustom feature image Optional HTTPS, local relative or raster data URL. Empty uses the bundled Site Studio image. Up to 200000 characters | image | "" |
showFeatureShow feature card | boolean | true |
showDescriptionsShow link descriptions | boolean | true |
fontFamilyHeader and alternative type family Options: geist (Geist), system (System sans), serif (System serif) | select | "geist" |
fontSizeLink size 13–20Step 1 | number | 16 |
maxWidthMaximum navigation width 600–1600Step 8 | number | 1280 |
insetNavigation top inset Vertical inset in Glass atlas; outer inset in the other layouts. 0–64Step 1 | number | 25 |
panelPaddingGlass column spacing 16–48Step 2 | number | 40 |
radiusCorner radius 0–28Step 1 | number | 8 |
surfaceOpacitySurface opacity 0.65–1Step 0.01 | number | 0.9 |
backdropBackdrop | color | "transparent" |
surfaceNavigation surface | color | "#fafafa" |
textColorText | color | "#201d1d" |
mutedSecondary text | color | "#808080" |
accentEditorial index accent | color | "#c2410c" |
initialOpenStart with a section open | boolean | false |
initialGroupStarting section 0–2Step 1 | number | 0 |
openOnHoverOpen on pointer hover | boolean | true |
closeOnNavigateClose after navigation | boolean | true |
motionAnimate changes | boolean | true |
durationPanel duration (ms) 0–650Step 10 | number | 300 |
closeDelayPointer exit delay (ms) 0–600Step 20 | number | 160 |
ordinaryLabelHeader link label Up to 30 characters | text | "Pricing" |
ordinaryUrlHeader link destination Up to 500 characters | text | "/pricing" |
showOrdinaryLinkShow header link | boolean | true |
secondaryLabelSecondary action label Up to 30 characters | text | "Watch a demo" |
secondaryUrlSecondary action destination Up to 500 characters | text | "/demo" |
showSecondaryActionShow secondary action | boolean | true |
navigationWidthGlass navigation width (%) 80–100Step 1 | number | 95 |
bodyFontFamilyGlass body type family Options: inter (Inter), geist (Geist), system (System sans), serif (System serif) | select | "inter" |
glassAccentGlass accent | color | "#c2410c" |
primarySurfaceGlass primary action surface | color | "#211711" |
featureTextureWarm feature background Adds a soft warm gradient behind the Glass layout’s feature card. Colours follow the glass accent and surface. | boolean | true |
featureGrainFeature grain Fine static grain in the warm feature background. Zero removes the grain. 0–0.4Step 0.01 | number | 0.18 |
activeTabColorActive tab background Neutral background behind the active Glass navigation tab. | color | "#0000000f" |
Mega Navigation
A connected navigation system with two layouts: A · Glass atlas has descriptive columns and a feature card; C · Editorial index pairs a section heading and ruled link columns with a framed feature.
React
Install the component with the catalogue's React command. Import the generated component and keep its bundled styles and assets together.
import { MegaNavigation } from './components/mega-navigation/src/react';
export default function Header() {
return <MegaNavigation
direction="glass"
brand="Your studio"
homeUrl="/"
group1Title="Products"
group1Labels={['Website builder', 'Components']}
group1Details={['Create a home for your ideas.', 'Build with useful details.']}
group1Urls={['/builder', '/components']}
initialOpen={false}
accent="#c94f32"
/>;
}className, style and paused are React wrapper props. All component settings are flat props. The wrapper renders stable server HTML and owns a single core instance after hydration.
HTML and vanilla JavaScript
The HTML download includes its stylesheet, local assets and configured bootstrap. Place the whole download under the same public directory, including when serving from a subpath. The bundle keeps your chosen values.
For a custom JavaScript integration, compile the core with your bundler's SVG and WebP asset loaders and include src/styles.css:
import { mount, render, resolveSettings } from './components/mega-navigation/src/core';
import './components/mega-navigation/src/styles.css';
const settings = resolveSettings({ direction: 'index', initialOpen: false });
const host = document.querySelector<HTMLElement>('#navigation')!;
const navigation = mount(host, settings, 'site-navigation');
navigation.update({ ...settings, accent: '#f38961' });
navigation.pause();
navigation.resume();
// Before removing the host:
navigation.destroy();
// A server can also use render(settings, 'site-navigation') for useful HTML.update accepts a complete configuration or a partial object merged with manifest defaults. It preserves the open section unless initialOpen or initialGroup changes. Invalid settings throw before the current instance changes. destroy cancels owned animation, timers and observers, removes listeners and restores the host's original child nodes.
Content and sizing
Each section has a title, two column headings and up to eight labels. Labels split evenly between the two columns. Descriptions and destinations match label order; a missing description is omitted, and a missing destination uses homeUrl. Replace example destinations with real site routes.
Navigation responds to its own available width. Below 1000px in Glass atlas, or 980px in Editorial index, it becomes a compact menu with a root list, section drill-in and Back. It remains in page flow and does not lock page scrolling. Long phone sections scroll inside a host with a fixed height and increase document height in a natural flow host. Set the React wrapper style to { height: 680 } when placing this navigation inside a fixed preview. The backdrop fills the receiving element; In Glass atlas, inset controls the top spacing, navigationWidth controls the percentage width and maxWidth caps the navigation itself. Editorial index uses inset around the navigation. The compact Glass atlas layout fills its receiving surface with a white menu, keeps the header visible while scrolling and places its two actions at the bottom of the root list. A transparent backdrop lets a host background show through on desktop or while the compact menu is closed.
activeTabColor sets the Glass layout’s selected-tab background independently of the orange action accent. The Glass feature card has a warm gradient surround with fine static grain. featureTexture switches it off; featureGrain controls the grain strength. The gradient follows glassAccent and surface. The feature uses the bundled Site Studio interface image. featureImage can replace it with an HTTPS image, relative asset path or raster data URL. Empty restores the bundled image. Failed images show a geometric fallback while the text and link remain available. Keep external image rights and availability appropriate for your site.
Editorial index uses one section heading above two numbered navigation columns. Descriptions remain readable at smaller widths, and the feature keeps its image, title and destination together. On compact screens, the columns stack with consistent gutters and the feature becomes a full-width card. The bundled Geist family is the default; no commercial display font is required.
Controls
The settings table below is generated from component.json. Glass atlas uses Inter for its body by default, with a separate body family control. Header and alternative layouts use the main type family. Both layouts use Surface, Text and Secondary text. panelPadding sets Glass column spacing, radius sets its shell corners and navigationWidth sets its percentage width. Editorial index keeps square edges and its own fixed editorial spacing. Glass accent and Glass primary action surface apply to Glass atlas. Editorial index accent applies to Editorial index. Backdrop, type, spacing, opacity and motion use the settings appropriate to each layout. Feature controls require Show feature card; link descriptions require Show link descriptions. Pointer exit delay applies when Open on pointer hover is enabled.
Interaction and accessibility
Click or tap a section to open it. Fine-pointer hover can open and switch desktop sections; the connected header and panel allow pointer travel without a gap. Leaving the full navigation closes it after the configured delay unless focus remains inside it. Clicking outside closes it immediately.
Tab reaches ordinary links. Arrow Down on a desktop trigger opens the section and focuses its first link; Arrow Up focuses its last link. Left, Right, Home and End move between desktop triggers. Escape closes the panel and returns focus to the relevant trigger. On phones, the Menu button opens the root list; choose a section, then use Back to return. Closed content leaves the focus order. This is ordinary website navigation, not an application menu, so links retain native browser behavior.
Glass atlas starts closed by default. Its active cue slides between header triggers; opening columns fade upward by 8px, and switching desktop sections crossfades columns over 30px of horizontal travel. Panel height eases to the new section size, and columns enter over the same bounded duration. Rapid changes cancel the prior entry animation and retarget height. Reduced motion, pause, a hidden document or an offscreen instance settles motion immediately. No continuous animation or network request is required. Without JavaScript, an initially visible section and native expandable section lists provide usable links.
Assets and notices
Geist and Inter are bundled under SIL OFL 1.1, with their full notices in assets/OFL-Geist.txt and assets/Inter-OFL.txt. The Site Studio interface is Arclen work. The diagonal arrow is an Iconsax icon; its attribution and terms are included in NOTICE.md. The bundled Arclen UI wordmark remains a reserved trademark. The default brand uses that wordmark without a separate icon; custom brand names display as text. See NOTICE.md and PROVENANCE.md.
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.