@@ -19,74 +19,10 @@ const CalloutContext = React.createContext<{
1919} ) ;
2020
2121const colors = {
22- zinc : [
23- '[--callout:var(--color-zinc-500)]' ,
24- '[--callout-border:color-mix(in_oklab,_var(--callout)_20%,_white)]' ,
25- 'dark:[--callout-border:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
26- '[--callout-bg:color-mix(in_oklab,_var(--callout)_5%,_white)]' ,
27- 'dark:[--callout-bg:color-mix(in_oklab,_var(--callout)_40%,_black)]' ,
28- '[--callout-heading:color-mix(in_oklab,_var(--callout)_30%,_black)]' ,
29- 'dark:[--callout-heading:color-mix(in_oklab,_var(--callout)_50%,_white)]' ,
30- '[--callout-description:color-mix(in_oklab,_var(--callout)_95%,_black)]' ,
31- '[--callout-icon:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
32- '[--link:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
33- 'dark:[--link:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
34- ] ,
35- red : [
36- '[--callout:var(--color-red-500)]' ,
37- '[--callout-border:color-mix(in_oklab,_var(--callout)_30%,_white)]' ,
38- 'dark:[--callout-border:color-mix(in_oklab,_var(--callout)_40%,_black)]' ,
39- '[--callout-bg:color-mix(in_oklab,_var(--callout)_10%,_white)]' ,
40- 'dark:[--callout-bg:color-mix(in_oklab,_var(--callout)_25%,_black)]' ,
41- '[--callout-heading:color-mix(in_oklab,_var(--callout)_70%,_black)]' ,
42- 'dark:[--callout-heading:color-mix(in_oklab,_var(--callout)_85%,_black)]' ,
43- '[--callout-description:color-mix(in_oklab,_var(--callout)_75%,_black)]' ,
44- 'dark:[--callout-description:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
45- '[--callout-icon:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
46- '[--link:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
47- 'dark:[--link:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
48- ] ,
49- blue : [
50- '[--callout:var(--color-blue-500)]' ,
51- '[--callout-border:color-mix(in_oklab,_var(--callout)_35%,_white)]' ,
52- 'dark:[--callout-border:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
53- '[--callout-bg:color-mix(in_oklab,_var(--callout)_10%,_white)]' ,
54- 'dark:[--callout-bg:color-mix(in_oklab,_var(--callout)_25%,_black)]' ,
55- '[--callout-heading:color-mix(in_oklab,_var(--callout)_70%,_black)]' ,
56- 'dark:[--callout-heading:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
57- '[--callout-description:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
58- 'dark:[--callout-description:color-mix(in_oklab,_var(--callout)_75%,_black)]' ,
59- '[--callout-icon:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
60- '[--link:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
61- 'dark:[--link:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
62- ] ,
63- yellow : [
64- '[--callout:var(--color-yellow-500)]' ,
65- '[--callout-border:color-mix(in_oklab,_var(--callout)_35%,_white)]' ,
66- 'dark:[--callout-border:color-mix(in_oklab,_var(--callout)_35%,_black)]' ,
67- '[--callout-bg:color-mix(in_oklab,_var(--callout)_10%,_white)]' ,
68- 'dark:[--callout-bg:color-mix(in_oklab,_var(--callout)_25%,_black)]' ,
69- '[--callout-heading:color-mix(in_oklab,_var(--callout)_55%,_black)]' ,
70- 'dark:[--callout-heading:color-mix(in_oklab,_var(--callout)_85%,_black)]' ,
71- '[--callout-description:color-mix(in_oklab,_var(--callout)_60%,_black)]' ,
72- 'dark:[--callout-description:color-mix(in_oklab,_var(--callout)_75%,_black)]' ,
73- '[--callout-icon:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
74- '[--link:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
75- 'dark:[--link:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
76- ] ,
77- green : [
78- '[--callout:var(--color-green-500)]' ,
79- '[--callout-border:color-mix(in_oklab,_var(--callout)_40%,_white)]' ,
80- 'dark:[--callout-border:color-mix(in_oklab,_var(--callout)_35%,_black)]' ,
81- '[--callout-bg:color-mix(in_oklab,_var(--callout)_10%,_white)]' ,
82- 'dark:[--callout-bg:color-mix(in_oklab,_var(--callout)_25%,_black)]' ,
83- '[--callout-heading:color-mix(in_oklab,_var(--callout)_70%,_black)]' ,
84- 'dark:[--callout-heading:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
85- '[--callout-description:color-mix(in_oklab,_var(--callout)_65%,_black)]' ,
86- '[--callout-icon:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
87- '[--link:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
88- 'dark:[--link:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
89- ] ,
22+ red : [ '[--callout:var(--color-red-500)]' ] ,
23+ blue : [ '[--callout:var(--color-blue-500)]' ] ,
24+ yellow : [ '[--callout:var(--color-yellow-500)]' ] ,
25+ green : [ '[--callout:var(--color-green-500)]' ] ,
9026} ;
9127
9228export type CalloutColor = keyof typeof colors ;
@@ -128,21 +64,9 @@ export default function Callout({
12864 'aria-describedby' : `des_${ labelId } ` ,
12965 } ) }
13066 className = { twMerge (
131- '[--callout-icon:var(--muted)]' ,
132- '[--callout-border:var(--border)]' ,
133-
134- color
135- ? [
136- colors [ color ] ,
137- 'dark:selection:bg-(--callout) dark:selection:text-white' ,
138- ]
139- : [
140- '[&:has(>[data-ui=callout-heading])]:[--callout-description:var(--muted)]' ,
141- ] ,
142-
143- 'group w-full border-(--callout-border) bg-(--callout-bg)' ,
67+ color ? colors [ color ] : [ ] ,
68+ 'group w-full' ,
14469 'grid grid-cols-[auto_1fr_auto_auto] px-4 py-2' ,
145-
14670 center
14771 ? [
14872 'grid-cols-[auto_auto_auto_auto]' ,
@@ -152,6 +76,23 @@ export default function Callout({
15276 ]
15377 : 'rounded-lg border' ,
15478 '[&:has([data-ui=callout-heading]+[data-ui=callout-description])]:[--callout-content-row-end:3]' ,
79+ [
80+ 'border-(--callout-border,var(--border)) bg-(--callout-bg)' ,
81+ '[--callout-border:color-mix(in_oklab,_var(--callout)_30%,_white)]' ,
82+ 'dark:[--callout-border:color-mix(in_oklab,_var(--callout)_40%,_black)]' ,
83+ '[--callout-bg:color-mix(in_oklab,_var(--callout)_5%,_white)]' ,
84+ 'dark:[--callout-bg:color-mix(in_oklab,_var(--callout)_25%,_black)]' ,
85+ '[--callout-heading:color-mix(in_oklab,_var(--callout)_65%,_black)]' ,
86+ 'dark:[--callout-heading:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
87+ '[--callout-description:color-mix(in_oklab,_var(--callout)_75%,_black)]' ,
88+ 'dark:[--callout-description:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
89+ '[--callout-icon:color-mix(in_oklab,_var(--callout)_90%,_black)]' ,
90+ '[--link:color-mix(in_oklab,_var(--callout)_50%,_black)]' ,
91+ 'dark:[--link:color-mix(in_oklab,_var(--callout)_80%,_black)]' ,
92+
93+ 'dark:selection:bg-(--callout,color-mix(in_oklab,_var(--background)_75%,_white)) dark:selection:text-white' ,
94+ ] ,
95+
15596 className ,
15697 ) }
15798 />
@@ -174,7 +115,7 @@ export function CalloutIcon({
174115 'flex' ,
175116 'py-2' ,
176117 'me-3' ,
177- '[&_[data-ui=icon]:not([class*=text-])]:text-(--callout-icon)' ,
118+ '[&_[data-ui=icon]:not([class*=text-])]:text-(--callout-icon,var(--muted) )' ,
178119 '[&_[data-ui=icon]:not([class*=size-])]:w-5' ,
179120 '[&_[data-ui=icon]:not([class*=size-])]:h-lh' ,
180121 className ,
@@ -200,6 +141,7 @@ export function CalloutTitle({
200141 displayLevel = { displayLevel }
201142 data-ui = "callout-heading"
202143 className = { twMerge (
144+ 'peer' ,
203145 'col-start-2' ,
204146 '-col-end-2' ,
205147 inline && [ 'sm:-col-end-3' ] ,
@@ -228,7 +170,8 @@ export function CalloutDescription({
228170 id = { id ?? ariaDescribedBy }
229171 data-ui = "callout-description"
230172 className = { twMerge (
231- 'text-(--callout-description)' ,
173+ 'text-(--callout-description,var(--foreground))' ,
174+ 'peer-[*]:text-(--callout-description,var(--muted))' ,
232175 'col-start-2' ,
233176 '-col-end-2 py-2' ,
234177 inline && [ 'sm:-col-end-3' ] ,
@@ -249,7 +192,7 @@ export function CalloutActions({
249192 { ...props }
250193 data-ui = "callout-actions"
251194 className = { twMerge (
252- 'flex flex-wrap gap-2 ps-(--callout-indent)' ,
195+ 'flex flex-wrap gap-3 ps-(--callout-indent)' ,
253196 'col-start-2' ,
254197 '-col-end-2' ,
255198 'py-2' ,
@@ -289,7 +232,7 @@ export function CalloutControl({
289232 variant = { variant }
290233 className = { composeRenderProps ( props . className , ( className ) =>
291234 twMerge (
292- 'text-(--callout-icon)' ,
235+ 'text-(--callout-icon,var(--muted) )' ,
293236 'hover:bg-transparent' ,
294237 'hover:text-(--callout-heading)' ,
295238 'px-2 py-1.5 dark:hover:bg-transparent' ,
0 commit comments