# Components Reference Portal.js supports many components that can help you build amazing data portals similar to [this](https://catalog-portal-js.vercel.app/) and [this](https://portal-js.vercel.app/). In this section, we'll cover all supported components in depth, and help you understand their use as well as the expected properties. Components are grouped under the following sections: * [UI](https://github.com/datopian/portal.js/tree/main/src/components/ui): Components like Nav bar, Footer, e.t.c * [Dataset](https://github.com/datopian/portal.js/tree/main/src/components/dataset): Components used for displaying a Frictionless dataset and resources * [Search](https://github.com/datopian/portal.js/tree/main/src/components/search): Components used for building a search interface for datasets * [Blog](https://github.com/datopian/portal.js/tree/main/src/components/blog): Components for building a simple blog for datasets * [Views](https://github.com/datopian/portal.js/tree/main/src/components/views): Components like charts, tables, maps for generating data views * [Misc](https://github.com/datopian/portal.js/tree/main/src/components/misc): Miscellaneos components like errors, custom links, etc used for extra design. ### UI Components In the UI we group all components that can be used for building generic page sections. These are components for building sections like the Navigation bar, Footer, Side pane, Recent datasets, e.t.c. #### [Nav Component](https://github.com/datopian/portal.js/blob/main/src/components/ui/Nav.js) To build a navigation bar, you can use the `Nav` component as demonstrated below: ```javascript import { Nav } from 'portal' export default function Home(){ const navMenu = [{ title: 'Blog', path: '/blog' }, { title: 'Search', path: '/search' }] return ( <>