@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
@@ -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"}
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ /**
3
+ * DashboardGrid 컴포넌트의 props
4
+ * @typedef {Object} DashboardGridProps
5
+ * @property {1 | 2 | 3 | 4 | 5 | 6} [columns=4] - 그리드 컬럼 수
6
+ * @property {"sm" | "md" | "lg" | "xl"} [gap="md"] - 그리드 간격
7
+ * @property {boolean} [responsive=true] - 반응형 여부
8
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
9
+ */
10
+ export interface DashboardGridProps extends React.HTMLAttributes<HTMLDivElement> {
11
+ columns?: 1 | 2 | 3 | 4 | 5 | 6;
12
+ gap?: "sm" | "md" | "lg" | "xl";
13
+ responsive?: boolean;
14
+ }
15
+ /**
16
+ * DashboardGrid 컴포넌트
17
+ *
18
+ * 대시보드 그리드 레이아웃을 제공하는 컴포넌트입니다.
19
+ * 반응형 그리드를 지원하며, 다양한 컬럼 수와 간격을 설정할 수 있습니다.
20
+ *
21
+ * Dashboard grid layout component.
22
+ * Supports responsive grid with configurable column count and gap sizes.
23
+ *
24
+ * @component
25
+ * @example
26
+ * // 기본 사용 / Basic usage
27
+ * <DashboardGrid columns={4}>
28
+ * <StatCard title="항목 1" value="100" />
29
+ * <StatCard title="항목 2" value="200" />
30
+ * </DashboardGrid>
31
+ *
32
+ * @example
33
+ * // 반응형 그리드 / Responsive grid
34
+ * <DashboardGrid columns={3} gap="lg" responsive>
35
+ * <MetricCard title="메트릭 1" value="1,000" />
36
+ * <MetricCard title="메트릭 2" value="2,000" />
37
+ * </DashboardGrid>
38
+ *
39
+ * @param {DashboardGridProps} props - DashboardGrid 컴포넌트의 props / DashboardGrid component props
40
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
41
+ * @returns {JSX.Element} DashboardGrid 컴포넌트 / DashboardGrid component
42
+ */
43
+ export declare const DashboardGrid: React.ForwardRefExoticComponent<DashboardGridProps & React.RefAttributes<HTMLDivElement>>;
44
+ //# sourceMappingURL=DashboardGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardGrid.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC9E,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,aAAa,2FA+BzB,CAAC"}
@@ -0,0 +1,105 @@
1
+ import React from "react";
2
+ import type { IconName } from "../../lib/icons";
3
+ /**
4
+ * 사이드바 네비게이션 아이템 인터페이스 / SidebarNavItem interface
5
+ * @typedef {Object} SidebarNavItem
6
+ * @property {string} id - 아이템 고유 ID / Item unique ID
7
+ * @property {string} label - 아이템 라벨 / Item label
8
+ * @property {string} [href] - 링크 URL / Link URL
9
+ * @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
10
+ * @property {React.ReactNode} [badge] - 배지 / Badge
11
+ * @property {boolean} [active] - 활성 상태 / Active state
12
+ * @property {() => void} [onClick] - 클릭 핸들러 / Click handler
13
+ */
14
+ export interface SidebarNavItem {
15
+ id: string;
16
+ label: string;
17
+ href?: string;
18
+ icon?: IconName | React.ReactNode;
19
+ badge?: React.ReactNode;
20
+ active?: boolean;
21
+ onClick?: () => void;
22
+ }
23
+ /**
24
+ * 사이드바 섹션 인터페이스 / SidebarSection interface
25
+ * @typedef {Object} SidebarSection
26
+ * @property {string} id - 섹션 고유 ID / Section unique ID
27
+ * @property {string} [label] - 섹션 라벨 / Section label
28
+ * @property {SidebarNavItem[]} items - 섹션 내 아이템 배열 / Items array in section
29
+ */
30
+ export interface SidebarSection {
31
+ id: string;
32
+ label?: string;
33
+ items: SidebarNavItem[];
34
+ }
35
+ /**
36
+ * DashboardSidebar 컴포넌트의 props / DashboardSidebar component props
37
+ * @typedef {Object} DashboardSidebarProps
38
+ * @property {React.ReactNode} [logo] - 로고 컴포넌트 / Logo component
39
+ * @property {React.ReactNode} [productSwitcher] - 제품 전환 컴포넌트 / Product switcher component
40
+ * @property {SidebarSection[]} sections - 사이드바 섹션 배열 / Sidebar sections array
41
+ * @property {React.ReactNode} [footerActions] - 푸터 액션 컴포넌트 / Footer actions component
42
+ * @property {boolean} [isCollapsed] - 접힘 상태 (제어) / Collapsed state (controlled)
43
+ * @property {boolean} [defaultCollapsed=false] - 기본 접힘 상태 / Default collapsed state
44
+ * @property {(collapsed: boolean) => void} [onToggleCollapsed] - 접힘 상태 변경 핸들러 / Collapsed state change handler
45
+ * @property {number} [collapsedWidth=72] - 접힘 상태 너비 (px) / Collapsed width (px)
46
+ * @property {number} [expandedWidth=264] - 펼침 상태 너비 (px) / Expanded width (px)
47
+ * @property {number} [mobileBreakpoint=1024] - 모바일 브레이크포인트 (px) / Mobile breakpoint (px)
48
+ * @property {string} [overlayBackground] - 모바일 오버레이 배경색 / Mobile overlay background color
49
+ * @extends {React.HTMLAttributes<HTMLElement>}
50
+ */
51
+ export interface DashboardSidebarProps extends React.HTMLAttributes<HTMLElement> {
52
+ logo?: React.ReactNode;
53
+ productSwitcher?: React.ReactNode;
54
+ sections: SidebarSection[];
55
+ footerActions?: React.ReactNode;
56
+ isCollapsed?: boolean;
57
+ defaultCollapsed?: boolean;
58
+ onToggleCollapsed?: (collapsed: boolean) => void;
59
+ collapsedWidth?: number;
60
+ expandedWidth?: number;
61
+ mobileBreakpoint?: number;
62
+ overlayBackground?: string;
63
+ }
64
+ /**
65
+ * DashboardSidebar 컴포넌트
66
+ *
67
+ * 대시보드용 사이드바 네비게이션 컴포넌트입니다.
68
+ * 접기/펼치기 기능과 모바일 반응형을 지원하며, 섹션별로 네비게이션 아이템을 구성할 수 있습니다.
69
+ *
70
+ * Sidebar navigation component for dashboards.
71
+ * Supports collapse/expand functionality and mobile responsiveness, with section-based navigation items.
72
+ *
73
+ * @component
74
+ * @example
75
+ * // 기본 사용 / Basic usage
76
+ * <DashboardSidebar
77
+ * logo={<Logo />}
78
+ * sections={[
79
+ * {
80
+ * id: "main",
81
+ * label: "메인",
82
+ * items: [
83
+ * { id: "dashboard", label: "대시보드", href: "/dashboard", icon: "layout" },
84
+ * { id: "transactions", label: "거래", href: "/transactions", icon: "creditCard" }
85
+ * ]
86
+ * }
87
+ * ]}
88
+ * />
89
+ *
90
+ * @example
91
+ * // 접힘 상태 제어 / Collapse state control
92
+ * <DashboardSidebar
93
+ * sections={sections}
94
+ * isCollapsed={collapsed}
95
+ * onToggleCollapsed={setCollapsed}
96
+ * collapsedWidth={80}
97
+ * expandedWidth={280}
98
+ * />
99
+ *
100
+ * @param {DashboardSidebarProps} props - DashboardSidebar 컴포넌트의 props / DashboardSidebar component props
101
+ * @param {React.Ref<HTMLElement>} ref - aside 요소 ref / aside element ref
102
+ * @returns {JSX.Element} DashboardSidebar 컴포넌트 / DashboardSidebar component
103
+ */
104
+ export declare const DashboardSidebar: React.ForwardRefExoticComponent<DashboardSidebarProps & React.RefAttributes<HTMLElement>>;
105
+ //# sourceMappingURL=DashboardSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardSidebar.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardSidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAGhD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IAC9E,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,gBAAgB,2FA2L5B,CAAC"}
@@ -0,0 +1,120 @@
1
+ import React from "react";
2
+ import type { IconName } from "../../lib/icons";
3
+ type ToolbarVariant = "plain" | "cards";
4
+ /**
5
+ * 툴바 액션 인터페이스 / ToolbarAction interface
6
+ * @typedef {Object} ToolbarAction
7
+ * @property {string} label - 액션 라벨 / Action label
8
+ * @property {() => void} [onClick] - 클릭 핸들러 / Click handler
9
+ * @property {string} [href] - 링크 URL / Link URL
10
+ * @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
11
+ * @property {"primary" | "secondary" | "ghost"} [appearance="secondary"] - 액션 스타일 / Action style
12
+ * @property {boolean} [loading] - 로딩 상태 / Loading state
13
+ */
14
+ export interface ToolbarAction {
15
+ label: string;
16
+ onClick?: () => void;
17
+ href?: string;
18
+ icon?: IconName | React.ReactNode;
19
+ appearance?: "primary" | "secondary" | "ghost";
20
+ loading?: boolean;
21
+ }
22
+ /**
23
+ * 날짜 프리셋 인터페이스 / DatePreset interface
24
+ * @typedef {Object} DatePreset
25
+ * @property {string} label - 프리셋 라벨 / Preset label
26
+ * @property {string} value - 프리셋 값 / Preset value
27
+ */
28
+ export interface DatePreset {
29
+ label: string;
30
+ value: string;
31
+ }
32
+ /**
33
+ * 날짜 범위 설정 인터페이스 / DateRangeConfig interface
34
+ * @typedef {Object} DateRangeConfig
35
+ * @property {{ from: Date; to: Date } | null} value - 날짜 범위 값 / Date range value
36
+ * @property {DatePreset[]} [presets] - 날짜 프리셋 배열 / Date preset array
37
+ * @property {(preset: DatePreset) => void} [onSelectPreset] - 프리셋 선택 핸들러 / Preset selection handler
38
+ * @property {() => void} [onCustomRange] - 커스텀 범위 선택 핸들러 / Custom range selection handler
39
+ * @property {string} [display] - 표시 텍스트 / Display text
40
+ */
41
+ export interface DateRangeConfig {
42
+ value: {
43
+ from: Date;
44
+ to: Date;
45
+ } | null;
46
+ presets?: DatePreset[];
47
+ onSelectPreset?: (preset: DatePreset) => void;
48
+ onCustomRange?: () => void;
49
+ display?: string;
50
+ }
51
+ /**
52
+ * DashboardToolbar 컴포넌트의 props / DashboardToolbar component props
53
+ * @typedef {Object} DashboardToolbarProps
54
+ * @property {React.ReactNode} [title] - 툴바 제목 / Toolbar title
55
+ * @property {React.ReactNode} [description] - 툴바 설명 / Toolbar description
56
+ * @property {React.ReactNode} [meta] - 메타 정보 / Meta information
57
+ * @property {"plain" | "cards"} [variant="cards"] - 툴바 스타일 변형 / Toolbar style variant
58
+ * @property {DateRangeConfig} [dateRange] - 날짜 범위 설정 / Date range configuration
59
+ * @property {React.ReactNode} [filters] - 필터 컴포넌트 / Filter component
60
+ * @property {ToolbarAction[]} [actions] - 액션 버튼 배열 / Action buttons array
61
+ * @property {() => void} [onRefresh] - 새로고침 핸들러 / Refresh handler
62
+ * @property {string} [lastUpdated] - 마지막 업데이트 시간 / Last updated time
63
+ * @extends {Omit<React.HTMLAttributes<HTMLDivElement>, "title">}
64
+ */
65
+ export interface DashboardToolbarProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
66
+ title?: React.ReactNode;
67
+ description?: React.ReactNode;
68
+ meta?: React.ReactNode;
69
+ variant?: ToolbarVariant;
70
+ dateRange?: DateRangeConfig;
71
+ filters?: React.ReactNode;
72
+ actions?: ToolbarAction[];
73
+ onRefresh?: () => void;
74
+ lastUpdated?: string;
75
+ }
76
+ /**
77
+ * DashboardToolbar 컴포넌트
78
+ *
79
+ * 대시보드 상단 툴바 컴포넌트입니다.
80
+ * 제목, 설명, 필터, 날짜 범위 선택, 액션 버튼 등을 포함할 수 있습니다.
81
+ *
82
+ * Top toolbar component for dashboards.
83
+ * Can include title, description, filters, date range selection, and action buttons.
84
+ *
85
+ * @component
86
+ * @example
87
+ * // 기본 사용 / Basic usage
88
+ * <DashboardToolbar
89
+ * title="거래 대시보드"
90
+ * description="전체 거래 현황을 확인하세요"
91
+ * actions={[
92
+ * { label: "내보내기", icon: "download", onClick: handleExport },
93
+ * { label: "필터", icon: "funnel", onClick: handleFilter }
94
+ * ]}
95
+ * onRefresh={handleRefresh}
96
+ * />
97
+ *
98
+ * @example
99
+ * // 날짜 범위 포함 / With date range
100
+ * <DashboardToolbar
101
+ * title="매출 분석"
102
+ * dateRange={{
103
+ * value: { from: new Date("2024-01-01"), to: new Date("2024-12-31") },
104
+ * presets: [
105
+ * { label: "오늘", value: "today" },
106
+ * { label: "이번 주", value: "thisWeek" },
107
+ * { label: "이번 달", value: "thisMonth" }
108
+ * ],
109
+ * onSelectPreset: handlePresetSelect,
110
+ * onCustomRange: handleCustomRange
111
+ * }}
112
+ * />
113
+ *
114
+ * @param {DashboardToolbarProps} props - DashboardToolbar 컴포넌트의 props / DashboardToolbar component props
115
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
116
+ * @returns {JSX.Element} DashboardToolbar 컴포넌트 / DashboardToolbar component
117
+ */
118
+ export declare const DashboardToolbar: React.ForwardRefExoticComponent<DashboardToolbarProps & React.RefAttributes<HTMLDivElement>>;
119
+ export {};
120
+ //# sourceMappingURL=DashboardToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardToolbar.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/DashboardToolbar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,KAAK,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACvC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAC9C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAC3D,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,gBAAgB,8FA4G5B,CAAC"}
@@ -0,0 +1,61 @@
1
+ import React from "react";
2
+ import type { IconName } from "../../lib/icons";
3
+ /**
4
+ * DashboardEmptyState 컴포넌트의 props / DashboardEmptyState component props
5
+ * @typedef {Object} DashboardEmptyStateProps
6
+ * @property {IconName | React.ReactNode} [icon="inbox"] - 아이콘 / Icon
7
+ * @property {string} title - 제목 / Title
8
+ * @property {string} [description] - 설명 / Description
9
+ * @property {string} [actionText] - 액션 버튼 텍스트 / Action button text
10
+ * @property {string} [actionHref] - 액션 버튼 링크 URL / Action button link URL
11
+ * @property {() => void} [actionOnClick] - 액션 버튼 클릭 핸들러 / Action button click handler
12
+ * @property {"default" | "warning" | "info" | "error" | "success"} [variant="default"] - 스타일 변형 / Style variant
13
+ * @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
14
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
15
+ */
16
+ export interface DashboardEmptyStateProps extends React.HTMLAttributes<HTMLDivElement> {
17
+ icon?: IconName | React.ReactNode;
18
+ title: string;
19
+ description?: string;
20
+ actionText?: string;
21
+ actionHref?: string;
22
+ actionOnClick?: () => void;
23
+ variant?: "default" | "warning" | "info" | "error" | "success";
24
+ size?: "sm" | "md" | "lg";
25
+ }
26
+ /**
27
+ * DashboardEmptyState 컴포넌트
28
+ *
29
+ * 대시보드에서 빈 상태를 표시하는 컴포넌트입니다.
30
+ * 데이터가 없을 때 사용자에게 안내 메시지와 액션을 제공합니다.
31
+ *
32
+ * Empty state component for dashboards.
33
+ * Displays a message and action when there is no data to show.
34
+ *
35
+ * @component
36
+ * @example
37
+ * // 기본 사용 / Basic usage
38
+ * <DashboardEmptyState
39
+ * icon="inbox"
40
+ * title="데이터가 없습니다"
41
+ * description="새로운 데이터를 추가해보세요"
42
+ * actionText="데이터 추가"
43
+ * actionOnClick={handleAdd}
44
+ * />
45
+ *
46
+ * @example
47
+ * // 경고 스타일 / Warning style
48
+ * <DashboardEmptyState
49
+ * icon="warning"
50
+ * title="오류가 발생했습니다"
51
+ * description="잠시 후 다시 시도해주세요"
52
+ * variant="warning"
53
+ * size="lg"
54
+ * />
55
+ *
56
+ * @param {DashboardEmptyStateProps} props - DashboardEmptyState 컴포넌트의 props / DashboardEmptyState component props
57
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
58
+ * @returns {JSX.Element} DashboardEmptyState 컴포넌트 / DashboardEmptyState component
59
+ */
60
+ export declare const DashboardEmptyState: React.ForwardRefExoticComponent<DashboardEmptyStateProps & React.RefAttributes<HTMLDivElement>>;
61
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/EmptyState.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACpF,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC/D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAsDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,mBAAmB,iGAqF/B,CAAC"}
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ /**
3
+ * MembershipBadge 컴포넌트의 props / MembershipBadge component props
4
+ * @typedef {Object} MembershipBadgeProps
5
+ * @property {"basic" | "pro" | "premium" | "admin"} tier - 멤버십 등급 / Membership tier
6
+ * @property {string} [label] - 커스텀 라벨 (기본값: 등급별 라벨) / Custom label (default: tier-specific label)
7
+ * @property {"sm" | "md" | "lg"} [size="md"] - 배지 크기 / Badge size
8
+ * @property {boolean} [showIcon=true] - 아이콘 표시 여부 / Show icon
9
+ * @extends {React.HTMLAttributes<HTMLSpanElement>}
10
+ */
11
+ export interface MembershipBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
12
+ tier: "basic" | "pro" | "premium" | "admin";
13
+ label?: string;
14
+ size?: "sm" | "md" | "lg";
15
+ showIcon?: boolean;
16
+ }
17
+ /**
18
+ * MembershipBadge 컴포넌트
19
+ *
20
+ * 멤버십 등급을 표시하는 배지 컴포넌트입니다.
21
+ * 등급별로 다른 그라디언트 색상과 아이콘을 제공합니다.
22
+ *
23
+ * Badge component that displays membership tier.
24
+ * Provides different gradient colors and icons for each tier.
25
+ *
26
+ * @component
27
+ * @example
28
+ * // 기본 사용 / Basic usage
29
+ * <MembershipBadge tier="premium" />
30
+ *
31
+ * @example
32
+ * // 커스텀 라벨과 크기 / Custom label and size
33
+ * <MembershipBadge
34
+ * tier="pro"
35
+ * label="프로 플랜"
36
+ * size="lg"
37
+ * showIcon={false}
38
+ * />
39
+ *
40
+ * @param {MembershipBadgeProps} props - MembershipBadge 컴포넌트의 props / MembershipBadge component props
41
+ * @param {React.Ref<HTMLSpanElement>} ref - span 요소 ref / span element ref
42
+ * @returns {JSX.Element} MembershipBadge 컴포넌트 / MembershipBadge component
43
+ */
44
+ export declare const MembershipBadge: React.ForwardRefExoticComponent<MembershipBadgeProps & React.RefAttributes<HTMLSpanElement>>;
45
+ //# sourceMappingURL=MembershipBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MembershipBadge.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MembershipBadge.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAqB,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACjF,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,eAAe,8FA0D3B,CAAC"}