MindeesUI
Blocks

Web blocks

Four accessible web and PWA blocks — cookie consent banner, responsive collapsing navbar, multi-column footer, and an install prompt. Pure UI, props-driven.

Web-specific and responsive surfaces composed from MindeesUI primitives. Like every block they are pure UI — consent, navigation, and install actions flow through callbacks.

Import

import { CookieBanner, ResponsiveNavbar, WebFooter, PWAInstallPrompt } from '@mindees/blocks';

Usage

<ResponsiveNavbar
  logo={<Logo />}
  links={[{ key: 'home', label: 'Home', onPress: goHome }]}
  cta={{ label: 'Sign up', onPress: signUp }}
  collapseBelow={768}
/>

Blocks

CookieBanner

Consent notice with accept, decline, and manage actions.

PropTypeDescription
onAccept() => voidFired when the user accepts cookies.
onDecline() => voidFired on decline; the button is hidden when absent.
onManage() => voidFired on manage; the button is hidden when absent.
messagestringConsent copy. Defaults to a generic notice.
acceptLabelstringAccept label. Defaults to "Accept all".
declineLabelstringDecline label. Defaults to "Decline".
manageLabelstringManage label. Defaults to "Manage".

ResponsiveNavbar

Top navbar that collapses to a menu button below a breakpoint.

PropTypeDescription
linksreadonly NavLink[]Navigation links.
logoReactNodeLogo slot rendered at the start.
ctaNavCtaOptional trailing call-to-action.
collapseBelownumberWidth (px) at/below which the navbar collapses. Defaults to 768.

WebFooter

Multi-column link footer with a copyright line.

PropTypeDescription
groupsreadonly FooterGroup[]Link groups rendered as columns.
copyrightstringLegal line rendered below the columns.

PWAInstallPrompt

App-install card with install and dismiss actions.

PropTypeDescription
onInstall() => voidFired when the user taps install.
onDismiss() => voidFired on dismiss; the control is hidden when absent.
iconReactNodeOptional leading icon / app glyph.
titlestringHeadline. Defaults to "Install this app".
descriptionstringSupporting copy.
installLabelstringInstall label. Defaults to "Install".

All blocks also accept a style prop spread onto the root container.

On this page