Side Nav

Design System - Side nav component

The Side Nav component acts as the primary navigation pattern, helping users access modules, submodules, and utilities in a compact, vertically stacked structure. Designed for both accessibility and scalability, it accommodates icons, labels, tree structures, and persistent actions, ensuring a consistent experience across municipal and citizen-facing interfaces.

// Sample code

  <CheckBox
    label="Label"
    onChange={(e)=>{console.log(e.target.checked}}
  />

Anatomy

Variants


Light

Ideal for interfaces with brighter UIs, ensuring visual consistency and high contrast with dark icons and text.

Dark Best suited for dashboards or applications requiring reduced eye strain or a focused visual hierarchy.

Properties

Enable Search Provides a quick-filtering input field at the top of the side nav, enabling users to locate modules and nested items efficiently. Particularly helpful in apps with deep or large information architectures.

Universal Action Includes persistent utilities like Help, Settings, and Logout; these remain accessible regardless of scroll or nav state, improving usability.

Tree Selection for Children Supports hierarchical navigation by displaying submodules or inner navigation when parent items are expanded. Allows users to interact with nested items.

Property Configuration Table

Each design component offers a range of configurable options. These options are intentionally platform-agnostic, allowing implementations to adapt and tailor them to align with the specific requirements of the chosen framework.

Property
Value
Default

items

text

-

theme

text

-

variant

yes/no

no

collapsedWidth

yes/no

no

expandedWidth

number

-

transitionDuration

yes/no

-

styles

yes/no

no

hideAccessbilityTools

yes/no

no

enableSearch

yes/no

no

onSelect

yes/no

no

onBottomItemClick

number

no

className

yes/no

no

Usage Guide


Hierarchical Structure

Enable tree selection for complex apps where submodules need to be grouped contextually.

Don’t flatten deep hierarchies if users need to frequently access child modules—it hinders navigation efficiency.

Change log


Date
Number
Notes

Dec 15, 2024

v-0.0.2

This component is added to the website. This component is now individually versioned.

Design Checklist


All interactive states - Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).

Accessible use of colours - Colour is not used as the only visual means of conveying information (WCAG 2.1 1.4.1)

Accessible contrast for text - Text has a contrast ratio of at least 4.5:1 for small text and at least 3:1 for large text (WCAG 2.0 1.4.3).

Accessible contrast for UI components - Visual information required to identify components and states (except inactive components) has a contrast ratio of at least 3:1 (WCAG 2.1 1.4.11).

Keyboard interactions - Includes all interactive states that are applicable (hover, down, focus, keyboard focus, disabled).

Screen reader accessible - All content, including headings, labels, and descriptions, is meaningful, concise, contextual and accessible by screen readers.

Responsive for all breakpoints - Responsiveness for 3 breakpoints - Mobile, Tablet and Desktop

Usage guidelines - Includes a list of dos and don'ts that highlight best practices and common mistakes.

Content guidelines - Content standards and usage guidelines for writing and formatting in-product content for the component.

Defined variants and properties - Includes relevant variants and properties (style, size, orientation, optional iconography, decorative elements, selection states, error states, etc.)

Defined behaviours - Guidelines for keyboard navigation and focus, layout management (including wrapping, truncation, and overflow), animations, and user interactions.

Design Kit - Access to the design file for the component in Figma, multiple options, states, colour themes, and platform scales.

Last updated

Was this helpful?