๐พ๋ค์ด๊ฐ๋ฉฐ
์ํฉ:
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค๋ฉด์ ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ ๋ ๊ฐ๋ฐ์๊ฐ ์ด๋ป๊ฒ ์ฐ๋ฉด ์ข์์ง ๋จผ์ ์๊ฐํ์ต๋๋ค. ๊ทธ๋์ ์ค์ ๋ก ์ฌ์ฉํ ๋์ ์์๋ฅผ ๋จผ์ ์์ฑํ๊ณค ํฉ๋๋ค.
โจ๋ณธ๊ฒฉ์ ์ผ๋ก
์ด๋ฒ์ TipBox๋ฅผ ๋ง๋ค๋ฉด์ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์๊ฐํ์ต๋๋ค.
tooltips๊ณผ popover tips๋ฅผ ํฉ์ณ์ TipBox๋ผ๊ณ ๋ถ๋ฅด๊ธฐ๋ก ํ์ต๋๋ค.
//popver ์์ฑ์ ๋๊ธฐ๋ฉด dialog ํํ์ ํดํ์ด ๋์จ๋ค.
<Hint popover>
<Hint.Target>
<Button>feature</Button>
</Hint.Target>
{/* popover ์์ฑ์ด ์๋ Hint ๋ด๋ถ์์ show์ hide ๊ฐ๊ฐ์ ๊ฐ์ง ๋๊ฐ์ Trigger๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. */}
<Hint.Trigger show>
<Icon src="" alt="more info"></Icon>
</Hint.Trigger>
{/* Content๋ ํดํ์ด ๋จ๋ ์์น๋ฅผ prop์ผ๋ก ๋ฐ๋๋ค. */}
<Hint.Content top center>
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dolore ab adipisci
sed. Molestias facilis magnam ut minus distinctio illum cum rem
exercitationem. In vitae laboriosam expedita obcaecati illum tenetur iste.
</Hint.Content>
<Hint.Trigger hide>X</Hint.Trigger>
</Hint>;
//popover ์์ฑ์ด ์๊ฑฐ๋ false์ผ ๊ฒฝ์ฐ, Hint.Content์ ๋ด์ฉ์ Hint์ title ์์ฑ์ ํ ๋น๋๋ค.
<Hint>
{/* show hide ๋ ๋ค ๋ฐ๊ฑฐ๋ ๋ ๋ค ์๋ Trigger๊ฐ ํ๋๋ง ์์ด์ผ ํ๋ค. */}
<Hint.Trigger show hide>
<Button>feature</Button>
</Hint.Trigger>
{/* popover ์์ฑ์ด ์์ ๋ Hint.Content๋ plain text๋ง ๋ฐ์ ์ ์๋ค. */}
<Hint.Content top center>
Lorem, ipsum dolor sit amet consectetur adipisicing elit. Dolore ab adipisci
sed. Molestias facilis magnam ut minus distinctio illum cum rem
exercitationem. In vitae laboriosam expedita obcaecati illum tenetur iste.
</Hint.Content>
</Hint>;
๋ฌธ์ :
ํ๋์ ์ปดํฌ๋ํธ๊ฐ popover ์์ฑ์ ์ํด ์ข์ฐ๋๋ ๋ ๊ฐ์ง ์ญํ ๋ก ์ฌ์ฉํ๋ ค๊ณ ํ์ต๋๋ค.
SOLID ์์น์ ์๊ฐํ๋ฉด ์ ๋ง ์ ์ข์ ์ปดํฌ๋ํธ์์ ๊นจ๋ฌ์์ต๋๋ค.
ํด๊ฒฐ:
๋ฐ๋ผ์ ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ณ๋๋ก ๋ง๋ค๊ณ Hint ์ปดํฌ๋ํธ๋ก ์์งํ๋ ค๊ณ ํฉ๋๋ค.
๊ฒฐ๊ณผ:
tooltips
<Hint title="Lorem" position="top">
feature
</Hint>
popovertips
<Hint popover>
<Hint.Target>feature</Hint.Target>
<Hint.Trigger>?</Hint.Trigger>
<Hint.Content>
<Hint.Panel>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Assumenda,
nisi incidunt culpa voluptatum nihil ex sunt. Vel nesciunt eius sed
minima illo laborum vero accusantium. Facilis voluptate numquam ut
magnam!
</Hint.Panel>
<Hint.Button>close</Hint.Button>
</Hint.Content>
</Hint>
์ฌ์ค ์ฌ๊ธฐ์์ Hint๋ก ์ฐ๋ ๊ฒ์ด ์๋ ๊ฐ๊ฐ Tooltips์ Popovertips๋ผ๋ ๋ณ๋์ ์ปดํฌ๋ํธ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ๋ฐ๋์งํฉ๋๋ค. ๋ค๋ง, ์ ๊ฐ ์๊ฐํ Hint ์ปดํฌ๋ํธ์ ์ฑ
์์ ํ๋์ ์ปดํฌ๋ํธ๋ก ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ฌ์ฉํด๋ณผ ์ ์๊ฒ ํ๋ ๊ฒ์
๋๋ค. ( ์ฌ์ค ์๊ฐ์ด ์๊ธฐ๋ ํ๊ณ ... ) ๊ทธ๋์ ์์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์๊ฒ ํ๋ ๊ฒ์ผ๋ก ๋ง๋ค์์ต๋๋ค...ใ
ใ
โ๏ธ๊ฒฐ๋ก
๋ฆฌ์กํธ UI๋ฅผ ๋ง๋ค์ด๋ณด๋ฉด์ ์ค์ ๋ก ์ผ์ฃผ์ผ ์์ ํ๋์ UI๋ง ๊ตฌํํ๋ ๊ฒ์ ์ ๋ง ์ฝ์ต๋๋ค. ์ฌ์ค ๋ป์ง๋ง ์ํ๋ฉด 3์๊ฐ ์์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋ ์ง๋ง, ์ ๊ทผ์ฑ๊ณผ ์ปดํฌ๋ํธ ๊ฐ์ ์์กด์ฑ๊ณผ ์ฌ์ฌ์ฉ์ฑ์ ๊ณ ๋ คํ๋ฉด์ ๋ค์ ๋ง๋ค๊ณ ๋ค์ ๋ง๋ค๊ณ ๋ฅผ ๋ฐ๋ณตํ๋ค ๋ณด๋ ์๊ฐ์ด ์ข ์ค๋ ๊ฑธ๋ฆฌ๊ณ , ๊ตฌํํ ๋ด์ฉ์ ๊ธ๋ก ์ ๋ฆฌํ๋ฉด ๋ ์์ฌ์ด ๋ถ๋ถ์ด ๋์ ๋ณด์
๋๋ค. ๊ทธ๋๋ ๋ค์ UI๋ฅผ ๋ง๋ค๊ธฐ ์ํด todo๋ก ์๋ตํ๊ณ ๋์ด๊ฐ๊ณ ์๊ณ , ์ค์ํ ์ ์ ์ง์คํ๋ ค๊ณ ํฉ๋๋ค. ํ์ดํ
!!
'Create' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[React] ์ ๋ฐ์ํ ํ ์คํธ๋ฐ์ค๋ ์คํ์ผ๋ก ๋ง๋๋๊ฐ? (0) | 2024.05.11 |
---|---|
[React] ๋ฆฌํฉํ ๋ง - ๋ฐ์ดํฐ/์ก์ /๊ณ์ฐ์ผ๋ก ๋ถ๋ฆฌํ๊ณ ์ฟผ๋ฆฌ ์คํธ๋ง์ ์ฌ์ฉํ์ (0) | 2024.05.08 |
[package] ๋ ๋ญ ์๊ณ ์์๊น? (0) | 2024.04.28 |
[front] ํ๋ก์ ํธ ์ด๊ธฐ ์ธํ : linter, formatter (1) | 2024.04.19 |
[figma] github๊ณผ ์ฐ๊ฒฐํ๊ณ ํ ํฐ ๊ฐ๊ณตํ๊ธฐ (0) | 2024.04.17 |