Skip to content
36 linesCodeBlameRaw

Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.

Workspace names and icons, and a component kit for every control1import { Popover as Primitive } from "radix-ui";
2import type { ComponentProps } from "react";
3
4import { cn } from "../../lib/cn";
5
6// shadcn/ui's popover, styled with g1t's tokens.
7
8export const Popover = Primitive.Root;
9export const PopoverTrigger = Primitive.Trigger;
10export const PopoverAnchor = Primitive.Anchor;
11export const PopoverClose = Primitive.Close;
12
13export function PopoverContent({
14 className,
15 align = "center",
16 sideOffset = 6,
Phones reach every page: each mode's menu from the top bar or by tapping the tab you're on, Docs first in the avatar sheet, a project's pages as a swipeable strip; dialogs as bottom sheets above the keyboard, safe areas, menus kept on screen, 40px targets, touch-visible controls, save bars above the tab bar17 collisionPadding = 8,
Workspace names and icons, and a component kit for every control18 ...props
19}: ComponentProps<typeof Primitive.Content>) {
20 return (
21 <Primitive.Portal>
22 <Primitive.Content
23 align={align}
24 sideOffset={sideOffset}
Phones reach every page: each mode's menu from the top bar or by tapping the tab you're on, Docs first in the avatar sheet, a project's pages as a swipeable strip; dialogs as bottom sheets above the keyboard, safe areas, menus kept on screen, 40px targets, touch-visible controls, save bars above the tab bar25 // Kept inside a phone's edges.
26 collisionPadding={collisionPadding}
Workspace names and icons, and a component kit for every control27 className={cn(
28 "z-50 w-72 max-w-[calc(100vw-2rem)] rounded-lg border border-line-strong bg-raised p-4 text-sm text-fg shadow-xl shadow-black/40 outline-none",
29 "origin-(--radix-popover-content-transform-origin) data-[state=open]:animate-pop-in data-[state=closed]:animate-pop-out motion-reduce:animate-none",
30 className,
31 )}
32 {...props}
33 />
34 </Primitive.Portal>
35 );
36}