
π₯ λ°°λ΄ νμΌμ΄λ
λ°°λ΄ νμΌμ΄λ μ¬λ¬ κ°μ λͺ¨λμ ν κ³³μ λͺ¨μμ λ€μ export νλ νμΌμ λ§νλ€.
μ¦, κ°κ°μ λͺ¨λμ κ°λ³μ μΌλ‘ import νμ§ μκ³ ,
νλμ μ§μ μ (entry point)μμ λͺ¨μμ λΆλ¬μ¬ μ μκ² ν΄μ£Όλ κ²μ΄λ€.
(λ³΄ν΅ νμΌ μ΄λ¦μΌλ‘λ index.ts μ λ§μ΄ μ¬μ©νλ€κ³ νλ€.)
λ΄ κ²½μ°μλ μλ μλμ κ°μ΄ chat.ts νμΌ μμ λ§νμ κ³Ό κ΄λ ¨λ ν ν°λ€μ΄ μ μλμ΄ μμλ€.
// src/styles/tokens/chat.ts
export const bubblePalette = {
bot: { bg: 'bg-blue-50', border: 'border-blue-600', text: 'text-black' },
me: { bg: 'bg-white', border: 'border-blue-600', text: 'text-black' },
} as const;
export const bubbleMaxW = {
base: 'max-w-[82%]',
sm: 'sm:max-w-[75%]',
md: 'md:max-w-[65%]',
lg: 'lg:max-w-[55%]',
} as const;
export const bubbleWidthClasses =
`${bubbleMaxW.base} ${bubbleMaxW.sm} ${bubbleMaxW.md} ${bubbleMaxW.lg}` as const;
κ·Έλ¦¬κ³ κ°μ λλ ν 리μ index.ts λ₯Ό λ§λ€μ΄μ μλμ κ°μ΄ λ°°λ΄ νμΌμ μμ±ν΄λ³΄μλ€.
// src/styles/tokens/index.ts
export * from './chat';
μ΄λ κ² νλ©΄ μ΄μ λ€λ₯Έ μ½λμμ import ν λ μλμ κ°μ΄ ν΄μ£Όλ©΄ λλ€ π
// Before
import { bubblePallete, bubbleMaxW } from '@/styles/tokens/chat';
// After
import { bubblePallete, bubbleMaxW } from '@/styles/tokens';
π§ λ°°λ΄ νμΌμ μ¬μ©νλ μ΄μ
λ°°λ΄ νμΌμ μ¬μ©νλ μ΄μ λ‘λ ν¬κ² 4κ°μ§κ° μλ€.
- κ°λ
μ± ν₯μ
- μ¬λ¬ λͺ¨λμ κ°κ° import νμ§ μκ³ , 곡ν΅λ μ§μ μ νλλ§ import νλ©΄ λλκΉ μ½λκ° ν¨μ¬ κΉλν΄μ§λ€.
- μ μ§λ³΄μ μ©μ΄
- νμΌ κ΅¬μ‘°κ° λ°λκ±°λ νμΌλͺ μ΄ λ°λμ΄λ λ°°λ΄ νμΌλ§ μμ νλ©΄ λκ³ , λλ¨Έμ§ μ½λλ€μ κ·Έλλ‘ μ¬μ© κ°λ₯νλ€.
- μΌκ΄μ± μλ ꡬ쑰 μ 곡
- νμ₯μ±
- μΆν μλ‘μ΄ ν ν°μ΄λ μ νΈλ¦¬ν° νμΌμ΄ μΆκ°λλλΌλ, λ°°λ΄ νμΌμμ ν μ€λ§ μΆκ°ν΄μ£Όλ©΄ λλ€.
'π» νλ‘μ νΈ > π BaLaw' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| CSS λ¨μ μ 리: px, py, pt, pr, pb, pl (0) | 2025.10.07 |
|---|---|
| Storybook μ€μΉνκΈ° (0) | 2025.10.01 |