@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
@@ -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"}
@@ -0,0 +1,98 @@
1
+ import React from "react";
2
+ import type { IconName } from "../../lib/icons";
3
+ export type MerchantHealth = "normal" | "warning" | "critical";
4
+ /**
5
+ * 가맹점 리스트 아이템 인터페이스 / MerchantListItem interface
6
+ * @typedef {Object} MerchantListItem
7
+ * @property {string} id - 가맹점 고유 ID / Merchant unique ID
8
+ * @property {string} name - 가맹점 이름 / Merchant name
9
+ * @property {string} [status] - 상태 / Status
10
+ * @property {MerchantHealth} [health] - 건강 상태 / Health status
11
+ * @property {number} [approvalRate] - 승인률 (0-1) / Approval rate (0-1)
12
+ * @property {number} [volume] - 거래량 / Transaction volume
13
+ * @property {string} [currency] - 통화 / Currency
14
+ * @property {string} [category] - 카테고리 / Category
15
+ * @property {string} [region] - 지역 / Region
16
+ * @property {string | Date} [updatedAt] - 업데이트 시간 / Updated time
17
+ * @property {string} [tag] - 태그 / Tag
18
+ * @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
19
+ * @property {Array<{ label: string; value: React.ReactNode }>} [metadata] - 메타데이터 / Metadata
20
+ */
21
+ export interface MerchantListItem {
22
+ id: string;
23
+ name: string;
24
+ status?: string;
25
+ health?: MerchantHealth;
26
+ approvalRate?: number;
27
+ volume?: number;
28
+ currency?: string;
29
+ category?: string;
30
+ region?: string;
31
+ updatedAt?: string | Date;
32
+ tag?: string;
33
+ icon?: IconName | React.ReactNode;
34
+ metadata?: Array<{
35
+ label: string;
36
+ value: React.ReactNode;
37
+ }>;
38
+ }
39
+ /**
40
+ * MerchantList 컴포넌트의 props / MerchantList component props
41
+ * @typedef {Object} MerchantListProps
42
+ * @property {MerchantListItem[]} items - 가맹점 아이템 배열 / Merchant items array
43
+ * @property {boolean} [isLoading=false] - 로딩 상태 / Loading state
44
+ * @property {React.ReactNode} [filters] - 필터 컴포넌트 / Filter component
45
+ * @property {React.ReactNode} [emptyState] - 빈 상태 컴포넌트 / Empty state component
46
+ * @property {(merchant: MerchantListItem) => void} [onMerchantSelect] - 가맹점 선택 핸들러 / Merchant selection handler
47
+ * @property {string} [locale="ko-KR"] - 로케일 / Locale
48
+ * @property {string} [defaultCurrency="KRW"] - 기본 통화 / Default currency
49
+ * @extends {Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect">}
50
+ */
51
+ export interface MerchantListProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {
52
+ items: MerchantListItem[];
53
+ isLoading?: boolean;
54
+ filters?: React.ReactNode;
55
+ emptyState?: React.ReactNode;
56
+ onMerchantSelect?: (merchant: MerchantListItem) => void;
57
+ locale?: string;
58
+ defaultCurrency?: string;
59
+ }
60
+ /**
61
+ * MerchantList 컴포넌트
62
+ *
63
+ * 가맹점 목록을 표시하는 컴포넌트입니다.
64
+ * 가맹점 정보, 건강 상태, 승인률, 거래량 등을 카드 형태로 표시합니다.
65
+ *
66
+ * Component that displays a list of merchants.
67
+ * Shows merchant information, health status, approval rate, and transaction volume in card format.
68
+ *
69
+ * @component
70
+ * @example
71
+ * // 기본 사용 / Basic usage
72
+ * <MerchantList
73
+ * items={[
74
+ * {
75
+ * id: "1",
76
+ * name: "가맹점 A",
77
+ * health: "normal",
78
+ * approvalRate: 0.985,
79
+ * volume: 1000000,
80
+ * currency: "KRW"
81
+ * }
82
+ * ]}
83
+ * onMerchantSelect={(merchant) => console.log(merchant)}
84
+ * />
85
+ *
86
+ * @example
87
+ * // 로딩 상태 / Loading state
88
+ * <MerchantList
89
+ * items={merchants}
90
+ * isLoading={true}
91
+ * filters={<FilterComponent />}
92
+ * />
93
+ *
94
+ * @param {MerchantListProps} props - MerchantList 컴포넌트의 props / MerchantList component props
95
+ * @returns {JSX.Element} MerchantList 컴포넌트 / MerchantList component
96
+ */
97
+ export declare const MerchantList: React.FC<MerchantListProps>;
98
+ //# sourceMappingURL=MerchantList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MerchantList.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MerchantList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,UAAU,CAAC;AAE/D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC/F,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA6HpD,CAAC"}
@@ -0,0 +1,75 @@
1
+ import React from "react";
2
+ import type { IconName } from "../../lib/icons";
3
+ import type { Color } from "../../lib/types/common";
4
+ /**
5
+ * MetricCard 컴포넌트의 props / MetricCard component props
6
+ * @typedef {Object} MetricCardProps
7
+ * @property {string} title - 카드 제목 / Card title
8
+ * @property {string | number} value - 메트릭 값 / Metric value
9
+ * @property {string} [description] - 카드 설명 / Card description
10
+ * @property {IconName | React.ReactNode} [icon] - 아이콘 / Icon
11
+ * @property {Object} [trend] - 추세 정보 / Trend information
12
+ * @property {number} trend.value - 추세 값 / Trend value
13
+ * @property {string} trend.label - 추세 라벨 / Trend label
14
+ * @property {boolean} [trend.positive] - 긍정적 추세 여부 / Positive trend
15
+ * @property {number[]} [chartData] - 차트 데이터 / Chart data
16
+ * @property {string[]} [chartLabels] - 차트 라벨 / Chart labels
17
+ * @property {"default" | "gradient" | "outline" | "elevated"} [variant="default"] - 카드 스타일 변형 / Card style variant
18
+ * @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [color] - 카드 색상 / Card color
19
+ * @property {boolean} [loading] - 로딩 상태 / Loading state
20
+ * @property {boolean} [showChart] - 차트 표시 여부 / Show chart
21
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
22
+ */
23
+ export interface MetricCardProps extends React.HTMLAttributes<HTMLDivElement> {
24
+ title: string;
25
+ value: string | number;
26
+ description?: string;
27
+ icon?: IconName | React.ReactNode;
28
+ trend?: {
29
+ value: number;
30
+ label: string;
31
+ positive?: boolean;
32
+ };
33
+ chartData?: number[];
34
+ chartLabels?: string[];
35
+ variant?: "default" | "gradient" | "outline" | "elevated";
36
+ color?: Color;
37
+ loading?: boolean;
38
+ showChart?: boolean;
39
+ }
40
+ /**
41
+ * MetricCard 컴포넌트 / MetricCard component
42
+ *
43
+ * 메트릭 정보를 표시하는 카드 컴포넌트입니다.
44
+ * StatCard와 유사하지만 차트 데이터를 포함할 수 있습니다.
45
+ *
46
+ * Card component that displays metric information.
47
+ * Similar to StatCard but can include chart data.
48
+ *
49
+ * @component
50
+ * @example
51
+ * // 기본 사용 / Basic usage
52
+ * <MetricCard
53
+ * title="페이지뷰"
54
+ * value="10,234"
55
+ * description="오늘"
56
+ * icon="eye"
57
+ * />
58
+ *
59
+ * @example
60
+ * // 차트 포함 / With chart
61
+ * <MetricCard
62
+ * title="방문자"
63
+ * value="5,678"
64
+ * chartData={[100, 200, 150, 300, 250]}
65
+ * chartLabels={["월", "화", "수", "목", "금"]}
66
+ * showChart
67
+ * color="blue"
68
+ * />
69
+ *
70
+ * @param {MetricCardProps} props - MetricCard 컴포넌트의 props / MetricCard component props
71
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
72
+ * @returns {JSX.Element} MetricCard 컴포넌트 / MetricCard component
73
+ */
74
+ export declare const MetricCard: React.ForwardRefExoticComponent<MetricCardProps & React.RefAttributes<HTMLDivElement>>;
75
+ //# sourceMappingURL=MetricCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricCard.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MetricCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAIhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;IAC1D,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,UAAU,wFA8ItB,CAAC"}
@@ -0,0 +1,60 @@
1
+ import React from "react";
2
+ import type { Color } from "../../lib/types/common";
3
+ /**
4
+ * MiniBarChart 컴포넌트의 props
5
+ * @typedef {Object} MiniBarChartProps
6
+ * @property {number[]} data - 차트 데이터 배열
7
+ * @property {string[]} [labels] - 라벨 배열
8
+ * @property {number} [maxValue] - 최대값 (자동 계산 시 생략)
9
+ * @property {number} [height=160] - 차트 높이 (px)
10
+ * @property {boolean} [showTooltip=true] - 툴팁 표시 여부
11
+ * @property {boolean} [showStats=true] - 통계 정보 표시 여부
12
+ * @property {"blue" | "purple" | "green" | "orange" | "red" | "indigo" | "pink" | "gray"} [color="blue"] - 색상
13
+ * @property {boolean} [highlightToday=true] - 오늘 항목 강조 여부
14
+ * @property {number} [todayIndex] - 오늘 인덱스 (기본값: 마지막 항목)
15
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
16
+ */
17
+ export interface MiniBarChartProps extends React.HTMLAttributes<HTMLDivElement> {
18
+ data: number[];
19
+ labels?: string[];
20
+ maxValue?: number;
21
+ height?: number;
22
+ showTooltip?: boolean;
23
+ showStats?: boolean;
24
+ color?: Color;
25
+ highlightToday?: boolean;
26
+ todayIndex?: number;
27
+ }
28
+ /**
29
+ * MiniBarChart 컴포넌트
30
+ *
31
+ * 작은 막대 그래프 차트 컴포넌트입니다.
32
+ * 간단한 데이터 시각화에 적합하며, 오늘 항목 강조 기능을 제공합니다.
33
+ *
34
+ * Small bar chart component for simple data visualization.
35
+ * Suitable for compact displays with today's item highlight feature.
36
+ *
37
+ * @component
38
+ * @example
39
+ * // 기본 사용 / Basic usage
40
+ * <MiniBarChart
41
+ * data={[10, 20, 15, 30, 25, 40, 35]}
42
+ * labels={["월", "화", "수", "목", "금", "토", "일"]}
43
+ * />
44
+ *
45
+ * @example
46
+ * // 커스텀 색상과 통계 / Custom color and stats
47
+ * <MiniBarChart
48
+ * data={dailyData}
49
+ * color="purple"
50
+ * showStats={true}
51
+ * highlightToday={true}
52
+ * todayIndex={6}
53
+ * />
54
+ *
55
+ * @param {MiniBarChartProps} props - MiniBarChart 컴포넌트의 props / MiniBarChart component props
56
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
57
+ * @returns {JSX.Element} MiniBarChart 컴포넌트 / MiniBarChart component
58
+ */
59
+ export declare const MiniBarChart: React.ForwardRefExoticComponent<MiniBarChartProps & React.RefAttributes<HTMLDivElement>>;
60
+ //# sourceMappingURL=MiniBarChart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MiniBarChart.d.ts","sourceRoot":"","sources":["../../../src/components/dashboard/MiniBarChart.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAsCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,YAAY,0FAiIxB,CAAC"}