Skip to content

Commit fff68b4

Browse files
authored
Merge pull request #556 from maiieul/add-twMerge
2 parents 485272a + 9a276ad commit fff68b4

File tree

1 file changed

+43
-24
lines changed
  • apps/website/src/components/mdx-components

1 file changed

+43
-24
lines changed

apps/website/src/components/mdx-components/index.tsx

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { Showcase } from '../showcase/showcase';
88
import { CodeSnippet } from '../code-snippet/code-snippet';
99
import { InstallSnippet } from '../install-snippet/install-snippet';
1010
import { Note } from '../note/note';
11+
import { twMerge } from 'tailwind-merge';
1112

1213
// eslint-disable-next-line @typescript-eslint/no-explicit-any
1314
export const components: Record<string, any> = {
@@ -16,8 +17,10 @@ export const components: Record<string, any> = {
1617
<p
1718
{...props}
1819
class={[
19-
'mb-6 last:mb-0',
20-
(props.class as Signal<string>)?.value ?? (props.class as string),
20+
twMerge(
21+
'mb-6 last:mb-0',
22+
(props.class as Signal<string>)?.value ?? (props.class as string),
23+
),
2124
]}
2225
>
2326
<Slot />
@@ -29,8 +32,10 @@ export const components: Record<string, any> = {
2932
<h1
3033
{...props}
3134
class={[
32-
'mb-6 pt-6 text-3xl font-extrabold md:text-5xl',
33-
(props.class as Signal<string>)?.value ?? (props.class as string),
35+
twMerge(
36+
'mb-6 pt-6 text-3xl font-extrabold md:text-5xl',
37+
(props.class as Signal<string>)?.value ?? (props.class as string),
38+
),
3439
]}
3540
>
3641
<Slot />
@@ -42,8 +47,10 @@ export const components: Record<string, any> = {
4247
<h2
4348
{...props}
4449
class={[
45-
'mb-8 mt-20 scroll-mt-32 border-b-[1px] pb-2 text-2xl font-extrabold',
46-
(props.class as Signal<string>)?.value ?? (props.class as string),
50+
twMerge(
51+
'mb-8 mt-20 scroll-mt-32 border-b-[1px] pb-2 text-2xl font-extrabold',
52+
(props.class as Signal<string>)?.value ?? (props.class as string),
53+
),
4754
]}
4855
>
4956
<Slot />
@@ -55,8 +62,10 @@ export const components: Record<string, any> = {
5562
<h3
5663
{...props}
5764
class={[
58-
'mb-6 mt-8 text-xl font-semibold',
59-
(props.class as Signal<string>)?.value ?? (props.class as string),
65+
twMerge(
66+
'mb-6 mt-8 text-xl font-semibold',
67+
(props.class as Signal<string>)?.value ?? (props.class as string),
68+
),
6069
]}
6170
>
6271
<Slot />
@@ -68,8 +77,10 @@ export const components: Record<string, any> = {
6877
<h4
6978
{...props}
7079
class={[
71-
'mb-4 mt-6 text-lg font-medium',
72-
(props.class as Signal<string>)?.value ?? (props.class as string),
80+
twMerge(
81+
'mb-4 mt-6 text-lg font-medium',
82+
(props.class as Signal<string>)?.value ?? (props.class as string),
83+
),
7384
]}
7485
>
7586
<Slot />
@@ -81,8 +92,10 @@ export const components: Record<string, any> = {
8192
<h5
8293
{...props}
8394
class={[
84-
'text-base font-[700]',
85-
(props.class as Signal<string>)?.value ?? (props.class as string),
95+
twMerge(
96+
'text-base font-[700]',
97+
(props.class as Signal<string>)?.value ?? (props.class as string),
98+
),
8699
]}
87100
>
88101
<Slot />
@@ -101,8 +114,10 @@ export const components: Record<string, any> = {
101114
<ul
102115
{...props}
103116
class={[
104-
'mb-4 list-disc px-6 font-medium',
105-
(props.class as Signal<string>)?.value ?? (props.class as string),
117+
twMerge(
118+
'mb-4 list-disc px-6 font-medium',
119+
(props.class as Signal<string>)?.value ?? (props.class as string),
120+
),
106121
]}
107122
>
108123
<Slot />
@@ -114,8 +129,10 @@ export const components: Record<string, any> = {
114129
<li
115130
{...props}
116131
class={[
117-
'py-2',
118-
(props.class as Signal<string>)?.value ?? (props.class as string),
132+
twMerge(
133+
'py-2',
134+
(props.class as Signal<string>)?.value ?? (props.class as string),
135+
),
119136
]}
120137
>
121138
<Slot />
@@ -128,20 +145,22 @@ export const components: Record<string, any> = {
128145
}
129146
>(({ __rawString__, ...props }) => {
130147
return (
131-
<div class="code-example relative -mx-6 max-h-[31.25rem] rounded-xl bg-slate-900 lg:-mx-8">
148+
<div
149+
class={[
150+
twMerge(
151+
'code-example relative -mx-6 max-h-[31.25rem] rounded-xl bg-slate-900 lg:-mx-8',
152+
(props.class as Signal<string>)?.value ?? (props.class as string),
153+
),
154+
]}
155+
>
132156
<CodeCopy
133-
class={[
134-
'absolute right-4 top-4 border-2 text-slate-50 hover:bg-slate-800 hover:text-slate-50',
135-
]}
157+
class="absolute right-4 top-4 border-2 text-slate-50 hover:bg-slate-800 hover:text-slate-50"
136158
code={__rawString__}
137159
/>
138160
<div
139161
{...props}
140162
style={''} // required to override shiki's
141-
class={[
142-
'tab-size max-h-[31.25rem] max-w-full overflow-auto rounded-xl border bg-gradient-to-b from-slate-900 to-slate-800 p-6 text-sm',
143-
(props.class as Signal<string>)?.value ?? (props.class as string),
144-
]}
163+
class="tab-size max-h-[31.25rem] max-w-full overflow-auto rounded-xl border bg-gradient-to-b from-slate-900 to-slate-800 p-6 text-sm"
145164
>
146165
<pre>
147166
<Slot />

0 commit comments

Comments
 (0)