@jbpark/ui-kit 10.2.0 → 10.4.0

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 (505) hide show
  1. package/README.ko.md +97 -76
  2. package/README.md +91 -70
  3. package/dist/Alert.d.mts +2 -2
  4. package/dist/Alert.d.mts.map +1 -1
  5. package/dist/Alert.mjs +1 -1
  6. package/dist/Anchor.d.mts +29 -0
  7. package/dist/Anchor.d.mts.map +1 -0
  8. package/dist/Anchor.mjs +120 -0
  9. package/dist/Anchor.mjs.map +1 -0
  10. package/dist/AutoComplete.d.mts +34 -0
  11. package/dist/AutoComplete.d.mts.map +1 -0
  12. package/dist/AutoComplete.mjs +82 -0
  13. package/dist/AutoComplete.mjs.map +1 -0
  14. package/dist/Avatar.d.mts +2 -2
  15. package/dist/Avatar.d.mts.map +1 -1
  16. package/dist/Avatar.mjs +2 -2
  17. package/dist/Badge.d.mts +2 -2
  18. package/dist/Badge.d.mts.map +1 -1
  19. package/dist/Breadcrumb.d.mts +3 -3
  20. package/dist/Breadcrumb.d.mts.map +1 -1
  21. package/dist/Breadcrumb.mjs +2 -2
  22. package/dist/Breadcrumb.mjs.map +1 -1
  23. package/dist/Button.d.mts +3 -3
  24. package/dist/Button.d.mts.map +1 -1
  25. package/dist/Button.mjs +1 -1
  26. package/dist/Calendar.d.mts +28 -0
  27. package/dist/Calendar.d.mts.map +1 -0
  28. package/dist/Calendar.mjs +64 -0
  29. package/dist/Calendar.mjs.map +1 -0
  30. package/dist/Card.d.mts +2 -2
  31. package/dist/Card.d.mts.map +1 -1
  32. package/dist/Cascader.d.mts +34 -0
  33. package/dist/Cascader.d.mts.map +1 -0
  34. package/dist/Cascader.mjs +144 -0
  35. package/dist/Cascader.mjs.map +1 -0
  36. package/dist/Checkbox.d.mts +10 -0
  37. package/dist/Checkbox.d.mts.map +1 -0
  38. package/dist/Checkbox.mjs +9 -0
  39. package/dist/Checkbox.mjs.map +1 -0
  40. package/dist/CodeEditor.d.mts +10 -4
  41. package/dist/CodeEditor.d.mts.map +1 -1
  42. package/dist/CodeEditor.mjs +9 -4
  43. package/dist/CodeEditor.mjs.map +1 -1
  44. package/dist/{components/molecules/collapse.d.mts → Collapse.d.mts} +3 -3
  45. package/dist/Collapse.d.mts.map +1 -0
  46. package/dist/{components/molecules/collapse.mjs → Collapse.mjs} +3 -3
  47. package/dist/Collapse.mjs.map +1 -0
  48. package/dist/{components/atoms/color-picker.d.mts → ColorPicker.d.mts} +3 -3
  49. package/dist/ColorPicker.d.mts.map +1 -0
  50. package/dist/{components/atoms/color-picker.mjs → ColorPicker.mjs} +3 -3
  51. package/dist/ColorPicker.mjs.map +1 -0
  52. package/dist/{components/templates/container.d.mts → Container.d.mts} +3 -3
  53. package/dist/Container.d.mts.map +1 -0
  54. package/dist/{components/templates/container.mjs → Container.mjs} +2 -2
  55. package/dist/Container.mjs.map +1 -0
  56. package/dist/ContextMenu.d.mts +33 -0
  57. package/dist/ContextMenu.d.mts.map +1 -0
  58. package/dist/ContextMenu.mjs +92 -0
  59. package/dist/ContextMenu.mjs.map +1 -0
  60. package/dist/{components/atoms/date-picker.d.mts → DatePicker.d.mts} +6 -2
  61. package/dist/DatePicker.d.mts.map +1 -0
  62. package/dist/DatePicker.mjs +88 -0
  63. package/dist/DatePicker.mjs.map +1 -0
  64. package/dist/Descriptions.d.mts +31 -0
  65. package/dist/Descriptions.d.mts.map +1 -0
  66. package/dist/Descriptions.mjs +67 -0
  67. package/dist/Descriptions.mjs.map +1 -0
  68. package/dist/Divider.d.mts +18 -0
  69. package/dist/Divider.d.mts.map +1 -0
  70. package/dist/Divider.mjs +44 -0
  71. package/dist/Divider.mjs.map +1 -0
  72. package/dist/{components/organisms/drawer.d.mts → Drawer.d.mts} +3 -3
  73. package/dist/Drawer.d.mts.map +1 -0
  74. package/dist/{components/organisms/drawer.mjs → Drawer.mjs} +6 -6
  75. package/dist/Drawer.mjs.map +1 -0
  76. package/dist/{components/molecules/dropdown.d.mts → Dropdown.d.mts} +4 -4
  77. package/dist/Dropdown.d.mts.map +1 -0
  78. package/dist/{components/molecules/dropdown.mjs → Dropdown.mjs} +4 -4
  79. package/dist/Dropdown.mjs.map +1 -0
  80. package/dist/{components/templates/empty.d.mts → Empty.d.mts} +4 -4
  81. package/dist/Empty.d.mts.map +1 -0
  82. package/dist/{components/templates/empty.mjs → Empty.mjs} +4 -4
  83. package/dist/Empty.mjs.map +1 -0
  84. package/dist/FloatButton.d.mts +10 -0
  85. package/dist/FloatButton.d.mts.map +1 -0
  86. package/dist/FloatButton.mjs +9 -0
  87. package/dist/FloatButton.mjs.map +1 -0
  88. package/dist/Form.d.mts +12 -0
  89. package/dist/Form.d.mts.map +1 -0
  90. package/dist/Form.mjs +11 -0
  91. package/dist/Form.mjs.map +1 -0
  92. package/dist/Input.d.mts +16 -0
  93. package/dist/Input.d.mts.map +1 -0
  94. package/dist/Input.mjs +15 -0
  95. package/dist/Input.mjs.map +1 -0
  96. package/dist/Layout.d.mts.map +1 -1
  97. package/dist/{components/organisms/list/index.d.mts → List.d.mts} +3 -3
  98. package/dist/List.d.mts.map +1 -0
  99. package/dist/List.mjs +9 -0
  100. package/dist/List.mjs.map +1 -0
  101. package/dist/Marquees.d.mts +10 -0
  102. package/dist/Marquees.d.mts.map +1 -0
  103. package/dist/Marquees.mjs +9 -0
  104. package/dist/Marquees.mjs.map +1 -0
  105. package/dist/Mentions.d.mts +34 -0
  106. package/dist/Mentions.d.mts.map +1 -0
  107. package/dist/Mentions.mjs +208 -0
  108. package/dist/Mentions.mjs.map +1 -0
  109. package/dist/Menu.mjs +1 -2
  110. package/dist/{components/organisms/modal.d.mts → Modal.d.mts} +7 -4
  111. package/dist/Modal.d.mts.map +1 -0
  112. package/dist/{components/organisms/modal.mjs → Modal.mjs} +30 -23
  113. package/dist/Modal.mjs.map +1 -0
  114. package/dist/{components/templates/page-header.d.mts → PageHeader.d.mts} +3 -3
  115. package/dist/PageHeader.d.mts.map +1 -0
  116. package/dist/{components/templates/page-header.mjs → PageHeader.mjs} +5 -5
  117. package/dist/PageHeader.mjs.map +1 -0
  118. package/dist/Pagination.d.mts +2 -2
  119. package/dist/Pagination.d.mts.map +1 -1
  120. package/dist/Pagination.mjs +3 -3
  121. package/dist/Popconfirm.d.mts +33 -0
  122. package/dist/Popconfirm.d.mts.map +1 -0
  123. package/dist/Popconfirm.mjs +119 -0
  124. package/dist/Popconfirm.mjs.map +1 -0
  125. package/dist/{components/atoms/popover.d.mts → Popover.d.mts} +3 -3
  126. package/dist/Popover.d.mts.map +1 -0
  127. package/dist/{components/atoms/popover.mjs → Popover.mjs} +4 -4
  128. package/dist/Popover.mjs.map +1 -0
  129. package/dist/{components/atoms/progress.d.mts → Progress.d.mts} +3 -3
  130. package/dist/Progress.d.mts.map +1 -0
  131. package/dist/{components/atoms/progress.mjs → Progress.mjs} +3 -3
  132. package/dist/Progress.mjs.map +1 -0
  133. package/dist/Radio.d.mts +10 -0
  134. package/dist/Radio.d.mts.map +1 -0
  135. package/dist/Radio.mjs +9 -0
  136. package/dist/Radio.mjs.map +1 -0
  137. package/dist/Rate.d.mts +27 -0
  138. package/dist/Rate.d.mts.map +1 -0
  139. package/dist/Rate.mjs +81 -0
  140. package/dist/Rate.mjs.map +1 -0
  141. package/dist/{components/templates/result.d.mts → Result.d.mts} +3 -3
  142. package/dist/Result.d.mts.map +1 -0
  143. package/dist/{components/templates/result.mjs → Result.mjs} +3 -3
  144. package/dist/Result.mjs.map +1 -0
  145. package/dist/Reveals.d.mts.map +1 -1
  146. package/dist/RichTextEditor.d.mts +3 -0
  147. package/dist/RichTextEditor.mjs +1 -0
  148. package/dist/ScrollArea.d.mts +8 -0
  149. package/dist/ScrollArea.d.mts.map +1 -0
  150. package/dist/ScrollArea.mjs +11 -0
  151. package/dist/ScrollArea.mjs.map +1 -0
  152. package/dist/Segmented.d.mts +3 -3
  153. package/dist/Segmented.d.mts.map +1 -1
  154. package/dist/{components/atoms/select.d.mts → Select.d.mts} +7 -7
  155. package/dist/Select.d.mts.map +1 -0
  156. package/dist/{components/atoms/select.mjs → Select.mjs} +5 -5
  157. package/dist/Select.mjs.map +1 -0
  158. package/dist/Skeleton.d.mts +12 -0
  159. package/dist/Skeleton.d.mts.map +1 -0
  160. package/dist/Skeleton.mjs +11 -0
  161. package/dist/Skeleton.mjs.map +1 -0
  162. package/dist/Slider.d.mts +2 -0
  163. package/dist/{components/atoms/slider/index.mjs → Slider.mjs} +2 -2
  164. package/dist/Slider.mjs.map +1 -0
  165. package/dist/Space.d.mts +5 -4
  166. package/dist/Space.d.mts.map +1 -1
  167. package/dist/Space.mjs +13 -4
  168. package/dist/Space.mjs.map +1 -1
  169. package/dist/{components/atoms/spin.d.mts → Spin.d.mts} +3 -3
  170. package/dist/Spin.d.mts.map +1 -0
  171. package/dist/{components/atoms/spin.mjs → Spin.mjs} +4 -4
  172. package/dist/Spin.mjs.map +1 -0
  173. package/dist/Splitter.d.mts +10 -0
  174. package/dist/Splitter.d.mts.map +1 -0
  175. package/dist/Splitter.mjs +9 -0
  176. package/dist/Splitter.mjs.map +1 -0
  177. package/dist/Statistic.d.mts +22 -0
  178. package/dist/Statistic.d.mts.map +1 -0
  179. package/dist/Statistic.mjs +53 -0
  180. package/dist/Statistic.mjs.map +1 -0
  181. package/dist/Steps.d.mts +3 -3
  182. package/dist/Steps.d.mts.map +1 -1
  183. package/dist/Steps.mjs +1 -1
  184. package/dist/Swiper.d.mts +10 -0
  185. package/dist/Swiper.d.mts.map +1 -0
  186. package/dist/Swiper.mjs +9 -0
  187. package/dist/Swiper.mjs.map +1 -0
  188. package/dist/{components/atoms/switch.d.mts → Switch.d.mts} +4 -4
  189. package/dist/Switch.d.mts.map +1 -0
  190. package/dist/{components/atoms/switch.mjs → Switch.mjs} +4 -4
  191. package/dist/Switch.mjs.map +1 -0
  192. package/dist/Table.d.mts +4 -4
  193. package/dist/Table.d.mts.map +1 -1
  194. package/dist/Table.mjs +2 -2
  195. package/dist/Table.mjs.map +1 -1
  196. package/dist/{components/molecules/tabs.d.mts → Tabs.d.mts} +6 -6
  197. package/dist/Tabs.d.mts.map +1 -0
  198. package/dist/{components/molecules/tabs.mjs → Tabs.mjs} +3 -3
  199. package/dist/Tabs.mjs.map +1 -0
  200. package/dist/Tag.d.mts +3 -3
  201. package/dist/Tag.d.mts.map +1 -1
  202. package/dist/TimePicker.d.mts +26 -0
  203. package/dist/TimePicker.d.mts.map +1 -0
  204. package/dist/TimePicker.mjs +77 -0
  205. package/dist/TimePicker.mjs.map +1 -0
  206. package/dist/Timeline.d.mts +35 -0
  207. package/dist/Timeline.d.mts.map +1 -0
  208. package/dist/Timeline.mjs +59 -0
  209. package/dist/Timeline.mjs.map +1 -0
  210. package/dist/{components/organisms/toast.d.mts → Toast.d.mts} +14 -4
  211. package/dist/Toast.d.mts.map +1 -0
  212. package/dist/Toast.mjs +198 -0
  213. package/dist/Toast.mjs.map +1 -0
  214. package/dist/ToggleGroup.d.mts +28 -0
  215. package/dist/ToggleGroup.d.mts.map +1 -0
  216. package/dist/ToggleGroup.mjs +58 -0
  217. package/dist/ToggleGroup.mjs.map +1 -0
  218. package/dist/{components/atoms/tooltip.d.mts → Tooltip.d.mts} +3 -3
  219. package/dist/Tooltip.d.mts.map +1 -0
  220. package/dist/{components/atoms/tooltip.mjs → Tooltip.mjs} +2 -2
  221. package/dist/Tooltip.mjs.map +1 -0
  222. package/dist/Tour.d.mts +37 -0
  223. package/dist/Tour.d.mts.map +1 -0
  224. package/dist/Tour.mjs +175 -0
  225. package/dist/Tour.mjs.map +1 -0
  226. package/dist/Transfer.d.mts +36 -0
  227. package/dist/Transfer.d.mts.map +1 -0
  228. package/dist/Transfer.mjs +147 -0
  229. package/dist/Transfer.mjs.map +1 -0
  230. package/dist/Tree.d.mts +62 -0
  231. package/dist/Tree.d.mts.map +1 -0
  232. package/dist/Tree.mjs +462 -0
  233. package/dist/Tree.mjs.map +1 -0
  234. package/dist/TreeSelect.d.mts +34 -0
  235. package/dist/TreeSelect.d.mts.map +1 -0
  236. package/dist/TreeSelect.mjs +135 -0
  237. package/dist/TreeSelect.mjs.map +1 -0
  238. package/dist/Typography.d.mts.map +1 -1
  239. package/dist/{components/molecules/upload.d.mts → Upload.d.mts} +4 -4
  240. package/dist/Upload.d.mts.map +1 -0
  241. package/dist/{components/molecules/upload.mjs → Upload.mjs} +7 -7
  242. package/dist/Upload.mjs.map +1 -0
  243. package/dist/components/atoms/checkbox/checkbox.d.mts +5 -3
  244. package/dist/components/atoms/checkbox/checkbox.d.mts.map +1 -1
  245. package/dist/components/atoms/checkbox/checkbox.mjs +8 -4
  246. package/dist/components/atoms/checkbox/checkbox.mjs.map +1 -1
  247. package/dist/components/atoms/checkbox/group.d.mts +2 -2
  248. package/dist/components/atoms/checkbox/group.d.mts.map +1 -1
  249. package/dist/components/atoms/float-button/back-top.d.mts +2 -2
  250. package/dist/components/atoms/float-button/back-top.d.mts.map +1 -1
  251. package/dist/components/atoms/float-button/back-top.mjs +1 -1
  252. package/dist/components/atoms/float-button/float-button.d.mts +2 -2
  253. package/dist/components/atoms/float-button/float-button.d.mts.map +1 -1
  254. package/dist/components/atoms/index.d.mts +37 -23
  255. package/dist/components/atoms/input/input.d.mts +2 -1
  256. package/dist/components/atoms/input/input.d.mts.map +1 -1
  257. package/dist/components/atoms/input/input.mjs.map +1 -1
  258. package/dist/components/atoms/input/number.d.mts +2 -2
  259. package/dist/components/atoms/input/number.d.mts.map +1 -1
  260. package/dist/components/atoms/input/number.mjs +1 -1
  261. package/dist/components/atoms/input/otp.d.mts +26 -0
  262. package/dist/components/atoms/input/otp.d.mts.map +1 -0
  263. package/dist/components/atoms/input/otp.mjs +52 -0
  264. package/dist/components/atoms/input/otp.mjs.map +1 -0
  265. package/dist/components/atoms/input/search.d.mts +2 -2
  266. package/dist/components/atoms/input/search.d.mts.map +1 -1
  267. package/dist/components/atoms/input/search.mjs +2 -2
  268. package/dist/components/atoms/mentions-token.mjs +31 -0
  269. package/dist/components/atoms/mentions-token.mjs.map +1 -0
  270. package/dist/components/atoms/option-group.d.mts +4 -5
  271. package/dist/components/atoms/option-group.d.mts.map +1 -1
  272. package/dist/components/atoms/radio/group.d.mts +2 -2
  273. package/dist/components/atoms/radio/group.d.mts.map +1 -1
  274. package/dist/components/atoms/radio/group.mjs +1 -1
  275. package/dist/components/atoms/radio/radio.d.mts +2 -2
  276. package/dist/components/atoms/radio/radio.d.mts.map +1 -1
  277. package/dist/components/atoms/radio/radio.mjs +1 -1
  278. package/dist/components/atoms/rich-text-editor/rich-text-editor.d.mts +2 -2
  279. package/dist/components/atoms/rich-text-editor/rich-text-editor.d.mts.map +1 -1
  280. package/dist/components/atoms/rich-text-editor/toolbar-presets.mjs +5 -5
  281. package/dist/components/atoms/rich-text-editor/types.d.mts +2 -3
  282. package/dist/components/atoms/rich-text-editor/types.d.mts.map +1 -1
  283. package/dist/components/atoms/select-multiple.d.mts +2 -3
  284. package/dist/components/atoms/select-multiple.d.mts.map +1 -1
  285. package/dist/components/atoms/select-multiple.mjs +5 -4
  286. package/dist/components/atoms/select-multiple.mjs.map +1 -1
  287. package/dist/components/atoms/select-searchable-options.d.mts +3 -4
  288. package/dist/components/atoms/select-searchable-options.d.mts.map +1 -1
  289. package/dist/components/atoms/select-searchable.d.mts +2 -3
  290. package/dist/components/atoms/select-searchable.d.mts.map +1 -1
  291. package/dist/components/atoms/select-searchable.mjs +5 -4
  292. package/dist/components/atoms/select-searchable.mjs.map +1 -1
  293. package/dist/components/atoms/skeleton/button.d.mts.map +1 -1
  294. package/dist/components/atoms/skeleton/node.d.mts.map +1 -1
  295. package/dist/components/atoms/skeleton/skeleton.d.mts +2 -2
  296. package/dist/components/atoms/skeleton/skeleton.d.mts.map +1 -1
  297. package/dist/components/atoms/slider/slider.d.mts +3 -3
  298. package/dist/components/atoms/slider/slider.d.mts.map +1 -1
  299. package/dist/components/atoms/typography/link.d.mts +2 -2
  300. package/dist/components/atoms/typography/link.d.mts.map +1 -1
  301. package/dist/components/atoms/typography/paragraph.d.mts +2 -2
  302. package/dist/components/atoms/typography/paragraph.d.mts.map +1 -1
  303. package/dist/components/atoms/typography/text.d.mts +2 -2
  304. package/dist/components/atoms/typography/text.d.mts.map +1 -1
  305. package/dist/components/atoms/typography/title.d.mts +2 -2
  306. package/dist/components/atoms/typography/title.d.mts.map +1 -1
  307. package/dist/components/atoms/typography/typography.d.mts +2 -2
  308. package/dist/components/atoms/typography/typography.d.mts.map +1 -1
  309. package/dist/components/molecules/index.d.mts +25 -16
  310. package/dist/components/molecules/marquees/item.d.mts +4 -4
  311. package/dist/components/molecules/marquees/item.d.mts.map +1 -1
  312. package/dist/components/molecules/marquees/item.mjs +5 -5
  313. package/dist/components/molecules/marquees/item.mjs.map +1 -1
  314. package/dist/components/molecules/marquees/marquees.d.mts +2 -2
  315. package/dist/components/molecules/marquees/marquees.d.mts.map +1 -1
  316. package/dist/components/molecules/marquees/marquees.mjs +4 -5
  317. package/dist/components/molecules/marquees/marquees.mjs.map +1 -1
  318. package/dist/components/molecules/menu/item/item.mjs +1 -1
  319. package/dist/components/molecules/menu/menu.d.mts +9 -9
  320. package/dist/components/molecules/menu/menu.d.mts.map +1 -1
  321. package/dist/components/molecules/reveals/item.d.mts +2 -2
  322. package/dist/components/molecules/reveals/item.d.mts.map +1 -1
  323. package/dist/components/molecules/reveals/reveals.d.mts +5 -5
  324. package/dist/components/molecules/reveals/reveals.d.mts.map +1 -1
  325. package/dist/components/molecules/splitter/panel.d.mts +3 -3
  326. package/dist/components/molecules/splitter/panel.d.mts.map +1 -1
  327. package/dist/components/molecules/splitter/splitter.d.mts +3 -3
  328. package/dist/components/molecules/splitter/splitter.d.mts.map +1 -1
  329. package/dist/components/organisms/form/context.d.mts +4 -0
  330. package/dist/components/organisms/form/context.d.mts.map +1 -0
  331. package/dist/components/organisms/form/context.mjs +9 -0
  332. package/dist/components/organisms/form/context.mjs.map +1 -0
  333. package/dist/components/organisms/form/control.d.mts +11 -0
  334. package/dist/components/organisms/form/control.d.mts.map +1 -0
  335. package/dist/components/organisms/form/control.mjs +19 -0
  336. package/dist/components/organisms/form/control.mjs.map +1 -0
  337. package/dist/components/organisms/form/field.d.mts +25 -0
  338. package/dist/components/organisms/form/field.d.mts.map +1 -0
  339. package/dist/components/organisms/form/field.mjs +54 -0
  340. package/dist/components/organisms/form/field.mjs.map +1 -0
  341. package/dist/components/organisms/form/form.d.mts +14 -0
  342. package/dist/components/organisms/form/form.d.mts.map +1 -0
  343. package/dist/components/organisms/form/form.mjs +23 -0
  344. package/dist/components/organisms/form/form.mjs.map +1 -0
  345. package/dist/components/organisms/imperative-stack.mjs +16 -1
  346. package/dist/components/organisms/imperative-stack.mjs.map +1 -1
  347. package/dist/components/organisms/index.d.mts +17 -9
  348. package/dist/components/organisms/list/list.d.mts +3 -3
  349. package/dist/components/organisms/list/list.d.mts.map +1 -1
  350. package/dist/components/organisms/list/list.mjs +1 -1
  351. package/dist/components/organisms/swiper/swiper.d.mts +8 -2
  352. package/dist/components/organisms/swiper/swiper.d.mts.map +1 -1
  353. package/dist/components/organisms/swiper/swiper.mjs +1 -1
  354. package/dist/components/templates/grid/col.d.mts +2 -2
  355. package/dist/components/templates/grid/col.d.mts.map +1 -1
  356. package/dist/components/templates/grid/row.d.mts +2 -2
  357. package/dist/components/templates/grid/row.d.mts.map +1 -1
  358. package/dist/components/templates/index.d.mts +11 -12
  359. package/dist/components/templates/layout/content.d.mts +2 -2
  360. package/dist/components/templates/layout/content.d.mts.map +1 -1
  361. package/dist/components/templates/layout/footer.d.mts +2 -2
  362. package/dist/components/templates/layout/footer.d.mts.map +1 -1
  363. package/dist/components/templates/layout/header.d.mts +2 -2
  364. package/dist/components/templates/layout/header.d.mts.map +1 -1
  365. package/dist/components/templates/layout/layout.d.mts +2 -2
  366. package/dist/components/templates/layout/layout.d.mts.map +1 -1
  367. package/dist/components/templates/layout/sider.d.mts +2 -2
  368. package/dist/components/templates/layout/sider.d.mts.map +1 -1
  369. package/dist/components/templates/layout/sider.mjs +5 -7
  370. package/dist/components/templates/layout/sider.mjs.map +1 -1
  371. package/dist/core/accordion.mjs +1 -1
  372. package/dist/core/autocomplete.d.mts +2 -0
  373. package/dist/core/autocomplete.mjs +48 -0
  374. package/dist/core/autocomplete.mjs.map +1 -0
  375. package/dist/core/badge.d.mts +5 -3
  376. package/dist/core/badge.d.mts.map +1 -1
  377. package/dist/core/button.d.mts +5 -3
  378. package/dist/core/button.d.mts.map +1 -1
  379. package/dist/core/calendar.d.mts +13 -3
  380. package/dist/core/calendar.d.mts.map +1 -0
  381. package/dist/core/calendar.mjs +1 -1
  382. package/dist/core/checkbox.mjs +11 -8
  383. package/dist/core/checkbox.mjs.map +1 -1
  384. package/dist/core/combobox.d.mts +26 -4
  385. package/dist/core/combobox.d.mts.map +1 -1
  386. package/dist/core/combobox.mjs +2 -2
  387. package/dist/core/combobox.mjs.map +1 -1
  388. package/dist/core/dialog.mjs +2 -2
  389. package/dist/core/dialog.mjs.map +1 -1
  390. package/dist/core/form.d.mts +8 -0
  391. package/dist/core/form.d.mts.map +1 -0
  392. package/dist/core/form.mjs +3 -0
  393. package/dist/core/index.d.mts +13 -9
  394. package/dist/core/popover.mjs +10 -2
  395. package/dist/core/popover.mjs.map +1 -1
  396. package/dist/core/radio-group.mjs +1 -1
  397. package/dist/core/resizable.d.mts +7 -2
  398. package/dist/core/resizable.d.mts.map +1 -1
  399. package/dist/core/resizable.mjs +1 -1
  400. package/dist/core/scroll-area.d.mts +20 -0
  401. package/dist/core/scroll-area.d.mts.map +1 -0
  402. package/dist/core/scroll-area.mjs +57 -0
  403. package/dist/core/scroll-area.mjs.map +1 -0
  404. package/dist/core/select.d.mts +24 -2
  405. package/dist/core/select.d.mts.map +1 -1
  406. package/dist/core/select.mjs +1 -1
  407. package/dist/core/separator.d.mts +13 -2
  408. package/dist/core/separator.d.mts.map +1 -0
  409. package/dist/core/tabs.d.mts +16 -2
  410. package/dist/core/tabs.d.mts.map +1 -1
  411. package/dist/index.d.mts +87 -57
  412. package/dist/index.mjs +53 -33
  413. package/dist/lib/colors.d.mts +2 -3
  414. package/dist/lib/colors.d.mts.map +1 -1
  415. package/dist/providers/config/context.d.mts +2 -3
  416. package/dist/providers/config/context.d.mts.map +1 -1
  417. package/dist/providers/config/context.mjs +3 -1
  418. package/dist/providers/config/context.mjs.map +1 -1
  419. package/dist/providers/config/registry.d.mts +2 -3
  420. package/dist/providers/config/registry.d.mts.map +1 -1
  421. package/dist/providers/config/types.d.mts +8 -7
  422. package/dist/providers/config/types.d.mts.map +1 -1
  423. package/dist/style.css +710 -332
  424. package/dist/utils.d.mts +2 -3
  425. package/dist/utils.d.mts.map +1 -1
  426. package/package.json +277 -26
  427. package/dist/components/atoms/checkbox/index.d.mts +0 -10
  428. package/dist/components/atoms/checkbox/index.d.mts.map +0 -1
  429. package/dist/components/atoms/checkbox/index.mjs +0 -9
  430. package/dist/components/atoms/checkbox/index.mjs.map +0 -1
  431. package/dist/components/atoms/color-picker.d.mts.map +0 -1
  432. package/dist/components/atoms/color-picker.mjs.map +0 -1
  433. package/dist/components/atoms/date-picker.d.mts.map +0 -1
  434. package/dist/components/atoms/date-picker.mjs +0 -44
  435. package/dist/components/atoms/date-picker.mjs.map +0 -1
  436. package/dist/components/atoms/float-button/index.d.mts +0 -10
  437. package/dist/components/atoms/float-button/index.d.mts.map +0 -1
  438. package/dist/components/atoms/float-button/index.mjs +0 -9
  439. package/dist/components/atoms/float-button/index.mjs.map +0 -1
  440. package/dist/components/atoms/input/index.d.mts +0 -14
  441. package/dist/components/atoms/input/index.d.mts.map +0 -1
  442. package/dist/components/atoms/input/index.mjs +0 -13
  443. package/dist/components/atoms/input/index.mjs.map +0 -1
  444. package/dist/components/atoms/popover.d.mts.map +0 -1
  445. package/dist/components/atoms/popover.mjs.map +0 -1
  446. package/dist/components/atoms/progress.d.mts.map +0 -1
  447. package/dist/components/atoms/progress.mjs.map +0 -1
  448. package/dist/components/atoms/radio/index.d.mts +0 -10
  449. package/dist/components/atoms/radio/index.d.mts.map +0 -1
  450. package/dist/components/atoms/radio/index.mjs +0 -9
  451. package/dist/components/atoms/radio/index.mjs.map +0 -1
  452. package/dist/components/atoms/rich-text-editor/index.d.mts +0 -3
  453. package/dist/components/atoms/select.d.mts.map +0 -1
  454. package/dist/components/atoms/select.mjs.map +0 -1
  455. package/dist/components/atoms/skeleton/index.d.mts +0 -12
  456. package/dist/components/atoms/skeleton/index.d.mts.map +0 -1
  457. package/dist/components/atoms/skeleton/index.mjs +0 -11
  458. package/dist/components/atoms/skeleton/index.mjs.map +0 -1
  459. package/dist/components/atoms/slider/index.mjs.map +0 -1
  460. package/dist/components/atoms/spin.d.mts.map +0 -1
  461. package/dist/components/atoms/spin.mjs.map +0 -1
  462. package/dist/components/atoms/switch.d.mts.map +0 -1
  463. package/dist/components/atoms/switch.mjs.map +0 -1
  464. package/dist/components/atoms/tooltip.d.mts.map +0 -1
  465. package/dist/components/atoms/tooltip.mjs.map +0 -1
  466. package/dist/components/molecules/collapse.d.mts.map +0 -1
  467. package/dist/components/molecules/collapse.mjs.map +0 -1
  468. package/dist/components/molecules/dropdown.d.mts.map +0 -1
  469. package/dist/components/molecules/dropdown.mjs.map +0 -1
  470. package/dist/components/molecules/marquees/index.d.mts +0 -10
  471. package/dist/components/molecules/marquees/index.d.mts.map +0 -1
  472. package/dist/components/molecules/marquees/index.mjs +0 -9
  473. package/dist/components/molecules/marquees/index.mjs.map +0 -1
  474. package/dist/components/molecules/marquees/use-pause-on-hover.mjs +0 -26
  475. package/dist/components/molecules/marquees/use-pause-on-hover.mjs.map +0 -1
  476. package/dist/components/molecules/splitter/index.d.mts +0 -10
  477. package/dist/components/molecules/splitter/index.d.mts.map +0 -1
  478. package/dist/components/molecules/splitter/index.mjs +0 -9
  479. package/dist/components/molecules/splitter/index.mjs.map +0 -1
  480. package/dist/components/molecules/tabs.d.mts.map +0 -1
  481. package/dist/components/molecules/tabs.mjs.map +0 -1
  482. package/dist/components/molecules/upload.d.mts.map +0 -1
  483. package/dist/components/molecules/upload.mjs.map +0 -1
  484. package/dist/components/organisms/drawer.d.mts.map +0 -1
  485. package/dist/components/organisms/drawer.mjs.map +0 -1
  486. package/dist/components/organisms/list/index.d.mts.map +0 -1
  487. package/dist/components/organisms/list/index.mjs +0 -9
  488. package/dist/components/organisms/list/index.mjs.map +0 -1
  489. package/dist/components/organisms/modal.d.mts.map +0 -1
  490. package/dist/components/organisms/modal.mjs.map +0 -1
  491. package/dist/components/organisms/swiper/index.d.mts +0 -10
  492. package/dist/components/organisms/swiper/index.d.mts.map +0 -1
  493. package/dist/components/organisms/swiper/index.mjs +0 -9
  494. package/dist/components/organisms/swiper/index.mjs.map +0 -1
  495. package/dist/components/organisms/toast.d.mts.map +0 -1
  496. package/dist/components/organisms/toast.mjs +0 -126
  497. package/dist/components/organisms/toast.mjs.map +0 -1
  498. package/dist/components/templates/container.d.mts.map +0 -1
  499. package/dist/components/templates/container.mjs.map +0 -1
  500. package/dist/components/templates/empty.d.mts.map +0 -1
  501. package/dist/components/templates/empty.mjs.map +0 -1
  502. package/dist/components/templates/page-header.d.mts.map +0 -1
  503. package/dist/components/templates/page-header.mjs.map +0 -1
  504. package/dist/components/templates/result.d.mts.map +0 -1
  505. package/dist/components/templates/result.mjs.map +0 -1
package/README.ko.md CHANGED
@@ -25,7 +25,7 @@ src/
25
25
  │ ├── molecules/ # 🔬 분자 - 원자들의 조합
26
26
  │ ├── organisms/ # 🦠 유기체 - 복잡한 UI 블록
27
27
  │ └── templates/ # 📄 템플릿 - 페이지 레이아웃
28
- ├── core/ # ⚙️ 핵심 UI 로직 (Base UI 기반)
28
+ ├── core/ # ⚙️ 내부 Base UI 프리미티브 (export 안 됨)
29
29
  ├── lib/
30
30
  │ ├── utils/ # 🛠 유틸리티 함수
31
31
  │ ├── colors.ts # 🎨 색상 토큰 해석
@@ -37,70 +37,105 @@ src/
37
37
 
38
38
  ## 🧬 Atoms (원자)
39
39
 
40
- 기본적인 UI 구성 요소들
41
-
42
- | 컴포넌트 | 설명 | 하위 컴포넌트 |
43
- | --------------- | ------------------------- | ------------------------------------ |
44
- | **Button** | 다양한 스타일의 버튼 | - |
45
- | **Checkbox** | 체크박스 및 그룹 체크박스 | `Group` |
46
- | **ColorPicker** | 색상 선택 컴포넌트 | - |
47
- | **FloatButton** | 플로팅 버튼 | `BackTop` |
48
- | **Input** | 입력 필드 컴포넌트 | `Search`, `TextArea` |
49
- | **Popover** | 팝오버 툴팁 컴포넌트 | - |
50
- | **Progress** | 진행률 표시 컴포넌트 | - |
51
- | **Radio** | 라디오 버튼 컴포넌트 | - |
52
- | **Select** | 드롭다운 선택 컴포넌트 | - |
53
- | **Skeleton** | 로딩 스켈레톤 | `Button`, `Node` |
54
- | **Spin** | 로딩 스피너 | - |
55
- | **Switch** | 토글 스위치 | - |
56
- | **Tag** | 알약 모양의 라벨/태그 | - |
57
- | **Typography** | 텍스트 컴포넌트 | `Link`, `Paragraph`, `Text`, `Title` |
40
+ 기본 UI 구성 요소
41
+
42
+ | 컴포넌트 | 설명 | 하위 컴포넌트 |
43
+ | ------------------ | -------------------------------------------------- | ------------------------------------- |
44
+ | **AutoComplete** | 입력하는 동안 일치하는 옵션을 제안하는 텍스트 입력 | - |
45
+ | **Avatar** | 이니셜·아이콘 대체 표시를 지원하는 프로필 이미지 | - |
46
+ | **Badge** | 다른 요소에 붙는 개수 또는 상태 점 | - |
47
+ | **Button** | type, variant, size, 로딩 상태를 지원하는 버튼 | - |
48
+ | **Cascader** | 여러 단계로 중첩된 옵션에서 하나를 선택 | - |
49
+ | **Checkbox** | 단일 체크박스 또는 값 하나를 공유하는 그룹 | `Group` |
50
+ | **CodeEditor** | CodeMirror 6 편집기 (개별 경로 전용, 아래 참고) | - |
51
+ | **ColorPicker** | 팝오버에서 hex 색상을 고르는 스와치 | - |
52
+ | **DatePicker** | 단일 날짜를 고르는 캘린더 팝오버 버튼 | - |
53
+ | **Divider** | 가로·세로 구분선, 라벨 선택 가능 | - |
54
+ | **FloatButton** | 뷰포트 모서리에 고정된 원형 버튼 | `BackTop` |
55
+ | **Input** | 텍스트 입력과 검색·숫자·OTP·여러 줄 변형 | `Search`, `Number`, `OTP`, `TextArea` |
56
+ | **Mentions** | `@` 접두 토큰을 자동 완성하는 텍스트 영역 | - |
57
+ | **Popover** | 트리거에 붙어 뜨는 플로팅 패널 | - |
58
+ | **Progress** | 퍼센트만큼 채워지는 가로·세로 막대 | - |
59
+ | **Radio** | 단일 라디오 또는 상호 배타적 옵션 그룹 | `Group` |
60
+ | **Rate** | 별점 입력 | - |
61
+ | **RichTextEditor** | HTML 문자열을 다루는 TipTap 기반 편집기 | - |
62
+ | **Segmented** | 보기 전환용 단일 선택 컨트롤 | - |
63
+ | **Select** | 하나 이상의 값을 고르는 드롭다운, 검색 지원 | - |
64
+ | **Skeleton** | 로딩 중 콘텐츠 모양을 흉내 내는 자리 표시 | `Button`, `Node` |
65
+ | **Slider** | 드래그로 숫자 값이나 범위를 조절 | - |
66
+ | **Spin** | 단독 또는 오버레이로 쓰는 로딩 표시 | - |
67
+ | **Switch** | 켜기/끄기 토글 | - |
68
+ | **Tag** | 콘텐츠 분류용 작은 라벨 | - |
69
+ | **TimePicker** | 시간을 고르는 팝오버 버튼 | - |
70
+ | **ToggleGroup** | 각각 독립적으로 눌리는 액션 버튼 그룹 | - |
71
+ | **Tooltip** | 호버·포커스 시 보이는 짧은 텍스트 힌트 | - |
72
+ | **Typography** | 제목, 본문, 문단, 링크 | `Link`, `Paragraph`, `Text`, `Title` |
58
73
 
59
74
  ## 🔬 Molecules (분자)
60
75
 
61
- 여러 원자들이 결합된 복합 컴포넌트들
62
-
63
- | 컴포넌트 | 설명 | 하위 컴포넌트 |
64
- | ------------ | ------------------------ | ------------- |
65
- | **Collapse** | 접을 수 있는 컨텐츠 영역 | - |
66
- | **Dropdown** | 드롭다운 메뉴 | - |
67
- | **Marquees** | 무한 스크롤 마키 | `Item` |
68
- | **Menu** | 네비게이션 메뉴 | - |
69
- | **Reveals** | 애니메이션 리빌 | `Item` |
70
- | **Space** | 간격 조정 컴포넌트 | - |
76
+ 여러 원자를 조합한 컴포넌트
77
+
78
+ | 컴포넌트 | 설명 | 하위 컴포넌트 |
79
+ | ---------------- | ----------------------------------------------- | ------------- |
80
+ | **Alert** | 상태 색상과 선택적 액션이 있는 인라인 메시지 | - |
81
+ | **Anchor** | 현재 섹션을 강조하는 페이지 내 내비게이션 | - |
82
+ | **Breadcrumb** | 현재 페이지까지의 경로 | - |
83
+ | **Card** | 제목을 선택할 수 있는 콘텐츠 컨테이너 | - |
84
+ | **Collapse** | 펼칠 수 있는 패널, 아코디언 모드 지원 | - |
85
+ | **ContextMenu** | 영역을 우클릭해 여는 메뉴 | - |
86
+ | **Descriptions** | 반응형 그리드로 표시하는 라벨-값 상세 정보 | - |
87
+ | **Dropdown** | 트리거에서 플로팅 `Menu`를 표시 | - |
88
+ | **Empty** | "로드됐지만 비어 있음" 상태의 인라인 자리 표시 | - |
89
+ | **Marquees** | 계속 반복해 흐르는 콘텐츠 행 | `Item` |
90
+ | **Menu** | 중첩 서브메뉴를 지원하는 내비게이션 메뉴 | - |
91
+ | **Pagination** | 긴 목록의 페이지 이동 | - |
92
+ | **Popconfirm** | 동작 전에 확인을 묻는 팝오버 | - |
93
+ | **Reveals** | 자식을 순차적으로 나타나게 하는 애니메이션 | `Item` |
94
+ | **ScrollArea** | 스타일된 스크롤바가 있는 스크롤 컨테이너 | - |
95
+ | **Space** | 자식을 가로·세로로 간격을 두고 배치 | - |
96
+ | **Splitter** | 드래그 핸들로 크기를 조절하는 패널 | `Panel` |
97
+ | **Statistic** | 제목과 단위가 있는 형식화된 지표 | - |
98
+ | **Steps** | 순서가 있는 작업 흐름의 단계 | - |
99
+ | **Tabs** | 관련 콘텐츠 패널 사이를 전환 | - |
100
+ | **Timeline** | 타임스탬프가 있는 순서형 이벤트 | - |
101
+ | **Transfer** | 두 목록 사이로 항목 이동 | - |
102
+ | **Upload** | 클릭·드래그 업로드 영역과 삭제 가능한 파일 목록 | - |
71
103
 
72
104
  ## 🦠 Organisms (유기체)
73
105
 
74
- 복잡한 UI 섹션들
75
-
76
- | 컴포넌트 | 설명 | 하위 컴포넌트 |
77
- | ---------- | ------------------------ | ------------- |
78
- | **Drawer** | 사이드 드로어 | - |
79
- | **List** | 리스트 및 리스트 아이템 | `Item` |
80
- | **Modal** | 모달 다이얼로그 | - |
81
- | **Swiper** | 슬라이더/캐러셀 컴포넌트 | `Slide` |
106
+ 복잡한 UI 섹션
107
+
108
+ | 컴포넌트 | 설명 | 하위 컴포넌트 |
109
+ | -------------- | --------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
110
+ | **Calendar** | 날짜 선택이나 날짜별 콘텐츠 표시용 월간 보기 | - |
111
+ | **Drawer** | 화면 가장자리에서 밀려 나오는 제어형 패널 | - |
112
+ | **Form** | 라벨, 설명, 오류 메시지가 있는 필드로 구성된 폼 레이아웃 | `Field`, `Control` |
113
+ | **List** | 로딩·빈 상태·무한 스크롤을 지원하는 목록 | `Item` |
114
+ | **Modal** | 제어형 또는 명령형으로 여는 다이얼로그 | `confirm`, `info`, `success`, `warning`, `error`, `destroy`, `destroyAll` |
115
+ | **Swiper** | Swiper.js 기반의 터치 캐러셀 | `Slide` |
116
+ | **Table** | 셀 렌더링, 로딩·빈 상태, 선택적 페이지네이션을 지원하는 데이터 테이블 | - |
117
+ | **Toast** | 자동으로 사라지는 명령형 알림 | `open`, `info`, `success`, `warning`, `error`, `loading`, `config`, `destroy`, `destroyAll` |
118
+ | **Tour** | 요소에 붙어 단계별로 안내하는 가이드 | - |
119
+ | **Tree** | 펼치기, 선택, 지연 로딩을 지원하는 계층 목록 | - |
120
+ | **TreeSelect** | 옵션이 트리인 셀렉트 | - |
82
121
 
83
122
  ## 📄 Templates (템플릿)
84
123
 
85
124
  페이지 레이아웃 템플릿
86
125
 
87
- | 컴포넌트 | 설명 | 하위 컴포넌트 |
88
- | ---------- | -------------------- | -------------------------------------- |
89
- | **Layout** | 전체 페이지 레이아웃 | `Header`, `Sider`, `Content`, `Footer` |
126
+ | 컴포넌트 | 설명 | 하위 컴포넌트 |
127
+ | -------------- | ---------------------------------------------- | -------------------------------------- |
128
+ | **Container** | 최대 폭과 여백으로 페이지 콘텐츠를 가운데 정렬 | - |
129
+ | **Grid** | 24열 반응형 그리드 (`Row`, `Col` export) | - |
130
+ | **Layout** | 헤더, 사이더, 콘텐츠, 푸터로 된 페이지 골격 | `Header`, `Sider`, `Content`, `Footer` |
131
+ | **PageHeader** | 뒤로 가기 버튼과 액션이 있는 페이지 제목 블록 | - |
132
+ | **Result** | 작업 결과를 보여주는 전체 화면 | - |
90
133
 
91
134
  ## 🛠 핵심 기능
92
135
 
93
- ### Core 모듈
94
-
95
- Base UI 기반의 접근성 우선 핵심 컴포넌트들:
136
+ ### Base UI 기반
96
137
 
97
- - `accordion.tsx` - 아코디언 컴포넌트 (Base UI 기반)
98
- - `button.tsx` - 버튼 컴포넌트 (class-variance-authority로 variants 관리)
99
- - `dialog.tsx` - 다이얼로그 컴포넌트 (Base UI 기반)
100
- - `drawer.tsx` - 드로어 컴포넌트 (Base UI dialog 기반)
101
- - `progress.tsx` - 진행률 컴포넌트 (Base UI 기반)
102
- - `skeleton.tsx` - 스켈레톤 컴포넌트
103
- - `switch.tsx` - 스위치 컴포넌트 (Base UI 기반)
138
+ 컴포넌트는 [Base UI](https://base-ui.com) 프리미티브 위에 만들어져 포커스 관리, 포털, `aria-*` 배선, 팝업 위치 계산을 Base UI에 맡깁니다. 내부 프리미티브 계층(`src/core`)은 공개 API가 아니며 import할 수 없습니다.
104
139
 
105
140
  ### 유틸리티
106
141
 
@@ -154,22 +189,12 @@ Dropdown 메뉴)는 모두 `z-index: 1000`을 씁니다. 루트를 격리하지
154
189
 
155
190
  ### 개별 컴포넌트 import
156
191
 
192
+ 모든 컴포넌트는 export 이름과 같은 개별 경로로도 import할 수 있습니다(`Row`/`Col`과 `CodeEditor`는 아래 참고).
193
+
157
194
  ```tsx
158
- // Typography 컴포넌트
159
- // Button 컴포넌트
160
195
  import Button from '@jbpark/ui-kit/Button';
161
- // Card 컴포넌트
162
- import Card from '@jbpark/ui-kit/Card';
163
- // Layout 컴포넌트
164
- import Layout from '@jbpark/ui-kit/Layout';
165
- // Menu 컴포넌트
166
- import Menu from '@jbpark/ui-kit/Menu';
167
- // Reveals 컴포넌트
168
- import Reveals from '@jbpark/ui-kit/Reveals';
169
- // Space 컴포넌트
170
- import Space from '@jbpark/ui-kit/Space';
171
- // Tag 컴포넌트
172
- import Tag from '@jbpark/ui-kit/Tag';
196
+ import Input from '@jbpark/ui-kit/Input';
197
+ import Modal from '@jbpark/ui-kit/Modal';
173
198
  import Typography from '@jbpark/ui-kit/Typography';
174
199
  ```
175
200
 
@@ -180,6 +205,10 @@ import Typography from '@jbpark/ui-kit/Typography';
180
205
  > 이펙트로 불러오기 때문에 Node/SSR 빌드(예: Astro static build)에서 순수
181
206
  > `.css` import를 처리 못 해 빌드가 깨질 수 있습니다.
182
207
 
208
+ - `Row`/`Col`은 named export라 개별 경로가 없습니다. 루트에서 `import { Row, Col } from '@jbpark/ui-kit'`로 가져옵니다.
209
+ - `CodeEditor`는 반대로 **개별 경로 전용**입니다(`@jbpark/ui-kit/CodeEditor`). CodeMirror가 선택적 peer 의존성이라 루트 진입점에는 포함되지 않습니다.
210
+ - 타입은 루트 진입점에서 가져옵니다: `import type { ButtonProps } from '@jbpark/ui-kit'`.
211
+
183
212
  ### 유틸리티 및 프로바이더 import
184
213
 
185
214
  ```tsx
@@ -272,22 +301,14 @@ pnpm run generate:component
272
301
 
273
302
  ## 📦 패키지 Exports
274
303
 
275
- 이 패키지는 다음과 같은 모듈들을 export합니다:
276
-
277
- - `@jbpark/ui-kit` - 메인 패키지 (모든 컴포넌트)
278
- - `@jbpark/ui-kit/Typography` - Typography 컴포넌트
279
- - `@jbpark/ui-kit/Button` - Button 컴포넌트
280
- - `@jbpark/ui-kit/Tag` - Tag 컴포넌트
281
- - `@jbpark/ui-kit/Card` - Card 컴포넌트
282
- - `@jbpark/ui-kit/Space` - Space 컴포넌트
283
- - `@jbpark/ui-kit/Menu` - Menu 컴포넌트
284
- - `@jbpark/ui-kit/Reveals` - Reveals 컴포넌트
285
- - `@jbpark/ui-kit/CodeEditor` - CodeEditor 컴포넌트
286
- - `@jbpark/ui-kit/Layout` - Layout 템플릿
304
+ - `@jbpark/ui-kit` - 메인 진입점 (`CodeEditor`를 제외한 모든 컴포넌트와 타입, `Config` 등 `providers` export)
305
+ - `@jbpark/ui-kit/<ComponentName>` - 컴포넌트별 개별 경로 (default export만, 위 표의 컴포넌트 이름과 같음)
287
306
  - `@jbpark/ui-kit/utils` - 유틸리티 함수 (`cn`, `renderConditional`)
288
307
  - `@jbpark/ui-kit/providers` - Config 프로바이더 및 테마
289
308
  - `@jbpark/ui-kit/style.css` - 전역 스타일 (필수)
290
309
 
310
+ 전체 목록은 패키지 `package.json`의 `exports` 필드가 기준입니다.
311
+
291
312
  ## 🤝 기여하기
292
313
 
293
314
  1. 이 저장소를 포크합니다
package/README.md CHANGED
@@ -25,7 +25,7 @@ src/
25
25
  │ ├── molecules/ # 🔬 Molecules - Combinations of atoms
26
26
  │ ├── organisms/ # 🦠 Organisms - Complex UI blocks
27
27
  │ └── templates/ # 📄 Templates - Page layouts
28
- ├── core/ # ⚙️ Core UI logic (Base UI based)
28
+ ├── core/ # ⚙️ Internal Base UI primitives (not exported)
29
29
  ├── lib/
30
30
  │ ├── utils/ # 🛠 Utility functions
31
31
  │ ├── colors.ts # 🎨 Colour token resolution
@@ -39,68 +39,103 @@ src/
39
39
 
40
40
  Basic UI building blocks
41
41
 
42
- | Component | Description | Sub-components |
43
- | --------------- | ---------------------------- | ------------------------------------ |
44
- | **Button** | Various button styles | - |
45
- | **Checkbox** | Checkbox and checkbox groups | `Group` |
46
- | **ColorPicker** | Color selection component | - |
47
- | **FloatButton** | Floating action button | `BackTop` |
48
- | **Input** | Input field component | `Search`, `TextArea` |
49
- | **Popover** | Popover tooltip component | - |
50
- | **Progress** | Progress indicator component | - |
51
- | **Radio** | Radio button component | - |
52
- | **Select** | Select dropdown component | - |
53
- | **Skeleton** | Loading skeleton | `Button`, `Node` |
54
- | **Spin** | Loading spinner | - |
55
- | **Switch** | Toggle switch component | - |
56
- | **Tag** | Pill-style label/tag | - |
57
- | **Typography** | Text components | `Link`, `Paragraph`, `Text`, `Title` |
42
+ | Component | Description | Sub-components |
43
+ | ------------------ | ------------------------------------------------------------- | ------------------------------------- |
44
+ | **AutoComplete** | A text input that suggests matching options as you type | - |
45
+ | **Avatar** | A profile image with initials or icon fallback | - |
46
+ | **Badge** | A count or status dot attached to another element | - |
47
+ | **Button** | Buttons with type, variant, size and loading states | - |
48
+ | **Cascader** | Picks one value from nested option levels | - |
49
+ | **Checkbox** | A single checkbox, or a group sharing one value | `Group` |
50
+ | **CodeEditor** | CodeMirror 6 editing surface (subpath-only, see below) | - |
51
+ | **ColorPicker** | A swatch that opens a popover for picking a hex colour | - |
52
+ | **DatePicker** | A button that opens a calendar popover for a single date | - |
53
+ | **Divider** | A horizontal or vertical separator, optionally labeled | - |
54
+ | **FloatButton** | A circular button fixed to a corner of the viewport | `BackTop` |
55
+ | **Input** | A text input, with search, number, OTP and multiline variants | `Search`, `Number`, `OTP`, `TextArea` |
56
+ | **Mentions** | A text area that completes `@`-prefixed tokens | - |
57
+ | **Popover** | A floating panel anchored to a trigger element | - |
58
+ | **Progress** | A bar that fills to a percentage, horizontal or vertical | - |
59
+ | **Radio** | A single radio, or a group for mutually-exclusive options | `Group` |
60
+ | **Rate** | A star rating input | - |
61
+ | **RichTextEditor** | A TipTap-based editor over an HTML string | - |
62
+ | **Segmented** | A single-choice control for switching views | - |
63
+ | **Select** | A dropdown for choosing one or more values, with search | - |
64
+ | **Skeleton** | A placeholder that mimics content while it loads | `Button`, `Node` |
65
+ | **Slider** | A draggable numeric value or range control | - |
66
+ | **Spin** | A loading indicator, standalone or as an overlay | - |
67
+ | **Switch** | A boolean on/off toggle | - |
68
+ | **Tag** | A small labeled badge for categorising content | - |
69
+ | **TimePicker** | A button that opens a popover for picking a time | - |
70
+ | **ToggleGroup** | A group of independently pressed action buttons | - |
71
+ | **Tooltip** | A short text hint shown on hover or focus | - |
72
+ | **Typography** | Headings, body text, paragraphs and links | `Link`, `Paragraph`, `Text`, `Title` |
58
73
 
59
74
  ## 🔬 Molecules
60
75
 
61
76
  Composite components combining multiple atoms
62
77
 
63
- | Component | Description | Sub-components |
64
- | ------------ | -------------------------- | -------------- |
65
- | **Collapse** | Collapsible content area | - |
66
- | **Dropdown** | Dropdown menu | - |
67
- | **Marquees** | Infinite scrolling marquee | `Item` |
68
- | **Menu** | Navigation menu | - |
69
- | **Reveals** | Animation reveal component | `Item` |
70
- | **Space** | Spacing adjustment | - |
78
+ | Component | Description | Sub-components |
79
+ | ---------------- | ---------------------------------------------------------- | -------------- |
80
+ | **Alert** | An inline message with a status colour and optional action | - |
81
+ | **Anchor** | In-page navigation that highlights the current section | - |
82
+ | **Breadcrumb** | The path to the current page | - |
83
+ | **Card** | A content container with an optional title | - |
84
+ | **Collapse** | Expandable panels, with an optional accordion mode | - |
85
+ | **ContextMenu** | A menu opened by right-clicking an area | - |
86
+ | **Descriptions** | Labeled record details in a responsive grid | - |
87
+ | **Dropdown** | Reveals a floating `Menu` from a trigger | - |
88
+ | **Empty** | An inline placeholder for the "loaded, but empty" state | - |
89
+ | **Marquees** | Rows of content scrolling in a continuous loop | `Item` |
90
+ | **Menu** | Navigation menu with nested submenus | - |
91
+ | **Pagination** | Page navigation for long lists | - |
92
+ | **Popconfirm** | A popover that asks for confirmation before an action | - |
93
+ | **Reveals** | Animates children into view with a staggered cascade | `Item` |
94
+ | **ScrollArea** | A scroll container with styled scrollbars | - |
95
+ | **Space** | Lays out children in a row or column with gaps | - |
96
+ | **Splitter** | Resizable panels with a draggable handle between them | `Panel` |
97
+ | **Statistic** | A formatted metric with a title and unit | - |
98
+ | **Steps** | The stages of an ordered workflow | - |
99
+ | **Tabs** | Switches between panels of related content | - |
100
+ | **Timeline** | Ordered events with timestamps | - |
101
+ | **Transfer** | Moves items between two lists | - |
102
+ | **Upload** | A click-or-drag dropzone with a removable file list | - |
71
103
 
72
104
  ## 🦠 Organisms
73
105
 
74
106
  Complex UI sections
75
107
 
76
- | Component | Description | Sub-components |
77
- | ---------- | ------------------------- | -------------- |
78
- | **Drawer** | Side drawer panel | - |
79
- | **List** | List and list items | `Item` |
80
- | **Modal** | Modal dialog | - |
81
- | **Swiper** | Slider/carousel component | `Slide` |
108
+ | Component | Description | Sub-components |
109
+ | -------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
110
+ | **Calendar** | A month view for picking dates or showing date content | - |
111
+ | **Drawer** | A controlled panel that slides in from any edge | - |
112
+ | **Form** | Form layout with labeled fields, descriptions and error messages | `Field`, `Control` |
113
+ | **List** | A collection with loading, empty and infinite-scroll states | `Item` |
114
+ | **Modal** | A dialog, controlled or fired imperatively | `confirm`, `info`, `success`, `warning`, `error`, `destroy`, `destroyAll` |
115
+ | **Swiper** | A touch-friendly carousel over Swiper.js | `Slide` |
116
+ | **Table** | A data table with custom cells, loading and empty states, and optional pagination | - |
117
+ | **Toast** | Imperative, auto-dismissing notifications | `open`, `info`, `success`, `warning`, `error`, `loading`, `config`, `destroy`, `destroyAll` |
118
+ | **Tour** | A guided walkthrough of steps anchored to elements | - |
119
+ | **Tree** | A hierarchical list with expand, select and lazy loading | - |
120
+ | **TreeSelect** | A select whose options are a tree | - |
82
121
 
83
122
  ## 📄 Templates
84
123
 
85
124
  Page layout templates
86
125
 
87
- | Component | Description | Sub-components |
88
- | ---------- | ---------------- | -------------------------------------- |
89
- | **Layout** | Full page layout | `Header`, `Sider`, `Content`, `Footer` |
126
+ | Component | Description | Sub-components |
127
+ | -------------- | ----------------------------------------------------- | -------------------------------------- |
128
+ | **Container** | Centres page content at a capped width with gutters | - |
129
+ | **Grid** | A 24-column responsive grid (`Row` and `Col` exports) | - |
130
+ | **Layout** | The page scaffold: header, sider, content and footer | `Header`, `Sider`, `Content`, `Footer` |
131
+ | **PageHeader** | A page title block with back button and actions | - |
132
+ | **Result** | A full-page screen for an operation's outcome | - |
90
133
 
91
134
  ## 🛠 Core Features
92
135
 
93
- ### Core Module
136
+ ### Built on Base UI
94
137
 
95
- Accessibility-first core components based on Base UI:
96
-
97
- - `accordion.tsx` - Accordion component (Base UI based)
98
- - `button.tsx` - Button component (variants managed with class-variance-authority)
99
- - `dialog.tsx` - Dialog component (Base UI based)
100
- - `drawer.tsx` - Drawer component (Base UI dialog based)
101
- - `progress.tsx` - Progress component (Base UI based)
102
- - `skeleton.tsx` - Skeleton component
103
- - `switch.tsx` - Switch component (Base UI based)
138
+ Components are built on [Base UI](https://base-ui.com) primitives, which handle focus management, portals, `aria-*` wiring and popup positioning. The internal primitive layer (`src/core`) is not part of the public API and cannot be imported.
104
139
 
105
140
  ### Utilities
106
141
 
@@ -154,22 +189,12 @@ covers the whole app, including this chrome.
154
189
 
155
190
  ### Import Individual Components
156
191
 
192
+ Every component can also be imported from a subpath named after its export (see below for `Row`/`Col` and `CodeEditor`).
193
+
157
194
  ```tsx
158
- // Typography component
159
- // Button component
160
195
  import Button from '@jbpark/ui-kit/Button';
161
- // Card component
162
- import Card from '@jbpark/ui-kit/Card';
163
- // Layout component
164
- import Layout from '@jbpark/ui-kit/Layout';
165
- // Menu component
166
- import Menu from '@jbpark/ui-kit/Menu';
167
- // Reveals component
168
- import Reveals from '@jbpark/ui-kit/Reveals';
169
- // Space component
170
- import Space from '@jbpark/ui-kit/Space';
171
- // Tag component
172
- import Tag from '@jbpark/ui-kit/Tag';
196
+ import Input from '@jbpark/ui-kit/Input';
197
+ import Modal from '@jbpark/ui-kit/Modal';
173
198
  import Typography from '@jbpark/ui-kit/Typography';
174
199
  ```
175
200
 
@@ -180,6 +205,10 @@ import Typography from '@jbpark/ui-kit/Typography';
180
205
  > `swiper`'s CSS as a side effect and can break Node/SSR builds (e.g. an
181
206
  > Astro static build) that don't expect a bare `.css` import.
182
207
 
208
+ - `Row`/`Col` are named exports and have no subpath. Import them from the root: `import { Row, Col } from '@jbpark/ui-kit'`.
209
+ - `CodeEditor` is the opposite: it is **subpath-only** (`@jbpark/ui-kit/CodeEditor`). CodeMirror is an optional peer dependency, so the root entry does not include it.
210
+ - Import types from the root entry: `import type { ButtonProps } from '@jbpark/ui-kit'`.
211
+
183
212
  ### Import Utilities and Providers
184
213
 
185
214
  ```tsx
@@ -272,22 +301,14 @@ pnpm run generate:component
272
301
 
273
302
  ## 📦 Package Exports
274
303
 
275
- This package exports the following modules:
276
-
277
- - `@jbpark/ui-kit` - Main package (all components)
278
- - `@jbpark/ui-kit/Typography` - Typography component
279
- - `@jbpark/ui-kit/Button` - Button component
280
- - `@jbpark/ui-kit/Tag` - Tag component
281
- - `@jbpark/ui-kit/Card` - Card component
282
- - `@jbpark/ui-kit/Space` - Space component
283
- - `@jbpark/ui-kit/Menu` - Menu component
284
- - `@jbpark/ui-kit/Reveals` - Reveals component
285
- - `@jbpark/ui-kit/CodeEditor` - CodeEditor component
286
- - `@jbpark/ui-kit/Layout` - Layout template
304
+ - `@jbpark/ui-kit` - Main entry (every component except `CodeEditor`, their types, and the `providers` exports such as `Config`)
305
+ - `@jbpark/ui-kit/<ComponentName>` - One subpath per component (default export only), named as in the tables above
287
306
  - `@jbpark/ui-kit/utils` - Utility functions (`cn`, `renderConditional`)
288
307
  - `@jbpark/ui-kit/providers` - Config provider and theming
289
308
  - `@jbpark/ui-kit/style.css` - Global styles (required)
290
309
 
310
+ The `exports` field of the package's `package.json` is the full, authoritative list.
311
+
291
312
  ## 🤝 Contributing
292
313
 
293
314
  1. Fork this repository
package/dist/Alert.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  //#region src/components/molecules/alert.d.ts
2
2
  type Status = 'info' | 'success' | 'warning' | 'error';
3
- interface Props extends Omit<React.ComponentPropsWithRef<'div'>, 'title'> {
3
+ export interface Props extends Omit<React.ComponentPropsWithRef<'div'>, 'title'> {
4
4
  status?: Status;
5
5
  variant?: 'outlined' | 'filled';
6
6
  title: React.ReactNode;
@@ -20,5 +20,5 @@ interface Props extends Omit<React.ComponentPropsWithRef<'div'>, 'title'> {
20
20
  }
21
21
  declare const Alert: ({ status, variant, title, description, icon, action, closable, onClose, className, classNames, role, ...props }: Props) => import("react").JSX.Element | null;
22
22
  //#endregion
23
- export { Props, Alert as default };
23
+ export { Alert as default };
24
24
  //# sourceMappingURL=Alert.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.d.mts","names":[],"sources":["../src/components/molecules/alert.tsx"],"mappings":";KAWK;UAEY,cAAc,KAC7B,MAAM;EAGN,SAAS;EACT;EACA,OAAO,MAAM;EACb,cAAc,MAAM;;EAEpB,OAAO,MAAM;EACb,SAAS,MAAM;EACf;EACA;EACA;IACE;IACA;IACA;IACA;IACA;;;cAWE,UAAS,QAAA,SAAA,OAAA,aAAA,MAAA,QAAA,UAAA,SAAA,WAAA,YAAA,SAAA,SAaZ,0BAAK,IAAA"}
1
+ {"version":3,"file":"Alert.d.mts","names":[],"sources":["../src/components/molecules/alert.tsx"],"mappings":";KAWK;iBAEY,cAAc,KAC7B,MAAM;EAGN,SAAS;EACT;EACA,OAAO,MAAM;EACb,cAAc,MAAM;;EAEpB,OAAO,MAAM;EACb,SAAS,MAAM;EACf;EACA;EACA;IACE;IACA;IACA;IACA;IACA;;;cAWE,UAAS,QAAA,SAAA,OAAA,aAAA,MAAA,QAAA,UAAA,SAAA,WAAA,YAAA,SAAA,SAaZ,0BAAK,IAAA"}
package/dist/Alert.mjs CHANGED
@@ -2,9 +2,9 @@
2
2
  import { cn } from "./utils.mjs";
3
3
  import { DEFAULT_LOCALE, useConfig } from "./providers/config/context.mjs";
4
4
  import Button from "./Button.mjs";
5
- import { Check, Info, OctagonAlert, OctagonX, X } from "lucide-react";
6
5
  import { useState } from "react";
7
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { Check, Info, OctagonAlert, OctagonX, X } from "lucide-react";
8
8
  //#region src/components/molecules/alert.tsx
9
9
  const STATUS_ICONS = {
10
10
  info: /* @__PURE__ */ jsx(Info, {}),
@@ -0,0 +1,29 @@
1
+ import { ComponentProps } from "react";
2
+ //#region src/components/molecules/anchor.d.ts
3
+ export interface Item {
4
+ key: string;
5
+ href: `#${string}`;
6
+ title: string;
7
+ children?: readonly Item[];
8
+ }
9
+ export interface Props extends Omit<ComponentProps<'nav'>, 'children' | 'onChange' | 'onSelect'> {
10
+ items: readonly Item[];
11
+ current?: string;
12
+ defaultCurrent?: string;
13
+ onChange?: (href: string) => void;
14
+ onSelect?: (item: Item) => void;
15
+ container?: HTMLElement | null;
16
+ offset?: number;
17
+ smooth?: boolean;
18
+ updateHash?: boolean;
19
+ sticky?: boolean;
20
+ classNames?: {
21
+ list?: string;
22
+ link?: string;
23
+ activeLink?: string;
24
+ };
25
+ }
26
+ declare const Anchor: ({ items, current, defaultCurrent, onChange, onSelect, container, offset, smooth, updateHash, sticky, className, classNames, dir, ref, "aria-label": ariaLabel, ...props }: Props) => import("react").JSX.Element;
27
+ //#endregion
28
+ export { Anchor as default };
29
+ //# sourceMappingURL=Anchor.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Anchor.d.mts","names":[],"sources":["../src/components/molecules/anchor.tsx"],"mappings":";;iBAqBiB;EACf;EACA;EACA;EACA,oBAAoB;;iBAGL,cAAc,KAC7B;EAGA,gBAAgB;EAChB;EACA;EACA,YAAY;EACZ,YAAY,MAAM;EAClB,YAAY;EACZ;EACA;EACA;EACA;EACA;IAAe;IAAe;IAAe;;;cAiBzC,WAAU,OAAA,SAAA,gBAAA,UAAA,UAAA,WAAA,QAAA,QAAA,YAAA,QAAA,WAAA,YAAA,KAAA,mBAAA,cAAA,SAiBb,0BAAK,IAAA"}