@nexus-cross/design-system 1.0.4-beta.1 → 1.0.4

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 (327) hide show
  1. package/cursor-rules/nexus-project-setup.mdc +167 -145
  2. package/cursor-rules/nexus-ui-api.mdc +894 -311
  3. package/cursor-rules/nexus-ui-components.mdc +179 -91
  4. package/dist/accordion.js +7 -7
  5. package/dist/accordion.mjs +2 -2
  6. package/dist/alert.d.mts +17 -0
  7. package/dist/alert.d.ts +17 -0
  8. package/dist/alert.js +16 -0
  9. package/dist/alert.mjs +3 -0
  10. package/dist/avatar.js +4 -4
  11. package/dist/avatar.mjs +2 -2
  12. package/dist/badge.d.mts +18 -0
  13. package/dist/badge.d.ts +18 -0
  14. package/dist/badge.js +16 -0
  15. package/dist/badge.mjs +3 -0
  16. package/dist/breadcrumb.d.mts +15 -0
  17. package/dist/breadcrumb.d.ts +15 -0
  18. package/dist/breadcrumb.js +12 -0
  19. package/dist/breadcrumb.mjs +3 -0
  20. package/dist/button.js +4 -4
  21. package/dist/button.mjs +2 -2
  22. package/dist/carousel.js +8 -8
  23. package/dist/carousel.mjs +2 -2
  24. package/dist/checkbox.js +5 -5
  25. package/dist/checkbox.mjs +2 -2
  26. package/dist/chip.d.mts +1 -1
  27. package/dist/chip.d.ts +1 -1
  28. package/dist/chip.js +4 -4
  29. package/dist/chip.mjs +2 -2
  30. package/dist/chunks/{chunk-5TBXVD56.js → chunk-2MC7XJSE.js} +16 -6
  31. package/dist/chunks/chunk-2N2EPBO4.js +120 -0
  32. package/dist/chunks/{chunk-BEA727LO.mjs → chunk-2RPRCWKV.mjs} +57 -26
  33. package/dist/chunks/chunk-2UPGFY6E.mjs +76 -0
  34. package/dist/chunks/{chunk-5I2VRWWU.js → chunk-2ZXDXO4I.js} +32 -38
  35. package/dist/chunks/{chunk-RLP3U52D.mjs → chunk-33UFQJIO.mjs} +22 -40
  36. package/dist/chunks/{chunk-AOVU67NI.mjs → chunk-3HHJORN7.mjs} +23 -25
  37. package/dist/chunks/{chunk-TWHDXCKR.js → chunk-3PCNRCTB.js} +8 -8
  38. package/dist/chunks/chunk-3ZWN66YH.js +53 -0
  39. package/dist/chunks/chunk-4ENXP7WH.js +224 -0
  40. package/dist/chunks/{chunk-YEGPB7A7.js → chunk-5JHJNN2K.js} +4 -4
  41. package/dist/chunks/chunk-5PQ3UCKF.js +99 -0
  42. package/dist/chunks/chunk-6BWOKTVQ.mjs +87 -0
  43. package/dist/chunks/chunk-6DBRL6NA.mjs +81 -0
  44. package/dist/chunks/{chunk-C3E7CSKG.mjs → chunk-6FMDO6TT.mjs} +7 -8
  45. package/dist/chunks/{chunk-76CY4STF.js → chunk-7G65JBTN.js} +34 -66
  46. package/dist/chunks/{chunk-GMIGQ5VP.mjs → chunk-ADO7PDLY.mjs} +15 -35
  47. package/dist/chunks/{chunk-ZINDMFOI.js → chunk-AFSEYJZT.js} +24 -32
  48. package/dist/chunks/chunk-B5O6W3Z4.mjs +73 -0
  49. package/dist/chunks/{chunk-6FHK6CBR.js → chunk-B6G5TJRO.js} +7 -8
  50. package/dist/chunks/chunk-BBLBTOP4.js +205 -0
  51. package/dist/chunks/{chunk-5XVEYVYA.js → chunk-BLGQHR3M.js} +5 -8
  52. package/dist/chunks/{chunk-LVTD2UQN.mjs → chunk-BPUQ2CO2.mjs} +2 -2
  53. package/dist/chunks/{chunk-AWBGWBFS.js → chunk-BSZ2LN6E.js} +21 -27
  54. package/dist/chunks/chunk-C2DSAJTL.js +109 -0
  55. package/dist/chunks/{chunk-KWPIEHD2.mjs → chunk-CA3SOLI3.mjs} +1 -1
  56. package/dist/chunks/{chunk-MPKRXMCJ.js → chunk-CSJDDREF.js} +7 -10
  57. package/dist/chunks/chunk-CUTMLBC3.mjs +86 -0
  58. package/dist/chunks/chunk-CV4GMFWP.js +174 -0
  59. package/dist/chunks/{chunk-SXLMI7CZ.mjs → chunk-CWMLTXOH.mjs} +162 -234
  60. package/dist/chunks/chunk-CZC76ZD5.js +10 -0
  61. package/dist/chunks/chunk-DICN6GKE.js +99 -0
  62. package/dist/chunks/{chunk-TLTEUIBY.js → chunk-DLFV7ZZV.js} +4 -4
  63. package/dist/chunks/chunk-DO6VK2QQ.mjs +108 -0
  64. package/dist/chunks/chunk-DYPPVXQF.js +143 -0
  65. package/dist/chunks/{chunk-GQP7IXH2.mjs → chunk-ECVAVQUY.mjs} +23 -31
  66. package/dist/chunks/{chunk-3CHRUKSJ.mjs → chunk-EHAUUUWB.mjs} +3 -3
  67. package/dist/chunks/chunk-EJY7IVSK.mjs +31 -0
  68. package/dist/chunks/{chunk-G4XJG7XI.js → chunk-EVOOTSY5.js} +3 -10
  69. package/dist/chunks/chunk-FUIBYZZ4.mjs +98 -0
  70. package/dist/chunks/{chunk-VH5FF6DZ.mjs → chunk-GX6GSWX3.mjs} +7 -7
  71. package/dist/chunks/chunk-H2G5FMRN.mjs +75 -0
  72. package/dist/chunks/chunk-H2V7RHYV.mjs +120 -0
  73. package/dist/chunks/{chunk-DDMZSNTG.js → chunk-HFBTS42N.js} +168 -240
  74. package/dist/chunks/{chunk-OGUTGD4J.mjs → chunk-HNLI646G.mjs} +71 -39
  75. package/dist/chunks/{chunk-C6H2UNOX.js → chunk-IE4DGLMH.js} +13 -21
  76. package/dist/chunks/{chunk-U76LT5GE.js → chunk-IOSIQLZL.js} +2 -2
  77. package/dist/chunks/{chunk-ZCMKIB5U.js → chunk-J5ZKGPBY.js} +33 -41
  78. package/dist/chunks/{chunk-JUZHWKGS.mjs → chunk-K2TBLM3F.mjs} +6 -12
  79. package/dist/chunks/chunk-KZ7S5VN2.js +7 -0
  80. package/dist/chunks/{chunk-FHPHDK3O.mjs → chunk-LI7SFBUQ.mjs} +4 -4
  81. package/dist/chunks/{chunk-7OEK2KX3.mjs → chunk-LMMON5AU.mjs} +4 -4
  82. package/dist/chunks/{chunk-6DZVNFVY.js → chunk-LOQXCHKL.js} +4 -12
  83. package/dist/chunks/{chunk-377KBJQG.js → chunk-MA2VCCIY.js} +19 -22
  84. package/dist/chunks/chunk-MCKOWMLS.mjs +8 -0
  85. package/dist/chunks/chunk-MMCA33FW.mjs +85 -0
  86. package/dist/chunks/{chunk-TR5JBBEA.mjs → chunk-MRRKW5QN.mjs} +31 -39
  87. package/dist/chunks/{chunk-76K6KXCT.js → chunk-NFIPQZ4O.js} +1 -1
  88. package/dist/chunks/chunk-NZHK76R3.js +109 -0
  89. package/dist/chunks/{chunk-I7YJB2F5.js → chunk-OMN5YQCE.js} +3 -3
  90. package/dist/chunks/{chunk-B7UU3FSS.mjs → chunk-P2T72N62.mjs} +4 -7
  91. package/dist/chunks/chunk-P3DZKXG4.js +116 -0
  92. package/dist/chunks/chunk-P73MEU7N.mjs +150 -0
  93. package/dist/chunks/chunk-PDJTSQOC.js +59 -0
  94. package/dist/chunks/{chunk-RXVYL4AU.js → chunk-PEIEVKD5.js} +7 -13
  95. package/dist/chunks/chunk-PI464222.mjs +5 -0
  96. package/dist/chunks/{chunk-IJG7J2VU.mjs → chunk-QZ4QR3XV.mjs} +30 -36
  97. package/dist/chunks/{chunk-6NTASYZO.js → chunk-RS3SBY3I.js} +61 -30
  98. package/dist/chunks/{chunk-AKIBUO5A.mjs → chunk-RX5UKRYK.mjs} +19 -26
  99. package/dist/chunks/chunk-S2GMEC43.js +109 -0
  100. package/dist/chunks/{chunk-WJ2OVQD3.mjs → chunk-SGNRVYYQ.mjs} +19 -25
  101. package/dist/chunks/{chunk-IB5UCYQY.mjs → chunk-SJMCPSVH.mjs} +15 -5
  102. package/dist/chunks/chunk-UKRU46PH.mjs +182 -0
  103. package/dist/chunks/{chunk-WNFJ4NJN.mjs → chunk-ULGYTBCT.mjs} +3 -11
  104. package/dist/chunks/{chunk-TXYYBJBQ.js → chunk-VGO4Z2WH.js} +73 -41
  105. package/dist/chunks/{chunk-LBKBCI2K.mjs → chunk-VIGRCJAE.mjs} +3 -10
  106. package/dist/chunks/chunk-VVXQZ4XH.mjs +93 -0
  107. package/dist/chunks/{chunk-Z7OKV6NW.mjs → chunk-W4GG5A7K.mjs} +12 -20
  108. package/dist/chunks/chunk-WGGBE4ZD.mjs +201 -0
  109. package/dist/chunks/{chunk-WSWD5ZUJ.js → chunk-WKCXACMZ.js} +20 -27
  110. package/dist/chunks/{chunk-GSLIY6WW.js → chunk-X2SHTVZQ.js} +17 -37
  111. package/dist/chunks/chunk-X3CTJ7TD.js +108 -0
  112. package/dist/chunks/{chunk-U6KOUYWX.mjs → chunk-XG6QG65W.mjs} +7 -10
  113. package/dist/chunks/chunk-XGIJZ3NZ.js +160 -0
  114. package/dist/chunks/chunk-YB5ZKHVB.js +64 -0
  115. package/dist/chunks/{chunk-Q7H6LCNN.js → chunk-YCG4FZC3.js} +23 -25
  116. package/dist/chunks/{chunk-JZ3PWHKS.mjs → chunk-YLO4UKSC.mjs} +18 -21
  117. package/dist/chunks/chunk-YO5MSDPX.mjs +36 -0
  118. package/dist/chunks/{chunk-Q2TMXHPK.js → chunk-YZV6FWE7.js} +25 -43
  119. package/dist/chunks/chunk-ZI4LN2B2.js +96 -0
  120. package/dist/chunks/chunk-ZU4AWAFT.mjs +137 -0
  121. package/dist/chunks/chunk-ZWSIIGA3.mjs +58 -0
  122. package/dist/countdown.js +4 -4
  123. package/dist/countdown.mjs +2 -2
  124. package/dist/counter.js +2 -2
  125. package/dist/counter.mjs +1 -1
  126. package/dist/data-list.js +5 -5
  127. package/dist/data-list.mjs +4 -4
  128. package/dist/date-picker.d.mts +17 -0
  129. package/dist/date-picker.d.ts +17 -0
  130. package/dist/date-picker.js +12 -0
  131. package/dist/date-picker.mjs +3 -0
  132. package/dist/divider.js +4 -4
  133. package/dist/divider.mjs +2 -2
  134. package/dist/drawer.d.mts +1 -1
  135. package/dist/drawer.d.ts +1 -1
  136. package/dist/drawer.js +11 -11
  137. package/dist/drawer.mjs +2 -2
  138. package/dist/dropdown-menu.d.mts +30 -0
  139. package/dist/dropdown-menu.d.ts +30 -0
  140. package/dist/dropdown-menu.js +32 -0
  141. package/dist/dropdown-menu.mjs +3 -0
  142. package/dist/ellipsis.js +3 -3
  143. package/dist/ellipsis.mjs +2 -2
  144. package/dist/empty-state.d.mts +16 -0
  145. package/dist/empty-state.d.ts +16 -0
  146. package/dist/empty-state.js +16 -0
  147. package/dist/empty-state.mjs +3 -0
  148. package/dist/error-boundary.d.mts +1 -1
  149. package/dist/error-boundary.d.ts +1 -1
  150. package/dist/error-boundary.js +2 -2
  151. package/dist/error-boundary.mjs +1 -1
  152. package/dist/index.d.mts +15 -0
  153. package/dist/index.d.ts +15 -0
  154. package/dist/index.js +322 -200
  155. package/dist/index.mjs +49 -35
  156. package/dist/infinite-scroll.js +3 -3
  157. package/dist/infinite-scroll.mjs +2 -2
  158. package/dist/marquee.js +3 -3
  159. package/dist/marquee.mjs +2 -2
  160. package/dist/modal/index.js +13 -13
  161. package/dist/modal/index.mjs +4 -4
  162. package/dist/number-input.d.mts +1 -1
  163. package/dist/number-input.d.ts +1 -1
  164. package/dist/number-input.js +5 -5
  165. package/dist/number-input.mjs +2 -2
  166. package/dist/nx-image.d.mts +13 -0
  167. package/dist/nx-image.d.ts +13 -0
  168. package/dist/nx-image.js +12 -0
  169. package/dist/nx-image.mjs +3 -0
  170. package/dist/pagination.d.mts +1 -0
  171. package/dist/pagination.d.ts +1 -0
  172. package/dist/pagination.js +5 -5
  173. package/dist/pagination.mjs +2 -2
  174. package/dist/popover.d.mts +1 -1
  175. package/dist/popover.d.ts +1 -1
  176. package/dist/popover.js +8 -8
  177. package/dist/popover.mjs +2 -2
  178. package/dist/price-input.d.mts +36 -0
  179. package/dist/price-input.d.ts +36 -0
  180. package/dist/price-input.js +16 -0
  181. package/dist/price-input.mjs +3 -0
  182. package/dist/progress.d.mts +18 -0
  183. package/dist/progress.d.ts +18 -0
  184. package/dist/progress.js +16 -0
  185. package/dist/progress.mjs +3 -0
  186. package/dist/radio-group.js +6 -6
  187. package/dist/radio-group.mjs +2 -2
  188. package/dist/schemas/_all.json +2356 -404
  189. package/dist/schemas/accordion.json +14 -11
  190. package/dist/schemas/alert.json +49 -0
  191. package/dist/schemas/avatar.json +13 -7
  192. package/dist/schemas/badge.json +76 -0
  193. package/dist/schemas/breadcrumb.json +47 -0
  194. package/dist/schemas/button.json +27 -9
  195. package/dist/schemas/carousel.json +10 -4
  196. package/dist/schemas/carouselButton.json +20 -0
  197. package/dist/schemas/carouselDots.json +17 -0
  198. package/dist/schemas/carouselSlide.json +20 -0
  199. package/dist/schemas/checkBox.json +33 -8
  200. package/dist/schemas/chip.json +15 -6
  201. package/dist/schemas/clientOnly.json +19 -0
  202. package/dist/schemas/countdown.json +10 -7
  203. package/dist/schemas/counter.json +15 -9
  204. package/dist/schemas/dataList.json +10 -10
  205. package/dist/schemas/datePicker.json +56 -0
  206. package/dist/schemas/divider.json +8 -5
  207. package/dist/schemas/drawer.json +24 -2
  208. package/dist/schemas/drawerClose.json +24 -0
  209. package/dist/schemas/drawerContent.json +9 -6
  210. package/dist/schemas/drawerDescription.json +20 -0
  211. package/dist/schemas/drawerTitle.json +20 -0
  212. package/dist/schemas/drawerTrigger.json +24 -0
  213. package/dist/schemas/dropdownMenu.json +83 -0
  214. package/dist/schemas/ellipsis.json +17 -7
  215. package/dist/schemas/emptyState.json +44 -0
  216. package/dist/schemas/errorBoundary.json +22 -0
  217. package/dist/schemas/infiniteScroll.json +18 -9
  218. package/dist/schemas/marquee.json +12 -6
  219. package/dist/schemas/modalCall.json +81 -3
  220. package/dist/schemas/modalTemplate.json +67 -14
  221. package/dist/schemas/numberInput.json +42 -12
  222. package/dist/schemas/nxImage.json +56 -0
  223. package/dist/schemas/pagination.json +13 -6
  224. package/dist/schemas/popover.json +18 -9
  225. package/dist/schemas/priceInput.json +104 -0
  226. package/dist/schemas/progress.json +63 -0
  227. package/dist/schemas/radioGroup.json +19 -9
  228. package/dist/schemas/radioItem.json +12 -5
  229. package/dist/schemas/select.json +15 -9
  230. package/dist/schemas/selectItem.json +7 -4
  231. package/dist/schemas/skeleton.json +12 -6
  232. package/dist/schemas/slider.json +78 -0
  233. package/dist/schemas/spinner.json +11 -4
  234. package/dist/schemas/stepper.json +73 -0
  235. package/dist/schemas/switch.json +23 -5
  236. package/dist/schemas/tab.json +17 -14
  237. package/dist/schemas/table.json +75 -0
  238. package/dist/schemas/tableRow.json +32 -0
  239. package/dist/schemas/tagInput.json +70 -0
  240. package/dist/schemas/tdColumn.json +107 -0
  241. package/dist/schemas/textArea.json +72 -7
  242. package/dist/schemas/textInput.json +72 -10
  243. package/dist/schemas/themeProvider.json +65 -0
  244. package/dist/schemas/toastOptions.json +81 -0
  245. package/dist/schemas/toaster.json +76 -0
  246. package/dist/schemas/toggleGroup.json +88 -0
  247. package/dist/schemas/tooltip.json +12 -9
  248. package/dist/schemas/virtualGrid.json +22 -11
  249. package/dist/schemas/virtualList.json +14 -8
  250. package/dist/schemas.d.mts +1360 -81
  251. package/dist/schemas.d.ts +1360 -81
  252. package/dist/schemas.js +725 -273
  253. package/dist/schemas.mjs +698 -273
  254. package/dist/select.js +6 -6
  255. package/dist/select.mjs +2 -2
  256. package/dist/skeleton.js +3 -3
  257. package/dist/skeleton.mjs +2 -2
  258. package/dist/slider.d.mts +20 -0
  259. package/dist/slider.d.ts +20 -0
  260. package/dist/slider.js +16 -0
  261. package/dist/slider.mjs +3 -0
  262. package/dist/spinner.js +3 -3
  263. package/dist/spinner.mjs +2 -2
  264. package/dist/stepper.d.mts +20 -0
  265. package/dist/stepper.d.ts +20 -0
  266. package/dist/stepper.js +16 -0
  267. package/dist/stepper.mjs +3 -0
  268. package/dist/styles/layer.d.mts +3 -0
  269. package/dist/styles/layer.d.ts +3 -0
  270. package/dist/styles/layer.js +18 -0
  271. package/dist/styles/layer.mjs +16 -0
  272. package/dist/styles.css +3872 -2
  273. package/dist/styles.js +2 -5
  274. package/dist/styles.layered.css +3875 -0
  275. package/dist/styles.mjs +1 -4
  276. package/dist/switch.js +4 -4
  277. package/dist/switch.mjs +2 -2
  278. package/dist/tab.js +5 -5
  279. package/dist/tab.mjs +2 -2
  280. package/dist/table.d.mts +2 -2
  281. package/dist/table.d.ts +2 -2
  282. package/dist/table.js +9 -9
  283. package/dist/table.mjs +3 -3
  284. package/dist/tag-input.d.mts +21 -0
  285. package/dist/tag-input.d.ts +21 -0
  286. package/dist/tag-input.js +16 -0
  287. package/dist/tag-input.mjs +3 -0
  288. package/dist/text-area.d.mts +5 -1
  289. package/dist/text-area.d.ts +5 -1
  290. package/dist/text-area.js +4 -4
  291. package/dist/text-area.mjs +2 -2
  292. package/dist/text-input.d.mts +5 -1
  293. package/dist/text-input.d.ts +5 -1
  294. package/dist/text-input.js +4 -4
  295. package/dist/text-input.mjs +2 -2
  296. package/dist/toast.js +5 -5
  297. package/dist/toast.mjs +2 -2
  298. package/dist/toggle-group.d.mts +36 -0
  299. package/dist/toggle-group.d.ts +36 -0
  300. package/dist/toggle-group.js +16 -0
  301. package/dist/toggle-group.mjs +3 -0
  302. package/dist/tooltip.js +5 -5
  303. package/dist/tooltip.mjs +2 -2
  304. package/dist/utils/cn.d.mts +0 -10
  305. package/dist/utils/cn.d.ts +0 -10
  306. package/dist/utils/cn.js +2 -2
  307. package/dist/utils/cn.mjs +1 -1
  308. package/dist/virtual-scroll.js +4 -4
  309. package/dist/virtual-scroll.mjs +2 -2
  310. package/package.json +90 -17
  311. package/scripts/setup-cursor-rules.cjs +6 -6
  312. package/dist/chunks/chunk-7MT3QYE6.js +0 -92
  313. package/dist/chunks/chunk-FA2OPP3U.mjs +0 -140
  314. package/dist/chunks/chunk-FKZI2HTI.js +0 -104
  315. package/dist/chunks/chunk-NCQDOPBR.mjs +0 -86
  316. package/dist/chunks/chunk-NTN55ZIX.mjs +0 -113
  317. package/dist/chunks/chunk-Q7GQVAYY.js +0 -88
  318. package/dist/chunks/chunk-QJNQCLMV.js +0 -25
  319. package/dist/chunks/chunk-UDQXLI5Y.mjs +0 -81
  320. package/dist/chunks/chunk-UR6JOKVB.mjs +0 -65
  321. package/dist/chunks/chunk-WVIEIRK2.js +0 -136
  322. package/dist/chunks/chunk-XALPBGSC.mjs +0 -23
  323. package/dist/schemas/typography.json +0 -70
  324. package/dist/typography.d.mts +0 -19
  325. package/dist/typography.d.ts +0 -19
  326. package/dist/typography.js +0 -102
  327. package/dist/typography.mjs +0 -79
@@ -11,17 +11,17 @@
11
11
  "properties": {
12
12
  "id": {
13
13
  "type": "string",
14
- "description": "고유 ID"
14
+ "description": "Unique ID"
15
15
  },
16
16
  "trigger": {
17
- "description": "트리거 내용 (ReactNode)"
17
+ "description": "Trigger content (ReactNode)"
18
18
  },
19
19
  "content": {
20
- "description": "펼침 내용 (ReactNode)"
20
+ "description": "Expandable content (ReactNode)"
21
21
  },
22
22
  "disabled": {
23
23
  "type": "boolean",
24
- "description": "비활성"
24
+ "description": "Disabled"
25
25
  },
26
26
  "className": {
27
27
  "type": "string"
@@ -38,7 +38,7 @@
38
38
  ],
39
39
  "additionalProperties": false
40
40
  },
41
- "description": "아코디언 항목 배열 (필수)"
41
+ "description": "Accordion item array (required)"
42
42
  },
43
43
  "type": {
44
44
  "type": "string",
@@ -47,12 +47,12 @@
47
47
  "multiple"
48
48
  ],
49
49
  "default": "single",
50
- "description": "단일/다중 열기"
50
+ "description": "Single/multiple open mode"
51
51
  },
52
52
  "collapsible": {
53
53
  "type": "boolean",
54
54
  "default": true,
55
- "description": "전부 접기 가능"
55
+ "description": "Allow collapsing all"
56
56
  },
57
57
  "value": {
58
58
  "anyOf": [
@@ -66,7 +66,7 @@
66
66
  }
67
67
  }
68
68
  ],
69
- "description": "제어 모드"
69
+ "description": "Controlled mode"
70
70
  },
71
71
  "defaultValue": {
72
72
  "anyOf": [
@@ -80,18 +80,21 @@
80
80
  }
81
81
  }
82
82
  ],
83
- "description": "비제어 초기값"
83
+ "description": "Uncontrolled initial value"
84
+ },
85
+ "onValueChange": {
86
+ "description": "Open item change callback (value: string | string[]) => void"
84
87
  },
85
88
  "className": {
86
89
  "type": "string",
87
- "description": "Root 스타일"
90
+ "description": "Root style"
88
91
  }
89
92
  },
90
93
  "required": [
91
94
  "items"
92
95
  ],
93
96
  "additionalProperties": false,
94
- "description": "아코디언. items 배열 방식과 컴포저블 방식 모두 지원."
97
+ "description": "Accordion. Supports both items array and composable patterns."
95
98
  }
96
99
  },
97
100
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,49 @@
1
+ {
2
+ "$ref": "#/definitions/alertPropsSchema",
3
+ "definitions": {
4
+ "alertPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "variant": {
8
+ "type": "string",
9
+ "enum": [
10
+ "info",
11
+ "success",
12
+ "warning",
13
+ "danger"
14
+ ],
15
+ "default": "info",
16
+ "description": "Alert type / color"
17
+ },
18
+ "title": {
19
+ "type": "string",
20
+ "description": "Alert title (bold)"
21
+ },
22
+ "children": {
23
+ "description": "Alert description (ReactNode)"
24
+ },
25
+ "icon": {
26
+ "description": "Custom icon (ReactNode). Auto icon by variant if omitted"
27
+ },
28
+ "closable": {
29
+ "type": "boolean",
30
+ "default": false,
31
+ "description": "Show close button"
32
+ },
33
+ "onClose": {
34
+ "description": "Close callback () => void"
35
+ },
36
+ "action": {
37
+ "description": "Action area (ReactNode, e.g. Button)"
38
+ },
39
+ "className": {
40
+ "type": "string",
41
+ "description": "Style override"
42
+ }
43
+ },
44
+ "additionalProperties": false,
45
+ "description": "Alert / Banner. Inline notification with icon, title, description."
46
+ }
47
+ },
48
+ "$schema": "http://json-schema.org/draft-07/schema#"
49
+ }
@@ -6,14 +6,14 @@
6
6
  "properties": {
7
7
  "src": {
8
8
  "type": "string",
9
- "description": "이미지 URL"
9
+ "description": "Image URL"
10
10
  },
11
11
  "alt": {
12
12
  "type": "string",
13
- "description": "대체 텍스트"
13
+ "description": "Alt text"
14
14
  },
15
15
  "fallback": {
16
- "description": "이미지 로드 실패 표시 (ReactNode)"
16
+ "description": "Displayed on image load failure (ReactNode)"
17
17
  },
18
18
  "size": {
19
19
  "type": "string",
@@ -25,7 +25,7 @@
25
25
  "xl"
26
26
  ],
27
27
  "default": "md",
28
- "description": "크기"
28
+ "description": "Size"
29
29
  },
30
30
  "shape": {
31
31
  "type": "string",
@@ -34,15 +34,21 @@
34
34
  "square"
35
35
  ],
36
36
  "default": "circle",
37
- "description": "형태"
37
+ "description": "Shape"
38
+ },
39
+ "children": {
40
+ "description": "Custom image element (e.g. Next.js Image)"
41
+ },
42
+ "onImageError": {
43
+ "description": "Image load error callback () => void"
38
44
  },
39
45
  "className": {
40
46
  "type": "string",
41
- "description": "스타일 오버라이드"
47
+ "description": "Style override"
42
48
  }
43
49
  },
44
50
  "additionalProperties": false,
45
- "description": "아바타. 이미지, 폴백 텍스트, children 지원."
51
+ "description": "Avatar. Supports image, fallback text, and children."
46
52
  }
47
53
  },
48
54
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,76 @@
1
+ {
2
+ "$ref": "#/definitions/badgePropsSchema",
3
+ "definitions": {
4
+ "badgePropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "count": {
8
+ "type": "number",
9
+ "description": "Badge count number"
10
+ },
11
+ "max": {
12
+ "type": "number",
13
+ "default": 99,
14
+ "description": "Max count (shows \"99+\" when exceeded)"
15
+ },
16
+ "dot": {
17
+ "type": "boolean",
18
+ "default": false,
19
+ "description": "Show as dot instead of count"
20
+ },
21
+ "showZero": {
22
+ "type": "boolean",
23
+ "default": false,
24
+ "description": "Show badge when count is 0"
25
+ },
26
+ "variant": {
27
+ "type": "string",
28
+ "enum": [
29
+ "danger",
30
+ "primary",
31
+ "secondary",
32
+ "info",
33
+ "success",
34
+ "warning"
35
+ ],
36
+ "default": "danger",
37
+ "description": "Color variant"
38
+ },
39
+ "size": {
40
+ "type": "string",
41
+ "enum": [
42
+ "sm",
43
+ "md",
44
+ "lg"
45
+ ],
46
+ "default": "md",
47
+ "description": "Size"
48
+ },
49
+ "offset": {
50
+ "type": "array",
51
+ "minItems": 2,
52
+ "maxItems": 2,
53
+ "items": [
54
+ {
55
+ "type": "number"
56
+ },
57
+ {
58
+ "type": "number"
59
+ }
60
+ ],
61
+ "description": "Position offset [x, y] in px"
62
+ },
63
+ "children": {
64
+ "description": "Anchor element to attach badge to (ReactNode)"
65
+ },
66
+ "className": {
67
+ "type": "string",
68
+ "description": "Style override"
69
+ }
70
+ },
71
+ "additionalProperties": false,
72
+ "description": "Badge indicator. Dot or count display. Wraps children when provided."
73
+ }
74
+ },
75
+ "$schema": "http://json-schema.org/draft-07/schema#"
76
+ }
@@ -0,0 +1,47 @@
1
+ {
2
+ "$ref": "#/definitions/breadcrumbPropsSchema",
3
+ "definitions": {
4
+ "breadcrumbPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "items": {
8
+ "type": "array",
9
+ "items": {
10
+ "type": "object",
11
+ "properties": {
12
+ "label": {
13
+ "description": "Display text or element (ReactNode)"
14
+ },
15
+ "href": {
16
+ "type": "string",
17
+ "description": "Link URL"
18
+ },
19
+ "onClick": {
20
+ "description": "Click handler () => void"
21
+ }
22
+ },
23
+ "additionalProperties": false
24
+ },
25
+ "description": "Breadcrumb items array (required)"
26
+ },
27
+ "separator": {
28
+ "description": "Custom separator (ReactNode). Default: chevron"
29
+ },
30
+ "maxItems": {
31
+ "type": "number",
32
+ "description": "Max visible items (collapses middle with \"...\")"
33
+ },
34
+ "className": {
35
+ "type": "string",
36
+ "description": "Style override"
37
+ }
38
+ },
39
+ "required": [
40
+ "items"
41
+ ],
42
+ "additionalProperties": false,
43
+ "description": "Breadcrumb navigation. Shows current location path."
44
+ }
45
+ },
46
+ "$schema": "http://json-schema.org/draft-07/schema#"
47
+ }
@@ -13,7 +13,7 @@
13
13
  "danger"
14
14
  ],
15
15
  "default": "primary",
16
- "description": "색상 테마 (primary=주요, secondary=보조, normal=중립, danger=위험)"
16
+ "description": "Color theme (primary=main, secondary=sub, normal=neutral, danger=danger)"
17
17
  },
18
18
  "variant": {
19
19
  "type": "string",
@@ -24,7 +24,7 @@
24
24
  "ghost"
25
25
  ],
26
26
  "default": "contained",
27
- "description": "시각 스타일 (contained=채움, outlined=테두리, subtle=연한배경, ghost=투명)"
27
+ "description": "Visual style (contained=filled, outlined=border, subtle=light bg, ghost=transparent)"
28
28
  },
29
29
  "size": {
30
30
  "type": "string",
@@ -35,7 +35,7 @@
35
35
  "sm"
36
36
  ],
37
37
  "default": "md",
38
- "description": "크기"
38
+ "description": "Size"
39
39
  },
40
40
  "radius": {
41
41
  "type": "string",
@@ -44,27 +44,45 @@
44
44
  "circle"
45
45
  ],
46
46
  "default": "default",
47
- "description": "모서리 (default=size radius, circle=pill 형태)"
47
+ "description": "Corner radius (default=size-based radius, circle=pill shape)"
48
48
  },
49
49
  "asChild": {
50
50
  "type": "boolean",
51
- "description": "true 자식 요소로 렌더링 (Slot 패턴)"
51
+ "description": "If true, renders as child element (Slot pattern)"
52
52
  },
53
53
  "detectDoubleClick": {
54
54
  "type": "boolean",
55
- "description": "500ms 더블 클릭 방지"
55
+ "description": "Prevent double click within 500ms"
56
56
  },
57
57
  "disabled": {
58
58
  "type": "boolean",
59
- "description": "비활성 (aria-disabled 자동)"
59
+ "description": "Disabled (auto aria-disabled)"
60
+ },
61
+ "children": {
62
+ "description": "Button content (ReactNode)"
63
+ },
64
+ "onClick": {
65
+ "description": "Click event handler"
66
+ },
67
+ "type": {
68
+ "type": "string",
69
+ "enum": [
70
+ "button",
71
+ "submit",
72
+ "reset"
73
+ ],
74
+ "description": "HTML button type (default: button)"
75
+ },
76
+ "style": {
77
+ "description": "Inline style (CSSProperties)"
60
78
  },
61
79
  "className": {
62
80
  "type": "string",
63
- "description": "스타일 오버라이드"
81
+ "description": "Style override"
64
82
  }
65
83
  },
66
84
  "additionalProperties": false,
67
- "description": "인터랙티브 버튼. semantic(색상)×variant(스타일) 2 시스템. asChild로 렌더링 요소 변경 가능."
85
+ "description": "Interactive button. semantic(color) x variant(style) 2-axis system. Rendering element changeable via asChild."
68
86
  }
69
87
  },
70
88
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -7,19 +7,25 @@
7
7
  "opts": {
8
8
  "type": "object",
9
9
  "additionalProperties": {},
10
- "description": "Embla 옵션 (loop, align )"
10
+ "description": "Embla options (loop, align, etc.)"
11
11
  },
12
12
  "plugins": {
13
13
  "type": "array",
14
- "description": "Embla 플러그인"
14
+ "description": "Embla plugins"
15
+ },
16
+ "onApiChange": {
17
+ "description": "Embla API change callback (api: CarouselApi) => void"
18
+ },
19
+ "children": {
20
+ "description": "Carousel slides and sub-components (ReactNode)"
15
21
  },
16
22
  "className": {
17
23
  "type": "string",
18
- "description": "스타일 오버라이드"
24
+ "description": "Style override"
19
25
  }
20
26
  },
21
27
  "additionalProperties": false,
22
- "description": "캐러셀. Embla Carousel 기반. CarouselSlide, CarouselPrev, CarouselNext, CarouselDots 서브 컴포넌트."
28
+ "description": "Carousel. Based on Embla Carousel. Sub-components: CarouselSlide, CarouselPrev, CarouselNext, CarouselDots."
23
29
  }
24
30
  },
25
31
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,20 @@
1
+ {
2
+ "$ref": "#/definitions/carouselButtonPropsSchema",
3
+ "definitions": {
4
+ "carouselButtonPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "className": {
8
+ "type": "string",
9
+ "description": "Button style override"
10
+ },
11
+ "children": {
12
+ "description": "Custom icon (ReactNode, default: chevron)"
13
+ }
14
+ },
15
+ "additionalProperties": false,
16
+ "description": "CarouselPrev / CarouselNext. Previous/next navigation buttons."
17
+ }
18
+ },
19
+ "$schema": "http://json-schema.org/draft-07/schema#"
20
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$ref": "#/definitions/carouselDotsPropsSchema",
3
+ "definitions": {
4
+ "carouselDotsPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "className": {
8
+ "type": "string",
9
+ "description": "Dot container style"
10
+ }
11
+ },
12
+ "additionalProperties": false,
13
+ "description": "CarouselDots. Slide indicator dots."
14
+ }
15
+ },
16
+ "$schema": "http://json-schema.org/draft-07/schema#"
17
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$ref": "#/definitions/carouselSlidePropsSchema",
3
+ "definitions": {
4
+ "carouselSlidePropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "className": {
8
+ "type": "string",
9
+ "description": "Slide style (use basis-1/3 etc. for multi-slide view)"
10
+ },
11
+ "children": {
12
+ "description": "Slide content (ReactNode, required)"
13
+ }
14
+ },
15
+ "additionalProperties": false,
16
+ "description": "Carousel slide. Used inside Carousel."
17
+ }
18
+ },
19
+ "$schema": "http://json-schema.org/draft-07/schema#"
20
+ }
@@ -11,7 +11,7 @@
11
11
  "md"
12
12
  ],
13
13
  "default": "md",
14
- "description": "크기"
14
+ "description": "Size"
15
15
  },
16
16
  "shape": {
17
17
  "type": "string",
@@ -20,30 +20,55 @@
20
20
  "round"
21
21
  ],
22
22
  "default": "square",
23
- "description": "형태"
23
+ "description": "Shape"
24
24
  },
25
25
  "checked": {
26
26
  "type": "boolean",
27
- "description": "체크 상태"
27
+ "description": "Checked state"
28
28
  },
29
29
  "indeterminate": {
30
30
  "type": "boolean",
31
- "description": "불확정 상태 (aria-checked=\"mixed\")"
31
+ "description": "Indeterminate state (aria-checked=\"mixed\")"
32
32
  },
33
33
  "disabled": {
34
34
  "type": "boolean",
35
- "description": "비활성"
35
+ "description": "Disabled"
36
+ },
37
+ "readOnly": {
38
+ "type": "boolean",
39
+ "description": "Read-only"
36
40
  },
37
41
  "label": {
38
- "description": "라벨 텍스트 (ReactNode)"
42
+ "description": "Label text (ReactNode)"
43
+ },
44
+ "children": {
45
+ "description": "Label alternative content (ReactNode)"
46
+ },
47
+ "name": {
48
+ "type": "string",
49
+ "description": "Form field name"
50
+ },
51
+ "id": {
52
+ "type": "string",
53
+ "description": "Element ID"
54
+ },
55
+ "value": {
56
+ "type": "string",
57
+ "description": "Value for form submission"
58
+ },
59
+ "onCheckedChange": {
60
+ "description": "Checked state change callback (checked: boolean) => void"
61
+ },
62
+ "onChange": {
63
+ "description": "Native change event handler"
39
64
  },
40
65
  "className": {
41
66
  "type": "string",
42
- "description": "스타일 오버라이드"
67
+ "description": "Style override"
43
68
  }
44
69
  },
45
70
  "additionalProperties": false,
46
- "description": "체크박스. 네이티브 input 기반, square/round 형태 지원."
71
+ "description": "Checkbox. Native input-based, supports square/round shapes."
47
72
  }
48
73
  },
49
74
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -13,7 +13,7 @@
13
13
  "accent"
14
14
  ],
15
15
  "default": "default",
16
- "description": "스타일"
16
+ "description": "Style"
17
17
  },
18
18
  "size": {
19
19
  "type": "string",
@@ -23,23 +23,32 @@
23
23
  "lg"
24
24
  ],
25
25
  "default": "md",
26
- "description": "크기"
26
+ "description": "Size"
27
27
  },
28
28
  "asChild": {
29
29
  "type": "boolean",
30
- "description": "true 자식 요소로 렌더링 (Slot 패턴)"
30
+ "description": "If true, renders as child element (Slot pattern)"
31
31
  },
32
32
  "disabled": {
33
33
  "type": "boolean",
34
- "description": "비활성 (aria-disabled 자동)"
34
+ "description": "Disabled (auto aria-disabled)"
35
+ },
36
+ "children": {
37
+ "description": "Chip content (ReactNode)"
38
+ },
39
+ "onClose": {
40
+ "description": "Close button click callback (e: MouseEvent) => void. Shows X button when provided"
41
+ },
42
+ "onClick": {
43
+ "description": "Click event handler"
35
44
  },
36
45
  "className": {
37
46
  "type": "string",
38
- "description": "스타일 오버라이드"
47
+ "description": "Style override"
39
48
  }
40
49
  },
41
50
  "additionalProperties": false,
42
- "description": "칩/태그/뱃지. onClose prop으로 닫기 버튼 표시."
51
+ "description": "Chip/tag/badge. Close button displayed via onClose prop."
43
52
  }
44
53
  },
45
54
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,19 @@
1
+ {
2
+ "$ref": "#/definitions/clientOnlyPropsSchema",
3
+ "definitions": {
4
+ "clientOnlyPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "children": {
8
+ "description": "Element to render only on client (ReactNode, required)"
9
+ },
10
+ "fallback": {
11
+ "description": "Fallback UI during SSR (ReactNode, default: null)"
12
+ }
13
+ },
14
+ "additionalProperties": false,
15
+ "description": "Client-only rendering. Prevents hydration mismatch in SSR environments."
16
+ }
17
+ },
18
+ "$schema": "http://json-schema.org/draft-07/schema#"
19
+ }
@@ -6,16 +6,16 @@
6
6
  "properties": {
7
7
  "endTimestamp": {
8
8
  "type": "number",
9
- "description": "종료 시각 (Unix ms, 필수)"
9
+ "description": "End time (Unix ms, required)"
10
10
  },
11
11
  "separator": {
12
12
  "default": ":",
13
- "description": "구분자 (ReactNode)"
13
+ "description": "Separator (ReactNode)"
14
14
  },
15
15
  "showDays": {
16
16
  "type": "boolean",
17
17
  "default": true,
18
- "description": " 단위 표시"
18
+ "description": "Show days unit"
19
19
  },
20
20
  "labels": {
21
21
  "type": "object",
@@ -34,21 +34,24 @@
34
34
  }
35
35
  },
36
36
  "additionalProperties": false,
37
- "description": "단위 라벨"
37
+ "description": "Unit labels"
38
38
  },
39
39
  "render": {
40
- "description": "커스텀 렌더 함수"
40
+ "description": "Custom render function"
41
+ },
42
+ "onEnd": {
43
+ "description": "Countdown end callback () => void"
41
44
  },
42
45
  "className": {
43
46
  "type": "string",
44
- "description": "스타일 오버라이드"
47
+ "description": "Style override"
45
48
  }
46
49
  },
47
50
  "required": [
48
51
  "endTimestamp"
49
52
  ],
50
53
  "additionalProperties": false,
51
- "description": "카운트다운 타이머."
54
+ "description": "Countdown timer."
52
55
  }
53
56
  },
54
57
  "$schema": "http://json-schema.org/draft-07/schema#"