ComponentsLists & NavigationCategory Navigation

Lists & Navigation

Category Navigation

Horizontal icon and label category strip for compact, scrollable category selection - for example Shopping / Car / Food / Express. Tracks the selected category internally and emits it through onCategorySelect.

ItemsIcons + labels

Each item uses an Ionicons name. Labels can be shown or hidden via a toggle. Images are no longer supported.

Best forTop-of-screen filtering

Top navigation areas, category entry sections, and screen-level switching zones.

TierFree

Available on all plans.

What it does

Four things worth knowing

Horizontal scrollable strip

Renders categories in a horizontal row. Each item shows an icon in a rounded container with an optional label below. The strip scrolls when there are more items than fit on screen.

Internal selection state

The component tracks the active category internally and applies selected colors to the icon container and label automatically. The selected item is emitted through onCategorySelect.

Icons only - no images

Each item uses an Ionicons icon name (iconName). Image-based items are no longer supported. Icon size is fixed at 24 and item container size is fixed at 56.

Builder mode vs. preview mode

When isPreview is false, touch interactions are disabled so the block can be dragged on the canvas. Category selection only fires in preview and live runtime.

Builder setup

Find it, drop it, edit the categories

Where to find itAdd it to any screen

  1. Component picker → Lists & NavigationCategory Navigation.
  2. Drop it at the top of any screen that needs category filtering.
  3. Open the edit panel to configure categories.

Before you publishThree things to check

  1. Set each category’s label, iconName, and value - use valid Ionicons names for icons.
  2. Align selected colors (selectedIconBackgroundColor, selectedIconColor, selectedLabelColor) with your brand palette.
  3. Test category selection in preview - tapping is disabled on the canvas.
Category: Lists & NavigationComponent: BuilderCategoryNavRegistry key: category-navTier: Free
Props

Categories, labels, and layout

Every prop below is set in the property panel. Start with the categories array, then adjust colors and typography to match the brand.

PropTypeDefaultDescription
categoriesCategoryItem[]2 example itemsArray of { label, iconName, value } objects. Use valid Ionicons names for iconName.
showLabelsbooleantrueShow or hide text labels below icons.
showBorderbooleanfalseShow or hide the strip border.
borderRadiusnumber16Corner rounding for icon containers.
fontFamilystring’Urbanist-Medium’Font face for category labels.
fontSizenumber12Label text size.
Toggles & colours

Make it yours

Every color below is yours to change. The defaults are a neutral starting point - adjust them to match the brand without touching anything else.

PropDefaultWhat it controls
backgroundColor#FFFFFFStrip background color.
iconBackgroundColor#F5F5F5Unselected icon container background.
selectedIconBackgroundColor#E8F5E9Selected icon container background.
iconColor#333333Unselected icon color.
selectedIconColor#2E7D32Selected icon color.
labelColor#666666Unselected label text color.
selectedLabelColor#1a1a1aSelected label text color.
borderColor#E0E0E0Strip border color. Only visible when showBorder is on.
Tips

Common mistakes to avoid

Use valid Ionicons names

Each item’s iconName must be a valid Ionicons identifier. Invalid names render a broken icon. Check the Ionicons reference before adding custom categories.

Test selection in preview

Category taps are disabled on the canvas so the block can be dragged. Always switch to preview mode to confirm onCategorySelect fires correctly for each item.

Keep the category list short

The strip scrolls horizontally when items overflow, but long lists are harder to scan. Aim for 4–6 categories - enough to cover the main groupings without overwhelming the user.

Align selected colors with your brand

The default selected colors are green-tinted. Update selectedIconBackgroundColor, selectedIconColor, and selectedLabelColor to match your brand palette before publishing.