@@ -122,7 +122,13 @@ export function ToolCard(props: ToolCardProps) {
122122 return (
123123 < div
124124 data-scroll-anchor-target
125- className = { cn ( "overflow-hidden rounded-xl border border-border/40 bg-card/25" ) }
125+ data-state = { state }
126+ className = { cn (
127+ "overflow-hidden rounded-xl border bg-card/25 transition-[border-color,box-shadow] duration-200 ease-out" ,
128+ "data-[state=collapsed]:border-border/35 data-[state=collapsed]:shadow-none" ,
129+ "data-[state=expanded]:border-border/65 data-[state=expanded]:shadow-sm/10" ,
130+ "data-[state=preview]:border-border/65 data-[state=preview]:shadow-sm/10" ,
131+ ) }
126132 >
127133 < HeaderRow
128134 showChevron = { showChevron }
@@ -156,9 +162,14 @@ export function ToolCard(props: ToolCardProps) {
156162 < Collapsible open = { isOpen } >
157163 < CollapsiblePanel
158164 animated = { false }
159- className = "transition-[opacity,translate] duration-150 ease-out will-change-[opacity,transform] data-ending-style:-translate-y-1 data-ending-style:opacity-0 data-starting-style:-translate-y-1 data-starting-style:opacity-0"
165+ className = "transition-[opacity,translate] duration-150 ease-out will-change-[opacity,transform] data-ending-style:-translate-y-1 data-ending-style:opacity-0 data-starting-style:-translate-y-1 data-starting-style:opacity-0 data-ending-style:[&>div]:border-t-transparent data-starting-style:[&>div]:border-t-transparent "
160166 >
161- < div className = { cn ( "border-t border-border/20" , bodyClassName ) } >
167+ < div
168+ className = { cn (
169+ "border-t border-border/35 transition-[border-color] duration-200 ease-out" ,
170+ bodyClassName ,
171+ ) }
172+ >
162173 { showPreview && bodyAvailable && (
163174 < div className = "relative" >
164175 < div
@@ -263,7 +274,7 @@ function HeaderRow(props: HeaderRowProps) {
263274 data-state = { state }
264275 onClick = { onClick }
265276 className = { cn (
266- "flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-colors duration-100 hover:bg-muted/20 focus-visible:bg-muted/20 focus-visible:outline-none" ,
277+ "flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-[background-color,border-radius] duration-200 hover:bg-muted/20 focus-visible:bg-muted/20 focus-visible:outline-none data-[state=collapsed]:rounded-xl data-[state=expanded]:rounded-b-none data-[state=preview]:rounded-b -none" ,
267278 headerClassName ,
268279 ) }
269280 >
@@ -273,7 +284,13 @@ function HeaderRow(props: HeaderRowProps) {
273284 }
274285
275286 return (
276- < div data-state = { state } className = { cn ( "flex items-center gap-2 px-3 py-2" , headerClassName ) } >
287+ < div
288+ data-state = { state }
289+ className = { cn (
290+ "flex items-center gap-2 px-3 py-2 transition-[border-radius] duration-150 data-[state=collapsed]:rounded-xl data-[state=expanded]:rounded-b-none data-[state=preview]:rounded-b-none" ,
291+ headerClassName ,
292+ ) }
293+ >
277294 { children }
278295 </ div >
279296 ) ;
0 commit comments