components / 03

marked dropdown

the menu behaves normally. cheez only draws where attention changes.

shadcnnpx shadcn@latest add berkantay/cheez/marked-dropdown
live
last action: none yet
size
side
character
open mark
interaction mark
open ink
interaction ink
<MarkedDropdown>
  <MarkedDropdownTrigger
    size="medium"
    mark="circle"
    interactionMark="short-underline"
    character="rushed"
    markColor="#8f74ff"
    interactionColor="#35d9ff"
  >
    view options
  </MarkedDropdownTrigger>
  <MarkedDropdownContent side="bottom">
    <MarkedDropdownItem>duplicate</MarkedDropdownItem>
    <MarkedDropdownCheckboxItem checked={showGrid}>
      show grid
    </MarkedDropdownCheckboxItem>
  </MarkedDropdownContent>
</MarkedDropdown>
trigger
quiet until intent appears
closed
hover
focus visible
open
disabled
open · chaotic
menu
selection persists, navigation does not
reference
actions, toggles, and single selection
partproptypedefaultpurpose
Rootopenbooleancontrolled menu visibility
RootdefaultOpenbooleanfalseinitial menu visibility
RootonOpenChangefunctionvisibility callback
RootloopFocusbooleantruewrap keyboard navigation
Rootmodalbooleantruecontain interaction while open
TriggermarkCheezType"circle"persistent open mark
TriggerinteractionMarkCheezType"short-underline"hover and focus mark
TriggermarkColorstring"#ff4f2e"open mark color
TriggerinteractionColorstringmarkColorhover and focus color
Triggermarkedbooleanundefinedcontrolled mark preview
Triggersize"small" | "medium" | "large""medium"trigger scale
Contentside"top" | "right" | "bottom" | "left""bottom"preferred placement
Contentalign"start" | "center" | "end""start"anchor alignment
ContentsideOffsetnumber8distance from trigger
Itemdisabledbooleanfalseskip interaction
Itemtone"default" | "danger""default"semantic item color
ItemmarkCheezType"short-underline"highlight mark
CheckboxItemcheckedbooleancontrolled toggle state
CheckboxItemonCheckedChangefunctiontoggle callback
RadioGroupvalueanycontrolled selected value
RadioItemvalueanyrequireditem selection value
  • closed triggers remain visually quiet
  • hover and focus use a brief interaction mark
  • open triggers keep their full enclosing mark
  • highlight follows pointer and roving keyboard focus
  • checkbox and radio selections keep a persistent mark
  • disabled items are skipped and never animate
  • Escape closes and restores focus to the trigger