MCPcopy
hub / github.com/shadcn-ui/ui / SidebarMenuButton

Function SidebarMenuButton

apps/v4/registry/bases/base/ui/sidebar.tsx:508–560  ·  view source on GitHub ↗
({
  render,
  isActive = false,
  variant = "default",
  size = "default",
  tooltip,
  className,
  ...props
}: useRender.ComponentProps<"button"> &
  React.ComponentProps<"button"> & {
    isActive?: boolean
    tooltip?: string | React.ComponentProps<typeof TooltipContent>
  } & VariantProps<typeof sidebarMenuButtonVariants>)

Source from the content-addressed store, hash-verified

506)
507
508function SidebarMenuButton({
509 render,
510 isActive = false,
511 variant = "default",
512 size = "default",
513 tooltip,
514 className,
515 ...props
516}: useRender.ComponentProps<"button"> &
517 React.ComponentProps<"button"> & {
518 isActive?: boolean
519 tooltip?: string | React.ComponentProps<typeof TooltipContent>
520 } & VariantProps<typeof sidebarMenuButtonVariants>) {
521 const { isMobile, state } = useSidebar()
522 const comp = useRender({
523 defaultTagName: "button",
524 props: mergeProps<"button">(
525 {
526 className: cn(sidebarMenuButtonVariants({ variant, size }), className),
527 },
528 props
529 ),
530 render: !tooltip ? render : <TooltipTrigger render={render} />,
531 state: {
532 slot: "sidebar-menu-button",
533 sidebar: "menu-button",
534 size,
535 active: isActive,
536 },
537 })
538
539 if (!tooltip) {
540 return comp
541 }
542
543 if (typeof tooltip === "string") {
544 tooltip = {
545 children: tooltip,
546 }
547 }
548
549 return (
550 <Tooltip>
551 {comp}
552 <TooltipContent
553 side="right"
554 align="center"
555 hidden={state !== "collapsed" || isMobile}
556 {...tooltip}
557 />
558 </Tooltip>
559 )
560}
561
562function SidebarMenuAction({
563 className,

Callers

nothing calls this directly

Calls 4

useRenderFunction · 0.90
cnFunction · 0.90
mergePropsFunction · 0.85
useSidebarFunction · 0.70

Tested by

no test coverage detected