@nexus-cross/design-system 1.0.1 → 1.0.2

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.
Files changed (74) hide show
  1. package/cursor-rules/nexus-project-setup.mdc +150 -150
  2. package/cursor-rules/nexus-ui-api.mdc +659 -316
  3. package/cursor-rules/nexus-ui-components.mdc +162 -96
  4. package/dist/chunks/chunk-55IEEVNR.js +7 -0
  5. package/dist/chunks/{chunk-5JHN4FCY.mjs → chunk-K2TBLM3F.mjs} +1 -4
  6. package/dist/chunks/{chunk-MTX7GD3H.js → chunk-PEIEVKD5.js} +1 -4
  7. package/dist/chunks/chunk-XMG7ZEYY.mjs +5 -0
  8. package/dist/data-list.js +2 -2
  9. package/dist/data-list.mjs +1 -1
  10. package/dist/error-boundary.d.mts +1 -1
  11. package/dist/error-boundary.d.ts +1 -1
  12. package/dist/index.js +2 -2
  13. package/dist/index.mjs +1 -1
  14. package/dist/schemas/_all.json +480 -480
  15. package/dist/schemas/accordion.json +12 -12
  16. package/dist/schemas/avatar.json +9 -9
  17. package/dist/schemas/button.json +13 -13
  18. package/dist/schemas/carousel.json +6 -6
  19. package/dist/schemas/carouselButton.json +3 -3
  20. package/dist/schemas/carouselDots.json +2 -2
  21. package/dist/schemas/carouselSlide.json +3 -3
  22. package/dist/schemas/checkBox.json +15 -15
  23. package/dist/schemas/chip.json +9 -9
  24. package/dist/schemas/clientOnly.json +3 -3
  25. package/dist/schemas/countdown.json +8 -8
  26. package/dist/schemas/counter.json +11 -11
  27. package/dist/schemas/dataList.json +10 -10
  28. package/dist/schemas/divider.json +6 -6
  29. package/dist/schemas/drawer.json +8 -8
  30. package/dist/schemas/drawerClose.json +4 -4
  31. package/dist/schemas/drawerContent.json +7 -7
  32. package/dist/schemas/drawerDescription.json +3 -3
  33. package/dist/schemas/drawerTitle.json +3 -3
  34. package/dist/schemas/drawerTrigger.json +4 -4
  35. package/dist/schemas/ellipsis.json +9 -9
  36. package/dist/schemas/errorBoundary.json +4 -4
  37. package/dist/schemas/infiniteScroll.json +12 -12
  38. package/dist/schemas/marquee.json +8 -8
  39. package/dist/schemas/modalCall.json +20 -20
  40. package/dist/schemas/modalTemplate.json +26 -26
  41. package/dist/schemas/numberInput.json +19 -19
  42. package/dist/schemas/pagination.json +8 -8
  43. package/dist/schemas/popover.json +12 -12
  44. package/dist/schemas/radioGroup.json +12 -12
  45. package/dist/schemas/radioItem.json +7 -7
  46. package/dist/schemas/select.json +11 -11
  47. package/dist/schemas/selectItem.json +5 -5
  48. package/dist/schemas/skeleton.json +8 -8
  49. package/dist/schemas/spinner.json +6 -6
  50. package/dist/schemas/switch.json +10 -10
  51. package/dist/schemas/tab.json +15 -15
  52. package/dist/schemas/table.json +14 -14
  53. package/dist/schemas/tableRow.json +5 -5
  54. package/dist/schemas/tdColumn.json +17 -17
  55. package/dist/schemas/textArea.json +18 -18
  56. package/dist/schemas/textInput.json +25 -25
  57. package/dist/schemas/themeProvider.json +10 -10
  58. package/dist/schemas/toastOptions.json +17 -17
  59. package/dist/schemas/toaster.json +12 -12
  60. package/dist/schemas/tooltip.json +10 -10
  61. package/dist/schemas/virtualGrid.json +11 -11
  62. package/dist/schemas/virtualList.json +10 -10
  63. package/dist/schemas.js +475 -475
  64. package/dist/schemas.mjs +475 -475
  65. package/dist/styles/layer.js +2 -2
  66. package/dist/styles/layer.mjs +1 -1
  67. package/dist/styles.css +28 -15
  68. package/dist/styles.js +2 -2
  69. package/dist/styles.layered.css +28 -15
  70. package/dist/styles.mjs +1 -1
  71. package/package.json +8 -6
  72. package/scripts/setup-cursor-rules.cjs +6 -6
  73. package/dist/chunks/chunk-GMGG4VZM.mjs +0 -5
  74. package/dist/chunks/chunk-N75GAGAG.js +0 -7
@@ -5,10 +5,10 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "title": {
8
- "description": "헤더 제목 (ReactNode)"
8
+ "description": "Header title (ReactNode)"
9
9
  },
10
10
  "desc": {
11
- "description": "헤더 설명 (ReactNode)"
11
+ "description": "Header description (ReactNode)"
12
12
  },
13
13
  "layout": {
14
14
  "type": "string",
@@ -22,104 +22,104 @@
22
22
  "draggable"
23
23
  ],
24
24
  "default": "default",
25
- "description": "레이아웃"
25
+ "description": "Layout"
26
26
  },
27
27
  "showDim": {
28
28
  "type": "boolean",
29
29
  "default": true,
30
- "description": " 배경 표시"
30
+ "description": "Show dim overlay"
31
31
  },
32
32
  "dimClose": {
33
33
  "type": "boolean",
34
34
  "default": true,
35
- "description": " 클릭 닫기"
35
+ "description": "Close on dim click"
36
36
  },
37
37
  "hideHeader": {
38
38
  "type": "boolean",
39
39
  "default": false,
40
- "description": "헤더 숨김"
40
+ "description": "Hide header"
41
41
  },
42
42
  "hideFooter": {
43
43
  "type": "boolean",
44
44
  "default": true,
45
- "description": "푸터 숨김"
45
+ "description": "Hide footer"
46
46
  },
47
47
  "footer": {
48
- "description": "커스텀 푸터 (ReactElement)"
48
+ "description": "Custom footer (ReactElement)"
49
49
  },
50
50
  "animation": {
51
51
  "type": "object",
52
52
  "properties": {
53
53
  "name": {
54
54
  "type": "string",
55
- "description": "애니메이션 이름"
55
+ "description": "Animation name"
56
56
  },
57
57
  "mobile": {
58
58
  "type": "string",
59
- "description": "모바일용 애니메이션 이름"
59
+ "description": "Mobile animation name"
60
60
  },
61
61
  "delay": {
62
62
  "type": "number",
63
- "description": "지연 (ms)"
63
+ "description": "Delay (ms)"
64
64
  },
65
65
  "duration": {
66
66
  "type": "number",
67
- "description": "지속 시간 (ms)"
67
+ "description": "Duration (ms)"
68
68
  },
69
69
  "timingFunc": {
70
70
  "type": "string",
71
- "description": "타이밍 함수"
71
+ "description": "Timing function"
72
72
  },
73
73
  "leaveTimingFunc": {
74
74
  "type": "string",
75
- "description": "퇴장 타이밍 함수"
75
+ "description": "Exit timing function"
76
76
  }
77
77
  },
78
78
  "additionalProperties": false,
79
- "description": "모달 애니메이션"
79
+ "description": "Modal animation"
80
80
  },
81
81
  "enableDrag": {
82
82
  "type": "boolean",
83
83
  "default": true,
84
- "description": "드래그 활성화 (바텀시트·드래그 가능 레이아웃)"
84
+ "description": "Enable drag (bottom-sheet/draggable layouts)"
85
85
  },
86
86
  "dragPersistKey": {
87
87
  "type": "string",
88
- "description": "드래그 위치 저장 "
88
+ "description": "Drag position persistence key"
89
89
  },
90
90
  "close": {
91
- "description": "모달 닫기 함수 (isAnimation?: boolean) => void (자동 주입)"
91
+ "description": "Modal close function (isAnimation?: boolean) => void (auto-injected)"
92
92
  },
93
93
  "children": {
94
- "description": "모달 본문 (ReactNode, 필수)"
94
+ "description": "Modal body (ReactNode, required)"
95
95
  },
96
96
  "className": {
97
97
  "type": "string",
98
- "description": "루트 래퍼 스타일"
98
+ "description": "Root wrapper style"
99
99
  },
100
100
  "innerClassName": {
101
101
  "type": "string",
102
- "description": "모달 본체 스타일"
102
+ "description": "Modal body style"
103
103
  },
104
104
  "bodyClassName": {
105
105
  "type": "string",
106
- "description": "바디 영역 스타일"
106
+ "description": "Body area style"
107
107
  },
108
108
  "footerClassName": {
109
109
  "type": "string",
110
- "description": "푸터 영역 스타일"
110
+ "description": "Footer area style"
111
111
  },
112
112
  "dimClassName": {
113
113
  "type": "string",
114
- "description": " 배경 스타일"
114
+ "description": "Dim overlay style"
115
115
  },
116
116
  "headerClassName": {
117
117
  "type": "string",
118
- "description": "헤더 영역 스타일"
118
+ "description": "Header area style"
119
119
  }
120
120
  },
121
121
  "additionalProperties": false,
122
- "description": "모달 템플릿. 모든 모달 컴포넌트는 반드시 ModalTemplate으로 감싸야 한다."
122
+ "description": "Modal template. All modal components must be wrapped with ModalTemplate."
123
123
  }
124
124
  },
125
125
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -9,7 +9,7 @@
9
9
  "number",
10
10
  "string"
11
11
  ],
12
- "description": "현재 "
12
+ "description": "Current value"
13
13
  },
14
14
  "size": {
15
15
  "type": "string",
@@ -20,75 +20,75 @@
20
20
  "xl"
21
21
  ],
22
22
  "default": "md",
23
- "description": "크기"
23
+ "description": "Size"
24
24
  },
25
25
  "error": {
26
26
  "type": "boolean",
27
- "description": "에러 상태"
27
+ "description": "Error state"
28
28
  },
29
29
  "min": {
30
30
  "type": "number",
31
- "description": "최소값"
31
+ "description": "Minimum value"
32
32
  },
33
33
  "max": {
34
34
  "type": "number",
35
- "description": "최대값"
35
+ "description": "Maximum value"
36
36
  },
37
37
  "step": {
38
38
  "type": "number",
39
39
  "default": 1,
40
- "description": "증감 단위"
40
+ "description": "Step increment"
41
41
  },
42
42
  "digit": {
43
43
  "type": "number",
44
44
  "default": 0,
45
- "description": "소수 자릿수"
45
+ "description": "Decimal places"
46
46
  },
47
47
  "hideButtons": {
48
48
  "type": "boolean",
49
49
  "default": false,
50
- "description": "기본 스핀 버튼 숨김. numberInputBind 외부 버튼에 이벤트 부착 시 사용"
50
+ "description": "Hide default spin buttons. Use with numberInputBind for external button event binding"
51
51
  },
52
52
  "disabled": {
53
53
  "type": "boolean",
54
- "description": "비활성"
54
+ "description": "Disabled"
55
55
  },
56
56
  "readOnly": {
57
57
  "type": "boolean",
58
- "description": "읽기 전용 (스핀 버튼 숨김 동작 포함)"
58
+ "description": "Read-only (includes hiding spin buttons)"
59
59
  },
60
60
  "placeholder": {
61
61
  "type": "string",
62
- "description": "플레이스홀더"
62
+ "description": "Placeholder"
63
63
  },
64
64
  "name": {
65
65
  "type": "string",
66
- "description": "form 필드명"
66
+ "description": "Form field name"
67
67
  },
68
68
  "id": {
69
69
  "type": "string",
70
- "description": "요소 ID"
70
+ "description": "Element ID"
71
71
  },
72
72
  "autoFocus": {
73
73
  "type": "boolean",
74
- "description": "자동 포커스"
74
+ "description": "Auto focus"
75
75
  },
76
76
  "onValueChange": {
77
- "description": " 변경 콜백 (value: number | undefined) => void"
77
+ "description": "Value change callback (value: number | undefined) => void"
78
78
  },
79
79
  "onBlur": {
80
- "description": "포커스 해제 콜백"
80
+ "description": "Blur callback"
81
81
  },
82
82
  "onFocus": {
83
- "description": "포커스 콜백"
83
+ "description": "Focus callback"
84
84
  },
85
85
  "className": {
86
86
  "type": "string",
87
- "description": "스타일 오버라이드"
87
+ "description": "Style override"
88
88
  }
89
89
  },
90
90
  "additionalProperties": false,
91
- "description": "숫자 입력. 누르면 가속 증감. ref로 increment/decrement 메서드 노출. numberInputBind(ref, direction) 함수로 외부 버튼에 동일한 가속 이벤트 바인딩 가능."
91
+ "description": "Number input. Accelerated increment on long press. Exposes increment/decrement methods via ref. numberInputBind(ref, direction) binds same acceleration to external buttons."
92
92
  }
93
93
  },
94
94
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6,20 +6,20 @@
6
6
  "properties": {
7
7
  "currentPage": {
8
8
  "type": "number",
9
- "description": "현재 페이지 (1부터, 필수)"
9
+ "description": "Current page (1-based, required)"
10
10
  },
11
11
  "totalPages": {
12
12
  "type": "number",
13
- "description": "전체 페이지 (필수)"
13
+ "description": "Total page count (required)"
14
14
  },
15
15
  "siblingCount": {
16
16
  "type": "number",
17
17
  "default": 1,
18
- "description": "현재 페이지 양옆 표시 개수"
18
+ "description": "Number of pages shown on each side of current"
19
19
  },
20
20
  "showEdges": {
21
21
  "type": "boolean",
22
- "description": "첫/끝 페이지 항상 표시"
22
+ "description": "Always show first/last page"
23
23
  },
24
24
  "size": {
25
25
  "type": "string",
@@ -28,14 +28,14 @@
28
28
  "md"
29
29
  ],
30
30
  "default": "md",
31
- "description": "크기"
31
+ "description": "Size"
32
32
  },
33
33
  "onPageChange": {
34
- "description": "페이지 변경 콜백 (page: number) => void, 필수"
34
+ "description": "Page change callback (page: number) => void, required"
35
35
  },
36
36
  "className": {
37
37
  "type": "string",
38
- "description": "<nav> 스타일"
38
+ "description": "<nav> style"
39
39
  }
40
40
  },
41
41
  "required": [
@@ -43,7 +43,7 @@
43
43
  "totalPages"
44
44
  ],
45
45
  "additionalProperties": false,
46
- "description": "페이지네이션. 이전/다음 + 번호 버튼."
46
+ "description": "Pagination. Previous/next + page number buttons."
47
47
  }
48
48
  },
49
49
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -5,7 +5,7 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "trigger": {
8
- "description": "트리거 요소 (ReactNode, 필수)"
8
+ "description": "Trigger element (ReactNode, required)"
9
9
  },
10
10
  "side": {
11
11
  "type": "string",
@@ -16,7 +16,7 @@
16
16
  "left"
17
17
  ],
18
18
  "default": "bottom",
19
- "description": "위치"
19
+ "description": "Position"
20
20
  },
21
21
  "align": {
22
22
  "type": "string",
@@ -26,41 +26,41 @@
26
26
  "end"
27
27
  ],
28
28
  "default": "center",
29
- "description": "정렬"
29
+ "description": "Alignment"
30
30
  },
31
31
  "sideOffset": {
32
32
  "type": "number",
33
33
  "default": 4,
34
- "description": "위치 오프셋 (px)"
34
+ "description": "Position offset (px)"
35
35
  },
36
36
  "alignOffset": {
37
37
  "type": "number",
38
- "description": "정렬 오프셋 (px)"
38
+ "description": "Alignment offset (px)"
39
39
  },
40
40
  "open": {
41
41
  "type": "boolean",
42
- "description": "제어 모드"
42
+ "description": "Controlled mode"
43
43
  },
44
44
  "onOpenChange": {
45
- "description": "열림/닫힘 상태 변경 콜백 (open: boolean) => void"
45
+ "description": "Open/close state change callback (open: boolean) => void"
46
46
  },
47
47
  "onClickTrigger": {
48
- "description": "트리거 요소 클릭 호출되는 콜백. PopoverPrimitive.Trigger onClick에 전달됨."
48
+ "description": "Callback on trigger element click. Passed to PopoverPrimitive.Trigger onClick."
49
49
  },
50
50
  "children": {
51
- "description": "팝오버 본문 (ReactNode)"
51
+ "description": "Popover body (ReactNode)"
52
52
  },
53
53
  "className": {
54
54
  "type": "string",
55
- "description": "Content 스타일"
55
+ "description": "Content style"
56
56
  },
57
57
  "arrowClassName": {
58
58
  "type": "string",
59
- "description": "Arrow 스타일"
59
+ "description": "Arrow style"
60
60
  }
61
61
  },
62
62
  "additionalProperties": false,
63
- "description": "팝오버. Radix Popover 기반."
63
+ "description": "Popover. Based on Radix Popover."
64
64
  }
65
65
  },
66
66
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6,15 +6,15 @@
6
6
  "properties": {
7
7
  "name": {
8
8
  "type": "string",
9
- "description": "form name (필수)"
9
+ "description": "Form name (required)"
10
10
  },
11
11
  "value": {
12
12
  "type": "string",
13
- "description": "선택된 (제어)"
13
+ "description": "Selected value (controlled)"
14
14
  },
15
15
  "defaultValue": {
16
16
  "type": "string",
17
- "description": "초기값 (비제어)"
17
+ "description": "Initial value (uncontrolled)"
18
18
  },
19
19
  "size": {
20
20
  "type": "string",
@@ -23,7 +23,7 @@
23
23
  "md"
24
24
  ],
25
25
  "default": "md",
26
- "description": "크기"
26
+ "description": "Size"
27
27
  },
28
28
  "orientation": {
29
29
  "type": "string",
@@ -32,36 +32,36 @@
32
32
  "vertical"
33
33
  ],
34
34
  "default": "vertical",
35
- "description": "배치 방향"
35
+ "description": "Layout direction"
36
36
  },
37
37
  "disabled": {
38
38
  "type": "boolean",
39
- "description": "비활성"
39
+ "description": "Disabled"
40
40
  },
41
41
  "children": {
42
- "description": "RadioItem 목록 (ReactNode, 필수)"
42
+ "description": "RadioItem list (ReactNode, required)"
43
43
  },
44
44
  "aria-label": {
45
45
  "type": "string",
46
- "description": "접근성 라벨"
46
+ "description": "Accessibility label"
47
47
  },
48
48
  "aria-labelledby": {
49
49
  "type": "string",
50
- "description": "접근성 라벨 참조 ID"
50
+ "description": "Accessibility label reference ID"
51
51
  },
52
52
  "onValueChange": {
53
- "description": " 변경 콜백 (value: string) => void"
53
+ "description": "Value change callback (value: string) => void"
54
54
  },
55
55
  "className": {
56
56
  "type": "string",
57
- "description": "스타일 오버라이드"
57
+ "description": "Style override"
58
58
  }
59
59
  },
60
60
  "required": [
61
61
  "name"
62
62
  ],
63
63
  "additionalProperties": false,
64
- "description": "라디오 그룹. RadioItem과 함께 사용."
64
+ "description": "Radio group. Used with RadioItem."
65
65
  }
66
66
  },
67
67
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6,7 +6,7 @@
6
6
  "properties": {
7
7
  "value": {
8
8
  "type": "string",
9
- "description": "항목 (필수)"
9
+ "description": "Item value (required)"
10
10
  },
11
11
  "size": {
12
12
  "type": "string",
@@ -14,28 +14,28 @@
14
14
  "sm",
15
15
  "md"
16
16
  ],
17
- "description": "크기 (그룹보다 우선)"
17
+ "description": "Size (overrides group)"
18
18
  },
19
19
  "label": {
20
- "description": "라벨 텍스트 (ReactNode)"
20
+ "description": "Label text (ReactNode)"
21
21
  },
22
22
  "children": {
23
- "description": "라벨 대체 콘텐츠 (ReactNode)"
23
+ "description": "Label alternative content (ReactNode)"
24
24
  },
25
25
  "disabled": {
26
26
  "type": "boolean",
27
- "description": "비활성"
27
+ "description": "Disabled"
28
28
  },
29
29
  "className": {
30
30
  "type": "string",
31
- "description": "스타일 오버라이드"
31
+ "description": "Style override"
32
32
  }
33
33
  },
34
34
  "required": [
35
35
  "value"
36
36
  ],
37
37
  "additionalProperties": false,
38
- "description": "RadioGroup 개별 옵션."
38
+ "description": "Individual option within RadioGroup."
39
39
  }
40
40
  },
41
41
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6,11 +6,11 @@
6
6
  "properties": {
7
7
  "value": {
8
8
  "type": "string",
9
- "description": "선택된 "
9
+ "description": "Selected value"
10
10
  },
11
11
  "placeholder": {
12
12
  "type": "string",
13
- "description": "플레이스홀더"
13
+ "description": "Placeholder"
14
14
  },
15
15
  "variant": {
16
16
  "type": "string",
@@ -19,7 +19,7 @@
19
19
  "outline"
20
20
  ],
21
21
  "default": "default",
22
- "description": "트리거 스타일"
22
+ "description": "Trigger style"
23
23
  },
24
24
  "size": {
25
25
  "type": "string",
@@ -30,32 +30,32 @@
30
30
  "full"
31
31
  ],
32
32
  "default": "full",
33
- "description": "너비"
33
+ "description": "Width"
34
34
  },
35
35
  "disabled": {
36
36
  "type": "boolean",
37
- "description": "비활성"
37
+ "description": "Disabled"
38
38
  },
39
39
  "onValueChange": {
40
- "description": " 변경 콜백 (value: string) => void"
40
+ "description": "Value change callback (value: string) => void"
41
41
  },
42
42
  "displayComponent": {
43
- "description": "트리거에 커스텀 표시 (ReactNode)"
43
+ "description": "Custom display in trigger (ReactNode)"
44
44
  },
45
45
  "children": {
46
- "description": "SelectItem 목록 (ReactNode, 필수)"
46
+ "description": "SelectItem list (ReactNode, required)"
47
47
  },
48
48
  "className": {
49
49
  "type": "string",
50
- "description": "래퍼 스타일"
50
+ "description": "Wrapper style"
51
51
  },
52
52
  "triggerClassName": {
53
53
  "type": "string",
54
- "description": "트리거 스타일 오버라이드"
54
+ "description": "Trigger style override"
55
55
  }
56
56
  },
57
57
  "additionalProperties": false,
58
- "description": "드롭다운 선택. Radix Select 기반. SelectItem과 함께 사용."
58
+ "description": "Dropdown select. Based on Radix Select. Used with SelectItem."
59
59
  }
60
60
  },
61
61
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -6,25 +6,25 @@
6
6
  "properties": {
7
7
  "value": {
8
8
  "type": "string",
9
- "description": "항목 "
9
+ "description": "Item value"
10
10
  },
11
11
  "children": {
12
- "description": "항목 내용 (ReactNode, 필수)"
12
+ "description": "Item content (ReactNode, required)"
13
13
  },
14
14
  "disabled": {
15
15
  "type": "boolean",
16
- "description": "비활성"
16
+ "description": "Disabled"
17
17
  },
18
18
  "className": {
19
19
  "type": "string",
20
- "description": "스타일 오버라이드"
20
+ "description": "Style override"
21
21
  }
22
22
  },
23
23
  "required": [
24
24
  "value"
25
25
  ],
26
26
  "additionalProperties": false,
27
- "description": "Select 개별 옵션."
27
+ "description": "Individual option within Select."
28
28
  }
29
29
  },
30
30
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -11,40 +11,40 @@
11
11
  "span"
12
12
  ],
13
13
  "default": "div",
14
- "description": "렌더링 태그"
14
+ "description": "Rendered tag"
15
15
  },
16
16
  "circle": {
17
17
  "type": "boolean",
18
18
  "default": false,
19
- "description": "원형 스켈레톤 (rounded-full)"
19
+ "description": "Circle skeleton (rounded-full)"
20
20
  },
21
21
  "width": {
22
22
  "type": [
23
23
  "string",
24
24
  "number"
25
25
  ],
26
- "description": "너비 (예: '100px', '50%', 200)"
26
+ "description": "Width (e.g. '100px', '50%', 200)"
27
27
  },
28
28
  "height": {
29
29
  "type": [
30
30
  "string",
31
31
  "number"
32
32
  ],
33
- "description": "높이 (예: '16px', 40)"
33
+ "description": "Height (e.g. '16px', 40)"
34
34
  },
35
35
  "children": {
36
- "description": "내부 콘텐츠 (로딩 완료 표시, 실제 크기 유지용)"
36
+ "description": "Inner content (shown when loaded, maintains actual size)"
37
37
  },
38
38
  "style": {
39
- "description": "인라인 스타일 (CSSProperties)"
39
+ "description": "Inline style (CSSProperties)"
40
40
  },
41
41
  "className": {
42
42
  "type": "string",
43
- "description": "스타일 오버라이드"
43
+ "description": "Style override"
44
44
  }
45
45
  },
46
46
  "additionalProperties": false,
47
- "description": "스켈레톤 로딩 플레이스홀더. className으로 크기/모양 조절. children 있으면 투명하게 감싸서 실제 크기 유지."
47
+ "description": "Skeleton loading placeholder. Size/shape via className. With children, wraps transparently to maintain actual size."
48
48
  }
49
49
  },
50
50
  "$schema": "http://json-schema.org/draft-07/schema#"