Mask | CoUI

Mask

์ž์‹์„ ์ง€์ •๋œ ๋ชจ์–‘์œผ๋กœ ํด๋ฆฌํ•‘ํ•˜๋Š” ๋งˆ์Šคํฌ ์ปดํฌ๋„ŒํŠธ

Mask#

CoMask๋Š” ์ž์‹์„ circle, squircle, heart, hexagon, star, triangle ๋“ฑ 15์ข… ๋ชจ์–‘์œผ๋กœ ํด๋ฆฌํ•‘ํ•ฉ๋‹ˆ๋‹ค. Flutter๋Š” ClipPath์™€ ์ปค์Šคํ…€ CustomClipper๋กœ ๊ฒฝ๋กœ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , Web์€ daisyUI mask-* CSS ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Live Preview#

์‚ฌ์šฉ ์‹œ๊ธฐ#

  • ์•„๋ฐ”ํƒ€์ฒ˜๋Ÿผ ์ด๋ฏธ์ง€๋ฅผ ํŠน์ • ๋ชจ์–‘์œผ๋กœ ์ž˜๋ผ์•ผ ํ•  ๋•Œ
  • ์žฅ์‹์šฉ ๋„ํ˜• ๋ฐฐ๊ฒฝ
  • ์•„์ด์ฝ˜/๋ฐฐ์ง€์— ๋…ํŠนํ•œ ๋ชจ์–‘์„ ์ ์šฉํ•  ๋•Œ

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•#

SizedBox(
  width: CoreSpace.space64,
  height: CoreSpace.space64,
  child: CoMask(
    shape: .hexagon,
    child: Container(color: Theme.of(context).colorScheme.primary),
  ),
)
CoMask(
  shape: .hexagon,
  child: div(
    [],
    classes: 'w-\${CoreSpace.scale.space64} h-\${CoreSpace.scale.space64} '
        'bg-\${cs.primary}',
  ),
)

Props#

์†์„ฑํƒ€์ž…๊ธฐ๋ณธ๊ฐ’์„ค๋ช…
child Widget / Component โ€” ํด๋ฆฌํ•‘ ๋Œ€์ƒ ์ฝ˜ํ…์ธ  (required)
shape CoreMaskShape squircle ๋งˆ์Šคํฌ ๋ชจ์–‘
half CoreMaskHalf none ์ ˆ๋ฐ˜ ์ž˜๋ผ๋‚ด๊ธฐ (none / first / second)

์ง€์›๋˜๋Š” shape#

circle, squircle, square, heart, hexagon, hexagon2, decagon, pentagon, diamond, star, star2, triangle, triangle2, triangle3, triangle4.

๊ด€๋ จ ์ปดํฌ๋„ŒํŠธ#

  • Avatar โ€” ์‚ฌ๋žŒ ์–ผ๊ตดยท์•„์ด์ฝ˜์— ํŠนํ™”๋œ ๋งˆ์Šคํฌ ํ”„๋ฆฌ์…‹.
  • Card โ€” ์ž์œ ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ด์•„์›ƒ.