NavVerticalSubmenu

components/nav/VerticalSubmenu.vue

A NavVertical row that owns child rows: a parent NavVerticalItem (link, or a toggle button with no to/href) above a hairline-railed list of children in the sub treatment — italic, tighter rows, weight, size and row gap set by subWeight / subSize / subGap (med 13, 1px by default). The list opens whenever the current path is under `match` (defaults to `to`).

Usage

<NavVerticalSubmenu to = "—" href = "—" target = "_self" :active = "false" size = "medium" :match = "`to`" :open = "open" subWeight = "med" :subSize = "13" :subGap = "1" > Content here </NavVerticalSubmenu>

Props

PropTypeDefaultDescription
toString—Parent row route — renders it as a link; also the default `match`
hrefString—External parent link (used when no `to`)
targetString'_self'Anchor target for href
activeBooleanfalseParent row highlight (caller-controlled, like NavVerticalItem)
sizeString'medium'Parent row size: 'medium' or 'small'
matchString | String[]`to`Path prefix(es) that open the list — segment-aware, so /inventory matches /inventory/models but not /inventory-archive
openBooleanundefinedControlled override (v-model:open); wins over `match`
subWeightString'med'Children's font weight: 'reg' | 'med' | 'semi' | 'bold' | 'exbold' | 'black'
subSizeNumber13Children's text size in px, on the type scale: 11–16 (off-scale falls back to 13)
subGapNumber1Provisional (c98): px of space between child rows, split into top/bottom padding. Expected to be removed once the value is dialed in

Events

EventDescription
update:openThe button form was clicked — the next open state

Slots

SlotDescription
labelParent row label
defaultChild NavVerticalItems (sub treatment by injection); none → no rail

Related

Qpoint Brand Style Guide