Skip to content
47 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.

The statement is a month at a time, a line per kind of charge1import { Tooltip as Primitive } from "radix-ui";
2import type { ComponentProps } from "react";
3
4import { cn } from "../../lib/cn";
5
Four small things seen today. An agent can attach a file it made to any doc the person who asked can edit, whatever the space's agent mode: attaching changes nothing in the doc, so the suggest mode that stopped every PDF and spreadsheet no longer does; the ability is its own, attach, beside read, suggest and edit. Home no longer counts robots among the people: events that name an agent by its own id, or g1t's upkeep as the workspace or as g1t, read as the agent and as g1t, in the digest and on the page, so the faces say who instead of someone. Tooltips are the inverted bubble, the page's foreground behind the page's background, with no border. The Spend page's slice tabs keep their ring inside the row instead of losing its top to the scroll edge, and the Apps launcher keeps its search box and footer in place while it reads which apps there are, with skeleton tiles between.6// shadcn/ui's tooltip, styled with g1t's tokens: the inverted bubble, the
7// page's foreground behind the page's background colour, so it reads at a
8// glance in either theme. Each tooltip carries its own provider, so one
9// can be dropped in anywhere without setup.
The statement is a month at a time, a line per kind of charge10
11export function TooltipProvider({ delayDuration = 200, ...props }: ComponentProps<typeof Primitive.Provider>) {
12 return <Primitive.Provider delayDuration={delayDuration} {...props} />;
13}
14
15export function Tooltip(props: ComponentProps<typeof Primitive.Root>) {
16 return (
17 <TooltipProvider>
18 <Primitive.Root {...props} />
19 </TooltipProvider>
20 );
21}
22
23export const TooltipTrigger = Primitive.Trigger;
24
25export function TooltipContent({
26 className,
27 sideOffset = 6,
28 children,
29 ...props
30}: ComponentProps<typeof Primitive.Content>) {
31 return (
32 <Primitive.Portal>
33 <Primitive.Content
34 sideOffset={sideOffset}
35 className={cn(
Four small things seen today. An agent can attach a file it made to any doc the person who asked can edit, whatever the space's agent mode: attaching changes nothing in the doc, so the suggest mode that stopped every PDF and spreadsheet no longer does; the ability is its own, attach, beside read, suggest and edit. Home no longer counts robots among the people: events that name an agent by its own id, or g1t's upkeep as the workspace or as g1t, read as the agent and as g1t, in the digest and on the page, so the faces say who instead of someone. Tooltips are the inverted bubble, the page's foreground behind the page's background, with no border. The Spend page's slice tabs keep their ring inside the row instead of losing its top to the scroll edge, and the Apps launcher keeps its search box and footer in place while it reads which apps there are, with skeleton tiles between.36 "z-50 max-w-xs rounded-md bg-fg px-3 py-1.5 text-xs font-medium text-bg shadow-md text-balance",
The statement is a month at a time, a line per kind of charge37 "origin-(--radix-tooltip-content-transform-origin) animate-pop-in data-[state=closed]:animate-pop-out motion-reduce:animate-none",
38 className,
39 )}
40 {...props}
41 >
42 {children}
Four small things seen today. An agent can attach a file it made to any doc the person who asked can edit, whatever the space's agent mode: attaching changes nothing in the doc, so the suggest mode that stopped every PDF and spreadsheet no longer does; the ability is its own, attach, beside read, suggest and edit. Home no longer counts robots among the people: events that name an agent by its own id, or g1t's upkeep as the workspace or as g1t, read as the agent and as g1t, in the digest and on the page, so the faces say who instead of someone. Tooltips are the inverted bubble, the page's foreground behind the page's background, with no border. The Spend page's slice tabs keep their ring inside the row instead of losing its top to the scroll edge, and the Apps launcher keeps its search box and footer in place while it reads which apps there are, with skeleton tiles between.43 <Primitive.Arrow className="fill-fg" width={10} height={5} />
The statement is a month at a time, a line per kind of charge44 </Primitive.Content>
45 </Primitive.Portal>
46 );
47}

This file's history is long; its oldest lines are credited to the oldest commit read.