@@ -8,8 +8,16 @@ import {IconNote} from '../Icon/IconNote';
88import { IconWarning } from '../Icon/IconWarning' ;
99import { IconPitfall } from '../Icon/IconPitfall' ;
1010import { IconCanary } from '../Icon/IconCanary' ;
11+ import { IconRocket } from '../Icon/IconRocket' ;
1112
12- type CalloutVariants = 'deprecated' | 'pitfall' | 'note' | 'wip' | 'canary' ;
13+ type CalloutVariants =
14+ | 'deprecated'
15+ | 'pitfall'
16+ | 'note'
17+ | 'wip'
18+ | 'canary'
19+ | 'major'
20+ | 'rsc' ;
1321
1422interface ExpandableCalloutProps {
1523 children : React . ReactNode ;
@@ -59,6 +67,22 @@ const variantMap = {
5967 overlayGradient :
6068 'linear-gradient(rgba(249, 247, 243, 0), rgba(249, 247, 243, 1)' ,
6169 } ,
70+ major : {
71+ title : 'React 19' ,
72+ Icon : IconRocket ,
73+ containerClasses : 'bg-blue-10 dark:bg-blue-60 dark:bg-opacity-20' ,
74+ textColor : 'text-blue-50 dark:text-blue-40' ,
75+ overlayGradient :
76+ 'linear-gradient(rgba(249, 247, 243, 0), rgba(249, 247, 243, 1)' ,
77+ } ,
78+ rsc : {
79+ title : 'React Server Components' ,
80+ Icon : null ,
81+ containerClasses : 'bg-blue-10 dark:bg-blue-60 dark:bg-opacity-20' ,
82+ textColor : 'text-blue-50 dark:text-blue-40' ,
83+ overlayGradient :
84+ 'linear-gradient(rgba(249, 247, 243, 0), rgba(249, 247, 243, 1)' ,
85+ } ,
6286} ;
6387
6488function ExpandableCallout ( { children, type = 'note' } : ExpandableCalloutProps ) {
@@ -72,9 +96,11 @@ function ExpandableCallout({children, type = 'note'}: ExpandableCalloutProps) {
7296 variant . containerClasses
7397 ) } >
7498 < h3 className = { cn ( 'text-2xl font-display font-bold' , variant . textColor ) } >
75- < variant . Icon
76- className = { cn ( 'inline me-3 mb-1 text-lg' , variant . textColor ) }
77- />
99+ { variant . Icon && (
100+ < variant . Icon
101+ className = { cn ( 'inline me-2 mb-1 text-lg' , variant . textColor ) }
102+ />
103+ ) }
78104 { variant . title }
79105 </ h3 >
80106 < div className = "relative" >
0 commit comments