@htmlbricks/hb-sidenav-link
v0.71.16
Published
Sidebar nav item: Bootstrap Icons (bi-*), label, optional Bulma-style tag badge (outlined pill: transparent fill, border uses tag foreground color), and either a flat button that dispatches pageChange on click or an expandable group of subLinks with activ
Readme
hb-sidenav-link — sidenav link
Category: layout
Tags: layout, navigation
What it does
Sidebar nav item: Bootstrap Icons (bi-*), label, optional Bulma tag badge (badge.class / badge.classcolor modifiers such as is-light, is-primary) rendered as outlined pills (transparent fill, border/text from the tag color), and either a flat button that dispatches pageChange on click or an expandable group of subLinks with active state when navpage or selected matches. Intended for use inside hb-sidebar-desktop lists.
Custom element
hb-sidenav-link
Attributes (snake_case; use string values in HTML)
id,style(optional): strings.navlink(required): JSON string —INavLink(label,key, optionalicon,group,badge,subLinks,active,open).navpage(optional): string — current app page key for active styling.selected(optional): boolean string — force selected appearance.
Events
pageChange:{ page: string }.
Usage notes
- CSS parts:
li. - Layout: labels share a flexible middle column; the right column is fixed width (
--hb-sidenav-trail-width, default3.5rem) so titles stay aligned whether a badge or chevron is present. Long badge text truncates with an ellipsis. Badges use an outline treatment so they stay visible on ghost (unselected) rows. - Bulma buttons and tags are scoped inside the component; include Bootstrap Icons CSS for
icon/subLinks[].icon. - Export type
INavLinkis shared withhb-offcanvas/hb-sidebar-desktopnavlinksarrays.
Minimal HTML example
<hb-sidenav-link
navpage="home"
navlink='{"label":"Home","key":"home","icon":"house-door"}'
></hb-sidenav-link>