# shadcn/ui ## ๐Ÿ“Œ Brief Summary shadcn/ui๋Š” [[Tailwind CSS|Tailwind CSS]]๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ React UI ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ๋ชจ์Œ์ž…๋‹ˆ๋‹ค [1, 2]. ์ฃผ๋กœ Radix์™€ ๊ฐ™์€ Headless UI์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ณต์žกํ•œ ์ƒํ˜ธ์ž‘์šฉ๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์ •๊ตํ•˜๊ณ  ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [3, 4]. ํŠนํžˆ [[Next.js App Router|Next.js App Router]]๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ค‘์†Œ๊ทœ๋ชจ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Tailwind CSS์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ๋•Œ ๊ฐ€์žฅ ๊ถŒ์žฅ๋˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค [2]. ## ๐Ÿ“– Core Content - **Tailwind CSS ๊ธฐ๋ฐ˜ ์ƒํƒœ๊ณ„:** shadcn/ui๋Š” Tailwind CSS ํ™˜๊ฒฝ์— ์™„๋ฒฝํ•˜๊ฒŒ ๋งž์ถฐ ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ, ์ฃผ๋กœ [[Radix UI|Radix UI]] ๋ฐ Headless UI์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค [1, 3]. ์ด๋Š” [[CSS-in-JS|CSS-in-JS]]์˜ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ํ”ผํ•˜๊ณ  ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค ๊ธฐ๋ฐ˜์˜ ๋น ๋ฅธ ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ํ™œ์šฉํ•˜๋Š” ํ˜„๋Œ€์ ์ธ ์Šคํƒ€์ผ๋ง ์ ‘๊ทผ ๋ฐฉ์‹๊ณผ ๋งž๋‹ฟ์•„ ์žˆ์Šต๋‹ˆ๋‹ค [2, 5]. - **์ปดํฌ๋„ŒํŠธ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ์ œ๊ณต:** ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ(ํŠนํžˆ [[Next.js|Next.js]] App Router ๊ธฐ๋ฐ˜์˜ ์ค‘์†Œ๊ทœ๋ชจ ์•ฑ)๋ฅผ ๊ตฌ์ถ•ํ•  ๋•Œ, ์ฒ˜์Œ๋ถ€ํ„ฐ UI๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹  ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ(Component primitives) ์—ญํ• ์„ ํ•˜์—ฌ ๋น ๋ฅธ ๊ฐœ๋ฐœ์„ ๋•์Šต๋‹ˆ๋‹ค [2]. - **๊ณ ๊ธ‰ ์ปดํฌ๋„ŒํŠธ ํŒจํ„ด ์ง€์›:** ์œ ์—ฐํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ API๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์ปดํŒŒ์šด๋“œ ์ปดํฌ๋„ŒํŠธ(Compound component) ์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด์„ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค [4]. ์ด๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ๊ฑฐ๋Œ€ํ•œ ์ปดํฌ๋„ŒํŠธ์— ์ˆ˜๋งŽ์€ prop์„ ์ „๋‹ฌํ•˜๋Š” ๋Œ€์‹ , ๋…ผ๋ฆฌ์ ์œผ๋กœ ํ˜‘๋ ฅํ•˜๋Š” ์—ฌ๋Ÿฌ ํ•˜์œ„ ์ปดํฌ๋„ŒํŠธ๋กœ ์ฑ…์ž„์„ ๋ถ„์‚ฐ์‹œ์ผœ ๋ณต์žกํ•œ ์š”๊ตฌ์‚ฌํ•ญ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค [3, 6]. - **ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์Šคํƒ€์ผ๋ง ๋ฐ ์„ฑ๋Šฅ ์ตœ์ ํ™”:** ๋ณ€ํ˜•(variant) ์‹œ์Šคํ…œ, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ, ํ…Œ๋งˆ ํ†ตํ•ฉ๊ณผ ๊ฐ™์€ ๊ณ ๊ธ‰ ์Šคํƒ€์ผ๋ง ๊ธฐ๋ฒ•์„ ๋งˆ์Šคํ„ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [4]. ํšจ์œจ์ ์ธ ๋ Œ๋”๋ง๊ณผ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ์ˆ ๋„ ๋‚ด์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [4]. - **ํƒ€์ž… ์•ˆ์ •์„ฑ ๋ณด์žฅ:** TypeScript๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ์žˆ์–ด, ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๊ณ  ์™„๋ฒฝํ•œ ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ๋ฐ API ์„ค๊ณ„๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค [4]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Tailwind CSS|Tailwind CSS]], Compound Components, [[Headless UI|Headless UI]], Radix - **Projects/Contexts:** [[Next.js App Router แ„‘แ…ณแ„…แ…ฉแ„Œแ…ฆแ†จแ„แ…ณ|Next.js App Router ํ”„๋กœ์ ํŠธ]], ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ React ์ปดํฌ๋„ŒํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค๊ณ„ - **Contradictions/Notes:** ์†Œ์Šค ์ƒ์—์„œ shadcn/ui๋Š” ์ „ํ†ต์ ์ธ ์˜๋ฏธ์˜ ๋ฌด๊ฑฐ์šด UI ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๊ธฐ๋ณด๋‹ค๋Š”, Tailwind CSS์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ฐ•๋ ฅํ•œ ํ†ต์ œ๊ถŒ๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ๋ชจ์Œ์œผ๋กœ ๋ฌ˜์‚ฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [1, 2]. --- *Last updated: 2026-04-26*