Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@asphalt-react/breadcrumb

Package Overview
Dependencies
Maintainers
5
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@asphalt-react/breadcrumb

Breadcrumb

  • 2.0.0-alpha.29
  • next
  • npm
  • Socket score

Version published
Weekly downloads
7
decreased by-30%
Maintainers
5
Weekly downloads
 
Created
Source

Breadcrumb

npm

Breadcrumb gives users navigational awareness inside the app. It is collection of Crumbs & Separators. Breadcrumb uses / as separator by default but it also enables customizing it. Crumbs work with both an anchor tag or any client side routers. Crumbs can also have a non link text as well.

Breadcrumb adds a scroll when the number of Crumbs exceeds the space available, Additionally you can collapse some Crumbs to have compact form. Breadcrumb is a controlled component.

Usage

import { Breadcrumb, Crumb, CrumbLink } from "@asphalt-react/breadcrumb"

<Breadcrumb
   crumbs={[
      <Crumb key="0">
         <CrumbLink asProps={{ href: "/" }}>
           Home
         </CrumbLink>,
      </Crumb>,
      <Crumb key="1">
         <CrumbLink asProps={{ href: "/blog" }}>
           Blog
         </CrumbLink>
      </Crumb>,
      <Crumb key="2">
         <CrumbLink asProps={{ href: "/blog/boom" }}>
           Boom
         </CrumbLink>
      </Crumb>
   ]}
/>

Building Blocks

  1. Breadcrumb component comes with:

    • BaseBreadcrumb
    • Crumb
    • CrumbLink
    • CrumbText
    • Separator
  2. BaseBreadcrumb is a wrapper component which renders an ordered list containing its children.

  3. Use Crumb to create a list item for Breadcrumb.

  4. Use CrumbLink to create link for Breadcrumb.

  5. You can provide custom separator using Separator.

Collapsed Breadcrumb

Breadcrumbs can render in collapsed mode. Breadcrumb doesn't manage the collapsed state on its own it depends on collapsed prop to change the state from expanded to collapsed and vice versa. In collapsed state you can choose to hide specific Crumbs using collapseIndices prop and render a button instead. This button invokes onCollapse callback to expand the hidden Crumbs. You can also pass any custom node using collapseAs prop but in that case you need to handle the interaction on your own.

import { Breadcrumb, Crumb, CrumbLink } from "@asphalt-react/breadcrumb"

export default App() {
const [collapsed, setCollapsed] = React.useState(true)

return (
   <Breadcrumb
        collapsed={collapsed}
        collapseIndices={[1]}
        onCollapse={() => setCollapsed(false)}
        crumbs={[
          <Crumb key="0">
            <CrumbLink as={Link} asProps={{ to: "/" }}>
              Home
            </CrumbLink>
          </Crumb>,
          <Crumb key="1">
            <CrumbLink as={Link} asProps={{ to: "/blog" }}>
              Blog
            </CrumbLink>
          </Crumb>,
          <Crumb key="2">
            <CrumbLink  as={Link} asProps={{ to: "/blog/boom" }}>
              Boom
            </CrumbLink>
          </Crumb>,
        ]}
   />
   )
}

Accessibility

  1. All Crumbs are focusable and keyboard navigable through tab (or shift+tab when tabbing backwards).
  2. Breadcrumbs add appropriate aria-labels.
  3. Separators have aria-hidden to hide it from assistive technology.
  4. All Crumbs accept the aria-* attributes for the link role.

Props

crumbs

List of crumbs.

typerequireddefault
arrayOftrueN/A

collapsed

Makes Breadcrumb collapse.

typerequireddefault
boolfalsefalse

separator

React node for separator.

typerequireddefault
nodefalse"/"

collapseAs

React node render in the collapsed state of Breadcrumb

typerequireddefault
nodefalsenull

collapseIndices

crumbs indices to collapse, must be in range and consecutive numbers.

typerequireddefault
arrayOffalse[]

onCollapse

function to call when collapseAs is clicked.

typerequireddefault
funcfalsenull

BaseBreadcrumb

BaseBreadcrumb is base wrapper component which renders an ordered list containing its children. It adds scroll on overflow to make its content visible.

Props

children

React node to render as children

typerequireddefault
nodetrueN/A

Crumb

Component to add a list item in Breadcrumb.

Props

children

React node to render link content.

typerequireddefault
nodetrueN/A

Component to add link in Crumb. CrumbLink handles the link pseudo-classes and additionally you can remove the ":visited" pseudo-class using visited prop.

Props

children

React node to render as children.

typerequireddefault
nodetrueN/A

as

Html element/React component to replace the default element. Using this prop, you can use your router's link element, such as "react-router-dom"'s Link element.

typerequireddefault
elementTypefalse"a"

asProps

Pass the props such as "href", "id" for the custom link element passed in as prop.

typerequireddefault
objectfalse{}

visited

shows visited state for the link.

typerequireddefault
boolfalsetrue

CrumbText

Component to add text in Crumb list item.

Props

children

React node to render as children.

typerequireddefault
nodetrueN/A

Separator

Component to add the separator symbol between crumbs.

Props

children

React node to render as children.

typerequireddefault
nodetrueN/A

Keywords

FAQs

Package last updated on 15 Dec 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc