Skip to content

Sidebar (ue-sidebar)

ue-sidebar is the navigation drawer component. It reads sidebar state from useSidebar() and renders SidebarContent either directly or inside a fully-hidden hover wrapper, depending on the active display mode.

NOTE

You do not use ue-sidebar directly. It is mounted by ue-main via the hideDefaultSidebar prop.

Fully-hidden mode

When expandHover is set to 'hidden' in ui_settings, the sidebar is completely off-screen. A transparent hover zone (12 px wide) sits flush against the left edge of the viewport. On desktop (lgAndUp), hovering over this zone commits CONFIG.SET_SIDEBAR = true to the store, which causes the drawer to slide in.

┌──────────────────────────────────────────────┐
│░  (hover zone, 12px)                         │
│░  ← mouse enters here → sidebar opens        │
└──────────────────────────────────────────────┘

Moving the mouse outside the wrapper triggers handleSidebarLeave, which closes the drawer again.

Props

PropTypeDefaultDescription
itemsArrayrequiredNavigation items forwarded to ue-navigation-group.
profileMenuArray[]Profile popover items shown in the sidebar footer.
logoSymbolString'main-logo-dark'SVG symbol name for the sidebar logo. The mini symbol is resolved automatically via getLocaleSymbol.
ratingNumber0Reserved; not currently used in the template.

Slots

SlotDescription
bottomContent appended at the very bottom of the drawer (below the user footer). Passed through to SidebarDrawerContent. Used by ue-main for ue-navigation-group bottom items and ue-impersonate-toolbar.

Exposed methods

MethodDescription
profileFormSubmitted(res)Called by ue-main after a profile save; re-fetches the user profile from URLS.profileShow.

ue-sidebar consumes the following reactive values from useSidebar(). These are not props — they are driven entirely by the store and ui_settings:

ValueDescription
fullyHiddenEnables the hover-zone wrapper
hoverZoneWidthWidth (px) of the transparent hover strip
statusWhether the drawer is open
railWhether the drawer is in icon-only rail mode
isHoverableEnables Vuetify's built-in expand-on-hover
hideIconsHides nav icons (text-only mode)
widthDrawer width in px
effectivePersistent / Permanent / TemporaryVuetify drawer behaviour props
railManualWhether the user has manually collapsed to rail

Active menu

ue-sidebar provides activeMenu (from useSidebar) to all descendants via Vue's provide/inject API under the key 'activeMenu'. Navigation group items use this to highlight the active route.

Auto-scroll to active item

On onMounted, the component scrolls .sidebar-item-active into view within .v-navigation-drawer__content using useGoTo with 200 ms easing.