@krds.ui/angular 0.0.0-stage → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +84 -2
- package/fesm2022/krds.ui-angular.mjs +11456 -0
- package/fesm2022/krds.ui-angular.mjs.map +1 -0
- package/fonts/PretendardGOV-Bold.subset.woff2 +0 -0
- package/fonts/PretendardGOV-Medium.subset.woff2 +0 -0
- package/fonts/PretendardGOV-Regular.subset.woff2 +0 -0
- package/img/component/icon/head_ico_font_sample.svg +3 -0
- package/img/component/icon/head_ico_font_sample_white.svg +3 -0
- package/img/component/icon/ico_all.svg +3 -0
- package/img/component/icon/ico_angle.svg +3 -0
- package/img/component/icon/ico_angle_disabled.svg +3 -0
- package/img/component/icon/ico_angle_disabled_inverse.svg +3 -0
- package/img/component/icon/ico_angle_inverse.svg +3 -0
- package/img/component/icon/ico_arrow_dropdown.svg +3 -0
- package/img/component/icon/ico_blog.svg +6 -0
- package/img/component/icon/ico_bread_home.svg +3 -0
- package/img/component/icon/ico_calendar.svg +3 -0
- package/img/component/icon/ico_call.svg +3 -0
- package/img/component/icon/ico_checkbox.svg +5 -0
- package/img/component/icon/ico_checkbox_checked.svg +5 -0
- package/img/component/icon/ico_close.svg +3 -0
- package/img/component/icon/ico_complete_fill.svg +4 -0
- package/img/component/icon/ico_delete.svg +3 -0
- package/img/component/icon/ico_delete_fill.svg +4 -0
- package/img/component/icon/ico_download.svg +3 -0
- package/img/component/icon/ico_ellipsis.svg +3 -0
- package/img/component/icon/ico_email.svg +3 -0
- package/img/component/icon/ico_error_fill.svg +4 -0
- package/img/component/icon/ico_expand.svg +3 -0
- package/img/component/icon/ico_facebook.svg +3 -0
- package/img/component/icon/ico_faq.svg +3 -0
- package/img/component/icon/ico_file.svg +3 -0
- package/img/component/icon/ico_file_figma.svg +13 -0
- package/img/component/icon/ico_file_html.svg +13 -0
- package/img/component/icon/ico_file_hwp.svg +13 -0
- package/img/component/icon/ico_file_pdf.svg +13 -0
- package/img/component/icon/ico_file_sketch.svg +13 -0
- package/img/component/icon/ico_file_xd.svg +16 -0
- package/img/component/icon/ico_filter.svg +5 -0
- package/img/component/icon/ico_flag.svg +29 -0
- package/img/component/icon/ico_flow_arrow.svg +3 -0
- package/img/component/icon/ico_foldable.svg +3 -0
- package/img/component/icon/ico_global.svg +3 -0
- package/img/component/icon/ico_go.svg +3 -0
- package/img/component/icon/ico_go_top.svg +5 -0
- package/img/component/icon/ico_help.svg +4 -0
- package/img/component/icon/ico_help_fill.svg +4 -0
- package/img/component/icon/ico_information.svg +5 -0
- package/img/component/icon/ico_information_fill.svg +4 -0
- package/img/component/icon/ico_information_fill_high_contrast.svg +5 -0
- package/img/component/icon/ico_instagram.svg +3 -0
- package/img/component/icon/ico_join.svg +3 -0
- package/img/component/icon/ico_like.svg +3 -0
- package/img/component/icon/ico_login.svg +3 -0
- package/img/component/icon/ico_login_certify_go.svg +4 -0
- package/img/component/icon/ico_login_certify_type_01.svg +3 -0
- package/img/component/icon/ico_login_certify_type_02.svg +3 -0
- package/img/component/icon/ico_login_certify_type_03.svg +3 -0
- package/img/component/icon/ico_login_certify_type_04.svg +5 -0
- package/img/component/icon/ico_login_certify_type_05.svg +3 -0
- package/img/component/icon/ico_login_certify_type_06.svg +3 -0
- package/img/component/icon/ico_logo_krds.svg +10 -0
- package/img/component/icon/ico_logo_krds_high_contrast.svg +10 -0
- package/img/component/icon/ico_logout.svg +3 -0
- package/img/component/icon/ico_minus.svg +3 -0
- package/img/component/icon/ico_more.svg +3 -0
- package/img/component/icon/ico_my.svg +3 -0
- package/img/component/icon/ico_notice_fill.svg +5 -0
- package/img/component/icon/ico_notice_fill_blue.svg +5 -0
- package/img/component/icon/ico_notice_fill_high_contrast.svg +5 -0
- package/img/component/icon/ico_play.svg +3 -0
- package/img/component/icon/ico_plus.svg +3 -0
- package/img/component/icon/ico_print.svg +3 -0
- package/img/component/icon/ico_pw_visible_off.svg +3 -0
- package/img/component/icon/ico_pw_visible_on.svg +5 -0
- package/img/component/icon/ico_reset.svg +3 -0
- package/img/component/icon/ico_sch.svg +3 -0
- package/img/component/icon/ico_sch_plus.svg +3 -0
- package/img/component/icon/ico_scrap.svg +3 -0
- package/img/component/icon/ico_setting.svg +3 -0
- package/img/component/icon/ico_share.svg +3 -0
- package/img/component/icon/ico_sns_x.svg +3 -0
- package/img/component/icon/ico_step_done.svg +3 -0
- package/img/component/icon/ico_stop.svg +3 -0
- package/img/component/icon/ico_success_fill.svg +4 -0
- package/img/component/icon/ico_swiper_play.svg +3 -0
- package/img/component/icon/ico_swiper_stop.svg +3 -0
- package/img/component/icon/ico_switch_off.svg +6 -0
- package/img/component/icon/ico_switch_on.svg +5 -0
- package/img/component/icon/ico_tooltip.svg +3 -0
- package/img/component/icon/ico_upload.svg +3 -0
- package/img/component/icon/ico_urgent_badge_danger.svg +5 -0
- package/img/component/icon/ico_urgent_badge_info.svg +7 -0
- package/img/component/icon/ico_urgent_badge_ok.svg +5 -0
- package/img/component/icon/ico_view_mode.svg +3 -0
- package/img/component/icon/ico_volume.svg +3 -0
- package/img/component/icon/ico_warning_fill.svg +9 -0
- package/img/component/icon/ico_youtube.svg +3 -0
- package/package.json +51 -3
- package/style.css +1 -0
- package/types/krds.ui-angular.d.ts +3088 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Initializer Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,85 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://angular.krds.initializer.org/">
|
|
3
|
+
<img src="./.github/assets/banner.jpg" alt="KRDS Angular" />
|
|
4
|
+
</a>
|
|
5
|
+
</p>
|
|
2
6
|
|
|
3
|
-
|
|
7
|
+
<div align="center">
|
|
8
|
+
|
|
9
|
+
[](https://github.com/Initializer-org/krds-angular/actions/workflows/ci.yml)
|
|
10
|
+
[](https://angular.dev/)
|
|
11
|
+
[](https://github.com/KRDS-uiux/krds-uiux)
|
|
12
|
+
[](https://opensource.org/licenses/MIT)
|
|
13
|
+
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<hr />
|
|
17
|
+
<div align="center">
|
|
18
|
+
|
|
19
|
+
<a href="https://angular.krds.initializer.org/">문서</a>
|
|
20
|
+
<span> • </span>
|
|
21
|
+
<a href="https://angular.krds.initializer.org/guide/getting-started">시작하기</a>
|
|
22
|
+
<span> • </span>
|
|
23
|
+
<a href="https://angular.krds.initializer.org/components/">컴포넌트</a>
|
|
24
|
+
|
|
25
|
+
</div>
|
|
26
|
+
<hr />
|
|
27
|
+
|
|
28
|
+
## KRDS Angular: 대한민국 정부 디자인 시스템을 Angular로
|
|
29
|
+
|
|
30
|
+
[KRDS(대한민국 정부 디자인 시스템)](https://www.krds.go.kr/html/site/index.html)를 Angular + TypeScript로 구현한 컴포넌트 라이브러리입니다. 공공 웹서비스에서 반복되는 폼, 내비게이션, 레이아웃, 피드백 UI를 KRDS 원본과 같은 모습과 동작으로 제공합니다.
|
|
31
|
+
|
|
32
|
+
- **KRDS 원본 그대로.** KRDS 원본 v1.1.0의 마크업·클래스·키보드 동작을 따르고, [KRDS Vue](https://github.com/Initializer-org/krds-vue)와 같은 스타일을 씁니다. [공식 컴포넌트 목록](https://www.krds.go.kr/html/site/component/component_summary.html)의 분류를 모두 옮겼습니다(스플래시 스크린은 각 플랫폼의 기본 기능 영역이라 제외).
|
|
33
|
+
- **접근성 자동 검사.** 모든 컴포넌트 테스트와 문서 예제가 실제 브라우저에서 axe-core 접근성 검사를 실행하고, 위반이 있으면 CI가 실패합니다. 고대비 모드를 지원합니다.
|
|
34
|
+
- **Angular 방식 그대로.** standalone 컴포넌트·디렉티브와 signal 입력으로 만들었고 zoneless로 동작합니다. 폼은 기본 입력 요소에 디렉티브를 붙이는 방식이라 `[(ngModel)]`, reactive forms, Signal Forms가 그대로 동작합니다.
|
|
35
|
+
|
|
36
|
+
> 초기 개발 단계입니다. 아직 npm에 배포하지 않았습니다.
|
|
37
|
+
|
|
38
|
+
## 빠른 시작
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pnpm add @krds.ui/angular
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`angular.json`의 `styles`에 스타일시트를 추가합니다.
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
"styles": ["@krds.ui/angular/style.css"]
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
```ts
|
|
51
|
+
import { Component } from '@angular/core'
|
|
52
|
+
import { KrdsButton } from '@krds.ui/angular'
|
|
53
|
+
|
|
54
|
+
@Component({
|
|
55
|
+
selector: 'app-root',
|
|
56
|
+
imports: [KrdsButton],
|
|
57
|
+
template: `<button krdsButton variant="secondary" size="large">확인</button>`
|
|
58
|
+
})
|
|
59
|
+
export class App {}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Angular 20·21·22를 지원합니다(Signal Forms는 Angular 21부터). 번들 예산, 작성 방식, 폼, 고대비 모드는 [시작하기](https://angular.krds.initializer.org/guide/getting-started)를 참고하세요.
|
|
63
|
+
|
|
64
|
+
## 접근성
|
|
65
|
+
|
|
66
|
+
라이브러리 차원의 자동 검사는 KWCAG/WCAG 적합성 평가를 대체하지 않습니다. 서비스 전체의 접근성 준수는 사용처에서 별도로 검증해야 합니다.
|
|
67
|
+
|
|
68
|
+
## 기여하기
|
|
69
|
+
|
|
70
|
+
**버그와 기능 요청**은 [이슈](https://github.com/Initializer-org/krds-angular/issues)로 남겨 주세요. 큰 변경은 이슈에서 먼저 논의해 주세요.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
pnpm install
|
|
74
|
+
pnpm test # 실제 브라우저(Chromium)에서 단위 테스트와 axe-core 접근성 검사 (처음 한 번 pnpm exec playwright install chromium)
|
|
75
|
+
pnpm build # dist/krds-angular에 패키지 생성
|
|
76
|
+
pnpm lint
|
|
77
|
+
pnpm format
|
|
78
|
+
pnpm docs:dev # 문서 사이트(VitePress) 개발 서버, 예제는 docs/components/demos/*.ts
|
|
79
|
+
pnpm docs:check # 문서 예제 템플릿 타입 검사 (ngc)
|
|
80
|
+
pnpm docs:build && pnpm docs:test # 문서 빌드 후 모든 페이지의 예제 렌더링·axe-core 검사
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## 라이선스
|
|
84
|
+
|
|
85
|
+
MIT © [Initializer Team](https://github.com/Initializer-org)
|