π¨ λμμΈ μμ€ν μ΄μ
λμμΈμ΄ νμ λμ§ μμ μνμμ λμμΈ μμ€ν μ μ μ§μ μΌλ‘ ꡬμΆνλ μ λ΅μ λλ€.
κΈ°λ³Έ λ°©μΉ¨ β νμ΄λΈλ¦¬λ μ κ·Όβ
μ²μλΆν° packages/λ‘ λΆλ¦¬νμ§ μκ³ , shared λ μ΄μ΄ μμμ μμν΄μ μμ νλλ©΄ ν¨ν€μ§λ‘ μΉκ²©ν©λλ€.
μ΄κΈ° β μμ ν μ΄ν
shared/ui/ β packages/ui/
shared/design-tokens/ β packages/design-tokens/
ν λ²μ μ λ©΄ κ΅μ²΄νμ§ μκ³ μ μ§ κ΅μ²΄ μ λ΅μ μ μ§ν΄μ.
π¦ λ¨κ³λ³ λͺ©νβ
| λ¨κ³ | μμ | μν |
|---|---|---|
| 1οΈβ£ | UI μΈλ²€ν 리 μμ§ (νλ©΄λ³ λ°λ³΅ UI λͺ©λ‘) | β μλ£ |
| 2οΈβ£ | λμμΈ ν ν° μ²΄κ³ μ΄μ μ μ | β μλ£ |
| 3οΈβ£ | μ»΄ν¬λνΈ μ°μ μμ λΆλ₯ | β μλ£ |
| 4οΈβ£ | FSD μ μ§ κΈ°λ° κ΅¬μ‘° μ€κ³ | β μλ£ |
| 5οΈβ£ | Storybook μ΄μ, λ°°ν¬/λ²μ λ | π λμμΈ νμ ν |
ποΈ μ»΄ν¬λνΈ μ°μ μμβ
v1 β ν΅μ¬ κ³΅ν΅ μ»΄ν¬λνΈ
Button, Input, Select, Textarea, Badge, Card, Modal
v2 β νμ₯ μ»΄ν¬λνΈ
Tabs, Toast, Dropdown, DatePicker λ±
π·οΈ DS μ£Όμ κ·μΉβ
λμμΈ μμ€ν κ΄λ ¨ νμΌ μμ μ μλ νμμΌλ‘ μ£Όμμ λ¨κΉλλ€.
// [DS] domain:home component:Button ui:button
// [DS] domain:mypage component:ProfileModal ui:modal
// [DS] domain:saju-input component:InputField ui:form
μΈ κ°μ§λ₯Ό νμ ν¬ν¨ν΄μ:
domainβ μ΄λ νλ©΄μμ μ°μ΄λμ§componentβ μ»΄ν¬λνΈ μ΄λ¦uiβ UI νμ (button / modal / form / card)
μ΄ μ£Όμμ΄ μμΌλ©΄ λμ€μ μΈλ²€ν 리 μ¬μμ§μ΄λ ν¨ν€μ§ μΉκ²© μμ μ΄ ν¨μ¬ μ¬μμ§λλ€.
π νμ¬ κ΅¬μ‘°β
shared/
βββ design-tokens/ β CSS λ³μ μ°Έμ‘°
βββ ui/
βββ button/
βββ input/
βββ card/
βββ badge/
βββ select/
βββ ...
packages/
βββ design-tokens/ β ν ν° ν¨ν€μ§ (μΉκ²© μλ£)
βββ ui/ β UI primitive ν¨ν€μ§