@krds.ui/vue 0.0.18 → 0.0.19

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.
@@ -75,6 +75,173 @@ export declare type ColorVariant = 'primary' | 'secondary' | 'success' | 'warnin
75
75
  */
76
76
  declare type ColorVariant_2 = 'primary' | 'secondary' | 'gray' | 'point' | 'danger' | 'warning' | 'success' | 'information' | 'disabled';
77
77
 
78
+ declare namespace components {
79
+ export {
80
+ KrdsButton,
81
+ KrdsButtonProps,
82
+ KrdsButtonEmits,
83
+ KrdsButtonGroup,
84
+ KrdsButtonGroupProps,
85
+ KrdsIcon,
86
+ KrdsIconProps,
87
+ KrdsLink,
88
+ KrdsLinkProps,
89
+ KrdsLinkEmits,
90
+ KrdsLinkSize,
91
+ KrdsInput,
92
+ KrdsInputProps,
93
+ KrdsInputEmits,
94
+ KrdsFormLabel,
95
+ KrdsFormLabelProps,
96
+ KrdsFormLabelEmits,
97
+ KrdsFormHint,
98
+ KrdsFormHintProps,
99
+ KrdsFormHintEmits,
100
+ KrdsFormGroup,
101
+ KrdsFormGroupProps,
102
+ KrdsDateInput,
103
+ KrdsDateInputProps,
104
+ KrdsDateInputEmits,
105
+ KrdsTextarea,
106
+ KrdsTextareaProps,
107
+ KrdsTextareaEmits,
108
+ KrdsSelect,
109
+ KrdsSelectProps,
110
+ KrdsSelectEmits,
111
+ SelectOption,
112
+ KrdsFileUpload,
113
+ KrdsFileUploadProps,
114
+ KrdsFileUploadEmits,
115
+ FileInfo,
116
+ KrdsBadge,
117
+ KrdsBadgeProps,
118
+ KrdsBadgeEmits,
119
+ KrdsTag,
120
+ KrdsTagProps,
121
+ KrdsTagEmits,
122
+ KrdsTagGroup,
123
+ KrdsTagGroupProps,
124
+ KrdsTagGroupSize,
125
+ KrdsMasthead,
126
+ KrdsMastheadProps,
127
+ KrdsMastheadEmits,
128
+ KrdsToggleSwitch,
129
+ KrdsToggleSwitchProps,
130
+ KrdsToggleSwitchEmits,
131
+ KrdsCheckArea,
132
+ KrdsCheckAreaProps,
133
+ KrdsCheckbox,
134
+ KrdsCheckboxProps,
135
+ KrdsCheckboxEmits,
136
+ KrdsRadio,
137
+ KrdsRadioProps,
138
+ KrdsRadioEmits,
139
+ KrdsSpinner,
140
+ KrdsStepIndicator,
141
+ KrdsStepIndicatorProps,
142
+ KrdsStepIndicatorEmits,
143
+ KrdsStep,
144
+ KrdsStepProps,
145
+ KrdsStepEmits,
146
+ KrdsSkipLink,
147
+ KrdsSkipLinkProps,
148
+ KrdsBreadcrumb,
149
+ KrdsBreadcrumbProps,
150
+ KrdsBreadcrumbEmits,
151
+ BreadcrumbItem,
152
+ KrdsInPageNavigation,
153
+ KrdsInPageNavigationProps,
154
+ KrdsInPageNavigationEmits,
155
+ NavigationItem,
156
+ KrdsPagination,
157
+ KrdsPaginationProps,
158
+ KrdsPaginationEmits,
159
+ KrdsPanel,
160
+ KrdsPanelProps,
161
+ KrdsPanelEmits,
162
+ KrdsContextualHelp,
163
+ KrdsContextualHelpProps,
164
+ KrdsCoachMark,
165
+ KrdsCoachMarkProps,
166
+ KrdsCoachMarkEmits,
167
+ KrdsTooltip,
168
+ KrdsTooltipProps,
169
+ KrdsLanguageSwitcher,
170
+ KrdsLanguageSwitcherProps,
171
+ KrdsLanguageSwitcherEmits,
172
+ DropdownPosition,
173
+ KrdsResize,
174
+ KrdsResizeEmits,
175
+ KrdsModal,
176
+ KrdsModalProps,
177
+ KrdsModalSize,
178
+ KrdsAccordionGroup,
179
+ KrdsAccordionGroupProps,
180
+ KrdsAccordionItem,
181
+ KrdsAccordionItemProps,
182
+ KrdsAccordionItemEmits,
183
+ KrdsTts,
184
+ KrdsTtsProps,
185
+ KrdsTtsEmits,
186
+ TtsSize,
187
+ TtsIcon,
188
+ KrdsTable,
189
+ KrdsTableProps,
190
+ KrdsTableEmits,
191
+ TableColumn,
192
+ TableRow,
193
+ KrdsHeader,
194
+ KrdsHeaderProps,
195
+ KrdsFooter,
196
+ KrdsFooterProps,
197
+ KrdsDisclosure,
198
+ KrdsDisclosureProps,
199
+ KrdsDisclosureEmits,
200
+ KrdsIdentifier,
201
+ KrdsIdentifierProps,
202
+ KrdsIdentifierEmits,
203
+ KrdsLayout,
204
+ KrdsLayoutProps,
205
+ KrdsLayoutEmits,
206
+ ScrollDetails,
207
+ LayoutSize,
208
+ KrdsSideNavigation,
209
+ KrdsSideNavigationProps,
210
+ KrdsSideNavigationEmits,
211
+ SideNavItem,
212
+ SideNavSubItem,
213
+ SideNavPopupItem,
214
+ KrdsStructuredList,
215
+ KrdsStructuredListProps,
216
+ KrdsTextList,
217
+ KrdsTextListProps,
218
+ KrdsCriticalAlerts,
219
+ KrdsCriticalAlertsProps,
220
+ KrdsCriticalAlertsEmits,
221
+ AlertType,
222
+ KrdsMainMenu,
223
+ KrdsMainMenuProps,
224
+ KrdsMainMenuEmits,
225
+ MainMenuItem,
226
+ MainMenuSubItem,
227
+ MainMenuLinkItem,
228
+ MainMenuDepth4Item,
229
+ MainMenuAnyItem,
230
+ MainMenuVariant,
231
+ MainMenuLayout,
232
+ KrdsCarousel,
233
+ KrdsCarouselProps,
234
+ KrdsCarouselEmits,
235
+ KrdsCarouselVariant,
236
+ KrdsCarouselPaginationType,
237
+ KrdsTabs,
238
+ KrdsTabsProps,
239
+ KrdsTabsEmits,
240
+ KrdsTabItem,
241
+ KrdsTabsVariant
242
+ }
243
+ }
244
+
78
245
  /**
79
246
  * 컴포넌트 슬롯 타입
80
247
  */
@@ -1112,6 +1279,9 @@ export declare type KrdsComponent<Props = object, Slots = object, Emits = object
1112
1279
  __krdsEmits: Emits;
1113
1280
  };
1114
1281
 
1282
+ /** 전역 등록 가능한 컴포넌트 이름 */
1283
+ export declare type KrdsComponentName = keyof typeof components;
1284
+
1115
1285
  export declare const KrdsContextualHelp: DefineComponent<ExtractPropTypes<{
1116
1286
  /** 툴팁 제목 */
1117
1287
  tooltipTitle: {
@@ -4784,15 +4954,15 @@ export declare interface KrdsTtsProps extends BaseComponentProps {
4784
4954
  /**
4785
4955
  * KRDS Vue 플러그인
4786
4956
  */
4787
- declare const KrdsVue: Plugin_2;
4957
+ declare const KrdsVue: Plugin_2<[KrdsVueOptions?]>;
4788
4958
  export default KrdsVue;
4789
4959
 
4790
4960
  /**
4791
4961
  * KRDS Vue 플러그인 설정 옵션
4792
4962
  */
4793
4963
  export declare interface KrdsVueOptions {
4794
- /** 설치할 컴포넌트 목록 (비어있으면 전체 설치) */
4795
- components?: string[];
4964
+ /** 설치할 컴포넌트 목록 (비어있으면 전체 설치). 이름은 자동완성되며 임의 문자열도 허용 */
4965
+ components?: (KrdsComponentName | (string & {}))[];
4796
4966
  }
4797
4967
 
4798
4968
  declare type LanguageData = {
@@ -5102,17 +5272,3 @@ export declare type Variant = 'primary' | 'secondary' | 'tertiary';
5102
5272
  export declare const version: string;
5103
5273
 
5104
5274
  export { }
5105
-
5106
- /**
5107
- * KRDS Vue 디렉티브 타입 정의
5108
- */
5109
-
5110
- declare module '@vue/runtime-core' {
5111
- interface ComponentCustomProperties {
5112
- /**
5113
- * 스크린 리더 전용 텍스트 디렉티브
5114
- * 요소에 .sr-only 클래스를 추가하여 시각적으로는 숨기지만 스크린 리더에서는 읽을 수 있도록 합니다.
5115
- */
5116
- vSrOnly: never
5117
- }
5118
- }
package/global.d.ts ADDED
@@ -0,0 +1,22 @@
1
+ /**
2
+ * app.use(KrdsVue)로 전역 등록되는 컴포넌트·디렉티브·전역 속성 타입
3
+ *
4
+ * 사용: tsconfig.json의 compilerOptions.types에 "@krds.ui/vue/global" 추가
5
+ */
6
+ import type { Directive } from 'vue'
7
+ import type * as Krds from '@krds.ui/vue'
8
+
9
+ declare module 'vue' {
10
+ export interface GlobalComponents extends Pick<typeof Krds, Krds.KrdsComponentName> {}
11
+
12
+ export interface GlobalDirectives {
13
+ /** 스크린 리더 전용 텍스트 (.sr-only 클래스 추가) */
14
+ vSrOnly: Directive<HTMLElement, boolean | undefined>
15
+ }
16
+
17
+ export interface ComponentCustomProperties {
18
+ $krds: { version: string }
19
+ }
20
+ }
21
+
22
+ export {}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@krds.ui/vue",
3
- "version": "0.0.18",
3
+ "version": "0.0.19",
4
4
  "description": "KRDS Vue Design System - 한국 정부 디자인 시스템 Vue 컴포넌트 라이브러리",
5
5
  "keywords": [
6
6
  "krds",
@@ -32,6 +32,9 @@
32
32
  "types": "./dist/types/index.d.ts",
33
33
  "import": "./dist/krds-vue.es.js"
34
34
  },
35
+ "./global": {
36
+ "types": "./global.d.ts"
37
+ },
35
38
  "./dist/style.css": "./dist/style.css",
36
39
  "./style": "./dist/style.css",
37
40
  "./package.json": "./package.json"
@@ -40,13 +43,13 @@
40
43
  "**/*.css"
41
44
  ],
42
45
  "files": [
43
- "dist"
46
+ "dist",
47
+ "global.d.ts"
44
48
  ],
45
49
  "peerDependencies": {
46
50
  "vue": "^3.5.0"
47
51
  },
48
52
  "devDependencies": {
49
- "@eslint/js": "^10.0.1",
50
53
  "@microsoft/api-extractor": "^7.58.12",
51
54
  "@size-limit/file": "^14.0.0",
52
55
  "@storybook/addon-a11y": "^10.6.1",
@@ -55,28 +58,23 @@
55
58
  "@storybook/vue3-vite": "^10.6.1",
56
59
  "@tsconfig/node24": "^24.0.4",
57
60
  "@types/node": "^26.2.0",
58
- "@typescript-eslint/parser": "^8.67.0",
59
61
  "@vitejs/plugin-vue": "^6.0.8",
60
62
  "@vitest/browser": "^4.1.10",
61
63
  "@vitest/browser-playwright": "^4.1.10",
62
64
  "@vitest/coverage-v8": "^4.1.10",
63
- "@vue/eslint-config-prettier": "^10.2.0",
64
- "@vue/eslint-config-typescript": "^14.9.0",
65
- "eslint": "^10.8.1",
66
- "eslint-plugin-vue": "^10.10.0",
65
+ "oxfmt": "^0.71.0",
66
+ "oxlint": "^1.86.0",
67
67
  "playwright": "^1.62.1",
68
- "prettier": "^3.9.6",
69
68
  "sass": "^1.102.0",
70
69
  "size-limit": "^14.0.0",
71
70
  "source-map-explorer": "^2.5.3",
72
71
  "storybook": "^10.6.1",
73
72
  "typescript": "6.0.3",
73
+ "typescript7": "npm:typescript@^7.0.2",
74
74
  "vite": "^8.2.1",
75
75
  "vite-plugin-dts": "^5.0.3",
76
76
  "vitest": "^4.1.10",
77
- "vue": "^3.5.41",
78
- "vue-eslint-parser": "^10.4.1",
79
- "vue-tsc": "^3.3.9"
77
+ "vue": "^3.5.41"
80
78
  },
81
79
  "publishConfig": {
82
80
  "access": "public",
@@ -103,9 +101,9 @@
103
101
  "preview": "vite preview",
104
102
  "test": "vitest",
105
103
  "test:coverage": "vitest --coverage",
106
- "type-check": "vue-tsc --noEmit",
107
- "lint": "eslint . --fix",
108
- "format": "prettier --write src/",
104
+ "type-check": "node node_modules/typescript7/bin/tsc --noEmit",
105
+ "lint": "oxlint",
106
+ "format": "oxfmt",
109
107
  "storybook": "storybook dev -p 6006",
110
108
  "build-storybook": "storybook build && node scripts/storybook-seo.mjs",
111
109
  "bundle-size": "size-limit"