Jayden-Design-System(2)
๐จ ํ๋ก์ ํธ ์ผ์ง
์ ๋ณด ์ ๋ฌ๋ณด๋จ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ๊ฒช์ ์ ๋ค, ๋๋ ์ ๋ค์ ๊ธฐ๋กํ ์ผ์ง
Project
: Jayden-Design-System(feat. Challengers)
ํ๋ก ํธ์๋ ์ทจ์ค์์ ๋ญฃ๋ ๋ชจ๋ฅด๊ณ ์์ํด๋ณด๋ ๋์์ธ ์์คํ
ํ๋ก์ ํธ.
์์ํ๊ฒ ๋ ์ด์ ?
๋ณธ๋ก ๋ถํฐ ๋งํ์๋ฉด ์ฑ๋ฆฐ์ ธ์ค
์ฑ์ ์น์ผ๋ก ๋ฆฌ๋ธ๋๋ฉํด๋ณด๋ ํ๋ก์ ํธ๋ฅผ ์งํ ์ค ๋ฉํ ๋๊ป์ ๋์์ธ ์์คํ
์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ํด์ฃผ์ ๊ฒ์์ ์์๋์๋ค. ๋ฐฑ์๋ ์์ด api๋ฅผ ์ด๋ป๊ฒ๋ผ๋ ์ง๋ ๊ฒ ์ฝ์ง ์์๊ณ , ์ด์ ์ข๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํฌ์ปค์ฑ์ ๋ ์ ์๋ ๋์์ธ ์์คํ
์ ์์์ผ๋ก ์ฑ๋ฆฐ์ ธ์ค ๋ชจํน ์น๊น์ง ์งํํ๋ ํ๋ก์ ํธ๋ฅผ ์์ํ๊ฒ ๋์๋ค.
์ด ํ๋ก์ ํธ์ 1์ฐจ์ ์ธ ์ต์ข
๋ชฉํ๋ ๋๋ง์ ๋์์ธ ์์คํ
์ ๊ตฌํํ๊ณ npm ๋ผ์ด๋ฒ๋ฅด๋ฌ๋ก ๋ฐฐํฌ๊น์ง ํ๋ ๊ฒ!!!
๋ชฉํ ์ค์
primary : ๋๋ง์ ๋์์ธ ์์คํ ๊ตฌ์ถ ๋ฐ ๋ฐฐํฌ
secondary : ๋์์ธ ์์คํ ๋ฐ mock data๋ฅผ ์ฌ์ฉํ์ฌ challengers ์น ์๋น์ค ๊ตฌํ
๊ทธ๋์ ๋ฌด์๋ถํฐ ํด์ผํ ๊น?
์ด์ ๋์์ธ ์์คํ ์ ๋ํด์ ๋๋ต์ ์ผ๋ก ๊ฐ์ ์๋ค. ๊ทธ๋ฌ๋ ๋์์ธ ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ๋ฌด์๋ถํฐ ์์ํด์ผํ ์ง ๊ฐ์ด ์ค์ง ์์๋ค. ์ผ๋จ์ ๋จผ์ UI ์ปดํฌ๋ํธ์ ์ข ๋ฅ์๋ ๋ฌด์์ด ์๋์ง ๊ฐ๋ตํ๊ฒ ๊ณต๋ถ๋ฅผ ์งํํ๋ค.(๊ทธ๋์ผ ๋ด๊ฐ ๋ง๋ค ์๋น์ค์์ ์ด๋ค ์ปดํฌ๋ํธ๋ฅผ ๋์์ธ ์์คํ ์ ๋ น์ผ์ง ์ ์ ์์ํ ๋๊น)
UI์ ์ข ๋ฅ
UI๋ ํฌ๊ฒ 4๊ฐ์ง ๋ถ๋ฅ๋ก ๋๋ ์ ์๋ค.
- Input Controls : ์ ์ ๊ฐ ์์คํ ์ ์ ๋ณด๋ฅผ ์ ๋ ฅํ ์ ์๊ฒ ํ๋ค.
- Navigation Components : ์ ์ ์ ์๋น์ค ๋ด์์์ ์ด๋์ ์๋ดํ๊ณ ๋๋๋ค. ex) ํ๋ฒ๊ฑฐ ๋ฉ๋ด, ๋ค๋ธ๋ฐ
- Informational Componens : ์ ์ ์๊ฒ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ค.
- Containers : ๊ด๋ จ ์ปจํ ์ธ ๋ค์ ํ ๊ณณ์ ๋ฌถ์ด์ฃผ๋ ์ญํ ์ ํ๋ค.
์, ๊ทธ๋ผ ์ด์ ๋ณธ๊ฒฉ์ ์ผ๋ก UI์์๋ค์ ๊ฐ๋ตํ๊ฒ ์ ๋ฆฌํด๋ณด์. ์ฐธ๊ณ ๋ก ์ด ๋ด์ฉ๋ค์ ๊ฑฐ์ง ์๋ ๋ ํผ๋ฐ์ค์ ๋ด์ฉ๋ค์ ์์ฝ/์ ๋ฆฌํ ๊ฒ์ด๋ค! ์ด๋ฐ ๊ธ์ ์์ฑํด์ฃผ์ ๊ฐ๋ฐ์๋ถ๊ป ์ ๋ง์ ๋ง ๊ฐ์ฌ๋๋ฆฐ๋ค.
์์ฝ๋์ธ(Accordian)
- ํด๋ฆญ ์ ์์ฝ๋์ธ ์ ๊ธฐ์ฒ๋ผ ๋ด์ฉ๋ค์ด ํผ์ณ์ ธ์ ๋์ค๋ ์ธํฐํ์ด์ค
- ์ฆ, ์ปจํ ์ธ ์ ์์ญ์ด ํ์ฅ๋๋ค.(๋ค์ ๋์ฌ Dropdown๊ณผ์ ์ฐจ์ด์ )
๋ฒคํ ๋ฉ๋ด(Bento Menu)
- 9๊ฐ์ ์ฌ๊ฐํ ๋ชจ์์ผ๋ก, ํด๋ฆญ ์ ์ฌ๋ฌ๊ฐ์ง ๋ฉ๋ด๊ฐ (์ฃผ๋ก ๋ชจ๋ฌํํ๋ก) ๋์ค๊ฒ ํ๋ ์ธํฐํ์ด์ค. ํํ ์ฐ๋ฆฌ๊ฐ ๋งํ๋ ํ๋ฒ๊ฑฐ ๋ฒํผ๋ ๋ฒคํ ๋ฉ๋ด์ ํ ์ข ๋ฅ
๋ธ๋ ๋ํฌ๋ผ(Breadcrumb)
- ์ ์ ๊ฐ ์ฌ์ดํธ์ ์ด๋์ ์์นํด์๋์ง ์๋ ค์ฃผ๋ ์ธํฐํ์ด์ค. ํธ์ ค๊ณผ ๊ทธ๋ ํ ์ ๋นต ๋ถ์ค๋ฌ๊ธฐ์์ ์ ๋ํ๋ค๊ณ ํ๋ค.
๋ฒํผ(Button)
- ์ฐ๋ฆฌ๊ฐ ๋๋ฌด ์ ์๊ณ ์์ฃผ ๋ณด๋ ์ธํฐํ์ด์ค. ํด๋ฆญ ์, ํน์ ๋์์ด ์ํ๋๋ค.(๋ณดํต์ ์ ์ ์ ์ ๋ณด๋ฅผ ์ ๋ฌ)
์นด๋(Card)
- ์์ ์ฌ๊ฐํ์ ๊ฐ์ ์นดํ ๊ณ ๋ฆฌ์ ์ ๋ณด๋ค์ ๋ด๊ณ ์๋ ์ผ์ข ์ ๋ชจ๋
์บ๋ฌ์ (Carousel)
- ์ด๋ฏธ์ง๋ ์นด๋์ ๊ฐ์ ์ปจํ ์ธ ๋ฅผ ํ์ํ ์ ์๋ ์ธํฐํ์ด์ค. ํ์ ๋ชฉ๋ง๋ฅผ ์ ๋ฉด์์ ๋ณด๋ ๋๋.
์ฒดํฌ๋ฐ์ค(Checkbox)
- ์ฒดํฌ๊ฐ ๋์ด์๊ฑฐ๋(true) ์๋๊ฑฐ๋(false)
์ฝ๋ฉํธ(Comment)
- ๋ง ๊ทธ๋๋ก ๋๊ธ
๋๋กญ๋ค์ด(Dropdown)
- ์์ฝ๋์ธ๊ณผ ๊ต์ฅํ ์ ์ฌํ์ง๋ง, ๋๋กญ๋ค์ด์ ์ปจํ ์ธ ์์ฒด์ ํฌ๊ธฐ๊ฐ ์ปค์ง์ง ์๋๋ค.
- ์๋ ์ปจํ ์ธ ๋ฅผ ๋ฎ์ด์ ๋ณด์ฌ์ง๋ ๋๋
ํผ(Form)
- ์ ์ ๊ฐ ์ ๋ณด๋ฅผ ์ ๋ ฅํ์ฌ ์ ์ถํ๊ธฐ ์ํ ์ธํฐํ์ด์ค. ํ์๊ฐ์ ์, ์์ด๋/๋น๋ฐ๋ฒํธ/์ฃผ์ ๋ฑ๋ฑ
์์ด์ฝ(Icon)
- ์ ์ ์๊ฒ ์ง๊ด์ ์ผ๋ก ์ ๋ณผ๋ฅด ์ ๋ฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ๋จํ ์ด๋ฏธ์ง
์ธํ ํ๋(Input Field)
- ์ ์ ๊ฐ ์ฌ๋ฌ ์ ๋ณด๋ฅผ ์์ฑํ์ฌ ์์คํ ์ ์ ๋ฌํ๊ธฐ ์ํ ์ธํฐํ์ด์ค. Form๊ณผ ๊ฐ์ ์ ์ถ ์์๋ถํฐ ํฌํธ์ ๊ฒ์์ฐฝ ๋ฑ ๋ค์ํ ํ๋๊ฐ ์กด์ฌํ๋ค.
์ผ๋ฐฅ ๋ฉ๋ด(Kebab Menu)
- ์ธ๋ก๋ก ์ 3๊ฐ๊ฐ ์๋ ์ธํฐํ์ด์ค. ์ฃผ๋ก ์ค์ ์ต์ ๋ฑ์ ๋ด๊ณ ์๋ค.(ํฌ๋กฌ์๋ ์ค๋ฅธ์ชฝ ์์ ์์)
๋ก๋(Loader)
- ๋ง ๊ทธ๋๋ก ๋ก๋ฉ์ ๋ํ๋ด๋ UI ์์! ์ฌ์ฉ์์๊ฒ ํ์ฌ ์์คํ ์ด ์์ ์ค์ธ ๊ฒ์ ๋ํ๋ผ ๋ ์ฌ์ฉํ๋ค.
๋ฏธํธ๋ณผ ๋ฉ๋ด(Meatballs Menu)
- ๊ฐ๋ก๋ก ์ 3๊ฐ๊ฐ ์๋ ์ธํฐํ์ด์ค. ๋ณด์ฌ์ง๋ ๊ฒ ์ธ์ ์จ๊ฒจ์ง ์ต์ ์ ๋ณผ ์ ์๋ค.
๋ชจ๋ฌ(Modal)
- ์ ์ ์ ์ํธ์์ฉ ํน์ ํน์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด์ ์ ๊ณต๋๋ ์ถ๊ฐ ๋ ์ด์ด ์ฐฝ.
- ๊ธฐ๋ณธ์ ์ผ๋ก web์ด ์ ๊ณตํ๋ api์ธ alert, propmt, confirm๋ ๋ชจ๋ฌ ํ์
๋ฑ์ง(Badge)
- ์์ฆ ์์ฃผ ๋ณด์ด๋ UI๋ก, ์๋ฆผ์ ๋ํ๋ด๋ ์์ ๋นจ๊ฐ ์ ๊ฐ์ ๋ ์๋ค!!!
- ์ ์ ์๊ฒ ์๋ฆผ์ ์ฃผ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.(๋ฑ์ง๋ฅผ ๋ณด๋ฉด ํด๋ฆญ ์ํ ์๊ฐ ์์)
ํ์ด์ง๋ค์ด์ (Pagenamtion)
- ํ๋ฉด ๋งจ ์๋์ 1, 2, 3, 4, 5 โฆ 101๊ณผ ๊ฐ์ด ํ์ด์ง๋ฅผ ๋ํ๋ด๋ ์ธํฐํ์ด์ค
- ํ์ฌ ์ ์ ์ ์์น๋ฅผ ์๋ ค์ฃผ๊ณ ๋ค๋ฅธ ์์น๋ก ์ด๋ํ ์ ์๊ฒ ํด์ค๋ค.
ํฝ์ปค(Picker)
ํ๋ก๊ทธ๋์ค ๋ฐ(Progress Bar)
- ํน์ ์์ ์ ์ง์ฒ๋ ๋๋ ๋จ๊ณ๋ฅผ ์๊ฐ์ ์ผ๋ก ๋ณด์ฌ์ฃผ๋ ์ธํฐํ์ด์ค.
๋ผ๋์ค ๋ฒํผ(Radio Buttons)
- ์ฒดํฌ๋ฐ์ค์ ์ ์ฌํ๋ฉด์๋(๊ฐ์ด ์ฐ์ด๋๊ฑด๊ฐ..?) ๋ฌํ๊ฒ ๋ค๋ฅธ ๋ ์
- ์ฒดํฌ๋ฐ์ค๋ ๊ฐ ํญ๋ชฉ์ ๋ํด์ ๋ชจ๋ ์ ํํ๋ค๋ฉด, ๋ผ๋์ค ๋ฒํผ์ ์ฌ๋ฌ ์ ํ์ง ์ค์์ 1๊ฐ๋ฅผ ๊ณ ๋ฅผ ๋ ์ฌ์ฉํ๋ค.
์์น ํ๋(Search Field)
- ๋ณดํต ๋ด๋ถ์ ์์ ๋๋ณด๊ธฐ ์์ด์ฝ๊ณผ ํจ๊ป ์ ๋ณด๋ฅผ ์ฐพ์ ๋ ์ ๋ ฅํ๊ฒ ๋๋ ์ธํฐํ์ด์ค
์ฌ์ด๋๋ฐ(Sidebar)
- ํ์ด์ง ์ธก๋ฉด์์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค. ํญ์ ๋ณด์ฌ์ง๊ธฐ๋ ํ๊ณ ๋ฒํผ ํด๋ฆญ ์ ๋ค์ด๊ฐ๋ค ๋์๋ค ํ๊ธฐ๋ ํ๋ค.
์ฌ๋ผ์ด๋ ์ปจํธ๋กค(Slider Controls)
- ์๋ ์กฐ์ ํ๋ ์ธํฐํ์ด์ค! ๋ก ๊ธฐ์ตํ๋ฉด ํธํ๋ค.
์คํ ํผ(Stepper)
- ์ฃผ๋ก ์ฆ๊ฐ, ๊ฐ์ 2๊ฐ์ง ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์ ์กฐ์ ํ ์ ์๋ค. ์ด ๋, ์ ์ ๋ ๊ฐ๋ฐ์๊ฐ ์ ๊ณตํ๋ ๊ฐ๋ค ์ค์์ ๊ณ ๋ฅผ ์ ์๋ค.
ํญ ๋ฐ(Tab Bar)
ํดํ(Tooltip)
- ๋ณดํต ๋๊ทธ๋ผ๋ฏธ์
i
๊ฐ ๋ค์ด๊ฐ์์ด์ ํด๋ฆญ ์, ์ ์ ์๊ฒ ๋์๋ง ํน์ ํํธ๋ฅผ ์ ๊ณตํ๋ ์ธํฐํ์ด์ค
ํ ๊ธ(Toggle)
- ์ผ๊ณ ๋ ์ ์๋ ์ค์์น. ON/OFF ์ค์์น.
๊ทธ ๋์ ๊ทธ๋ฅ ๋์ด๊ฐ์๋๋ฐ, ์ด๋ ๊ฒ UI๋ฅผ ํ๋ํ๋ ์ฐ์ด์ ๋ณด๊ณ ์ธ์งํ๋๊น ์์ผ UI์ ๋ํด์ ์ ๋ง ๋ชฐ๋๊ตฌ๋ ์ถ์๋ค.
Reference
-
-
๊ทธ๋์ ๋ฌด์๋ถํฐ ํด์ผํ ๊น?
-
- ์์ฝ๋์ธ(Accordian)
- ๋ฒคํ ๋ฉ๋ด(Bento Menu)
- ๋ธ๋ ๋ํฌ๋ผ(Breadcrumb)
- ๋ฒํผ(Button)
- ์นด๋(Card)
- ์บ๋ฌ์ (Carousel)
- ์ฒดํฌ๋ฐ์ค(Checkbox)
- ์ฝ๋ฉํธ(Comment)
- ๋๋กญ๋ค์ด(Dropdown)
- ํผ(Form)
- ์์ด์ฝ(Icon)
- ์ธํ ํ๋(Input Field)
- ์ผ๋ฐฅ ๋ฉ๋ด(Kebab Menu)
- ๋ก๋(Loader)
- ๋ฏธํธ๋ณผ ๋ฉ๋ด(Meatballs Menu)
- ๋ชจ๋ฌ(Modal)
- ๋ฑ์ง(Badge)
- ํ์ด์ง๋ค์ด์ (Pagenamtion)
- ํฝ์ปค(Picker)
- ํ๋ก๊ทธ๋์ค ๋ฐ(Progress Bar)
- ๋ผ๋์ค ๋ฒํผ(Radio Buttons)
- ์์น ํ๋(Search Field)
- ์ฌ์ด๋๋ฐ(Sidebar)
- ์ฌ๋ผ์ด๋ ์ปจํธ๋กค(Slider Controls)
- ์คํ ํผ(Stepper)
- ํญ ๋ฐ(Tab Bar)
- ํดํ(Tooltip)
- ํ ๊ธ(Toggle)
-