diff --git a/README.md b/README.md index a858ee5..7981a2e 100644 --- a/README.md +++ b/README.md @@ -28,29 +28,8 @@ ### ๐ŸŽจ ITAM ์‹œ์Šคํ…œ ๋””์ž์ธ ๊ฐ€์ด๋“œ (Design Guide) -1. **๋””์ž์ธ ์ฒ ํ•™ (Design Philosophy)** - * **Minimalist & Border-based**: ๋ถˆํ•„์š”ํ•œ ๋ฐ•์Šค(Card) ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ •๋ณด์˜ ๊ตฌ๋ถ„์€ ๊ฐ„๊ฒฐํ•œ ๋ผ์ธ(Border/Divider)์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ์  ํ”ผ๋กœ๋„๋ฅผ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. - * **Professional Achromatic**: ๋ฌด์ฑ„์ƒ‰(Black, White, Grey)์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜์—ฌ ์ •๋ˆ๋œ ์—…๋ฌด ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. - * **Green Accent**: ๋ธ”๋ฃจ ๋Œ€์‹  ์ง™์€ ๊ทธ๋ฆฐ(`#1E5149`)์„ ํฌ์ธํŠธ ์ปฌ๋Ÿฌ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ฐจ๋ถ„ํ•œ ์ „๋ฌธ์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. +๋””์ž์ธ ์ผ๊ด€์„ฑ ๋ฐ ์‹œ๊ฐ์  ์›์น™์— ๊ด€ํ•œ ์ƒ์„ธ ๋‚ด์šฉ์€ ์•„๋ž˜ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค. -2. **ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ (Typography)** - * **Font Family**: `Pretendard` (์ „์—ญ ์ ์šฉ) - * **Letter Spacing**: `-0.02em` (์•ฝ -2%) ์ ์šฉ. ์ž๊ฐ„์„ ์ข๊ฒŒ ์„ค์ •ํ•˜์—ฌ ๋ฐ€๋„ ์žˆ๊ณ  ์„ธ๋ จ๋œ ๊ฐ€๋…์„ฑ์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. - * **Weights**: 400(Regular), 500(Medium), 600(SemiBold), 700(Bold). +๐Ÿ‘‰ **[๋””์ž์ธ ๊ฐ€์ด๋“œ ๋ฐ”๋กœ๊ฐ€๊ธฐ (design_rule.md)](./design_rule.md)** -3. **์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ (Color Palette)** - * **Point Color**: `#1E5149` (Deep Green) - ๊ฐ•์กฐ, ํ™œ์„ฑํ™” ์ƒํƒœ, ์ฃผ์š” ์•ก์…˜ ๋ฒ„ํŠผ. - * **Text**: Main(`#111827` - Near Black), Muted(`#6B7280` - Grey). - * **Border/Divider**: `#E5E7EB` (Light Grey) - ์ •๋ณด ๊ตฌ๋ถ„์„ ์œ„ํ•œ ์–‡์€ ์‹ค์„ . - * **Background**: `#FFFFFF` (White) / `#F9FAFB` (Off White). - -4. **๋ ˆ์ด์•„์›ƒ ๋ฐ ์ปดํฌ๋„ŒํŠธ ๊ทœ์น™ (Layout Rules)** - * **Box-less Design**: ๊ผญ ํ•„์š”ํ•œ ์ •๋ณด ๋ฌถ์Œ(๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™” ๋“ฑ)์ด ์•„๋‹ˆ๋ฉด ๋ฐ•์Šค ํ˜•ํƒœ์˜ ํ…Œ๋‘๋ฆฌ๋‚˜ ๋ฐฐ๊ฒฝ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•ฉ๋‹ˆ๋‹ค. - * **Line-based Division**: ์„น์…˜ ๊ฐ„์˜ ๊ตฌ๋ถ„์€ 1px ๋‘๊ป˜์˜ ์–‡์€ ์‹ค์„ (Border)์„ ํ†ตํ•ด ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค. - * **Table**: ๋ฐฐ๊ฒฝ์ƒ‰์ด๋‚˜ ํ™”๋ คํ•œ ํšจ๊ณผ ์—†์ด ํ–‰(Row) ๊ฐ„์˜ ์–‡์€ ๊ตฌ๋ถ„์„ ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณธ์—ฐ์— ์ง‘์ค‘ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. - * **Input/Button**: ์ž…๋ ฅ ํ•„๋“œ์™€ ๋ฒ„ํŠผ์€ ์ตœ์†Œํ•œ์˜ ๋ณด๋”์™€ ํฌ์ธํŠธ ์ปฌ๋Ÿฌ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์ •๊ฐˆํ•˜๊ฒŒ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. - * **Modal (๋ชจ๋‹ฌ ๊ณตํ†ต ๊ทœ์น™)**: - * **Header**: ์ง™์€ ๊ทธ๋ฆฐ(`#1E5149`) ๋ฐฐ๊ฒฝ์— ํ™”์ดํŠธ ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์šฐ์ธก ์ƒ๋‹จ์— ๋ช…ํ™•ํ•œ 'X' ๋‹ซ๊ธฐ ๋ฒ„ํŠผ์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. - * **Interaction**: ์‚ฌ์šฉ์ž์˜ ์˜ค์ž…๋ ฅ(์‹ค์ˆ˜๋กœ ๋ฐ”๊นฅ์„ ํด๋ฆญํ•˜์—ฌ ์ž…๋ ฅ ๋‚ด์šฉ์ด ๋‚ ์•„๊ฐ€๋Š” ํ˜„์ƒ)์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด **๋ชจ๋‹ฌ ๋ฐ”๊นฅ ์˜์—ญ(Overlay) ํด๋ฆญ ์‹œ ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ์ง€ ์•Š๋„๋ก** ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ซ๊ธฐ๋Š” ์˜ค์ง 'ESC' ํ‚ค ๋˜๋Š” ๋ช…์‹œ์ ์ธ 'X' ๋ฐ '๋‹ซ๊ธฐ' ๋ฒ„ํŠผ์„ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. - * **Layout**: `detail.png` ๊ธฐ์ค€์˜ 2์—ด ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์„ ๊ถŒ์žฅํ•˜๋ฉฐ, ํ•˜๋‹จ ์šฐ์ธก์— ์•ก์…˜ ๋ฒ„ํŠผ(๋‹ซ๊ธฐ, ์ €์žฅ ๋“ฑ)์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. diff --git a/design_rule.md b/design_rule.md new file mode 100644 index 0000000..b1b8c4e --- /dev/null +++ b/design_rule.md @@ -0,0 +1,32 @@ +# ๐ŸŽจ ITAM ์‹œ์Šคํ…œ ๋””์ž์ธ ๊ฐ€์ด๋“œ (Design Guide) + +๋ณธ ๋ฌธ์„œ๋Š” ITAM(IT Asset Management System)์˜ ์‹œ๊ฐ์  ์ผ๊ด€์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ ๋””์ž์ธ ์›์น™์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. + +--- + +### 1. ๋””์ž์ธ ์ฒ ํ•™ (Design Philosophy) +* **Minimalist & Border-based**: ๋ถˆํ•„์š”ํ•œ ๋ฐ•์Šค(Card) ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ •๋ณด์˜ ๊ตฌ๋ถ„์€ ๊ฐ„๊ฒฐํ•œ ๋ผ์ธ(Border/Divider)์„ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ์  ํ”ผ๋กœ๋„๋ฅผ ๋‚ฎ์ถฅ๋‹ˆ๋‹ค. +* **Professional Achromatic**: ๋ฌด์ฑ„์ƒ‰(Black, White, Grey)์„ ๊ธฐ๋ณธ์œผ๋กœ ํ•˜์—ฌ ์ •๋ˆ๋œ ์—…๋ฌด ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. +* **Green Accent**: ๋ธ”๋ฃจ ๋Œ€์‹  ์ง™์€ ๊ทธ๋ฆฐ(`#1E5149`)์„ ํฌ์ธํŠธ ์ปฌ๋Ÿฌ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์ฐจ๋ถ„ํ•œ ์ „๋ฌธ์„ฑ์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. + +### 2. ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ (Typography) +* **Font Family**: `Pretendard` (์ „์—ญ ์ ์šฉ) +* **Letter Spacing**: `-0.02em` (์•ฝ -2%) ์ ์šฉ. ์ž๊ฐ„์„ ์ข๊ฒŒ ์„ค์ •ํ•˜์—ฌ ๋ฐ€๋„ ์žˆ๊ณ  ์„ธ๋ จ๋œ ๊ฐ€๋…์„ฑ์„ ํ™•๋ณดํ•ฉ๋‹ˆ๋‹ค. +* **Weights**: 400(Regular), 500(Medium), 600(SemiBold), 700(Bold), 800(ExtraBold). + +### 3. ์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ (Color Palette) +* **Point Color**: `#1E5149` (Deep Green) - ๊ฐ•์กฐ, ํ™œ์„ฑํ™” ์ƒํƒœ, ์ฃผ์š” ์•ก์…˜ ๋ฒ„ํŠผ. +* **Text**: Main(`#111827` - Near Black), Muted(`#6B7280` - Grey). +* **Border/Divider**: `#E5E7EB` (Light Grey) - ์ •๋ณด ๊ตฌ๋ถ„์„ ์œ„ํ•œ ์–‡์€ ์‹ค์„ . +* **Background**: `#FFFFFF` (White) / `#F9FAFB` (Off White). + +### 4. ๋ ˆ์ด์•„์›ƒ ๋ฐ ์ปดํฌ๋„ŒํŠธ ๊ทœ์น™ (Layout Rules) +* **Box-less Design**: ๊ผญ ํ•„์š”ํ•œ ์ •๋ณด ๋ฌถ์Œ(๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™” ๋“ฑ)์ด ์•„๋‹ˆ๋ฉด ๋ฐ•์Šค ํ˜•ํƒœ์˜ ํ…Œ๋‘๋ฆฌ๋‚˜ ๋ฐฐ๊ฒฝ ์‚ฌ์šฉ์„ ์ง€์–‘ํ•ฉ๋‹ˆ๋‹ค. +* **Line-based Division**: ์„น์…˜ ๊ฐ„์˜ ๊ตฌ๋ถ„์€ 1px ๋‘๊ป˜์˜ ์–‡์€ ์‹ค์„ (Border)์„ ํ†ตํ•ด ๋ช…ํ™•ํžˆ ํ•ฉ๋‹ˆ๋‹ค. +* **Table**: ๋ฐฐ๊ฒฝ์ƒ‰์ด๋‚˜ ํ™”๋ คํ•œ ํšจ๊ณผ ์—†์ด ํ–‰(Row) ๊ฐ„์˜ ์–‡์€ ๊ตฌ๋ถ„์„ ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณธ์—ฐ์— ์ง‘์ค‘ํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. +* **Input/Button**: ์ž…๋ ฅ ํ•„๋“œ์™€ ๋ฒ„ํŠผ์€ ์ตœ์†Œํ•œ์˜ ๋ณด๋”์™€ ํฌ์ธํŠธ ์ปฌ๋Ÿฌ๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์ •๊ฐˆํ•˜๊ฒŒ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. + * **Standard Height**: ์ž…๋ ฅ์ฐฝ ๋ฐ ์„ ํƒ์ฐฝ์€ ์ „์—ญ ํ‘œ์ค€์ธ `38px`๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. +* **Modal (๋ชจ๋‹ฌ ๊ณตํ†ต ๊ทœ์น™)**: + * **Header**: ์ง™์€ ๊ทธ๋ฆฐ(`#1E5149`) ๋ฐฐ๊ฒฝ์— ํ™”์ดํŠธ ํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์šฐ์ธก ์ƒ๋‹จ์— ๋ช…ํ™•ํ•œ 'X' ๋‹ซ๊ธฐ ๋ฒ„ํŠผ์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. + * **Interaction**: ์‚ฌ์šฉ์ž์˜ ์˜ค์ž…๋ ฅ(์‹ค์ˆ˜๋กœ ๋ฐ”๊นฅ์„ ํด๋ฆญํ•˜์—ฌ ์ž…๋ ฅ ๋‚ด์šฉ์ด ๋‚ ์•„๊ฐ€๋Š” ํ˜„์ƒ)์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด **๋ชจ๋‹ฌ ๋ฐ”๊นฅ ์˜์—ญ(Overlay) ํด๋ฆญ ์‹œ ๋ชจ๋‹ฌ์ด ๋‹ซํžˆ์ง€ ์•Š๋„๋ก** ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ซ๊ธฐ๋Š” ์˜ค์ง 'ESC' ํ‚ค ๋˜๋Š” ๋ช…์‹œ์ ์ธ 'X' ๋ฐ '๋‹ซ๊ธฐ' ๋ฒ„ํŠผ์„ ํ†ตํ•ด์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. + * **Layout**: 2์—ด ๊ทธ๋ฆฌ๋“œ ์‹œ์Šคํ…œ์„ ๊ถŒ์žฅํ•˜๋ฉฐ, ํ•˜๋‹จ ์šฐ์ธก์— ์•ก์…˜ ๋ฒ„ํŠผ(๋‹ซ๊ธฐ, ์ €์žฅ ๋“ฑ)์„ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. diff --git a/image 92.png b/img/image_92.png similarity index 100% rename from image 92.png rename to img/image_92.png diff --git a/src/components/Modal/HWModal.ts b/src/components/Modal/HWModal.ts index ec3ea31..7773548 100644 --- a/src/components/Modal/HWModal.ts +++ b/src/components/Modal/HWModal.ts @@ -22,39 +22,6 @@ class HwAssetModal extends BaseModal { protected renderFrameHTML(): string { return ` -