@hua-labs/ui 1.0.0 → 1.1.0-alpha.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/README.md +897 -210
  2. package/dist/ComponentLayout-BxCenSAm.d.mts +73 -0
  3. package/dist/advanced/dashboard.d.ts +7 -0
  4. package/dist/advanced/dashboard.d.ts.map +1 -0
  5. package/dist/advanced/motion.d.ts +2 -0
  6. package/dist/advanced/motion.d.ts.map +1 -0
  7. package/dist/advanced-dashboard.d.mts +4 -0
  8. package/dist/advanced-dashboard.js +2 -0
  9. package/dist/advanced-dashboard.js.map +1 -0
  10. package/dist/advanced-dashboard.mjs +2 -0
  11. package/dist/advanced-dashboard.mjs.map +1 -0
  12. package/dist/advanced-motion.d.mts +93 -0
  13. package/dist/advanced-motion.js +2 -0
  14. package/dist/advanced-motion.js.map +1 -0
  15. package/dist/advanced-motion.mjs +2 -0
  16. package/dist/advanced-motion.mjs.map +1 -0
  17. package/dist/advanced.d.mts +734 -0
  18. package/dist/advanced.d.ts +17 -0
  19. package/dist/advanced.d.ts.map +1 -0
  20. package/dist/advanced.js +2 -0
  21. package/dist/advanced.js.map +1 -0
  22. package/dist/advanced.mjs +2 -0
  23. package/dist/advanced.mjs.map +1 -0
  24. package/dist/chunk-627HOIRV.mjs +2 -0
  25. package/dist/chunk-627HOIRV.mjs.map +1 -0
  26. package/dist/chunk-ACEKLG37.mjs +2 -0
  27. package/dist/chunk-ACEKLG37.mjs.map +1 -0
  28. package/dist/chunk-E5PN4LUS.mjs +2 -0
  29. package/dist/chunk-E5PN4LUS.mjs.map +1 -0
  30. package/dist/chunk-KHEJZ3U4.mjs +2 -0
  31. package/dist/chunk-KHEJZ3U4.mjs.map +1 -0
  32. package/dist/chunk-MXGXBG63.mjs +2 -0
  33. package/dist/chunk-MXGXBG63.mjs.map +1 -0
  34. package/dist/chunk-R5KCFRYV.mjs +2 -0
  35. package/dist/chunk-R5KCFRYV.mjs.map +1 -0
  36. package/dist/chunk-UGSYQDR4.mjs +2 -0
  37. package/dist/chunk-UGSYQDR4.mjs.map +1 -0
  38. package/dist/chunk-UUHAXGMO.mjs +2 -0
  39. package/dist/chunk-UUHAXGMO.mjs.map +1 -0
  40. package/dist/chunk-VU264VFN.mjs +2 -0
  41. package/dist/chunk-VU264VFN.mjs.map +1 -0
  42. package/dist/chunk-ZFS4B5QT.mjs +2 -0
  43. package/dist/chunk-ZFS4B5QT.mjs.map +1 -0
  44. package/dist/components/Accordion.d.ts +109 -1
  45. package/dist/components/Accordion.d.ts.map +1 -1
  46. package/dist/components/Action.d.ts +68 -0
  47. package/dist/components/Action.d.ts.map +1 -0
  48. package/dist/components/ActionToolbar.d.ts +65 -0
  49. package/dist/components/ActionToolbar.d.ts.map +1 -0
  50. package/dist/components/Alert.d.ts +49 -0
  51. package/dist/components/Alert.d.ts.map +1 -1
  52. package/dist/components/Autocomplete.d.ts +88 -0
  53. package/dist/components/Autocomplete.d.ts.map +1 -0
  54. package/dist/components/Avatar.d.ts +71 -1
  55. package/dist/components/Avatar.d.ts.map +1 -1
  56. package/dist/components/Badge.d.ts +32 -2
  57. package/dist/components/Badge.d.ts.map +1 -1
  58. package/dist/components/Bookmark.d.ts +49 -0
  59. package/dist/components/Bookmark.d.ts.map +1 -0
  60. package/dist/components/BottomSheet.d.ts +91 -1
  61. package/dist/components/BottomSheet.d.ts.map +1 -1
  62. package/dist/components/Breadcrumb.d.ts +73 -14
  63. package/dist/components/Breadcrumb.d.ts.map +1 -1
  64. package/dist/components/Button.d.ts +82 -7
  65. package/dist/components/Button.d.ts.map +1 -1
  66. package/dist/components/Card.d.ts +122 -5
  67. package/dist/components/Card.d.ts.map +1 -1
  68. package/dist/components/ChatMessage.d.ts +67 -1
  69. package/dist/components/ChatMessage.d.ts.map +1 -1
  70. package/dist/components/Checkbox.d.ts +48 -2
  71. package/dist/components/Checkbox.d.ts.map +1 -1
  72. package/dist/components/Command.d.ts +82 -1
  73. package/dist/components/Command.d.ts.map +1 -1
  74. package/dist/components/ComponentLayout.d.ts +72 -0
  75. package/dist/components/ComponentLayout.d.ts.map +1 -0
  76. package/dist/components/ConfirmModal.d.ts +66 -1
  77. package/dist/components/ConfirmModal.d.ts.map +1 -1
  78. package/dist/components/Container.d.ts +39 -0
  79. package/dist/components/Container.d.ts.map +1 -1
  80. package/dist/components/ContextMenu.d.ts +51 -1
  81. package/dist/components/ContextMenu.d.ts.map +1 -1
  82. package/dist/components/DatePicker.d.ts +62 -0
  83. package/dist/components/DatePicker.d.ts.map +1 -0
  84. package/dist/components/Divider.d.ts +13 -3
  85. package/dist/components/Divider.d.ts.map +1 -1
  86. package/dist/components/Drawer.d.ts +103 -1
  87. package/dist/components/Drawer.d.ts.map +1 -1
  88. package/dist/components/Dropdown.d.ts +51 -1
  89. package/dist/components/Dropdown.d.ts.map +1 -1
  90. package/dist/components/EmotionAnalysis.d.ts +59 -1
  91. package/dist/components/EmotionAnalysis.d.ts.map +1 -1
  92. package/dist/components/EmotionButton.d.ts +35 -1
  93. package/dist/components/EmotionButton.d.ts.map +1 -1
  94. package/dist/components/EmotionMeter.d.ts +38 -2
  95. package/dist/components/EmotionMeter.d.ts.map +1 -1
  96. package/dist/components/EmotionSelector.d.ts +51 -1
  97. package/dist/components/EmotionSelector.d.ts.map +1 -1
  98. package/dist/components/FeatureCard.d.ts +61 -0
  99. package/dist/components/FeatureCard.d.ts.map +1 -0
  100. package/dist/components/Form.d.ts +114 -0
  101. package/dist/components/Form.d.ts.map +1 -0
  102. package/dist/components/Grid.d.ts +42 -1
  103. package/dist/components/Grid.d.ts.map +1 -1
  104. package/dist/components/HeroSection.d.ts +77 -0
  105. package/dist/components/HeroSection.d.ts.map +1 -0
  106. package/dist/components/Icon/Icon.d.ts +159 -0
  107. package/dist/components/Icon/Icon.d.ts.map +1 -0
  108. package/dist/components/Icon/IconProvider.d.ts +94 -0
  109. package/dist/components/Icon/IconProvider.d.ts.map +1 -0
  110. package/dist/components/Icon/icon-store.d.ts +21 -0
  111. package/dist/components/Icon/icon-store.d.ts.map +1 -0
  112. package/dist/components/Icon/index.d.ts +10 -0
  113. package/dist/components/Icon/index.d.ts.map +1 -0
  114. package/dist/components/InfoCard.d.ts +48 -0
  115. package/dist/components/InfoCard.d.ts.map +1 -0
  116. package/dist/components/Input.d.ts +40 -8
  117. package/dist/components/Input.d.ts.map +1 -1
  118. package/dist/components/Label.d.ts +50 -0
  119. package/dist/components/Label.d.ts.map +1 -0
  120. package/dist/components/LanguageToggle.d.ts +41 -1
  121. package/dist/components/LanguageToggle.d.ts.map +1 -1
  122. package/dist/components/Link.d.ts +52 -0
  123. package/dist/components/Link.d.ts.map +1 -0
  124. package/dist/components/LoadingSpinner.d.ts +44 -5
  125. package/dist/components/LoadingSpinner.d.ts.map +1 -1
  126. package/dist/components/Menu.d.ts +92 -1
  127. package/dist/components/Menu.d.ts.map +1 -1
  128. package/dist/components/Modal.d.ts +67 -5
  129. package/dist/components/Modal.d.ts.map +1 -1
  130. package/dist/components/Navigation.d.ts +72 -0
  131. package/dist/components/Navigation.d.ts.map +1 -0
  132. package/dist/components/PageNavigation.d.ts +48 -0
  133. package/dist/components/PageNavigation.d.ts.map +1 -0
  134. package/dist/components/PageTransition.d.ts +44 -1
  135. package/dist/components/PageTransition.d.ts.map +1 -1
  136. package/dist/components/Pagination.d.ts +52 -1
  137. package/dist/components/Pagination.d.ts.map +1 -1
  138. package/dist/components/Panel.d.ts +99 -0
  139. package/dist/components/Panel.d.ts.map +1 -0
  140. package/dist/components/Popover.d.ts +46 -1
  141. package/dist/components/Popover.d.ts.map +1 -1
  142. package/dist/components/Progress.d.ts +52 -3
  143. package/dist/components/Progress.d.ts.map +1 -1
  144. package/dist/components/Radio.d.ts +44 -2
  145. package/dist/components/Radio.d.ts.map +1 -1
  146. package/dist/components/ScrollArea.d.ts +53 -1
  147. package/dist/components/ScrollArea.d.ts.map +1 -1
  148. package/dist/components/ScrollIndicator.d.ts +43 -1
  149. package/dist/components/ScrollIndicator.d.ts.map +1 -1
  150. package/dist/components/ScrollProgress.d.ts +37 -0
  151. package/dist/components/ScrollProgress.d.ts.map +1 -1
  152. package/dist/components/ScrollToTop.d.ts +48 -11
  153. package/dist/components/ScrollToTop.d.ts.map +1 -1
  154. package/dist/components/SectionHeader.d.ts +42 -0
  155. package/dist/components/SectionHeader.d.ts.map +1 -0
  156. package/dist/components/Select.d.ts +59 -2
  157. package/dist/components/Select.d.ts.map +1 -1
  158. package/dist/components/Skeleton.d.ts +44 -1
  159. package/dist/components/Skeleton.d.ts.map +1 -1
  160. package/dist/components/Slider.d.ts +75 -0
  161. package/dist/components/Slider.d.ts.map +1 -0
  162. package/dist/components/Stack.d.ts +42 -1
  163. package/dist/components/Stack.d.ts.map +1 -1
  164. package/dist/components/StatsPanel.d.ts +72 -0
  165. package/dist/components/StatsPanel.d.ts.map +1 -0
  166. package/dist/components/Switch.d.ts +48 -2
  167. package/dist/components/Switch.d.ts.map +1 -1
  168. package/dist/components/Table.d.ts +206 -0
  169. package/dist/components/Table.d.ts.map +1 -0
  170. package/dist/components/Tabs.d.ts +123 -10
  171. package/dist/components/Tabs.d.ts.map +1 -1
  172. package/dist/components/Textarea.d.ts +48 -2
  173. package/dist/components/Textarea.d.ts.map +1 -1
  174. package/dist/components/ThemeProvider.d.ts +67 -2
  175. package/dist/components/ThemeProvider.d.ts.map +1 -1
  176. package/dist/components/ThemeToggle.d.ts +44 -0
  177. package/dist/components/ThemeToggle.d.ts.map +1 -1
  178. package/dist/components/Toast.d.ts +75 -1
  179. package/dist/components/Toast.d.ts.map +1 -1
  180. package/dist/components/Toggle.d.ts +62 -0
  181. package/dist/components/Toggle.d.ts.map +1 -0
  182. package/dist/components/Tooltip.d.ts +48 -1
  183. package/dist/components/Tooltip.d.ts.map +1 -1
  184. package/dist/components/Upload.d.ts +87 -0
  185. package/dist/components/Upload.d.ts.map +1 -0
  186. package/dist/components/advanced/AdvancedPageTransition.d.ts +25 -0
  187. package/dist/components/advanced/AdvancedPageTransition.d.ts.map +1 -0
  188. package/dist/components/advanced/index.d.ts +4 -0
  189. package/dist/components/advanced/index.d.ts.map +1 -0
  190. package/dist/components/advanced/usePageTransition.d.ts +33 -0
  191. package/dist/components/advanced/usePageTransition.d.ts.map +1 -0
  192. package/dist/components/advanced/usePageTransitionManager.d.ts +44 -0
  193. package/dist/components/advanced/usePageTransitionManager.d.ts.map +1 -0
  194. package/dist/components/dashboard/ActivityFeed.d.ts +87 -0
  195. package/dist/components/dashboard/ActivityFeed.d.ts.map +1 -0
  196. package/dist/components/dashboard/BarChart.d.ts +82 -0
  197. package/dist/components/dashboard/BarChart.d.ts.map +1 -0
  198. package/dist/components/dashboard/DashboardGrid.d.ts +44 -0
  199. package/dist/components/dashboard/DashboardGrid.d.ts.map +1 -0
  200. package/dist/components/dashboard/DashboardSidebar.d.ts +105 -0
  201. package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -0
  202. package/dist/components/dashboard/DashboardToolbar.d.ts +120 -0
  203. package/dist/components/dashboard/DashboardToolbar.d.ts.map +1 -0
  204. package/dist/components/dashboard/EmptyState.d.ts +61 -0
  205. package/dist/components/dashboard/EmptyState.d.ts.map +1 -0
  206. package/dist/components/dashboard/MembershipBadge.d.ts +45 -0
  207. package/dist/components/dashboard/MembershipBadge.d.ts.map +1 -0
  208. package/dist/components/dashboard/MerchantList.d.ts +98 -0
  209. package/dist/components/dashboard/MerchantList.d.ts.map +1 -0
  210. package/dist/components/dashboard/MetricCard.d.ts +75 -0
  211. package/dist/components/dashboard/MetricCard.d.ts.map +1 -0
  212. package/dist/components/dashboard/MiniBarChart.d.ts +60 -0
  213. package/dist/components/dashboard/MiniBarChart.d.ts.map +1 -0
  214. package/dist/components/dashboard/NotificationCard.d.ts +89 -0
  215. package/dist/components/dashboard/NotificationCard.d.ts.map +1 -0
  216. package/dist/components/dashboard/ProfileCard.d.ts +82 -0
  217. package/dist/components/dashboard/ProfileCard.d.ts.map +1 -0
  218. package/dist/components/dashboard/ProgressCard.d.ts +71 -0
  219. package/dist/components/dashboard/ProgressCard.d.ts.map +1 -0
  220. package/dist/components/dashboard/QuickActionCard.d.ts +63 -0
  221. package/dist/components/dashboard/QuickActionCard.d.ts.map +1 -0
  222. package/dist/components/dashboard/RoutingBreakdownCard.d.ts +88 -0
  223. package/dist/components/dashboard/RoutingBreakdownCard.d.ts.map +1 -0
  224. package/dist/components/dashboard/SettlementTimeline.d.ts +90 -0
  225. package/dist/components/dashboard/SettlementTimeline.d.ts.map +1 -0
  226. package/dist/components/dashboard/StatCard.d.ts +70 -0
  227. package/dist/components/dashboard/StatCard.d.ts.map +1 -0
  228. package/dist/components/dashboard/SummaryCard.d.ts +73 -0
  229. package/dist/components/dashboard/SummaryCard.d.ts.map +1 -0
  230. package/dist/components/dashboard/TransactionDetailDrawer.d.ts +183 -0
  231. package/dist/components/dashboard/TransactionDetailDrawer.d.ts.map +1 -0
  232. package/dist/components/dashboard/TransactionsTable.d.ts +137 -0
  233. package/dist/components/dashboard/TransactionsTable.d.ts.map +1 -0
  234. package/dist/components/dashboard/TrendChart.d.ts +75 -0
  235. package/dist/components/dashboard/TrendChart.d.ts.map +1 -0
  236. package/dist/components/dashboard/index.d.ts +41 -0
  237. package/dist/components/dashboard/index.d.ts.map +1 -0
  238. package/dist/components/scrollbar/scrollbar.d.ts +12 -0
  239. package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
  240. package/dist/dashboard-QMssHf5j.d.mts +1801 -0
  241. package/dist/feedback.d.mts +103 -0
  242. package/dist/feedback.d.ts +21 -0
  243. package/dist/feedback.d.ts.map +1 -0
  244. package/dist/feedback.js +2 -0
  245. package/dist/feedback.js.map +1 -0
  246. package/dist/feedback.mjs +2 -0
  247. package/dist/feedback.mjs.map +1 -0
  248. package/dist/form.d.mts +803 -0
  249. package/dist/form.d.ts +42 -0
  250. package/dist/form.d.ts.map +1 -0
  251. package/dist/form.js +2 -0
  252. package/dist/form.js.map +1 -0
  253. package/dist/form.mjs +2 -0
  254. package/dist/form.mjs.map +1 -0
  255. package/dist/hooks/useScrollToggle.d.ts +12 -0
  256. package/dist/hooks/useScrollToggle.d.ts.map +1 -0
  257. package/dist/icons-DoSGIez_.d.mts +135 -0
  258. package/dist/index.d.mts +3770 -0
  259. package/dist/index.d.ts +76 -38
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +37 -49
  262. package/dist/index.js.map +1 -0
  263. package/dist/index.mjs +37 -0
  264. package/dist/index.mjs.map +1 -0
  265. package/dist/lib/icon-aliases.d.ts +24 -0
  266. package/dist/lib/icon-aliases.d.ts.map +1 -0
  267. package/dist/lib/icon-names.d.ts +47 -0
  268. package/dist/lib/icon-names.d.ts.map +1 -0
  269. package/dist/lib/icon-providers.d.ts +559 -0
  270. package/dist/lib/icon-providers.d.ts.map +1 -0
  271. package/dist/lib/icons.d.ts +113 -24
  272. package/dist/lib/icons.d.ts.map +1 -1
  273. package/dist/lib/phosphor-icons.d.ts +6 -0
  274. package/dist/lib/phosphor-icons.d.ts.map +1 -0
  275. package/dist/lib/styles/colors.d.ts +131 -0
  276. package/dist/lib/styles/colors.d.ts.map +1 -0
  277. package/dist/lib/styles/index.d.ts +8 -0
  278. package/dist/lib/styles/index.d.ts.map +1 -0
  279. package/dist/lib/styles/utils.d.ts +87 -0
  280. package/dist/lib/styles/utils.d.ts.map +1 -0
  281. package/dist/lib/styles/variants.d.ts +79 -0
  282. package/dist/lib/styles/variants.d.ts.map +1 -0
  283. package/dist/lib/types/common.d.ts +80 -0
  284. package/dist/lib/types/common.d.ts.map +1 -0
  285. package/dist/lib/types/index.d.ts +6 -0
  286. package/dist/lib/types/index.d.ts.map +1 -0
  287. package/dist/lib/utils.d.ts +73 -1
  288. package/dist/lib/utils.d.ts.map +1 -1
  289. package/dist/navigation.d.mts +105 -0
  290. package/dist/navigation.d.ts +22 -0
  291. package/dist/navigation.d.ts.map +1 -0
  292. package/dist/navigation.js +2 -0
  293. package/dist/navigation.js.map +1 -0
  294. package/dist/navigation.mjs +2 -0
  295. package/dist/navigation.mjs.map +1 -0
  296. package/package.json +92 -25
  297. package/src/styles/toast.css +23 -0
  298. package/dist/components/Accordion.js +0 -84
  299. package/dist/components/Alert.js +0 -61
  300. package/dist/components/Avatar.js +0 -18
  301. package/dist/components/Badge.js +0 -15
  302. package/dist/components/BottomSheet.js +0 -96
  303. package/dist/components/Breadcrumb.js +0 -47
  304. package/dist/components/Button.js +0 -23
  305. package/dist/components/Card.js +0 -18
  306. package/dist/components/ChatMessage.js +0 -59
  307. package/dist/components/Checkbox.js +0 -30
  308. package/dist/components/Command.js +0 -119
  309. package/dist/components/ConfirmModal.js +0 -53
  310. package/dist/components/Container.js +0 -23
  311. package/dist/components/ContextMenu.js +0 -110
  312. package/dist/components/Divider.js +0 -39
  313. package/dist/components/Drawer.js +0 -79
  314. package/dist/components/Dropdown.js +0 -174
  315. package/dist/components/EmotionAnalysis.js +0 -40
  316. package/dist/components/EmotionButton.js +0 -16
  317. package/dist/components/EmotionMeter.js +0 -21
  318. package/dist/components/EmotionSelector.js +0 -46
  319. package/dist/components/Grid.js +0 -44
  320. package/dist/components/Icon.d.ts +0 -26
  321. package/dist/components/Icon.d.ts.map +0 -1
  322. package/dist/components/Icon.js +0 -48
  323. package/dist/components/Input.js +0 -25
  324. package/dist/components/LanguageToggle.js +0 -61
  325. package/dist/components/LoadingSpinner.js +0 -37
  326. package/dist/components/Menu.js +0 -122
  327. package/dist/components/Modal.js +0 -62
  328. package/dist/components/PageTransition.js +0 -39
  329. package/dist/components/Pagination.js +0 -87
  330. package/dist/components/Popover.js +0 -159
  331. package/dist/components/Progress.js +0 -51
  332. package/dist/components/Radio.js +0 -29
  333. package/dist/components/ScrollArea.js +0 -42
  334. package/dist/components/ScrollIndicator.js +0 -60
  335. package/dist/components/ScrollProgress.js +0 -39
  336. package/dist/components/ScrollToTop.js +0 -46
  337. package/dist/components/Select.js +0 -29
  338. package/dist/components/Skeleton.js +0 -71
  339. package/dist/components/Stack.js +0 -34
  340. package/dist/components/Switch.js +0 -29
  341. package/dist/components/Tabs.js +0 -117
  342. package/dist/components/Textarea.js +0 -31
  343. package/dist/components/ThemeProvider.js +0 -76
  344. package/dist/components/ThemeToggle.js +0 -49
  345. package/dist/components/Toast.js +0 -138
  346. package/dist/components/Tooltip.js +0 -102
  347. package/dist/lib/icons.js +0 -321
  348. package/dist/lib/utils.js +0 -5
@@ -1,4 +1,28 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * ConfirmModal 컴포넌트의 props / ConfirmModal component props
4
+ * @typedef {Object} ConfirmModalProps
5
+ * @property {boolean} isOpen - 모달 열림/닫힘 상태 / Modal open/close state
6
+ * @property {() => void} onClose - 닫기 콜백 / Close callback
7
+ * @property {() => void} onConfirm - 확인 콜백 / Confirm callback
8
+ * @property {string} title - 모달 제목 / Modal title
9
+ * @property {string} message - 모달 메시지 / Modal message
10
+ * @property {string} [warning] - 경고 메시지 / Warning message
11
+ * @property {string} [confirmText="확인"] - 확인 버튼 텍스트 / Confirm button text
12
+ * @property {string} [cancelText="취소"] - 취소 버튼 텍스트 / Cancel button text
13
+ * @property {string} [confirmButtonText] - 확인 버튼 커스텀 텍스트 / Custom confirm button text
14
+ * @property {"danger" | "warning" | "info" | "success" | "error"} [type="danger"] - 모달 타입 / Modal type
15
+ * @property {boolean} [loading=false] - 로딩 상태 / Loading state
16
+ * @property {boolean} [disabled=false] - 비활성화 여부 / Disabled state
17
+ * @property {boolean} [showInput=false] - 입력 필드 표시 여부 / Show input field
18
+ * @property {string} [inputValue=""] - 입력 필드 값 / Input field value
19
+ * @property {(value: string) => void} [onInputChange] - 입력 값 변경 콜백 / Input value change callback
20
+ * @property {string} [inputPlaceholder] - 입력 필드 플레이스홀더 / Input field placeholder
21
+ * @property {string} [inputLabel] - 입력 필드 라벨 / Input field label
22
+ * @property {string} [requiredInputValue] - 필수 입력 값 (확인 버튼 활성화 조건) / Required input value (confirm button activation condition)
23
+ * @property {boolean} [showCancel=true] - 취소 버튼 표시 여부 / Show cancel button
24
+ * @property {"sm" | "md" | "lg" | "xl" | "2xl"} [size="md"] - 모달 크기 / Modal size
25
+ */
2
26
  export interface ConfirmModalProps {
3
27
  isOpen: boolean;
4
28
  onClose: () => void;
@@ -21,6 +45,47 @@ export interface ConfirmModalProps {
21
45
  showCancel?: boolean;
22
46
  size?: "sm" | "md" | "lg" | "xl" | "2xl";
23
47
  }
48
+ /**
49
+ * ConfirmModal 컴포넌트 / ConfirmModal component
50
+ *
51
+ * 확인/취소가 필요한 모달 컴포넌트입니다.
52
+ * 다양한 타입(danger, warning, info, success, error)을 지원하며,
53
+ * 입력 필드와 필수 입력 값 검증을 지원합니다.
54
+ *
55
+ * Modal component that requires confirmation/cancellation.
56
+ * Supports various types (danger, warning, info, success, error),
57
+ * and supports input fields and required input value validation.
58
+ *
59
+ * @component
60
+ * @example
61
+ * // 기본 사용 / Basic usage
62
+ * <ConfirmModal
63
+ * isOpen={isOpen}
64
+ * onClose={() => setIsOpen(false)}
65
+ * onConfirm={handleConfirm}
66
+ * title="삭제 확인"
67
+ * message="정말 삭제하시겠습니까?"
68
+ * />
69
+ *
70
+ * @example
71
+ * // 입력 필드와 함께 / With input field
72
+ * <ConfirmModal
73
+ * isOpen={isOpen}
74
+ * onClose={() => setIsOpen(false)}
75
+ * onConfirm={handleDelete}
76
+ * title="삭제 확인"
77
+ * message="삭제하려면 'DELETE'를 입력하세요"
78
+ * showInput
79
+ * inputLabel="확인 입력"
80
+ * requiredInputValue="DELETE"
81
+ * inputValue={inputValue}
82
+ * onInputChange={setInputValue}
83
+ * />
84
+ *
85
+ * @param {ConfirmModalProps} props - ConfirmModal 컴포넌트의 props / ConfirmModal component props
86
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
87
+ * @returns {JSX.Element} ConfirmModal 컴포넌트 / ConfirmModal component
88
+ */
24
89
  declare const ConfirmModal: React.ForwardRefExoticComponent<ConfirmModalProps & React.RefAttributes<HTMLDivElement>>;
25
90
  export { ConfirmModal };
26
91
  //# sourceMappingURL=ConfirmModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmModal.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;CACzC;AAED,QAAA,MAAM,YAAY,0FAkLjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"ConfirmModal.d.ts","sourceRoot":"","sources":["../../src/components/ConfirmModal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAA;IACf,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAA;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAA;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,QAAA,MAAM,YAAY,0FAiLjB,CAAA;AAGD,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -1,10 +1,49 @@
1
1
  import React from "react";
2
+ /**
3
+ * Container 컴포넌트의 props
4
+ * @typedef {Object} ContainerProps
5
+ * @property {"sm" | "md" | "lg" | "xl" | "full"} [size="lg"] - 컨테이너 최대 너비
6
+ * @property {"none" | "sm" | "md" | "lg" | "xl"} [padding="md"] - 내부 패딩 크기
7
+ * @property {boolean} [centered=true] - 컨테이너를 중앙 정렬할지 여부
8
+ * @property {boolean} [fluid=false] - 최대 너비 제한 없이 전체 너비 사용
9
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
10
+ */
2
11
  export interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
3
12
  size?: "sm" | "md" | "lg" | "xl" | "full";
4
13
  padding?: "none" | "sm" | "md" | "lg" | "xl";
5
14
  centered?: boolean;
6
15
  fluid?: boolean;
7
16
  }
17
+ /**
18
+ * Container 컴포넌트
19
+ *
20
+ * 콘텐츠를 감싸는 컨테이너 컴포넌트입니다.
21
+ * 반응형 최대 너비와 패딩을 제공하여 일관된 레이아웃을 구성합니다.
22
+ *
23
+ * @component
24
+ * @example
25
+ * // 기본 사용
26
+ * <Container>
27
+ * <h1>제목</h1>
28
+ * <p>내용</p>
29
+ * </Container>
30
+ *
31
+ * @example
32
+ * // 작은 크기, 패딩 없음
33
+ * <Container size="sm" padding="none">
34
+ * <div>콘텐츠</div>
35
+ * </Container>
36
+ *
37
+ * @example
38
+ * // 전체 너비 사용
39
+ * <Container fluid padding="xl">
40
+ * <div>전체 너비 콘텐츠</div>
41
+ * </Container>
42
+ *
43
+ * @param {ContainerProps} props - Container 컴포넌트의 props
44
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref
45
+ * @returns {JSX.Element} Container 컴포넌트
46
+ */
8
47
  declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
9
48
  export { Container };
10
49
  //# sourceMappingURL=Container.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,QAAA,MAAM,SAAS,uFAuCd,CAAA;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACzC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,QAAA,MAAM,SAAS,uFAyCd,CAAA;AAGD,OAAO,EAAE,SAAS,EAAE,CAAA"}
@@ -1,4 +1,17 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * ContextMenu 컴포넌트의 props / ContextMenu component props
4
+ * @typedef {Object} ContextMenuProps
5
+ * @property {React.ReactNode} children - ContextMenu 내용 / ContextMenu content
6
+ * @property {boolean} [open] - 제어 모드에서 열림/닫힘 상태 / Open/close state in controlled mode
7
+ * @property {(open: boolean) => void} [onOpenChange] - 상태 변경 콜백 / State change callback
8
+ * @property {React.ReactNode} [trigger] - ContextMenu를 열기 위한 트리거 요소 (우클릭 이벤트) / Trigger element to open context menu (right-click event)
9
+ * @property {"top" | "bottom" | "left" | "right"} [placement="bottom"] - ContextMenu 표시 위치 / ContextMenu display position
10
+ * @property {"start" | "center" | "end"} [align="start"] - ContextMenu 정렬 / ContextMenu alignment
11
+ * @property {number} [offset=8] - 트리거와 ContextMenu 사이 간격 (px) / Spacing between trigger and context menu (px)
12
+ * @property {boolean} [disabled=false] - ContextMenu 비활성화 여부 / Disable context menu
13
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
14
+ */
2
15
  export interface ContextMenuProps extends React.HTMLAttributes<HTMLDivElement> {
3
16
  children: React.ReactNode;
4
17
  open?: boolean;
@@ -9,6 +22,43 @@ export interface ContextMenuProps extends React.HTMLAttributes<HTMLDivElement> {
9
22
  offset?: number;
10
23
  disabled?: boolean;
11
24
  }
25
+ /**
26
+ * ContextMenu 컴포넌트 / ContextMenu component
27
+ *
28
+ * 우클릭 시 표시되는 컨텍스트 메뉴 컴포넌트입니다.
29
+ * 트리거 요소에 우클릭 이벤트를 자동으로 연결합니다.
30
+ *
31
+ * Context menu component that appears on right-click.
32
+ * Automatically connects right-click events to the trigger element.
33
+ *
34
+ * @component
35
+ * @example
36
+ * // 기본 사용 / Basic usage
37
+ * <ContextMenu trigger={<div>우클릭하세요</div>}>
38
+ * <div className="p-2">
39
+ * <button>항목 1</button>
40
+ * <button>항목 2</button>
41
+ * </div>
42
+ * </ContextMenu>
43
+ *
44
+ * @example
45
+ * // 제어 모드 / Controlled mode
46
+ * const [open, setOpen] = useState(false)
47
+ * <ContextMenu
48
+ * open={open}
49
+ * onOpenChange={setOpen}
50
+ * trigger={<div>우클릭</div>}
51
+ * >
52
+ * <Menu>
53
+ * <MenuItem>복사</MenuItem>
54
+ * <MenuItem>삭제</MenuItem>
55
+ * </Menu>
56
+ * </ContextMenu>
57
+ *
58
+ * @param {ContextMenuProps} props - ContextMenu 컴포넌트의 props / ContextMenu component props
59
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
60
+ * @returns {JSX.Element} ContextMenu 컴포넌트 / ContextMenu component
61
+ */
12
62
  declare const ContextMenu: React.ForwardRefExoticComponent<ContextMenuProps & React.RefAttributes<HTMLDivElement>>;
13
63
  export interface ContextMenuItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
14
64
  icon?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/components/ContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,QAAA,MAAM,WAAW,yFAmIhB,CAAA;AAGD,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CACjD;AAED,QAAA,MAAM,eAAe,gGAwCpB,CAAA;AAGD,MAAM,WAAW,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAE1F,QAAA,MAAM,oBAAoB,kGAQzB,CAAA;AAGD,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEtF,QAAA,MAAM,gBAAgB,8FAUrB,CAAA;AAID,QAAA,MAAM,gBAAgB,6GAUrB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../src/components/ContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,WAAW,yFAmIhB,CAAA;AAGD,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CACjD;AAED,QAAA,MAAM,eAAe,gGAwCpB,CAAA;AAGD,MAAM,WAAW,yBAA0B,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAE1F,QAAA,MAAM,oBAAoB,kGAQzB,CAAA;AAGD,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEtF,QAAA,MAAM,gBAAgB,8FAUrB,CAAA;AAID,QAAA,MAAM,gBAAgB,6GAUrB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ /**
3
+ * DatePicker 컴포넌트의 props / DatePicker component props
4
+ * @typedef {Object} DatePickerProps
5
+ * @property {Date | null} [value] - 선택된 날짜 / Selected date
6
+ * @property {(date: Date | null) => void} [onChange] - 날짜 변경 핸들러 / Date change handler
7
+ * @property {Date} [minDate] - 최소 날짜 / Minimum date
8
+ * @property {Date} [maxDate] - 최대 날짜 / Maximum date
9
+ * @property {string} [placeholder="날짜를 선택하세요"] - 플레이스홀더 / Placeholder
10
+ * @property {boolean} [disabled=false] - 비활성화 상태 / Disabled state
11
+ * @property {boolean} [error=false] - 에러 상태 / Error state
12
+ * @property {string} [dateFormat="YYYY-MM-DD"] - 날짜 포맷 / Date format
13
+ * @property {string} [locale="ko-KR"] - 로케일 / Locale
14
+ * @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
15
+ * @property {string} [className] - 추가 클래스명 / Additional class name
16
+ * @extends {Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'>}
17
+ */
18
+ export interface DatePickerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
19
+ value?: Date | null;
20
+ onChange?: (date: Date | null) => void;
21
+ minDate?: Date;
22
+ maxDate?: Date;
23
+ placeholder?: string;
24
+ disabled?: boolean;
25
+ error?: boolean;
26
+ dateFormat?: string;
27
+ locale?: string;
28
+ size?: "sm" | "md" | "lg";
29
+ className?: string;
30
+ }
31
+ /**
32
+ * DatePicker 컴포넌트 / DatePicker component
33
+ *
34
+ * 날짜를 선택할 수 있는 컴포넌트입니다.
35
+ * 캘린더 팝오버를 통해 직관적으로 날짜를 선택할 수 있습니다.
36
+ *
37
+ * Component for selecting dates.
38
+ * Allows intuitive date selection through a calendar popover.
39
+ *
40
+ * @component
41
+ * @example
42
+ * // 기본 사용 / Basic usage
43
+ * <DatePicker
44
+ * value={selectedDate}
45
+ * onChange={setSelectedDate}
46
+ * />
47
+ *
48
+ * @example
49
+ * // 날짜 범위 제한 / Date range restriction
50
+ * <DatePicker
51
+ * value={date}
52
+ * onChange={setDate}
53
+ * minDate={new Date("2024-01-01")}
54
+ * maxDate={new Date("2024-12-31")}
55
+ * placeholder="날짜 선택"
56
+ * />
57
+ *
58
+ * @param {DatePickerProps} props - DatePicker 컴포넌트의 props / DatePicker component props
59
+ * @returns {JSX.Element} DatePicker 컴포넌트 / DatePicker component
60
+ */
61
+ export declare const DatePicker: React.ForwardRefExoticComponent<DatePickerProps & React.RefAttributes<HTMLDivElement>>;
62
+ //# sourceMappingURL=DatePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/components/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAA;IACtC,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,OAAO,CAAC,EAAE,IAAI,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,UAAU,wFAuOtB,CAAA"}
@@ -1,11 +1,21 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Divider 컴포넌트의 props / Divider component props
4
+ * @typedef {Object} DividerProps
5
+ * @property {"horizontal" | "vertical"} [orientation="horizontal"] - Divider 방향 / Divider orientation
6
+ * @property {"solid" | "dashed" | "dotted" | "gradient" | "glass"} [variant="solid"] - Divider 스타일 변형 / Divider style variant
7
+ * @property {"sm" | "md" | "lg"} [size="md"] - Divider 크기 / Divider size
8
+ * @property {"none" | "sm" | "md" | "lg" | "xl"} [spacing="md"] - Divider 주변 여백 / Divider spacing
9
+ * @property {"default" | "muted" | "primary" | "secondary"} [color="default"] - Divider 색상 / Divider color
10
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
11
+ */
2
12
  export interface DividerProps extends React.HTMLAttributes<HTMLDivElement> {
3
13
  orientation?: "horizontal" | "vertical";
4
- variant?: "solid" | "dashed" | "dotted" | "gradient";
14
+ variant?: "solid" | "dashed" | "dotted" | "gradient" | "glass";
5
15
  size?: "sm" | "md" | "lg";
6
16
  spacing?: "none" | "sm" | "md" | "lg" | "xl";
7
17
  color?: "default" | "muted" | "primary" | "secondary";
8
18
  }
9
- declare const Divider: React.ForwardRefExoticComponent<DividerProps & React.RefAttributes<HTMLDivElement>>;
19
+ declare const Divider: React.NamedExoticComponent<DividerProps & React.RefAttributes<HTMLDivElement>>;
10
20
  export { Divider };
11
21
  //# sourceMappingURL=Divider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;IACpD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;CACtD;AAED,QAAA,MAAM,OAAO,qFA6DZ,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"Divider.d.ts","sourceRoot":"","sources":["../../src/components/Divider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAA;IACvC,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAA;IAC9D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,CAAA;CACtD;AAqGD,QAAA,MAAM,OAAO,gFAA+B,CAAA;AAE5C,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -1,4 +1,18 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Drawer 컴포넌트의 props / Drawer component props
4
+ * @typedef {Object} DrawerProps
5
+ * @property {boolean} open - Drawer 열림/닫힘 상태 / Drawer open/close state
6
+ * @property {(open: boolean) => void} onOpenChange - 상태 변경 콜백 / State change callback
7
+ * @property {React.ReactNode} children - Drawer 내용 / Drawer content
8
+ * @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
9
+ * @property {"left" | "right" | "top" | "bottom"} [side="right"] - Drawer 표시 위치 / Drawer display position
10
+ * @property {"sm" | "md" | "lg" | "xl" | "full"} [size="md"] - Drawer 크기 / Drawer size
11
+ * @property {boolean} [showBackdrop=true] - 배경 오버레이 표시 여부 / Show backdrop overlay
12
+ * @property {string} [backdropClassName] - 배경 오버레이 추가 CSS 클래스 / Backdrop overlay additional CSS class
13
+ * @property {boolean} [closeOnBackdropClick=true] - 배경 클릭 시 닫기 여부 / Close on backdrop click
14
+ * @property {boolean} [closeOnEscape=true] - ESC 키로 닫기 여부 / Close on ESC key
15
+ */
2
16
  interface DrawerProps {
3
17
  open: boolean;
4
18
  onOpenChange: (open: boolean) => void;
@@ -7,26 +21,114 @@ interface DrawerProps {
7
21
  side?: "left" | "right" | "top" | "bottom";
8
22
  size?: "sm" | "md" | "lg" | "xl" | "full";
9
23
  showBackdrop?: boolean;
24
+ backdropClassName?: string;
10
25
  closeOnBackdropClick?: boolean;
11
26
  closeOnEscape?: boolean;
12
27
  }
28
+ /**
29
+ * Drawer 컴포넌트 / Drawer component
30
+ *
31
+ * 사이드에서 슬라이드되는 패널 컴포넌트입니다.
32
+ * Modal과 유사하지만 특정 방향에서 슬라이드되는 애니메이션을 제공합니다.
33
+ * ESC 키로 닫기, 배경 클릭으로 닫기 기능을 지원합니다.
34
+ *
35
+ * Panel component that slides from the side.
36
+ * Similar to Modal but provides slide animation from a specific direction.
37
+ * Supports closing with ESC key and backdrop click.
38
+ *
39
+ * @component
40
+ * @example
41
+ * // 기본 사용 / Basic usage
42
+ * const [open, setOpen] = useState(false)
43
+ *
44
+ * <Drawer open={open} onOpenChange={setOpen}>
45
+ * <DrawerHeader>제목</DrawerHeader>
46
+ * <DrawerContent>내용</DrawerContent>
47
+ * <DrawerFooter>
48
+ * <Button onClick={() => setOpen(false)}>닫기</Button>
49
+ * </DrawerFooter>
50
+ * </Drawer>
51
+ *
52
+ * @example
53
+ * // 왼쪽에서 열기 / Open from left
54
+ * <Drawer open={open} onOpenChange={setOpen} side="left" size="lg">
55
+ * <DrawerContent>사이드바 내용</DrawerContent>
56
+ * </Drawer>
57
+ *
58
+ * @param {DrawerProps} props - Drawer 컴포넌트의 props / Drawer component props
59
+ * @param {React.Ref<HTMLDivElement>} ref - Drawer 컨테이너 ref / Drawer container ref
60
+ * @returns {JSX.Element} Drawer 컴포넌트 / Drawer component
61
+ *
62
+ * @todo 접근성 개선: role="dialog", aria-modal="true" 추가 필요 / Accessibility: Add role="dialog", aria-modal="true"
63
+ * @todo 접근성 개선: aria-labelledby, aria-describedby 연결 필요 / Accessibility: Connect aria-labelledby, aria-describedby
64
+ */
13
65
  declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDivElement>>;
66
+ /**
67
+ * DrawerHeader 컴포넌트의 props / DrawerHeader component props
68
+ * @typedef {Object} DrawerHeaderProps
69
+ * @property {React.ReactNode} children - 헤더 내용 / Header content
70
+ * @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
71
+ * @property {boolean} [showCloseButton=true] - 닫기 버튼 표시 여부 / Show close button
72
+ * @property {() => void} [onClose] - 닫기 버튼 클릭 콜백 / Close button click callback
73
+ */
14
74
  interface DrawerHeaderProps {
15
75
  children: React.ReactNode;
16
76
  className?: string;
17
77
  showCloseButton?: boolean;
18
78
  onClose?: () => void;
19
79
  }
80
+ /**
81
+ * DrawerHeader 컴포넌트 / DrawerHeader component
82
+ * Drawer의 헤더 영역을 표시합니다.
83
+ * Displays the header area of a Drawer.
84
+ *
85
+ * @component
86
+ * @param {DrawerHeaderProps} props - DrawerHeader 컴포넌트의 props / DrawerHeader component props
87
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
88
+ * @returns {JSX.Element} DrawerHeader 컴포넌트 / DrawerHeader component
89
+ */
20
90
  declare const DrawerHeader: React.ForwardRefExoticComponent<DrawerHeaderProps & React.RefAttributes<HTMLDivElement>>;
91
+ /**
92
+ * DrawerContent 컴포넌트의 props / DrawerContent component props
93
+ * @typedef {Object} DrawerContentProps
94
+ * @property {React.ReactNode} children - 콘텐츠 / Content
95
+ * @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
96
+ */
21
97
  interface DrawerContentProps {
22
98
  children: React.ReactNode;
23
99
  className?: string;
24
100
  }
101
+ /**
102
+ * DrawerContent 컴포넌트 / DrawerContent component
103
+ * Drawer의 메인 콘텐츠 영역을 표시합니다.
104
+ * Displays the main content area of a Drawer.
105
+ *
106
+ * @component
107
+ * @param {DrawerContentProps} props - DrawerContent 컴포넌트의 props / DrawerContent component props
108
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
109
+ * @returns {JSX.Element} DrawerContent 컴포넌트 / DrawerContent component
110
+ */
25
111
  declare const DrawerContent: React.ForwardRefExoticComponent<DrawerContentProps & React.RefAttributes<HTMLDivElement>>;
112
+ /**
113
+ * DrawerFooter 컴포넌트의 props / DrawerFooter component props
114
+ * @typedef {Object} DrawerFooterProps
115
+ * @property {React.ReactNode} children - 푸터 내용 / Footer content
116
+ * @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
117
+ */
26
118
  interface DrawerFooterProps {
27
119
  children: React.ReactNode;
28
120
  className?: string;
29
121
  }
122
+ /**
123
+ * DrawerFooter 컴포넌트 / DrawerFooter component
124
+ * Drawer의 푸터 영역을 표시합니다. 주로 액션 버튼을 배치합니다.
125
+ * Displays the footer area of a Drawer. Typically used for action buttons.
126
+ *
127
+ * @component
128
+ * @param {DrawerFooterProps} props - DrawerFooter 컴포넌트의 props / DrawerFooter component props
129
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
130
+ * @returns {JSX.Element} DrawerFooter 컴포넌트 / DrawerFooter component
131
+ */
30
132
  declare const DrawerFooter: React.ForwardRefExoticComponent<DrawerFooterProps & React.RefAttributes<HTMLDivElement>>;
31
133
  export { Drawer, DrawerHeader, DrawerContent, DrawerFooter };
32
134
  //# sourceMappingURL=Drawer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../src/components/Drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC1C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACzC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,QAAA,MAAM,MAAM,oFA2GX,CAAA;AAGD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,QAAA,MAAM,YAAY,0FAoBjB,CAAA;AAGD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,aAAa,2FAYlB,CAAA;AAGD,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,YAAY,0FAYjB,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../src/components/Drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;;;GAaG;AACH,UAAU,WAAW;IACnB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;IAC1C,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IACzC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,QAAA,MAAM,MAAM,oFA6GX,CAAA;AAGD;;;;;;;GAOG;AACH,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,0FAoBjB,CAAA;AAGD;;;;;GAKG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,2FAYlB,CAAA;AAGD;;;;;GAKG;AACH,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,0FAYjB,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
@@ -1,4 +1,18 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Dropdown 컴포넌트의 props / Dropdown component props
4
+ * @typedef {Object} DropdownProps
5
+ * @property {React.ReactNode} trigger - Dropdown을 열기 위한 트리거 요소 / Trigger element to open dropdown
6
+ * @property {React.ReactNode} children - Dropdown 내용 / Dropdown content
7
+ * @property {boolean} [open] - 제어 모드에서 열림/닫힘 상태 / Open/close state in controlled mode
8
+ * @property {(open: boolean) => void} [onOpenChange] - 상태 변경 콜백 / State change callback
9
+ * @property {"top" | "bottom" | "left" | "right"} [placement="bottom"] - Dropdown 표시 위치 / Dropdown display position
10
+ * @property {"start" | "center" | "end"} [align="start"] - Dropdown 정렬 / Dropdown alignment
11
+ * @property {number} [offset=8] - 트리거와 Dropdown 사이 간격 (px) / Spacing between trigger and dropdown (px)
12
+ * @property {boolean} [disabled=false] - Dropdown 비활성화 여부 / Disable dropdown
13
+ * @property {boolean} [showArrow=true] - 화살표 표시 여부 / Show arrow
14
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
15
+ */
2
16
  export interface DropdownProps extends React.HTMLAttributes<HTMLDivElement> {
3
17
  trigger: React.ReactNode;
4
18
  children: React.ReactNode;
@@ -10,6 +24,42 @@ export interface DropdownProps extends React.HTMLAttributes<HTMLDivElement> {
10
24
  disabled?: boolean;
11
25
  showArrow?: boolean;
12
26
  }
27
+ /**
28
+ * Dropdown 컴포넌트 / Dropdown component
29
+ *
30
+ * 트리거 요소를 클릭하면 표시되는 드롭다운 메뉴 컴포넌트입니다.
31
+ * 외부 클릭 시 자동으로 닫히며, 뷰포트 경계를 자동으로 감지하여 위치를 조정합니다.
32
+ *
33
+ * Dropdown menu component that appears when the trigger element is clicked.
34
+ * Automatically closes on outside click and adjusts position by detecting viewport boundaries.
35
+ *
36
+ * @component
37
+ * @example
38
+ * // 기본 사용 / Basic usage
39
+ * <Dropdown trigger={<Button>메뉴</Button>}>
40
+ * <Menu>
41
+ * <MenuItem>항목 1</MenuItem>
42
+ * <MenuItem>항목 2</MenuItem>
43
+ * </Menu>
44
+ * </Dropdown>
45
+ *
46
+ * @example
47
+ * // 제어 모드, 화살표 없음 / Controlled mode, no arrow
48
+ * const [open, setOpen] = useState(false)
49
+ * <Dropdown
50
+ * open={open}
51
+ * onOpenChange={setOpen}
52
+ * trigger={<Button>제어 모드</Button>}
53
+ * placement="top"
54
+ * showArrow={false}
55
+ * >
56
+ * <div className="p-4">내용</div>
57
+ * </Dropdown>
58
+ *
59
+ * @param {DropdownProps} props - Dropdown 컴포넌트의 props / Dropdown component props
60
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
61
+ * @returns {JSX.Element} Dropdown 컴포넌트 / Dropdown component
62
+ */
13
63
  declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps & React.RefAttributes<HTMLDivElement>>;
14
64
  export interface DropdownItemProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
15
65
  icon?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/components/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,QAAA,MAAM,QAAQ,sFA+Mb,CAAA;AAID,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACtF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CACjD;AAED,QAAA,MAAM,YAAY,6FAwCjB,CAAA;AAGD,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEvF,QAAA,MAAM,iBAAiB,+FAQtB,CAAA;AAGD,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEnF,QAAA,MAAM,aAAa,2FAUlB,CAAA;AAID,QAAA,MAAM,YAAY,6GAUjB,CAAA;AAGD,QAAA,MAAM,aAAa,6GAUlB,CAAA;AAGD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/components/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC/C,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,QAAQ,sFA+Mb,CAAA;AAID,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACtF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAA;CACjD;AAED,QAAA,MAAM,YAAY,6FAwCjB,CAAA;AAGD,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEvF,QAAA,MAAM,iBAAiB,+FAQtB,CAAA;AAGD,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;CAAG;AAEnF,QAAA,MAAM,aAAa,2FAUlB,CAAA;AAID,QAAA,MAAM,YAAY,6GAUjB,CAAA;AAGD,QAAA,MAAM,aAAa,6GAUlB,CAAA;AAGD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,CAAA"}
@@ -1,4 +1,26 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * EmotionAnalysis 컴포넌트의 props / EmotionAnalysis component props
4
+ * @typedef {Object} EmotionAnalysisProps
5
+ * @property {Object} [primaryEmotion] - 주요 감정 정보 / Primary emotion information
6
+ * @property {string} primaryEmotion.name - 감정 이름 / Emotion name
7
+ * @property {number} primaryEmotion.intensity - 감정 강도 (0-100) / Emotion intensity (0-100)
8
+ * @property {string} [primaryEmotion.color] - 감정 색상 / Emotion color
9
+ * @property {Array<Object>} [emotionDistribution] - 감정 분포 배열 / Emotion distribution array
10
+ * @property {string} emotionDistribution[].emotion - 감정 이름 / Emotion name
11
+ * @property {number} emotionDistribution[].percentage - 감정 비율 (0-100) / Emotion percentage (0-100)
12
+ * @property {string} emotionDistribution[].color - 감정 색상 / Emotion color
13
+ * @property {string[]} [keywords] - 키워드 배열 / Keywords array
14
+ * @property {number} [intensity=50] - 전체 강도 (0-100) / Overall intensity (0-100)
15
+ * @property {number} [positivity=70] - 긍정성 (0-100) / Positivity (0-100)
16
+ * @property {number} [energy=60] - 에너지 (0-100) / Energy (0-100)
17
+ * @property {boolean} [showMeter=true] - 강도 미터 표시 여부 / Show intensity meter
18
+ * @property {boolean} [showDistribution=true] - 분포 표시 여부 / Show distribution
19
+ * @property {boolean} [showKeywords=true] - 키워드 표시 여부 / Show keywords
20
+ * @property {boolean} [showMetrics=true] - 메트릭 표시 여부 / Show metrics
21
+ * @property {"compact" | "detailed" | "card"} [layout="detailed"] - 레이아웃 타입 / Layout type
22
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
23
+ */
2
24
  interface EmotionAnalysisProps extends React.HTMLAttributes<HTMLDivElement> {
3
25
  primaryEmotion?: {
4
26
  name: string;
@@ -20,6 +42,42 @@ interface EmotionAnalysisProps extends React.HTMLAttributes<HTMLDivElement> {
20
42
  showMetrics?: boolean;
21
43
  layout?: "compact" | "detailed" | "card";
22
44
  }
45
+ /**
46
+ * EmotionAnalysis 컴포넌트 / EmotionAnalysis component
47
+ *
48
+ * 감정 분석 결과를 표시하는 컴포넌트입니다.
49
+ * 주요 감정, 감정 분포, 키워드, 메트릭(강도, 긍정성, 에너지)을 표시할 수 있습니다.
50
+ *
51
+ * Component that displays emotion analysis results.
52
+ * Can display primary emotion, emotion distribution, keywords, and metrics (intensity, positivity, energy).
53
+ *
54
+ * @component
55
+ * @example
56
+ * // 기본 사용 / Basic usage
57
+ * <EmotionAnalysis
58
+ * primaryEmotion={{ name: "기쁨", intensity: 80 }}
59
+ * keywords={["행복", "만족"]}
60
+ * />
61
+ *
62
+ * @example
63
+ * // 상세 레이아웃 / Detailed layout
64
+ * <EmotionAnalysis
65
+ * primaryEmotion={{ name: "평온", intensity: 65, color: "green" }}
66
+ * emotionDistribution={[
67
+ * { emotion: "기쁨", percentage: 40, color: "yellow" },
68
+ * { emotion: "평온", percentage: 60, color: "green" }
69
+ * ]}
70
+ * keywords={["안정", "편안"]}
71
+ * intensity={65}
72
+ * positivity={75}
73
+ * energy={50}
74
+ * layout="detailed"
75
+ * />
76
+ *
77
+ * @param {EmotionAnalysisProps} props - EmotionAnalysis 컴포넌트의 props / EmotionAnalysis component props
78
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
79
+ * @returns {JSX.Element} EmotionAnalysis 컴포넌트 / EmotionAnalysis component
80
+ */
23
81
  declare const EmotionAnalysis: React.ForwardRefExoticComponent<EmotionAnalysisProps & React.RefAttributes<HTMLDivElement>>;
24
82
  export { EmotionAnalysis };
25
83
  //# sourceMappingURL=EmotionAnalysis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmotionAnalysis.d.ts","sourceRoot":"","sources":["../../src/components/EmotionAnalysis.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,UAAU,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;CACzC;AAED,QAAA,MAAM,eAAe,6FAgSpB,CAAA;AAID,OAAO,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"EmotionAnalysis.d.ts","sourceRoot":"","sources":["../../src/components/EmotionAnalysis.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,UAAU,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,cAAc,CAAC,EAAE;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;IACD,mBAAmB,CAAC,EAAE,KAAK,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,CAAA;KACd,CAAC,CAAA;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAA;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,eAAe,6FAgSpB,CAAA;AAID,OAAO,EAAE,eAAe,EAAE,CAAA"}