"use client" /** * FAB catalog previews — composition patterns, not a second button primitive. * Product Leo launcher: `LeoLauncherFab` → `AskLeoButton`. */ import * as React from "react" import { AskLeoButton } from "@/components/ask-leo-button" import { Badge } from "@/components/ui/badge" import { Button } from "@/components/ui/button" import { Tip } from "@/components/ui/tip" import { LEO_FAB_DEFAULT_OFFSET, LEO_FAB_NUDGE, LEO_FAB_NUDGE_COARSE, clampLeoFabOffset, leoFabOffsetFromKeyboard, leoFabOffsetFromPointerDelta, type LeoFabOffset, } from "@/lib/leo-launcher-fab-geometry" import { cn } from "@/lib/utils" const DRAG_THRESHOLD_PX = 4 function FabStage({ children, className, label, }: { children: React.ReactNode className?: string label: string }) { return (

{label}

{children}
) } /** Brand circle — product Leo launcher chrome. */ export function FabBrandPreview() { return (
undefined} className="size-14 rounded-full shadow-[var(--shadow-sheet-panel)]" />
) } /** Outline circle for secondary floating actions. */ export function FabOutlinePreview() { return (