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

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 +891 -213
  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-6NXF6ATP.mjs +2 -0
  25. package/dist/chunk-6NXF6ATP.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-DMYT7RZ4.mjs +2 -0
  29. package/dist/chunk-DMYT7RZ4.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-QXBMXCML.mjs +2 -0
  33. package/dist/chunk-QXBMXCML.mjs.map +1 -0
  34. package/dist/chunk-SGCVGEDR.mjs +2 -0
  35. package/dist/chunk-SGCVGEDR.mjs.map +1 -0
  36. package/dist/chunk-UUHAXGMO.mjs +2 -0
  37. package/dist/chunk-UUHAXGMO.mjs.map +1 -0
  38. package/dist/chunk-VPOFRDYL.mjs +2 -0
  39. package/dist/chunk-VPOFRDYL.mjs.map +1 -0
  40. package/dist/chunk-YY6ZBUVJ.mjs +2 -0
  41. package/dist/chunk-YY6ZBUVJ.mjs.map +1 -0
  42. package/dist/chunk-ZQAAB3P4.mjs +2 -0
  43. package/dist/chunk-ZQAAB3P4.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 +560 -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 +85 -19
  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,16 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Toast 메시지 타입 / Toast message type
4
+ * @typedef {Object} Toast
5
+ * @property {string} id - Toast 고유 ID / Toast unique ID
6
+ * @property {"success" | "error" | "warning" | "info"} type - Toast 타입 / Toast type
7
+ * @property {string} [title] - Toast 제목 / Toast title
8
+ * @property {string} message - Toast 메시지 / Toast message
9
+ * @property {number} [duration] - 표시 시간(ms), 0이면 자동 제거 안 함 / Display duration (ms), 0 means no auto-remove
10
+ * @property {Object} [action] - 액션 버튼 / Action button
11
+ * @property {string} action.label - 액션 버튼 레이블 / Action button label
12
+ * @property {() => void} action.onClick - 액션 버튼 클릭 핸들러 / Action button click handler
13
+ */
2
14
  export interface Toast {
3
15
  id: string;
4
16
  type: "success" | "error" | "warning" | "info";
@@ -16,12 +28,74 @@ interface ToastContextType {
16
28
  removeToast: (id: string) => void;
17
29
  clearToasts: () => void;
18
30
  }
31
+ /**
32
+ * useToast Hook
33
+ *
34
+ * Toast를 추가, 제거, 초기화하는 훅입니다.
35
+ * ToastProvider 내부에서만 사용 가능합니다.
36
+ *
37
+ * Hook for adding, removing, and clearing toasts.
38
+ * Can only be used within ToastProvider.
39
+ *
40
+ * @example
41
+ * const { addToast, removeToast, clearToasts } = useToast()
42
+ *
43
+ * addToast({
44
+ * type: "success",
45
+ * message: "저장되었습니다",
46
+ * duration: 3000
47
+ * })
48
+ *
49
+ * @returns {ToastContextType} Toast 컨텍스트 값 / Toast context value
50
+ * @throws {Error} ToastProvider 외부에서 사용 시 에러 발생 / Error when used outside ToastProvider
51
+ */
19
52
  export declare function useToast(): ToastContextType;
53
+ /**
54
+ * ToastProvider 컴포넌트의 props / ToastProvider component props
55
+ * @typedef {Object} ToastProviderProps
56
+ * @property {React.ReactNode} children - 자식 컴포넌트 / Child components
57
+ * @property {number} [maxToasts=5] - 최대 Toast 개수 / Maximum number of toasts
58
+ * @property {"top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center"} [position="top-right"] - Toast 표시 위치 / Toast display position
59
+ */
20
60
  interface ToastProviderProps {
21
61
  children: React.ReactNode;
22
62
  maxToasts?: number;
23
63
  position?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center";
24
64
  }
65
+ /**
66
+ * ToastProvider 컴포넌트 / ToastProvider component
67
+ *
68
+ * Toast 시스템의 컨텍스트를 제공하는 Provider 컴포넌트입니다.
69
+ * 앱의 루트 레벨에서 사용하여 전역 Toast 기능을 활성화합니다.
70
+ *
71
+ * Provider component that provides context for the Toast system.
72
+ * Use at the root level of your app to enable global Toast functionality.
73
+ *
74
+ * @component
75
+ * @example
76
+ * // App.tsx
77
+ * <ToastProvider position="top-center" maxToasts={3}>
78
+ * <App />
79
+ * </ToastProvider>
80
+ *
81
+ * @example
82
+ * // 컴포넌트에서 사용 / Usage in component
83
+ * const { addToast } = useToast()
84
+ *
85
+ * const handleSave = () => {
86
+ * addToast({
87
+ * type: "success",
88
+ * message: "저장되었습니다",
89
+ * title: "성공"
90
+ * })
91
+ * }
92
+ *
93
+ * @param {ToastProviderProps} props - ToastProvider 컴포넌트의 props / ToastProvider component props
94
+ * @returns {JSX.Element} ToastProvider 컴포넌트 / ToastProvider component
95
+ *
96
+ * @todo 접근성 개선: ToastItem에 role="alert" 또는 role="status" 추가 필요 / Accessibility: Add role="alert" or role="status" to ToastItem
97
+ * @todo 접근성 개선: aria-live="polite" 또는 aria-live="assertive" 추가 필요 / Accessibility: Add aria-live="polite" or aria-live="assertive"
98
+ */
25
99
  export declare function ToastProvider({ children, maxToasts, position }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
26
100
  export declare const showToast: (toast: Omit<Toast, "id">) => void;
27
101
  export declare const showSuccessToast: (message: string, title?: string, duration?: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,IAAI,CAAA;KACpB,CAAA;CACF;AAGD,UAAU,gBAAgB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAMD,wBAAgB,QAAQ,qBAMvB;AAGD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAA;CACtG;AAGD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAa,EACb,QAAsB,EACvB,EAAE,kBAAkB,2CAkCpB;AAuLD,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAGjD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAEhF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAE/E,CAAA"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,IAAI,CAAA;KACpB,CAAA;CACF;AAGD,UAAU,gBAAgB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAM3C;AAED;;;;;;GAMG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAA;CACtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAa,EACb,QAAsB,EACvB,EAAE,kBAAkB,2CAkCpB;AAwKD,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAGjD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAEhF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAE/E,CAAA"}
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ /**
3
+ * Toggle 컴포넌트의 props / Toggle component props
4
+ * @typedef {Object} ToggleProps
5
+ * @property {"default" | "outline" | "filled" | "ghost" | "glass"} [variant="default"] - Toggle 스타일 변형 / Toggle style variant
6
+ * @property {"sm" | "md" | "lg"} [size="md"] - Toggle 크기 / Toggle size
7
+ * @property {boolean} [pressed] - 제어 모드에서 눌림 상태 / Pressed state in controlled mode
8
+ * @property {(pressed: boolean) => void} [onPressedChange] - 상태 변경 콜백 / State change callback
9
+ * @property {string} [label] - Toggle 라벨 텍스트 / Toggle label text
10
+ * @property {string} [description] - Toggle 설명 텍스트 / Toggle description text
11
+ * @property {React.ReactNode} [icon] - 아이콘 / Icon
12
+ * @property {"left" | "right"} [iconPosition="left"] - 아이콘 위치 / Icon position
13
+ * @extends {Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>}
14
+ */
15
+ export interface ToggleProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> {
16
+ variant?: "default" | "outline" | "filled" | "ghost" | "glass";
17
+ size?: "sm" | "md" | "lg";
18
+ pressed?: boolean;
19
+ onPressedChange?: (pressed: boolean) => void;
20
+ label?: string;
21
+ description?: string;
22
+ icon?: React.ReactNode;
23
+ iconPosition?: "left" | "right";
24
+ }
25
+ /**
26
+ * Toggle 컴포넌트 / Toggle component
27
+ *
28
+ * 눌림 상태를 가지는 토글 버튼 컴포넌트입니다.
29
+ * Switch와 달리 버튼 형태로 표시되며, 여러 개를 그룹으로 사용할 수 있습니다.
30
+ *
31
+ * Toggle button component with pressed state.
32
+ * Unlike Switch, displayed as a button and can be used in groups.
33
+ *
34
+ * @component
35
+ * @example
36
+ * // 기본 사용 / Basic usage
37
+ * <Toggle label="알림" />
38
+ *
39
+ * @example
40
+ * // 제어 모드 / Controlled mode
41
+ * const [pressed, setPressed] = useState(false)
42
+ * <Toggle
43
+ * pressed={pressed}
44
+ * onPressedChange={setPressed}
45
+ * label="다크 모드"
46
+ * icon={<Icon name="moon" />}
47
+ * />
48
+ *
49
+ * @example
50
+ * // 아이콘만 / Icon only
51
+ * <Toggle
52
+ * icon={<Icon name="heart" />}
53
+ * variant="ghost"
54
+ * />
55
+ *
56
+ * @param {ToggleProps} props - Toggle 컴포넌트의 props / Toggle component props
57
+ * @param {React.Ref<HTMLButtonElement>} ref - button 요소 ref / button element ref
58
+ * @returns {JSX.Element} Toggle 컴포넌트 / Toggle component
59
+ */
60
+ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
61
+ export { Toggle };
62
+ //# sourceMappingURL=Toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../src/components/Toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC9F,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IAC9D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,MAAM,uFAqFX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1,4 +1,15 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Tooltip 컴포넌트의 props / Tooltip component props
4
+ * @typedef {Object} TooltipProps
5
+ * @property {string} content - Tooltip 내용 / Tooltip content
6
+ * @property {React.ReactNode} children - Tooltip이 연결될 요소 / Element to attach tooltip to
7
+ * @property {"top" | "bottom" | "left" | "right"} [position="top"] - Tooltip 표시 위치 / Tooltip display position
8
+ * @property {"default" | "light" | "dark"} [variant="default"] - Tooltip 스타일 변형 / Tooltip style variant
9
+ * @property {number} [delay=300] - Tooltip 표시 지연 시간(ms) / Tooltip display delay (ms)
10
+ * @property {boolean} [disabled=false] - Tooltip 비활성화 여부 / Disable tooltip
11
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
12
+ */
2
13
  export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
3
14
  content: string;
4
15
  children: React.ReactNode;
@@ -7,6 +18,42 @@ export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
7
18
  delay?: number;
8
19
  disabled?: boolean;
9
20
  }
21
+ /**
22
+ * Tooltip 컴포넌트 / Tooltip component
23
+ *
24
+ * 호버 시 추가 정보를 표시하는 툴팁 컴포넌트입니다.
25
+ * 마우스 호버 시 지연 시간 후 표시됩니다.
26
+ *
27
+ * Tooltip component that displays additional information on hover.
28
+ * Appears after a delay when the mouse hovers over the element.
29
+ *
30
+ * @component
31
+ * @example
32
+ * // 기본 사용 / Basic usage
33
+ * <Tooltip content="이것은 도움말입니다">
34
+ * <Button>호버하세요</Button>
35
+ * </Tooltip>
36
+ *
37
+ * @example
38
+ * // 다양한 위치 / Different positions
39
+ * <Tooltip content="위치 변경" position="bottom">
40
+ * <Icon name="info" />
41
+ * </Tooltip>
42
+ *
43
+ * @example
44
+ * // 커스텀 스타일 / Custom styles
45
+ * <Tooltip content="라이트 스타일" variant="light" delay={500}>
46
+ * <span>호버</span>
47
+ * </Tooltip>
48
+ *
49
+ * @param {TooltipProps} props - Tooltip 컴포넌트의 props / Tooltip component props
50
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
51
+ * @returns {JSX.Element} Tooltip 컴포넌트 / Tooltip component
52
+ *
53
+ * @todo 접근성 개선: role="tooltip" 추가 필요 / Accessibility: Add role="tooltip"
54
+ * @todo 접근성 개선: aria-describedby 연결 필요 / Accessibility: Connect aria-describedby
55
+ * @todo 접근성 개선: 키보드 포커스 시 Tooltip 표시 필요 / Accessibility: Show tooltip on keyboard focus
56
+ */
10
57
  declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
11
58
  export declare const TooltipLight: React.ForwardRefExoticComponent<Omit<TooltipProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
12
59
  export declare const TooltipDark: React.ForwardRefExoticComponent<Omit<TooltipProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,QAAA,MAAM,OAAO,qFA8IZ,CAAA;AAID,eAAO,MAAM,YAAY,sGAIxB,CAAA;AAGD,eAAO,MAAM,WAAW,sGAIvB,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,OAAO,qFA+IZ,CAAA;AAID,eAAO,MAAM,YAAY,sGAIxB,CAAA;AAGD,eAAO,MAAM,WAAW,sGAIvB,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ /**
3
+ * 업로드된 파일 정보 인터페이스 / Uploaded file information interface
4
+ * @typedef {Object} UploadedFile
5
+ * @property {string} id - 파일 고유 ID / File unique ID
6
+ * @property {File} file - 파일 객체 / File object
7
+ * @property {string} name - 파일 이름 / File name
8
+ * @property {number} size - 파일 크기 (bytes) / File size in bytes
9
+ * @property {string} type - 파일 타입 / File type
10
+ * @property {number} [progress] - 업로드 진행률 (0-100) / Upload progress (0-100)
11
+ * @property {"pending" | "uploading" | "success" | "error"} [status] - 업로드 상태 / Upload status
12
+ * @property {string} [url] - 업로드된 파일 URL / Uploaded file URL
13
+ * @property {string} [error] - 에러 메시지 / Error message
14
+ */
15
+ export interface UploadedFile {
16
+ id: string;
17
+ file: File;
18
+ name: string;
19
+ size: number;
20
+ type: string;
21
+ progress?: number;
22
+ status?: "pending" | "uploading" | "success" | "error";
23
+ url?: string;
24
+ error?: string;
25
+ }
26
+ /**
27
+ * Upload 컴포넌트의 props / Upload component props
28
+ * @typedef {Object} UploadProps
29
+ * @property {UploadedFile[]} [files] - 업로드된 파일 목록 / Uploaded files list
30
+ * @property {(files: File[]) => void} [onChange] - 파일 선택 핸들러 / File selection handler
31
+ * @property {(file: UploadedFile) => void} [onRemove] - 파일 제거 핸들러 / File removal handler
32
+ * @property {boolean} [multiple=false] - 다중 파일 선택 허용 / Allow multiple file selection
33
+ * @property {string} [accept] - 허용할 파일 타입 (예: "image/*", ".pdf") / Accepted file types
34
+ * @property {number} [maxSize] - 최대 파일 크기 (bytes) / Maximum file size in bytes
35
+ * @property {number} [maxFiles] - 최대 파일 개수 / Maximum number of files
36
+ * @property {boolean} [disabled=false] - 비활성화 상태 / Disabled state
37
+ * @property {boolean} [dragDrop=true] - 드래그 앤 드롭 활성화 / Enable drag and drop
38
+ * @property {string} [placeholder="파일을 선택하거나 여기에 드래그하세요"] - 플레이스홀더 / Placeholder
39
+ * @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
40
+ * @property {string} [className] - 추가 클래스명 / Additional class name
41
+ */
42
+ export interface UploadProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
43
+ files?: UploadedFile[];
44
+ onChange?: (files: File[]) => void;
45
+ onRemove?: (file: UploadedFile) => void;
46
+ multiple?: boolean;
47
+ accept?: string;
48
+ maxSize?: number;
49
+ maxFiles?: number;
50
+ disabled?: boolean;
51
+ dragDrop?: boolean;
52
+ placeholder?: string;
53
+ size?: "sm" | "md" | "lg";
54
+ className?: string;
55
+ }
56
+ /**
57
+ * Upload 컴포넌트 / Upload component
58
+ *
59
+ * 파일을 업로드할 수 있는 컴포넌트입니다.
60
+ * 드래그 앤 드롭, 다중 파일 선택, 파일 크기 제한 등을 지원합니다.
61
+ *
62
+ * Component for uploading files.
63
+ * Supports drag and drop, multiple file selection, file size limits, and more.
64
+ *
65
+ * @component
66
+ * @example
67
+ * // 기본 사용 / Basic usage
68
+ * <Upload
69
+ * onChange={(files) => console.log(files)}
70
+ * />
71
+ *
72
+ * @example
73
+ * // 이미지만, 다중 선택 / Images only, multiple selection
74
+ * <Upload
75
+ * accept="image/*"
76
+ * multiple
77
+ * maxSize={5 * 1024 * 1024} // 5MB
78
+ * maxFiles={5}
79
+ * files={uploadedFiles}
80
+ * onRemove={(file) => handleRemove(file)}
81
+ * />
82
+ *
83
+ * @param {UploadProps} props - Upload 컴포넌트의 props / Upload component props
84
+ * @returns {JSX.Element} Upload 컴포넌트 / Upload component
85
+ */
86
+ export declare const Upload: React.ForwardRefExoticComponent<UploadProps & React.RefAttributes<HTMLDivElement>>;
87
+ //# sourceMappingURL=Upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Upload.d.ts","sourceRoot":"","sources":["../../src/components/Upload.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,oFAiNlB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export type TransitionType = 'fade' | 'slide' | 'scale' | 'flip' | 'morph' | 'cube' | 'zoom' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
3
+ export type TransitionEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce' | 'elastic' | 'smooth';
4
+ export interface AdvancedPageTransitionProps {
5
+ children: React.ReactNode;
6
+ className?: string;
7
+ type?: TransitionType;
8
+ duration?: number;
9
+ easing?: TransitionEasing;
10
+ delay?: number;
11
+ autoStart?: boolean;
12
+ onStart?: () => void;
13
+ onComplete?: () => void;
14
+ showProgress?: boolean;
15
+ progressClassName?: string;
16
+ }
17
+ export declare const AdvancedPageTransition: React.ForwardRefExoticComponent<AdvancedPageTransitionProps & React.RefAttributes<HTMLDivElement>>;
18
+ export declare const FadePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
19
+ export declare const SlidePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const ScalePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
21
+ export declare const FlipPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
22
+ export declare const MorphPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
23
+ export declare const CubePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
24
+ export declare const ZoomPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
25
+ //# sourceMappingURL=AdvancedPageTransition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedPageTransition.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/AdvancedPageTransition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAG1D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,CAAA;AAEZ,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,sBAAsB,oGAkNjC,CAAA;AAKF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './AdvancedPageTransition';
2
+ export { usePageTransition } from './usePageTransition';
3
+ export { usePageTransitionManager } from './usePageTransitionManager';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,33 @@
1
+ export type TransitionType = 'fade' | 'slide' | 'scale' | 'flip' | 'morph' | 'cube' | 'zoom' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
2
+ export type TransitionEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce' | 'elastic' | 'smooth';
3
+ export interface TransitionConfig {
4
+ type: TransitionType;
5
+ duration: number;
6
+ easing: TransitionEasing;
7
+ delay?: number;
8
+ stagger?: number;
9
+ direction?: 'forward' | 'backward';
10
+ onStart?: () => void;
11
+ onComplete?: () => void;
12
+ onReverse?: () => void;
13
+ }
14
+ export interface PageTransitionState {
15
+ isTransitioning: boolean;
16
+ isVisible: boolean;
17
+ currentStep: number;
18
+ progress: number;
19
+ }
20
+ export interface PageTransitionControls {
21
+ start: (config?: Partial<TransitionConfig>) => Promise<void>;
22
+ reverse: () => Promise<void>;
23
+ pause: () => void;
24
+ resume: () => void;
25
+ reset: () => void;
26
+ }
27
+ export declare const usePageTransition: (initialConfig?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
28
+ export declare const useFadeTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
29
+ export declare const useSlideTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
30
+ export declare const useScaleTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
31
+ export declare const useMorphTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
32
+ export declare const useCubeTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
33
+ //# sourceMappingURL=usePageTransition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageTransition.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/usePageTransition.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,GAC5B,gBAAe,OAAO,CAAC,gBAAgB,CAAM,KAC5C,CAAC,mBAAmB,EAAE,sBAAsB,CAgJ9C,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEnE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEnE,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { TransitionType, TransitionEasing, TransitionConfig } from './usePageTransition';
2
+ export interface PageTransitionManagerConfig {
3
+ defaultType?: TransitionType;
4
+ defaultDuration?: number;
5
+ defaultEasing?: TransitionEasing;
6
+ enableHistory?: boolean;
7
+ enableProgress?: boolean;
8
+ enableDebug?: boolean;
9
+ }
10
+ export interface PageTransitionEvent {
11
+ id: string;
12
+ type: TransitionType;
13
+ duration: number;
14
+ easing: TransitionEasing;
15
+ timestamp: number;
16
+ status: 'pending' | 'active' | 'completed' | 'failed';
17
+ }
18
+ export interface PageTransitionManagerState {
19
+ isTransitioning: boolean;
20
+ currentTransition: PageTransitionEvent | null;
21
+ transitionHistory: PageTransitionEvent[];
22
+ totalTransitions: number;
23
+ averageDuration: number;
24
+ }
25
+ export interface PageTransitionManagerControls {
26
+ startTransition: (config: Partial<TransitionConfig>) => Promise<string>;
27
+ cancelTransition: (id: string) => void;
28
+ pauseAll: () => void;
29
+ resumeAll: () => void;
30
+ clearHistory: () => void;
31
+ getTransitionStats: () => {
32
+ total: number;
33
+ average: number;
34
+ byType: Record<TransitionType, number>;
35
+ byStatus: Record<string, number>;
36
+ };
37
+ }
38
+ export declare const usePageTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
39
+ export declare const useFadeTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
40
+ export declare const useSlideTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
41
+ export declare const useScaleTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
42
+ export declare const useMorphTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
43
+ export declare const useCubeTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
44
+ //# sourceMappingURL=usePageTransitionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageTransitionManager.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/usePageTransitionManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAExF,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,OAAO,CAAA;IACxB,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC7C,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACvE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,kBAAkB,EAAE,MAAM;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;CACF;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAQ,2BAAgC,KACvC,CAAC,0BAA0B,EAAE,6BAA6B,CAqL5D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,SAAS,2BAA2B,gEAE5E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,SAAS,2BAA2B,gEAE5E,CAAA"}
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ import type { IconName } from "../../lib/icons";
3
+ /**
4
+ * ActivityItem 인터페이스 / ActivityItem interface
5
+ * @typedef {Object} ActivityItem
6
+ * @property {string} id - 활동 항목 고유 ID / Activity item unique ID
7
+ * @property {string} title - 활동 제목 / Activity title
8
+ * @property {string} [description] - 활동 설명 / Activity description
9
+ * @property {Date | string} timestamp - 활동 타임스탬프 / Activity timestamp
10
+ * @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
11
+ * @property {string | React.ReactNode} [badge] - 배지 / Badge
12
+ * @property {() => void} [onClick] - 클릭 핸들러 / Click handler
13
+ * @property {Record<string, unknown>} [metadata] - 추가 메타데이터 / Additional metadata
14
+ */
15
+ export interface ActivityItem {
16
+ id: string;
17
+ title: string;
18
+ description?: string;
19
+ timestamp: Date | string;
20
+ icon?: IconName | React.ReactNode;
21
+ badge?: string | React.ReactNode;
22
+ onClick?: () => void;
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ /**
26
+ * ActivityFeed 컴포넌트의 props / ActivityFeed component props
27
+ * @typedef {Object} ActivityFeedProps
28
+ * @property {string} [title] - 피드 제목 / Feed title
29
+ * @property {ActivityItem[]} items - 활동 항목 배열 / Activity items array
30
+ * @property {string} [emptyMessage="활동 내역이 없습니다."] - 빈 상태 메시지 / Empty state message
31
+ * @property {boolean} [showHeader=true] - 헤더 표시 여부 / Show header
32
+ * @property {number} [maxItems] - 최대 표시 항목 수 / Maximum items to display
33
+ * @property {() => void} [onViewAll] - 전체 보기 핸들러 / View all handler
34
+ * @property {string} [viewAllLabel="전체 보기"] - 전체 보기 라벨 / View all label
35
+ * @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
36
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
37
+ */
38
+ export interface ActivityFeedProps extends React.HTMLAttributes<HTMLDivElement> {
39
+ title?: string;
40
+ items: ActivityItem[];
41
+ emptyMessage?: string;
42
+ showHeader?: boolean;
43
+ maxItems?: number;
44
+ onViewAll?: () => void;
45
+ viewAllLabel?: string;
46
+ emptyState?: React.ReactNode;
47
+ }
48
+ /**
49
+ * ActivityFeed 컴포넌트 / ActivityFeed component
50
+ *
51
+ * 활동 내역을 표시하는 피드 컴포넌트입니다.
52
+ * 타임스탬프를 상대 시간으로 표시하며, 최대 항목 수 제한을 지원합니다.
53
+ *
54
+ * Feed component that displays activity history.
55
+ * Shows timestamps as relative time and supports maximum items limit.
56
+ *
57
+ * @component
58
+ * @example
59
+ * // 기본 사용 / Basic usage
60
+ * <ActivityFeed
61
+ * title="최근 활동"
62
+ * items={[
63
+ * {
64
+ * id: "1",
65
+ * title: "새 주문 생성",
66
+ * description: "주문 #1234",
67
+ * timestamp: new Date(),
68
+ * icon: "shoppingCart"
69
+ * }
70
+ * ]}
71
+ * />
72
+ *
73
+ * @example
74
+ * // 최대 항목 수 제한 / Maximum items limit
75
+ * <ActivityFeed
76
+ * title="활동 내역"
77
+ * items={activities}
78
+ * maxItems={10}
79
+ * onViewAll={() => navigate("/activities")}
80
+ * />
81
+ *
82
+ * @param {ActivityFeedProps} props - ActivityFeed 컴포넌트의 props / ActivityFeed component props
83
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
84
+ * @returns {JSX.Element} ActivityFeed 컴포넌트 / ActivityFeed component
85
+ */
86
+ export declare const ActivityFeed: React.ForwardRefExoticComponent<ActivityFeedProps & React.RefAttributes<HTMLDivElement>>;
87
+ //# sourceMappingURL=ActivityFeed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityFeed.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/ActivityFeed.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,YAAY,0FAsJxB,CAAC"}
@@ -0,0 +1,82 @@
1
+ import React from "react";
2
+ /**
3
+ * BarChartData 인터페이스 / BarChartData interface
4
+ * @typedef {Object} BarChartData
5
+ * @property {string} label - 막대 라벨 / Bar label
6
+ * @property {number} value - 막대 값 / Bar value
7
+ * @property {string} [color] - 커스텀 색상 / Custom color
8
+ * @property {boolean} [highlight] - 강조 표시 여부 / Highlight display
9
+ */
10
+ export interface BarChartData {
11
+ label: string;
12
+ value: number;
13
+ color?: string;
14
+ highlight?: boolean;
15
+ }
16
+ /**
17
+ * BarChart 컴포넌트의 props / BarChart component props
18
+ * @typedef {Object} BarChartProps
19
+ * @property {BarChartData[]} data - 차트 데이터 배열 / Chart data array
20
+ * @property {string} [title] - 차트 제목 / Chart title
21
+ * @property {number} [height=200] - 차트 높이 (px) / Chart height (px)
22
+ * @property {boolean} [showValues=true] - 값 표시 여부 / Show values
23
+ * @property {boolean} [showLabels=true] - 라벨 표시 여부 / Show labels
24
+ * @property {number} [maxValue] - 최대값 (자동 계산 시 생략) / Maximum value (omit for auto-calculation)
25
+ * @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [colorScheme="blue"] - 색상 스킴 / Color scheme
26
+ * @property {"default" | "gradient"} [variant="gradient"] - 차트 스타일 변형 / Chart style variant
27
+ * @property {boolean} [showGrid=true] - 그리드 표시 여부 / Show grid
28
+ * @property {boolean} [showTooltip] - 툴팁 표시 여부 / Show tooltip
29
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
30
+ */
31
+ export interface BarChartProps extends React.HTMLAttributes<HTMLDivElement> {
32
+ data: BarChartData[];
33
+ title?: string;
34
+ height?: number;
35
+ showValues?: boolean;
36
+ showLabels?: boolean;
37
+ maxValue?: number;
38
+ colorScheme?: "blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray";
39
+ variant?: "default" | "gradient";
40
+ showGrid?: boolean;
41
+ showTooltip?: boolean;
42
+ }
43
+ /**
44
+ * BarChart 컴포넌트
45
+ *
46
+ * 막대 차트를 표시하는 컴포넌트입니다.
47
+ * 다양한 색상 스킴과 그라디언트 스타일을 지원합니다.
48
+ *
49
+ * Bar chart component that displays data in bar format.
50
+ * Supports various color schemes and gradient styles.
51
+ *
52
+ * @component
53
+ * @example
54
+ * // 기본 사용 / Basic usage
55
+ * <BarChart
56
+ * data={[
57
+ * { label: "월", value: 100 },
58
+ * { label: "화", value: 200 },
59
+ * { label: "수", value: 150 }
60
+ * ]}
61
+ * title="주간 매출"
62
+ * />
63
+ *
64
+ * @example
65
+ * // 커스텀 색상 및 강조 / Custom color and highlight
66
+ * <BarChart
67
+ * data={[
68
+ * { label: "1월", value: 1000, highlight: true },
69
+ * { label: "2월", value: 1200 },
70
+ * { label: "3월", value: 1500 }
71
+ * ]}
72
+ * colorScheme="green"
73
+ * variant="gradient"
74
+ * showTooltip
75
+ * />
76
+ *
77
+ * @param {BarChartProps} props - BarChart 컴포넌트의 props / BarChart component props
78
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
79
+ * @returns {JSX.Element} BarChart 컴포넌트 / BarChart component
80
+ */
81
+ export declare const BarChart: React.ForwardRefExoticComponent<BarChartProps & React.RefAttributes<HTMLDivElement>>;
82
+ //# sourceMappingURL=BarChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BarChart.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/BarChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1F,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA6CD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,QAAQ,sFAyKpB,CAAC"}