@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
@@ -13,30 +13,36 @@
13
13
  "down"
14
14
  ],
15
15
  "default": "left",
16
- "description": "방향"
16
+ "description": "Direction"
17
17
  },
18
18
  "speed": {
19
19
  "type": "number",
20
20
  "default": 40,
21
- "description": "애니메이션 속도 ()"
21
+ "description": "Animation speed (seconds)"
22
22
  },
23
23
  "pauseOnHover": {
24
24
  "type": "boolean",
25
25
  "default": false,
26
- "description": "호버 일시정지"
26
+ "description": "Pause on hover"
27
27
  },
28
28
  "gap": {
29
29
  "type": "number",
30
30
  "default": 16,
31
- "description": "아이템 간격 (px)"
31
+ "description": "Item gap (px)"
32
+ },
33
+ "children": {
34
+ "description": "Content to repeat (ReactNode, required)"
35
+ },
36
+ "style": {
37
+ "description": "Inline style (CSSProperties)"
32
38
  },
33
39
  "className": {
34
40
  "type": "string",
35
- "description": "스타일 오버라이드"
41
+ "description": "Style override"
36
42
  }
37
43
  },
38
44
  "additionalProperties": false,
39
- "description": "마퀴 (흐르는 텍스트/요소)."
45
+ "description": "Marquee (scrolling text/elements)."
40
46
  }
41
47
  },
42
48
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -5,16 +5,94 @@
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "component": {
8
- "description": "모달 컴포넌트 (필수)"
8
+ "description": "Modal component (required). Automatically receives close/resolve as props"
9
9
  },
10
10
  "props": {
11
11
  "type": "object",
12
12
  "additionalProperties": {},
13
- "description": "컴포넌트에 전달할 props"
13
+ "description": "Props to pass to component"
14
+ },
15
+ "id": {
16
+ "type": "string",
17
+ "description": "Modal ID (used for duplicate check)"
18
+ },
19
+ "layout": {
20
+ "type": "string",
21
+ "enum": [
22
+ "default",
23
+ "bottom-sheet",
24
+ "slide-left",
25
+ "slide-right",
26
+ "full-page",
27
+ "full-page-reverse",
28
+ "draggable"
29
+ ],
30
+ "description": "Layout"
31
+ },
32
+ "animation": {
33
+ "type": "object",
34
+ "properties": {
35
+ "name": {
36
+ "type": "string",
37
+ "description": "Animation name"
38
+ },
39
+ "mobile": {
40
+ "type": "string",
41
+ "description": "Mobile animation name"
42
+ },
43
+ "delay": {
44
+ "type": "number",
45
+ "description": "Delay (ms)"
46
+ },
47
+ "duration": {
48
+ "type": "number",
49
+ "description": "Duration (ms)"
50
+ },
51
+ "timingFunc": {
52
+ "type": "string",
53
+ "description": "Timing function"
54
+ },
55
+ "leaveTimingFunc": {
56
+ "type": "string",
57
+ "description": "Exit timing function"
58
+ }
59
+ },
60
+ "additionalProperties": false,
61
+ "description": "Modal animation"
62
+ },
63
+ "scrollEnable": {
64
+ "type": "boolean",
65
+ "description": "Allow background scroll"
66
+ },
67
+ "isToggle": {
68
+ "type": "boolean",
69
+ "description": "Toggle mode (close on re-call of same modal)"
70
+ },
71
+ "isAlone": {
72
+ "type": "boolean",
73
+ "description": "Alone mode (close all existing modals before opening)"
74
+ },
75
+ "duplicateCheck": {
76
+ "type": "boolean",
77
+ "description": "Prevent duplicate opening of same component"
78
+ },
79
+ "disableEscapeKeyPress": {
80
+ "type": "boolean",
81
+ "description": "Disable close via ESC key"
82
+ },
83
+ "componentName": {
84
+ "type": "string",
85
+ "description": "Modal identifier name (used for duplicate check, modal search)"
86
+ },
87
+ "onOpen": {
88
+ "description": "Callback when modal opens"
89
+ },
90
+ "onClose": {
91
+ "description": "Callback when modal closes"
14
92
  }
15
93
  },
16
94
  "additionalProperties": false,
17
- "description": "modal() 함수 호출 형태. component close/resolve 자동으로 props로 받는다."
95
+ "description": "modal() function call options. component automatically receives close/resolve as props."
18
96
  }
19
97
  },
20
98
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -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,51 +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
+ },
50
+ "animation": {
51
+ "type": "object",
52
+ "properties": {
53
+ "name": {
54
+ "type": "string",
55
+ "description": "Animation name"
56
+ },
57
+ "mobile": {
58
+ "type": "string",
59
+ "description": "Mobile animation name"
60
+ },
61
+ "delay": {
62
+ "type": "number",
63
+ "description": "Delay (ms)"
64
+ },
65
+ "duration": {
66
+ "type": "number",
67
+ "description": "Duration (ms)"
68
+ },
69
+ "timingFunc": {
70
+ "type": "string",
71
+ "description": "Timing function"
72
+ },
73
+ "leaveTimingFunc": {
74
+ "type": "string",
75
+ "description": "Exit timing function"
76
+ }
77
+ },
78
+ "additionalProperties": false,
79
+ "description": "Modal animation"
49
80
  },
50
81
  "enableDrag": {
51
82
  "type": "boolean",
52
- "default": false,
53
- "description": "드래그 활성화 (draggable 레이아웃)"
83
+ "default": true,
84
+ "description": "Enable drag (bottom-sheet/draggable layouts)"
54
85
  },
55
86
  "dragPersistKey": {
56
87
  "type": "string",
57
- "description": "드래그 위치 저장 "
88
+ "description": "Drag position persistence key"
89
+ },
90
+ "close": {
91
+ "description": "Modal close function (isAnimation?: boolean) => void (auto-injected)"
92
+ },
93
+ "children": {
94
+ "description": "Modal body (ReactNode, required)"
95
+ },
96
+ "className": {
97
+ "type": "string",
98
+ "description": "Root wrapper style"
58
99
  },
59
100
  "innerClassName": {
60
101
  "type": "string",
61
- "description": "모달 본체 스타일"
102
+ "description": "Modal body style"
62
103
  },
63
104
  "bodyClassName": {
64
105
  "type": "string",
65
- "description": "바디 영역 스타일"
106
+ "description": "Body area style"
107
+ },
108
+ "footerClassName": {
109
+ "type": "string",
110
+ "description": "Footer area style"
111
+ },
112
+ "dimClassName": {
113
+ "type": "string",
114
+ "description": "Dim overlay style"
115
+ },
116
+ "headerClassName": {
117
+ "type": "string",
118
+ "description": "Header area style"
66
119
  }
67
120
  },
68
121
  "additionalProperties": false,
69
- "description": "모달 템플릿. 모든 모달 컴포넌트는 반드시 ModalTemplate으로 감싸야 한다."
122
+ "description": "Modal template. All modal components must be wrapped with ModalTemplate."
70
123
  }
71
124
  },
72
125
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -9,56 +9,86 @@
9
9
  "number",
10
10
  "string"
11
11
  ],
12
- "description": "현재 "
12
+ "description": "Current value"
13
13
  },
14
14
  "size": {
15
15
  "type": "string",
16
16
  "enum": [
17
17
  "sm",
18
18
  "md",
19
- "lg"
19
+ "lg",
20
+ "xl"
20
21
  ],
21
22
  "default": "md",
22
- "description": "크기"
23
+ "description": "Size"
23
24
  },
24
25
  "error": {
25
26
  "type": "boolean",
26
- "description": "에러 상태"
27
+ "description": "Error state"
27
28
  },
28
29
  "min": {
29
30
  "type": "number",
30
- "description": "최소값"
31
+ "description": "Minimum value"
31
32
  },
32
33
  "max": {
33
34
  "type": "number",
34
- "description": "최대값"
35
+ "description": "Maximum value"
35
36
  },
36
37
  "step": {
37
38
  "type": "number",
38
39
  "default": 1,
39
- "description": "증감 단위"
40
+ "description": "Step increment"
40
41
  },
41
42
  "digit": {
42
43
  "type": "number",
43
44
  "default": 0,
44
- "description": "소수 자릿수"
45
+ "description": "Decimal places"
45
46
  },
46
47
  "hideButtons": {
47
48
  "type": "boolean",
48
49
  "default": false,
49
- "description": "기본 스핀 버튼 숨김. numberInputBind 외부 버튼에 이벤트 부착 시 사용"
50
+ "description": "Hide default spin buttons. Use with numberInputBind for external button event binding"
50
51
  },
51
52
  "disabled": {
52
53
  "type": "boolean",
53
- "description": "비활성"
54
+ "description": "Disabled"
55
+ },
56
+ "readOnly": {
57
+ "type": "boolean",
58
+ "description": "Read-only (includes hiding spin buttons)"
59
+ },
60
+ "placeholder": {
61
+ "type": "string",
62
+ "description": "Placeholder"
63
+ },
64
+ "name": {
65
+ "type": "string",
66
+ "description": "Form field name"
67
+ },
68
+ "id": {
69
+ "type": "string",
70
+ "description": "Element ID"
71
+ },
72
+ "autoFocus": {
73
+ "type": "boolean",
74
+ "description": "Auto focus"
75
+ },
76
+ "onValueChange": {
77
+ "description": "Value change callback (value: number | undefined) => void"
78
+ },
79
+ "onBlur": {
80
+ "description": "Blur callback"
81
+ },
82
+ "onFocus": {
83
+ "description": "Focus callback"
54
84
  },
55
85
  "className": {
56
86
  "type": "string",
57
- "description": "스타일 오버라이드"
87
+ "description": "Style override"
58
88
  }
59
89
  },
60
90
  "additionalProperties": false,
61
- "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."
62
92
  }
63
93
  },
64
94
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,56 @@
1
+ {
2
+ "$ref": "#/definitions/nxImagePropsSchema",
3
+ "definitions": {
4
+ "nxImagePropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "src": {
8
+ "type": "string",
9
+ "description": "Image source URL"
10
+ },
11
+ "alt": {
12
+ "type": "string",
13
+ "description": "Alt text"
14
+ },
15
+ "fallback": {
16
+ "description": "Custom fallback element (ReactNode)"
17
+ },
18
+ "fallbackSrc": {
19
+ "type": "string",
20
+ "description": "Fallback image URL on error"
21
+ },
22
+ "aspectRatio": {
23
+ "type": "string",
24
+ "description": "CSS aspect-ratio (e.g. \"16/9\", \"1/1\")"
25
+ },
26
+ "objectFit": {
27
+ "type": "string",
28
+ "enum": [
29
+ "cover",
30
+ "contain",
31
+ "fill",
32
+ "none"
33
+ ],
34
+ "default": "cover",
35
+ "description": "Object-fit mode"
36
+ },
37
+ "lazy": {
38
+ "type": "boolean",
39
+ "default": true,
40
+ "description": "Enable lazy loading (loading=\"lazy\")"
41
+ },
42
+ "wrapperClassName": {
43
+ "type": "string",
44
+ "description": "Wrapper div style"
45
+ },
46
+ "className": {
47
+ "type": "string",
48
+ "description": "Image element style"
49
+ }
50
+ },
51
+ "additionalProperties": false,
52
+ "description": "Enhanced image. Lazy loading, fallback, aspect-ratio support."
53
+ }
54
+ },
55
+ "$schema": "http://json-schema.org/draft-07/schema#"
56
+ }
@@ -6,16 +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
+ },
20
+ "showEdges": {
21
+ "type": "boolean",
22
+ "description": "Always show first/last page"
19
23
  },
20
24
  "size": {
21
25
  "type": "string",
@@ -24,11 +28,14 @@
24
28
  "md"
25
29
  ],
26
30
  "default": "md",
27
- "description": "크기"
31
+ "description": "Size"
32
+ },
33
+ "onPageChange": {
34
+ "description": "Page change callback (page: number) => void, required"
28
35
  },
29
36
  "className": {
30
37
  "type": "string",
31
- "description": "<nav> 스타일"
38
+ "description": "<nav> style"
32
39
  }
33
40
  },
34
41
  "required": [
@@ -36,7 +43,7 @@
36
43
  "totalPages"
37
44
  ],
38
45
  "additionalProperties": false,
39
- "description": "페이지네이션. 이전/다음 + 번호 버튼."
46
+ "description": "Pagination. Previous/next + page number buttons."
40
47
  }
41
48
  },
42
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,32 +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
+ },
44
+ "onOpenChange": {
45
+ "description": "Open/close state change callback (open: boolean) => void"
46
+ },
47
+ "onClickTrigger": {
48
+ "description": "Callback on trigger element click. Passed to PopoverPrimitive.Trigger onClick."
49
+ },
50
+ "children": {
51
+ "description": "Popover body (ReactNode)"
43
52
  },
44
53
  "className": {
45
54
  "type": "string",
46
- "description": "Content 스타일"
55
+ "description": "Content style"
47
56
  },
48
57
  "arrowClassName": {
49
58
  "type": "string",
50
- "description": "Arrow 스타일"
59
+ "description": "Arrow style"
51
60
  }
52
61
  },
53
62
  "additionalProperties": false,
54
- "description": "팝오버. Radix Popover 기반."
63
+ "description": "Popover. Based on Radix Popover."
55
64
  }
56
65
  },
57
66
  "$schema": "http://json-schema.org/draft-07/schema#"
@@ -0,0 +1,104 @@
1
+ {
2
+ "$ref": "#/definitions/priceInputPropsSchema",
3
+ "definitions": {
4
+ "priceInputPropsSchema": {
5
+ "type": "object",
6
+ "properties": {
7
+ "size": {
8
+ "type": "string",
9
+ "enum": [
10
+ "md",
11
+ "lg",
12
+ "xl"
13
+ ],
14
+ "default": "md",
15
+ "description": "Size"
16
+ },
17
+ "error": {
18
+ "type": "boolean",
19
+ "description": "Error state (shows danger border)"
20
+ },
21
+ "prefix": {
22
+ "anyOf": [
23
+ {
24
+ "type": "boolean"
25
+ },
26
+ {}
27
+ ],
28
+ "default": true,
29
+ "description": "Prefix element. true = \"$\", ReactNode = custom content, false = hidden"
30
+ },
31
+ "suffix": {
32
+ "description": "Suffix element after the input (e.g. \"CROSSD\", icon, ReactNode)"
33
+ },
34
+ "label": {
35
+ "description": "Label displayed above the input (ReactNode)"
36
+ },
37
+ "description": {
38
+ "description": "Description below the input. Turns red on error (ReactNode)"
39
+ },
40
+ "balance": {
41
+ "type": [
42
+ "string",
43
+ "number"
44
+ ],
45
+ "description": "Balance value in the header. Clicking fills the input"
46
+ },
47
+ "balanceLabel": {
48
+ "type": "string",
49
+ "default": "Balance",
50
+ "description": "Label text for balance display"
51
+ },
52
+ "balanceContent": {
53
+ "description": "Custom balance display (ReactNode). Replaces default text, keeps click-to-fill"
54
+ },
55
+ "maxBalance": {
56
+ "type": "number",
57
+ "description": "Max allowed value. Exceeding auto-applies error state and turns balance red"
58
+ },
59
+ "separator": {
60
+ "type": "boolean",
61
+ "default": false,
62
+ "description": "Display thousands separator (comma). onValueChange receives raw value without commas"
63
+ },
64
+ "align": {
65
+ "type": "string",
66
+ "enum": [
67
+ "left",
68
+ "right"
69
+ ],
70
+ "default": "left",
71
+ "description": "Text alignment inside the input"
72
+ },
73
+ "disabled": {
74
+ "type": "boolean",
75
+ "description": "Disabled"
76
+ },
77
+ "placeholder": {
78
+ "type": "string",
79
+ "description": "Placeholder"
80
+ },
81
+ "value": {
82
+ "description": "Controlled value"
83
+ },
84
+ "id": {
85
+ "type": "string",
86
+ "description": "Element ID"
87
+ },
88
+ "onValueChange": {
89
+ "description": "Value change callback (value: string) => void"
90
+ },
91
+ "onBalanceClick": {
92
+ "description": "Balance click callback (balance: string | number) => void"
93
+ },
94
+ "className": {
95
+ "type": "string",
96
+ "description": "Style override"
97
+ }
98
+ },
99
+ "additionalProperties": false,
100
+ "description": "Price/amount input field with prefix, suffix, balance display, and auto-fill on balance click."
101
+ }
102
+ },
103
+ "$schema": "http://json-schema.org/draft-07/schema#"
104
+ }